1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tin hoc 11 bai tiet 8 12

18 34 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

Nội dung

+ Hiểu được cấu trúc lặp với số lần biết trước và câu lệnh FOR - DO - Kĩ năng: Bước đầu sử dụng được lệnh lặp FOR để lập trình giải quyết được một số bài toán đơn giản - Thái độ: Khơi gợ[r]

(1)Ngày soạn : Tiết PPCT… Ngày dạy: Bài BÀI THỰC HÀNH SỐ I/ Mục tiêu: Về kiến thức: - Biết chương trình Pascal hoàn chỉnh - Biết sử dụng số dịch vụ chủ yếu Pascal soạn thảo, lưu, dịch và thực chương trình Về kỹ năng: - Viết chương trình đơn giản, lưu chương trình trên đĩa, dịch lỗi cú pháp, thực và tìm lỗi thuật toán, hiệu chỉnh - Bước đầu biết phân tích và hoàn thành chương trình đơn giản trên Pascal Free Pascal Về tư và thái độ: - Hình thành cho học sinh bước đầu tư lập trình có cấu trúc - Tự giác, tích cực và chủ động hoàn thành, II/ Chuẩn bị giáo viên và học sinh: + Giáo viên: Phòng máy tính đã cài sẵn chương trình Turbo Pascal Free Pascal, các chương trình làm ví dụ + Học sinh: - Sách giáo khoa, sách bài tập và bài viết sẵn nhà - Đọc trước phần phụ lục B1 trang 122 - Môi trường Turbo Pascal - Xem trước nội dung bài thực hành số III/ Phương pháp: Gởi mở thông qua hoạt động tư IV/ Tiến trình bài dạy: Hoạt động 1: Kiểm tra nội dung thực hành và khởi động máy Hoạt động giáo viên Hoạt động học sinh Ghi bảng - GV kiểm tra chuẩn bị nội - HS để nội dung thực hành dung thực hành học sinh trước mặt - GV hướng dẫn học sinh khởi - Chý ý hướng dẫn GV động máy, và khởi động chương để khởi động máy và trình Turbo Pascal Free chương trình Turbo Pascal Pascal Free Pascal Hoạt động 2: Tìm hiểu chương trình Pascal hoàn chỉnh Hoạt động giáo viên Hoạt động học sinh Ghi bảng - GV ghi chương trình - Học sinh quan sát trên Chương trình giải phương trình Giai_PTB2 lên bảng bảng và độc lập gõ chương bậc hai: - GV yêu cầu học sinh đọc và gõ trình vào máy program Giai_PTB2; chương trình Giai_PTB2 trên uses crt; bảng var a, b , c, D: real; x1, x2: real; begin clrscr; write(‘ a, b, c: ‘); readln(a, b, c); D:=b*b - 4a*b*c; x1:= (-b - sqrt(D))/(2*a); x2:= -b/a - x1; write(‘x1 = ‘, x1 : : 2, ’x2: = ‘, x2 : : 2); (2) readln - GV yêu cầu học sinh thực - Nhấn phím F2 và gõ end các nhiệm vụ sau: PTB2.PAS + Lưu chương trình cách nhấn phím F2 với tên - Nhấn phím Alt+F9 PTB2.PAS + Dịch và sửa lỗi cú pháp với tổ - Nhấn phím Ctrl+F9 hợp phím Alt+F9 + Thực chương trình với tổ - x1 = 1.00 x2 = 2.00 hợp phím Ctrl+F9 + Nhập các giá trị 1; -3; và readln(a, b, c); Thông báo kết máy đưa - Nhấn phím Enter x1:= (-b - sqrt(b*b 4a*b*c))/(2*a); + Trở màn hình soạn thảo - Nhấn phím Ctrl+F9 x2:= -b - x1; phím Enter - Thông báo lỗi và cho biết write(‘x1 = ‘, x1 : : 2, + Tiếp tục thực chương trình vì sao: Do bậc hai ’x2: = ‘, x2 : : 2); + Nhập các giá trị ; ; -2 số âm Thông báo kết máy đưa readln(a, b, c); - Sửa lại: x1:= (-b - sqrt(b*b HỎI: Vì lại có lỗi xuất hiện? 4a*b*c))/(2*a); + Sửa lại chương trình trên x2:= (-b + sqrt(b*b không dùng đến biến D và thực 4a*b*c))/(2*a); chương trình đã sửa write(‘x1 = ‘, x1 : : 2, + Sửa lại chương trình cách - Tiếp tục sửa lại: ’x2: = ‘, x2 : : 2); thay đổi công thức tính x2 - x1 = 2.00 x2 = 3.00 + Thực chương trình đã sửa với liệu ; - ; Thông - x1 = 2.00 x2 = 3.00 báo kết + Thực chương trình với - Thông báo lỗi với lý liệu ; ; Thông báo kết delta pt là số âm Hoạt động 3: Rèn luyện thêm kỹ lập trình cho học sinh Hoạt động giáo viên Hoạt động học sinh Ghi bảng - GV yêu cầu học sinh hãy viết - Nghe và nhận nhiệm vụ chương trình tính diện tích tam giác biết độ dài ba - Phân tích theo yêu cầu cạnh nó giáo viên: - GV định hướng để học sinh + Dữ liệu vào ba cạnh a; ; phân tich bài toán b;c + Dữ liệu vào (Input) + Dữ liệu S: + p:= (a+b+c)/2 +Diệu liệu (Output) S: = sqrt(sqr(p-a)*sqr(p+ Cách tính: b)*sqr(p-c)) - Thực theo yêu cầu giáo viên: - GV yêu cầu học sinh soạn và + Soạn chương trình chạy chương trình lên đĩa + Bấm phím F2 để lưu chương trình +Bấm Alt+F9 để dịch lỗi cú pháp (3) + Bấm Ctrl+F9 để chạy - GV yêu cầu học sinh nhập chương trình liệu và thông báo kết ; + Thông báo kết cho a = 3; b = 6; c = giáo viên a = 2; b = 5; c = 10; - Học sinh thông báo kết Hoạt động 4: Củng cố buổi thực hành và bài tập nhà Hoạt động giáo viên Hoạt động học sinh Ghi bảng Gv nhắc lại các bước hoàn - Chú ý và ghi nhớ thành chương trình + Phân tích bài toán để xác định liệu vào/ + Xác định thuật toán + Soạn chương trình + Lưu chương trình + Biên dịch chương trình - Về nhà làm bài tập trang + Thực và hiệu chỉnh 35 và 36 chương trình - Làm bài tập trang 35 và 36 Rút kinh nghiệm: (4) (5) Ngày soạn: Tiết PPCT: Ngày dạy: BÀI TẬP I Mục Tiêu Kiến thức: - Củng cố nội dung đã học chương Kĩ năng: - Biết sử dụng các thủ tục chuẩn vào/ra - Biết xác định input và output bài toán Thái độ: - Rèn luyện khả tu logic giải số bài toán cụ thể II Chuẩn bị: Giáo viên: Giáo án, sách giáo khoa; Học sinh: ghi, sách giáo khoa III Phương pháp: - Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp, mô IV Tiến trình tiết dạy: Ổn định lớp, kiểm tra sĩ số Kiểm tra bài cũ: Lồng vào quá trình giải bài tập Nội dung bài tập Hoạt động giáo viên Hoạt động học sinh Nội dung Cho biết khác Câu 1: có đặt tên và - Lắng nghe suy nghĩ và trả - Xét mặt lưu trữ giá trị và biến biến? lời RAM thì giá trị ô nhớ Nhận xét, đánh giá và cho có đặt tên là không thay đổi, còn giá trị điểm ô nhớ biến thì có thể thay đổi thời điểm thực chương trình Tại phải khai báo Câu 2: biến? - Khai báo biến nhằm các mục đích sau: - Suy nghĩ để đưa phương + Xác định kiểu biến Trình dịch biết Nhận xét, đánh giá và cho cách tổ chức ô nhớ chứa giá trị biến án trả lời điểm + Đưa tên biến vào danh sách các đối tượng chương trình quản lí Để tính diện tích S + Trình dịch biết cách truy cập giá trị hình vuông có cạnh A với biến và áp dụng thao tác thích hợp cho biến giá trị nguyên nằm Câu 5: phạm vi từ 100 đến 200, - Suy nghĩ, dựa và các kiểu - Vì cạnh A nhận giá trị nguyên cách khai báo S nào liệu đã học để trả lời câu phạm vi từ 100 đến 200 nên các khai báo b, đây là đúng và tốn ít hỏi c, d đúng nhớ nhất? a) Var S:integer; Cách khai báo c là tốt vì tiết kiệm b) Var S:real; nhớ cần lưu trữ c) Var S:word; d) Var S:longint; e) Var S:boolean; Câu 9: Nhận xét, đánh giá và cho Var a:real; điểm Const pi=3.1415; Viết chương trình nhập Begin vào số a (a>0) tính và Write(‘nhap gia tri a (a>0):’); đưa diện tích phần readln(a); gạch chéo hình Write(‘dien tich phan gach cheo la:’, 3(SGK, trang 36) a*a*pi/2:8:3); Nhận xét diện tích phần Readln; gạch ½ diện tích hình End (6) tròn tâm O(0,0) bán kính R=a lưu ý số  là - Suy nghĩ, trả lời câu hỏi Pascal và kí hiệu là pi Giá trị Pi là 3,1415 Lập trình tính và đưa màn hình vận tốc v chạm đất vật rơi từ độ cao h, biết v= - Suy nghĩ, trả lời câu hỏi, √ 2gh , đó g là gia cho ví dụ tốc rơi tự và g=9.8m/s2 độ cao h(m) nhập vào từ bàn phím Câu 10: Uses crt; Const g=9.8; Var v,h:real; Begin Clrscr; Write(‘nhap cao cua vat h=’); Readln(h); V:=sqrt(2*g*h); Writeln(‘van toc cham dat la:’,v:6:3,’m/s’); Readln End Một số bài tập luyện tập: Bài 1: Viết chương trình tính diện tích hình tam giác có cạnh a, b, c nhập từ bàn phím (công thức hêrông: s=sqrt(p*(p-a)*(p-b)*(p-c)) với p=(a+b+c)/2) Bài 2: thực chương trình sau: Var a,b:integer; Begin A:= 365; b:= a div 12; a:= a mod 52; b:= a+ b div 12; a:= b+ a div 10; write(a:4:2); End Hỏi biến a nhận giá trị bao nhiêu? Bài 3: Viết chương trình nhập vào hai số a và b sau đó in màn hình các kết sau: a) Tổng và hiệu hai số a và b b) Tổng, hiệu bình phương a, b c) Bình phương tổng, hiệu a và b Bài 4: Viết chương trình nhập vào số nguyên có chữ số, sau đó in tổng các chữ số Ví dụ: nhập N=123 tổng S=1+2+3 = V CỦNG CỐ - DẶN DÒ - Củng cố: cấu trúc chung chương trình Pascal đơn giản gồm: + Phần khai báo – khai báo tên chương trình (Program) - khai báo thư viện (uses) - khai báo (Const) - Khai báo biến (Var) + Phần thân chương trình (begin end.) - Dặn dò: nhà làm các bài tập đã cho +Xem lại nội dung các bài đã học chương II + Hôm sau ôn tập kiểm tra tiết * RÚT KINH NGHIỆM (7) Ngày soạn: Ngày dạy: Tiết PPCT: 10 Bài: BÀI TẬP ÔN TẬP I Mục tiêu bài học: Kiến thức: - Nội dung chương I và chương II - Một số khái niệm, thành phần ngôn ngữ lập trình - Cấu trúc chương trình Pascal đơn giản Kĩ năng: - Biết số thành phần ngôn ngữ lập trình - Viết số chương trình Pascal đơn giản Thái độ: - Rèn luyện khả tư logic II Chuẩn bị: Giáo viên: Giáo án, chương trình minh họa Học sinh: Sách giáo khoa, ghi III Phương pháp: - Thuyết trình, vấn đáp, minh họa IV Hoạt động dạy và học: Ổn định tổ chức: Kiểm tra sĩ số Kiểm tra bài cũ: Lồng vào bài tập Bài mới: Để chuẩn bị cho tiết kiểm tra hôm sau, hôm chúng ta ôn lại số nội dung hai chương đầu, chương I và chương II Hoạt động giáo viên Hoạt động học sinh Nội dung Hoạt động 1: Chương I: Một số khái niệm lập trình và ngôn ngữ lập trình - Hãy nêu các thành phần + Bảng chữ cái Các thành phần ngôn ngữ lập + Cú pháp ngôn ngữ lập trình trình? + Ngữ nghĩa + Bảng chữ cái + Cú pháp - Hãy nêu khái niệm từ - Tên dành riêng: dùng với ý + Ngữ nghĩa khóa, tên chuẩn và qui tắc nghĩa riêng xác định Một số khái niệm đặt tên - Tên chuẩn: tên dùng với - Tên dành riêng ý nghĩa định - Tên chuẩn - Khái niệm và biến? - Hằng là đại lượng có giá trị - Tên người lập trình đặt không đổi quá trình thực - Hằng (số học, logic, xâu) chương trình - Biến - Biến là đại lượng đặt tên, dùng để lưu trữ giá trị và giá trị có thể thay đổi quá trình thực chương trình Hoạt động 2: Chương II: Chương trình đơn giản - Hãy nêu cấu trúc chung - [<phần khai báo>] Cấu trúc chương chương trình <phần thân> trình Pascal đơn giản? - Cấu trúc chung - Nêu các khai báo - Tên chương trình - Các thành phần chương trình Pascal Program <tên chương trình>; + Khai báo - Thư viện + Thân chương trình Uses <tên thư viện>; Một số kiểu liệu - Khai báo - Kiểu nguyên: Byte (1 byte), Integer (2 byte), Const <tên hằng>=<giá trị>; Word (2 byte), LongInt (4 byte)… - Khai báo biến - Kiểu thực: Real (6 byte), Extended (10 byte) Var <ds biến>:<Kiểu liệu>; … - Phần thân chương trình? - Begin - Kiểu kí tự: Char (1 byte) (8) [<dãy lệnh>] End Bài tập: a b c d 2cosx + 3Sinx e - Nhận xét phần trình bày học sinh, dánh giá và cho điểm - hương dẫn học sinh viết chương trình? -Input: a,b -output: c V - Học sinh lên bảng trình bày Học sinh viết chương trình Program ddduongcheo; Var a,b,c:real; Begin Write(‘nhap canh: ‘); readln(a,b); C:=sqrt(sqr(a)+sqr(b)); Write(‘do dai duong cheo: ‘,c:8:2); Readln End - Logic: Boolean (1 byte) Chuyển đổi biểu thức Các thủ tục vào, - Đưa liệu mà hình Write/writeln(danh sách kết ra); - Nhập liệu từ bàn phím Read/Readln(danh sách biến vào); Viết chương trình Nhập độ dài hai cạnh a, b hình chữ nhật, tính và đưa màn hình đọ dài đường chéo hình chữ nhật Củng cố và dặn dò: Củng cố: Xem lại nội dung đã học chương I,II Dặn dò: Về nhà xem lại kiến thức đã học, hôm sau KT tiết  Rút kinh nghiệm: (9) Ngày soạn: Ngày dạy: Tiết PPCT 12 Bài 9: CẤU TRÚC RẼ NHÁNH I Mục tiêu bài dạy: Kiến thức: - Hiểu nhu cầu cáu trúc rẽ nhánh biểu diễn thuật toán - Học sinh nắm vững ý nghĩa và cú pháp câu lệnh rẽ nhánh dạng khuyết và dạng đủ, hiểu cách sử dụng câu lệnh ghép Kĩ năng: - Sử dụng cấu trúc rẽ nhánh mô tả thuật toán số bài toán đơn giản - Viết các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể thuật toán số bài toán đơn giản Thái độ: Rèn luyện kĩ tư logic, tác phong làm việc nghiêm túc II Chuẩn bị: - Giáo viên: + Giáo án + Chuẩn bị sơ đồ: IF Điều kiện S Đ Câu lệnh Câu lệnh S IF Điều kiện - Học sinh: sách giáo khoa, ghi, học bài cũ, đọc và chuẩn bị bài III Phương pháp truyền thụ: Thuyết trình, vấn đáp, mô IV Tiến trình bài dạy: Ổn định lớp: Kiểm tra sĩ số Kiểm tra bài cũ: Bài toán: cho số nguyên a, b; tìm Max(a,b) Yêu cầu: viết phần tên, phần khai báo, và câu lệnh nhập a, b Nêu thuật toán tìm Max(a,b) Hoạt động 1: Vào bài Hoạt động giáo viên Hoạt động học sinh Ghi bảng - Giao nhiệm vụ cho HS - Thực các yêu Program baitap; cầu Var a, b, max : integer; - Làm nào để tìm Max(a, b)? - So sánh: Begin - Để thể thuật toán trên - Nếu a > b thì max = a readln(a,b); TP các em làm - Nếu a < b thì max = b end nào? - Chưa thể làm Đ Câu lệnh Bài mới: Hoạt động 2: Rẽ nhánh (10) Hoạt động giáo viên - Cho ví dụ câu điều kiện? Hoạt động học sinh + Nếu em thuộc bài thì 10 điểm… - Chọn hai câu làm ví dụ Từ đó + Nếu tối trời mưa thì em phân tích cho học sinh thấy cấu nghỉ học ngược lại thì em trúc rẽ nhánh thể ví dụ học… này (Có thể có nhiều câu khác nhau) Hoạt động 3: câu lệnh IF - THEN Hoạt động giáo viên Hoạt động học sinh - Nêu cú pháp câu lệnh rẽ nhánh dạng đủ và dạng khuyết - Vẽ sơ đồ và giải thích quá trình - Quan sát và ghi chép thực câu lệnh rẽ nhánh dạng đủ và dạng khuyết - Gọi học sinh viết câu lệnh so - Lên bảng viết: sánh để tìm Max(a, b) If a > b then max:= a; cách If a < b then max:= b; - Có thể dùng câu lệnh Hoặc: If a > b then max:=a khuyết? Else max:=b; max:=a; if a < b then max:=b; - lưu ý các em trước từ khoá Else không có dấu ; và sau then, sau else có lệnh chương trình - Với dạng này, dạng nào thuận - tìm câu trả lời tiện hơn? -> tuỳ trường hợp cụ thể Hoạt động 4: Câu lệnh ghép Hoạt động giáo viên Hoạt động học sinh - Muốn thực nhiều lệnh sau - Phát biểu ý kiến mình if sau then thì làm nào? → Dẫn đến khái niệm và cách dùng câu lệnh ghép: cấu trúc rẽ nhánh, sau THEN có từ lệnh trở lên thì gộp thành câu lệnh ghép, đặt các lệnh đó cặp từ khoá Begin…end; với Pascal - Gọi học sinh nêu thuật toán giải PT bậc hai? - Nhận xét, bổ sung - Phân nhóm và yêu cầu học sinh thảo luận nhóm để viết chương trình -Yêu cầu đại diện nhóm lên treo bảng lời giải và trình bày Ghi bảng Rẽ nhánh: * Một số mệnh đề có dạng điều kiện: + Dạng thiếu: Nếu…thì… + Dạng đủ: Nếu … thì … không thì … * Cấu trúc dùng để mô tả các mệnh đề trên gọi là cấu trúc rẽ nhánh thiếu và đủ * Mọi ngôn ngữ lập trình có các câu lệnh để mô tả cấu trúc rẽ nhánh Ghi bảng Câu lệnh IF – THEN: * Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh: a Dạng khuyết: IF <điều kiện> THEN <câu lệnh>; b Dạng đủ: IF <điều kiện> THEN <câu lệnh 1> ELSE < câu lệnh 2>; Trong đó: - Điều kiện là biểu thức lôgic - Câu lệnh, câu lệnh 1, câu lệnh là câu lệnh Pascal Ghi bảng Câu lệnh ghép và ví dụ: * Trong ngôn ngữ Pascal câu lệnh ghép có dạng: Begin <các câu lệnh>; End; * Ví dụ: Viết chương trình giải phương trình bậc hai - B1: Nhập a, b, c Program ptb2; B2: Tính d = b2 – 4ac; Var a, b, c, d, x1, x2: real; B3: + Nếu d < thì pt vô Begin nghiệm Write(‘ Nhap a, b, c:’); + Ngược lại thì pt có Readln(a,b,c); d := b*b – 4*a*c; − b± √d nghiệm x1,2 = If d < then Write(‘ PT vo nghiem’) 2a else Begin - Thảo luận theo nhóm và trình Write(‘ PT co nghiem :’); x1:= (- b – sqrt(d))/(2*a); bày lời giải vào bảng phụ: (11) Cho các nhóm khác nhận xét x2:= (- b + sqrt(d))/(2*a); - chính xác hoá lời giải HS - Đại diện nhóm lên bảng lời Write(x1:6:2, x2:6:2); và cho điểm giải và trình bày End; Các nhóm khác nhận xét Readln end V Củng cố- dăn dò: Củng cố: GV tóm tắt các vấn đề cần nắm bài: - Cú pháp, ý nghĩa câu lệnh rẽ nhánh dạng đủ và dạng khuyết - Cách sử dụng câu lệnh ghép Dặn dò: - Học bài, trả lời câu 1, trang 50 và làm bài trang 51 sgk - Viết chương trình tìm Max(a, b, c) - Viết chương trình giải phương trình bậc - Chuẩn bị bài mới: Cấu trúc lặp * Rút kinh nghiệm: (12) (13) Ngày soạn : Ngày day : Tiết PPCT 13 Bài 10 CẤU TRÚC LẶP (tiết 1) I Mục đích yêu cầu: - Kiến thức: + Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán + Biết cấu trúc chung lệnh lặp FOR ngôn ngữ lập trình + Hiểu cấu trúc lặp với số lần biết trước và câu lệnh FOR - DO - Kĩ năng: Bước đầu sử dụng lệnh lặp FOR để lập trình giải số bài toán đơn giản - Thái độ: Khơi gợi lòng ham thích giải toán lập trình trên máy tính Rèn luyện các phẩm chất cần thiết người lập trình xem xét giải vấn đề cách cẩn thậnm chu đáo có sáng tạo… II Chuẩn bị: - Giáo viên: SGK, Giáo án, Máy chiếu Projector - Học sinh: Sách giáo khoa,vở ghi bài III Phương pháp: - Gợi mở, vấn đáp - Làm việc theo nhóm IV Hoạt động dạy học: Ổn định lớp: Kiểm tra sĩ số HS Kiểm tra bài cũ: Cho biết kết doạn chương trình sau Program VD; Begin Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Readln; End Nội dung dạy học: * Hoạt động 1: Tìm hiểu ý nghĩa cấu trúc lặp Hoạt động GV Hoạt động HS Ghi bảng - Trình chiếu - Nếu giải bài toán trên với việc in - Chương trình dài dòng CẤU TRÚC LẶP khoảng 10 dòng có từ PASCAL? Lặp: - Có nhận xét gì các dòng lệnh - Cấu trúc lặp mô tả thao tác lặp chương trình trên? - Lặp lại nhiều lần với câu - Có loại thao tác lặp: - Đối với thuật toán có lệnh: Writeln + Lặp với số lần biết trước thao tác phải thực lặp + Lặp với số lần chưa biết trước lặp lại số lần thì máy tính có thể thực hiệu các thao tác lặp đó các cấu trúc lặp - HS làm việc theo nhóm - Nêu VD cấu trúc lặp: Thuật toán 1: a Tính tổng 20 số tự nhiên B1: S=0; n=0 đầu tiên B2: n  n +1 b Tính tổng n số tự nhiên đầu B3: Nếu n > 20 thì chuyển đến tiên với n <=20 B5 Chia HS làm nhóm để viết thuật B4: S= S + n quay lai b2 toán giải bài toán trên B5: Đưa S màn hình và kết thúc Thuật toán 2: B1: S=0; n=20 (14) B2: n  n -1 B3: Nếu n < thì chuyển đến B5 B4: S= S + n quay lai b2 - Từ VD trên và nghiên cứu thêm B5: Đưa S màn hình và kết SGK hãy cho biết có loại thúc cấu trúc lặp? - loại * 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 Hoạt động GV Hoạt động HS Ghi bảng- Trình chiếu - Số lần lặp thuật toán 2.Lặp với số lần biết trước và câu trên là biết trước và (20 lệnh FOR - DO lần) - Cấu trúc lặp: - Giải thích thuật toán + Dạng lặp tiến: + TT1: n bắt đầu là và sau FOR <biến đếm>:= <giá trị đầu> lần lặp n tăng lên đơn vị cho TO <giá trị cuối> DO <câu lệnh>; đến n>20 thì kết thúc lặp + Dạng lặp lùi: + TT2: n bắt đầu là 20 và sau FOR <biến đếm>:= <giá trị cuối> lần lặp n giảm đơn vị DOWNTO <giá trị đầu> DO <câu n< thì kết thúc lặp - Dạng tiến và dạng lùi lệnh>; - Nêu các dạng cách lặp? - Trong đó: - Giới thiệu câu lệnh FOR - DO + Biến đếm là biến đơn, thường có với dạng tiến, lùi Pascal kiểu nguyên - Giải thích các thông số + Giá trị đầu, giá trị cuối là các biểu câu lệnh thức cùng kiểu với biến đếm và giá trị - Yêu cầu HS nghiên cứu SGK và - HS trả lời đầu phải nhỏ giá trị nêu hoạt động lệnh FOR cuối DO? - Hoạt động lệnh FOR-DO + Dạng lặp tiến: câu lệnh viết sau từ khóa DO thực tuần tự, với biến đếm nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị - Qua chương trình trên có nhận - Được điều chỉnh tự động cuối, xét gì biến đếm ? + Dạng lặp lùi: câu lệnh viết sau từ - Cho HS cài đặt thuật toán với Program In_chu; khóa DO thực tuần tự, với VD1 Var i:byte; biến đếm nhận các giá trị liên Begin tiếp giảm từ giá trị cuối đến giá trị For i:=1 to writeln đầu (‘PASCAL’); - Chú ý: Câu lệnh viết sau DO không Readln; thay đổi giá trị biến đếm END - Lập chương trình tạo bảng cửu - HS làm việc theo nhóm chương Chương trình: Thuật toán Program tong; Var i,S: integer; Begin Write (‘ Tong cac so nguyen tu den 20 la:’); S:=0; For i:= to 20 S: = S + i; Writeln(S); Readln; End (15) Thuật toán Program tong; Var i,S: integer; Begin Write (‘ Tong cac so nguyen tu den 20 la:’); S:=0; For i:= 20 downto S: = S + i; Writeln(S); Readln; End V: Củng cố - Dặn dò - Nắm lại các cấu trúc lặp - Nhớ dạng tiến lùi câu lệnh FOR - DO Pascal - Xem các ví dụ sách giáo khoa Làm số bài tập: Tính S=1+2+…+N S= 2+4+…+N (N là số lẽ) S= * Rút kinh nghiệm: (16) (17) Ngày soạn: Ngày dạy: Tiết PPCT: 14 Bài 10 CẤU TRÚC LẶP (tiết 2) I Mục tiêu bài học: Kiến thức: -Khái niệm cấu trúc lặp,các câu lệnh lập Pascal -Hiểu cấu trúc lặp biểu diễn thuật toán Kĩ năng: -Biết diễn đạt đúng câu lệnh.Soạn chương trình giải bài toán đơn giản có sử dụng lệnh lặp Thái độ: -Rèn luyện phẩm chất cho người lặp trình II Chuẩn bị: Giáo viên: Giáo án, sách giáo khoa, máy chiếu Học sinh: Sách giáo khoa, ghi bài III Phương pháp: - Kết hợp nhiều phương pháp giảng dạy như: Thuyết trình, vấn đáp, đặt vấn đề IV Tiến trình bài Ổn định tổ chức: Kiểm tra sĩ số Kiểm tra bài cũ: Hỏi: Viết câu lệnh lặp với số lần biết trước dạng tiến và lùi ngôn ngữ lập trình Pascal? Đáp án: Dạng tiến: For <biến đếm>:= <Giá trị đầu> To <giá trị cuối> Do <câu lệnh>; Dạng lùi: For <biến đếm>:= <giá trị cuối> Downto <giá trị đầu> Do <câu lệnh>; Bài mới: Hoạt động giáo viên Hoạt động học sinh Nội dung - Hãy nêu ý tưởng giải - Ta thực hiênh lặm 100 lần Bài tập bài toán trên? thao tác là cộng các Tính tổng 100 số tự nhiên đầu tiên - Nhận xet sô tự nhiên từ đến 100 - chương trình: - Hướng dẫn học sinh cách Program tong100; làm: ta dùng biến S ban Var I,s:integer; đầu gán để lưu giá trị Begin tổng 100 số S:=0; - Việc thực tính tổng S - Lặp 100 lần lần ta tính For i:=1 to 100 lặp bao nhiêu lần? S=S+I với I chạy từ đến S:=S+I; 100 Write(‘ tong s= ‘,S); - Hãy dùng câu lệnh - trả lời Readln; Pascal thực công việc S:=0; End trên? For i:=1 to 100 Mở rộng bài toán S:=S+I; - Gọi em lên bảng viết - Thực chương trình - Nhận xét - Mở rộng bài toán tính a Tính tổng S=1+2+…+ N S=1+2+…+ N Chương trình: - Bài này có gì khác với bài - Tính tổng N số Với N Tương tự bài toán trên ta thêm câu lệnh sau: toán trên? nhậ từ bàn phím Write(‘nhap N: ‘); Readln(N); - Vậy chúng ta thay đổi - Học sinh lên bảng viết For i:=1 to N chương trình trên chương trình S:=S+i nào? b Tính S= 1+3+ …+N (tổng N số lẽ) Nhận xét, cho điểm Thêm đoạn lệnh: Vận dụng giải các bài toán For i:= to N sau: If I mod = then a Tính S= 1+3+ …+N (tổng - Học sinh suy nghĩ và vận S:=S+I; N số lẽ) dụng kiến thức đế giải các c Tính S=2+4+…+N (tổng N số chẵn) b.Tính S=2+4+…+N (tổng N bài tập For i:= to N (18) số chẵn) c Tính S=1+ d Tính S= 1+22+…+n2 Hướng đẫn trường hợp - Xác định Input, output * Gợi ý: - Nhập giá trị cho S (Nhập số tiền ban đầu) - Thực 12 lần thao tác S:=S+S*0.02 (tiền vốn lẫn lãi sau tháng) - Yêu cầu học sinh viết chương trình - Em hãy nêu ý tưởng bài toán? - Gọi học sinh viết chương trình - Nhận xét, đánh giá If I mod = then S:=S+I; d Tính S=1+ For i:= to N S:=S+1/I; e tính S= 1+22+…+n2 For i:= to N S:=S+sqr(i); Bài - Input: số tiền S Một người gửi tiền ngân hàng với số tiền ban - Output: Tiền có đầu là S, ,lãi suất tháng là 20% Hãy cho sau 12 tháng biết sai năm thì số tiền tài khoản là Chương trình: bao nhiêu? (người gửi năm đó không Program Tien; rút tiền) Var i:integer; s:real; Begin Write(‘nhap so tien S: ‘); Readln(s); For i:=1 to 12 Bài S:=S+S*0.02; Viết chương trình in màn hình chữ cái Write(‘ tien co duoc sau 12 tiếng Anh từ ‘a’ đến ‘z’ thang la: ‘,s); Program bangchucai; Readln; Var i:char; End Begin - Duyệt từ kí tự ‘a’ For i:=’a’ to ‘z’ đến kí tự ‘z’ in màn Write(I,’ ‘); hình Readln; - Viết chương trình End V Củng cố - dặn dò Củng cố: Câu lệnh lặp với số lần biết trước: Dạng tiến: For <biến đếm>:= <Giá trị đầu> To <giá trị cuối> Do <câu lệnh>; Dạng lùi: For <biến đếm>:= <giá trị cuối> Downto <giá trị đầu> Do <câu lệnh>; - Trong đó: Biến đếm là biến đơn kiểu số nguyên kiểu kí tự - Giá trị đầu nhở giá trị cuối cùng kiểu liệu với biến đếm Dặn dò: Về nhà xem lại cấu trúc rẻ nhánh và cấu trúc lặp với số lần lặp biết trước Giải các bài tập sách giáo khoa trang 51, Xem bài thực hành số * Rút kinh nghiệm: (19)

Ngày đăng: 09/06/2021, 16:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w