Lúc này giáo viên có thể khẳng định sự phân biệt giữa tham biến và tham trị, các giá trị của tham biến được lưu giữ khi ra ngoài chương trình con, còn giá trị của tham trị chỉ lưu giữ kh[r]
(1)3) Chính xác hóa khái niệm
Có khái niệm mà học sinh biết riêng lẻ chưa thể đưa nhận xét, kết luận xác liên quan tới khái niệm đó; tới thời điểm có đủ điều kiện gợi lại vấn đề giúp học sinh xác hóa khái niệm Chẳng hạn, ta cần xác hóa khái niệm sử dụng tham biến chương trình Sau học cách sử dụng tham trị, yêu cầu học sinh làm tập sau:
“Viết thủ tục nhập vào số đo bán kính đường trịn Sau tính chu vi diện tích đường trịn đó”.
Var r1, r2, r3: Real;
Procedure Nhap( r: Real; k:Byte); Begin
Repeat
Write('Nhap ban kinh cua duong tron thu ',k,': '); Readln(r);
If r <= Then Writeln('Nhap lai!'); Until r > 0;
End; Begin
Nhap(r1, 1); Nhap(r2, 2); Nhap(r3, 3);
Writeln('Duong tron Chu vi bang:',2 * pi * r1:6:1,' Dien tich bang: ',pi * sqr(r1):6:1);
Writeln('Duong tron Chu vi bang:',2 * pi * r2:6:1,' Dien tich bang:',pi * sqr(r2):6:1);
(2)Readln End
Chúng ta yêu cầu học sinh thực thi chương trình chạy thử Học sinh phát kết chu vi diện tích ba đường tròn Vấn đề đặt là: Chương trình sai chỗ nào? Lúc giáo viên khẳng định phân biệt tham biến tham trị, giá trị tham biến lưu giữ ngồi chương trình con, giá trị tham trị lưu giữ thực chương trình con, khỏi chương trình khơng cịn lưu giữ giá trị Điều giúp cho xác hóa khái niệm tham biến tham trị cho học sinh
Chương trình cần sửa lại sau: Var r1, r2, r3: Real;
Procedure Nhap(Var r: Real; k:Byte); Begin
Repeat
Write('Nhap ban kinh cua duong tron thu ',k,': '); Readln(r);
If r <= Then Writeln('Nhap lai!'); Until r > 0;
End; Begin
Nhap(r1, 1); Nhap(r2, 2); Nhap(r3, 3);
Writeln('Duong tron Chu vi bang:',2 * pi * r1:6:1,' Dien tich bang: ',pi * sqr(r1):6:1);
(3)Writeln('Duong tron Chu vi bang:',2 * pi * r3:6:1,' Dien tich bang:',pi * sqr(r3):6:1);