Trong các tiết dạy Tin học chúng tôi, đồng nghiệp và học sinh cũng hay bị vấp phải việc Sử dụng lệnh điều kiện If . then sao cho phù hợp. Đây cũng là cơ sở để học sinh phát huy tính độc lập, tự giác, tích cực trong học tập.
Việc sử dụng phương tiện hiện đại một cách hợp lý, khoa học sẽ rút ngắn khoảng cách giữa lý thuyết với thực hành và làm cho quá trình nhận thức của học sinh được cụ thể hơn. Các em lĩnh hội tri thức một cách đầy đủ chính xác hơn đồng thời củng cố, mở rộng, khắc sâu và nâng cao kiến thức cơ bản cho các em.
II. KINH NGHIỆM VIỆC RÈN LUYỆN KỸ NĂNG SỬ DỤNG CÂU LỆNH ĐIỀU KIỆN IF . THEN VÀO GIẢNG DẠY MỘT TIẾT THỰC HÀNH TIN HỌC 8:
1. CÁC BƯỚC TIẾN HÀNH RÈN LUYỆN:
- Ta đã biết rằng, khi thực hiện một chương trình, máy tính sẽ thực hiện tuần tự các câu lệnh, từ câu lệnh đầu tiên đến câu lệnh cuối cùng. Trong nhiều trường hợp, chúng ta muốn máy tính thực hiện một câu lệnh nào đó, nếu một điều kiện cụ thể được thoả mãn; ngược lại, nếu điều kiện không được thoả mãn thì bỏ qua câu lệnh hoặc thực hiện một câu lệnh khác.
Trong các ngôn ngữ lập trình, các cấu trúc rẽ nhánh được thể hiện bằng câu lệnh điều kiện. Trong Pascal, lệnh điều kiện được viết dưới hai dạng cụ thể, đó là:
CHUYÊN ĐỀ: RÈN LUYỆN KỸ NĂNG “SỬ DỤNG LỆNH ĐIỀU KIỆN” TRONG THỰC HÀNH MÔN TIN HỌC 8. ( Người báo cáo: Lê Hữu Ân ) A. ĐẶT VẤN ĐỀ: I. CƠ SỞ KHOA HỌC: Ứng dụng công nghệ tin học nói chung và việc dạy học Tin học nói riêng vào hoạt động giảng dạy, học tập đang được sự quan tâm đặc biệt của ngành giáo dục. Thực tế đã chứng minh, công nghệ thông tin đã đem lại hiệu quả rất lớn trong quá trình dạy học. Giáo viên tiếp cận và sử dụng công nghệ thông tin làm cho giờ dạy trở nên thú vị và hấp dẫn, học sinh hứng thú và tích cực hơn trong học tập. Đặc biệt, trong việc “Rèn luyện kỹ năng sử dụng lệnh điều kiện” sao cho phù hợp với Tiết thực hành trong Phần 1: Lập trình đơn giản – Môn Tin học 8. II. TÍNH CẦN THIẾT CỦA CHUYÊN ĐỀ Việc Rèn luyện kỹ năng sử dụng lệnh điều kiện trong hoạt động dạy học Tin học 8 cũng là một yêu cầu trong đổi mới phương pháp dạy học, nhằm tích cực hoá các hoạt động của học sinh với sự trợ giúp của các phương tiện dạy học hiện đại. Hiện nay trong hệ thống nhà trường công nghệ thông tin đã được áp dụng vào hầu hết các bộ môn như: Toán, lí, hoá, địa, sử, ... với việc lập trình đơn giản cho tiết dạy soạn bằng vi tính. Riêng đối với bộ môn Tin học 8, với đặc thù của bộ môn, việc lập trình đơn giản trong tiết thực hành thì việc Rèn luyện kỹ năng sử dụng lệnh điều kiện là rất cần thiết. Vì vậy để khắc phục tình trạng trên, một số giáo viên mới dạy Tin học và học sinh còn lúng túng trong quá trình dạy học minh họa nên hiệu quả chưa được cao. III. MỤC ĐÍCH: Qua thực tế giảng dạy môn Tin học 8, chúng tôi không khỏi băn khoăn, suy nghĩ: “Rèn luyện kỹ năng sử dụng lệnh điều kiện”, vừa đáp ứng được yêu cầu của môn học, vừa phù hợp với học sinh của mình và mở rộng thêm để các em có hứng thú khi học môn này, yêu tin học và tìm thấy niềm say mê tìm tòi đối với bộ môn. Nhờ sự quan tâm giúp đỡ của Phòng Giáo dục và Đào Tạo Đại Lộc cũng như của nhà trường, chúng tôi đã được tham dự lớp bồi dưỡng tin học do Phòng Giáo dục - Đào Tạo Đại Lộc – Quảng Nam tổ chức các năm qua. Từ những điều đã tiếp thu được, tôi nhận thấy cần mạnh dạn ứng dụng công nghệ tin học vào mở rộng việc Sử dụng lệnh điều kiện If ... then nói riêng và việc dạy bộ môn Tin học nói chung; với sự hỗ trợ của với các phương tiện hiện đại như máy vi tính, máy chiếu projector ... để làm cho giờ dạy học sinh động, hấp dẫn hơn. Cách làm đó còn có tác dụng thực sự cho việc nâng cao chất lượng dạy học Tin học ở nhà trường THCS. B. NỘI DUNG: I. THỰC TRẠNG VẤN ĐỀ: Trong các tiết dạy Tin học chúng tôi, đồng nghiệp và học sinh cũng hay bị vấp phải việc Sử dụng lệnh điều kiện If ... then sao cho phù hợp. Đây cũng là cơ sở để học sinh phát huy tính độc lập, tự giác, tích cực trong học tập. Việc sử dụng phương tiện hiện đại một cách hợp lý, khoa học sẽ rút ngắn khoảng cách giữa lý thuyết với thực hành và làm cho quá trình nhận thức của học sinh được cụ thể hơn. Các em lĩnh hội tri thức một cách đầy đủ chính xác hơn đồng thời củng cố, mở rộng, khắc sâu và nâng cao kiến thức cơ bản cho các em. II. KINH NGHIỆM VIỆC RÈN LUYỆN KỸ NĂNG SỬ DỤNG CÂU LỆNH ĐIỀU KIỆN IF ... THEN VÀO GIẢNG DẠY MỘT TIẾT THỰC HÀNH TIN HỌC 8: 1. CÁC BƯỚC TIẾN HÀNH RÈN LUYỆN: - Ta đã biết rằng, khi thực hiện một chương trình, máy tính sẽ thực hiện tuần tự các câu lệnh, từ câu lệnh đầu tiên đến câu lệnh cuối cùng. Trong nhiều trường hợp, chúng ta muốn máy tính thực hiện một câu lệnh nào đó, nếu một điều kiện cụ thể được thoả mãn; ngược lại, nếu điều kiện không được thoả mãn thì bỏ qua câu lệnh hoặc thực hiện một câu lệnh khác. Trong các ngôn ngữ lập trình, các cấu trúc rẽ nhánh được thể hiện bằng câu lệnh điều kiện. Trong Pascal, lệnh điều kiện được viết dưới hai dạng cụ thể, đó là: 1.1. CÂU LỆNH ĐIỀU KIỆN DẠNG THIẾU: Cú pháp: If then ; Ví dụ 1: Giả sử cần in số a ra màn hình nếu a > b. + Nếu a > b thì in ra màn hình giá trị của a. Thế hiện bằng lệnh điều kiện dạng thiếu trong Pascal là: If a > b then write(a); Ví dụ 2: Chương trình đọc số không lớn hơn 10, kiểm tra tính hợp lệ và không hợp lệ. Khi đó các hoạt động của chương trình có thể biểu diễn bằng thuật toán sau: Bước 1: Nhập số a; Bước 2: Nếu a > 10 thì thông báo lỗi; Các lệnh điều kiện dạng thiếu của Pascal sẽ thể hiện thuật toán trên như sau: Readln(a); If a > 10 then write(‘So da nhap khong hop le.’); Ví dụ 3: Giả sử cần in số b ra màn hình nếu a < b. + Nếu a < b thì in ra màn hình giá trị của b. Thế hiện bằng lệnh điều kiện dạng thiếu trong Pascal là: If a < b then write(b); Ví dụ 4: Tìm giá trị lớn nhất Max của hai số nguyên a và b. Thuật toán: - Giả sử ta gán Max:=a; - If b>a then max:=b; Áp dụng cú pháp dạng thiếu sau: Max:=a; If b>a then Max:=b; Ví dụ 5: Lập trình nhập vào từ bàn phím 3 số nguyên a,b,c, in ra số lớn nhất. Thuật toán: - Max:=a; - If max<b then max:=b; - If max<c then max:=c; Thế hiện bằng lệnh điều kiện dạng thiếu: Max:=a; If Max<b then Max:=b; If Max<c then Max:=c; 1.2. CÂU LỆNH ĐIỀU KIỆN DẠNG ĐẦY ĐỦ: Cú Pháp: If then else ; Ví dụ 6: Viết chương trình tính kết quả của a chia cho b, với a và b là hai số bất kì. Phép tính chỉ được thực hiện khi b ≠ 0. Chương trình cần kiểm tra giá trị của b, nếu b ≠ 0 thì thực hiện phép chia; nếu b = 0 sẽ thông báo lỗi. + Nếu b ≠ 0 thì tính kết quả Ngược lại thì thông báo lỗi + Dưới đây là câu lệnh Pascal thể hiện cấu trúc rẽ nhánh dạng đủ nói trên là: If b 0 then x:= a/b else write(‘Mau so bang 0, khong chia duoc’); Ví dụ 7: Viết chương trình nhập hai số nguyên a và b khác nhau từ bàn phím và in hai số đó ra màn hình theo thứ tự không giảm. + Dưới đây là câu lệnh Pascal thể hiện cấu trúc rẽ nhánh dạng đủ nói trên là: If a<b then write(a,’ ‘,b) else write(b,’ ‘,a); Ví dụ 8: Viết chương trình nhập chiều cao của hai bạn Long và Trang, in ra màn hình kết quả so sánh chiều cao của hai bạn; chẳng hạn “Bạn Long cao hơn”. + Dưới đây là câu lệnh Pascal thể hiện cấu trúc rẽ nhánh dạng đủ nói trên là: If Long>Trang then writeln(‘ Ban Long cao hon ’); If Long<Trang then writeln(‘ Ban Trang cao hon ’) else writeln(‘ Hai ban cao bang nhau ’); Ngoài ra, có thể sử dụng các câu lệnh If then lồng nhau và sử dụng từ khoá and có thể kết hợp nhiều phép so sánh đơn giản thành một phép so sánh phức hợp. Giá trị của phép so sánh này là đúng khi và chỉ khi tất cả các phép so sánh đơn giản đều đúng. Ngược lại, nó có giá trị sai. Từ ví dụ 3, ta có câu lệnh Pascal thể hiện cấu trúc rẽ nhánh dạng đủ nói trên là: If Long>Trang then writeln(‘ Ban Long cao hon ’) else If Long<Trang then writeln(‘ Ban Trang cao hon ’) else writeln(‘ Hai ban cao bang nhau ’); Ví dụ 9: Viết chương trình nhập ba số dương a, b, c từ bàn phím. Kiểm tra và in ra màn hình kết quả kiểm tra ba số đó có thể là độ dài các cạnh của một tam giác hay không ? + Ba số dương a, b, c là độ dài các cạnh của một tam giác khi và chỉ khi a + b > c, b + c > a và c + a > b (tức là tổng độ dài hai cạnh trong một tam giác luôn luôn hơn cạnh thứ ba). + Dưới đây là câu lệnh Pascal thể hiện cấu trúc rẽ nhánh dạng đủ nói trên là: Readln(a,b,c); If (a + b > c) and (b + c > a) and (c + a > b) then writeln(‘a, b và c là ba canh cua mot tam giac!’) else writeln(‘a, b và c khong là ba canh cua mot tam giac!’); Ví dụ 10: Tìm giá trị lớn nhất Max của hai số nguyên a và b. Thuật toán: - Giả sử ta gán Max:=a; - If b>a then max:=b; Áp dụng cú pháp dạng đủ sau: If a>b then Max:=a else Max:=b; 2. MỘT SỐ BÀI TẬP ĐỂ RÈN LUYỆN SỬ DỤNG LỆNH ĐIỀU KIỆN IF THEN: a) Bài 1, bài 2 và bài 3/SGK Tin 8/ Trang 52à 54. b) BT mở rộng: Bài 1: Viết chương trình nhập vào 2 số nguyên a, b. Xuất số lớn nhất ra màn hình.. Giải: Program bai1; Var a, b, max :integer; Begin Write(‘ nhap vao so nguyen a = ‘); Readln(a); Write(‘ nhap vao so nguyen b = ‘); Readln(b); Max:=a; If b> max then max:=b; Write(‘ so lan nhat la ‘,max); Readln; End. Bài 2: Viết chương trình nhập vào 4 số nguyên a, b, c, d. Xuất số lớn nhất, nhỏ nhất ra màn hình. Giải: Program bai2; Var a, b, c, d, max : integer; Begin Write(‘ nhap vao so nguyen a = ‘); Readln(a); Write(‘ nhap vao so nguyen b = ‘); Readln(b); Write(‘ nhap vao so nguyen c = ‘); Readln(c); Write(‘ nhap vao so nguyen d = ‘); Readln(d); Max:=a; If b> max then Max:=b; If c> max then Max:=c; If d> max then Max:=d; Write(‘ so lon nhat la ‘,max); Min:=a; If b< Min then Min:=b; If c< Min then Min:=c; If d< Min then Min:=d; Write(‘ so nho nhat la ‘,Min); Readln; End. Bài 3: Viết chương trình nhập vào 4 số nguyên a, b, c, d. Tìm xem có bao nhiêu số dương (>0). Giải: Program bai3; Var a, b, c, d : integer; Begin Write(‘ nhap vao so nguyen a = ‘); Readln(a); Write(‘ nhap vao so nguyen b = ‘); Readln(b); Write(‘ nhap vao so nguyen c = ‘); Readln(c); Write(‘ nhap vao so nguyen d = ‘); Readln(d); d:=0; If a>0 then d:=d+1; If b>0 then d:=d+1; If c>0 then d:=d+1; If d>0 then d:=d+1; Write(‘ Tong so cac so duong la :’,d); Readln; End. Bài 4: Viết chương trình tìm giá trị lớn nhất Max của hai số nguyên a và b. Thuật toán: Cách 1: Áp dụng cú pháp 1 dạng thiếu - Giả sử ta gán Max:=a; - If b>a then max:=b; Giải: Program Max_1; Var a, b, Max: Integer; Begin Writeln(‘nhap vao a va b=‘); Readln(a,b); Max:=a; If b>a Then Max:=b; Write(‘ Gia tri lon nhat Max la:’, Max); Readln; End. Cách 2: Áp dụng cú pháp 2 dạng đủ If a>b Then Max:=a Else Max:=b; Giải: Program Max_2; Var a, b, Max: Integer; Begin Writeln(‘nhap vao a va b=‘); Readln(a,b); If a>b Then Max:=a Else Max:=b; Write(‘ Gia tri lon nhat Max la:’, Max); Readln; End. Bài 5: Lập trình nhập vào từ bàn phím 3 số nguyên a, b, c in ra số lớn nhất. Thuật toán: - Max:=a; - If max<b then max:=b; - If max<c then max:=c; Giải: Program Max_3; Var a, b, c, max: integer; Begin Writeln(‘ Nhap vao 3 so nguyen a,b,c’); Readln(a,b,c); Max:=a; If Max<b then Max:=b; If Max<c then Max:=c; Writeln(‘So lon nhat trong 3 so la:’, max:4:1); Readln; End. Bài 6: Viết chương trình giải phương trình bậc nhất ax + b = 0 Giải: Program Ptbac_nhat; Var a, b, x : real; Begin Write(‘nhap vao a, b ’); readln(a,b); If a=0 then If b 0 then write(‘PT vo nghiem’) else write(‘PT co vo so nghiem’) else write(‘PT co nghiem x=‘,-b/a); End. Bài 7: Nhập số nguyên dương x, in ra kết quả cho biết số đó có chia hết cho 3 hay 7 không. Thuật toán: - Để kiểm tra 1 số có chia hết cho 3 hay không ta dùng hàm Mod, nếu x mod 3 =0, nghĩa là x chia hết cho 3, ngược lại x không chia hết cho 3 - Hàm mod là hàm chia lấy phần dư của 2 số nguyên. Giải: Program songuyenduong; Var x: Integer; Begin Write(‘Nhap so nguyen x=’); readln(x); If (x mod 3) = 0 then write(x’,chia het cho 3’) Else write(x’,khong chia het cho 3’); If (x mod 7) = 0 then write(x’,chia het cho 7’) Else write(x’,khong chia het cho 7’); Readln; End. Mỗi ngôn ngữ lập trình đều có các câu lệnh để thực hiện các cấu trúc rẽ nhánh dạng thiếu và đủ. Cấu trúc rẽ nhánh giúp cho việc lập trình đơn giản hơn. Với cách chuẩn bị như vậy, chúng tôi thấy giờ dạy luôn đạt hiệu quả cao, còn giáo viên chủ động lựa chọn nội dung thích hợp để đổi mới phương pháp dạy học. Trong quá trình báo cáo, không tránh khỏi những thiếu sót. Mong các đồng nghiệp góp ý chân tình để chuyên đề được tốt hơn. Xin chân thành cảm ơn ! III. BÀI DẠY MINH HOẠ Bài thực hành 4: SỬ DỤNG LỆNH ĐIỀU KIỆN IF THEN ( 1 Tiết ) Từ Slide 1 à Slide 5
Tài liệu đính kèm: