1. Trang chủ
  2. » Tài Chính - Ngân Hàng

giao an tin hoc 11

98 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 826 KB

Nội dung

KiÓm tra thiÕt bÞ m¸y tÝnh vµ biªn chÕ m¸y tÝnh cho hs theo tõng nhãm trong líp häc 3.. Néi dung bµi míi?[r]

(1)

Ngày soạn: 23/08/2009 Tit 1: PPCT

Chơng i: khái niệm lập trình ngôn ngữ lập trình

Đ1: Khái niệm lập trình

A phần chuẩn bị I Mục tiêu: KiÕn thøc:

- Biết đợc khái niệm chơng trình dịch

- Phân biệt đợc hai loại chơng trình dịch biên dịch thơng dịch K nng

- Biết vai trò chơng trình dÞch

- Hiểu ý nghĩa nhiệm vụ chơng trình dịch Thái độ:

- ý thức đợc tầm quan trọng mơn học có thái độ học tập nghiêm túc, ln từ tìm hiểu học

II Phần chuẩn bị

1 Chuẩn bị giáo viên:

- Giáo án, SGK, sách giáo viên, sách tập, 2 Chuẩn bị học sinh:

- Vở ghi, sách giáo khoa, sách tập, đồ dùng học tập III Phần thể lớp

1 ổn định lớp 1 kiểm tra sĩ số: 2 Kiểmtra cũ: 3 Nội dung

hớng dẫn giáo viên Hoạt động ca hc sinh

1.Hot ng1

Giáo viên đa nội dung toán tìm ph-ơng trình bậc ax + b =

- Hãy xác định yếu tố Inputvà Output toán ?

- Diễn giải; hệ thống bớc đợc gọi thuật toán

- Nếu diễn đạt thuật toán cho máy hiểu, em dùng ngôn ngữ nào?

để diễn đạt thuật tốn thơng qua ngơn ngữ lập trình đợc gọi lập trình

Có loại ngơn ngữ lập trình nào?-Hỏi : Làm để chuyển ch-ơng trình viết từ ngôn ngữ bậc cao sang ngôn ngữ máy?

2.Hoạt ng 2.

1.Khái niệm lập trình - Input : a, b

- output : x=-b/a Vô nghiệm, Vơ số nghiệm Lập trình việc sử dụng cấu trúc liệu lệnh ngôn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thao tác thuật toán

- Ta đợc chơng trình Có loại NNLT là: - Ngôn ngữ máy - Hợp ngữ

- Ngôn ngữ bậc cao

- Ngụn ng mỏy : Các lệnh đợc mã hóa kí hiệu - Chơng trình đợc viết ngơn ngữ máy đợc nạp vào nhớ thực

- Ngôn ngữ bậc cao : Các lệnh đợc mã hóa Chơng trình dich

(2)

Chơng trình dịch

Có kỷ thuật dịch nào? - Biên dịch :

Bớc : Duyệt, phát lỗi, kiểm tra Bớc : Dịch toàn chơng trình nguồn thành chơng trình ngôn ngữ máy

- Thông dịch :

Bc : Kiểm tra tính đắn lệnh chơng trình nguồn Bớc : Chuyển lệnh thành ngơn ngữ máy

Bíc : Thùc hiƯn Hoạt Động

HÃy cho biết câu lệnh sau dùng kí tự nào?

Cỏc kớ t c biệt gồm kí tự nào?

Quy t¾c viÕt c©u lƯnh WRITE

chuyển đổi

Có kỉ thuật Thơng dịch biên dịch

3 Thành phần NNLT Có thành phần a Bảng chữ

- bảng chữ tiếng Anh 26 chữ gồm

chữ hoa chữ thờng

- chữ số: chữ số thập phân

- kí tự đặc biệt b Cú pháp

là quy tắc để viết chơng trình c Ng ngha

ý nghĩa câu lệnh IV Đánh giá cuối bài.

Nhng ni dung ó hc

- Khái niệm lập trình ngôn ngữ lập trình

- Có ba loại ngôn ngữ lập trình : Ngôn ngữ máy, hợp ngữ ngôn ngữ bậc cao - Khái niệm chơng trình dịch

- Có hai loại chơng trình dịch biên dịch thông dịch Câu hỏi tập nhà

- Mỗi loại ngơn ngữ lập trình phù hợp với ngời lập trình có trình độ nh nào? - Kể tên số ngơn ngữ lập trình bậc cao có sử dụng kĩ thuật biên dịch số ngơn ngữ lập trình có sử dụng kĩ thut thụng dch

- Trả lời câu hái 1, 2, 3, s¸ch gi¸o khoa trang 13

(3)

Ngày soạn: 25/08/2009 Tit 2: PPCT

Các thành phần ngôn ngữ lập trình I Mơc tiªu:

1 KiÕn thøc:

- Nắm đợc thành phần ngơn ngữ lập trình nói chung - Biết đợc số khái niệm nh: tên, tên chuẩn, tên dành riêng 2 Kỹ năng

- Phân biệt đợc tên chuẩn với tên dành riêng tên tự đặt - Nhớ qui định tên, biến

- Biết đặt tên đúng, nhận biết tên sai 3 Thái độ

- ý thức đợc tầm quan trọng mơn học có thái độ học tập nghiêm túc, ln từ tìm hiểu hc

II Phần chuẩn bị

1 Chuẩn bị giáo viên:

- Giao án, SGK, sách giáo viên, sách tập, 2 Chuẩn bị học sinh:

- Vở ghi, sách giáo khoa, sách tập , đồ dùng học tập III Phần thể lớp.

1. ổn định lớp kiểm tra sĩ số:

2 KiĨm tra bµi cị : Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

Hoạt động

* Mọi đối tợng chơng trình phải đợc đặt tên

Hãy nêu cách đặt tên NNLT Pascal? Có loại tên nào?

+ Tên dành riêng : Là tên đợc ngôn ngữ lập trình quy định dùng với nghĩa xác định, ngời lập trình khơng đợc dùng với ý nghĩa khác

+ Tên chuẩn

Treo bảng phụ yêu cầu học sinh nhóm thực :

+ Xác định tên giành riêng + Xác định tên chuẩn + Xác định tên tự đặt

- Thu phiÕu häc tËp cña ba nhãm, chiÕu kÕt lên bảng, gọi học sinh nhóm khác

1 Một số khái niệm a, Tên

- Gồm chữ số, chữ cái, dấu gách dới - Bắt đầu chữ dấu gạch dới - Độ dài không 127

- Không trùng với tên dành riêng Có loại tên:

Tên danh riªng

 Tªn chuÈn

 Tên ngi dựng t

- Quan sát tranh điền phiếu học tập Tên dành riêng : Program type

Tên chuẩn : Abs Interger Byte Tên tự đặt : Xyx Tong

(4)

nhËn xÐt bæ sung

- Tiểu kết cho vấn đề cách bổ sung thêm cho nhóm để đa trả lời

Hot ụng

* Yêu cầu học sinh cho mét sè vÝ dơ vỊ h»ng sè, xâu logic

- trình bày khái niệm số, xâu logic

* Ghi bảng : Xác định số xâu sau :

- 32767 “QB” “50” 1.5E+2

* Yªu cầu học sinh nghiên cứu sách giáo khoa, cho biết kh¸i niƯm biÕn

- Cho vÝ dơ biến

* Yêu cầu học sinh nghiên cứu sách giáo khoa hco biết chức thích chơng trình

- Cho mt ví dụ dịngchú thích - Hỏi : Tên biến tên tên giành riêng hay tên chuẩn hay tên ngời lập trình đặt ?

- Hỏi :Các lệnh đợc viết cặp dấu {} có đợc TP thực khơng? Vì sao?

B, H»ng vµ biÕn * H»ng

- H»ng sè : 50 60.5

- H»ng x©u : “Ha Noi” “A” - H»ng logic : False

- Hằng số học số nguyên số thực, có dấu không dấu

- Hằng xâu : Là chuỗi kí tự mã ASCII, đợc đặt cặp dấu nháy

- Hằng logic : Là giá trị (true) Hoặc sai ( False)

* Quan sát bẳng trả lời - Hằng số : - 32767, 1.5E+2 - H»ng x©u : “QB” “50”

*BiÕn:

- Biến đại lợng đợc đặt tên dùng để lu trữ giá trị Giá trị đợc thay đổi q trình thực chơng trình phải đợc khai báo

- Vị dụ hai tên biến : Tong, xyz

* Độc lập tham khảo sách giáo khoa để trả lời

c, Lêi chó thÝch

- Cú thích đợc đặt cặp dấu { } (* *) dùng để giải thích cho chơng trình rõ ràng dễ hiểu

- {Lenh xuat du lieu}

- Là tên ngời lập trình đặt - Khơng Vì dịng thích

IV Đánh giá cuối bài Những nội dung học

- Thành phần ngôn ngữ lập trình : Bảng chữ, cú pháp ngữ nghĩa

- Khái niệm : Tên, tên chuẩn, tên dành riêng, tên ngời lập trình đặt, hằng, biến thích

Câu hỏi tập nhà

- Lµm bµi tËp 4, 5, 6, s¸ch gi¸o khoa, trang 13

(5)

- Xem néi dung phơ lơc B, s¸ch gi¸o khoa trang 128 : Một số tên giành riêng

Ngày soạn 28/08/09 Tiết3:PPCT

BàI TậP I Mục tiêu:

1 KiÕn thøc:

- Nắm đợc cách đặt tên pascal

- Biết vận dụng kiến thức học vào giải bai ftoán tin học - Biết đợc số khái niệm nh: tờn, tờn chun, tờn dnh riờng

2 Kỹ năng

- Nhớ qui định tên, biến - Biết đặt tên đúng, nhận biết tên sai 3 Thái độ

- ý thức đợc tầm quan trọng mơn học có thái độ học tập nghiêm túc II Phần chuẩn bị

1 ChuÈn bÞ giáo viên:

- Giao án, SGK, sách giáo viên, sách tập, 2 Chuẩn bị học sinh:

- Vở ghi, sách giáo khoa, sách tập , đồ dùng học tập III Phần thể lớp.

1. ổn định lớp kiểm tra sĩ số:

2 KiĨm tra bµi cị : 3 Néi dung bµi míi.

hớng dẫn giáo viên Hoạt động học sinh

C©u 1: H·y cho biÕt sù khác biến?

Thế h»ng, thÕ nµo biÕn?

Câu2: Tại phải có chơng trình dịch? Nếu khơng có chơng trình dịch có c khụng?

Câu 3: Biên dịch thông dịch giống khác nh nào?

HS:nghiên cứu

-Hằng đại lợng không đổi

-Biến đại lợng thay đổi -Hằng phải đợc đặt tên

-Hằng có khơng đặt tên

Phải có chơng trình dịch là:

Mt chng trỡnh viết NNLT bậc cao hợp ngữ muốn máy tính thực phải dịch sang mã máy nên địi hỏi phải có chơng trình dịch

HS:

(6)

C©u 4:

Hãy cho biết tên sau tên tên sai, sai sao?

A BC 6Pq R12 X#y 45

Câu 5: Hãy chọn khẳng định sai khẳng định sau:

a NNLT Pascal NN bậc cao b Sử dụng kỉ thuật biên dÞch

c Dùng để viết chơng trình thơng mại ỏp ỏn: C

Câu 6: HÃy viết thuật toán thực công việc sau: Nhập vào số nguyên dơng a>0, hÃy tính đa hình Diện tích hình vuông cạnh a nói trên?

Giáo viên nhận xét

HS: thảo luận Và trả lời

Các tên đúng: R12

Tªn sai: A BC: cã chøa dÊu c¸ch 6PR, X#y, 45:

HS thảo luận cử đại diện nhóm lên phát biểu

HS: th¶o luËn Tr¶ lêi

B1: NhËp a>0;

B2: Tính diện tích Shình vuông<- a2

B3: Thông báo Diện tích S kết thức IV Cũng cố dặn dò

- Về nhà làm bµi tËp SGK trang 35 tin häc líp 11 - Đọc trớc

Ngày soạn: 11/09/09 Tit 4: PPCT

Cấu trúc chơng trình I Mơc tiªu

KiÕn thøc

- Biết đợc cấu trúc chung chơng trình - Các thành phần chơng trình

- Khai báo tên chơng trình, th viện, Kĩ

- S dng c kiu liệu khai báo biến để viết đợc chơng trình đơn giản II Đồ dùng dạy học

(7)

- Máy vi tính máy chiếu projector dùng để chiếu ví dụ - Một số chơng trình mẫu viết sẵn

Chuẩn bị học sinh - Sách giáo khoa

III Hoạt động dạy - học ổn định tổ chức

- Sè HS líp - Số Hs vắng

hớng dẫn giáo viên NộI dung học

Phỏt gợi ý : Một tập làm văn em thờng viết có phần? Các phần có thứ tự khơng? Vì phải chia nh vậy? Yêu cầu học sinh nghiên cứu sách giáo khoa để trả lời cỏc cõu hi sau:

- Một chơng trình cã cÊu tróc mÊy phÇn?

- Trong phần khai báo có khai báo nào?

- Yêu cầu học sinh lấy ví dụ khai báo tên chơng trình ngôn ngữ Pascal

- Yêu cầu học sinh lấy ví dụ khai báo th viện chơng trình ngôn ngữ Pascal

- Yêu cầu học sinh lấy ví dụ khai báo ngôn ngữ Pascal

- Yêu cầu học sinh lấy ví dụ khai báo biến ngôn ngữ Pascal

- Yêu cầu học sinh cho biết cấu trúc chung phần thân chơng trình ngôn ngữ lập trình Pascal

Tìm hiểu chơng trình đơn giản - Hỏi : Phần khai báo chơng trỡnh?

- Hỏi : Phần thân chơng trình, lệnh prìnt có chức gì?

- Chiếu lên bảng chơng trình đơn

CÊu tróc chung - Cã ba phÇn

- Có thứ tự : Mở bài, thân bài, kết luận - Dễ viết, dễ đọc, dễ hiểu nội dung Nghiên cứu sách giáo khoa, thảo luận trả lời

+ Hai phÇn :

[<phần khaibáo>] <Phần thân chơng trình> Thành phần chơng trình a Phần khai báo

- Khai báo tên chơng trình, khai báo th viện chơng trình con, khai báo hằng, khai báo biến khai báo chơng trình - Cấu tróc : Program

ten_chuong_trinh ;

- VÝ dơ : Program tinh_tong ; - CÊu tróc : Uses tªn_th_viƯn; - VÝ dơ : Uses crt ;

- CÊu tróc : Const tên_hằng = giá_trị;

- Ví dụ : Const maxn=100; - CÊu tróc : Var

tên_biến=kiểu_dữ_liệu;

- Ví dụ : Var a, b, c : integer; b, Phần thân chơng trình

Begin

DÃy c¸c lƯnh; End

Chơng trình đơn gin

Nhìn vào SGK nghiên cứu chơng trình viết pascal

(8)

giản ngôn ng÷ Pascal Program VD1 ;

Var x,y:byte; t:word; Begin

t:=x+y; Writeln(t); readln; End

- Hỏi : Phần khai báo chơng trình?

- Hỏi : Phần thân chơng trình? Có lệnh thân chơng trình?

Yêu cầu học sinh lấy ví dụ chơng trình Pascal phần tên phần khai báo

viện stdio.h - Phần thân {}

- Lệnh printf dùng để đa thơng báo hình

- Khai báo tên chơng trình : Program VD1;

- Khai b¸o biÕn : Var x, y:byte ;t:word;

Var x, y:byte; t:word; - Còn lại phần thân

- Lệnh gán, lệnh đa thông báo hình

Thảo luận trả lời Begin

Writeln(“Hello”); Readln;

End

IV Còng cố dăn dò

(9)

Ngày soạn: 08/09/09 TiÕt 5: PPCT

Bài4: Một số kiểu liệu chuẩn khai báo biến I Mục đích - u cầu

Mơc tiªu :

- Biết đợc tên số kiểu liệu chuẩn, biết đợc giới hạn biểu diễn loại kiểu liệu

- Học sinh biết đợc biến dùng chơng trình phải đợc kaho báo tên kiểu liệu

- Học sinh biết đợc cấu trúc chung khai báo biến ngôn ngữ Pascal, khai báo đợc biến lập trình

Thái độ

- Có thái độ nghiên túc, tham gia tích cực vào việc tìm hiểu

- Lu«n lu«n phÊn cÊu häc tËp

II ChuÈn bÞ

Chuẩn bị giáo viên

- Mỏy vi tính máy chiếu projector dùng để chiếu ví dụ - Một số chơng trình mẫu viết sẵn

Chn bÞ cđa häc sinh - S¸ch gi¸o khoa

III Tiến trình lên lớp ổn định tổ chức

- Sè HS líp

- Số Hs vắng

2 Kiểm tra cũ

HÃy nêu cấu trức chơng trình/

Cách khai báo hằng, th viện, tên chơng trình? Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

Đặt vấn đề: Trong tốn học, để thực đợc tính tốn ta cần phải có tập số Đó tập số nào?

- Diễn giải: Cũng tơng tự nh vậy, ngôn ngữ lập trình Pascal, để lập trình giải tốn, cần có tập hợp, tập hợp có giới hạn định

- Các em hiểu nôm na: Kiểu liệu chuẩn tập hữu hạn giá trị, kiểu liệu cần dung lợng nhớ cần thiết để lu trữ xác định phép tốn tác ng lờn d liu

Yêu cầu học sinh nghiên cứu sách giáo khoa, trả lời câu hỏi sau:

- Có kiểu liệu chuẩn ngôn ngữ Pascal?

- Số tự nhiên, số nguyên, số hữu tỉ, số thực

- Cã kiĨu: KiĨu nguyªn, kiĨu thùc, kiĨu kí tự kiểu logic

1 Kiểu số nguyên

Trong ngôn ngữ Pascal biểu diễn kiểu nguên có kiểu sau:

- Kiểu số nguyên:

Byte: 255

Integer: -32768 32767 Word: 65535

(10)

- ngôn ngữ Pascal, có kiểu nguyên thờng dùng, phạm vi biểu diển loại?

- ngôn ngữ Pascal, có kiểu số thực thờng dùng, phạm vi biểu diễn loại?

- Trong ngôn ngữ Pascal, cã bao nhiªu kiĨu kÝ tù?

- ngôn ngữ Pascal, có kiểu logic, gồm giá trị nào?

Giỏo viờn gii thớch số vấn đề cho học sinh:

+ Vì phạm vi biểu diễn loại kiểu nguyên khác nhau?

+ Miềm giá trị loại kiểu thực, số chữ số có nghĩa?

Hãy nêu cú pháp để khai báo biến?

Nếu có nhiều biến có kiểu liệu, khai báo ghép, biến phân cách dấu phẩy

Cho ví dụ để khai báo biến nguyên biến kiểu kớ t

Có biến tất cả, Bộ nhớ phải cấp phát bao nhiêu?

Var x, y: word; z: longint; h: integer; i: byte;

- Liên tởng tập số toán học với kiểu liệu Pascal

2 KiÓu sè thùc - KiÓu sè thùc:

- Cã lo¹i: real, extended KiĨu kÝ tù

Có 256 kí tự có mã ASCII phạm vi từ đến 255

- Cã lo¹i: Char KiĨu logic

- Kiểu logic: Là tập hợp gồm hai giá trị True Flase, kết phép so sánh - Có loại: boolean, gồm phần tử: True False

5 Khai báo biến

Trong ngôn ngữ lậo trìnhPascal, cấu trúc chung khai báo biến

Var <danh sách biến>: <kiểu liệu>; Trong đó:

-Var lµ từ khoá

-Kiểu_dữ_liệu kiểu liƯu chn cđa Pascal

Var x: word; y: char; - Cã biÕn

- tổng nhớ cần cấp phát

x (2 byte); y (2 byte); z (4 byte); h (2 byte); i (1 byte); tỏng 11 byte IV Đánh giá cuèi bµi

Những nội dung học

- Một chơng trình gồm có hai phần: Phần khai báo phần thân

- Các kiểu liệu chuẩn: Kiểu số nguyên, kiểu số thực, kiÓu kÝ tù, kiÓu logic

- Mọi biến chơng trình phải đợc khai báo Cấu trúc chung khai báo biến Pascal: Var tên_ biến: tờn_kiu_d_liu;

Câu hỏi bào tập nhµ

- Lµm bµi tËp 1, 2, 3, 4, 5, schs gi¸o khoa, trang 35

- Xem trớc nội dung bài: Phép toán, biểu thức, lệnh g¸n, s¸ch gi¸o khoa, trang 24

(11)

Ngày soạn: 11/09/09 Tiết 6:PPCT

Phép toán, biểu thức, lệnh gán I Mục tiêu

KiÕn thøc

- Biết đợc phép toán thơng dụng ngơn ngữ lập trình - Biểu diễn đạt hình thức ngơn ngữ lập trình

- Biết đợc chức lệnh gán

- Biết đợc cấu trúc lệnh gán số hàm chuẩn trông dụng ngôn ngữ lp trỡnh Pascal

- Sử dụng đợc phép toán để xây dựng biểu thức - Sử dụng đợc lệnh gán để vit chng trỡnh

II Đồ dùng dạy học Chuẩn bị giáo viên

- Sách gi¸o khoa, tranh chøa c¸c biĨu thøc to¸n häc

- Tranh chứa bảng hàm số học chuẩn, tranh chứa bảng chân trị - máy vi tính máy chiếu Projector

Chuẩn bị cđa häc sinh - S¸ch gi¸o khoa

III Hoạt động dạy - học ổn định tổ chức

- Sè HS líp

- Sè Hs vắng

2 Kiểm tra cũ

HÃy nêu cách khai báo biến? Có kiểu liệu chn nµo? Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

1 PhÐp to¸n

Hãy kể phép tốn em đợc học trong toán học?

- Diễn giải: Trong ngơn ngữ lập trình Pascal có phép tốn nhng đợc diễn đạt cỏch khỏc

- Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết nhóm phép to¸n

Phép Div, Mod đợc sử dụng cho kiểu liệu nào?

- Hỏi: Kết phép toán quan hệ thuộc kiểu liệu nào?

2 Biểu thức số học

* Nêu vấn đề: toán học ta đợc làm quen với khái niệm biểu thức, cho biết yếu tố xây dựng nên biểu thức - Nếu toán mà toán hạng

Suy nghĩ trả lời :

- PhÐp: Céng, trõ, nh©n, chia, lÊy sè d, chia lấy nguyên, so sánh

- Các phÐp to¸n sè häc: + - * / div mod - C¸c phÐp to¸n quan hƯ: <, <=, >, >=, =, <>

- Các phép toán logic: And, Or, Not - Chỉ sử dụng đợc cho kiểu nguyên

- Thuéc kiÓu logic

1 Suy nghĩ trả lời

(12)

là biến số, số hàm số toán tử phép toán số học biểu thức có tên gọi gì?

Treo tranh có chứa biểu thức toán học lên bảng, yêu cầu: Sử dụng c¸c phÐp to¸n sè häc, h·y biĨu diƠn biĨu thøc toán học sau thành biểu thức ngôn ngữ lập tr×nh

2a+5b+c xy

2z

x+y + x 2 - 2z z

H·y nªu thø tù u tiªn tÝnh biĨu thøc sè häc?

3 Hµm sè chuÈn

- Treo tranh chứa bảng số hàm chuẩn, yêu cầu học sinh điền thêm thông tin nh chứac hàm , kiểu đối số kiểu hàm số

4 BiÓu thøc quan hÖ

Khi hai biểu thức số học liên kết với phép toán quan hệ ta đợc biểu thức mới, biểu thức gọi biểu thức gì? - Hãy lấy ví dụ v biu thc quan h?

- Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cÊu tróc chung cđa biĨu thøc quan hƯ?

- Thø tù thùc hiƯn cđa biĨu thøc quan hÖ?

- Cho biết kết phép toán quan hệ thuộc kiểu liệu học?

5 BiÓu thøc LogÝc

Các biểu thức quan hệ đợc liên kết với phép toán Logic đợc gọi biểu thức Logic

- H·y cho mét sè vÝ dơ vỊ biĨu thøc logic

- Trong to¸n häc ta cã biĨu thức 5<=x<=11, hÃy biểu diễn biểu thức ngôn ngữ lập trình?

HS: Biểu thức số học

2 Quan sát trả lời 2*a+5*b+c

x*y/(2*z)

((x+y)/(1 – (2 /z)))+(x*x/(2*z))

HS: Tr¶ lêi

- Thùc hiƯn ngoặc trớc; Ngoài ngoặc sau Nhân, chia, công, trừ sau

Suy nghĩ trả lời

Hm tri tuyệt đối, hàm bậc hai, hàm sin, hàm cos

- Quan sát tranh vẽ, nghiên cứu sách giáo khoa lên bảng điền tranh

Suy nghĩ trả lời

- Gäi lµ biĨu thøc quan hƯ

- VÝ dơ: 2*x<y

- CÊu tróc chung:

<BT1> <phÐp to¸n qh> <BT2> + TÝnh giá trị biểu thức

+ Thực phép to¸n quan hƯ

- KiĨu logic

5 Chú ý theo dõi dẫn dắt giáo viên - Ví dụ: (A>B) or ((X+1)<Y) (5>2) and ((3+2)<7)

(13)

- Thø tù thùc hiƯn biĨu thøc logic

- KÕt qu¶ biểu thức logic có kiểu liệu gì?

- Treo tranh có chứa bảng chân trị A B, yêu cầu học sinh điền giá trị cho A and B; A or B; not A

6 Câu lệnh gán

- Giới thiệu số vÝ dơ vỊ lƯnh g¸n Pascal nh sau:

x:=4+8;

- Giải thích: Lấy cộng 8, đem kết đặt vào x Ta đợc x=12

- Hỏi : HÃy cho biết chức lệnh gán?

- Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cấu trúc chung lệnh gán ngôn ngữ Pascal?

- Hãy cho ví dụ để tính nghiệm phơng trình bậc hai

- Giíi thiƯu thªm ví dụ: Cho chơng trình

Var i,z:integer; Begin

z:=4; i:=6; z:=z - 1; i:=i+1;

writeln(“i=”,i); writeln(“z=”,z); End

- Hỏi: Chơng trình in hình giá trị bao nhiªu?

- Thực chơng trình để học sinh kiểm nghiệm kết tự suy luận

+ Thùc hiƯn c¸c biĨu thøc quan hƯ + Thùc hiƯn phÐp to¸n logic

- KiÓu logic

- Häc sinh suy nghÜ trả lời cách điền vào bảng

+ Tính giá trị biểu thức

+ Gán giá trị tính đợc vào biến <tên_biến>:=<biểu_thức>;

x:=(-b+sqrt(b*b - 4*a*c))/(2*a);

- In mµn hình: z=3 i=7

- Quan sát kết chơng trình IV Đánh giá cuối bµi.

Những nội dung học

- C¸c phÐp to¸n Turbo Pascal: Sè häc, quan hệ logic - Các biểu thức Turbo Pascal: Sè häc, quan hƯ vµ logic - Cấu trúc lệnh gán Turbo Pascal: tên_biến :=biểu_thức; Câu hỏi tập nhà

- Làm tập 5, 6, 7, 8, sách giáo khoa, trang 35 - 36;

- Xem phô lôc A, s¸ch gi¸o khoa trang 121: Mét sè phÐp to¸n thờng dùng giá trị phép toán logic

(14)

TiÕt 7:PPCT

Các thủ tục chuẩn vào/ra đơn giản Sạon thảo, dịch, thực chơng trình… I Mục tiêu

KiÕn thøc

- Biết đợc ý nghĩa thủ tục và/ra chuẩn lập trình.

- Biết đợc cấu trúc chung thủ tục vào/ra ngôn ngữ lập trình Pascal - Biết đợc bớc để hồn thành chơng trình

- BiÕt c¸c file chơng trình Turbo Pascal 7.0 Kĩ

- Vit ỳng lnh vo/ra d liu

- Biết nhập liệu thực chơng trình - Biết khởi động hệ soạn thảo Turbo Pascal - Soạn đợc chơng trình vào máy

- Dịch đợc chơng trình đê phát lỗi cú pháp

- Thực đợc chơng trình để nhập liệu thu kết quả, tìm lỗi thuật tốn sửa lỗi II Đồ dùng dạy học

ChuÈn bÞ giáo viên

- Sách giáo khoa, tranh chøa c¸c biĨu thøc to¸n häc, m¸y chiÕu Projector, máy vi tính, số chơng trình viết sẵn

Chuẩn bị học sinh - Sách gi¸o khoa

III Hoạt động dạy học ổn định tổ chức lớp

- Sè häc sinh lớp - Số học sinh vắng Kiểm tra cò

Hãy nêu định nghĩa biểu thức lơgíc Hãy tính giá trị biểu thức sau:

Not(3>7) and (4 mod 2=1) or (true and (3 div 2=1) Tiến trình lên lớp

hng dn ca giáo viên Hoạt động học sinh

Khi giải toán, ta phải đa liệu vào để máy tính xử lí, việc đa liệu lệnh gán làm cho chơng trình có tác dụng với liệu cố định Để chơng trình giải đợc nhiều tốn hơn, ta phải sử dụng thủ tục nhập liệu 1 Nhập liệu vào từ bàn phím

- Yªu cầu học sinh nghiên cứu sách giáo khoa cho biÕt cÊu tróc chung cđa thđ tơc nhËp d÷ liƯu ngôn ngữ lập trình Pascal:

Trong ú:

* Read, readln: Là tên chuẩn

* Tên biến: nhiều biến đợc

Chú ý lắng nghe dẫn dắt giáo viên

- Nghiên cứu sách giáo khoa suy nghĩ để trả lời

(15)

viÕt c¸c bëi dÊu phÈy (,)

- Nêu ví dụ: Khi viết chơng trình giải ph-ơng trình ax+b=0, ta phải nhập vào đại lợng nào? Viết lệnh nhập?

HÃy phân biệt khác thđ tơc Read vµ Readln?

Chiếu chơng trình Pascal đơn giản có lệnh nhập giá trị có hai bin

- thực chơng trình thùc hiƯn nhËp d÷ liƯu

- Hái : Khi nhập giá trị cho nhiều biến, ta phải thùc hiƯn nh thÕ nµo?

- Yêu cầu học sinh thực nhập liệu cho chơng trình

Đ a liệu hình

Sau x lớ xong, kt tìm đợc đợc lu nhớ Để thấy đợc kết hình ta sử dụng th tc xut d liu

- Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cÊu tróc chung cđa thđ tơc xt d÷ liƯu ngôn ngữ lập trình Pascal

- Nêu ví dụ: Khi viết chơng trình giải ph-ơng trình ax+b=0, ta phải đa hình giá trị nghiệm -b/a, ta phải viết lệnh nh nào?

- Chiu chơng trình Pascal đơn giản Program vb;

Var x, y, z:integer; Begin

Writeln(“nhap vao hai so:”); Readln(x, y);

z:=x+y;

write(x:6, y:6, z:6); readln;

end

- Thực chơng trình thực nhập liệu để học sinh thấy kết hình

- Hỏi : Chức lệnh Writeln(); - Hái: ý nghÜa cđa : lƯnh

- Phải nhập giá trị cho hai biến: a, b - ViÕt lÖnh: Readln(a,b);

- Readln sau lần nhập trỏ tự động xuống dịng

- Quan sát chơng trình ví dụ giáo viên

- Những giá trị phải đợc gõ cách dấu cách kí t xung dũng

- Lên bảng thực nhập theo yêu cầu giáo viên

Chú ý lắng nghe dẫn dắt giáo viên

- Nghiên cứu sách giáo khoa trả lêi Write(<tªn_biÕn_1>, ,<tªn_biÕn_k>); Writeln(<tªn_biÕn_1>, ,<tªn_biÕn_k>);

- ViÕt lệnh : Writeln(-b/a);

Quan sát chơng trình ví dụ giáo viên

- Viết hình dòng chữ đa trá xuèng dßng

(16)

Write( )

- Hỏi: Khi tham số lệnh Write() thuộc kiểu Char real quy định vị trí nh nào?

- Cho vÝ dơ thĨ víi biÕn c kiĨu Char r kiểu real

* Soạn thảo, dịch thực ch ơng trình

1 t đề: Để sử dụng đợc Turbo Pascal, máy phải có file chơng trình cần thiết Tham khảo sách giáo khoa cho biết tên file chơng trình đó?

2 Trình diễn cách khởi động Turbo Pascal thông qua máy chiếu Projector

- Giới thiệu hình soạn thảo chơng trình: Bảng chọn, trỏ, vùng soạn thảo - Soạn chơng trình làm ví dụ, lu ch-ơng trình, dịch lỗi

- Dựng mỏy chiu vt th minh họa thap tác lu file chơng trình biên dch

- Soạn chơng trình, hỏi lỗi cú pháp chơng trình, gọi học sinh dịch lỗi sửa

Program vd1 var x:integer; Begin

Write(‘Nhap mot so nguyen duong); readln(x);

y:=sqrt(x); write(y); End

- Hỏi : Nhóm phím dùng để thực chơng trình?

- Dành vị trí hình để viết số x, vị trí tiếp để viết số y vị trí tiếp để viết số z

- Khi tham số có kiểu kí tự, việc quy định vị trí giống kiểu nguyên

- Khi tham số có kiểu thực phải quy định hai loại vị trí : Vị trí cho tồn số thực vị trí cho phần thập phân

- VÝ dô : Write(c:8); Write(r:8:3);

1 Tham khảo sách giáo khoa tr¶ lêi Turbo.exe

Turbo.tpl Graph.tpu

Egavga.bgi file *.chr

2 Học sinh quan sát ghi nhớ Quan sát ghi nhớ

- Lu: F2

- Dịch lỗi: ALT_F9

Quan sát phát lỗi để sửa lỗi cho ch-ơng trình

Program vd1; var x,y:integer; Begin

Write(‘Nhap mot so nguyen duong); readln(x);

y:=sqrt(x); write(y); End

CTRL_F9 IV Đánh giá cuối bài.

Nhng ni dung ó hc

- Nhập liệu : Read/Readln(<tên_biến_1>, ,<tên_biến_k>); - Xuất liệu : write/writeln(<tham_số_1>, ,<tham_số_k>); Câu hỏi tập nhà

- thực hành máy:

(17)

+ HÃy so sánh giống khác Read(); Readln(); + Tìm hiểu chức lệnh Readln; Writeln;

- Đọc trớc nội dung bài: Soạn thảo, dịch, thực hiệu chỉnh chơng trình, sách giáo khoa, trang 32

Ngµy 20/ 09/2009 TIÕT 8: ppct

Bài tập I Mục đích yêu cầu

1 KiÕn thøc

Học sinh nắm đợc kiến thức hc nh:

- Cấu trức chơng trình

- Cách khai báo hằng, biến,

- Các hàm chn, biĨu thøc, lƯnh g¸n…

Vận dụng kiến thức học để giải toán tin hc K nng

- Viết câu lệnh Pascal nh: * Read, Readln, Write, Writeln * C©u lệnh gán,

- Rèn luyện kỉ viết thuật toán tạo chơng trình - Rèn luyện t suy luËn l«gÝc

3 Thái độ

- Có thái độ nghiêm túc, tự học hỏi - Tích cực tham gia giải toán II Chuẩn bị

- Gi¸o ¸n chi tiÕt

- Một số tập từ dễ đến khó để học sinh làm

- Viết số chơng trình sãn để chiếu lên bảng

III Hoạt động dạy học ổn định tổ chức

- Sè häc sinh líp - Số học sinh vắng học Kiểm tra cũ

Lồng vào nội dung dạy Tiến trình lên lớp

hng dn ca giỏo viờn Hot động học sinh

Bµi1:

ViÕt biĨu thøc toán họpc sau dới dạng Pascal:

3

1 )

1 (

x a

z y x z

 

 

Yêu cầu học sinh suy nghĩ phút sau lên bảng thực việc huyển đổi? Gọi học sinh đứng lên nhận xét

Häc sinh viết nháp phút

Trả lời:

(18)

C©u2:

Hãy viết biểu thức cho kết True toạ độ (x,y) điểm nằm vùng gạch chéo hình 2.a 2.b SGK trang 36

- Điểm thuộc vào vùng gạch chéo có tạo độ phải nh nào?

H·y viết biểu thức toán tng ứng với hình 2.a?

Tơng tự yêu cầu học sinh viết biểu thức t-ơng ứng với hình 2.b

Câu3:

Viết chơng trình nhập vào số nguyên dơng a HÃy tính đa hình diện tích phần gạch chéo (trong SGK trang 35) Để tính diện tích phần gạch chéo h×nh trang 36 th× ta tÝnh nh thÕ nào?

Tính diên tích hình tròn ta tính nh nào? Để viết chơng trình có biến khai báo nh nào?

HÃy viết chơng trình dùng NNLT Pascal?

Yêu cầu học sinh khác nhận xét chỉnh sửa có lỗi

Giao viên sử dụng máy chiếu để chạy ch-ơng trình cho học sinh để kiểm chứng khắc sâu kt qu

Câu4:

Lập trình tính vận tốc v cđa vËt r¬i tù

HS: Dë SGK quan sát hình nghiên cứu Trả lới:

X y phải thuộc vào vùng gạch chéo

Biểu thøc quan hƯ Pascal lµ: (y<=1) and y>=x and y>=-x

HS nghiên cứu xác định bi toỏn

TL: Diên tích phần gạch chéo 1/2 diện tích hình tròn

Schéo=

2

STrßn TL: SchÐo=

2

STrßn=

2

r

Trong đó:  3,14; r nhập từ bàn phím

TL: - Dïng biÕn r vµ S - Khai b¸o:

Var r: Word; S: Real; Program Bai3; Var r: Word; S: Real; Begin

Writeln(‘Hay nhap gia tri a=’,r); Readln(r);

S:=1/4*3.14*SQRT(r); Writeln(‘Dien tich’,S:4:1); Readln

(19)

gh

v Trong g=9,8; h nhập từ bàn

phÝm

Tr×nh cã biến phần khai báo nh nào?

HÃy viết chơng trình trên?

Yờu cu mt hc sinh khác đứng dậy nhận xét chỉnh sửa

HÃy viết lại chơng trình dùng số g = 9.8

Giáo viên nhận xét

HS nghiên cứu tìm yếu tố toán TL: - Dùng biÕn v vµ h

- Khai b¸o: Var v, h:Real; Program cau4; Var v,h: Real; Begin

Writeln(‘Hay nhap chiÒu cao h= ‘); Readln(h);

V:=SQRT(2*9.8*h);

Writeln(‘van toc la: v= ‘, v:4:1); Readln

End

Học sinh lên bảng viết IV Cũng cố dặn dò

- Nắm lại cách khai báo hàm chuẩn

- V nh nm li thut toán ta học lớp 10 năm trớc Kiểm tra 15 phút

Së GD- ĐT Hà Tĩnh Cộng hào xà hội chủ nghĩa ViƯt Nam

Trêng PTTH §ång Léc §éc lËp tù hạnh phúc

Đề KIểM TRA 15 PHúT LầN 1 Họ tên: Lớp

I Phn trc nghim (5 điểm) Câu1: Chọn khẳng định

A Ng«n ngữ lập trình Pascal ngôn ngữ bậc cao

B Pascal ngôn ngữ lập trình mà máy tính trực tiếp hiểu không cần chơng trình dịch

C Ngôn ngữ lập trình Pascal có chơng trình dịch sử dụng kỹ thuật thông dịch

D Ngy nay, Ngụn ngữ lập trình Pascal đợc dùng để lập trình tất chơng trình Câu2: Ngơn ngữ lập trình có loại?

A B C D

Câu3: Trong Pascal biểu diễn dới SAI?

A 3,14E-13 B 3.14E13 C TRUE D True

Câu4: Trong Pascal tên sau KHÔNG hợp lệ?

A Bai_lam B Bai lam C bai-lam D bailam

Câu5: Khai báo sau không hợp lệ?

A Proram Vi_du1; B Const a:=3.14;

C Uses CRT; D Var a,b,c:Byte;

(20)

1

2

2  

 

y x

x x

Câu1: HÃy biểu diễn biểu thức toán học sau sang dạng biểu thức Pascal?

Cõu2: Vit Chơng trình nhập vào số ngun dơng a,b Tính in hình Tổng bình phơng số ú

(Không sử dụng tài liệu) Đáp án:

I Tr¾c nghiƯm

Mỗi câu cho điểm

1.A 2.B 3.A 4.B vµ C 5.B II Tự luận

Câu 1: SQRT(QSR(x)+3*x-2)/ABS(SQRT(x+2y-1)) 1,5 điểm Câu 2:

Nội dung Điểm

Program cau2; Var a,b: Word; Begin

Writeln(‘hay nhap so a,b’); Readln(a,b);

Writeln(‘Tong binh phuong la:’,SQR(a)+SQR(b)); Readln

End

0,25 0,25

1

Ngµy 24 /09/2009 TIÕT 9: ppct

Bµi thùc hµnh sè I Mơc tiªu

KiÕn thøc

- Biết đợc chơng trình Pascal hồn chỉnh

- Làm quen với dịch vụ chủ yếu Turbo Pascal việc soạn thảo, lu chơng trình, dịch chơng trình thực chơng trình

- Học sinh biết đợc chơng trình hồn chỉnh - Biết soạn chơng trình

- Biết lu, biết dịch, thực chơng trình - Biết tìm lỗi sửa lỗi

- Son c chng trỡnh, lu lờn đĩa, dịch lỗi cú pháp, thực tìm lỗi thuật toán hiệu chỉnh

- Bớc đầu biết phân tích hồn thành chơng trình đơn giản Turbo pascal Thái độ

- Tự giác, tích cực chủ động thực hành II Đồ dùng dạy học

ChuÈn bị giáo viên

- Phũng mỏy vi tính đợc cài đầy đủ Turbo Pascal, máy chiếu projector để hớng dẫn Chuẩn bị học sinh

(21)

1 ổn định tổ chức lớp

- Tỉng sè häc sinh líp - Sè häc sinh v¾ng

- Trang phơc KiĨm tra thiÕt bÞ

- Kiểm tra thiết bị máy tính - Khởi động máy tính Các bớc tiến hành:

hớng dẫn giáo viên Hoạt động hc sinh

- Cho chơng trình sau: Program giai_pt; Uses CRT;

var a,b,c,d,x1,x2:read; Begin

clrscr;

write(‘nhap a b c’); Readln(a,b,c); d:=b*b - 4*a*c;

x1:=(-b - sqrt(d))/(2*a); x2:=(-b + sqrt(d))/(2*a);

writeln(‘x1=’,x1:6:2,’x2=’,x2:6:2,); Readln;

End

Giáo viên hớng dẫn học sinh gõ

1 Chiếu chơng trình lên bảng Yêu cầu học sinh thực nhiệm vụ:

- Soạn chơng trình vào máy - Lu chơng trình

- dịch lỗi cú pháp

- Thực chơng trình

- Nhập liệu -3 Thông báo kết

- Trở hình soạn thảo - Thực chơng trình

- Nhập liệu Thông báo kết - Hỏi: Vì có lỗi xuất hiện?

-Sửa lại chơng trình không dùng biến d

Học sinh gõ chơng trình giải phơng trình bậc II Trên vào máy tính

Học sinh gõ chơng tr×nh

1 Quan sát bảng, độc lập soạn chơng trình vào máy

F2 Alt_F9 Ctrl_F9

x1=1.00 x2=2.00 Enter

Ctrl_F9

Thông báo lỗi

Do bậc hai cảu số ©m Readln(a, b, c);

x1:=(-b-sqrt(b*b-4*a*c))/(2*a); x2:=(-b+sqrt(b*b-4*a*c))/(2*a); writeln(‘x1=’,x1:6:2, ‘x2=’,x2:6:2,); IV Đánh giá cuối

Nhng ni dung học

- Các bớc để hoàn thành chơng trình:

+ Phân tích toán để xác định liệu và, liệu + Xác đinh thuật toán

(22)

+ Biên dịch chơng trình

+ Thực hiệu chỉnh chơng trình Câu hỏi tập nhà

- Viết chơng trình nhập vào độ dài ba cạnh tam giác tính chu vi, diện tích tam giác

- Cho ch¬ng tr×nh sau: Program bt1;

Var r,s1,s2,s:real; Begin

write(‘nhap r’); readln(r); s1:=4*r*r; s2:= r*r*pi; s:=s1 - s2; write(s:6:2); readln; End

Hỏi : chơng trình thực công việc gì, kết in hình bao nhiêu? - Làm tập 7, 8, 9, 10, trang 36

+ Soạn chơng trình + Dịch lỗi thực

+ Nhập liệu kiểm tra kết

- Đọc trớc nội dung bài: Cấu tróc rÏ nh¸nh, s¸ch gi¸o khoa, trang 38 - Xem phụ lục B, sách giáo khoa, trang 122: Môi trêng Turbo Pascal

Ngµy 28/ 09/ 2009 TIÕT10: ppct

Bµi thùc hµnh sè 1(tt) I Mơc tiªu

KiÕn thøc

- Học sinh soạn đợc chơng trình lu chơng trình vào đĩa Biên dịch thực đợc chơng trình Nhập đợc liệu kiểm định kết chng trỡnh

- Làm quen với dịch vụ chủ yếu Turbo Pascal việc soạn thảo, lu chơng trình, dịch chơng trình thực chơng trình

- Biết soạn chơng trình

- Biết lu, biết dịch, thực chơng trình - Biết tìm lỗi sửa lỗi

- Son c chơng trình, lu lên đĩa, dịch lỗi cú pháp, thực tìm lỗi thuật tốn hiệu chỉnh

- Bớc đầu biết phân tích hồn thành chơng trình đơn giản Turbo pascal Thái độ

- Tự giác, tích cực chủ động thực hành II Đồ dùng dạy học

Chuẩn bị giáo viên

- Phịng máy vi tính đợc cài đầy đủ Turbo Pascal, máy chiếu projector để hớng dẫn Chuẩn bị học sinh

- Sách giáo khoa, sách tập tập viết nhà III Hoạt động dạy học

(23)

- Tỉng sè häc sinh líp - Sè häc sinh v¾ng

- Trang phơc KiĨm tra thiÕt bÞ

- Kiểm tra thiết bị máy tính - Khởi động máy tính Các bớc tiến hành:

hớng dẫn giáo viên Hoạt động học sinh

Néi dung thùc hµnh Program bt1;

Var r,s1,s2,s:real; Begin

write(‘nhap r’); readln(r);

s1:=4*r*r; s2:= r*r*pi; s:=s1 – s2; write(s:6:2); readln; End

Định hớng để học sinh phân tích tốn

- Dữ liệu vào: - Dữ liệu ra: - C¸ch tÝnh:

Yêu cầu học sinh soạn chơng trình lu lên đĩa

- Quan s¸t híng dÉn tõng häc sinh lóc thùc hành

Yêu cầu học sinh nhập liệu thông báo kết

a=3 a=-3

Học sinh gõ chơng trình vào máy Và theo hớng dẫn giáo viên

1 Phân tóch theo yêu cầu giáo viên - Dữ liệu vào a

- Dữ liệu s

Tính diện tích hình tròn cã bk a (s1)

TÝnh diƯn tÝch h×nh vuông cạnh a 2

(s2)

s:=sl-s2;

Thực yêu cầu giáo viên

- Soạn thảo chơng trình

- Bấm phím F2, gõ tên file để lu - Bấm phím ALT_F9 để dịch lỗi cú pháp

- Bấm phím CTRL_F9 để thực ch-ơng trình

- thông báo kết cho giáo viên Nhập liệu theo yêu cầu

- Với a=3, ta đợc:s=9(Pi-2)=10.26 - Với a=-3, kết khơng đúng, độ dài cạnh phải số dơng

IV Đánh giá cuối Những nội dung học

- Các bớc để hồn thành chơng trình:

+ Phân tích tốn để xác định liệu và, liệu + Xác đinh thut toỏn

+ Soạn chơng tình vào máy + Lu giữ chơng trình

(24)

+ Thùc hiƯn vµ hiƯu chØnh chơng trình Câu hỏi tập nhµ

- Lµm bµi tËp 7, 8, 9, 10, trang 36 + Soạn chơng trình

+ Dịch lỗi thực

+ Nhập liệu kiểm tra kết

- Đọc trớc nội dung bài: Cấu trúc rÏ nh¸nh, s¸ch gi¸o khoa, trang 38 - Xem phụ lục B, sách giáo khoa, trang 122: Môi trờng Turbo Pascal

Ngµy 02 / 10 /2009

TIÕT 11: ppct

Ch¬ng 3: Tỉ chøc rÏ nhánh lặp Bài 9: Cấu trúc rẽ nhánh

I Mơc tiªu KiÕn thøc

- Học sinh biết đợc ý ngiã cấu trúc rẽ nhánh

- Học sinh biết đợc cấu trúc chung cấu trúc rẽ nhánh

- Biết cách sử dụng hai dạng cấu trúc rẽ nhánh lập trình: dạng thiếu dạng đủ

- Bc đầu sử dụng đợc cấu trúc rẽ nhánh If then else ngơn ngữ lập trình Pascal để viết chơng trình giải đợc số toỏn n gin

II Đồ dùng dạy học. Chuẩn bị giáo viên

- Máy vi tính, máy chiếu Overhead, máy chiếu Projector, bìa trong, bút dạ, chơng trình mẫu giải phơng trình bậc hai ax2 + bx + c = 0.

Chuẩn bị học sinh - Sáhc giáo khoa

III Hoạt động dạy - học ổn định tổ chức

- Sè HS líp

- Số Hs vắng

2 Kiểm tra cị

(Lång vµo bµi häc) Néi dung bµi míi

hớng dẫn giáo viên Hoạt động hc sinh

1 Rẽ nhánh

*Nêu vÝ dơ thùc tiƠn minh häa cho tỉ chøc rÏ nh¸nh:

Chiều mai trời khơng ma An xem đá bóng, trời ma An xem ti vi nhà

- Yªu cầu học sinh tìm thêm số ví dụ tơng tù

- Yêu cầu học sinh đa cấu trúc chung diễn đạt ú

- Yêu cầu học sinh lấy mét vÝ dô cã

- Nếu đội tuyển bóng đá Việt Nam thắng đội Indonesia đợc đá tiếp tranh huy chơng vàng với Thái Lan, khơng thắng Indonesia Việt Nam tranh huy chơng đồng với Mianmar

- NÕu th× không

- Nếu lµm xong bµi tËp sím An sÏ sang nhµ Ngäc ch¬i

(25)

cấu trúc chung dạng khuyết đa cấu trúc chung

* Nếu bớc để kết luận nghiệm phơng trình bậc hai ax2 +bx+c = 0.

- Chia nhóm lớp thành nhóm yếu cầu vẽ sơ đồ thực bớc bìa

- Chọn hai để chiếu lên bảng, gọi học sinh thuộc nhóm khác nhận xét đánh giá kết bổ sung

* Tiểu kết cho hoạt động cách bổ sung xác tập học sinh

2 Câu lệnh IF-THEN a Dạng thiếu

Nêu cú pháp câu lệnh IF-THEN dạng thiếu?

Những biểu thức làm điều kiên?

HÃy nêu thùc hiƯn cđa m¸y?

b Dạng đầy đủ

Nêu cú pháp câu lệnh IF-THEN dạng đầy đủ?

Những biểu thức làm điều kiên?

HÃy nêu thực máy?

Nu trng hợp câu lệnh có nhiều lệnh ta phải ghép câu lệnh lại

3 C©u lƯnh gÐp

Em hÃy nêu cấu trúc câu lệnh ghép?

- Theo dõi thc yêu cầu giáo viên trả lời:

+ Tính delta

+ Nếu delta<0 kết luận phơng trình vô nghiệm

+ Nếu delta>=0 kết luận phơng trình có nghiệm:

x = (-b+sqrt(delta))/(2a) x = (-b - sqrt(delta))/(2a)

- Thực vẽ sơ đồ (giống nh phần nội dung)

- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác

- Quan sát hình vẽ nhóm khác giáo viên để ghi nhớ

TL:

D¹ng thiÕu:

CÊu tróc: IF<®iỊu kiƯn> then <lƯnh>;

Điều kiện: biểu thức quan hệ hc biĨu thøc logic

Lệnh: lệnh Pascal Sự thực máy:

+ Tính giá trị <điều kiện> + Nếu <điều kiện> có giá trị thực <lệnh>

Dạng đủ: Cấu trúc:

If <®iỊukiƯn> then <lƯnh 1> else <lƯnh 2>; - Điều kiện: biểu thức quan hệ biểu thøc logic

- Lệnh 1, lệnh 2: Là lệnh Pascal

- Sù thùc máy:

+ Tính giá trị cđa <®iỊu kiƯn>

+ Nếu <điều kiện> có giá trị thực <lệnh 1>, ngợc lại thực <lệnh 2>

CÊu tróc c©u lƯnh ghÐp:

(26)

VÝ dơ: Begin

X1:= (-b-SQRT(denta))/2*a; X1:= (-b+SQRT(denta))/2*a; End;

4 Mét số ví dụ

Viết chơng trình giải phơng trình bậcII có

dạng: Ax2+Bx+c=0

Tìm Input Output?

Tìm nghiệm phơng trình bậc hai - Hãy nêu bớc để trả lời nghiệm phơng trình bậc hai?

- Trong toán ta cần lệnh rẽ nhánh Dạng nào?

- Tổ chức lớp thành nhóm, yêu cầu học sinh viết chơng trình hoàn thiện lên bìa

- Thu phiếu trả lời, chiếu lên bảng, gọi học sinh nhóm khác nhận xét đánh giá - Chuẩn hóa lại chơng trình cho lớp chơng trình mẫu giáo viên

b»ng END; Cã d¹ng nh sau: Begin

< câu lệnh>; End;

Input: A,B,C: Nguyên

Output: X thoả mÃn phơng trình + TÝnh delta

+ NÕu delta<0 th× kÕt luËn phơng trình vô nghiệm

+ Nếu delta>=0 kết luận phơng trình có nghiệm:

x = (-b+sqrt(delta))/(2a) x = (-b - sqrt(delta))/(2a)

- Có thể sử dụng hai lệnh rẽ nhánh dạng khuyết, sử dụng lệnh dạng đủ

- Thảo luận viết chơng trình lên b×a

- Thơng báo kết viết đợc

- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác

- Ghi chép nội dung chơng trình giáo viờn ó kt lun

IV Đánh giá cuối

Cũng cố: Những nội dung học - Cấu trúc chung cấu trúc rẽ nhánh

- Sự thực máy gặp cấu trúc rẽ nhánh IF - Sơ đồ thực cấu trúc rẽ nhánh IF

Dặn dò: Câu hỏi tập nhà

- Trả lời câu hỏi 1, 2, 4, Sách giáo khoa, trang 50

- Viết chơng trình nhập vào hai số in hình giá trị lớn hai số - Viết chơng trình giải phơng trình ax4 + bx2 + c = o.

- Xem tríc néi dung bài: Cấu trúc lặp, sách giáo khoa, trang 42

- Xem néi dung phơ lơc B, s¸ch gi¸o khoa trang 131: Lệnh rẽ nhánh lặp - Xem néi dung phơ lơc C, s¸ch gi¸o khoa trang 139: Lệnh rẽ nhánh lặp

Ngày 06/ 10 /2009 TIÕT 12: ppct

Ch¬ng 3: Tỉ chøc rẽ nhánh lặp Bài 10: Cấu trúc lặp (T1)

I Mơc tiªu KiÕn thøc

- Biết đợc ý nghĩa cấu trúc lặp

(27)

kĩ năng

- Bớc đầu sử dụng đợc lệnh lặp For để lập trình giải đợc số tốn đơn giản II Đồ dùng dạy học.

Chuẩn bị giáo viên.

- Máy vi tính, máy chiếu Overhead, bìa trong, bút dạ, máy chiếu Projector, sách giáo khoa, sách giáo viên

Chuẩn bị học sinh. - Sách giáo khoa

III hoạt động dạy - học ổn định tổ chức

- Sè HS líp

- Số Hs vắng

2 Kiểm tra cò

Hãy nêu cú pháp cách thức hoạt động câu lệnh rẽ nhánh dạng khuyết thiếu dạng đầy đủ?

Sử dụng câu lệnh rẽ nhánh để viết chơng trình giải phơng có dạng Ax+B=0 Nội dung

hớng dẫn giáo viên Hot ng ca hc sinh

1 Lặp

Bài toán 1: Viết chơng trình tính tổng

100 1 1

       

a a

a a S

Với a nguyên >2

* Nếu toán đặt vấn đề

- Hãy xác định cơng thức tốn học để tính tổng?

- Gợi ý phơng pháp: Ta xem S nh thùng, số hạng nh ca có dung tích khác nhau, việc tính tổng tơng tự việc đổ ca nớc vào thùng S

- Có lần đổ nớc vào thùng? - Mỗi lần đổ lợng bao nhiêu? Lần thứ i đổ bao nhiờu?

- Phải viết lệnh?

Đây lặp 100 lần=> Lặp với số lần xác định trớc

Bài tốn 2: Một ngời có số tiền S, ông ta gửi tiền tiết kiệm ngân hàng với lãi suất 1,5%/tháng Hỏi sau tháng gửi tiết kiệm ơng ta đợc số tiền K

* Nêu toán đặt vấn đề

- Em hiểu nh cách tính tiền gửi tiết kiệm toán

- Từ đó, lập cơng thức tính tiền thu đ-ợc sau tháng thứ

- Ta phải thực tính lần nh vËy?

Chú ý quan sát toán đặt vấn đề - Rất khó xác định đợc cơng thức

- Theo dâi gỵi ý

- Phải thực 100 lần đổ nớc - Mỗi lần đổ

i a

1

Ph¶i viÕt 100 lƯnh

* Chó ý quan sát trả lời câu hỏi

- Với số tiền S, sau tháng có tiỊn l·i lµ 0,015*S

- Số tiền đợc cộng vào tổng số tiền ban đầu để tính lãi cho tháng

S: = S + 0,015*S;

(28)

- C«ng viƯc lặp lại?

=> Lp vi s ln cha xỏc nh

2.Lăpk với số lần biết tr ớc câu lệnh For-Do

a Câu lệnh FOR - DO

* Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cấu trúc chung For? - Gi¶i thÝch:

< Biến đếm>: Là biến kiểu nguyên, kí tự - Hỏi : ý nghĩa <Giá trị đầu> <Giá trị cuối>, Kiểu liu ca chỳng

- Hỏi: Trong toán tính tổng <Giá trị đầu> <Giá trị cuối> bao nhiªu?

- Dẫn dắt : Những lệnh cần lặp lại ta đặt sau Do

- Hỏi : Khi nhiều lệnh khác cần lặp lại ta viết nh nào?

- Hỏi : Trong toán gửi tiết kiệm, lệnh cần lặp lại?

- Hỏi : Trong toán tính tổng, lệnh cần lặp lại?

- Hái : Em cã nhËn xÐt g× giá trị <Giá trị đầu> <Giá trị cuối> ?

- Dẫn dắt: Khi lệnh For đợc gọi For tiến Ngơn ngỡ lập trình Pascal cịn có dạng For khác gọi For lựi

* Yêu cầu: HÃy trình bày cấu trúc chung cña For lïi

- Hái : So sánh <Giá trị đầu> <Giá trị cuối> ?

- Hỏi : Trong hai toán trên, dạng lệnh For phù hợp?

b VÝ dơ vỊ c©u lƯnh For - do

Ví dụ 1: Viết chơng trình tính tổng

S = 1/a+ 1/a+1 + 1/a+2 + + 1/a+100 Nêu nội dung toán Mục tiêu xác định đợc việc cần làm + Xác định giá trị đầu, giá trị cuối + Xác định lệnh cần lặp lại

- Yªu cầu học sinh tiếp tục hoàn thành chơng trình nhµ

Nêu nội dung tốn2, mục tiêu viết đợc chơng trìn hồn thiện

- Định hớng vấn đề

- Chia lớp thành nhóm Yêu cầu học sinh viết chơng trình lên giấy bìa - Thu phiếu học tập, chiếu lên bảng, gọi học sinh nhóm khác nhận xét đánh giá

- S: = S + 0,015*S;Cho đến S>=K - Tập trung theo dõi giáo viên trình bày * Đọc sách giáo khoa trở lời

For <Biến đếm>:=<giá trị đầu> To <Giá trị cuối> Do <lệnh cần lặp>;

- Dùng để làm giới hạn cho biến đếm - Cùng kiểu với <Biến đếm>

<Giá trị đầu> 1; <Giá trị cuối> 100

- Phải sử sơng cÊu tróc lƯnh ghÐp

S : = S + 0,015*S; S:=S+ i a ;

<Giá trị đầu> Nhỏ <Giá trị cuối>

* Nghiờn cu sách giáo khoa, suy nghĩ, so sánh với cấu trúc For tiến để trả lời

For <biến m>:=<giỏ tr cui>

Downto <giá trị đầu> Do <lệnh cần lặp>;

<Giá trị đầu> <Giá trị cuối>

- Sử dụng dạng For tiến phù hợp

* Chú ý lắng nghe trả lời yêu cầu giáo viên

- Giá trị đầu 1, Giá trị cuối 100

S:=S+ i a ;

* Chú ý lắng nghe nội dung yêu cÇu HS:

(29)

- ChÝnh xác hóa làm học sinh chơng trình mẫu

Yêu cầu học sinh nhà viết chơng tr×nh vÝ dơ

Readln(a); S:=0;

For i:=1 to 100 S:=S+1/(i+a); Writeln(‘Tong la: S= ‘,S:6:2); End

IV Đánh giá cuối bài. Những nội dung học.

- Cấu trúc chung lệnh lặp For Sơ đồ thực lệnh lậnh lặp For Câu hỏi tập nhà.

- Giải tập 5.a, 6, sách giáo khoa, trang 51

- Xem trớc phần nội dung cấu trúc lặp có số lần cha xác định While - Xem nội dung phụ lục B, sách giáo khoa trang 131 : Lệnh rẽ nhánh lặp - Xem nội dung phụ lục C, sách giáo khoa trang 139 : Lệnh rẽ nhánh lặp

Ngµy 10 / 10 /2009 TIÕT 13: ppct

Chơng 3: Tổ chức rẽ nhánh lặp Bài 10: Cấu trúc lặp (T2)

I Mục tiêu KiÕn thøc

- Biết đợc ý nghĩa cấu trúc lặp có số lần lặp cha xác định

- Biết đợc cấu trúc chung lệnh lặp While ngôn ngữ Pascal - Biết đợc thực máy gặp lnh lp While

- Phân biệt đợc giống khác cấu trúc lặp For While - Sử dụng lệnh lặp While lập trình

- Bớc đầu biết lựa chọn dạng lệnh lặp để lập trình giải đợc số tốn n gin

II Đồ dùng dạy học Chuẩn bị giáo viên

- Máy vi tÝnh, m¸y chiÕu Overhead, Projector, s¸ch gi¸o khoa, s¸ch gi¸o viên Chuẩn bị học sinh

- S¸ch gi¸o khoa

III Hoạt động dạy - học ổn định tổ chức

- Sè HS líp

- Sè Hs v¾ng

2 KiĨm tra bµi cị

Hãy nêu cú pháp cách thức hoạt động câu lệnh For dạng tiến lùi? Nội dung

hớng dẫn giáo viên Hoạt động học sinh

3 Lặp với số lần ch a biết tr ớc câu lệnh While-Do

a Xét toán

* Bài tốn 1: Viết chơng trình tính tổng: S = 1/a + 1/a+1 + 1/a+2 + + 1/a+N + 1/a+N <0,0001

- Hỏi : Sự khác toán nµy

* Chú ý lắng nghe, quan sát suy nghĩ để trả lời

(30)

với toán viết tiết trớc?

- Hỏi : Lặp lại lần? - Hỏi : Lặp đến nào?

* Bìa tốn 2: Một ngời có số tiền S đồng, ông ta gửi tiét kiệm ngân hàng với số lãi suất 1,5% tháng Hỏi sau tháng ngời có số tiền lớn S1 đồng?

- Hỏi : Sự khác toán với toán giải tiết trớc?

- Hỏi: Số lần lặp lệnh? - Hỏi : Lặp đến nào?

* Tiểu kết vấn đề: Qua hai ví dụ ta thấy có dạng tốn có lặp lại số lệnh nhng khơng biết trớc số lần lặp Cần có cấu trúc điều khiển lặp lại công viêc định thỏa mãn điều kiện

b Câu lệnh While-Do

* Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cÊu tróc chung cđa lƯnh lỈp While?

- Gi¶i thÝch:

+ <Điều kiện>: Là biểu thcứ quan hệ biểu thức logic, điều kiện để lặp lại - Hỏi : Trong tốn 1: Điều kiện để lặp lại gì?

- Hỏi : Trong toán 2: Điều kiện để lặp lại gì?

+ <LƯnh cần lặp>: Là lệnh cần phải lặp lại

- Hỏi : Trong hai toán lệnh cần lặp gì?

- Hỏi: Một khác lệnh cần lặp For While gì?

- Dựa vào cấu tróc chung, h·y cho biÕt m¸y sÏ thùc hiƯn tÝnh <điều kiện> trớc hay thực <lệnh cần lặp> trớc?

* Yêu cầu học sinh vẽ sơ đồ cấu trúc lên bảng

- Gọi học sinh đánh giá nhận xét

-Bài này: Cho giới hạn S - Cha xác định đợc - Đến điều kiện

1/a+N < 0,0001 đợc thỏa mãn

* Chó ý l¾ng nghe, quan sát suy nghĩ trả lời

- Bài trớc : Biết số tháng, hỏi số tiền - Bài này: Biết số tiền, hỏi số tháng - Cha biết trớc, số tháng cần tìm

- Đến số tiền thu đợc > S1 đồng * Theo dõi ghi nhớ kết luận giáo viên

* Tham kh¶o sách giáo khoa trả lời - Cấu trúc chung

While <điều kiên> Do <lệnh cần lặp>;

1/a+M >0,0001 S < S1

S:= S + 0,015*S để tính số tiền t:= t + 1; để tính số tháng

S := S + 1/(a + i) để tính tổng i := i + 1; để tăng tỉ số

- While phải có lệnh tăng biến số - Quan sát, suy nghĩ trả lời:

+ tÝnh biĨu thøc ®iỊu kiƯn tríc + Thực lệnh cần lặp sau

* Lờn bng vẽ sơ đồ cấu trúc lệnh While

(31)

- Tổng kết vấn đề cách treo sơ đồ mẫu giải thích

c Ví dụ

Nêu nội dung toán Mục tiêu viết chơng trình hoàn thiện

- Định hớng vấn đề

+ Xác định điều kiện để tiếp tục lặp + Xác định lệnh cần lặp

- Chia làm nhóm Yêu cầu học sinh viết chơng trình hồn thiện lên bìa - Gọi học sinh nhóm khác nhận xét đánh giá

- Chính xác hóa chơng trình cho lớp Nêu nội dung toán Mục tiêu phân tích để xác định <điều kiện> <lệnh cần lặp>

- LÊy mét vÝ dơ thĨ t×m íc sè chung cđa hai sè 15 vµ 25

m n 15 25 15 10 10

Trả lời: ớc số chung lớn - Hỏi: Điều kiện để tiếp tục lặp gì? - Hỏi : lệnh cần lặp lại gỡ?

- Yêu cầu học sinh viết chơng trình hoàn thiện toán nhà

- Yêu cầu học sinh hai câu hỏi cần đặt gặp toán dạng

- Hs nghiên cứu ghi nhớ

Chú ý lắng nghe suy nghĩ trả lời câu hỏi định hớng giáo viên - Điều kiện: S < S1

S:= S + 0,015*S để tính số tiền t:= t + 1; để tính số tháng

- Tập trung làm việc theo nhóm để viết đợc chơng trình hồn thiện

- Đánh giá - sai bổ sung

- Ghi nhí nh÷ng phần giáo viên sửu chữa

Tp trung theo dõi để thấy đợc công việc cần thực

- §iỊu kiƯn : m<> n

- Lạnh cần lặp: m:=m-n; n:=n-m; - Thuật toán:

B1: Nếu m=n UC=m, dừng

B2: Nếu m>n m:=m-n ngợc lại n:=n-m; Quay lại B1

- Suynghĩ trả lêi:

+ Điều kiện để lặp lại? + Những lệnh cần lặp lại? IV Đánh giá cuối bài.

Những nội dung học

- ý nghĩa cấu trúc lặp có số lần cha xác định

- Cấu trúc chung lệnh lặp While ngôn ngữ Pascal - Sơ đồ thực lệnh lặp While

- Sù thùc hiƯn cđa m¸y gặp lệnh lặp While Câu hỏi tập nhà

- Giải tập 4, 5b, 7, 8, s¸ch gi¸o khoa trang 51 - Viết chơng trình tính tổng:

S = 1/a + 1/a+1 + 1/a+2 + + 1/a+N + 1/a+N <0,0001 - Xem nội dung thực hành số 2, sách giáo khoa trang 49

Ngµy 14 / 10 /2009 TIÕT 14: ppct

(32)

I Mơc tiªu. KiÕn thøc

- Củng cố lại cho học sinh kiến thức liên quan đén tổ chức lặp : Cấu trúc lặp, sơ đồ thực hiện, thực máy gặp lệnh lặp

- Rốn luyn k nng dng linh hoạt công việc lựa chọn cấu trúc lặp phù hợp để giải toán đặt

Thái độ

- Tự giác tích cực, chủ động giải tập II Đồ dùng dạy học.

1 ChuÈn bÞ giáo viên

- Mỏy chiu Projector, mỏy vi tính để giới thiệu ví dụ minh họa, số chơng trình mẫu

Chn bÞ cđa häc sinh - S¸ch gi¸o khoa

III Hoạt động dạy - học. ổn định tổ chức

- Sè HS líp

- Sè Hs vắng

2 Kiểm tra cũ

Lồng vào dạy Nội dung

hng dn giáo viên Hoạt động học sinh

Bµi toán 1

Lập trình tính tổng

  50

1

n n n y

- Yêu cầu hs xác định bi toỏn?

- Bài toán cần dùng biến nào? - Cách tính y nh nào?

- Công việc tính nh lặp lại lần?

- Đối với toán ta dùng câu lệnh For hay câu lệnh While?

Yêu cầu học sinh lấy giấy nháp viết chơng trình hoàn chỉnh

Hs quan sát toán nghiên cứu cách gi¶i

- Input: n

- Output: Tỉng y

- Ta cần dùng biến là: i y i: lu biến điếm, y: lu tổng tính đợc - Tính y cách y:= y+

1

i i

- Lặp lại 50 lần

- Ta nên dùng câu lệnh For Do HS: Chơng trình

Program tinh_tong; Var i: integer; Y: real; Begin Y:=0;

For i:=1 to 50 Do

Y:= y+

1

i i

(33)

Yªu cầu học sinh khác lên nhận xét chỉnh lại nÕu cã sai sãt

- Nếu toán sử dụng câu lệnh While để tính có đợc khơng?

-HÃy viết câu lệnh?

Yêu cầu hs khác nhận xét Bài toán 2.

Viết chơng trình tính giá trị tổng X(N) = 13 + 33 + 53 + + (2N + 1)3, với N lần lợt 0, 1, 2, 3, , , chõng nµo X(N) nhỏ x 109 Đa giá trị X(N) ra hình

* Tìm hiểu tập giải

- Hóy cho biết N nhận giá trị đoạn nào? Xác định đợc cha?

- Hái: Dïng cấu trúc điều khiển thích hợp?

- Đối với toán điều kiện dừng gì?

Yêu cầu học sinh viết chơng trình hoàn chỉnh?

Yêu cầu học sinh khác nhận xét cã kiÕn chÝnh sưa

Theo em tốn dùng câu lệnh For DO có đợc khơng, đợc viết nào? Bài tốn 3

Viết chơng trình nhập vào số kiểm tra số có phải số nguyên tố không, in

Writeln(‘tong la: y= ‘,y:6:2); Readln

End

- Ta sử dụng câu lệnh While để viết

While i>50 Do Begin

Y:= y+

1

i i

; I:= i+1; End;

* Quan sát suy nghĩ để giải toán

- Cha xác định đợc cận cuối

- Dùng cấu trúc lặp có số lần cha xác định

- §iỊu kiƯn dõng X(N) > = x 109 HS:

Program tinh_tong; Var x,n:word; Begin

X:=1; I:=1;

While x < 2E9 Do

begin x:=x+i*i*i;

i:=i+2; end;

Writlen(‘Tong la:’, S:6); End

Dùng câu lệnh For khơng đợc vì:

(34)

ra hình?

- Nờu ý tng để giải toán này?

- Đối với tốn ta dùng câu lệnh lặp để viết?

Giáo viên gợi ý để học sinh nhà viết ch-ơng trình hồn chỉnh

Hs nghiªn cøu Hs trả lời

i vi bi toỏn nên sử dụng câu lệnh lặp While để viết chơng trình

IV Đánh giá cuối Nắm lại nội dung học - Có hai cấu trúc lặp:

+ Lặp For: Số lần lặp xác định + Lặp While: Số lần lặp cha xác định Câu hỏi tập nhà

ViÕt ch¬ng trình hoàn chỉnh kiểm tra số nhập vào có phải nguyên tố hay không Ngày 18 / 10 /2009 TIÕT 15: ppct

bµi tËp

I Mơc tiªu. KiÕn thøc

- Củng cố lại cho học sinh kiến thức liên quan đến tổ chức rẽ nhánh lặp : Cấu trúc lặp, sơ đồ thực hiện, thực máy gặp lnh lp

- Rèn luyện kĩ vận dụng linh hoạt công việc lựa hcọn cấu trúc rẽ nhánh cấu trúc lặp phù hợp để giải toán đặt

Thái độ

- Tự giác tích cực, chủ động giải tập II Đồ dùng dạy học.

1 ChuÈn bÞ giáo viên

- Mỏy chiu Projector, mỏy vi tính để giới thiệu ví dụ minh họa, số chơng trình mẫu Chuẩn bị học sinh

- S¸ch gi¸o khoa

III Hoạt động dạy - học. ổn định tổ chức

- Sè HS líp

- Sè Hs vắng

2 Kiểm tra cũ

Lồng vào dạy Nội dung

I Nhc li kin thc ó hc

Yêu cầu học sinh nhắc lại cấu trúc rẽ nhánh

Yêu cầu hs viết chơng trình tìm số lớn số a b?

1 Độc lập suy nghĩ để trả lời

If <bt®k> then <lƯnh 1> Else <lƯnh 2>; If <bt®k> then <lÖnh >;

(35)

- Hái: Chơng trình thực công việc gì? - Yêu cầu học sinh viết lại chơng trình cách sử dụng lệnh rẽ nhánh dạng thiếu

2 Yờu cu học sinh nhắc lại cấu trúc lệnh lặp học

- Chiếu lên bảng hai chơng trình chuẩn bị sẵn, chơng trình sử dụng lệnh lặp For chơng trình sử dụng lặp while

- Yêu cầu: So sánh giống khác hai dạng lệnh ú

II Bài tập Bài toán 1

LËp tr×nh tÝnh tỉng sau: 51 50 2     y

- Hái: Cã thÓ khai triÓn biÓu thøc Y thành tổng số hạng nh nào?

- Nhìn vào công thức khai triển, cho biết N lấy giá trị tỏng đoạn nào?

- Hái : Ta sư dơng cÊu tróc ®iỊu khiĨn lặp phù hợp?

- Chia lớp làm ba nhóm, yêu cầu viết ch-ơng trình lên bìa

- Thu phiếu trả lời, chiếu kết lên bảng - Gọi học sinh nhóm khác nhận xét đánh giá bổ sung

Tìm hiểu nội dung ví dụ định hớng học sinh giải nhà

- ChiÕu nội dung ví dụ lên bảng

- Hãy cho biết N nhận giá trị đoạn nào? Xác định đợc cha?

- Hái : Dùng cấu trúc điều khiển thích hợp?

- Yêu cầu học sinh nhà lập trình máy, tiết sau nộp lạo cho giáo viên

Bài toán 2

Viết chơng trình kiểm tra số nguyên tố N N nhập từ bàn phím

Yêu cầu học sinh tìm hiểu viết chơng trình với gợi ý tiết trớc

Hs viết chơng trình

- In hình giá trị lớn h¬n Var a, b : Integer;

Begin

Readln(a, b); max:=b; If a>b then max:=a; Write(max); readln; end

Suy nghĩ trả lời

For <biến đếm>:=<giá trị đầu>; To <giá trị cuối> Do <lệnh>;

While <®iỊu kiƯn> Do <lƯnh cần lặp>;

- Quan sỏt, suy ngh v trả lời - Giống: lệnh lặp

- Khác: For lặp với số lần xác định trớc While lạp với số lần cha xác định

1 Quan sát suy nghĩ để giải toán

Y = 1/2 + 2/3 + 3/4 + + 50/51 50

- Sử dụng cấu trúc lặp có số lần xác định

- Thảo luận theo nhóm để viết chơng trình lờn bỡa

- báo cáo kết cña nhãm

- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác

Quan sát theo dõi định hớng giáo viên

- Cha xác định đợc cận cuối

- Dùng cấu trúc lặp có số lần cha xác định

(36)

- Yêu cầu hs khác nhận xét

- Bài toán viết lại câu lệnh While Do?

Cho em thảo luận cử đại diện trả lời Hs

- Cho chơng trình đợc viết lệnh For Var x, i:word; nt:boolean;

Begin Readln(x); nt :=true;

For i :=2 to x -

if x mod i = then nt:=false; If nt = true then write(x,’la so nguyen to’) else write(x, ‘khong phai snt’);

readln; End

Nghiªn cứu trả lời

Đại diện lên bảng trình bày IV Cũng cố dặn dò

Cũng cè kiÕn thøc

Nắm lại kiến thức học, câu lệnh IF, FOR, WHILE… Cách thực câu lnh ú

Dặn dò

Về nhà làm tập Sách giao khoa

Ngày 20 / 10 /2009 TIÕT 16: ppct

Bµi thùc hành số I Mục tiêu.

Kiến thøc

- Nắm cấu trúc sơ đồ thực cấu trúc rẽ nhánh K nng

- Rèn luyện kĩ sử dụng cấu trúc rẽ nhánh việc lập trình giải số toán cụ thể

- Lm quen với công cụ phục vụ hiệu chỉnh chơng trình Thái độ

- Tự giác, tích cực hcủ động thực hành II Đồ dùng dạy học

Chn bÞ cđa giáo viên

- Phũng mỏy vi tớnh, mỏy chiếu Projector để hớng dẫn Chuẩn bị học sinh

- Sách giáo khoa, sách tập tập viết nhà III Hoạt đông dạy - học

1 ổn định tổ chức

- Sè HS líp

- Sè Hs vắng

2 Kiểm tra cũ

(37)

3 Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

*Néi dung:

- Ba số nguyên dơng a, b, c đợc gọi số Pitago tổng bình phơng hai số bình phơng số cịn lại

Yêu cầu: Viết chơng tình nhập từ bàn phím ba số nguyên dơng a, b, c kiểm tra xem chúng có số Pitago hay không? Gơi ý để học sinh nêu khái niệm v b s Pitago

- Yêu cầu: lấy mét vÝ dơ thĨ

- Hỏi : Để kiểm tra ba số a, b, c có phải Pitago, ta pahỉ kiểm tra cỏc ng thc no?

2 Chiếu chơng trình mẫu lên bảng

thực mẫu thao tác: lu, thực lệnh chơng trình, xem kết trung gian, thực chơng tình nhập liệu - Yêu cầu học sinh gõ chơng trình mẫu vào máy

- Yờu cu hc sinh lu chơng trình lên đĩa với tên Pytago.pas

- Yêu cầu học sinh thực lệnh chơng trình

- Yêu cầu học sinh xem kết a2, b2, c2

- Yêu cầu học sinh tự tìm thêm số a b c khác so sánh

Khởi động máy

Khởi động chơng trình Pascal

Hs nghiên cứu đề

1 Theo dõi dẫn dắt cuả chọ sinh để nêu khái niệm số Pitago: Tổng bình ph-ơng hai số bình phph-ơng số cịn lại

VÝ dơ vỊ bé sè Pitago: a2 = b2 + c2.

b2 = a2 + c2. c2 = a2 + b2.

Soạn chơng trình vào máy theo yêu cầu giáo viên

- Bấm F2, gõ tên file enter

- Bấm F7, nhập giá trị a=3, b=4, c=5

- Chọn menu Debug để mở cửa sổ hiệu chỉnh

- Quan s¸t qu¸ trình rẽ nhánh liệu vào trả lời

IV Cũng cố dặn dò

(38)

Ngµy 23 / 10 /2009 TIÕT 17: ppct

Bµi thùc hµnh sè (tt) I Mơc tiªu.

KiÕn thøc

- Học sinh biết đọc hiểu đề, phân tích yêu cầu đề Từ chọn đợc cấu trúc liệu lệnh phù hợp để lập trình

- Nắm cấu trúc sơ đồ thực cấu trúc lặp: For - Do, While - Do Kĩ

- RÌn lun kÜ sử dụng cấu trúc lặp việc lập trình giải số toán cụ thể - Làm quen với công cụ phục vụ hiệu chỉnh thực chơng trình

- Rốn luyện kĩ lập trình hồn thiện tốn Thái độ

- Tự giác, tích cực hcủ động thực hành II Đồ dùng dy hc

Chuẩn bị giáo viên

- Phịng máy vi tính, máy chiếu Projector để hớng dẫn Chuẩn bị học sinh

- Sách giáo khoa, sách tập tập viết nhà III Hoạt đông dạy - học.

1 ổn định tổ chức

- Sè HS líp

- Sè Hs v¾ng

2 Kiểm tra cũ

Kiểm tra thiết bị máy tính biên chế máy tính cho hs theo tõng nhãm líp häc Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

1 Néi dung thùc hµnh

* ViÕt chơng trình nhập vào số nguyên dơng N HÃy tÝnh cđa biĨu thøc:

Y=12+22+…+n2 Ph©n tÝch toán

Bài toán yêu cầu gì? ýtởng giải toán trên?

Yờu cu hc sinh v s thut toỏn

HÃy viết chơng trình sử dụng NNLT pascal

Khai báo biến cho hợp lý

Sử dụng câu lệnh For – Do để viết chơng trình điều khiển việc tính tổng S

Yªu cầu hs kiểm tra lỗi

Hc sinh nghiờn cu đề HS tìm Input Output Cho i [1; n] s<- s+i2 Hs:chơng trình

Program tinh_tong; Var n,i: integer; S: real; Begin

Writeln(‘Hay nhap gia tri N’); Readln(N);

S:=0;

For i:=1 to N

S:=s+SQRT(i); Writeln(‘Tong la s= ‘,S); readln

(39)

Bằng cách bấm phím F9 để kiểm tra

Hs chạy chơng trình

Yờu cu nhp vào N = 10 để kiểm tra kết

Hỏi số hs kết có giống không

Nếu có khau yêu cầu hs chỉnh sửa lại thuật toán

* Viết chơng trình kiĨm tra mét sè nhËp vµo tõ bµn phÝm cã phải số nguyên tố hay không?

Yêu cầu hs viết thuật toán Viết chơng trình

Hs bm phím F9 sau chỉnh sửa có thơng báo lỗi cú pháp

Và tiếp tục nh chơng trình thơng báo “chơng trình thành cơng”

Bấm tổ hợp phím Ctrl + F9 để biên dịch chạy chơng trình

Hs thực

Hs nghiên cứu viết chơng trình IV NhËn xÐt vµ cịng cè

 VỊ nhµ nghiên cứu chạy chơng trình vừa viết kiểm tra số nguyên tố

Làm tập sách giáo khoa sách tập

Chuẩn bị kiến thức để tiết sau kiểm tra tiết

Ngµy 25 / 10 /2008 TIÕT 18: ppct

KiÓm tra TIÕT

Mục tiêu cần đánh giá

- Kiểm tra kết tiếp thu học sinh từ đầu năm học đến - Đánh giá kĩ phân tích tốn t lập trình giấy - Có thái độ tự giác, tích cực làm kiểm tra

Mục đích yêu cầu đề.

- Kiến thức: Học sinh nắm đợc kiến thức kiểu liệu bản, kiểu liệu có cấu trúc Các hàm chuẩn thông dụng Cấu trúc vào/ra liệu, cấu trúc rẽ nhỏnh v lp

- Kĩ năng: Có kĩ phân tích toán, viết chơng trình ChuÈn bÞ.

- Giáo viên chuẩn bị đề kiểm tra

- Học sinh chuẩn bị đầy đủ kiến thức đợc học, ôn tập Nội dung đề đáp án.

Nội dung :

Câu 1: So sánh giống khác cấu trúc For While Cho chơng trình có sử dụng cấu trúc For nh sau:

var i:byte Begin

For i:=1 to 100 write(i:4); Readln

End

(40)

C©u 2: H·y cho biết chơng trình sau in hình nh thÕ nµo? Var i: integer;

a,b: word; Begin

a:=10; b:=6;

If a>b Then For i:=b To a Do write(i+1) Else For i:= a To b Do write(i-1); End.

Câu 3: Viết chơng trình thực công việc sau:

a, Nhập vào số nguyên dơng N HÃy in N chia hết or

b, Nhập vào số Kiểm tra xem số có phải nguên tố hay không?

Đáp án biểu điểm. Câu 1: ( ®iĨm)

- Giống: For While cấu trúc lặp

- Khác : For cấu trúc lặp có số lần biết trớc, ngợc lại while cấu trúc lặp có số lần cha xác định

Var i:byte; Begin

i:=1;

While i<=100 begin

write(i:4); i:=i+1; End;

Readln End

C©u 2: ( ®iĨm)

Khi chạy chơng trình đợc kt qu 7891011

Câu 3:

Nộ dung Điểm

Program cau3a; Var n: Integer; Begin

Readln(N);

If (N mod =0) and (N mod = 0) then writeln(N); End

0,5 0,5 1,0 Program cau3b;

Var n, i: Integer; Begin

Readln(N); I:= 2;

While (i<= int(SQRT(N))) and (N mod i = 0) Do I:=i+1; If i > int(SQRT(N)) Then Writeln( N, ‘La so nguyen to’)

Else Writeln( N, ‘Khong phai la so nguyen to’);

(41)

End

Ngµy 30 / 10 /2008 TIếT 19: ppct

kiểu mảng biến có sè (tiÕt 1)

I Mơc tiªu KiÕn thøc

- Biết đợc kiểu liệu kiểu mảng chiều Biết đợc laọi biến có số - Biết cáu trúc tạo kiểu mảng chiều cáhc khai báo biến kiểu mảng chiều Kĩ

- Tạo đợc kiểu mảng chiều sử dụng biến mảng chiều ngơnngữ lập trình Pascal để giải số toán cụ thể

II Đồ dùng dạy học Chuản bị giáo viªn

- Máy chiếu Projector, máy vi tính để giới thiệu ví dụ minh họa Chuẩn bị học sinh

S¸ch gi¸o khoa

III Hoạt động dạy - học ổn định tổ chức

- Sè HS líp

- Số Hs vắng

2 Kiểm tra cũ

Viết chơng trình nhập vào số nguyên dơng a,b,c,d,e Tính in mà hình tổng số

3 Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

* t :

Đối với toán nhập vào 20 số ta phải khai báo tới 20 biến => Chơng trình dài

NNLT Pascal cung cấp kiểu liệu có cấu trúc, kiểu mảng

1 KiĨu m¶ng mét chiỊu

* Chiếu đề chơng trình ví dụ lên bng

- Hỏi: Khi N lớn chơng trình có hạn chế nh nào?

- Dẫn dắt: Để khắc phục hạn chế trên, ngời ta thờng ghép chung biến thành dãy đặt cho chung tên đánh cho mọt phần tử số

* Yêu cầu học sinh tham khảo sách giáo khoa hỏi: Em hiểu nh mảng chiều?

- Hỏi: Để mô tả mảng chiều, ta cần xác định yếu tố nào?

* Quan sát hình, suy nghĩ trả lời

- Phải khai báo nhiều biến Chơng trình phải viết dài

* Nghiờn cu sách giáo khoa để trả lời - Mảng chiều dãy hữu hạn phần tử có kiểu liệu Các phần tử mảng có chung tên phân biệt s

(42)

* Yêu cầu học sinh nghiên cứu sách giáo khoa hco biết cách tạo kiểu liệu mảng chiều ngôn ngữ lập tr×nh Pascal

- Tìm ví dụ để minh họa

- Gäi häc sinh kh¸c, Hái: ý nghÜa cđa lƯnh b¹n võa viÕt?

- Chiếu lên bảng số khia báo kiểu mang mét chiÒu

Type

Arrayr=array[1 200] of real; Arrayr=array[byte] of real;

Arrayb=array[-100 0] of boolean; - Hỏi: Những khai báo đúng?

* Yêu cầu học sinh cho biết cách khai bóa biến ví dụ khai báo biến mảng ứng với kiểu liệu vừa tạo

- Gäi häc sinh kh¸c, hái: ý nghÜa cđa lƯnh b¹n võa viÕt?

- Dung lợng nhớ biến a chiếm bao nhiêu?

- Chú ý cho học sinh cách đặt tên kiểu liệu tên biến, tránh nhầm lẫn * Giới thiệu cách tham chiếu đến phần tử mảng chiều Yêu cầu học sinh lấy ví dụ

* Giới thiệu đề

- Chiếu đề lên bảng

- Yêu cầu học sinh xác định liệu vào, liệu

- Hỏi: Nếu không sử dụng biến mảng chiều, ta giải đợc tốn khơng? Khó khăn khơng?

* Định hớng: Sử dụng kiểu mảng chiều để giải toán

- Yêu cầu học sinh khai báo kiểu mảng - Yêu cầu học sinh khia báo biến mảng

- Yêu cầu học sinh tìm nhiệm vụ cần giải

* Chia lớp thành nhóm Yêu cầu viết

ch-nh c kiu phần tử cách đánh số phần t ca nú

* Tham khảo sách giáo khoa trả lời - TYPE tên_km= Array[kieeru cs] Of kiểu_thành_phần;

- Ví dụ: Type mmc=array[1 100] of integer;

- T¹o mät kiĨu liệu có tên mmc, gồm 100 phần tử, cã kiĨu nguyªn

- Quan sát bảng hcọn khai báo Arrayr=array[1 200] of real;

Arrayb=array[-100 0] of boolean;

* Tham khảo sách giáo khoa trả lời VAR tên_biến:tên_km;

- VÝ dô : Var a:mmc;

- Khai báo biến mảng chiều

- a chiếm 200 byte nhớ

* Theo dõi hớng dẫn giáo viên độc lập suy nghĩ để trả lời

a[1] phần tử vị trí mảng a a[i] phần tử vị trí i mảng a * Quan sát đề bài, theo dõi yêu cầu cần giải dề

- Vào: số giá trị nhiệt độ ngày tuần

- Ra: Số ntb nhiệt độ trung bình tuần số nch số ngày có nhiệt độ cao nhiệt trung bỡnh

- Đợc

- Chơng tình dài dịng, khó sửa đổi * Theo dõi hớng dẫn giáo viên Type tuan=array[1 7] of real;

Var ndtuan : tuan;

- Nhập giá trị cho mảng a

- Tính trung bình cộng giá trị mảng

- Đếm số phần tử có giá trị lớn trungbình cộng có đợc

(43)

¬ng trình lên giấy bìa

- Thu phiếu trả lời, chiếu lên bảng Gọi học sinh nhóm khác nhận xét đánh giá * Chuẩn hóa chơng trình cho học sinh

tr×nh

- Báo cáo kết viết đợc

- Nhận xét, đánh giá bổ sung thiếu sót nhóm khỏc

* Quan sát ghi nhớ IV Đánh giá cuối

Nhng ni dung ó hc

- Cách tạo kiểu mảng chiều cách khia báo biến

TYPE tên_kiểu_mảng= Array[kiểu_chỉ_số] Of kiểu_thành_phần; VAR tên_biến:tên_kiểu_mảng;

- Tham chiu đến phần tử: Tên_biến[chỉ số] Câu hỏi tập nhà

- Viết chơng trình nhập vào mảng gồm n số nguyên( 1<=n<=100), số có giá trị tuyệt đối khơng uqá 300 Tính tổng giá trị phần tử có giá trị chia ht cho k

- trả lời câu hỏi 1_4, làm tập 5, 6, 7, sách giáo khoa, trang 79

Ngµy 02 / 11 /2008

TIếT 20: ppct

kiểu mảng biÕn cã chØ sè (tiÕt 2)

I Mơc tiªu. KiÕn thøc

- Biết cách sử dụng mạng chiều để lu trử giá trị dãy số - Biết cách tham chiếu tới phần tử mảng chiều cách linh hot

- Biết cáu trúc tạo kiểu mảng chiều cách khai báo biến kiểu mảng chiều Kĩ năng

- To c kiểu mảng chiều sử dụng biến mảng chiều ngơn ngữ lập trình Pascal để giải số tốn cụ thể

II §å dïng dạy học Chuản bị giáo viên.

- Máy chiếu Projector, máy vi tính để giới thiệu ví dụ minh họa Chuẩn bị học sinh.

S¸ch gi¸o khoa

III Hoạt động dạy - học. ổn định tổ chức

- Sè HS líp

- Sè Hs vắng

2 Kiểm tra cũ

Lồng vào dạy Nội dung

hớng dẫn giáo viên Hoạt động học sinh

b, Một số ví dụ

Bài1:Viết chơng trình nhập vào số nguyên dơng N dÃy số có N phần tửa1,a2,,an

Tìm phần tử lớn dÃy HÃy tìm input Output?

Hóy trỡnh ý tởng để giải toán này?

Hs nghiên cứu đề trả lời câu hỏi giáo viên

- Input: N vµ d·y sè a1, a2,…an

- Output: Giá trị lớn

(44)

HÃy trình bày thuật toán cho toán này?

Chia hs thành nhóm cho thảo luận tìm kết

Em hóy cho bit vit chơng trình phải dùng biến biến nào, khai báo nh nào?

H·y viết chơng trình trên?

Bài2: Viết chơng trình nhập vào dÃy số có N phần tử nguyên dơng từ A1, A2, AN HÃy xết dÃy số thành dÃy không giảm

Em hÃy cho biết dÃy số nh dÃy không giảm?

Hóy nêu ý tởng để giải toán này?

H·y trình bày thuật toán toán này?

HÃy viết chơng trình sử dụng ngôn ngữ Pascal?

Ta sử dụng biến biến nào?

vi từ [1; n] so sánh a[i] với max Nếu > thay max = a[i] Hs: trả lời

B1: NhËp N vµ d·y a1, a2, a3…an B2: i<- 2; max<-a1

B3: Nếu i>n thông báo max kết thúc B4: Nếu a[i] > max max<- a[i]

B5: i<-i+1; quay l¹i bíc

Hs chia nhãm vµ thơc hiƯn theo sù híng dẫn giáo viên

Hs c i din tr li

Hs trả lời

Ta dùng mạng rmột chiều có n phần tử, biến Max biến i làm số - khai báo nh sau:

Const n=100;

Var A : array[1 n] of Integer; I, max: Integer;

Chia thµnh tõng nhóm viết chơng trình

Hs nghiờn cu trả lời câu hỏi giáo viên

Hs: Dãy mà phần tử sau không nhỏ phần tử trớc

Hs: ta tiến hành so sánh phần tử kề phần tử sau mà nhỏ phần tử trớc hốn đổi vị trí cho khơng cịn hốn đổi kết thúc

Hs chia thành nhóm nghiên cứu viết thuật toán

HS:

Program cau2; Const N=100; Var tg,i: integer;

(45)

Sử dùng vòng lặp While Do hay For Do để viết chơng trình?

Hốn đổi ta viết câu lệnh nh nào? Yêu cầu học sinh nhận xét chỉnh sửa có lỗi

Bµi3: Viết chơng trình nhập vào số nguyên dơng N HÃy in N biểu diễn d-ới dạng nhị phân

Hãy nêu ý tởng để giải toán này?

để viết chơng trình ta phải sử dụng biến nào, khai báo biến đó?

Yêu cầu học sinh nhà viết chơng trình

Readln(N);

For i:=1 to N Read(a[i]); Tg:=0;

For i:=1 to N-1 For j:=i+1 to N If a[i] > a[j] then Begin

Tg:=a[i]; A[i]:=a[j]; A[j]:=tg; End;

End

Hs tìm hiểu đề nghiên cứu tìm hớng giải Hs thảo luận nhóm cữ đại diện trả lời TL: Lấy số chia cho lấy phần d lu vào mảng thơng kết thúc in ngợc kết

Hs: ta sử dung biến sau: I,n có kiểu nguyên

A: biến mảng để lu kết Cách khai báo:

Var i, n: Integer;

A: Array[1 10] of byte; IV Đánh giá cuối

Nhng ni dung ó hc

- Cách tạo kiểu mảng chiều cách khia báo biến

TYPE tên_kiểu_mảng= Array[kiểu_chỉ_số] Of kiểu_thành_phần; VAR tên_biến:tên_kiểu_mảng;

- Tham chiếu đến phần tử: Tên_biến[chỉ số] Câu hỏi tập nhà

- §äc trớc nội dung kiểu mảng hai chiều, sách giáo khoa trang 59

Ngµy 05 / 11 /2008 TIếT 21: ppct

kiểu mảng biến có sè (tiÕt 3) I mơc tiªu.

KiÕn thøc.

- Biết đợc kiểu liệu kiểu mảng hia chiều

- Biết đợc cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến phần tử mảng

(46)

- Tạo đợc kiểu mảng hai chiều khai báo biến mảng hai chiều trongngôn ngữ lập trình Pascal Sử dụng biến mảng để giải số toán cụ thể

II Đồ dùng dạy học

Chuẩn bị giáo viên.

- Máy vi tính, máy chiếu Projector, s¸ch gi¸o khoa, m¸y chiÕu Overhead, phiÕu häc tËp Chn bÞ cđa häc sinh.

- S¸ch gi¸o khoa

III Hoạt động dạy - học.

ổn định tổ chức

- Sè HS líp

- Sè Hs v¾ng

2 Kiểm tra cũ

Khai báo mảng chiều, Nêu cách tham chiếu tới phần tử mảng chiều Viết chơng trình nhập vào số nguyên dơng n dÃy số có n phần tử HÃy in hình số nguyên tố dÃy

3 Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

2 M¶ng hai chiỊu

a Xét Bài tốn: Viết chơng trịnh để in hình bảng cửu chơng có dạng nh sau:

1

2 10 12 14 16 18

3 12 15 18 21 24 27

4 12 16 20 24 28 32 36

5 10 15 20 25 30 35 40 45

6 12 18 24 30 36 42 48 54

7 14 21 28 35 42 49 56 63

8 16 24 32 40 48 56 64 72

9 18 27 36 45 54 63 72 81

- Hỏi: Sử dụng kiến thức mảng chiều, đa cách sử dụng kiểu mảng để lu trữ bảng cu chơng

- Với cách lu trữ nh ta phải khai báo biến mảng?

- Có khó khăn gì?

- Để khắc phục khó khăn này, ta xem bảng chiều phần tử, ta ghép mảng chiều thành mảng hai chiều

- Yêu cầu học sinh nhận xét m¶ng hai chiỊu

Hãy nêu định nghĩa mảng chiều? b, Khai báo mảng chiều

Hs mở SGK đọc nội dung toán

1 Chú ý theo dõi yêu cầu dẫn dắt giáo viên

- Sử dụng mảng chiêu, mảng lu hàng bảng

- Khai báo mảng chiều

- Khai báo nhiều biến, viết chơng trình nhập xuất liệu dài

- Nếu xem hàng mảng hai chiều phần tử ta nói mảng hai chiều mảng chiều mà phần tử mảng chiều

HS:- Mảng hai chiều bảng phần tử có kiểu liệu

(47)

Các yếu tố xác định mảng hai chiều - Hỏi: Để mô tả kiểu mảng hai chiều, ta cần xác định yếu tố nào? * Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cách tạo kiểu liệu mảng hai chiu

- Yêu cầu học sinh tìm ví dụ minh häa

- Gäi mét häc sinh kh¸c, hỏi: ý nghĩa lệnh mà bạn vừa viết?

* Yêu cầu học sinh cho biết cách khai báo biến ví dụ khia bóa biến mảng hai chiều ứng với kiểu liệu vừa tạo

c, Cách tham chiếu tới phần tử

* Giới thiệu cách tham chiếu đến phần tử mảng hciều Yêu cầu học sinh lấy ví dụ

* Giới thiệu đề - Chiếu đề lên bảng

- Yêu cầu học sinh xác định cách thức tổ chức liệu

- Yêu cầu học sinh nhiệm vụ bào toán cần giải

* Chia lớp thành nhóm Yêu cầu viết chơng trình lên giấy bìa

- Thu phiu tr li, chiếu lên bảng Gọi học sinh nhóm khác nhận xét đánh giá * Chuẩn hóa chơng trình cho học sinh cách chiếu chơng trình mẫu để học sinh quan sát thực chơng trình để học sinh thấy kết

* Chiếu chơng trình ví dụ 2, sách giáo khoa, trang 62 để học sinh quan sát

- Thực chơng trình để học sinh thấy c kt qu ca nú

- Giáo viên cần giải thích số chỗ học sinh cha hiểu yêu cầu học sinh nhà tìm hiểu thªm

quy tắc cho phép xác định tên kiểu mảng hai chiều, số lợng phần tử chiều, kiểu liệu phần tử, cách khai báo biến mảng cách tham gia chiếu đến phần tử mản

* Các yếu tố để xây dựng mảng hai chiều: - Tên kiểu mảng

- Số phần tử dòng, số phần tử cột

- Kiểu liệu chung phần tử * Tham khảo sách giáo khoa trả lời - TYPE tên_kmhc=Array[csd,csc] Of kiểu_thành_phần;

- VÝ dô: Type mhc=array[1 10,1 5] of integer;

- Lệnh dùng để tạo kiểu mảng hai chiều có tên mhc gồm 10 dịng cột, phần tử có kiểu liệu l integer

* Tham khảo sách giáo khoa trả lời - VAR tên_biến:tên_kmhc;

- Ví dụ: Vả a:mhc;

* Quan sát cấu trúc chung suy nghĩ tìm ví dụ

a[1,2] phần tử dòng số 1, cột số mảng a

a[i,j] phần tử dòng số i, cột sè j cđa m¶ng a

* Quan sát đề bài, theo dõi yêu cầu cần giải đề

- Dïng mét m¶ng hai chiỊu - Điền giá trị cho[i,j]=i*j

- Xuất giá trị a[i,j] theo dòng

* Tho lun theo nhóm để viết chơng trình - Báo cáo kết hoàn thành

- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác

* Ghi nhớ nội dung đợc chnh sa

* Quan sát chơng trình ý giải thích giáo viên

- Đặt số câu hỏi thắc mắc

IV Đánh giá cuối bài

Nhng ni dung ó hc

(48)

TYPE tên_kiểu_mảng=Array[kiểu_chỉ_số_dòng, kiểu_chỉ_số_cột] Of kiểu_thành_phần;

- Khai báo kiểu mảng chiều: VAR tên_biến:tên_kiểu_mảng;

- Tham chiu n tng phn tử: Tên_biến[chỉ_số_dòng, chỉ_số_cột] Câu hỏi tập v nh

- Làm tập số 8, 9, s¸ch gi¸o khoa trang 79, 80

- Xem tríc néi dung cđa bµi thùc hµnh 3, sách giáo khoa, trang 63

Ngày 10 / 11 /2008 TIếT 22: ppct

kiểu mảng biến cã chØ sè (tiÕt 4) I mơc tiªu.

KiÕn thøc.

Biết đợc cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến tng phn t ca mng

Kĩ năng.

- Rèn luyện kỉ sử dụng mảng chiều để lu trử liệu

- Tạo đợc kiểu mảng hai chiều khai báo biến mảng hai chiều ngơn ngữ lập trình Pascal Sử dụng biến mảng để giải số toỏn c th

II Đồ dùng dạy học

Chuẩn bị giáo viên.

- M¸y vi tÝnh, m¸y chiÕu Projector, s¸ch gi¸o khoa, m¸y chiÕu Overhead, phiÕu häc tËp Chn bÞ cđa häc sinh.

- S¸ch gi¸o khoa

III Hoạt động dạy - học.

ổn định tổ chức

- Sè HS líp

- Số Hs vắng

2 Kiểm tra cũ

Khai báo mảng hai chiều, Nêu cách tham chiếu tới phần tử mảng hai chiều Viết chơng trình nhập vào số nguyên dơng n,m ma trận có kích thớc nxm phần tử HÃy in hình số nguyên tố trong ma trận

3 Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

B, Mét sè ví dụ

Viết chơng trình nhập vào số nguyên K mảng hai chiều có N dòng M cột HÃy in số nhỏ K.

Hãy nêu ý tởng để giải toán trờn?

HÃy khai báo mảng hai chiều trên?

Ta xác định đợc bao nhiều dòng cột hay cha?

Hs nghiên cứu đề

Hs thảo luận trả lời câu hỏi

TL: B1: Nhập K nhập mảng hai chiều B2: Kiểm tra tất phần tử mảng phần tủe nhỏ in

(49)

HÃy viết chơng trình?

Các nhóm hÃy trình bày lời giải mình?

Yêu cầu học sinh khác nhận xét chỉnh sửa có sai sót

Câu2: Viết chơng trình nhập vào ma trận vuông có kích thứơc n n HÃy in ra tổng phần tử nằm đ-ờng chéo đđ-ờng chéo phụ.

Đối với toán ta khai báo biến nào?

Cách khai báo nh nào?

Nhng phn t nm đờng chéo có số dịng cột nh th no?

Đoạn chơng trình biểu diễm nh thÕ nµo?

Những phần tử nằm đờng chéo phụ có số dịng cột nh nào?

C¸ch khai b¸o nh sau: Const N=100;

M=100;

Var a: Array[1 N,1 M] of integer;

Häc sinh chia thµnh tõng nhãm vµ viÕt ch-ơng trình

C i din trỡnh by: Hs:

Program cau1; Const N=100; M=100; Var i,j:byte;

a: Array[1 N,1 M] of integer; Begin

Read(K);

For i:=1 to N For j:=1 to M Begin

read(a[i,j];

If a[i,j] < k then write(a[i,j]); End;

Readln End

HS nghiên cứu đề

Ta khai báo biến sau: - Biến mảng A hai chiều - i biến đếm số HS: Khai báo nh sau: Const n=100;

Var a: array[1 n,1 n] of integer; I: byte;

Hs: Cã chØ số dòng số cột Hs:

For i:=1 to N Do Write(A[i,j]);

(50)

Cho học sinh thảo luận để viết chơng trình

Yêu cầu nhóm lên trình bày thảo luận

Yêu cầu nhóm khác cho ý kiÕn vµ bỉ sung

Hs chia thành nhóm để thảo luận Cữ đại diện nhóm lên trình bày: Chơng trình:

Const n=100; Var i,j: byte;

A:array[1 n,1 n] of integer; Begin

For i:=1 to N For j:=1 to N

Readln(a[i,j]; For i:=1 to N

Write(a[i,i]; J:=n;

For i:=1 to N Begin

Write(a[i,j]; J:=j-1; End; Readln End

IV Cũng cố dặn dò

- V nh năm cách tham chiếu tới phần tử mảng chiều Biết áp dụng để giải tốn có sử dụng mảng

- Lµm tập sách giáo khoa tập

Ngµy 16 / 11 /2008 TIÕT 23: ppct

Bài tập

I mục tiêu.

KiÕn thøc.

- Biết đợc cách tạo kiểu mảng một, hai chiều, cách khai báo biến, tham chiếu đến phần tử mảng

Kĩ năng.

- To c kiu mng hai chiều khai báo biến mảng hai chiều ngôn ngữ lập trình Pascal Sử dụng biến mảng để giải số toán cụ thể

- ứng dụng mảng chiều để giải tốn tin học

II §å dïng dạy học

Chuẩn bị giáo viên.

- M¸y vi tÝnh, m¸y chiÕu Projector, s¸ch gi¸o khoa, m¸y chiÕu Overhead, phiÕu häc tËp Chuẩn bị học sinh.

- Sách giáo khoa

III Hoạt động dạy - học.

ổn định tổ chức

- Sè HS líp

(51)

2 KiĨm tra bµi cị Lång vµo bµi häc 3 Néi dung bµi míi

Hoạt động thầy Hoạt động trò 1 Phần lý thuyt

* Mảng chiều - Định nghĩa m¶ng

Yêu cầu hs nhắc lại định nhĩa mảng chiu?

- Cách khai báo mảng?

- Cách tham chiếu tới phần tử mảng? * Mảng hai chiều:

- Định nghĩa mảng hai chiều? - Khai báo mảng chiều?

- Cách tham chiếu tới phần tử mảng chiều?

2 Bài tập Bài1:

Viết chơng trình nhập vào dÃy số gồm 100 số hÃy in hình sè nguyªn tè d·y trªn

Sè cã tÝnh chất nh số nguyên tố?

HÃy nêu cách kiểm tra số nguyên tố?

Tỡm ý tng gii bi toỏn trờn?

Đối với toán dùng biến nào?

DÃy hữu hạn phần tử kiểu Có cách khao báo

Trực tiếp gián tiếp Cú pháp

Var <tên biến mảng>:array[chỉ số] of <kiểu liệu>;

Theo cú pháp sau: Tên mảng[chỉ số] Hs trả lời

Var <tên biến mảng>: Array[chỉ số] of <phần tử mảng>;

Cú pháp:

Tên biến mảng[chỉ số cđa phÇn tư]

Số có ớc khác

Ta lấy số chia liên tiếp cho 2,3,4 đến SQRT(số đó) chia hết kết luận khơng phải ngun tố tất khơng hết kết luận l nguyờn t

Duyệt tất phần tử kiểm tra có phải nguyên tố hay không, nguyên tố in không

(52)

HÃy viết chơng trình trên?

Cách khai báo?

Sử dụng câu lệnh cho thích hợp?

Dùng biến phụ j để kiểm tra

Yªu cầu nhóm khác cho ý kiến bổ sung

Bài2:

Viết chơng trình nhập vào mảng chiều có n dòng m cột Tìm in tổng số nguyên dơng

Hóy nờu ý tng gii bi toỏn ny?

Đối với toán ta sử dụng biến khai báo nh nào?

Yêu cầu hs chia thành nhóm thảo luận vòng 10 phút

Biến mảng A để lu dãy số Biến j để lu số chia

Hs chia thành nhóm thảo luận sau 10 phút cữ đại diện lên tr li

Chơng trình: Var i,j:integer;

A:array[1 100] of integer; Begin

J:=2;

For i:=1 to 100 readln(a[i]; For i:=1 to 100

If (a[i]=2) or (a[i]=3) then write(a[i]) Else

Begin J:=2;

While (j<=Int(SQRT(a[i]) and(a[i] mod j<>0 Do j:=j+1; If j<=Int(SQRT(a[i])) then write(a[i]); End;

readln End

Hs tìm hiểu toán

Cho số i j chạy kiểm tra số nguyên dơng cộng vào tổng S sau kiểm tra hết in tổng s hình

Hs: TL:

Ta dùng biến sau: I,j: để lu số

A: m¶ng chiỊu S: lu tỉng

Hs chia nhóm thảo luận cử đại diện tr li

Chơng trình: Var i,j: byte; S: integer;

A:array[1 n,1 n] of integer; Begin

S:=0;

(53)

Ta dùng câu lệnh lặp cho thích hợp?

Gọi nhóm khác nhận xét vµ bỉ sung?

Readln(a[i,j]; For i:=1 to N

For j:=1 to m

If a[i,j] >0 then S:=S+ a[i,j] ; Writeln(‘Tong cua nhung so nguyen duong la: s=’, S:4);

Readln End IV Cũng cố dặn dò

Nắm cách tham chiếu tới phần tử cách sử dụng mảng chiều cách thành thạo

V nh chun b bi thc hnh để chuẩn bị thực hành

Ngµy 20 / 11 /2008 TIÕT 24: ppct

Bµi thùc hµnh sè I mơc tiªu.

KiÕn thøc

- Củng cố lại kiến thức kiểu liệu mảng Kĩ

- Nâng cao kĩ sử dụng số lệnh kỉeu liệu mảng chiều lập trình, cụ thể:

+ Khai báo kiểu liệu mảng chiều + Nhập/xuất liệu cho m¶ng

+ Duyệt qua tất phần tử mảng để xử lí phần tử - Biết giải số toán thờng gặp:

+ Tính tổng phần tử thỏa mãn điều kiện + Đếm số phần tử thỏa mãn điều kiện + Tìm phần tử lớn nhất, nhỏ

Thái độ

- Góp phần rèn luyện tác phong, t lập trình: Tự giác, tích cực, chủ độngvà sáng tạo tìm kim kin thc

II Đồ dùng dạy học. Chuẩn bị giáo viên.

- Phũng máy tính, máy chiếu Projector để minh họa Chuẩn bị học sinh

- S¸ch gi¸o khoa

III Hoạt đông dạy - học. ổn định tổ chức

- Sè HS líp

- Số Hs vắng

2 Kiểm tra cũ

Kiểm tra thiết bị máy tính biên chế máy tính cho hs theo nhóm líp häc Néi dung thùc hµnh:

a Tìm hiểu, gõ chơng trình vào máy chạy thử: Program Sum1;

Uses Crt;

Const nmax:=100;

(54)

Var A:myarray; s, n, i, k:integer; Begin

Clrscr; Randomize; Write(‘nhap n=’); readln(n);

For i:=1 to n a[i]:=random(300) – random(300); For i:=1 to n Write(A[i]:5);

Writeln;

Write(;nhap k=’); readln(k);

s:=0;

For i:=1 to n

if a[i] mod k=0 then s:=s+a[i]; Write(‘tong can tinh la’,s);

readln; End

b Thêm lệnh vào chơng trình nhằm sửa đổi chơng trình câu a dể chơng trình thực đếm số dơng số lợng số âm mảng

Posi, neg:integer; Posi:=0;neg:=0;

If a[i] >0 then Posi:=posi+1 Else if a[i] <0 then neg:=neg+1; Write(pói:4,neg:4);

c Các bớc tiến hành:

hớng dẫn giáo viên Hoạt động học sinh

tìm hiẻu chơng tình câu a, sách giáo khoa, trang 63 chạy thử chơng trình - Chiếu chơng trình lên bảng

- Hỏi: Khai báo Uses CRT; có ý nghĩa gì?

- Hỏi: Myarray tên kiểu liệu hay tên biến?

- Hỏi: Vai trò nmax n có khác nhau?

- Hỏi: Những dòng lệnh dùng để tạo biến màng a?

- Thực chơng trình để học sinh thấy kết

- Hái: LƯnh g¸n a[i]:=random(300) - random(300) cã ý nghÜa g×?

- Hái: LƯnh Fori:=1 to n Write(A[i]:5);cã ý nghÜa g×?

- Hái : LÖnh For – Do cuèi cïng thùc

Quan sát, ý trả lời

- Khai báo th viện chơng trình Crt để sử dụng đợc thủ tục Clrscr;

- Tên kiểu liệu

- nmax số phần tử tối đa chứa biến mảng a.n số phần tử thực tế a

- Lệnh khai báo kiểu khai báo biến

- Quan sát chơng trình thực kết hình

- Lệnh sinh ngẫu nhiên giá trị cho mảng a từ - 299 đến 299

- In hình giá trị phần tử mảng a

(55)

hiện nhiệm vụ gì?

- hỏi: Lệnh s:=a+a[i]; đợc thựchiện lần?

- Thực lại chơng trình lần cuối để học sinh thấy kết

Sửa chơng trình câu a để đợc chơng trình giải toán câu b

- Chiếu lên hình lệnh cần thêm vào chơng tình câu a

- Hỏi: ý nghÜa cđa biÕn Posi vµ neg? - Hái: Chøc lệnh:

If a[i] >0 then posi:=posi+1

else if a[i] <0 then neg:=neg+1; - Yêu cầu học sinh thêm vào vị trí cần thiết để chơng trình đếm đợc số

- Yêu cầu học gõ nội dung lu lại với tên caub.pas thực chơng trình báo cáo kết qu¶

- Có số lần số phần tử a[i] chia hết k

- Quan sát giáo viên thực chơng trình kết hình

Quan sát ý theo dõi câu hỏi giáo viên:

- Quan sát lệnh suy nghĩ vị trí cần sửa chơng trình câu a

- Dùng để lu số lợng đếm đợc - Đếm số dơng đếm số õm

- Chỉ vị trí cần thêm vào chơng trình

- Lu chơng trình Thực chơng trình thông báo kết

IV Đánh giá cuối bài Những nội dung học Một số thuật toán bản:

+ Tìm tổng phần tử thỏa mãn điều kiện + Đếm số phần tử thỏa mãn điều kiện + Tìm phần tử lớn nhất, nhỏ

C©u hỏi bìa tập nhà

- Viết chơng trình nhập mảng chiều A[1 20] nhập số x Đếm số lợng số A có giá trị x

- Xem nội dung thực hành số 4, sách giáo khoa, trang 65

Ngµy 22 / 11 /2008 TIÕT 25: ppct

Bµi thùc hµnh sè 3(tt) I mơc tiªu.

KiÕn thøc

- Củng cố lại kiến thức kiểu liệu mảng chiều Kĩ

- Nâng cao kĩ sử dụng số lệnh kiểu liệu mảng chiều lập trình, cụ thĨ:

- Biết giải số tốn thờng gặp: Thái độ

- Góp phần rèn luyện tác phong, t lập trình: Tự giác, tích cực, chủ độngvà sáng tạo tìm kim kin thc

II Đồ dùng dạy học. Chuẩn bị giáo viên.

- Phũng máy tính, máy chiếu Projector để minh họa Chuẩn bị học sinh

- S¸ch gi¸o khoa

(56)

- Sè HS líp

- Số Hs vắng

2 Kiểm tra cũ

Kiểm tra thiết bị máy tính biên chế máy tính cho hs theo nhóm líp häc Néi dung thùc hµnh

- Viết chơng trình tìm phần tử có giá trị lớn mảng in hình số giá trị phần tử tìm đợc Nếu có nhiều phần tử có giá trị lớn đa phần tử có số nhỏ nht

a Chơng trình gõ vào máy chạy thö program tim_max;

const Nmax=100;

A:array[1 Nmax] of integer; N,i,j:integer;

Begin

Writeln(‘nhap so luong phan tu cua day’); Readln(N);

For i:=1 to N Do

Begin

Write(‘phan tu thu ‘,i,’=’); Readln(a[i]);

End; J:=1;

For i:=1 to N Do if A[i]>a[j] then j:=i; Write(‘chi so la:’,j,’gia tri la:’,a[j]:4); Readln

End

b Các bớc tiến hành:

hng dn ca giỏo viên Hoạt động học sinh

láy ví dụ thực tiễn: Ngời mù tìm viên sỏi có kích thớc lớn dãy viên sỏi để gợi ý cho học sinh thuật tốn tìm giỏ tr ln nht

- Yêu cầu: Nêu thuật toán tìm phần tử có giá trị lớn

Tìm hiểu chơng trình tìm số giá trị lớn

- Chiếu chơng tình ví dụ, sách giáo khoa, trang 64

- Hỏi: Vai trò biến j chơng trình?

- Hỏi: Nếu muốn tìm phần tử nhỏ nhất, cần sửa chỗ nào?

- Hỏi: Nếu muốn tìm phần tử lớn với số lớn ta sửa chỗ nào? Đặt yêu cầu mới: Viết chơng trình đa số phần tử có giá trị lớn

- Hỏi: Cần giữ lại đoạn chơng trình tìm giá trị lớn không?

Theo dõi vị trí giáo viên

- So sánh lần lợt từ trái sang phải, giữ lại chØ sè cđa phÇn tư lín nhÊt

Quan sát chơng trình, suy nghĩ trả lời

- Giữ lại số phần tử có giá trị lớn

- PhÐp so s¸nh a[i] <a[j]

- Chuyển thứ tự duyệt từ n-1 vè Theo dõi yêu cầu, suy nghĩ câu hỏi định hớng để viết chơng trình

(57)

- Hỏi: Cần thêm lệnh nữa?

- Hỏi: Vị trí thêm lệnh đó?

- Yêu cầu: Viết chơng trình hoàn thiện

- Yêu cầu học sinh nhập liệu vào giáo viên báo kết

- Đánh giá kết học sinh

- Lệnh để in số có giá tị giá trị lớn tìm đợc

- Sau tìm đợc giá trị lớn - Soạn chơng trìnhvào máy Thực chơng trình thơng bỏo kt qu

- Nhập liệu vào thông báo cho giáo viên liệu

IV Đánh giá cuối bài Những nội dung học Một số thuật toán bản:

+ Tìm tổng phần tử thỏa mãn điều kiện + Đếm số phần tử thỏa mãn điều kiện + Tìm phần tử ln nht, nh nht

Câu hỏi bìa tập nhà

- Xem nội dung thực hành số 4, sách giáo khoa

Ngµy 25 / 11 /2008 TIÕT 26: ppct

Bài thực hành số I mục tiêu

KiÕn thøc

- Củng cố lại kiến thức lập trình với kiểu liệu mảng - Làm quen với thuật toán xp n gin

- Rèn luyện kĩ sử dụng kiểu liệu có cấu trúc, kĩ diễn đạt thuất tốn chơng trình sử dụng liệu kiểu mảng

- Rèn luyện kĩ nhận xét, phân tích đề xuất cách giải tốn cho chơng trình chạy nhanh

Thái độ

- Tự giác, chủ động thực hành II Đồ dùng dạy học

Chn bÞ cđa giáo viên

- Phũng mỏy vi tớnh, mỏy chiếu Projedtor để hớng dẫn Chuẩn bị học sinh

- Sách giáo khoa, chơng trình đợc viết sẵn III Hoạt đông dạy - học.

1 ổn định tổ chức

- Sè HS líp

- Sè Hs v¾ng

2 KiĨm tra cũ

Kiểm tra thiết bị máy tính biên chế máy tính cho hs theo tõng nhãm líp häc Néi dung thùc hµnh

a Nội dung:

Bài toán 1: Viết chơng trình xếp phần tử mảng theo thứ tự không giảm

- Chơng trình minhhọa:

Uses CRT;

Const nmax=250;

type arrint=array[1 nmax] of integer; Var n, i, j, y:integer;

(58)

Begin clrscr; Randomize; Write(‘nhap n=’); Readln(n);

For i:=1 to n a[i]:=random(300) - random (300); For i:=1 to n write(a[i]:5);

Writeln;

For i:=n dowto

For i:=1 to i –

If a[i] >a[i+1] then Begin t:=a[i]; a[i]:=a[i+1]; a[i+1]:=t; End; Writeln(‘day so sau sap xep’); For i:=1 to n write(a[i]:7); Writeln;

readln; End

- Yêu cầu: Soan chơng trình vào máy, chạy thử với giá trị khac n Rút nhận xét thời gian thực hcơng trình

b Các bớc tiến hành:

hng dn ca giáo viên Hoạt động học sinh

Gợi ý cho học sinh thuật toán xếp tăng dÇn

- LÊy mét vÝ dơ thùc tiƠn: Ngời mù xếp dÃy viên bi theo kích thớc không giảm

- Yờu cu: Vch bớc để xếp phần tử mảng khơng giảm

T×m hiĨu chơng trình ví dụ, sách giáo khoa, trang 65

- Chiếu chơng trình ví dụ lên bảng - Hỏi: Vai trò biến i, j chơng trình? Mỗi vòng lặp For đoạn chơng trình xÕp cã ý nghÜa g×?

- Hái: Ba lƯnh tg:=a[i]; a[i]:=a[i+1]; a[i+1]:=tg; cã ý nghÜa g×?

- Thực chơng trình, nhập liệu để học sinh thấy kết chơng trình

- Hỏi: Chơng trình làm cơng vịêc gì? Sửa chơng trình để giẩi toán câu b

- Đặt yêu cầu mới: Khai báo thêm biến

CHú ý theo dõi dẫn dắt giáo viên để trả lời câu hỏi

- Lần lợt lấy phần tử từ trái qua ph¶i

- Cứ phần tử ta đem so sánh lần lợt với phần tử đứng bên phải - Nếu nhỏ đổi ch

Quan sát chơng trình, suy nghĩ câu hỏi trả lời

- Biến i, j dùng làm số

- Mỗi vòng lặp For ứng với phép duyệt lần lợt

- Dùng để đổi giá trị hai phần tử a[i] với a[i+1]

- Quan s¸t gi¸o viên thực chơng trình

- Chơng trình xếp dÃy số theo thứ tự không giảm

Quan sát yêu cầu mới, ý định hớng giải giáo viên

(59)

nguyên Dem bổ sung vào chơng trình đoạn lệnh cần thiết để biến Dem tính số lần thực tráo đổi thuật tốn In kết tìm đợc hình

- Hỏi: Đoạn chơng trình dùng để thực tráo đổi giá trị?

- Yêu cầu học sinh viết lệnh để đếm số lần tráo đổi

- Hỏi: Lệnh đợc viết vị chơng trình?

- Yêu cầu học sinh soạn chơng trình?

- Yêu cầu học sinh nhập liệu vào giáo viên thông báo kết

- Đánh giá kết học sinh

tg:=a[i];a[i]:=a[i+1];a[i+1]:=tg; - Dem := Dem+1;

- Ngay sau đoạn tráo đổi

- Soạn chơng trình vào máy, thực chơng trình thông báo kết

- Nhập liệu theo yêu cầu giáo viên, thực chơng trình thông báo kết sau thực

IV Đánh giá cuối bài Những nội dung học - Thuật toán xếp đơn giản

- Một toán có nhiều cách viết thành chơng trình Cần chọn cách có số phép tính

Câu hỏi bµi tËp vỊ nhµ

- Xem lại tất kiến thức học, bao gồm: Lệnh bản, lệnh điều khiển, kiểu liệu bản, kiểu liệu có cấu trúc

(60)(61)

Ngµy 03 / 12 /2008 TIÕT 27: ppct

Bài thực hành số I mục tiêu

KiÕn thøc

- Cñng cè lại kiến thức lập trình với kiểu liệu mảng chiều - Cách tham chiếu tới phân tử mảng chiều

- Làm quen với thuật toán Kĩ

- Rốn luyn k nng s dng kiểu liệu có cấu trúc, kĩ diễn đạt thuất tốn chơng trình sử dụng liệu kiểu mảng

- Rèn luyện kĩ nhận xét, phân tích đề xuất cách giải tốn cho chơng trình chạy nhanh

Thái độ

- Tự giác, chủ động thực hành II Đồ dùng dạy học

Chuẩn bị giáo viên

- Phũng mỏy vi tính, máy chiếu Projedtor để hớng dẫn Chuẩn bị học sinh

- Sách giáo khoa, chơng trình đợc viết sẵn III Hoạt đơng dạy - học.

1 ổn định tổ chức

- Sè HS líp

- Sè Hs v¾ng

2 KiĨm tra bµi cị

KiĨm tra thiết bị máy tính biên chế máy tính cho hs theo tõng nhãm líp häc Néi dung thùc hµnh

Cho mảng A gồm n phần tử Viết chơng trình tạo mảng B[1 n], B[i] tổng giá trị i phần tử u tiờn ca mng A

Chơng trình minh häa: Const nmax=100;

Type myarray=array[1 nmax] of integer; Var n, i, j:integer;

a,b:arrint; Begin

Randomize; Write(‘nhap n=’); Readln(n);

For i:=1 to n a[i]:=random(300) – random(300); For i:=1 to n write(a[i]:5);

Writeln;

For i:=1 to n Begin B[i]:=0;

For j:=1 to i B[i]:=B[i]+A[j]; End;

For i:=1 to n write(B[i]5); Readln;

End

(62)

hớng dẫn giáo viên Hoạt động học sinh Xác định toán

- Chiếu đề lên bảng

- Yêu cầu: Xác định liệu vào, liệu ra?

- Gợi ý để học sinh đề xuất thuật tốn thơ

giới thiệu chơng trình cha cải tiến - Chiếu chơng trình diễn đạt thuật tốn - Thực chơng trình để học sinh biết thời gian thực chơng trình kết chơng trình

- Hỏi: Trong chơng trình phải thực hiên phÐp to¸n céng?

- Hỏi: Có cách để cải tiến?

- Lệnh đợc thay lệnh ch-ơng trình? Viết vị trí nào?

Yêu cầu: Viết chơng trình hoàn thiện

Tiểu kết: Cùng toán, có nhiều cách giải khác Ngời lập trình cần chọn cách cho máy thực nhanh

Quan sát đề trả lời câu hỏi

- Vào: Mảng A gồm n phần tử - Ra: Mảng B gồm n phần tử - Tại vị trí i ta tính tổng giá trị phần tử từ đến i

Quan sát chơng trình bảng - Quan sát giáo viên thực hiện, nhận xét thời gian thực chơng trình - Phải thực n(n+1)/2 phép cộng - Để tính bớc thứ i, ta sử dụng kết tính bớc thứ i –

B[i]:=B[i-1]+A[i]; - Thay đoạn lệnh

For j:=1 to i B[i]:=B[i]+A[j];

Soạn chơng trình vào máy, thực chơng trình thông báo kết

- NhËn xÐt vỊ thêi gian thùc hiƯn cđa ch¬ng trình so với chơng trình trớc cải tiến

IV Đánh giá cuối Những nội dung học - Thuật toán xếp đơn giản

- Một toán có nhiều cách viết thành chơng trình Cần chọn cách có sè phÐp tÝnh Ýt nhÊt

C©u hái vµ bµi tËp vỊ nhµ

- Xem lại tất kiến thức học, bao gồm: Lệnh bản, lệnh điều khiển, kiểu liệu bản, kiểu liệu có cấu trúc

(63)

Ngµy 06 / 12 /2008 TIÕT 28: ppct

Kiểu liệu xâu (tiết1) I Mục tiêu

KiÕn thøc.

- Biết đợc kiểu liệu mới, biết đợc khái niệm kiểu xâu

- Phân biệt đợc giống khác kiểu mảng kí tự với xâu kí tự

- Biết đợc cách khai báo biến, nhập xuất liệu, tham chiếu đến kí tự xâu - Biết phép toán liên qua đến xâu

- Khai bỏo c biến kiểu xâu ngơn ngữ lập trình Pascal Sử dụng biến xâu phép toán xâu để giải tốn đơn giản

II §å dùng dạy học. Chuẩn bị giáo viên

- Máy vi tính, máy chiếu Projector để giới thiệu ví dụ Chuẩn bị học sinh

- S¸ch gi¸o khoa

III Hoạt đơng dạy - học. ổn định tổ chức

- Sè HS líp

- Sè Hs v¾ng

2 Kiểm tra cũ Lồng vào dạy Các bớc tiến hành:

hng dn ca giỏo viờn Hoạt động học sinh

T×m hiĨu ý nghÜa cđa x©u kÝ tù

- Chiếu đề toán đặt vấn đề: Viết chơng trình nhập họ tên 30 học sinh lớp

- Hái: ta sÏ chän kiĨu d÷ liệu nh nào? Khai báo biến nh nào?

- Yêu cầu học sinh: Viết đoạn lệnh để nhập xuất liệu cho phần tử

- Hỏi: Có khó khăn gặp phải? - Dẫn dắt: Cần có kiểu liƯu míi cho phÐp ta nhËp/ xt d÷ liƯu cho xâu lệnh

Tìm hiểu kiểu xâu

- Chiếu lên bảng cách khia báo biến xâu ngôn ngữ lập trình Pascal - Hái: ý nghÜa cña tõ String, [n]

- Hỏi: Khi khai báo không có[n] số lợng kí tự tối đa bao nhiêu?

- Yêu cầu học sinh cho ví dụ xâu kí tự

- Hỏi: Xâu có kÝ tù?

- Diễn giải: Mỗi kí tự đợc gọi phần tử xâu Số lợng kí tự xâu đợc gọi độ dài ca xõu

Quan sát, suy nh\ghĩ tr¶ lêi

- Kiểu mảng chiều gồm 30 kí tự - Khai báo biến mảng A để lu họ tên học sinh

Readln(A[1]0; Readln (A[2]) Readln(A[3]0; Readln (A[4]);

- Chơng trình đợc viết dài dịng Khi nhập liệu, phải thực gõ nhiều phím

Quan s¸t cÊu tróc khai b¸o tham khảo sách giáo khoa

- String tên kiểu xâu

- [n] giá trị quy định số lợng kí tự tối đa mà biến xâu chứa

- Số kí tự tối đa 255

(64)

- Hái: X©u chØ gåm mét kÝ tự trống đ-ợc viết nh nào? Số lợng kí tù bao nhiªu?

- Hỏi: Xâu rỗng đợc viết nh nào? Số lợng kí tự bao nhiờu?

Nhập/xuất liệu cho biến xâu ngôn ngữ Pascal

- Giới thiệu cấu tróc chung cđa thđ tơc nhËp/xt d÷ liƯu

- Yêu cầu học sinh tìm ví dụ cụ thể - Hái: Khi viÕt lƯnh nhËp/xt d÷ liƯu cho biến xâu, có khác so với biến mảng c¸c kÝ tù

- Dẫn dắt: Ta sử dụng lệnh gán để nhập giá trị cho bin xõu Cu trỳc chung:

Tên_biến_xâu:=hằng_xâu;

- Yêu cầu học sinh tìm ví dơ thĨ

Tham chiếu đến kí tự xâu - Giới thiệu cấu trúc chung

- Hỏi: Có giống khác so với cách tham chiếu đến phần tử ca mng

- Yêu cầu học sinh tìm mét vÝ dơ KiĨm tra kiÕn thøc

- ChiÕu néi dung bµi tËp kiĨm tra kiÕn thøc:

Var st:string[1]; c:char; Begin

c:=st[1]; {1} c:=st; {2} End

- Hỏi: Trong hai lệnh {1} {2}, Lệnh đúng?

- Thực chơng trình để học sinh tự kiểm nghiệm suy luận

6 gợi nhớ phép toán học

- Hỏi: Hãy nhắc lại phép toán học kiểu liệu chun

7 Tìm hiểu chức số phép toán kiểu xâu qua số ví dụ - Chiếu chơng trình ví dụ:

Var st:string; Begin

st:=’Ha’+ ‘Noi’; Write()st ;

readln; End

- X©u cã kí tự, dấu cách kí tự

- Kí hiệu xâu gồm kí tự trống ‘ ’ Xâu nà có độ dài

- Kí hiệu xâu rỗng ‘ ’ Xâu có độ dài

Quan sát bảng để trả lời

- VÝ dô: Readln(ho ten);

- VÝ dô: Write(‘ho ten’,hoten);

- ViÕt mét lƯnh nhËp nguyªn cho xâu Viết lệnh gọn hơn, CHơng trình gọn

- VÝ dô:St:=’HA NOI’;

Quan sát suy nghĩa để trả lời

- Gièng cÊu tróc chung tham chiÕu tªn biÕn[chØ sè]

- VÝ dơ: st[2]

Quan sát chơng trình bảng độc lập suy nghĩ

- Lệnh {1}

- LƯnh {2} sai kh«ng thĨ gán xâu cho kí tự

6 Chú ý theo dõi, suy nghĩ trả lêi - PhÐp to¸n sè häc

- PhÐp to¸n so s¸nh - PhÐp to¸n logic

Quan sát ví dụ, suy nghĩ trả lời - Quan sát chơng trình

(65)

- Hỏi: Kết chơng trình in hình?

- Thc hin chng trỡnh để học sinh thấy kết

- Yªu cầu học sinh tìm số ví dụ khác

- Hỏi: Chức phép cộng? - Giới thiệu thêm số ví dụ khác yêu cầu học sinh cho biết kết

st:= ‘Ha’ + ‘Noi’; st:= ‘Ha ’+ ‘Noi’; st:= ‘ ’ + ‘Noi’;

st:= ‘Ha Noi’ + ‘ViÖt’ + Nam; - Chiếu chơng trình ví dụ phép so sánh xâu

Var bo:boolean; Begin

bo:= ‘AB’ < ‘AC’; Write(bo);

readln; End

- Hỏi: Kết chơng trình in hình?

- Thc hin chng trỡnh để học sinh thấy kết

- Hỏi: Cịn có phép so sánh nữa? - Chiếu ví dụ phép so sánh yếu cầu học sinh cho kết phép so sánh

‘AB’ < ‘ABC’ ‘AC’ < ‘ABC’

- Lu ý cho học sinh: Một xâu có độ dài nhỏ lớn (>) xâu có độ dài lớn

- KÕt qu¶ cho ta: st= ‘HA NOI’

- Quan s¸t kết chơng trình

- Ví dơ: st:= ‘HA NOI’ + ‘Co ho GUOM’ KÕt qu¶:

st= ‘HA NOI co ho GUOM’

- Là phép toán nối xâu thứ hai vào cuối x©u thø nhÊt

st:= ‘Ha Noi’; st:= ‘Ha Noi’; st:= ‘ Ha Noi’;

st:= ‘Ha Noi ViƯt Nam’;

- Quan sát chơng trình để dự tính kết

- Kết là: TRUE

- Quan sỏt kt chơng trình để kiểm chứng suy luận

- Cã c¸c phÐp <, <=,>=, <>, =

- KÕt qu¶ True - KÕt qu¶: False IV Đánh giá cuối

Nhng nội dung học

- Khai báo biến: VAR tên_biến: STRING[độ dài lớn xâu]; - Nhập xuất giá trị cho biến xâu: read/readln(); write/writeln(); - Tham chiếu đến kí tự xâu: tên_biến[chỉ số]

- Phép ghép xâu: Kí hiệu là: +, Đợc sử dụng để ghép nhiều xâu thành xâu - Các phép so sánh: =, <>, >, <, <=, >=: thực việc so sánh hai xâu

Câu hỏi tập nhà

- Xem phần kiến thức lí thuyết cịn lại bìa, bao gồm hàm thủ tục liên quan đến xâu, sách giáo khoa, trang 70 – 71

Ngµy 09 / 12 /2008 TIÕT 29: ppct

Kiểu liệu xâu (tiết 2) I Mơc tiªu

(66)

- Biết đợc lợi ích hàm thủ tục liên uqna đến xâu ngơn ngữ lập trình Pascal

- Nắm đợc cấu trúc chung chức số hàm thủ túc liên quan đến xâu ngơn ngữ lập trình Pascal

- Nhn bit v bc u s dụng đợc số hàm thủ tục để giải số tập đơn giản liên quan

II Đồ dùng dạy học Chuẩn bị giáo viên

- Mỏy vi tớnh, mỏy chiếu Projector để giới thiệu ví dụ, sách giáo viên Chuẩn bị học sinh

- S¸ch gi¸o khoa

III Hoạt động day – học ổn định tổ chức

- Sè HS líp

- Sè Hs v¾ng

2 KiĨm tra cũ Lồng vào dạy Các bớc tiÕn hµnh:

hớng dẫn giáo viên Hoạt động học sinh

giíi thiƯu cÊu tróc chung hàm length(st) lên bảng

- Hỏi: ý nghÜa cđa Length vµ cđa st? - ChiÕu chơng trình ví dụ:

Var st:tring; Begin

st:= ‘ha Noi’; Write(length(st)); readln;

End

- Hỏi: Kết chơng tình in hình?

- Thc hin chơng trình để học sinh thấy kết

- Hỏi: Chức hàm length() gì?

- Chiếu đề tập ứng dụng: Viết ch-ơng trình nhập xâu, in hình số kí tự ‘a’ có xâu

Giíi thiƯu cÊu tróc chung cđa hµm Upcase(ch)

- ChiÕu chơng trình ví dụ: Var ch:char;

Begin ch:= ‘h’;

Write(upcase(ch)); readln;

End

- Hỏi: Kết chơng trình in hình?

Quan sát cấu trúc chung

- Length: Là tên hàm, có nghĩa độ dài, st: biểu thức xâu kí tự

- Quan sát chơng trình để dự tính kết

- KÕt :

- Quan sát kết chơng trình - Hàm cho số lợng kí tự xâu st

Quan sát cÊu tróc chung cđa hµm Upcase

- Quan sát chơng trình để dự tính kết

(67)

- Thực chơng trình để học sinh thấy kết

- Hỏi: Chức hàm upcase()? - Chiếu tập ứng dụng: Viết chơng trình nhập xâu, in hình xâu dạng in hoa

giíi thiƯu cÊu tróc chung cđa hµm Pos(s1, s2)

- Chiếu chơng trình ví dụ: Var vt:byte;

Begin

vt:=Pos(‘cd’, ‘abcdefcd’); Write(vt);

readln; End

- Hái: Kết chơng trình in hình?

- Thực chơng trình để học sinh thấy kt qu

- Hỏi: Chức hàm Pos?

- Thay tham sè cđa hµm Pos ch-ơng trình Pos(k, abc) Hỏi kết hàm bao nhiêu?

- Chiếu tập ứng dụng: Viết chơng trình nhập vào xâu st Xét xem xâu có dấu cách hay không?

- Hỏi: Có cách giải khác?

Giíi thiƯu cÊu tróc chung cđa hµm copy(st, vt, n)

- Chiếu chơng trình ví dô: Var st:string;

Begin

st:=copy(‘bai tap’, 3, 4); Write(st);

readln; End

- Hỏi: kết chơng trình in hình?

- thc hin chng trỡnh học sinh thấy kết

- Hái: Chøc hàm copy?

- Thay tham số hàm copy chơng trình ví dụ nh sau hỏi kết in hình:

- Thực chơng trình để học sinh

- Quan sát kết chơng trình

- Cho giá trị chữ in hoa cña ch Var st:string;

Begin readln(st);

For i:=1 to length(st) write(upcase(st[i])); End

Quan sát cấu trúc chung hàm Pos ví dụ để biết chức

- Quan sát chơng trình để dự tính kết

- KÕt là:

- Quan sát kết hcơng trình

- Hàm cho giá trị số nguyên vị trú xâu st2 xâu st2

- Bằng không

Var st:tring; Begin

readln(st);

if pos(‘ ’, st) <>0 then write(‘co’) else write(‘khong’);

End

- Có thể sử dụng For để tìm dấu cách xâu

Quan sát cấu trúc chung hàm coppy ví dụ để biết chức

- Quan sát chơng trình để dự tính kết

- Kết là: i ta

- Quan sát kết chơng trình - Hàm cho giá trị xâu kí tự đợc lấy xâu st, gồm n kí tự bắt đầu vị trí vt

- Quan sát kết chơng trình để kiểm nghiệm suy luận

(68)

thÊy kÕt qu¶

Giíi thiƯu cÊu tróc chung cđa thđ tơc delete(st, vt, n);

- Hỏi: Kết chơng trình in hình?

- Thc hin chng trỡnh học sinh thấy kết

- Hái: Chøc thủ tục delete();

- Thay lệnh gán st:= Ha Noi; thủ tục xóa lệnh sau hỏi kết in hình

st:=’ abc’; Delete(st,1,5); st:=’ abc’; Delete(st,5,2); st:=’ abc’; Delete(st,1,0);

- ChiÕu bµi tËp vÝ dơ: ViÕt chơng trình nhập xâu xóa dấu cách đầu xâu

6 Giới thiệu cấu trúc chung cđa thđ tơc Insert(st1, st2, vt);

- Hỏi: Kết chơng trình in hình?

- Thực chơng trình để học sinh thấy kết

- Hỏi chức thủ tục insert(); Xác định toán

- Chiếu nội dung để lên bảng - Xác định liệu vào, liệu - Hỏi: Các nhiệm vụ giải tốn này?

- Hái: bµi nµy, ta cần sử dụng hàm thủ tục nào?

Chia lớp làm nhóm Yêu cầu viết chơng trình lên bìa

- Thu phiu trả lời Chiếu kết lên bảng Gọi học sinh nhóm khác nhận xét, đánh giá bổ sung

Chiếu chơng trình mẫu giáo viên viết để xác hóa cho học sinh

delete vµ c¸c vÝ dơ

- Quan sát kết hcơng trình

- Thủ tục thực việc xóa biến xâu st gồm n kí tự, vị trí vt

st:= ; xâu rỗng st:= ‘abc’;

st:= ‘abc’; Var st:string; Begin

readln(st);

While st[1]= ‘ ’ delete(st, 1, 1); Writeln(st);

readln; End

- KÕt qu¶ st2=’ Ha Noi’

- Quan sát kết chơng trình Quan sát suy nghĩ để tr li

- Vào: Một xâu kí tự

- Ra: Một xâu có kí trắng hai từ

- Xóa dấu cách thừa đầu xâu cuối xâu

- Xóa dấu cách thừa Giữa hai tõ - Hµm Pos(), thđ tơc delete();

2 Thảo luận theo nhóm để viết chơng trình

- Thông báo kết

- Nhận xét bổ sung thiếu sót nhóm khác

Quan sát ghi nhớ

IV Đánh giá cuối

Nhng hm v th tục liên quan đến xâu - Thủ tục Delete(st, vt,n);

- Thđ tơc Insert(st1, st2, vt); - Hµm Copy(st, vt,n)

- Hµm Length(st) - Hµm Pos(st1, st2) - Hµm UpCase(ch)

(69)

- Giải tập số 10 trang 80

- Viết chơng trình nhập xâu In hình sỗ từ có xâu - Xem phần nội dung thực hành số 5, sách giáo khoa, trang 73 - Chuẩn bị số tập để thực hành

(70)

Ngµy 12 / 12 /2008 TIÕT 30: ppct

bài tập

I Mục tiêu. Kiến thức

- Củng cố lại cho học sinh kiến thức liên quan đến tổ chức rẽ nhánh lặp : Cấu trúc lặp, sơ đồ thực hiện, thực máy gặp lệnh lặp

- Rốn luyn k nng vận dụng linh hoạt công việc lựa hcọn cấu trúc rẽ nhánh cấu trúc lặp phù hợp để giải toán đặt

Thái độ

- Tự giác tích cực, chủ động giải tập II Đồ dùng dy hc.

2 Chuẩn bị giáo viên

- Máy chiếu Projector, máy vi tính để giới thiệu ví dụ minh họa, số chơng trình mẫu Chuẩn bị học sinh

- S¸ch gi¸o khoa

III Hoạt động dạy - học. ổn định tổ chức

- Sè HS líp

- Sè Hs v¾ng

2 KiĨm tra cũ

Lồng vào dạy Nội dung bµi míi

hớng dẫn giáo viên Hoạt ng ca hc sinh

Câu1: Viết chơng trình nhập vào xâu hÃy in hình xâu ngợc lại

Đối với toán ta sử dụng biến nào?

Ta khai báo nh nào?

ý tởng để giải toán này? Yêu cầu hs viết chơng trình?

Giáo viên yêu cầu nhóm cữ đại diện lên trình bày giải mỡnh

HS: Nghiên cứu câu hỏi trả lời Ta sư dơng biÕn St: BiÕn kiĨu x©u

I: kiểu số nguyên để làm số

Khai b¸o nh sau: Var st: String; I: byte;

Ta tham chiếu tời vị trí từ cuối xâu đến dầu xâu in hình Hs chia thnh tng nhúm v vit chng trỡnh

Đại diện nhóm lên trình bày: Program cau1;

Var st: String; I:byte;

(71)

Hàm lấy độ dài thực xâu st hàm gì?

Gọi hs đại diện nhóm khác lên nhận xét Cõu2:

Viết chơng trình thực công việ sau:

a Nhập vào xâu họ tên (mỗi từ cách kí tự trắng)

b Đếm in hình số từ có xâu hä tªn trªn?

c In hình tên ngời đó?

Yêu cầu Hs nghiên cứu đề viết chơng trình

Giáo viên yêu cầu viết c hịgn trình câu a u cầu HS nêu ý tởng để viết chơng trình cho câu b

- ý tởng giải?

Ch

ơng trình Var s: String[50]; I, dem: integer; Begin

Dem:=0;

Writeln('hay nhap xau ho ten'); Readln(s);

For i:=1 to length(s) Do

If s[i] = '' then dem:=dem+1; Writeln('so ki tu tu la:', s);

End

Yêu cầu Hs tìm ý tởng để giải câu c? Bài toán bắt ta phải in phàn nào?

Hãy nêu ý tởng để giải qêt tốn đó?

Yêu cầu HS nhà viết chơng trình hoàn

Writeln(‘ Hay nhap xau vao’); Readln(ST);

Writeln(‘xau in nguoc lai’);

For i:= length(st) To Do write(ST[i]); Readln

End

Hs nghiên cứu đề

Chia thành nhóm nhóm có bàn ngồi đối diện với thảo luân cử đại diện nhúm ghi chộp

Đại diện HS lên bảng việt chơng trình

Ta thy s tự bng s kí tự trắng +1 Trớc tiên ta đếm số kí tự trắng

Kiểm tra từ đầu đến cuối phần tử xâu phần tử = kí tự trắng đếm đợc cơng thêm đơn vị

Hs nhận xét cho ý kiến chơng trình

Phn cui cựng xõu h tờn Từ kí tự trắng cuối đến hết Hs:

(72)

chỉnh

IV Cũng cố dặn dò

- Về nhà soạn tập sách giáo khoa tin 11 - Chuẩn bị trớc thực hµnh

Ngµy 14 / 12 /2008 TIÕT 31: ppct

Bài thực hành số I Mục tiêu

KiÕn thøc.

- Khắc sâu thêm phần kiến thức lí thuyết kiểu xâu kí tự, đặc biệt hàm thủ tục liên quan

- Nắm đợc số thuật toán bản: Tạo xâu mới, đếmm số lần xuất kí tự Kĩ

- Khai báo biến kiểu xâu

- Nhp, xut gá trị cho biến xâu - Duyệt qua tất kí tự xâu - Sử dụng đợc hàm thủ tục chuẩn thái độ

- Tích cực, chủ động thực hành II Đồ dung dạy học

1 ChuÈn bị giáo viên

- Mỏy chiu Projestor để hớng dẫn Tổ chức phòng máy để học sinh có đợc kĩ làm việc với kiểu xâu

Chn bÞ cđa häc sinh

- Sách giáo khoa, tập nhà III Hoạt động dạy – học ổn định tổ chức

- Sè HS líp

- Số Hs vắng

2 Kiểm tra cũ Lồng vào dạy Các bớc tiến hành: c Các bớc tiến hành:

hng dn ca giỏo viờn Hoạt động học sinh

Tìm hiểu đề

- giới thiệu nội dung đề lên bảng - Diễn giải: Một xâu đợc gọi

Palidrom ta đọc kí tự từ phải sang trái giống đọc từ trái sang phải - Yêu cầu học sinh cho hai ví dụ xâu palidrom ví dụ khơng phi l palidrom

tìm hiểu chơng trình gợi ý - Chiếu chơng trình lên bảng

- Hỏi: Chơng trình sau có chức làm gì? Kết in hình nh thÕnµo?

- Thực chơng trình để học sinh

Quan sát, đọc kĩ

Phải: 12321 abccba Không phải: abcdea

Quan sát chơng trình, suy nghĩ phân tích để hiểu chơng trình

- KiĨm tra xâu có phải Palidrom hay không?

- In ra: ‘xau la Palidrom’

(73)

kiÓm nghiệm suy luận Cải tiến chơng tr×nh

- Nêu yêu cầu mới: Viết lại chơng trình mà khơng sử dụng biến trung gian p - Yêu cầu: Nhận xét cặp vị trí đối xứng xâu palidrom? - Hỏi: kí tự thứ i đối xứng với kí tự vị trí nào?

- Hỏi: Cần phải so ssánh cặp kí tự xâu để biết đợc xâu ;à palidrom?

- Hỏi: Dùng cấu trúc lặp để so sánh?

- Yêu cầu học sinh viết chơng trình hoàn chỉnh

- Yêu cầu học sinh nhập liệu cho sẵn giáo viên thông báo kết

- Xác nhận làm có kết qu ỳng

trình, nhập liệu kết chơng trình

Chú ý theo dõi yêu cầu giáo viên, trả lời số câu hái dÉn d¾t

- Các kí tự vị trí giống - Kí tự thứ i đối xứng với kí t thứ length() – i +1

- So sánh tối đalength() div

- Cã thĨ dïng For hc While

- Thực soạn thảo chơng trình vào máy theo yêu cầu cải tiến giáo viên - Nhập liệu vào thông báo kết

IV Đánh giá cuối bài Những nội dung học

- Một số thuật toán đơn giản liên quan đến xâu kí tự: Kiểm tra xâu đối xứng, tìm tần xuất kí tự cú xõu

Câu hỏi tËp vỊ nhµ.

- Chuẩn bị nọi dung cho tiết lí thuyết tiết theo đọc trứơc nội dung kiểu ghi, sách giáo khoa, trang 74

Ngµy 13 / 12 /2008 TIÕT 32: ppct

Bài thực hành số I Mục tiêu

KiÕn thøc.

- Khắc sâu thêm phần kiến thức lí thuyết kiểu xâu kí tự, đặc biệt hàm thủ tục liên quan

- Nắm đợc số thuật toán bản: Tạo xâu mới, đếmm số lần xuất kí tự Kĩ

- Khai b¸o biÕn kiĨu x©u

- Nhập, xuất gá trị cho biến xâu - Duyệt qua tất kí tự xâu - Sử dụng đợc hàm thủ tục chuẩn thái độ

- Tích cực, chủ động thực hành II Đồ dung dạy học

2 Chn bÞ cđa giáo viên

- Mỏy chiu Projestor hng dẫn Tổ chức phịng máy để học sinh có đợc kĩ làm việc với kiểu xâu

Chn bÞ cđa häc sinh

(74)

- Sè HS líp

- Số Hs vắng

2 Kiểm tra cũ Lồng vào dạy Các bớc tiến hành:

hng dẫn giáo viên Hoạt động học sinh

Tìm hiểu đề

- giới thiệu nội dung đề lên bảng - Diễn giải: Một xâu đợc gọi

Palidrom ta đọc kí tự từ phải sang trái giống đọc từ trái sang phải - Yêu cầu học sinh cho hai ví dụ xâu palidrom ví dụ khơng phải palidrom

tìm hiểu chơng trình gợi ý - Chiếu chơng trình lên bảng

- Hỏi: Chơng trình sau có chức làm gì? Kết in hình nh thếnào?

- Thc hin chơng trình để học sinh kiểm nghiệm suy luận Cải tiến chơng trình

- Nêu u cầu mới: Viết lại chơng trình mà khơng sử dụng biến trung gian p - Yêu cầu: Nhận xét cặp vị trí đối xứng xâu palidrom? - Hỏi: kí tự thứ i đối xứng với kí tự vị trí nào?

- Hỏi: Cần phải so ssánh cặp kí tự xâu để biết đợc xâu ;à palidrom?

- Hỏi: Dùng cấu trúc lặp no so sỏnh?

- Yêu cầu học sinh viết chơng trình hoàn chỉnh

- Yêu cầu học sinh nhập liệu cho sẵn giáo viên thông báo kết

- Xỏc nhận làm có kết

Quan sát, đọc kĩ đề

Ph¶i: 12321 abccba Không phải: abcdea

Quan sỏt chơng trình, suy nghĩ phân tích để hiểu chơng trình

- Kiểm tra xâu có phải Palidrom hay kh«ng?

- In ra: ‘xau la Palidrom’

‘Xau khong la palidrom’ - Quan sát giáo viên thực chơng trình, nhập liệu kết chơng trình

Chú ý theo dõi yêu cầu giáo viên, trả lời số câu hỏi dẫn dắt

- Cỏc kí tự vị trí giống - Kí tự thứ i đối xứng với kí t thứ length() – i +1

- So s¸nh tèi ®alength() div

- Cã thÓ dïng For While

- Thực soạn thảo chơng trình vào máy theo yêu cầu cải tiến giáo viên - Nhập liệu vào thông báo kết

IV ỏnh giỏ cui bi Những nội dung học

- Một số thuật tốn đơn giản liên quan đến xâu kí tự: Kiểm tra xâu đối xứng, tìm tần xuất kí tự có xâu

C©u hái vµ bµi tËp vỊ nhµ.

- Chuẩn bị nọi dung cho tiết lí thuyết tiết theo đọc trứơc nội dung kiểu ghi, sách giáo khoa, trang 74

(75)

Ngµy 16 / 12 /2009 TIÕT 31: ppct

KiĨu b¶n ghi I Mơc tiªu

KiÕn thøc

- Biết đợc khái niệm kiểu ghi

- Phân biệt đợc giống khác giửa kiểu ghi với kiểu mảng chiều Kĩ

- Khai báo đợc kiểu ghi, khai báo đợc biến kiểu ghi ngơn ngữ lập trình pascal

- Nhập xuất đợc liệu cho biến bàn ghi - tham chiếu đến trờng kiểu ghi

- Sử dụng kiểu ghi để giải số tập đơn giản II Đồ dùng dỵa học

Chuẩn bị giáo viên

- Máy vi tính, máy chiếu Projector để giới thiệu ví dụ Chuẩn bị học sinh

- Sách giáo khoa III Hoạt động dạy - học ổn định tổ chức

- Sè HS líp

- Sè Hs v¾ng

2 Kiểm tra cũ Lồng vào dạy Các bíc tiÕn hµnh:

hớng dẫn giáo viên Hoạt động học sinh

T×m hiĨu vỊ kiĨu b¶n ghi

- ChiÕu b¶ng kÕt qu¶ thi tèt nghiƯp , s¸ch gi¸o khoa trang 74

- Hỏi: Trên bảng có thơng tin gì? - Hỏi: Bảng chứa thông tin i tng?

- Yêu cầu: Học sinh tìm thêm ví dụ tơng tự

- Din giải: Mỗi thông tin đối đơch gọi thuộc tính hay trờng Mỗ đối tợng đợc mơ tả nhiều thông tin hàng đợc gọi ghi - Diễn giải: Để mô tả đối tợng nh vậy, ngơn ngữ lập trình cho phép ta xác định kiểu ghi Mỗi đối tợng đợc mô tả ghi

Yêu cầu học sinh nghiên nứu sách giáo khoa cho biết cách khai báo kiểu ghi, khai báo biến kiểu ghi ngôn ngữ lập trình Pascal

- u cầu: Tìm ví dụ để minh họa

Quan s¸t vÝ dụ giáo viên trả lời câu hỏi

- Họ tên, sinh, giới tính, điểm môn thi

- bng cha thụng tin đối tợng - Để mô tả ngới tong danh bạ điện thoại cần có thông tin: Họ tên, địa chỉ, số điện thoại

Tham khảo sách giáo khoa để nắm đ-ợc cấu trúc chung khai báo kiểu ghi, khai báo biến ghi

- VÝ dô:

Typekieu_nguoi=record hoten:string;

(76)

- Để giải toán mục ta phải khai báo mảng ghi Hãy tạo kiểu mảng

- Yêu cầu học sinh phân biệt giống khác kiểu ghi kiểu mảng mét chiÒu

giới thiệu cấu trúc chung để tham chiếu đến trờng biến ghi

Tªn_biÕn_bg Tªn_trêng

- u cầu: Tìm ví dụ tham chiếu đến trờng biến ghi đợc khai báo

giới thiệu cách gán giá trị cho biến ghi

+ Gán nguyên biến ghi(1) + Gán lần lợt trờng (2)

- Yêu cầu: Lấy ví dụ minh họa cho tõng trêng hỵp

- Hỏi: trờng hợp (1) thực đợc trờng hợp nào?

Nhập/xuất giá trị cho biến ghi

- Diễn giải: Ta phải viết lệnh nhập xuất giá trị cho trờng

- Yờu cu học sinh: Viết lệnh nhập giá trị cho ba trờng hợp biến ghi nguoi đợc khai báo

- yêu cầu học sinh: Viết lệnh in giá trị trờng hoten biến ghi nguoi

Chiếu nội dung đề lên bảng

- Hỏi: Sử dụng kiểu liệu nh để giải toán?

- Yêu cầu học sinh: Mô tả thông tin học sinh kiểu ghi Tạo mảng ghi

sdt:longint; End;

Var nguoi:kieu_nguoi;

- Độc lập suy nghĩ để tạo kiểu ghi mảng ghi

type kieu_hs=record

Hoten, ngaysinh:string; toan, van:byte;

sdt:read; End;

Kieu_mbg=array[1 50] of kieu_hs; - Gièng nhau: Đợc ghép nhiều phần tử

- Khác nhau: Mảng chiều ghép nhiều phần tử có kiểu liệu ghi ghép nhiều phần tử có kiểu liệu khác

1 Quan sát cấu trúc chung tham chiếu đến trờng biến ghi

- vÝ dô:

nguoi.hoten nguoi.diachi nguoi.sdt;

Quan sát hai cách gán giá trị cho biến ghi để tìm ví dụ cụ thể

A :=B;

A.ht:=B.ht; A.dtb :=B.dtb;

- hai biến A, B phải đợc khai báo kiểu ghi

Chú ý theo dõi dẫn dắt giáo viên để tìm đợc ví dụ

- Readln(nguoi.hoten); - Readln(nguoi.diachi); - Readln(nguoi.sdt); - Writeln(nguoi.hoten);

Quan sát đề, ý phân tích để trả lời câu hỏi

- Mét mảng ghi Type Kieu_hs=record Hoten:string; toan,van,tong:byte; xeploai:char;

(77)

- Nêu bớc để giải toán

Chia lớp thành ba nhóm Yêu cầu viết chơng trình lên bìa

- thu phiếu học tập Chiếu kết lên bảng Gọi học sinh nhóm khác nhận xét đánh giá

Chiếu chơng trình mẫu để xác hóa lại cho học sinh

Kieu_mhs=array[1 45] of kieu_hs; + Bớc 1: tạo kiểu liệu, khai báo biến + Bớc 2: Nhập liệu co mảng b¶n ghi

+ Tính tổng điểm tốn điểm văn + dựa vào tổng điểm để xếp loại

thảo luận theo nhóm để hồn thnh ch-ng trỡnh

- Thông báo kết

- Nhận xét, đánh giá bổ sung sai sót nhóm khác

Quan sát ghi nhớ IV Đánh giá cuối

Những nội dung học

- Cách tạo kiểu ghi, khai báo biến kiểu ghi - Tham chiếu đến trờng biến ghi - Nhập/xuất giá trị cho biến ghi

Câu hỏi tập nhà

- Bài tập: Viết chơng trình giải toán quản lí sau:

Nhp h tên, điểm tốn(Toan), điểm lí(Ly) 30 học sinh lớp In hình họ tên, điểm trung bình (DTB) 30 học sinh với DTB = (TOAN+LY)/2

- Xem néi dung phơ lơc B, s¸ch giáo khoa, trang 134: Câu lệnh With

(78)

Ngµy 13/ 12 /2009 TIÕT 32+33: ppct

ôn tập học kì I mục tiêu.

KiÕn thøc

- Học sinh nắm đợc toàn kiến thức học từ đầu năm học đến Kĩ

- Rèn luyện kĩ nhận xét, phân tích toán II Đồ dùng dạy học

Chuẩn bị giáo viên

- Máy chiếu qua đầu, bìa trong, sách giáo khoa Chuẩn bÞ cđa häc sinh

- Sách giáo khoa, số chơng trình tập III Hoạt động dạy – học

Hoạt động 1: Nhắc lại kiến thức cũ học a Mục tiêu:

- Học sinh nhớ lại đợc kiến thức lí thuyết học b Nội dung:

- Khái niệm lập trình ngôn ngữ lập trình

- Có hai loại chơng trình dịch: Biên dịch thông dịch

- Các thành phần ngôn ngữ lập trình: Bảng chữ cái, cú pháp ngữ nghĩa - Các khái niệm: Tên, biến, thích

- Cấu trúc chơng trình Pascal: Phần khai báo phần thân - Các kiểu liệu chuẩn: Số nguyên, số thực, kí tự, logic - Phép toán, biểu thức, lệnh gán

- Tổ chức vào/ra - CÊu tróc rÏ nh¸nh - CÊu tróc lặp - Kiểu mảng c Các bớc tiến hµnh:

hớng dẫn giáo viên Hoạt động học sinh

Đặt câu hỏi gợi ý để học sinh tự nhắc lại kiến thức học

- Em hiểu nh lập trình ngôn ngữ lập trình?

- Các loại chơng trình dịch?

- Các thành phần ngôn ngữ lập trình?

- Các khái niệm ngôn ngữ lập trình?

- Cấu trúc chung chơng trình TP?

- Nêu tên kiểu liệu chuẩn? - Nêu nhóm phép tốn học?

- Các loại biểu thức?

- Chức thực lệnh gán?

- Nêu tên chức số hàm số học?

Chú ý, theo dõi trả lời câu hỏi - Lập trình trình diễn đạt thuật tốn ngơn ngữ lập trình

- Biên dịch thông dịch

- Bảng chữ cái, cú pháp ngữ nghĩa - Khái niệm tên, biến, thích - Gồm hai phần: Phần khai báo phần thân

- Sè nguyªn, sè thùc, kÝ tù, logic

- PhÐp to¸n sè häc, phÐp to¸n quan hƯ, phÐp to¸n logic

- BiĨu thøc sè häc, biĨu thøc quan hƯ vµ biĨu thøc logic

- Dùng để tính tốn biểu thức gán giá trị cho biến

(79)

- Tỉ chøc vµo/ra

- Tỉ chøc rẽ nhánh - Tổ chức lặp

- Kiểu m¶ng

Xác định tốn

- Chiếu nội dung đề lên bảng - Chia lớp thành nhóm

Nhãm 1: Nªu câu hỏi phân tích

Nhóm 2: Trả lời c©u hái ph©n tÝch cđa nhãm

- Giáo viên góp ý bổ sung cho hai nhóm

rèn luyện kĩ lập trình - Chia lớp thành hai nhóm

- Yêu cầu: Viết chơng trình hoàn thiện lên bìa

- Thu phiếu học tập, chiếu kết lên bảng Gọi học sinh nhóm khác nhận xét đánh giá bổ sung

Chuẩn hóa kiến thức chơng trình mẫu giáo viên Thực chơng trình, nhập liệu để học sinh thấy kết chơng trình

1 Giới thiệu đề

- Chiếu nội dung đề lên bảng Nêu mục đích tốn

- Chia lớp thành nhóm:

+ Nhóm 1: Đặt câu hỏi phân tích + Nhóm 2: Trả lời câu hỏi phân tích

- Theo dõi câu hỏi phân tích Của nhóm trả lời câu hỏi phân tích nhóm

- Bỉ sung vµ sưa sai cho nhóm nhóm

- LÖnh Read()/readln(); - LÖnh write()/writeln();

- If <BT§K> then <lƯnh 1> else <lƯnh 2>;

For tiÕn For lïi While <> Array

Quan sát, theo dõi đề định hớng giáo viên để xác định toán

- Nhãm 1:

+ D÷ liệu vào + Dữ liệu

+ Các nhiệm vụ phải thực

- Nhãm 2:

+ Sè N N số nguyên

+ Số lợng số chẵn C số lẻ L + – NhËp d÷ liƯu

– Đếm số lợng số chẵn, số lẻ Đa kết hình Làm viƯc theo nhãm

- Thảo luận theo nhóm để viết chơng trình

- B¸o c¸o kÕt qu¶

- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác

Theo dâi vµ ghi nhí

1 Quan sát đề xác định công việc cần thực

Nhãm 1:

- hái: D÷ liệu vào, liệu toán?

- Nêu nhiệm vụ cần thực giải toán

- Hỏi: Cấu trúc liệu phải sử dụng nh nào?

- Ta phải sử dụng hàm nào? Nhóm 2:

- Vào: Một xâu S

- Ra: dÃy số ứng với xuất loại kí tự xâu

(80)

Yêu cầu học sinh độc lập viết chơng trình hồn chỉnh theo thuật tốn phát

- Yêu cầu học sinh lập trình xong sím t×m mét sè bé test

- u cầu học sinh nhập liệu vào theo test giáo viên chọn thông báo kết sau thực chơng trình

- Xác nhận kết học sinh sửa sai cho em có kết sai

- CÊu trúc liệu: Dem[A Z] - Dùng hàm Upcase()

Độc lập soạn chơng trình vào máy

- T×m test

- Nhập liệu giáo viên thực chơng trình để xem kết

- Th«ng báo kết cho giáo viên IV Đánh giá cuối bµi

Những nội dung học

- Giáo viên yêu cầu học sinh nhắc lại số nội dung đợc ơn tập tiết học Câu hỏi bìa tập nhà

(81)

Ngµy 20/ 12 /2009 TIÕT 34: ppct

Kiểm tra học kì i Mục tiêu cần đánh giá

- Kiểm tra kết tiếp thu học sinh từ đầu năm học đến - Đánh giá kĩ phân tích tốn t lập trình giấy - Có thái độ tự giác, tích cực làm kiểm tra

Mục đích yêu cầu đề.

- Kiến thức: Học sinh nắm đợc kiến thức kiểu liệu bản, kiểu liệu có cấu trúc Các hàm chuẩn thông dụng Cấu trúc vào/ra liệu, cấu trỳc r nhỏnh v lp

- Kĩ năng: Có kĩ phân tích toán, viết chơng trình ChuÈn bÞ.

- Giáo viên chuẩn bị đề kiểm tra

- Học sinh chuẩn bị đầy đủ kiến thức đợc học, ôn tập Nội dung đề đáp án.

§Ị ra:

Câu1: Viết chơng trình nhập vào số nguyên dơng N dãy số nguyên A1,A2, An. Hãy in Tổng số nguyên dơng dóy ú

Câu2: Viết chơng trình thực công việc sau: a Nhập vào xâu họ tên

b Xoỏ ht cỏc kớ t trng thứ hai liên tiếp khơng cịn tồn hai kí tự trắng kề

c Đếm từ có xâu (Mỗi từ cách bỡi ki tự trắng) Đáp ỏn

Nội dung Điểm

Câu1: điểm Const Max=100;

Var A: Array[1 max] of integer; N, I, s: integer;

Begin

Readln(N); s:=0; For i:=1 to N

If a[i] >0 then S:=S+a[i]; Writeln(‘Tong la:’, S:4:2); End

0,5 0,5 0,5 1 0,5 Câu2a 2điểm

Var st: String[50]; Begin

Readln(ST); Readln End

1

C©u2b ®iÓm Var st: String[50]; Begin

Readln(ST);

While Pos(“ “, St)>0 Do delete(St, Pos(“ “, St),1); Readln

End

(82)

Var st:String[50]; I, dem :byte; Begin

Dem:=0; Readln(ST);

For i:=1 to length(ST) Do if st[i] =’’ then dem:=dem+1; Writeln(‘so tu la:’,dem+1);

End

0,5

(83)

Ngµy 03 / 01 /2009 TIÕT 37: ppct

KiĨu d÷ liƯu tƯp Thao tác với tệp I Mục tiêu

Kiến thøc:

- Biết đợc đặc điểm kiểu liệu tệp

- BiÕt kh¸i niệm tệp có cấu trúc tệp văn Kĩ năng:

- Khai bỏo biến kiểu tệp

- Thực đợc thao tác xử lí tệp: Gán tên tệp, mở/đóng tệp, đọc/ghi tệp - Sử dụng đợc thủ tục liên quan để đọc/ghi liệu tệp

Thái độ:

- Thấy đợc cần thiết tiện lợi kiểu liệu tệp - Có ý thức lu trữ liệu cách khoa học

- Giáo dục thêm ý thức tôn trọng quyền, không sửa chữa, chép phần mềm cha mua quyền

II Đổ dùng dạy học Chuẩn bị giáo viên

- Mỏy vi tính, máy chiếu Projector để giới thiệu ví dụ Chuẩn bị học sinh

- S¸ch gi¸o khoa

III Hoạt động dạy – học ổn định tổ chức

- Sè HS líp

- Sè Hs v¾ng

2 Kiểm tra cũ

Lồng vào dạy Các bớc tiến hành:

hng dn ca giỏo viờn Hoạt động học sinh

- Hỏi: Em cho biết liệu kiểu liệu từ trớc đến ta sử dụng đợc lu trữ loại nhớ thực ch-ơng trình?

- Hỏi: Vì em biết đợc điều đó?

- Diễn giải: Để lu trữ đợc liệu, ta phải lu nhớ ngồi thông qua kiểu liệu tệp Mọi ngôn ngữ lập trình có thao tác: Khai báo biến tệp, mở tệp, đọc/ghi liệu, đóng tệp

- Yêu cầu học sinh nghiên cứu sách giáo khoa hco biết đặc điểm cuat tên tệp? Có loại kiu tp?

- Yêu cầu học sinh trình bày khái niệm tệp có cấu trúc tệp văn

- Bộ nhớ RAM

- Mất liệu điện

- Không thông tin tắt máy - Dung lợng liệu đợc lu trữ lớn - Có hai loại kiểu tệp: Tệp có cấu trúc tệp văn

+ Tệp có cấu trúc loại tệp mà thành phần đợc tổ chức theo cấu trúc định

+ Tệp văn bản: Là tệp mà liệu đợc ghi dới dạng kí tự theo mã ASCII giới thiệu cấu trúc chung khai báo

(84)

Var <Tªn_biÕn_tƯp>: Text;

- u cầu học sinh tìm ví dụ cụ thể Giới thiệu thao tác gán tên tệp, tạo tệp để ghi, mở tệp để đọc, đóng tệp Assign(<tên_biến_tệp>,<tên_tệp>); Rewrite(<tên_biến_tệp>);

Close(>Tªn_biÕn_tƯp>);

- u cầu: Lấy ví dụ minh hoạ mở tệp để ghi thông tin mở tệp để đọc thông tin

Chiếu sơ đồ làm việc với tệp lên bảng, hình 16, trang 86, sách giáo khoa Yêu cầu học sinh giải thích ý nghĩa sơ đồ

Giới thiệu cấu trúc chung thủ tục đọc/ghi liệu tệp bn

- Yêu cầu học sinh lấy vÝ dô minh häa

- Var f,g:text;

Quan sát suy nghĩ để trả lời câu hỏi

Assign(f5,’B1.INP’); Rewrite(f5);

Close(f5);

Assign(f5,’B1.OUT’); Rewrite(f5);

Close(f5);

Quan sát sơ đồ suy nghĩ để trả lời - Ghi tệp: Gán tên tệp, tạo tệp mới, ghi thơng tin, đóng tệp

- Đọc tệp: Gán tên tệp, mở tệp, đọc thông tin, đóng tệp

Quan s¸t cÊu tróc chung

- Readln(f,x1,x2); Đọc liệu từ biến tệp f, đặt giá trị vào hai biến x1 x2 - Writeln(g, ‘tong la’, x1+x2); Ghi vào biến tệp g hai tham số; dòng chữ ‘tong la’ giá trị tổng x1+x2

IV Đánh giá cuối Những nội dung học

- Việc trao đổi liệu với nhớ ngồi đợc thực thơng qua kiểu liệu tệp Có hai loại tệp: Tệp có cấu trúc tệp văn

- Để làm việc với tệp, cần phải khai báo biến tệp: Var <Tên_biến_tệp>: text; - Mỗi ngơn ngữ lập trình có hàm thủ tục chuẩn để làm việc với tệp nh: Gán tên tệp, tạo tệp để ghi, mở tệp để đọc, đóng tệp

- ngôn ngữ lập trình Pascal có thủ tục tơng ứng là: Assign(<tên_biến_tệp>,<tên_tệp>);

Rewrite(>Tên_biến_tệp>); Reset (>Tên_biến_tệp>); Close(>Tên_biến_tệp>); - Đọc/ghi tệp văn bản: Câu hỏi tập nhà

(85)

Ngµy 08 / 01 /2009 TIÕT 38: ppct

VÝ dơ lµm viƯc víi tƯp I.Mơc tiªu

kiÕn thøc:

- Củng cố lại kiến thức học tệp chơng thơng qua ví dụ Kĩ

- Sử dụng đợc hàm thủ tục liên quan để giải tập II Đồ dùng dạy học

ChuÈn bÞ giáo viên

- Mỏy chiu Projector để giới thiệu ví dụ, phịng máy vi tính Chuẩn bị học sinh

- S¸ch gi¸o khoa

III Hoạt động dạy – học

Hoạt động 1: Ôn tập kiến thức lí thuyết a Mục tiêu:

- Học sinh nhớ đợc kiến thức lí thuýet kiểu tệp b Nội dung:

- Gán tên tệp, mở tệp, tạo tệp mới, đóng tệp - Đọc/ghi tệp văn

- Các hàm thủ tục liên quan c Các bớc tiến hành :

hng dn ca giáo viên Hoạt động học sinh

Gợi ý để học sinh nhớ lại kiến thức học kiểu tệp

-Hái: C¸ch khai b¸o biÕn kiĨu tƯp? - Hái: Cã c¸c thđ tục làm việc với tệp?

- Hái: Hµm vµ thđ tơc nµo liªn quan xư lÝ tƯp?

Giíi thiệu bảng tổng hpj hàm thủ tục lên bảng, xem nh tổng kết kiến thức liên quan

Theo dõi dẫn dắt giáo viên trả lời

- Var <Tên_biến_tệp>: Text;

- Assign(<Tªn_biÕn_tƯp>,<tªn_tƯp>); - Rewrite(>Tªn_biÕn_tƯp>);

- Reset (>Tên_biến_tệp>); - Close(>Tên_biến_tệp>); - Read/readln(<tên_biến_tệp>, <Danh_sách_tên_biến>);

- Write/writeln(<tên_biến_tệp>, <Danh_sách_tên_biến>);

- Eof(>Tên_biến_tệp>) -

Seek(>Tên_biến_tệp>,<biến_nguyên>); Quan sát bảng tổng hợp ghi nhớ T×m hiĨu vÝ dơ

- Giới thiệu nội dung đề

- Chiếu chơng trình ví dụ lên bảng gợi ý để học sinh tìm hiểu chơng trình - Hỏi: Hàm Eof(f) có chức gì?

- Có thể sử dụng cấu trúc For thay while đợc khụng?

- Chơng trình thực công viƯc g×?

Theo dõi quan sát đề chơng trình gợi ý

- Hàm cho giá trị True trỏ tệp định vị trí kết thúc tệp

- Không Vì số lợng phần tử cđa tƯp

(86)

- Thực chơng trình để học sinh thấy đợc kết

Tìm hiểu chơng trình ví dụ - Giới thiệu đề

- Chiếu tranh mơ kết nối điện trở, hình 17, trang 88, sách giáo khoa - Hỏi: Công thức tính điện trở sơ đồ II, III, IV

- Chiếu chơng trình ví dụ lên bảng - Hỏi: Mảng a dùng để lu trữ giá trị nào?

- Cho mét File d÷ liệu vào gồm dòng Yêu cầu học sinh tính kÕt qu¶

- Thực chơng trình đọc file liệu vào để học sinh đối chiếu kết

Quan sát nội dung đề bài, quan sát tranh mô kết nối điện trở yêu cầu

- Dùng để lu trữ điện trở tơng đơng điện trở theo cách ghép nối nh sơ đồ

- Tính kết điện trở tơng đơng - Quan sát kết chơng trình so sánh với kết tính đơng

- NhËn xÐt vỊ tÝnh chÝnh xác thời gian thực chơng trình

IV Đánh giá cuối Những nội dung học - Các thao tác xử lí tệp: + Gán tên tệp + Mở tệp + tạo tệp

+ Đọc/ghi thông tin tệp + §ãng tƯp

- Hµm vµ thđ tơc liên quan

+ Hàm EOF(Tên_biến_tệp) Câu hái vµ bµi tËp vỊ nhµ

- Đọc trớc nội dung bái Chơng trình phân loại Cách viết sử dụng thủ tục Ngày 15 / 01 /2009 TIÕT 39: ppct

Bµi tËp I.Mơc tiªu.

kiÕn thøc:

- Củng cố lại kiến thức học tệp chơng thông qua tập Kĩ

- Sử dụng đợc hàm thủ tục liên quan để giải tập II Đồ dùng dạy học.

Chuẩn bị giáo viên

- Mỏy chiếu Projector để giới thiệu ví dụ, phịng máy vi tính Chuẩn bị học sinh

- S¸ch gi¸o khoa

III Hoạt động dạy - học 1 ổn định tổ chức

- Số Hs có mặt - Số Hs vắng 2 Kiểm tra bµi cị

(87)

Hoạt động giáo viên Hoạt động hs Câu1: Viết chơng trình đọc liệu từ tệp

có tên là: Baitap.int, tìm giá trị nhỏ ghi tệp in hình Trong tệp tập ghi nh sau:

- Dòng ghi số N

- Dòng thứ ghi n số nguyên dơng,

mỗi số cách kí tự trắng Hãy cho biết tốn ta làm nh th no?

Để viết chơng trình cho toán ta sử dụng biến nào?

HÃy khai báo biến trên?

Yêu cầu Hs thảo luận viết chơng trình?

Câu2:

Cho tệp có tên Input có n +1 dòng Dòng ghi số n m

N dòng dòng ghi m số mảng chiều

HÃy viết chơng trình thực công việc sau:

a Tìm số có chữ số hàng đơn vị là5

b Tìm số ngun tố có tệp

c Hãy xếp ma trận ghi tệp cho tăng dần theo dịng theo cột Kết tìm đợc ghi vào tệp có tên Output ghi nh sau

Dịng ghi kết qủa tìm đợc câu a Dịng ghi kết tìm đợc câu b N Dòng lại ghi ma trận sau xếp

Hs nghiên cứu đề

Chia lớp thành nhóm, nhóm gồm bàn để thảo luận

Hs: Ta đọc liệu lu vào mảng chiều có N phần tử

Tìm giá trị lớn dÃy HS: Ta dïng c¸c biÕn sau:

- F: BiÕn tƯp

- A: BiÕn kiĨu m¶ng mét chiỊu

- I: Biến số

- Min: Lu giá trị nhỏ nhÊt

Hs: khai b¸o nh sau: Const Nmax=100; Var f:text;

A: Array[1 Nmax] of word; I,min:word;

Hs thảo luận cữ đại diện lên viết chơng trình

C¸c nhãm kh¸c phËn xÐt vµ cho ý kiÕn

Hs nghiên cứu đề

(88)

Giáo viên gợi ý:

Hóy đọc liệu từ tệp có tên input lu vào ma trận có n dịng m cột

a Duyệt tất phần tử tìm phần tử có giá trị mod 5=0 ghi vào têp

b Duyệt tất phần tử tìm phần tử có giá trị số nguyên tố ghi vµo tƯp

c Sắp xếp ma trận theo dịng sau sếp ma trận theo tuèng cột cho tất cột dịng ghi vào tệp

tr¶ lêi ý kiÕn nhóm

Hs nghiên cứu

Hs viết chơng trình hoàn chỉnh IV Cũng cố dặn dò

- Về nhà làm tập sách giáo khoa

- Chuẩn bị trớc chơng trình tit sau ta nghiờn cu

Ngày soạn: 20/01/2009 Tiết 40:ppct

Chơng trình phân loại I Mơc tiªu

KiÕn thøc:

- Biết đợc khái niệm chơng trình

- Biết đợc ý nghĩa chơng trình con, cần thiết phải viết chơng trình thành chơng trình

- Biết đợc cấu trúc chơng trình

- Phân biệt đợc hai loại chơng trình hàm thủ tục Kĩ năng.

- Nhận biết đợc thành phần đầu thủ tục

- Nhận biết đợc hai loại tham số hình thức đầu thủ tục

- Biết cách khai báo hai loại chơng tr×nh cïng víi tham sè h×nh thøc cđa chóng - Biết cách viết lời gọi chơng trình thân chơng trình

Thỏi độ:

- RÌn lun c¸c phÈm chÊt ngời lập trình nh tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu công việc chung

II Đồ dùng dạy học. Chuẩn bị giáo viên

- Mỏy vi tớnh, máy chiếu Projector để giới thiệu ví dụ, máy chiếu Overhead, bìa trong, bút

2 Chn bÞ cđa häc sinh - S¸ch gi¸o khoa

III Hoạt động dạy - học 1 ổn định tổ chức lớp

- Sè hs líp - Sè hs v¾ng

2 KiĨm tra bµi cị

(89)

- Hãy trình bày thủ tục để thao tác với tệp? Nội dung

hớng dẫn giáo viên Hoạt động học sinh

Tìm hiểu ý nghĩa khái niệm ch-ơng trình

- Chiu hai chng trình giáo viên chuẩn bị sẵn Một chơng trình có sử dụng chơng trình con, chơng trình khơng s dng chng trỡnh

Chẳng hạn: Chơng tr×nh tÝnh tỉng lịy thõa: TLT=an+bm+cp+dq

- Gọi học sinh nhận xét tính ngắn gọn, rõ ràng, tính dễ đọc dễ hiểu hai chơng trình

- Hỏi: Khi nên viết chơng trình con?

- Yêu cầu học sinh đọc sách giáo khoa, cho biết khái niệm chơng trình

- Chia lớp thành nhóm Phát bìa cho nhóm Yêu cầu học sinh điền lợi ích việc sử dụng chơng trình

- Thu phiếu học tập Chiếu kết lên b¶ng

- Bổ sung giải thích thêm số lợi ích mà học sinh điền cha đầy đủ (vì em cịn mơ hồ chơng trinhg con)

phân loại chơng trình

- Hỏi: Có loại chơng trình con? Gäi tªn cđa chóng?

- Hỏi: Đã làm quen với hàm thủ tục cha? Lấy số ví dụ hàm thủ tục đợc học

- ý nghÜa cđa hµm vµ thủ tục chuẩn?

- yêu cầu học sinh tham khảo sách giáo

Quan sỏt đề hai chơng trình ví dụ

- Nhận xét: Chơng trình có sử dụng ch-ơng trình đợc viết ngắn gon, dễ hiểu chơng trình viết khơng sử dụng chơng tình

- Đối với toán lớn, cần nhiều ngời viết Chơng trình dài, cần chia làm nhiều đoạn Có nhiều đoạn lệnh lặp lại, nên viết chơng trình - Tham khảo sách giáo khoa để trả lời

- Nghiên cứu sáhc g iáo khoa, thảo luận để điền phiếu học tập

+ Tránh đợc việc phải viết lặp lặp lại dãy lệnh chơng trỡnh

+ Hỗ trợ việc thực viết chơng trình lớn

+ Phục vụ trình trừu tợng hóa + Mở rộng khả ngôn ngữ

+ Thuận tiện cho việc phát triển nâng cấp chơng trình

- Báo cáo kết

- Theo dõi bổ sung giải thích giáo viên

Tham khảo sách giáo khoa trả lời

- Hai loại chơng trình con: hàm thủ tục

- ĐÃ sử dụng hµm vµ thđ tơc chn - VÝ dơ: Hµm abs(), length(st) Thđ tơc Delete(st,p,n);

- Hàm thực số thao tác nịa trả lời giá trị kiểu đơn giản thông qua tên hàm

(90)

khoa để phân biệt khái niệm hàm thủ tục

Cấu trúc chơng trình

- Giới thiệu cấu trúc chung chơng trình

<Phần đầu>

[<Phần khai báo>] <Phần thân>

- Yêu cầu học sinh so sánh với cấu trúc chơng trình

- Yêu cầu học sinh giải thích phần khai báo phần thân chơng trình

- Diễn giải: Phần đầu chơng trình gồm có tên chơng trình con, tham số chơng trình Các tham số đợc gọi tham số hình thức

Thùc hiƯn chơng trình

- Hỏi: Để sử dụng hàm thủ tục chuẩn em thờng viết đâu vµ viÕt nh thÕ nµo?

- Diễn giải: Để gọi chơng trình con, ta cần phải có lệnh gọi tơng tự lệnh gọi hàm hay thủ tục chuẩn, bao gồm tên chơng trình với tham số(nếu có) cá biến chứa liệu vào/ra tơng ứng với tham số hình thức đặt cặp ngoặc Các biến đ-ợc gọi tham số thực

Quan sát cấu trúc chơng trình

- Gièng cÊu tróc chơng trình Khác chỗ phần đầu chơng trình bắt buộc phải có

- Phần khai báo thờng khai báo biến,

- Phần thân dãy lệnh thực nhiệm vụ định chơng trình

Suy nghĩ trả lời

- Viết chơng trình Viết thủ tục kèm tham số kết thúc dấu chấm phẩy(;) Viết hàm lẹnh thủ tục Hàm không đợc viết nh lệnh

IV Đánh giá cuối bài Những nội dung học

- Chơng trình đóng vai trị quan trọng lập trình, đặc biệt lập trình cấu trỳc

- Các lợi ích chơng trình con: Dùng chơng trình thuận lợi cho việc tổ chức, viết, kiểm tra sử dụng lại chơng trình

- Có hai loại chơng tình

- Cu trỳc chơng trình vị trí chơng trình chính: Chơng trình đợc viết phần khai báo CHơng trình có phần đầu, phần khai báo phần thân

- Chơng trình có tham số hình thức khai báo đợc thay tham số thực gọi chơng trình

- Chơng trình đợc gọi tên Câu hỏi tập nhà

- §äc trớc nội dung vài: Ví dụ cách viết sử dụng chơng trình con, sách giáo khoa, trang 96

(91)

Ví dụ cách viết sử dụng chơng trình con I Mục tiêu

KiÕn thøc.

- Biết đợc cấu trúc chung vị trí thủ tục chơng trình - Phân biệt đợc tham số giá trị tham số biến

- Nắm đợc khái niệm biến toàn cục biến cụa Kĩ năng:

- Nhận biết đợc thành phần đầu thủ tục

- Nhận biết đợc hai loại tham số hình thức đầu thủ tục

- Biết cách khai bóa hai loại chơng trình với tham số hình thức cảu chúng Thái độ:

- rÌn lun c¸c phẩm hcất ngời lập trình nh tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu công việc chung

II Đồ dùng dạy học. Chuẩn bị giáo viên.

- máy vi tính, máy chiếu Projector để giới thiệu ví dụ Chuẩn bị học sinh.

- S¸ch gi¸o khoa

III Hoạt động dạy - học 1.ổn Định tổ chức lớp

- Sè hs líp - Sè hs v¾ng

2 Kiểm tra cũ Lồng vào tiết dạy Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

Giíi thiƯu ví dụ mở đầu

- Chiếu chơng trình ví dụ lên bảng(ví dụ VD thutuc1, trang 96) Giíi thiƯu cho häc sinh cÊu tróc thđ tơc vÞ trÝ khai b¸o cđa thđ tơc, lêi gäi thđ tơc

T×m hiĨu cÊu tróc thđ tơc

- Hái: VÞ trÝ cđa thđ tơc n»m ë phần chơng trình chính?

- Hỏi: CÊu tróc cđa thđ tơc gåm mÊy phÇn?

- Hỏi: Phân biệt giống khác chơng trình chơng trình chính? - Giới thiệu cấu trúc chung thủ tục Procedure tên_thủ_tục(danh sách c¸c tham sè);

C¸c khai b¸o cđa thđ tơc; Begin

C¸c lƯnh cđa thđ tơc; End;

- Lêi gọi thủ tục ta viết phần chơng tr×nh?

T×m hiĨu tham sè h×nh thøc vµ tham sè thùc sù

- ChiÕu vÝ dơ 2, VD_thutuc2, s¸ch gi¸o

Quan s¸t, theo dâi vÝ dơ

Quan s¸t ví dụ, suy nghĩ trả lời - Nằm phần khai báo, sau phần khai biến

- Ba phần: Tên thủ tục, khai báo thủ tục phần thân

- Gièng: CÊu tróc chung

- Khác: Trong phần tên: Từ khóa đặt tên Procedure, có tham số

- Quan sát ghi nhớ cấu trúc chung

Trong phần thân kết thúc End; - Trong phần thân chơng trình

(92)

khoa trang 98

- Yªu cÇu häc sinh nhËn xÐt vỊ thđ tơc ve_hcn cđa vÝ dơ nµy víi vÝ dơ tríc

- Diễn giải: Khai báo cho phép thủ tục ve_hcn thực vẽ dợc nhiều hình chữ nhật có kích thíc kh¸c

- Hỏi: Quan sát chơng trình cho biết, chơng trình ta vẽ đợc tất hình chữ nhật

- Tham số chdai, chrong đợc gọi tham số hình thức

- Trong lời gọi thủ tục tham số hình thức đợc thay tham số thực - So sánh tham số lời gọi ve_hcn(5,10); ve_hcn(a,b);

T×m hiểu tham số giá trị tham số biến

- Diễn giải: Tham số có hai chức năng: đa liệu vào cho chơng trình đa liệu chơng trình tìm đợc

- Hái: C¸c tham sè vÝ dơ thc loại nào?

- Chiếu chơng trình VD_thambien 1, s¸ch gi¸o khoa trang 99

- Hỏi: tham số x, y thuộc loại nào? - Diễn giải: lời gọi thủ tục, tham số hình thức đợc thay tham số thực tơng ứng tên biến chứa liệu đợc gọi tham số biến - Hỏi: x, y tham số giá trị hay tham số biến?

- Hỏi: Có nhận xét khai báo tham số hình thức tham giá trị tham biến? - Chiếu vd_thambien2 giải thíc để học sinh thấy đợc khác biệt tham số giá trị tham số biến

- Thñ tục ve_hcn ví dụ có tham số chdai, chrong

- Vẽ đợc hình chữ nhật

- Tham sè thùc thủ tục ve_hcn(5,10); s thru tục ve_hcn(a,b); biến Theo dõi trả lời

- Đa liệu vào cho chơng trình xử lí

- Đa liệu sau chơng trình xử lí ngoµi

- Lµ tham sè biÕn

- Khi khai báo tham số biến ta đặt từ khóa var trớc tham số

IV Đánh giá cuối bài Những nội dung học - Có hai loại chơng trình

- Cấu trúc chơng trình vị trí chơng trình chính: Chơng trình chính: Chơng trình đợc viết phần khai báo Chơng trình có phần đầu, phần khai báo phần thõn

Dặn dò

(93)

Ngày soạn: 10/02/2009 Tiết 42: ppct

Ví dụ cách viết sử dụng chơng trình con I Mơc tiªu

KiÕn thøc.

- Học sinh biết đợc cấu trúc chung hàm Biết đợc vị trí khai báo hàm chơng trình

- Học sinh nắm đợc khái niệm biến toàn cục biến cục - Khai báo biến toàn cục biến cc b

Kĩ năng:

- Nhận biết đợc thành phần đầu thủ tục

- Nhận biết đợc hai loại tham số hình thức đầu thủ tục

- Biết cách khai bóa hai loại chơng trình với tham số hình thức cảu chúng Thái độ:

- RÌn luyện phẩm hcất ngời lập trình nh tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu công việc chung

II Đồ dùng dạy học. Chuẩn bị giáo viên.

Giáo án, sách giáo khoa số tập Chn bÞ cđa häc sinh.

- S¸ch gi¸o khoa

III Hoạt động dạy - học 1.ổn Định tổ chức lớp

- Sè hs líp - Sè hs v¾ng

2 KiĨm tra cũ

HÃy nêu cấu trúc thủ tơc? Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

2 C¸ch viÕt vµ sư dơng hµm

+ Nhắc lại kiến thức cũ hàm chuẩn -Hỏi: Hãy kể tên số hàm chuẩn học cách sử dụng chúng

+ Giíi thiƯu cÊu tróc chung vµ vị trí hàm chơng trình

- Cấu trúc vị trí hàm chơng trình

Program tên_chơng_trình_chính; Các khai báo chơng trình chính; Function tên_ham(danh sách tham số): Kiểu_dữ_liệu_của_hàm;

Các khai báo hàm; begin

Các lệnh hàm; Tên_hàm:=biểu_thức;

+ Suy nghĩ trả lời

- Hµm ABC(), SQRT(), ROUD()

- Viết tên hàm cần gọi tham số - Lời gọi hàm đợc viết biểu thức nh tốn hạng, chí tham số hàm khác

+ Quan s¸t cÊu tróc chung

- Gièng: Cã cÊu tróc tơng tự, có tham số

- Khác: Tên hàm phải quy định kiểu liệu; Trong thõn hm phi cú lnh

Tên_hàm:=biểu_thức;

(94)

End; BEGIN

Các kệnh hcơng trình chính; Lời gọi thực hiƯn hµm vµ thđ tơc; END

- Hỏi: So sánh giống khác hàm thủ tục

+ Tìm hiểu hàm thông qua ví dụ - Chiếu chơng trình ví dụ rutgon_phanso, sách giáo khoa trang 101 - Hỏi: chơng trình có hàm

- Hàm UCLN(x, y) dùng để làm gì? - Hỏi: Lời gọi hàm đâu?

- Hỏi: Có khác với thủ tục lời gọi hàm

- Chiếu chơng trình ví dụ 2, Minbaso, sách giáo khoa, trang 102

- Hỏi: chơng trình có hàm? Chức hàm?

- Có lời gọi hàm chơng trình chính?

+ Tìm hiểu biến cục biến toàn

- Chiếu chơng trình ví dụ 2: rutgon_phanso lên bảng

- Hi: Cú nhng bin đợc sử dụng chơng trình? Các biến đợc khao báo chỗ chơng trình?

- DiƠn gi¶i: BiÕn tuso, mauso, A cã ảnh hởng toàn chơng trình Biến Sodu ảnh hởng thân chơng trình - Yêu cầu học sinh: Phân biệt giống khác cđa biÕn toµn bé vµ biÕn cơc bé

+ Quan sát ví dụ trả lời

- Một hàm UCLN, dùng để tìm ớc số chung lớn hai số X, Y

-LÖnh A:=UCLN(tuso,mauso);

-Lời gọi hàm phải đợc đặt lệnh lời gọi chơng trỡnh khỏc

- Quan sát chơng trình vÝ dơ

- Có hàm đợc khai báo - Hàm đợc sử dụng hai lần

- Kết hàm lại đầu vào cho hàm lần gọi thứ hai

+ Quan sát lại ví dụ

- Quan sát chơng trình giáo viên - Có biến: tuso, mauso, A, sondu - Các biến: tuso, mauso, A đợc khai báo chơng trình

- Các biến: sodu đợc khai báo chơng trình

- Biến cục bộ: Có ảnh hởng ch-ơng trình con, đợc khai báo phần khai báo chơng trình

- Biết tồn bộ: Có phạm vi ảnh hởng tồn chơng trình, đợc khai báo phần khai báo chơng trình

IV Đánh giá cuối Những nội dung học - Có hai loại chơng trình

(95)

- Chơng trình có tham số hình thức khai báo đợc thay tham số thực gọi chơng trình

- Phân biệt tham số hình thức tham số thực Cách sử dụng tham biến tham trị - Chơng trình đợc gọi tên

Ngµy soạn: 21/02/2009 Tiết 43,44: ppct

Bài thực hành số I Mơc tiªu

KiÕn thøc.

- Củng cố lại kiến thức xâu kí tự, chơng trình Kĩ năng:

- Rèn luyện kĩ xử lí xâu việc tạo hiệu ứng chữ chạy hình - Nâng cao kĩ viết sử dụng chơng trình

II Đồ dùng dạy học Chuẩn bịi giáo viên

- Máy vi tính, tổ chức tịa phịng máy để học sinh có đợc kĩ việc tổ chức sử dụng chơng trình lập trình

Chn bÞ cđa häc sinh - S¸ch gi¸o khoa

III Hoật động dậy - học 1.ổn Định tổ chức lớp

- Sè hs líp - Sè hs v¾ng

2 KiĨm tra thiết bị 3 Néi dung

Tìm hiểu việc xây dùng hai thđ tơc catdan(s1, s2) vµ cangiua(s) a Mơc tiªu:

- Học sinh nắm đợc chức hai thủ tục catdan() cangiua() Biết đợc ý nghĩa tham số chơng trình

b Néi dung:

Thđ tơc cantdan

Type str79=string[79]

Procedure cantdan(s1:str79; var s2:str79); Begin

s2:=copy(s1,2,length(s1) – 1)+s1[1]; End;

Thđ tơc cangiua

Proceure cangiua(var s:str79); var i, n:integer;

Begin

n:=length(s); n:=(80 – n) div 2;

For i:=1 to n s:= ‘ ’ + s; End;

c Các bớc tiến hành:

hng dn giáo viên Hoạt động học sinh

Tìm hiểu hai thủ tục catdan(s1,s2) cangiua(s)

- ChiÕu néi dung thđ tơc catdan(s1,s2);

Quan sát thủ tục catdan() trả lời câu hỏi giáo viên

(96)

- Hỏi: Đầu vào đầu thủ tục nay?

- Hỏi: Chức thủ tục gì? - Yêu cầu học sinh cho ví dụ minh häa

- ChiÕu néi dung thđ tơc: cangiua(s); - Hỏi: Đầu vào thủ tục?

- Hái: Thđ tơc thùc hiƯn c«ng việc gì?

- Giáo viên ý: Có thể nhắc học sinh không khai báo s tham biến thủ tục hiệu lực lệnh đa s hình không nằm thủ tục Tìm hiểu chơng trình câu b, sách giáo khoa, trang 103, 104

- Chiếu chơng trình lên bảng - Hỏi: Chức chơng trình

- Giới thiệu cho học sinh thủ tục chuẩn: gỗty(x,y); delay(n); vµ keypressed;

- Thực chơng trình để giúp học sinh thấy kết chơng trinh Tìm hiểu yêu cầu đề

- Chiếu nội dung yêu cầu lên bảng - Yêu cầu học sinh tìm vấn đề tập ny

- Yêu cầu học sinh lập trình máy - Yêu cầu học sinh thực chơng trình nhập liệu test

- Đánh giá kết lập trình học sinh

- Vào: âu kí tự s1 - Ra: BiÕn x©u kÝ tù s2

- Thực việc tạo xâu s2 từ xâu s1 việc chuyển kí tự thứ đến vị trí cuối xâu

- S1= ‘abcd’ th× S2= ‘bcda’ - Quan sát, suy nghĩ trả lời

- Đầu vào xâu kí tự S không 79 kí tự

- Th tc thực thêm vào trớc xâu s số kí tự trằng để đa s hình kí tự S ban đầu đợc dòng gm 80 kớ t

Quan sát chơng trình bảng theo dõi dẫn dắt giáo viªn

- Yêu cầu ngời sử dụng nhập xau kí tự Đa xâu hình có dạng dịng chữ chạy hành văn 25*80 - Quan sát hình để đối chiếu với kết mà học sinh tự suy luận tớnh -c

Quan sát yêu cầu b¶ng

- Về bản, giống nh nhiệm vụ mà câu b làm Chỉ khác chơng trình câu b ln cho xâu kí tự chạy dịng Vì phải truyền tham số quy định dòng chạy cho thủ tục

- Độc lập viết chơng trình vào máy báo cáo kết thử nghiệm

- Nhập liệu theo test giáo viên báo cáo kết

IV Đánh giá cuối bài Câu hỏi bµi tËp vỊ nhµ

- Viết thủ tục chaychu(s,dong) nhận tham số xâu S gồm không 79 kí tự biến nguyên Dong In hình dịng chữ xác định S chạy dịng Dong Viết chơng trình thực có sử dụng thủ tục

(97)

Ngày soạn: 10/03/2009 Tiết 45,46: ppct

Bài thực hành sè I Mơc tiªu

KiÕn thøc:

- Củng cố lại kiến thức chơng trình con: Thủ tục, hàm, tham số biến tham số giá trị, biến toàn biến cục

Kĩ năng:

- Sử dụng đợc chơng trình để giải trọn vẹn tốn máy tính II Đồ dựng dy hc

Chuẩn bị giáo viªn

- máy vi tính, tổ chức phịng máy để học sinh có đợc kĩ việc tổ chức sử dụng chơng trình lập trình

Chuẩn bị học sinh - Sách giáo khoa

III Hoạt động dạy – học 1.ổn Định tổ chức lớp - Số hs lớp

- Sè hs v¾ng

2 KiĨm tra thiết bị Néi dung bµi míi

hớng dẫn giáo viên Hoạt động học sinh

T×m hiểu việc xây dựng hàm thủ tục

- Chiếu khai báo kiểu liệu diem tamgiac Chiếu hàm thủ tục lên bảng

- Hỏi: Chức chơng trình con?

- Cã c¸c tham sè nào? Tham số dạng tham số biến tham dạng tham số giá trị

Tìm hiểu chơng trình câu b, sách giáo khoa trang 106

- Chiếu chơng trình câub

- Hỏi: Chơng trình thực chơng trình gì?

- Thực chơng trình để giúp học sinh thấy kết

Quan s¸t chơng trình con, lệnh khai báo tham sè

- Chức chơng trình con: daicanh(); tính độ dài ba cạnh a, b, c tam giác r

chuvi():real; cho giá trị chu vi tam giác r

dientich():real; cho giá trị diện tích tam gi¸c r

tinhchat(); khẳng định tính chất tam giác: dều, cân vuông

hienthi(); hiển thi tọa độ ba đỉnh tam giác mn hỡnh

Kh_cách():real; cho giá trị khoảng cách hai điểm

- Tham số biến r, a, b, c - Tham số giá trị p, q

Quan sát chơng trình, dự tính chức chơng trình

- Nhp vào tọa độ ba đỉnh tam giác khảo sát tính chất tam giác: cân, vng, In chu vi diện tích tam giác

- Quan sát kết hình để đối chiếu với kết tự tính đợc

(98)

- Thay tham biến thành tham trị để học sinh thấy đợc sai khác

Phân tích yêu cầu đề - Chiếu nội dung yêu cầu lên bảng - Chia lớp thành nhóm

+ Nhóm 1: Nêu câu hỏi phân tích để giải tốn

+ Nhóm 2: Trả lời câu hỏi phân tích nhóm để tìm cách giải toỏn

- Giáo viên góp ý bổ sung cho câu hỏi phân tích trả lời phân tích

Lập trình

- Yêu cầu học sinh lập trình máy Giáo viên tiếp cận học sinh để sửa lỗi cần thit

- Yêu cầu học sinh nhập liệu vào giáo viên báo cáo kết chơng trình

- Đánh giá kết cña häc sinh

đợc hiệu ứng thay đổi tham tr v tham bin

1 Quan sát yêu cầu - Nhóm 1: Đặt câu hỏi + Dữ liệu vào

+ Dữ liệu

+ Cần sửa chỗ chơng trình c©u b

+ Thuật tốn để đếm số lợng loại hình tam giác

- Nhóm 2: trả lời câu hỏi phân tích + Cho tệp, phải viết lệnh đọc liệu tệp

+ Ba số nguyên dơng số lợng ba loại hình tam giác Ba số đợc ghi ba dòng tệp

+ Cần thay đoạn chơng trình nhập liệu chơng trình để đọc liệu từ tệp TAMGIAC.INP Thay đoạn ch-ơng trình in kết hình chơng trình để in ba số nguyên dơng số lợng ba loại hình tệp TAMGIAC.OUT

+ Thuật toán:

Nếu deu d:=d+1

Ngợc lại can c:=c+1; Ngợc lại v:=v+1;

c lp vit chng trình, thực chơng trình test tự tạo

- Thông báo kết cho giáo viên - Nhập liệu giáo viên báo cáo kết

IV Đánh giá cuối bài

Những nội dung học

- Cách xây dựng hàm thủ tục, cách khai báo tham số dạng tham biến tham trị - Tìm hiểu số chơng trình liên quan đến tam giác

C©u hái vµ bµi tËp vỊ nhµ

- Cho file liệu nh tập hoạt động

- Đọc đọc thêm: Ai lập trình viên đầu tiên? Sách giáo khoa, trang 109

Ngày đăng: 30/04/2021, 10:45

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w