1. Mục đích, yêu cầu
• Viết được chương trình có sử dụng vòng lặp for...do;
• Sử dụng được câu lệnh ghép;
• Rèn luyện kĩ năng đọc hiểu chương trình có sử dụng vòng lặp for...do.
2. Những điểm cần lưu ý và gợi ý dạy học
Trước khi tiến hành các bài của bài thực hành 5, để tạo hứng thú cho HS, GV có thể dành thời gian để HS gõ và chạy một hoặc hai chương trình các em đã viết trong giờ học lí thuyết. Như đã nói, việc thực hành và được quan sát trực quan kết quả chạy chương trình đã học ở tiết lí thuyết là cần thiết, hữu ích để HS ôn lại lí thuyết, gắn kết lí thuyết-thực hành và tạo niềm tin trong học tập. Chương trình thực hiện chào hỏi các bạn trong lớp (hoặc trong nhóm) có thể như sau:
Program Chao_hoi;
uses crt;
var Ten: string;
Begin
For i:= 1 to 3 do Begin
write('Nhap ten cua ban'); Readln(Ten); write('Chao ban ', Ten);
end; readln;
End.
Lưu ý: để tránh mất thời gian thử chương trình, yêu cầu HS cho giá trị cuối nhỏ. Nếu HS đã lỡ để giá trị cuối quá lớn, chương trình lặp lại nhiều lần gây mất thời gian, GV có thể nhấn tổ hợp phím Ctrl+Break để ngắt chương trình.
Yêu cầu HS thay đổi giá trị cuối và nhận xét về số lần nhập tên và hiển thị lời chào hỏi. HS cần giải thích được sự thay đổi này để hiểu về hoạt động của câu lệnh for...do. Số lần lặp bằng Giá trị cuối - Giá trị đầu + 1.
Sau ví dụ này, HS về cơ bản đã hiểu rõ, giải thích được hoạt động của câu lệnh for...do, hiểu và sử dụng được câu lệnh ghép.
Với bài 1 của bài thực hành này, HS cần tập trung tìm hiểu câu lệnh:
for i:=1 to 10 do writeln(N,' x ',i:2,' = ',N*i:3);
Đặc biệt HS cần phải nhận thấy được sự thay đổi của biến đếm i và các tham số của câu lệnh write để viết ra bảng cửu chương. Các tham số :2, :3 chỉ có ý nghĩa trong việc quy định quy cách trình bày bảng cửu chương trên màn hình, lưu ý học sinh không cần quan tâm đến quy cách trình bày, chỉ cần quan tâm đến sự thay đổi của biến đếmi, thông tin được lệnh writeln()
Có thể cho HS thảo luận theo nhóm để hoàn thành một bảng tiến trình thực hiện của câu lệnh trên như sau:
Giả sử với N=3 Bướ c i i ≤ 10 ? writeln(N,'.',i,' = ',N*i) 1 1 Đúng 3.1 = 3 2 2 Đúng 3.2 = 6 3 3 Đúng 3.3 = 9 4 4 Đúng 3.4 = 12 5 5 Đúng 3.5 = 15 6 6 Đúng 3.6 = 18 7 7 Đúng 3.7 = 21 8 8 Đúng 3.8 = 24 9 9 Đúng 3.9 = 27 10 10 Đúng 3.10 = 30