II.1. HỆ THỐNG KIẾN THỨC VỀ CHưƠNG TRÌNH CON
II.1.1 Chương trình con và lợi ích của việc sử dụng chương trình con
a) Khái niệm
- Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể
được thực hiện ở nhiều vị trí trong chương trình.
b) Lợi ích của việc sử dụng chương trình con:
- Tránh việc phải viết lặp lại một nhóm lệnh khi nhóm lệnh này được thực hiện
nhiều lần khác nhau trong chương trình.
- Hỗ trợ cho các chương trình lớn.
- Có thể giao cho nhiều người cùng viết một chương trình.
- Thuận tiện cho việc phát triển, nâng cấp chương trình.
c) Phân loại
- Chương trình con gồm hai loại : Hàm và thủ tục
d) Cấu trúc chương trình con
- Chương trình con có cấu trúc tương tự chương trình, nhưng nhất thiết phải có
tên và phần đầu dùng để khai báo tên, nếu là hàm phải khai báo kiểu dữ liệu cho
giá trị trả về của hàm.
ỨU VÀ THỜI GIAN THỰC HIỆN ĐỀ TÀI .................................................................................................... 1 I.4. QUÁ TRÌNH THỰC HIỆN ĐỀ TÀI........................................................ 2 I.4.1. Tình hình thực tế trƣớc khi thực hiện đề tài .......................................... 2 I.4.2. Số liệu điều tra trƣớc khi thực hiện đề tài ............................................. 2 PHẦN 2: GIẢI QUYẾT VẤN ĐỀ ........................................................................ 3 II.1. HỆ THỐNG KIẾN THỨC VỀ CHƢƠNG TRÌNH CON ......................... 3 II.2. CÁC LỖI CỦA HỌC SINH THƢỜNG MẮC VÀ CÁCH KHẮC PHỤC 4 II.3. KHAI THÁC MỘT SỐ THUẬT TOÁN SỬ DỤNG CHƢƠNG TRÌNH CON ................................................................................................................... 9 II.2.1 Hàm tìm ƣớc số chung lớn nhất của hai số nguyên dƣơng M và N ........ 9 II.2.2 Hàm tìm giá trị nhỏ nhất của hai số nguyên a và b ................................ 13 II. 3. KẾT QUẢ ÁP DỤNG ĐỀ TÀI ............................................................. 14 PHẦN III : KẾT LUẬN VÀ KIẾN NGHỊ ......................................................... 15 III.1. KẾT LUẬN ............................................................................................. 15 III.2. KIẾN NGHỊ ............................................................................................ 15 Trang 1/15 PHẦN I : ĐẶT VẤN ĐỀ I.1. LÝ DO CHỌN ĐỀ TÀI - Thực hiện công văn số 3147/SGDĐT về việc hƣớng dẫn nhiệm vụ năm học 2020-2021 và hƣớng dẫn hoạt động chuyên môn bộ môn Tin học cấp THPT của Sở Giáo dục - Đào tạo Hà Nội. Thực hiện hiệu quả chƣơng trình giáo dục phổ thông hiện hành theo định hƣớng phát triền phẩm chất năng lực cho học sinh. - Với tình hình thực tế giảng dạy bộ môn Tin ở trƣờng THPT Lƣu Hoàng, kế hoạch giảng dạy của bộ môn xây dựng giành cho các tiết bài tập và thực hành tƣơng đối nhiều.Việc củng cố kiến thức thông thông qua hệ thống các tiết bài tập một cách hiệu quả là rất cần thiết. - Nội dung về cách viết và sử dụng chƣơng trình con vẫn còn là bài học khá khó đối với nhiều em học sinh khối 11 do nhiều học sinh còn yếu kiến thức về mặt Toán học và không hứng thú với việc học bộ môn Tin. Tôi tìm giải pháp khắc phục, giúp cho học sinh tiếp thu đƣợc kiến thức thông qua giải quyết nhiệm vụ học tập đặt ra trong bài học, khai thác các ví dụ trong bài học nhằm củng cố kiến thức cho các em thông qua các tiết bài tập và thực hành. - Việc chuyển giao nhiệm vụ cho học sinh nhằm mục đích phát huy sự chủ động và sáng tạo của học sinh, tăng cƣờng tính giao lƣu, hợp tác thúc đẩy học sinh hứng thú học tập, đó là lí do tôi chọn đề tài này. I.2. MỤC ĐÍCH NGHIÊN CỨU Tên đề tài : “ RÈN LUYỆN KỸ NĂNG VIẾT CHƢƠNG TRÌNH CON THÔNG QUA CÁC TIẾT BÀI TẬP VÀ THỰC HÀNH ” Đề tài này chủ yếu tập trung vào nghiên cứu khắc phục những sai lầm mà học sinh thƣờng mắc phải. Khai thác các ví dụ trong sách giáo khoa nhằm khắc sâu kiến thức về chƣơng trình con cũng nhƣ vai trò ý nghĩa của chƣơng trình con. Phát triển tƣ duy lập trình cho học sinh, giải quyết các vấn đề trong khoa học cũng nhƣ trong cuộc sống, thông qua tiết bài tập và thực hành tạo sự hứng thú học tập cho các em học sinh. I.3. ĐỐI TƢỢNG, PHẠM VI NGHIÊN CỨU VÀ THỜI GIAN THỰC HIỆN ĐỀ TÀI I.3.1. Đối tƣợng nghiên cứu - Những lỗi mà học sinh lớp 11 thƣờng mắc khi trình bày chƣơng trình con I.3.2. Phạm vi nghiên cứu - Các thuật toán đơn giản I.3.3. Thời gian thực hiện đề tài - Đề tài đƣợc viết và áp dụng trong Năm học 2020-2021 Trang 2/15 I.4. QUÁ TRÌNH THỰC HIỆN ĐỀ TÀI I.4.1. Tình hình thực tế trƣớc khi thực hiện đề tài - Sau khi giảng dạy xong bài 18 “ Ví dụ về cách viết và sử dụng chƣơng trình con”, tôi đã cho khảo sát lớp 11A1, 11A2. *Kết quả tồn tại: +Nhiều học sinh chƣa phân biệt rõ đƣợc vấn đề khi nào viết chƣơng trình con là hàm và khi nào nên viết chƣơng trình con dƣới dạng thủ tục. +Học sinh còn lúng túng trong việc trình bày chƣơng trình con, khai báo biến, tham số. +Học sinh không nhớ đƣợc kiến thức cũ để áp dụng giải bài tập. - Các yếu tố này làm ảnh hƣởng đến chất lƣợng, hiệu quả của bài học. I.4.2. Số liệu điều tra trƣớc khi thực hiện đề tài Lớp Sĩ số Giỏi Khá Trung Bình Yếu Kém 11A1 (Thực nghiệm) 42 6 13 11 12 0 11A2 (Đối chứng) 42 5 12 13 12 0 Trang 3/15 PHẦN 2: GIẢI QUYẾT VẤN ĐỀ Tên đề tài sáng kiến kinh nghiệm: “RÈN KỸ NĂNG VIẾT CHƢƠNG TRÌNH CON TRONG CÁC TIẾT BÀI TẬP VÀ THỰC HÀNH” ”. Sáng kiến gồm các nội dung chính : +Hệ thống kiến thức về chƣơng trình con + Phân biệt hàm và thủ tục + Các lỗi học sinh thƣờng mắc + Đề xuất giải pháp khắc phục. +Khai thác một số ví dụ về chƣơng trình con để giải quyết các bài tập. +Thử nghiệm sƣ phạm. II.1. HỆ THỐNG KIẾN THỨC VỀ CHƢƠNG TRÌNH CON II.1.1 Chƣơng trình con và lợi ích của việc sử dụng chƣơng trình con a) Khái niệm - Chƣơng trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể đƣợc thực hiện ở nhiều vị trí trong chƣơng trình. b) Lợi ích của việc sử dụng chƣơng trình con: - Tránh việc phải viết lặp lại một nhóm lệnh khi nhóm lệnh này đƣợc thực hiện nhiều lần khác nhau trong chƣơng trình. - Hỗ trợ cho các chƣơng trình lớn. - Có thể giao cho nhiều ngƣời cùng viết một chƣơng trình. - Thuận tiện cho việc phát triển, nâng cấp chƣơng trình. c) Phân loại - Chƣơng trình con gồm hai loại : Hàm và thủ tục d) Cấu trúc chƣơng trình con - Chƣơng trình con có cấu trúc tƣơng tự chƣơng trình, nhƣng nhất thiết phải có tên và phần đầu dùng để khai báo tên, nếu là hàm phải khai báo kiểu dữ liệu cho giá trị trả về của hàm. II.1.2 Thủ tục - Là chƣơng trình con thực hiện các thao tác nhất định nhƣng không trả về giá trị qua tên của nó. - Cấu trúc thủ tục Procedure []; [] Begin [] End; Trang 4/15 +Phần đầu: gồm Procedure, tên thủ tục và các tham số hình thức. +Phần khai báo: các hằng, kiểu, biến và cũng có thể các chƣơng trình con. +Phần thân: dãy các lệnh viết giữa Begin và end; II.1.3 Hàm - Là chƣơng trình con thực hiện một số thao tác nào đó và trả về giá trị qua tên của nó. - Cấu trúc hàm Function [()]: ; [] Begin [] ; := ; End; Chú ý: +Kiểu dữ liệu là kiểu dữ liệu của giá trị mà hàm trả về và chỉ có thể là các kiểu: integer, real, char, boolean, string. +Trong thân hàm cần phải có câu lệnh gán giá trị cho tên hàm. II.1.4 So sánh hàm và thủ tục * Giống nhau: Đều là chƣơng trình con có cấu trúc tƣơng tự nhau * Khác nhau: Điểm khác nhau cơ bản giữa thủ tục và hàm là việc thực hiện hàm luôn trả về giá trị kết quả thuộc kiểu xác định và giá trị đó đƣợc gán cho tên hàm. - Trong thân hàm cần có lệnh gán giá trị cho tên hàm :=; II.2. CÁC LỖI CỦA HỌC SINH THƢỜNG MẮC VÀ CÁCH KHẮC PHỤC II.2.1 Học sinh còn lúng túng trong việc viết chƣơng trình con - Đây là lỗi hầu hết các học sinh đều mắc phải, các em chƣa phân biệt rõ sự khác nhau cơ bản giữa hàm và thủ tục. Các em rất lúng túng trong việc xác đinh những bài toán nhƣ thế nào nên chọn thủ tục hay những bài toán nào cần sử dụng hàm. - Khi biết chƣơng trình con học sinh nhầm lẫn việc khai báo các biến. Cách khắc phục: Giáo viên phân biệt cho học sinh thấy rõ khi nào các em nên chọn hàm và khi nào nên chọn thủ tục bằng cách đƣa ra hệ thống các bài tập từ dễ đến khó. -Khi cần thực hiện một công việc nào đó ngƣời ta dùng thủ tục, còn khi cần tính một giá trị nào đó ngƣời ta dùng hàm. Trang 5/15 - Rèn luyện khả năng sử dụng chƣơng trình. Đó là con đƣờng có hiệu quả để phát triển ở học sinh năng lực xây dựng chƣơng trình đơn giản từ đó phát triển tƣ duy lập trình có cấu trúc. - Đối với mỗi bài tập giáo viên lặp đi lặp lại một cách có dụng ý những câu hỏi sau: 1) Bài toán đã cho có thể chia thành những bài toán nhỏ hơn như thế nào ? 2) Những biến nào cần dùng trong toàn bộ chương trình ? 3) Những biến nào chỉ cần cho một chương trình con cụ thể ? 4) Chương trình con nào cần viết dưới dạng hàm ? 5) Có thể cấu trúc chương trình như thế nào? - Qua việc rèn luyện lập trình giải các bài tập, học sinh sẽ dần dần lĩnh hội và vận dụng chúng nhƣ một chiến lƣợc xây dựng và sử dụng chƣơng trình con, một yếu tố quan trọng của lập trình có cấu trúc. VÍ DỤ Bài toán 1: Viết chƣơng trình thực hiện nhập vào hai số thực a,b là độ dài hai cạnh hình chữ nhật . Tính diện tích hình chữ nhật (có sử dụng chƣơng trình con). Với các câu hỏi nhƣ lặp lại phần trên, ta chờ đợi học sinh những câu trả lời : + Bài toán trên có thể chia nhỏ thành những bài toán sau: - Nhập hai số thực từ bàn phím - Tính diện tích hình chữ nhật chính là tích a*b - Biến a,b,S : thực là biến dùng cho cả chƣơng trình. - Bài toán này có thực hiện công việc tính toán diện tích hình chữ nhật học sinh có thể lựa chọn chƣơng trình con là thủ tục hoặc hàm. Từ đó học sinh có thể viết đƣợc chƣơng trình có sử dụng các chƣơng trình con là thủ tục nhƣ sau: Program DTICH_HCN; Var a,b , S: real; Procedure Nhap; Begin Write(„Nhap a,b‟); Readln(a,b); End; Procedure DTICH_HCN; Begin S:=a*b; Write(„Dien tich hcn = ‟,S:2:1); End; Trang 6/15 BEGIN Nhap; DTICH_HCN; END. Bài toán 2: Lập chƣơng trình thực hiện tính diện tích của hình tứ giác khi biết số đo 4 cạnh và một đƣờng chéo nhập vào từ bàn phím. Dẫn dắt học sinh : Câu hỏi 1: Có thể chia nhỏ bài toán nhƣ thế nào? - Nhập các số từ bàn phím - Tính diện tích và đƣa kết quả ra màn hình Dẫn dắt: Bài toán tính diện tích tam giác khi biết độ dài 3 cạnh a,b,c rất quen thuộc với các em, công thức Hê-Rông (p a)(p b)(p c)S p với 2 a b c p - Tìm các đƣa bài toán này về bài toán quen thuộc, để tính diện tích tứ giác này cần chia tứ giác này thành hai tam giác, khi đó diện tích tứ giác sẽ đƣợc tính bằng tổng diện tích hai tam giác đã chia Câu hỏi 2: Chƣơng trình con cần viết dƣới dạng hàm hay thủ tục ? - Do cần lấy giá trị của chƣơng trình con là kết quả diện tích tam giác. Học sinh dễ dàng nhận ra việc sử dụng chƣơng trình con trong bài toán này là hàm. Câu hỏi 3: Những biến nào cần dùng trong toàn bộ chƣơng trình ? - Cần 5 biến a,b,c,d, e để lƣu trữ độ dài 4 cạnh và đƣờng chéo của tứ giác Câu hỏi 4: Những biến nào chỉ cần cho hàm tính diện tích? - Cần biến tính chu vi, diện tích: S, p Câu hỏi 5: Có thể cấu trúc chƣơng trình nhƣ thế nào ? Kết quả mong đợi Program Tugiac; Var a,b,c ,d,e: real; Function Dientich(x,y,z: real): real ; Var S, p: real; Begin p:=(x+y+z)/2; S:= SQRT(p*(p-x)*(p-y)*(p-z)); Dientich:=S; End; Trang 7/15 BEGIN Write(„nhap a,b,c,d,e =‟); Readln(a,b,c,d,e); Write(„dien tich cua tu giac la :‟, Dientich(a,b,c)+ Dientich(d,e,c):5:2); END. Bài toán 3: Viết chƣơng trình nhập vào ba số thực, kiểm tra xem ba số đó có là số đo ba cạnh của tam giác không ? Nếu ba số đó là số đo ba cạnh tam giác thì tam giác đó là tam giác gì ? (tam giác có ba góc nhọn, tam giác vuông, cân hay tam giác tù). Với các câu hỏi nhƣ lặp lại phần trên, ta chờ đợi học sinh những câu trả lời : + Bài toán trên có thể chia nhỏ thành những bài toán sau: - Nhập ba số thực a,b,c từ bàn phím. Đƣa giá trị lớn nhất trong ba số về c. Kiểm tra xem c có nhỏ hơn tổng a+b hay không (học sinh có thể kiểm tra trực tiếp các điểu kiện tổng hai số bất kỳ trong ba số lớn hơn số còn lại hoặc hiệu hai số bất kỳ nhỏ hơn số còn lại). - Nhận dạng tam giác theo ba cạnh, suy ra từ việc so sánh tổng bình phƣơng cạnh lớn nhất với tổng bình phƣơng hai cạnh còn lại. + Biến a,b,c : Thực là biến dùng cho cả chƣơng trình. Trong chƣơng trình đƣa số lớn nhất về c cần biến trung gian là tg: thực là biến chỉ dùng trong chƣơng trình con để tráo đổi a cho b. + Chƣơng trình nhận vào ba số, đƣa số lớn nhất về c rồi kiểm tra xem c<a+b là đúng hay sai học sinh quen thuộc có thể viết đƣợc Từ đó học sinh có thể viết đƣợc chƣơng trình nhƣ sau: Program TamGiac; Uses crt; Var a,b,c : real; Function KTra : Boolean; Var tg: real; Begin Writeln(„nhap ba so thuc a,b,c : ‟) ; Readln(a,b,c); If c<a then begin Tg:=a; a:=c; c:=tg; end; If c< b then Trang 8/15 begin Tg:=b; b:=c; c:=tg; end; KTra:=c<a+b End; Procedure NhanDang_TG; Begin b:=a*a+b*b ; c:=c*c; if c<b then Writeln („Tam giac co ba goc deu nhon‟) If c=b then write(„Tam giac vuong‟) Else write(„Tam giac tu‟); End; BEGIN clrscr; If KTra then NhanDang_TG Else write(„Khong la tam giac‟); END. Mở rộng bài toán: Giao cho học sinh về nhà thực hiện Bài tập 1: Viết chƣơng trình con thực hiện các công việc sau a) Tinh dien tich hinh vuong b) Tinh dien tich hinh tron c) Tinh dien tich hinh thang Kết quả mong đợi uses crt; Procedure HCN; var a,b:real; Begin write(' nhap a = '); readln(a); writeln('Dien tich hcn la : ', a*a:1:2); readln; End; Procedure HINHTRON; var r : real; Begin write('R = '); Readln(r); writeln('Dien tich hinh tron : ', r*r*3.14:1:2); readln; End; Trang 9/15 Procedure HINHTHANG; var a,b,h:real; Begin write('Nhap day lon, day be, chieu cao : '); Readln(a,b,h); writeln('Dien tich hinh thang : ',(a+b)*h/2:1:2); readln; End; Bài tập 2: Dùng thủ tục giải phƣơng trình bậc hai : ax2 + bx + c = 0 + Bài toán trên có thể chia nhỏ thành những bài toán sau: - Nhập các hệ số a,b,c, - Giải phƣơng trình ax2 + bx + c = 0 Bài tập 3 : Viết chƣơng trình thực hiện lần lƣợt các công việc sau : a) Lập thủ tục nhập ba số thực dƣơng a , b , c từ bàn phím. b) Lập thủ tục kiểm tra xem ba số trên có lập thành ba cạnh của tam giác hay không ? c) Viết thủ tục tính diện tích của tam giác. d) Viết thủ tục tính các trung tuyến của tam giác. e) Viết hoàn thiện chƣơng trình chính. II.3. KHAI THÁC MỘT SỐ THUẬT TOÁN SỬ DỤNG CHƢƠNG TRÌNH CON II.2.1 Hàm tìm ƣớc số chung lớn nhất của hai số nguyên dƣơng M và N a) Mục tiêu: Nhằm vận dụng kiến thức mới mà HS đã đƣợc lĩnh hội để giải quyết những vấn đề mới trong học tập và thực tiễn về chƣơng trình con là Hàm b) Ý tƣởng thuật toán: Viết hàm tìm ƣớc số chung - So sánh M và N - Nếu M=N thì UCLN:=M - Nếu M> N thì UCLN:=M-N ngƣợc lại UCLN:=N quá trình đƣợc lặp đi lặp lại đến khi M=N Function UCLN(a,b: integer):integer; Begin While a b do If a > b then a:= a – b else b := b-a; UCLN := a; End; c) Vận dụng : Chuyển giao nhiệm vụ cho học sinh Trang 10/15 Bài toán 1: Cho một dãy gồm N số nguyên dƣơng A1, A2, ...AN ngẫu nhiên nhập từ bàn phím. Hãy tìm ƣớc chung lớn nhất của các cặp số đứng liền nhau mà số sau lớn hơn hoặc bằng số đứng trƣớc trong dãy trên và viết ra màn hình. + Xác định bài toán Input: cho N và dãy số nguyên A1, A2, ...AN Output: một dãy gồm N -1 số nguyên là các ƣớc chung lớn nhất của các số trong dãy số đã đƣợc sắp xếp thành dãy không giảm. + Bài toán trên có thể chia nhỏ thành những bài toán sau: - Nhập N và dãy số nguyên dƣơng A1, A2, ...AN : Sử dụng thủ tục Nhap - Sắp xếp dãy A1, A2, ...AN thành dãy không giảm: Sử dụng thủ tục Sap_xep - Tìm ƣớc chung lớn nhất của dãy đã sắp xếp: Sử dụng hàm tìm ƣớc số chung lớn nhất của hai số nguyên dƣơng Kết quả mong đợi trong chƣơng trình chính BEGIN Nhap ; Sap_xep; Writeln(„ day cac uoc chung lon nhat:‟); For i :=1 to N-1 do write (UCLN(A[i], A[i+1]) : 5); Readln END. Bài toán 2: Tìm bội số chung nhỏ nhất của hai số nguyên dƣơng M và N Ý tƣởng : . (M, N) (M, N) M N BSCNN USCLN Dẫn dắt học sinh: Sử dụng hàm tìm ƣớc số chung lớn nhất của hai số nguyên dƣơng. Kết quả mong đợi : Program BOI_SCNN; Var M,N: byte; Function UCLN(a,b: integer):integer; Begin While a b do If a > b then a:= a – b else b := b-a; UCLN := a; End; Trang 11/15 BEGIN Write(„nhap M,N‟); Readln(M,N); Write( „Boi so chung nho nhat=‟, (M*N) /USCLN(M,N)); END. Bài toán 3: Rút phân số thành phân số tối giảm Ý tƣởng: Chia tử và mẫu cho ƣớc số chung lớn nhất của cả tử và mẫu. - Sử dụng hàm tìm ƣớc số chung lớn nhất của hai số nguyên dƣơng. Program Rutgon_Phanso; Uses crt; Var Tuso, Mauso, a: Integer; Function USLN(x,y : integer):integer; Var sodu: integer; Begin While y0 do Begin sodu:=x mod y; x:=y; y:=sodu; End; UCLN:=x; End; BEGIN Clrscr; Write(„nhap vao Tuso, Mauso : ‟); Readln(Tuso, Mauso); a:= USCLN(Tuso,Mauso); If a>1 then Begin Tuso:=Tuso div a; Mauso:=Mauso div a; End; Writeln(Tuso:5, Mauso:5); END. Mở rộng bài toán: Giao cho nhóm học sinh về nhà thực hiện Bài toán: Viết chƣơng trình nhập số N, sau đó nhập N số hạng, tính UCLN và BCNN của N số đó. Trang 12/15 Gợi mở: Viết hàm tính UCLN, BCNN giữa 2 số UCLN (A1..An) = UCLN( UCLN(A1..An-1) ,An) BCNN (A1..An) = BCNN( BCNN(A1..An-1) ,An)} Kết quả mong đợi uses crt; VAR a,i,n:integer; u,b:integer ; Function UCLN(a,b:integer):integer; Begin while ab do if a>b then a:=a-b else b:=b-a; UCLN:=a; End; Function BCNN(a,b:integer):integer; Begin BCNN:=a*b div ucln(a,b); End; BEGIN clrscr; write('N = '); Readln(n); write('So thu 1 : '); Readln(a); u:=a;b:=a; for i:=2 to n do begin write('So thu ',i,' : '); Readln(a); u:=UCLN(u,a); b:=bcnn(b,a); end; writeln('UCLN = ', u); writeln('BCNN = ', b); readln; END. Trang 13/15 II.2.2 Hàm tìm giá trị nhỏ nhất của hai số nguyên a và b - Ý tưởng: Khai thác hàm tìm Min của hai số Function Min(a,b: Real): Real; Begin If a<b then Min:=a Else Min:=b; End; - Sử dụng hàm trên để giải quyết bài toán sau Bài toán 1 : Viết chƣơng trình con tìm số nhỏ nhất của ba số a,b,c - Dẫn dắt học sinh : Sử dụng hàm Min của hai số gọi lại chƣơng trình con đó - Kết quả mong đợi Program Min3so; Var a, b, c : Real; Function Min(var a,b:real) : real ; Begin If a<b then Min:=a Else Min:=b; End; BEGIN Write(„Nhap 3 so‟); Readln(a,b,c); Writeln(„So nho nhat trong 3 so la: ‟, Min(Min(a,b),c)); END. Bài toán 2 : Viết chƣơng trình con tìm số lớn nhất của ba số a,b,c - Dẫn dắt học sinh : Sử dụng hàm Max của hai số gọi lại chƣơng trình con đó - Kết quả mong đợi Program Max3so; Var a, b, c : Real; Function Max(var a,b:real) : real ; Begin If a>b then Max:=a Else Max:=b; End; BEGIN Write(„Nhap 3 so‟); Readln(a,b,c); Writeln(„So lon nhat trong 3 so la: ‟, Max(Max(a,b),c)); END. Trang 14/15 Phát triển bài toán: Chuyển giao nhiệm vụ cho nhóm học sinh về nhà thực hiện nộp và trình bày vào tiết bài tập sau: Bài 1: Tìm Min của 4 số a,b,c,d nhập vào từ bàn phím Bài 2: Tìm Max của 4 số a,b,c,d nhập vào từ bàn phím II. 3. KẾT QUẢ ÁP DỤNG ĐỀ TÀI Xếp loại Lớp Sĩ số Giỏi Khá Trung Bình Yếu Kém 11A1 (Thực nghiệm) 42 18 23 1 0 0 11A2 (Đối chứng) 42 15 15 12 0 0 Thông qua kiểm tra - Lớp 11A1 số lƣợng khá, giỏi tăng nhiều so với trƣớc khi thực hiện đề tài. - Lớp 11A2 không thực hiện đề tài, kết quả tăng rất ít. Trang 15/15 PHẦN III : KẾT LUẬN VÀ KIẾN NGHỊ III.1. KẾT LUẬN - Sáng kiến kinh nghiệm đƣợc viết và áp dụng trong phạm vi năm học 2020- 2021 và đƣợc áp dụng cho học sinh khối 11 của trƣờng THPT Lƣu Hoàng đã đạt đƣợc những kết quả đáng kể trong việc cải tiến phƣơng pháp giảng dạy. - Đề tài góp phần xây dựng cho học sinh năng lực tƣ duy lập trình có cấu trúc. - Các lớp sau khi áp dụng đề tài, kết quả đã nâng cao rõ rệt. Hầu hết các em đều yêu thích môn Tin và tích cực tham gia bài giảng cũng nhƣ các bài tập đƣợc giao về nhà. Các em phát huy tinh thần hợp tác và tác phong làm việc nhóm cao. III.2. KIẾN NGHỊ - Đề nghị nhà trƣờng quan tâm và đầu tƣ về cơ sở vật chất, phòng thực hành, các thiết bị giảng dạy để hỗ trợ bài giảng, học sinh tiếp thu bài đạt kết quả cao hơn. - Đƣợc triển khai, thảo luận các chu
Tài liệu đính kèm: