5 Sản phẩm: Học sinh nắm được những đặc điểm của hàm thông qua chương trình Max_ba_so Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG NỘI DUNG CỦA HS GV: Hãy xác định input, VD2: Tìm giá t[r]
Trung học phổ thông Trần Phú Tin học 11 Ngày soạn: 15/02/2018 Tiết chương trình : 46 Thời gian: 45 phút / tiết Lớp : 11a7, 11a8, 11a9 CHƯƠNG VI: CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC §18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Chuẩn kiến thức, kỹ cần đạt tiết học - Về kiến thức Học sinh cần: Thấy rằng: nói chung thủ tục có cấu trúc tương tự chương trình Hiểu mối liên quan chương trình thủ tục Phân biệt tham số giá trị tham biến khai báo tham số hình thức thủ tục - 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 phần đầu thủ tục Nhận biết lời gọi thủ tục chương trình tham số thực - Về tình cảm, tư tưởng Học sinh thấy cần thiết tiện lợi chương trình Làm cho học sinh u thích lập trình mơn học - Phương pháp dạy học, phương tiện dạy học chủ yếu Giáo viên: Giáo án, sách giáo khoa, bảng, phấn, tài liệu, Học sinh: Vở ghi, sách giáo khoa tin học 11, bút, - Định hướng hình thành lực Rèn luyện phẩm chất người lập trình tinh thần hợp tác làm việc theo nhóm, tn thủ u cầu cơng việc chung A Khởi động Hoạt động 1: Ví dụ đặt vấn đề GV Soạn : Nguyễn Mạnh Sơn Tùng Trung học phổ thông Trần Phú Tin học 11 (1) Mục tiêu: Dẫn dắt học sinh đến tình dùng thủ tục để tránh việc lặp lặp lại đoạn lệnh (2) Phương pháp/kỹ thuật dạy học: Đàm thoại, phát (3) Hình thức tổ chức hoạt động: Thảo luận nhóm (4) Phương tiện dạy học: SGK, máy tính, máy chiếu (5) Sản phẩm: Học sinh bước đầu hiểu thủ tục (hay chương trình con) đoạn lệnh chịu trách nhiệm giải toán Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG NỘI DUNG CỦA HS GV: Để vẽ hình chữ HS: Suy nghĩ Cách viết sử dụng thủ tục nhật ta phải trả lời - Xét ví dụ vẽ hình chữ nhật có dạng làm nào? sau: * * * * * * * GV: Muốn vẽ thêm HS: Viết thêm * * hình chữ nhật lần câu lệnh * * * * * * * ta phải làm nào? writeln - Ta vẽ hình chữ nhật câu lệnh: GV: Có nhận xét HS: Cách viết Writeln (‘* * * * * * *’); cách viết này? làm Writeln (‘* *’); nhiều thời gian Writeln (‘* * * * * * *’); phải lặp lại - Chương trình VD_thutuc1 gọi thủ tục nhiều lần Ve_hcn lần để vẽ hình chữ nhật: câu lệnh Program VD_thutuc1; giống Procedure Ve_hcn; Begin GV: Để tránh phải viết Writeln (‘* * * * * * *’); lặp lại nhiều lần Writeln (‘* *’); câu lệnh giống ta Writeln (‘* * * * * * *’); đưa câu lệnh writeln vào end; thủ tục có tên Begin Ve_hcn Mỗi cần vẽ Ve_hcn; hình chữ nhật ta đưa Writeln; writeln; vào câu lệnh gọi thủ Ve_hcn; tục Writeln; writeln; Ve_hcn; End B HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP Hoạt động 2: (1) Mục tiêu: Học sinh học sử dụng tham số chương trình (2) Phương pháp/kỹ thuật dạy học: Đàm thoại, phát (3) Hình thức tổ chức hoạt động: Thảo luận nhóm GV Soạn : Nguyễn Mạnh Sơn Tùng Trung học phổ thông Trần Phú Tin học 11 (4) Phương tiện dạy học: SGK, máy tính, máy chiếu (5) Sản phẩm: Học sinh tìm hiểu cấu trúc thủ tục Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG NỘI DUNG CỦA HS GV: Chúng ta thấy HS: Nghe a Cấu trúc thủ tục lợi ích việc sử dụng thủ giảng ghi - Thủ tục có cấu trúc sau: tục tránh phải viết lặp chép Procedure [()]; Vậy cấu trúc thủ tục [] vị trí chương Begin trình sao? [] GV: Giới thiệu cấu trúc thủ tục GV: Cho học sinh quan sát chương trình có sử dụng chương trình xác định vị trí chương trình End; + Phần đầu thủ tục: gồm tên dành riêng procedure, tên thủ tục Danh sách tham số có khơng + Phần khai báo: dùng để xác định hằng, kiểu, biến xác định chương trình khác sử dụng HS: Quan sát thủ tục GV: Thủ tục khai báo trả lời + Dãy câu lệnh: viết cặp tên mô tả phần khai báo dành riêng begin end tạo thành thân chương trình chính, thủ tục sau phần khai báo biến 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 (;) - 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 C VẬN DỤNG, TÌM TỊI: Hoạt động 3: (1) Mục tiêu: Nhấn mạnh cho học sinh cách sử dụng thủ tục chương trình chính: Khi cần chương trình gọi thủ tục qua tên nó, gọi thủ tục chuẩn (2) Phương pháp/kỹ thuật dạy học: Rèn tư phân tích, tổng hợp (3) Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhóm (4) Phương tiện dạy học: SGK, máy tính, máy chiếu (5) Sản phẩm: Học sinh nắm cách xây dựng chương trình cụ thể Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG NỘI DUNG GV Soạn : Nguyễn Mạnh Sơn Tùng Trung học phổ thông Trần Phú CỦA HS GV: Chương trình VD_thutuc1 HS: Nghe (sgk trang 96) vẽ hình giảng ghi chữ nhật có kích thước cố định chép 7x3 Vậy muốn vẽ nhiều hình chữ nhật có kích thước khác ta làm nào? GV: Để thủ tục Ve_hcn thực điều ta cần có tham số cho liệu vào chiều dài chiều rộng GV: Các tham số d, r thủ tục Ve_hcn gọi tham trị Trong lệnh gọi Ve_hcn(5,3) tham số d thay số nguyên 5, tham số r thay số nguyên GV: Trong lời gọi thủ tục Ve_hcn(a,b), tham số d thay giá trị thời biến a, tham số r thay giá trị thời biến b GV: Để phân biệt tham biến tham trị, Pascal sử dụng từ khóa var khai báo cho tham số biến Tin học 11 b Ví dụ thủ tục - Phần đầu thủ tục viết sau: Procedure Ve_hcn (d, r: integer); - Chương trình mơ tả đầy đủ thủ tục Ve_hcn với tham số d (chiều dài), r (chiều rộng) để vẽ hình chữ nhật có kích thước khác (sgk trang 98) - Trong lệnh gọi thủ tục, tham số hình thức thay tham số thực tương ứng 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) Hoạt động 4: (1) Mục tiêu: Để giới thiệu với học sinh thủ tục khai báo hai tham số biến x, y thuộc kiểu integer, làm bật khác tham số giá trị tham số biến (2) Phương pháp/kỹ thuật dạy học: Rèn tư phân tích, tổng hợp (3) Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhóm (4) Phương tiện dạy học: SGK, máy tính, máy chiếu (5) Sản phẩm: Qua kết chạy chương trình cho học sinh thấy được: trước sau gọi thực thủ tục tham biến thay đổi, giá trị tham biến sau lời gọi thủ tục giá trị sau kết thúc thực thủ tục Sự khác tham số giá trị tham số biến Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG NỘI DUNG CỦA HS GV: HS: Nghe giảng - Phân loại tham số hình thức: GV Soạn : Nguyễn Mạnh Sơn Tùng Trung học phổ thông Trần Phú Tin học 11 - Khai báo var x, y: ghi chép integer xác định x, y tham biến kiểu nguyên Trong lệnh gọi hoan_doi(a, b) tham biến x, y thay biến nguyên tương ứng a b - Giá trị chúng thay đổi thực lệnh: tg:=x; x:=y; y:=tg; - Do đó, nhập a=5 b=10 hình xuất dòng: 10 10 + Tham số biến: khai báo có từ khóa Var đằng trước + Tham số trị: khai báo khơng có từ khóa Var - Ví dụ sử dụng tham biến chương trình con: Program Vd_thambien1; Uses crt; Var a, b: integer; Procedure hoan_doi (var x,y: integer); Var tg: integer; Begin tg:=x; x:=y; y:=tg; end; begin clrscr; GV: Nếu thủ tục a:=5; b:=10; chương trình thay writeln (a:6, b:6); thủ tục: HS: Suy nghĩ hoan_doi (a, b); Procedure hoan_doi(var x, viết thủ tục writeln (a:6, b:6); y:integer); end Tức x tham biến, y Nhận xét: tham trị thực - Giá trị tham biến thay đổi sau chương trình nhận thực chương trình kết là: - Giá trị tham trị giống thời 10 điểm trước sau gọi chương trình 5 Hoạt động 5: (1) Mục tiêu: Học sinh củng cố kiến thức lý thuyết cấu trúc thủ tục chương trình (2) Phương pháp/kỹ thuật dạy học: Rèn tư phân tích, tổng hợp (3) Hình thức tổ chức hoạt động: Vấn đáp (4) Phương tiện dạy học: SGK, máy tính, máy chiếu (5) Sản phẩm: Học sinh nắm kiến thức cần củng cố thông qua học Nội dung hoạt động - Cần nắm kiến thức sau: + Cấu trúc vị trí thủ tục + Phân biệt tham biến tham trị D HƯỚNG DẪN HỌC Ở NHÀ - Làm lại ví dụ chạy thử máy GV Soạn : Nguyễn Mạnh Sơn Tùng Trung học phổ thông Trần Phú Tin học 11 - Chuẩn bị trước tập thực hành số Ngày soạn: 18/02/2018 Tiết chương trình : 47 Thời gian: 45 phút / tiết Lớp : 11a7, 11a8, 11a9 §18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (tiếp) Chuẩn kiến thức, kỹ cần đạt tiết học - Về kiến thức Học sinh cần: Nắm giống khác thủ tục hàm - Về kỹ Nhận biết thành phần 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 - Về tình cảm, tư tưởng Học sinh thấy cần thiết tiện lợi chương trình Làm cho học sinh u thích lập trình môn học - Phương pháp dạy học, phương tiện dạy học chủ yếu Giáo viên: Giáo án, sách giáo khoa, bảng, phấn, tài liệu, Học sinh: Vở ghi, sách giáo khoa tin học 11, bút, - Định hướng hình thành lực Rèn luyện phẩm chất người lập trình tinh thần hợp tác làm việc theo nhóm, tn thủ u cầu công việc chung A Khởi động Hoạt động 1: Kiểm tra cũ: (1) Mục tiêu: Kiểm tra kiến thức học trước (bài 18 – tiết 44) cấu trúc thủ tục ví dụ (2) Phương pháp/kỹ thuật dạy học: Đàm thoại, vấn đáp (3) Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhóm (4) Phương tiện dạy học: SGK, máy tính, máy chiếu (5) Sản phẩm: Học sinh trả lời câu hỏi nội dung kiến thức tiết học trước GV Soạn : Nguyễn Mạnh Sơn Tùng Trung học phổ thông Trần Phú HOẠT ĐỘNG CỦA GV Câu 1: Nêu cấu trúc thủ tục? Câu 2: Hãy phân biệt tham biến tham trị? Nội dung hoạt động HOẠT ĐỘNG CỦA HS Trả lời câu hỏi Trả lời câu hỏi Tin hoïc 11 NỘI DUNG Kiến thức học 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI B HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP Hoạt động 2: (1) Mục tiêu: Làm bật giống khác thủ tục hàm (2) Phương pháp/kỹ thuật dạy học: Đàm thoại, phát (3) Hình thức tổ chức hoạt động: Thảo luận nhóm (4) Phương tiện dạy học: SGK, máy tính, máy chiếu (5) Sản phẩm: Học sinh hiểu nhiều điểm giống khác Nội dung hoạt động HOẠT ĐỘNG CỦA GV HĐỘNG NỘI DUNG CỦA HS GV: Nhắc lại số hàm chuẩn Cách viết sử dụng hàm học như: abs(), sqr(), HS: a Cấu trúc hàm GV: Chiếu chương trình ví dụ lên Quan sát Function [(DS tham bảng Giới thiệu cho học sinh cấu trúc ví dụ số)]:; hàm vị trí hàm chương [] trình Begin HS: GV: Hàm có cấu trúc tương tự thủ [] tục, nhiên có khác phần đầu Nghe :=; giảng phải khai báo kiểu liệu mà hàm End; ghi trả về: Chú ý: Function [(DS tham - Kiểu liệu mà hàm trả có số)]:; thể : integer, real, char, boolean, Ngoài ra, phần thân hàm cịn string có lệnh gán giá trị cho tên hàm: :=; HS: Suy giá trị cho tên hàm: GV: Dựa vào cấu trúc thủ tục, nghĩ :=; nêu cấu trúc hàm? C VẬN DỤNG, TÌM TỊI: Hoạt động 3: (1) Mục tiêu: Minh họa cho điểm giống khác thủ tục hàm GV Soạn : Nguyễn Mạnh Sơn Tùng Trung học phổ thông Trần Phú Tin học 11 (2) Phương pháp/kỹ thuật dạy học: Rèn tư phân tích, tổng hợp (3) Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhóm (4) Phương tiện dạy học: SGK, máy tính, máy chiếu (5) Sản phẩm: Học sinh nắm điểm giống khác thủ tục hàm thông qua chương trình Rutgon_phanso Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT NỘI DUNG ĐỘNG CỦA HS GV: Hãy xác định input output b Ví dụ hàm tốn này? HS: Quan VD1: Xét chương trình thực sát ví dụ GV: Để viết chương trình chúng việc rút gọn phân số, ta sử dụng hàm ƯCLN để tìm ƯCLN hai số M, N Ở 10 tìm hiểu cấu trúc lặp, biết cách tìm ƯCLN số nguyên dương Một em nhắc lại thuật tốn tìm ƯCLN số ngun? GV: Dựa vào thuật tốn tìm ƯCLN số ngun dương học cách sử dụng hàm viết đoạn chương trình tìm ƯCLN số nguyên GV: Ngoài cách viết hàm UCLN phép trừ, tìm UCLN phép chia sau: Function UCLN( x, y: interger):interger; var sodu:interger; begin while y0 begin sodu:=x mod y; x:=y; y:=sodu; end; UCLN:=x; End; HS: Nghe giảng ghi có sử dụng hàm tính ước chung lớn (ƯCLN) hai số nguyên - Input: phân số - Output: phân số rút gọn HS: Suy - Đoạn chương trình tìm ƯCLN nghĩ : Function UCLN( M,N:integer): integer); Begin While MN If M>N then M:= M-N Else N:=N-M; UCLN:=M; End; - Ví dụ UCLN(18,4)=2 GV Soạn : Nguyễn Mạnh Sơn Tùng Trung học phổ thông Trần Phú GV: Trong toán học, muốn rút gọn phân số ta làm nào? GV: Vậy pascal ta làm nào? Tin học 11 - Để rút gọn phân số tốn học: ta lấy tử số mẫu số chia cho ƯCLN phân số rút gọn - Để rút gọn phân số pascal: if a>1 then begin tuso:=tuso div a; mauso:=mauso div a; end; GV: Chiếu chương trình đầy đủ thực việc rút gọn phân số chạy thử cho học sinh quan sát HS : Quan sát GV: Trong chương trinh biến tuso,mauso, a biến tồn cục cịn biến sodu biến cục Lệnh gán giá trị cho tên hàm: UCLN:=x; Lệnh gọi hàm: a:=ƯCLN(tuso,mauso); - Chương trình đầy đủ: Program rutgon_ps; Uses crt; Var tuso, mauso, a: integer; Function UCLN( x, interger):interger; var sodu:interger; begin while y0 begin y: sodu:=xmod y; x:=y; y:=sodu; HS: Nghe giảng ghi chép end; UCLN:=x; End; Begin Clrscr; Write(‘nhap tu so, mau so:’); readln(tuso,mauso); a:=ƯCLN(tuso,mauso); if a>1 then begin tuso:=tuso div a; mauso:=mauso div a; end; writeln(‘ tuso:5, mauso:5’); end GV Soaïn : Nguyễn Mạnh Sơn Tùng Trung học phổ thông Trần Phú Tin hoïc 11 Hoạt động 4: (1) Mục tiêu: Minh họa cho cấu trúc hàm (2) Phương pháp/kỹ thuật dạy học: Rèn tư phân tích, tổng hợp (3) Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhóm (4) Phương tiện dạy học: SGK, máy tính, máy chiếu (5) Sản phẩm: Học sinh nắm đặc điểm hàm thơng qua chương trình Max_ba_so Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG NỘI DUNG CỦA HS GV: Hãy xác định input, VD2: Tìm giá trị lớn số thực a, output toán? b, c nhập vào từ bàn phím, có sử GV: Ví dụ có số a=3, dụng hàm tìm số lớn hai số b=8 số lớn HS: So sánh giá + input: số thực a, b, c Vậy làm để tìm trị số a + output: giá trị lớn số a, b, c số lớn > b số nhỏ số? a, ngược - Hàm tìm số lớn viết lại số nhỏ sau: Function max(a,b:real):real; GV: Để tìm giá trị nhỏ b Begin số ta phải dùng HS : biến a, b, c, if a