Giáo án Tin học Lớp 11 - Tiết 12: Cấu trúc lặp - Nguyễn Thị Hà

doc 20 trang phanha23b 29/03/2022 3390
Bạn đang xem tài liệu "Giáo án Tin học Lớp 11 - Tiết 12: Cấu trúc lặp - Nguyễn Thị Hà", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • docgiao_an_tin_hoc_lop_11_tiet_12_cau_truc_lap_nguyen_thi_ha.doc

Nội dung text: Giáo án Tin học Lớp 11 - Tiết 12: Cấu trúc lặp - Nguyễn Thị Hà

  1. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH GIÁO ÁN Tiết 12 Ngày: 19/10/2007 Cấu trúc lặp I. Mục TIêU. 1.Kiến thức: - Biết được ý nghĩa của cấu trúc lặp - Biết đựơc cấu trúc chung của lệnh lặp For trong ngôn ngữ lập trình Pascal - Biết sử dụng đúng hai câu lệnh For trong ngôn ngữ lập trình Pascal 2. Kỷ năng: - Bước đầu sử dụng được lệnh For để giải quyết được một số bài toán đơn giản II. Đồ dùng dạy học Giáo viên: - Máy tính, máy chiếu Học sinh: SGK và vở ghi IV. NộI DUNG 1. ổn định lớp: 2. Hỏi bài cũ: Câu 1: Em hãy nêu cú pháp câu lệnh rẽ nhánh Câu 2 : Lập trình tìm giá trị lớn nhất của 3 số a,b,c 3. Nội dung bài mới Hoạt động 1: Tìm hiểu ý nghĩa của cấu trúc lặp a, Mục tiêu: Học sinh thấy được sự cần thiết của cấu trúc lặp trong lập trình b, Nội dung: Hoạt động của GV Hoạt động của HS Nội dung GV: nêu bài toán 1 1, Lặp: Bài toán 1: Tính và đưa kết quả ra màn hình tổng S= CH? Hãy xác định công thức -HS rất khó để xác toán học để tính tổng? Bài toán 1: định. GV gợi ý: Ta xem S là cái Việc tính cộng được lặp đi, thùng, các số hạng là các ca có - HS theo dõi gợi ý lặp lại cho đến khi thực dung tích khác nhau, khi đó hiện đến : việc tính tổng giống như việc - Số lần lặp được xác định đổ các ca nước vào thùng. trước. CH? Có bao nhiêu lần đổ nước vào thùng? -HS phải thực hiện CH? Mỗi lần đổ một lượng là 100 lần đổ nước bao nhiêu? - Mỗi lần đổ là: CH? Lần thứ i đổ một lượng là bao nhiêu? -HS trả lời: Phải viết 100 - Phải viết bao nhiêu lệnh tính lệnh ? CH? Việc tính cộng được dừng Giáo viên giảng dạy: Nguyễn Thị Hà
  2. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH lại khi nào? HS trả lời: Khi thực hiện đến lần thứ 100 GV: nêu bài toán 2 Bài toán 1: Tính và đưa kết quả ra màn hình tổng Bài toán 2: S= Việc tính cộng được lặp đi, CH? Hãy xác định công thức lặp lại cho đến khi thực toán học để tính tổng? hiện đến : HS rất khó để xác - Số lần lặp chưa được xác CH? Với bài toán này ta thực định. hiện việc tính cộng bao nhiêu định trước. lần? - HS trả lời: Chưa xác định được CH? Việc tính cộng được dừng lại khi nào? HS trả lời: Dừng khi : GV: Trong một số thuật toán có những thao tác phải thực hiện lặp đi, lặp lại nhiều lần. Một trong các đặc tính của máy là thực hiện hiệu quả các thao tác lặp. Các ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu trúc lặp đó Hoạt động 2:Tìm hiểu cấu trúc lặp với số lần biết trước và câu lệnh For-do * Mục tiêu: Học sinh biết - Học sinh biết được cấu trúc chung của lệnh For - Hiểu được nghĩa của các thành phần trong câu lệnh. Biết được sự thực của máy khi gặp For. Vẽ được sơ đồ thực hiện đó Hoạt động của GV Hoạt động của HS Nội dung CH? Thuật toán được biểu -HS trả lời gồm hai 2, Lặp với số lần biết trước diễn gồm mấy phương pháp? phương pháp. và câu lệnh For-do GV: yêu cầu học sinh hoạt động theo nhóm xây dựng -HS trao đổi và hoạt thuật toán cho bài toán trên. động theo nhóm Nhóm 1: Xây dựng thuật toán cho bài toán 1 bằng phương -HS trao đổi và hoạt pháp liệt kê. động theo nhóm Thuật toán bài toán 1: Nhóm 2: Xây dựng thuật toán Bước 1: S 100 thì động theo nhóm chuyển đến bước 5; Nhóm 3: Xây dựng thuật toán Bước 4: S <- S+1/(a+N) rồi cho bài toán 2 bằng phương quay lại bước 2. pháp liệt kê. -HS trao đổi và hoạt Bước 5: Đưa S ra màn hình, Giáo viên giảng dạy: Nguyễn Thị Hà
  3. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH động theo nhóm rồi kết thúc Nhóm 4: Xây dựng thuật toán cho bài toán 2 bằng phương -HS trao đổi và hoạt pháp so đồ khối. động theo nhóm GV: Sau 7 phút yêu cầu các Thuật toán bài toán 2: nhóm nêu lên các bước của Bước 1: S 100 trị N bắt đầu tham gia vòng lặp là bao nhiêu? HS trả lời: 101 CH?: Sau mỗi lần lặp N tăng thêm giá trị là bao nhiêu? -HS trả lời: giảm 1 CH?: Khi nào kết thúc lặp? GV: Để mô tả cấu trúc lặp với -HS trả lời: khi N := to do -HS lắng nghe và viết GV: giải thích về sự thực hiện vào vở Trong đó: của máy khi gặp câu lệnh này? Biến đếm, giá trị đầu, giá trị cuối cùng kiểu dữ liệu. Giá trị đầu < giá trị cuối -Sự hoạt động của máy khi gặp -HS lắng nghe và viết câu lệnh này: vào vở BĐ:= GTĐ BĐ<=GTC C Giáo viên giảng dạy: Nguyễn Thị HàCâu lệnh BĐ:=BĐ+1
  4. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH Dạng lặp lùi: For := Downto do Trong đó: Biến đếm, giá trị đầu, giá trị BĐ>=GTC cuối cùng kiểu dữ liệu. C Giá trị đầu < giá trị cuối -Sự hoạt động của máy khi gặp Câu lệnh câu lệnh này: BĐ:=BĐ-1 kT VI. Dặn Dò và Bài tập về nhà - Xem lại bài học về 2 câu lệnh lặp với số lần biết trước -Viết chương trình sử dụng câu lệnh lặp với cac bài toán sau : Bài toán 1: Tính tổng S= 1+2+3+ +n Bài toán 2: Bài toán cổ Vừa gà vừa chó Bó lại cho tròn Ba mươi sáu con Một trăm chân chẵn Giáo viên giảng dạy: Nguyễn Thị Hà
  5. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH GIÁO ÁN Tiết 13 Ngày: 30/10/2007 Cấu trúc lặp (tiết 2) I. Mục TIêU. 1.Kiến thức: - Biết được ý nghĩa của cấu trúc lặp - Biết sử dụng đúng hai câu lệnh For trong ngôn ngữ lập trình Pascal để giải quyết một số bài toán đơn giản 2. Kỷ năng: - Vận dụng câu lệnh for thành thạo để giải quyết bài toán II. Đồ dùng dạy học Giáo viên: - Máy tính, máy chiếu Học sinh: SGK và vở ghi IV. NộI DUNG 1. ổn định lớp: 2. Hỏi bài cũ: Câu 1: Em hãy nêu cú pháp câu lệnh For- do Câu 2 : Lập trình tính tổng S=1+2+ +n 3. Nội dung bài mới Hoạt động 1: Tìm hiểu một số ví dụ sử dụng câu lệnh For Hoạt động của GV và HS Nội dung GV: nêu nội dung bài toán tính tổng 1a. 1, Ví dụ: Bài toán 1: 1 1 1 1 S = a a 1 a a n2 a 100 1 1 1 1 S= CH? Xác định giá trị đầu và giá trị cuối? a a 1 a a n2 a 100 (Giá trị đầu: 1; Giá trị cuối : 100) CH? Xác định công thức lặp cần thực hiện trong Chương trình: chương trình? Program Tong_1a; 1 ( S:= S+ ) USES Crt; a i Var GV: Chia nhóm yêu cầu học sinh hoàn thành N,a: Integer; chương trình? S: Real; Begin Các nhóm nạp bài của nhóm vè cử đại diện một CLrscr; nhóm lên viết chương trình? Writeln(‘Nhap vao gia trị a:’); GV: Nhận xét và bổ sung Realdln(a); S:=1.0/a; For N:= 1 to 100 Do S:= S+1/(a+N); Writeln(‘Tong S la: ’, S:8:4); Readln; GV: Nêu bài toán 2 End. Bài toán: Viết ra màn hình 2 dòng sau với mỗi Bài toán 2: Viết ra màn hình 2 dòng số 3 vị trí: sau với mỗi số 3 vị trí: 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 Giáo viên giảng dạy: Nguyễn Thị Hà
  6. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 CH? BT cần sử dụng mấy vòng lặp For (2 vòng For: Gồm dạng tiến và dạng lùi) CH? Giá trị đầu, giá trị cuối: Chương trình: (Giá trị đầu: 1; Giá trị cuối: 9) Program viet_so; CH? Dòng 1 sử dụng lệnh For tiến hay For lùi? Var (For tiến dòng 1, For lùi vòng 2). i:Byte; GV: Hãy hoàn thành chương trình Begin For i:=1 to 9 do Write (i:3); For i:=9 Downto 1 do Write(i:3); Readln; End. GV: Nêu bài toán 3: Bài toán 3: Nhập vào bàn phím hai số CH?Em hãy viết biểu thức với I là số chia hết nguyên dương M và N(M<N), tính và cho 3 hoặc chia hết cho 5: đưa ra màn hình tổng các số chia hết (I mod 3 =0)OR(i mod 5=0) cho 3 hoặc trong phạm vi từ M đến N CH? Giá trị đầu, giá trị cuối? (Giá trị đầu: M; giá trị cuối N) Chương trình: CH? Với bài toán này cần sử dụng các câu lệnh Program Tong; gì? Uses crt; (câu lệnh For và câu lệnh If) . Var GV: yêu cầu học sinh hoàn thiện chương trình M,N,i: Integer; T:Longint; Begin Clrscr; Writeln(‘nhap vao M va N:’); Readln(M,N); T:=0; For i:=M To N Do If (i mod 3=0) Or (i mod 5=0) then T:=T+1; Writeln(‘ket qua:’, T); readln; End. VI. Dặn Dò và Bài tập về nhà Giải bài tập 5a, SGK, trang 51 Xem trước nội dung cấu trúc lặp với số lần chưa xác định While Do Giáo viên giảng dạy: Nguyễn Thị Hà
  7. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH GIÁO ÁN Tiết 14 Ngày: 05/11/2007 Cấu trúc lặp (tiết 3) I. Mục TIêU. 1.Kiến thức: - Biết được ý nghĩa của cấu trúc lặp có số lần chưa xác định - Biết được cấu trúc chung của lệnh lặp While trong ngôn ngữ Pascal. - Biết được sự thực hiện của máy khi gặp lệnh lặp For 2. Kỷ năng: - Phân biệt được sự giống và khác nhau giữa cấu trúc lặp For và While. - Sử dụng đúng lệnh lặp While trong lập trình. - Bước đầu biết lựa chọn đúng dạng lệnh lặp để lập trình giải quyết được một số bài toán đơn giản. II. Đồ dùng dạy học Giáo viên: - Máy tính, máy chiếu Học sinh: SGK và vở ghi IV. NộI DUNG 1. ổn định lớp: 2. Hỏi bài cũ: Câu 1: Em hãy nêu cú pháp câu lệnh For- do 1 1 1 1 Câu 2 : Lập trình tính tổng S= 1 2 3 n 3. Nội dung bài mới Hoạt động 1: Tìm hiểu ý nghĩa của câu lệnh lặp có số lần chưa xác định Hoạt động của GV và HS Nội dung GV: nêu nội dung bài toán tính tổng 1a. 1, Ví dụ: Bài toán 1: 1 1 1 1 S = a a 1 a 2 a N 1 1 1 1 1 S= cho đến khi 0,0001 a a 1 a 2 a N a n GV: chiếu hai bài toán để học sinh thấy được Bài toán trước cho giới hạn N và so sánh bài toán này giới hạn tổng S CH? Xác định giá trị đầu và giá trị cuối? Chưa xác định được chỉ khi điều kiện (Giá trị đầu: 1; Giá trị cuối : không xác định 1 0,0001 thỏa mãn thì kết thúc được) a n CH? Sự khác nhau của bài toán này với bài toán 1a? CH? lặp bao nhiêu lần? (không xác định) CH? lặp cho đến khi nào thì kết thúc Kết luận: Qua hai ví dụ ta thấy được có một dạng bài toán cos sự lặp lại của một số lệnh nhưng không biết trước được số lần lặp. Cần có Giáo viên giảng dạy: Nguyễn Thị Hà
  8. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH một cấu trúc điều khiển lặp lại một công việc nhất định khi thảo mãn một điều kiện nào đó? Hoạt động 2: Tìm hiểu cấu trúc lệnh lặp While trong ngôn ngữ lập trình Pascal Hoạt động của GV và HS Nội dung 1, Câu lệnh lặp với số lần chưa biết trước GV: nêu cú pháp của câu lệnh a, Cú Pháp: (HS chú ý và lắng nghe) While Do ; GV: giải thích từng nội dung Trong đó: (HS chú ý và lắng nghe) Điều kiện: là biểu thức logic Câu lệnh: là một câu lệnh đơn hoặc GV: nêu sự hoạt động của máy tính khi ghép. nếu là câu lệnh ghép thì nó được gặp câu lệnh này. đặt trong cặp câu lệnh (Begin end;) Khi gặp câu lệnh máy thực hiện kiểm tra b, Sự hoạt động của máy tính khi gặp điều kiện trước. nếu điều kiện đúng thì câu lệnh này thực hiện các câu lệnh sau từ khóa Do Bước 1: Tính giá trị của điều kiện nếu điều kiện sai thì thoát ra khỏi vòng Bước 2: Nếu (điều kiện) có giá trị đúng thì lặp. thực hiện câu lệnh lặp, quay lại bước 1 (HS chú ý và lắng nghe) Sơ đồ hoạt động của máy : (HS quan sát sơ đồ khối về sự hoạt động của câu lệnh While) Điều kiện Câu lệnh Hoạt động 3: rèn luyện kỹ năng vận dụng lệnh lặp While Hoạt động của GV và HS Nội dung GV: yêu cầu học sinh vận dụng câu lệnh Bài toán 1: lặp While để làm bài toán 1: 1 1 1 1 S = GV: chiếu thuật toán bằng sơ đồ khối a a 1 a 2 a N của bài toán lên để học sinh quan sát. 1 cho đến khi 0,0001 CH? Điều kiện của bài toán là gì? a n 1 (HS trả lời: khi 0,0001) thì dừng a n Công việc được lặp đi lặp lại của bài toán này là tính cộng? Với công thức Giáo viên giảng dạy: Nguyễn Thị Hà
  9. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH nào? (S:=S+1.0/(a+N)); CH? Sau mỗi lần kiểm tra điều kiện biến N phải ntn? (Biến N phải tăng lên 1) Chương trình: GV: Yêu cầu học sinh hoạt động nhóm Program Tong_1a; để hoàn thiện chương trình? USES Crt; Var N,a: Integer; S: Real; Begin CLrscr; Writeln(‘Nhap vao gia trị a:’); Realdln(a); S:=1.0/a;N:=0; While not (1/(a+N) N thì M:=M-N và ngược lại N:= N-M) CH? Công việc sô sánh cứ lặp đi, lặp lại cho dến khi nào? (HS trả lời: Khi M=N) CH? Vậy điều kện bài toán sử dụng vòng lặp While ở đây là gì? Điều kiện: M<>N . GV: yêu cầu học sinh về nhà hoàn thành chương trình? I. Dặn Dò và Bài tập về nhà - Bài tập về nhà: Lãi suất tiết kiệm Một người có số tiền là S, ông ta gửi tiết kiệm ngân hàng với lãi suất 0,7% tháng. Hỏi sau bao nhiêu tháng người đó có số tiền lớn hơn S1 đồng? - Giải bài tập 5b, 7,8 SGK: - Xem nội dung bài thực hành số 2 Giáo viên giảng dạy: Nguyễn Thị Hà
  10. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH GIÁO ÁN Tiết 15 Ngày: 07/11/2007 Bài tập và thực hành I. Mục TIêU. 1.Kiến thức: - Nắm chắc cấu trúc và sơ đồ thực hiện của cấu trúc rẽ nhánh 2. Kỷ năng: - Rèn luyện kĩ năng sử dụng cấu trúc rẽ nhánh trong việc lập trình giải một số bài toán cụ thể. - Làm quen với các công cụ phục vụ và hiệu chỉnh chương trình II. Đồ dùng dạy học Giáo viên: - Phòng máy tính, máy chiếu để hướng dẫn Học sinh: SGK và SBT và bìa tập đã viết ở nhà IV. NộI DUNG 1. ổn định lớp: 2. Nội dung bài mới Hoạt động 1: Tìm hiểu bài toán và thuật toán Hoạt động của GV và HS Nội dung Bài toán: Bộ số Pi-ta-go: Bài toán: Bộ số Pi-ta-go GV: Nêu ý tưởng của bài toán: Kiểm tra xem ý tưởng: có đẳng thức nào trong ba đẳng thức sau đây a2 = b2+c2 xảy ra hay không: b2= a2+c2 a2 = b2+c2 c2= a2 + b2 b2= a2+c2 c2= a2 + b2 Input: Đưa vào 3 số a,b,c CH? Xác định Input và Output của bài toán? Output: Bộ 3 số có phải là bộ số Pi-ta-go GV: Giúp học sinh phân tích thuật toán GV: Chiếu chương trình lên bảng (HS quan sát và gõ chương trình ). GV: Yêu cầu học sinh gõ chương trình vào máy GV: Quan sát học sinh gõ vào máy. GV? yêu cầu học sinh lưu chương trình vừa gõ Lưu chương trình : ấn F2 vào đĩa với tên là “PITAGO” Tên chương trình: PITAGO.PAS GV: Yêu cầu học sinh thực hiện từng lệnh của Bấm phím F7 chương trình. Nhập các giá trị vào a=3, b=4, c=5. Kết quả : Là bộ 3 số PITAGO HS trả lời kết quả. - Nhập vào a, b, c bất kỳ và trả lời kết quả Chọn menu Debug để mở cửa sổ hiệu chỉnh - Quan sát quá trình rẽ nhánh của từng bộ dữ liệu vào và trả lời Giáo viên giảng dạy: Nguyễn Thị Hà
  11. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH Hoạt động 2: Rèn luyện kỹ năng lập trình hoàn thiện một bài toán: Hoạt động của GV và HS Nội dung Giáo viên nêu bài toán: Bài toán: Viết chương trình giải phương trình bậc nhất CH? Xác định Input và Output của bài Input: nhập vào a, b toán ? Output: Nghiệm của phương trình CH? bài toán này sử dụng câu lệnh re nhánh gồm mấy câu lệnh? GV: Yêu cầu học sinh độc lập viết và gõ Nhập giá trị a, b: chương trình lên máy a=5; b=6 a=0; b=0 a=0; b=5 Chương trình giải bậc nhất Program bac_nhat; uses crt; var a,b: integer; x:real; begin clrscr; Write (’nhaap vao a va b:’); Readln(a,b); If a =0 then if b=0 then Write(‘phuong trinh vo so nghiẹm’) else writeln(‘phuong trinh vo nghiem’); x=(-b/a); Writeln(‘Nghiem cua phuong trinh la:’,x:5:2); readln; End. VI. Dặn Dò và Bài tập về nhà - Bài tập về nhà: Bài 1: Viết chương trình nhập vào độ dài ba cạnh và kiểm tra xem 3 cạnh này có lập thành một tam giác hay không?Tính chu vi và diện tích của tam giác đó. Bài 2: Viết chương trình nhập vào 3 số bất kỳ và tìm giá trị bé nhất của 3 số đó - xem lại các bài toán xây dựng bằng câu lệnh lặp để tiết sau thực hành. Giáo viên giảng dạy: Nguyễn Thị Hà
  12. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH GIÁO ÁN Tiết 16 Ngày: 08/11/2007 Bài tập và thực hành (tiết 2) I. Mục TIêU. 1.Kiến thức: - Củng cố lại cho học sinh những kiến thức liên quan đến tổ chức đến tổ chức rẽ nhánh và lặp: cấu trúc lặp, sơ đồ thực hiện, sự thực hiện của máy khi gặp lệnh lặp 2. Kỷ năng: - Rèn luyện kĩ năng sử và linh hoạt trong việc lựa chọn cấu trúc rẽ nhánh và cấu trúc lặp phù hợp để giải quyết bài toán đặt ra. II. Đồ dùng dạy học Giáo viên: - Máy tính, máy chiếu để giới thiệu ví dụ minh họa - Học sinh: SGK IV. NộI DUNG 1. ổn định lớp: 2. Nội dung bài mới Hoạt động 1: Nhắc lại kiến thức đã học về tổ chức rẽ nhánh và lặp Hoạt động của GV và HS Nội dung GV: Gọi 1 em lên bảng viết cấu trúc lệnh rẽ 1, Cấu trúc với lệnh rẽ nhánh nhánh dạng đầy đủ và dạng thiếu GV: Gọi 1 Hs lên bảng vẽ sơ đồ khối về sự Dạng thiếu:IF Then ; hoạt động của câu lệnh rẽ nhánh với 2 dạng Dạng đủ: IF Then Else ; GV: Gọi 1 em lên bảng viết cấu trúc lệnh lặp Câu lệnh For: với số lần lặp xác định Dạng tiến: For := to do Dạng lùi: For := Downto do GV: Gọi 1 em lên bảng viết cấu trúc lệnh lặp với số lần lặp chưa xác định Câu lệnh : While Do While Do ; Hoạt động 2: Rèn luyện kỹ năng lập trình hoàn thiện một bài toán giải bằng cấu câu lệnh rẽ nhánh Hoạt động của GV và HS Nội dung GV: Nêu bài toán tìm giá trị lớn nhất Bài toán: Tìm Max của 3 số a,b,c bất kỳ của 3 số bất kỳ được nhạp vào từ bàn nhập vào từ bàn phím Giáo viên giảng dạy: Nguyễn Thị Hà
  13. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH phím CH? cách giải tìm giá trị lớn nhất của 3 Max:=a; số: IF Max b thì a so sánh với c ngược lại b so sánh với c). GV: Yêu cầu tiến hoạt động nhóm để hoàn thiện chương trình : Hoạt động 3: Rèn luyện kỹ năng lập trình hoàn thiện một bài toán giải bằng cấu câu lệnh lặp Hoạt động của GV và HS Nội dung GV: Bài toán cổ Bài toán 1: Bài toán cổ GV: Gợi ý gồm có 36 con gà và chó Vừa gà vừa chó Có 100 chân gà+ chân chó Bó lại cho tròn Ba mươi sáu con Một trăm chân chẵn. Hỏi có bao nhiêu con mỗi loại? CH? Bài này chúng ta nên giải như thế nào ? Gọi chó là : i Lập được : gà+ chó =(36) Gà là J: gà *2 + chó *4 =100 (chân) Ta có : J nhận giá trị từ 1-24 CH? nên sử dụng với vòng lặp gì để thực Ta có vòng lặp For như sau: hiện việc thử các giá trị của gà để tìm ra For J:= 1 To 24 Do giá trị của chó. If (J*4 + (36-j)*2=100) then (HS trả lời) Sử dụng với vòng lặp For Writeln(‘So cho la:’,J,’So cho la’,i); Readln; GV: Yêu cầu học sinh hoàn thiện End. chương trình cho bài toán cổ. Bài toán 2: Tìm số nguyên dương N nhỏ nhất thỏa mãn GV: Với bài toán 2 ta đã xác định được 1 1 1 1+ >a số lần lặp là bao nhiêu chưa? 2 3 N CH? Bài toán tính tổng dừng khi nào ? ( Khi S> a) S:=1; N:=1; CH? ta nên sử dụng câu lệnh gì? While S<=a Do (Lặp với số lần chưa xác định) Begin inc(n); S:=S+1/n; GV: yêu cầu học sinh về nhà hoàn thiện End. bài toán này VI. Dặn Dò và Bài tập về nhà - Bài tập về nhà: bài 7 và bài 8: SBT Giáo viên giảng dạy: Nguyễn Thị Hà
  14. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH - Xem trước bài tập trong SBT với câu lệnh lặp Giáo viên giảng dạy: Nguyễn Thị Hà
  15. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH Tiết 17 Giáo án Ngày: 08/11/2007 Luyện tập cấu trúc lặp I. Mục TIêU. 1.Kiến thức: - Củng cố lại cho học sinh những kiến thức liên quan đến tổ chức đến câu lệnh lặp 2. Kỷ năng: - Rèn luyện kĩ năng sử dụng cấu trúc câu lệnh lặp trong việc lập trình giải một số bài toán cụ thể. - Làm quen với các công cụ phục vụ và hiệu chỉnh chương trình II. Đồ dùng dạy học Giáo viên: - Phòng máy tính, máy chiếu để hướng dẫn Học sinh: SGK và SBT và bài tập đã viết ở nhà IV. NộI DUNG 1. ổn định lớp: 2. Nội dung bài mới Hoạt động 1: Rèn luyện kỹ năng lập trình hoàn thiện một bài toán giải bằng cấu trúc lặp với số lần biết trước: Hoạt động của GV và HS Nội dung 50 n 50 GV: nêu bài toán Y=  n n 1 n 1 Bài toán: Y=  CH? Em hãy viết bài toán dưới dạng khác ? n 1 n 1 CH? bài toán này số lần lặp đã xác định được 1 2 50 Y= chưa? 1 1 2 1 50 1 (Số lần lặp 50) Công thức lặp được tính là gì? Công thức lặp: n n Y:=Y+ Y:=Y+ n 1 n 1 CH? Giá trị đầu? Giá trị cuối? (Giá trị đầu n=1; Trong đó: n đi từ 1 đến 50 giá trị cuối n=50). GV: Chiếu chương trình lên (HS quan sát và gõ chương trình vào máy) -Lưu chương trình: F2 GV: Yêu cầu học sinh gõ xong lưu chương Tên: Tong.Pas trình với tên là “Tong” Hiệu chỉnh: Alt+F9 GV: Yêu cầu học sinh hiệu chỉnh chương trình, Chạy chương trình: Ctrl +F9 chạy chương trình thông báo kết quả Giáo viên giảng dạy: Nguyễn Thị Hà
  16. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH Hoạt động 2: Rèn luyện kỹ năng lập trình hoàn thiện một bài toán giải bằng cấu trúc lặp với số lần chưa biết trước: Hoạt động của GV và HS Nội dung GV: nêu bài toán 5b/SGK Bài toán: 1 1 1 1 Tính e(n)=1+ + 1! 2! 3! n! 1 6 CH? Bài toán tính tổng ddược thực hiện cho đến khi: 2*10 cho đến khi nào thì dừng? n! (HS trả lời đến khi thỏa mãn điều kiện 1 2 * 10 6 ) n! CH? Bài toán này việc tính cộng được lặp bao nhiêu lần? (Không trả lời được) CH? Vậy bài toán này số lần lặp ta có xác định được không? (Chưa xác định được). Ch? Ta nên sử dụng cấu trúc điều khiển lặp nào thì phù hợp ? Trả lời: cấu trúc lặp với số lần chưa xác định: câu lệnh While Do Chương trình Program Tinh_ e; GV: yêu cầu học sinh gõ vào máy Uses crt; GV: Học sinh lưu chương trình vào máy, Var hiệu chỉnh và chạy chương trình? n: Longint; e,sh: Real; Begin Clrscr; e:=1; n:=1; Sh:=1/1; While sh>=0.000002 Do Begin n:=n+1; Sh:=Sh*(1/n); e:=e+Sh; End; Writeln(‘Giá trị e(n) là:’, e:10: 6’); End. VI. Dặn Dò và Bài tập về nhà - Bài tập về nhà: bài 7 và bài 8: SBT - Xem trước bài tập trong SBT với câu lệnh lặp Giáo viên giảng dạy: Nguyễn Thị Hà
  17. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH GIÁO ÁN TiếT 19 Ngày: 08/11/2007 Kiểm tra 1 tiết I. Mục TIêU. 1.Kiến thức - Giúp học sinh vận dụng những kiến thức đã học vào việc giải các bài toán trên máy viết bằng ngôn ngữ lập trình - Giúp học sinh củng cố lại các kiến thức thông qua bài kiểm tra 2. Kỹ năng: Học sinh giải quyết được bài toán sử dụng cấu trúc rẽ nhánh và cấu trúc lặp 3. Thái độ Nghiêm túc trong kiểm tra. II. đề ra. Phần A: Trắc Nghiệm Câu 1: Chọn ý đúng bằng cách khoanh tròn A, Trong những biểu diễn dưới đây , biểu diễn nào không là từ khóa trong Pascal a, END b, Integer c, Sqrt d, ‘End’ e, Real f, Var B, Chương trình dịch Pascal sẽ cấp phát bao nhiêu Byte bộ nhớ cho các biến trong khai báo sau? Var M,N,J: Integer; P,A,B,C: Real; X: Byte; K,Q: Word a, 25 b, 28 c, 26 d, 29 e, 27 f, 30 Câu 2: Chọn câu trả lời đúng : A, Xét chương trình Pascal sau: Program Chon_Y; Var X,Y:Real; Begin Write (‘X=’); Readln(x); y:= (((x+2)*x+3)*x+4)*x+5; Writeln(‘Y=”,y); End. Chương trình trên tính giá trị của biểu thức nào trong số các biểu thức sau? A, y=x+2x+3x+4x+5; B, y=(x+2)(x+3)(x+4)+5; C, y= x4 + 2x3 + 3x2+4x+5 B, Một chương trình Pascal đầy đủ gồm có mấy phần a, 2 b, 4 c, 3 d, 5 Câu 3: Xét biểu thức lôgic : (n div 100>0) and (n div 1000=0). Khẳng định nào sau đây là đúng a, Kiểm tra n có chia hết cho 10000 hay không b, Kiểm tra xem n có bốn chữ số có nghĩa hay không c, Kiểm tra xem n có ba chữ số có nghĩa hay không d, Kiểm tra N có nhỏ hơn 10000 hay không Pnần B: Tự luận Câu 1: Hãy viết biểu thức lôgic kiểm tra N là một số dương chẵn Câu 2: Lập chương trình giải phương trình bậ hai Giáo viên giảng dạy: Nguyễn Thị Hà
  18. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH GIÁO ÁN Tiết 20 Ngày: 20/11/2007 Bài 11: Kiểu mảng I> Mục tiêu 1.Kiến thức: - Hiểu được khái niệm kiểu dữ liệu có cấu trúc - Biết được ngôn ngữ lập trình cho phép tạo ra các kiểu dữ liệu có cấu trúc trên cơ sở các kiểu dữ liệu chuẩn - Một kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở theo một số kĩ thuật tạo kiểu do ngôn ngữ lập trình quy định - .Kiểu dữ liệu xác định bởi hai yêu tố : phạm vi đối tượng và cấc thao tác trên những đối tượng này. 2. Kỷ năng: - Biết cách mô tả kiểu dữ liệu trong ngôn ngữ lập trình Pascal. - Biết cách sử dụng đúng các thao tác vào/ra dữ liệu cho biến thuộc kiểu dữ liệu có cấu trúc. - Biết sử dụng đúng các phép toán trên các thành phần cơ sở tùy theo kiểu của các thành phần cơ sở. 3. Thái độ - Tiếp tục xây dựng lòng yêu thích giải bài toán trên máy vi tính II. PHươNG PHáP. - Thuyết trình kết hợp phát vấn học sinh. III. Chuẩn Bị. Giáo viên: - Máy tính, máy chiếu dùng để trình chiếu các ví dụ. - Một số chương trình mẫu. - Học sinh chuẩn bị sách giáo khoa. IV. NộI DUNG 1,. ổn định lớp : Kiểm tra sĩ số 2, Hỏi bài cũ Câu hỏi : Em hãy nêu cách khai báo biến? 3. Nội dung bài mới:: Hoạt động 1: Tìm hiểu ý nghĩa của mảng một chiều * Mục tiêu: + Biết được ý nghĩa và sự cần thiết của mảng một chiều trong việc giải quyết một số bài toán + Biết được khái niệm kiểu mảng một chiều * Nội dung: Hoạt động của giáo viên Hoạt động của học sinh GV:chiếu đề bài và chương trình ví dụ lên bảng -Phải khai báo quá nhiều biến Hỏi? Khi N lớn thì chương trình trên hạn chế ntn? - Chương trình viết dài GV: Để khắc phục những hạn chế trên, người ta thường ghép chung 7 biến trên thành một dãy và đặt cho nó chung một cái tên và đánh cho một phần tử một chỉ số Hỏi? Em hiểu thế nào là mảng một chều - Mảng một chiều là dãy hữu hạn cấc phần tử có cùng kiểu Dl.Các Giáo viên giảng dạy: Nguyễn Thị Hà
  19. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH phần tử trong mảng cùng chung một tên và phân biệt bởi chỉ số Hỏi? Để mô tả mảng một chiều ta cần xác định - Xác định kiểu của các phần tử những yếu tố nào? và cách đánh số các phần tử của nó Hoạt động 2: Tìm hiểu tạo kiểu mảng một chiều và cách khai báo kiểu mảng * Mục tiêu: Học sinh biết được cách tạo kiểu mảng một chiều trong ngôn ngữ lập trình Pascal, biết cách khai báo biến và tham chiếu đến từng phần tử mảng Hoạt động của giáo viên và học sinh Nội dung Hỏi? cách tạo kiểu dữ liệu mảng một chiều trong Cách định nghĩa mảng 1 chiều: ngôn ngữ lập trình Pascal. - TYPE =ARRRAY [ kiểu chỉ số] OF ; GV: nêu ví dụ Tạo một mảng gồm 100 phần tử có Ví dụ: kiểu nguyên với tên mảng là A TYPE A =ARRRAY [1 100] OF Integer; GV: Chiếu lên bảng một số khai báo kiểu mảng một chiều. a, cách khai báo biến mảng Hỏi? Những khai báo nào đún. Có hai cách: Hỏi? Nêu cách khai báo biến Cách 1: Var :Array[ kiểu Hỏi? Em hãy khai báo biến mảng cho ví dụ đầu chỉ số] OF ; bài về tính nhiệt độ trong tuần? Ví dụ: Var T: Array[ 1 7] OF Real; Cách 2: GV: Nêu cách 2: TYPE =ARRRAY [ kiểu chỉ số] OF ; GV: Giới thiệu cách tham chiếu tới từng phần tử Var : * Cách tham chiếu: Được xác định bởi tên mảng cùng với chỉ số Hỏi? Nhietdo[20] là tham chiếu tới ngày thứ mấy Ví dụ: A[1]: Là phần tử ở vị trí 1 của nhiệt độ? của mảng A A[i]: Là phần tử ở vị trí i của mảng A V. Củng cố: 1. Nhắc lại những khái niệm đã học: 2. Câu hỏi cũng cố. VI. Dăn dò- Bài tập về nhà - Bài tập sách giáo khoa. - Bài tập tin học - Xem trước mục 1b và 2 a Giáo viên giảng dạy: Nguyễn Thị Hà
  20. Trường THPT Đô Lương I - Giáo án tin 11 - Ban KHXH Giáo viên giảng dạy: Nguyễn Thị Hà