Giáo án tin học 11 tiết 41 kiểu mảng đến tiết 40 ôn tập theo công văn 5555 gồm 4 hoạt động. Chủ đề: Kiểu mảng 1 chiều gồm 7 tiết, chủ đề: Kiểu xâu gồm 8 tiết, Ôn tập gồm 3 tiết, Chương V. Tệp và thao tác với tệp gồm 4 tiết
Bài 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI I, Mục tiêu 1, Về kiến thức - Biết vai trò chương trình lập trình - Biết phân loại chương trình con: Thủ tục Hàm - Biết cấu trúc chương trình - Biết cách thực chương trình 2, Về kỹ - Nhận biết thành phần đầu thủ tục - Nhận biết hai loại tham số hình thức đầu hai thủ tục - Biết cách khai báo hai loại chương trình với tham số hình thức chúng - Cách viết lời gọi chương trình thân chương trình 3, Về thái độ - Học sinh hiểu hứng thú với học - Rèn luyện tính tự giác học tập, tư logic - Nghiêm túc học - Có nhận thức học, môn học Năng lực cần đạt - Tự tin đưa ý kiến cá nhân làm việc lớp nhà - Chủ động trao đổi với HS khác với GV - Hợp tác chặt chẽ với bạn làm nhiệm vụ nghiên cứu II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH Chuẩn bị Giáo viên: Giáo án, SGK, SGV, máy chiếu, Chuẩn bị Học sinh: Sách giáo khoa, chuẩn bị nhà… III QÚA TRÌNH TỔ CHỨC HOẠT ĐỘNG CHO HỌC SINH Các hoạt động đầu - Ổn định tổ chức Khung tiến trình dạy học Hoạt động Khởi động Hình thành kiến thức Luyện tập vận dụng Mở rộng Nội dung Hoạt động học tập HS Nd1 Nhắc lại kiến thức cũ HĐ1: Chú ý lắng nghe trả lời câu hỏi GV Nd4 Hệ thống kiến thức HĐ2: Quan sát ví dú giáo viên đưa đưa khái niệm CTC HĐ3: Phân loại biết cấu trúc CTC HĐ4: Củng cố luyện tập d5 Tự học nhà HĐ5: Mở rộng tự học ởnhà Nd2 Khái niệm chương trình Nd3 Phân loại cấu trúc chương trình Nội dung học A KHỞI ĐỘNG Hoạt động 1: Đưa câu hỏi tính lũy thừa Tluythua= + Thời gian 28 10 + + cho hs yêu cầu hs sử dụng câu lệnh pascal để tính + + + nhóm viết câu lệnh tính phần tử (5’) Mục tiêu dẫn dắt học sinh vào Phương pháp/kĩ thuật dạy học: Trình chiếu máy chiếu đặt câu hỏi Hình thức tổ chức hoạt động: Nhóm Phương tiện dạy học: SGK, Projector, máy tính, soạn Sản phẩm: Học sinh hiểu qua học Nội dung hoạt động - Đưa bài toán Tluythua= + + + yêu cầu nhóm dùng câu lệnh pascal để tính phẩn tử + + + viết giấy nhóm tính phàn tử - Đặt câu hỏi muốn tính 50 phần tử ta phải làm nào? - Dẫn dắt vào B HÌNH THÀNH KIẾN THỨC Hoạt động 2: Khái niệm chương trình (28’) Mục tiêu: Biết chương trình chương trình có lợi ích Phương pháp/kĩ thuật dạy học: Đàm thoại, thuyết trình Hình thức tổ chức hoạt động: Cá nhân Phương tiện dạy học: SGK, Projector, máy tính, soạn Sản phẩm: Học sinh nắm bắt chương trình Nội dung hoạt động Hoạt động giáo viên Hoạt động học sinh Nội dung * Hoạt động 1.Khái niệm chương trình 1.Khái niệm chương trình GV: Chiếu lên chương trình HS: Quan sát chương tính tổng lũy thừa trình khơng sử sụng CTC Program tinh_tong; Uses crt; Var Tluythua, Tluythua1, Tluythua2, Tluythua3, Tluythua4: real; a, b, c, d: real; i, n, m, p, q: integer; begin Clrscr; write (‘ Hay nhap du lieu theo thu tu a, b, c, d, m, n, p, q’); readln(a,b,c,d,m,n,p,q); luythua1 := 1.0; for i:=1 to n Luythua1 := Luythua1*a; luythua2 := 1.0; for i:=1 to m Luythua2 := Luythua2*b; luythua3 := 1.0; for i:=1 to p Luythua3 := Luythua3*c; luythua4 := 1.0; for i:=1 to q Luythua4 := Luythua4*d; Tluythua := Luythua1 +Luythua2+ Luythua3+ Luythua4; Writeln(‘tong luy thua=’, Tluythua:8:4); Readln End GV: Các dãy lệnh tương tự nhau? GV: Nếu muốn tính tổng 50 lũy thừa phải làm sao? GV: Chương trình có dài khơng? Có dễ theo dõi dễ nâng cấp khơng? GV: Chiếu lên chương trình tính tổng lũy thừa có sử sụng CTC Program tinh_tong; Uses crt; Var Tluythua, a, b, c, d: real; i, m, n, p, q: integer; Function Luythua(var x:real; var k: integer): real; Var j : integer; Tich: real; Begin Tich :=1.0; For j :=1 to k Tich :=Tich*x; HS: luythua1 := 1.0; for i:=1 to n Luythua1 := Luythua1*a; luythua2 := 1.0; for i:=1 to m Luythua2 := Luythua2*b; luythua3 := 1.0; for i:=1 to p Luythua3 := Luythua3*c; luythua4 := 1.0; for i:=1 to q Luythua4 := Luythua4*d; HS: Muốn tính tổng 50 lũy thừa phải viết 50 câu lệnh lặp lặp lại HS: Chương trình dài khó theo dõi khó nâng cấp Luythua:=Tich; End; Begin Clrscr; Writeln(‘hay nhap du lieu theo thu tu a, b, c, d, m, n, p, q’); Readln(a, b, c, d, m, n, p, q); Tluythua : =Luythua(a,n)+ Luythua(b,m)+ Luythua(c,p) + Luythua(d,q); Writeln(‘tong luy thua=’, Tluythua:8:4); Readln End GV: Đây chương trình có sử dụng CTC để tính lũy thừa dãy số GV: Các em thấy chương trình có ngắn gọn chương trình trước khơng? GV: Nếu muốn tính tổng 50 lũy thừa em có phải viết lệnh lặp lặp lại khơng? GV: Quan sát ví dụ đâu CTC? GV: Đâu đoạn thực sử dụng CTC? GV: Dựa vào ví dụ sách giáo khoa em cho thầy biết CTC gì? GV: Việc sử dụng CTC có lợi ích gì? HS: Có ngắn gọn viết lặp lặp lại câu lệnh HS: Không HS: Function Luythua(var x:real; var k: integer): real; Var j : integer; Tich: real; Begin Slrscr; Tich :=1.0; For j :=1 to k Tich :=Tich*x; Luythua:=Tich; End; HS: Tluythua : =Luythua(a,n)+ Luythua(b,m)+ Luythua(c,p)+ Luythua(d,q); HS: CTC dãy lệnh mô tả số thao tác định thực ( gọi) từ nhiều vị trí chương trình HS: - Tránh việc phải viết lặp lặp lại dãy lệnh - Hỗ trợ việc thực chương trình lớn - Phục vụ cho trình trìu tượng hóa - Mở rộng khả ngơn ngữ - Thuận tiện cho phát GV: Như phần em triển, nâng cấp chương nắm khái niệm CTC trình lợi ích việc sử dụng CTC chuyển sang phần - CTC dãy lệnh mô tả số thao tác định thực ( gọi) từ nhiều vị trí chương trình Lợi ích sử dụng CTC - Tránh việc phải viết lặp lặp lại dãy lệnh - Hỗ trợ việc thực chương trình lớn - Phục vụ cho q trình trìu tượng hóa - Mở rộng khả ngôn ngữ - Thuận tiện cho phát triển, nâng cấp chương trình Hoạt động 3: Phân loại cấu trúc chương trình Mục tiêu phân loại chương trình con, nắm cấu trúc chương trình Phương pháp/kĩ thuật dạy học: Đàm thoại, thuyết trình Hình thức tổ chức hoạt động: Cá nhân Phương tiện dạy học: SGK, Projector, máy tính, soạn Sản phẩm: HS tự phân loại CTC biết cấu trúc CTC Hoạt động giáo viên Hoạt động học sinh Nội dung Hoạt động Phân loại cấu trúc chương trình a) Phân loại GV: Các em quan sát lại ví HS: Có hàm Function dụ em có thấy từ khóa (chưa học) khơng? GV: Vậy theo em hàm (Function) HS: Hàm (function) Là gì? CTC thực số thao tác trả giá trị qua tên Phân loại cấu trúc chương trình a) Phân loại - Hàm (function) CTC thực số thao tác trả giá trị qua tên GV: Ví dụ: hàm toán học sin(x) nhận giá trị thực x trả giá trị sin(x) GV: Đưa số ví dụ thủ tục (procedure) Readln(a,b); Nhập a,b Writeln(‘Hello’); In chữ Hello (Writeln thủ tục chuẩn) GV: Dựa vào ví dụ em cho thầy biết thủ HS: Thủ tục tục (procedure) (procedure) CTC gì? thực thao tác định không trả giá trị qua GV: Như em tên nắm khái niệm CTC lợi ích việc sử dụng CTC biết phân loại CTC theo em CTC có cấu trúc ntn tìm hiểu phần b b) Cấu trúc chương trình HS: Cấu trúc chương trình gồm phần: GV: Dựa vào ví dụ theo [] em cấu trúc chương trình gồm phần? GV: Quan sát ví dụ chương trình nằm đâu? HS: Function Luythua(var x:real; var k: integer): real; - Thủ tục (procedure) CTC thực thao tác định không trả giá trị qua tên Cấu trúc chương trình gồm phần: [] HS: [] GV: Phần [] chương trình nằm đâu? GV: chương trình nằm đâu? GV: Các tham số hình thức ví dụ tham số x tham số k GV: Các biến cục tham số hình thức j, cácTich GV: Các biến tồn cục phần khai báo ví dụ Var Tluythua, a, b, c, d: real; i, m, n, p, q: integer; GV: Theo em chương trình khơng có tham số hình thức biến cục không? Var j : integer; Tich: real; HS: Begin Slrscr; Tich :=1.0; For j :=1 to k Tich :=Tich*x; Luythua:=Tich; End; HS: chương trình có khơng có tham số hình thức biến cục GV: Như em nắm khái niệm CTC lợi ích việc sử dụng CTC biết phân loại CTC CTC có cấu trúc ntn tìm hiểu phần c c) Thực CTC GV: Yêu cầu hs quan sát tiếp ví dụ GV: Đâu nơi thực CTC? HS: Tluythua : =Luythua(a,n)+ Luythua(b,m)+ Luythua(c,p)+ Luythua(d,q); C LUYỆN TẬP VẬN DỤNG Hoạt động 4: (10’) Củng cố, luyện tập Mục tiêu: Hệ thống lại kiến thức học Phương pháp/kĩ thuật dạy học: Đàm thoại, thuyết trình Hình thức tổ chức hoạt động: Cá nhân Phương tiện dạy học: SGK, Projector, máy tính, soạn Sản phẩm: Hệ thống lại kiến thức học Hoạt động giáo viên Hoạt động học sinh Chọn đáp án đáp án GV: Câu Cấu trúc chương trình Pascal gồm HS: Đáp án C Phần đầu, Phần khai báo, thành phần nào? Phần thân Câu Chương trình dãy lệnh mô tả số thao tác định HS: Đáp án D từ nhiều vị trí thực … chương trình Câu Cho lệnh sau đây, lệnh thuộc Hàm (Function) Pascal? HS: Đáp án B.SQRT Câu Em điền vào trống từ thích hợp HS: Đáp án Hàm (Function) … .(1) thực Chương trình số thao tác trả giá trị qua … .(2)…… Tên Thủ tục (Procedure) chương trình thực số …….(3) … .nào Thao tác khơng (4) giá trị qua tên Trả D MỞ RỘNG Hoạt động (2phút): Mở rộng tự học nhà Mục tiêu: Hệ thống lại kiến thức chương trình phân loại Phương pháp/kĩ thuật dạy học: Đàm thoại, thuyết trình Hình thức tổ chức hoạt động: Cá nhân Phương tiện dạy học: SGK, Projector, máy tính, soạn Sản phẩm: Hệ thống lại kiến thức làm tập giao Nội dung Bước GV giao nhiệm vụ cho học sinh thực nhà: Học lại cũ nhà xem trước Bước Thực nhiệm vụ - HS: Nhận nhiệm vụ,chuẩn bị nhà sách tập - GV: Định hướng số ý tập mà hs chưa rõ hướng TUẦN 31 TIẾT 42, 43 §18 VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC Phương pháp: Đặt vấn đề, thuyết giảng Phương tiện: SGK, SGV Tin học 11, giáo án, ghi II TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG Ổn định lớp Nội dung giảng Hoạt động GV- HS Nội Dung GV: Xét ví dụ vẽ hình chữ nhật Cách viết sử dụng thủ tục SGK/96 a) Cấu trúc Thủ tục có cấu trúc sau: Giới thiệu cho hs procedure [()]; • cấu trúc thủ tục [] • vị trí thủ tục nằm phần begin [] chương trình • lời gọi thủ tục viết phần end; Phần đầu thủ tục gồm tên dành riêng procedure, tiếp chương trình theo tên thủ tục Danh sách tham số có khơng có GV: Cấu trúc thủ tục gồm phần? Phần khai báo dùng để xác định hằng, kiểu, biến Đặc điểm phần? xác định chương trình khác sử dụng thủ tục Dãy câu lệnh viết cặp tên dành riêng begin end tạo thành thân thủ tục Chú ý • Sau tên dành riêng end kết thúc chương trình dấu chấm (.) sau end kết thúc thủ tục dấu chấm phẩy (;) • Các thủ tục, có, phải khai báo mơ tả phần khai báo chương trình chính, sau phần khai báo biến • Khi cần thực hiện, ta phải viết lệnh gọi thủ tục tương tự thủ tục chuẩn GV: Để vẽ hình chữ nhật có chiều dài b) Ví dụ thủ tục chiều rộng có kích thước thay đổi Thủ tục Ve_Hcn ví dụ vẽ hình chữ phần đầu thủ tục viết sau: nhật với kích thước cố định 7×3 procedure Giả sử chương trình cần vẽ nhiều hình chữ nhật với Ve_Hcn(chdai,chrong:integer); kích thước khác Để thủ tục Ve_Hcn thực GV: Y/c hs quan sát VD_thutuc2 điều đó, cần có hai tham số cho liệu vào SGK/98 Giải thích chương trình chiều dài, chiều rộng Khi phần đầu thủ tục HS: Chú ý theo dõi viết sau: procedure Ve_Hcn(chdai,chrong:integer); GV: Phân biệt thủ tục Ve_Hcn (chdai, Khai báo có nghĩa thủ tục Ve_Hcn thực chrong:integer) với thủ tục Ve_Hcn để vẽ hình chữ nhật có kích thước tùy theo giá trị HS: Suy nghĩ, tl tham số chdai, chrong giá trị tham số chdai, chrong nguyên GV: Phân biệt tham trị, tham biến Ctrình (SGK/ 98) HS: Chú ý lắng nghe • Trong lệnh gọi thủ tục, tham số hình thức thay tham số thực tương ứng • • IV • • • giá trị cụ thể gọi tham số giá trị (tham trị) Trong lệnh gọi thủ tục, tham số hình thức thay tham số thực tương ứng tên biến chứa liệu gọi tham số biến (tham biến) Để phân biệt tham biến tham trị Pascal sử dụng từ khóa var để khai báo tham số biến CỦNG CỐ- DẶN DÒ Cấu trúc thủ tục Phân biệt tham biến tham trị Xem tiếp Cách viết sử dụng hàm TUẦN 33 Tiết 46 §18 VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (tt) I MỤC ĐÍCH, U CẦU Kiến thức • Biết cấu trúc hàm • Biết giống khác thủ tục hàm Kĩ • Nhận biết thành phần đầu hàm • Nhận biết câu lệnh sử dụng hàm chương trình tham số thực II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC Phương pháp: Đặt vấn đề, thuyết giảng Phương tiện: SGK, SGV Tin học 11, giáo án, ghi, máy chiếu II TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG Ổn định lớp Kiểm tra cũ Cho biết cấu trúc chung thủ tục giải thích rõ thành phần? Các thủ tục (nếu có) khai báo đâu? Nội dung giảng Hoạt động GV- HS Nội Dung GV: Cấu trúc chung hàm Cách viết sử dụng hàm HS: Chú ý theo dõi a/ Cấu trúc chung hàm: function [()]: GV: Dựa vào cấu trúc thủ tục hàm Hãy ; so sánh giống khác thủ [] tục hàm Begin HS: Tl [] Giống nhau: :=; - Đều chương trình con, có cấu trúc giống End; chương trình Kiểu liệu kiểu liệu giá trị mà hàm - Đều chứa tham số (tham số giá trị trả kiểu integer, real, tham số biến), tuân theo quy định char, boolean, string khai báo sử dụng loại tham số (Có thể khơng có tham số) Khác nhau: 10 - Hàm khác thủ tục điểm hàm trả giá trị thuộc kiểu xác định qua tên hàm (các kiểu liệu đơn giản: integer, real, boolean, char, string) - Đầu hàm khóa Function cịn thủ tục bắt đầu với từ khóa Procedure - Sau tên hàm phần khai báo danh sách tham số phải kết hàm thuộc kiểu liệu - Trong thân hàm thường có câu lệnh gán giá trị cho tên hàm GV: Quan sát ví dụ sau Cho biết hàm thực cơng việc gì? Function Min(a,b):real:real; Begin If a>b then Min:=a else Min:=b; End; HS: Tl GV: Qua ví dụ Giới thiệu cách sử dụng hàm Var a, b: real; Function Min(a,b):real:real; Begin If a>b then Min:=a else Min:=b; End; Begin Write(‘Nhap a, b:’); readln(a,b); Write(‘Gia tri nho nhat cua so:’,Min(a,b)); Readln End b/ Sử dụng hàm • Việc sử dụng hàm hoàn toàn tương tự với việc sử dụng hàm chuẩn, viết lệnh gọi gồm tên hàm tham số thực tương ứng với tham số hình thức • Lệnh gọi hàm tham gia vào biểu thức tốn hạng chí tham số lời gọi hàm, thủ tục khác Ví dụ 1: viết chương trình tìm số nhỏ ba số nhập từ bàn phím, chương trình có sử dụng hàm tìm số nhỏ hai số SGK/102 Ví dụ 2: Viết chương trình tính tổng hai số ngun nhập vào từ bàn phím (trong chương trình có sử dụng chương trình con) hai GV: Hướng dẫn giải ví dụ + Hãy cho biết kết trả hàm MIN? + Giải thích lời gọi hàm: Min(Min(a,b),c)? + Hãy tham số hình thức, tham số thực sự, biến toàn cục biến cục bộ? HS: Trả lời GV: Hướng dẫn hs viết chương trình vd2 (sử dụng hai trường hợp: TH1: Sử dụng hàm TH2: Sử dụng thủ tục) • Khi sử dụng hàm Khi sử dụng thủ tục Khi cần thực công việc người ta dùng thủ tục, cần tính giá trị người ta dùng hàm HS: Tự ghi IV • • CỦNG CỐ- DẶN DÒ Cấu trúc chung hàm Sử dụng hàm 11 • • • • • • • Sự giống khác hàm thủ tục Viết chương trình có sử dụng chương trình (thủ tục hàm) để thực tính chu vi diện tích hình chữ nhật Yêu cầu nhập chiều dài chiều rộng chương trình gọi chương trình để tính diện tích chu vi BTVN: Viết chương trình nhập vào mảng A có N phần tử ngun Tính đưa hình tổng phần tử mảng chia hết cho Viết thủ tục tạo nhập liệu cho mảng Viết hàm kiểm tra xem phần tử có chia hết cho hay khơng Viết hàm tính tổng phần tử mảng chia hết cho In kết hình 12 ... Luythua3*c; luythua4 := 1.0; for i:=1 to q Luythua4 := Luythua4*d; HS: Muốn tính tổng 50 lũy thừa phải viết 50 câu lệnh lặp lặp lại HS: Chương trình dài khó theo dõi khó nâng cấp Luythua:=Tich;... Writeln(‘tong luy thua=’, Tluythua:8:4); Readln End GV: Các dãy lệnh tương tự nhau? GV: Nếu muốn tính tổng 50 lũy thừa phải làm sao? GV: Chương trình có dài khơng? Có dễ theo dõi dễ nâng cấp khơng? GV: Chiếu... dùng câu lệnh pascal để tính phẩn tử + + + viết giấy nhóm tính phàn tử - Đặt câu hỏi muốn tính 50 phần tử ta phải làm nào? - Dẫn dắt vào B HÌNH THÀNH KIẾN THỨC Hoạt động 2: Khái niệm chương trình