Mục đích và yêu cầu: Giúp học sinh nắm được sự giống nhau và khác nhau giữa thủ tục và hàm Giúp học sinh có kĩ năng nhận biết được các thành phần trong đầu hàm, nhận biết được câu lện
Trang 1Giáo án số 18(tiết2)
Ví dụ về cách viết và sử dụng chương trình con
A Mục đích và yêu cầu:
Giúp học sinh nắm được sự giống nhau và khác nhau giữa thủ tục và hàm
Giúp học sinh có kĩ năng nhận biết được các thành phần trong đầu hàm, nhận biết được câu lệnh sử dụng hàm ở chương trình chính cùng các tham số thực sự
B Phương pháp, phương tiện:
1 Phương pháp:
Kết hợp các phương pháp dạy học như thuyết trình, vấn đáp, minh hoạ…
Kết hợp lí thuyết với việc thực hành ví dụ và phân tích ví
dụ cho học sinh hiểu dõ vấn đề
2 Phương tiện:
a) Phương tiện giảng dạy:
Sử dụng các phương tiện giảng dạy truyền thống như bảng viết, phấn…(nếu có máy chiếu projector thì tốt hơn) Giáo án đã được soàn đầy đủ và cẩn thận
b) Phương tiện học tập:
Sách giáo khoa tin học lớp 11
Vở ghi lí thuyết và vở làm bài tập lớp 11
Sách tham khảo nếu có thì càng tốt
C Tiến trình lên lớp và nội dung bài giảng:
I Ổn định lớp(1’):
Yêu cầu lớp trưởng ổn định lớp và báo cáo sĩ số
Trang 2a) Kiểm tra bài cũ(3’):
Hỏi: Em hãy phân biệt tham số giá trị(gọi tắt là tham số trị) và tham số biến(gọi tắt là tham biến) trong CTC thủ tục
b) Gợi động cơ(1’):
Khi viết CT giải các bài toán lớn, phức tạp, CT thường rất dài gồm hàng trăm, hàng ngàn lệnh đòi hỏi phân chia thành các bài toán con Do vậy cần định CT thành các khối (các môđun), mỗi khối bao gồm các lệnh giải quyết một bài toán cụ thể nào đó Các khối lệnh sẽ được xây dựng dưới dạng CTC Sau đó CT chính sẽ được xây dựng từ các CTC này
III Nội dung của bài học:
STT Nội dung Hoạt động của thầy và trò Thời
gian
- CTC gồm hai loại CTC
hàm và CTC thủ tục Buổi học ngày hôm trước,
chúng ta đã tìm hiểu cách viết và sử dụng thủ tục
Buổi học ngày hôm nay, chúng ta sẽ tìm hiểu nốt loại CTC còn lại qua bài
“Cách viết và sử dụng hàm”
1’
Trang 32 Nội dung bài học
1 Khái niệm:
Hàm là một khối CT có
chức năng thực hiện một
nhiệm vụ cụ thể nào đó, kết
quả cho ta một giá trị
Khai báo hàm:
1, Tiêu đề FUNCTION <Tên
hàm> ([<Danh sách tham
số>]) :<Kiểu của hàm>;
2, Các khai báo;
3, Thân CT: BEGIN
Các lệnh;
End;
Trong đó:
Kiểu của hàm là kiểu kết
quả của hàm và chỉ có thể
là một trong các kiểu:
Integer, Real, Char,
Boolean, String
Nếu hàm không có tham
số hình thức thì không cần
viết Danh sách tham số
Hàm có cấu trúc tương tự
Thuyết trình Cũng như thủ tục, hàm
là CTC Giữa hàm và thủ tục có nhiều sự giống và khác nhau:
Điểm giống nhau:
- Đều là CTC, có cấu trúc giống một CT;
- Đều có thể chứa các tham số(tham số giá trị và tham số biến), cùng tuân theo các quy định về khai báo và sử dụng các loại tham số này,
Điểm khác nhau cơ bản của hàm so với thủ tục:
- Đầu hàm bắt đầu với từ khoá FUNCTION, sau tên hàm và phần khai báo danh sách tham số (nếu có) phải chỉ ra giá trị kết quả của hàm thuộc kiểu dữ liệu nào
- Trong CT hàm bắt buộc
35’
Trang 4thủ tục chỉ khác phần đầu
hàm
Trong thân của hàm cần
có câu lệnh gán giá trị cho
tên hàm:
<Tên hàm> := <Biểu thức>
Ví dụ: CT giản ước phân số
có sử dụng hàm tính ước
chung lớn nhất (ucln) của hai
số
nguyên
PROGRAM
gian_uoc_phan_so;
USES CRT;
VAR tuso, mauso, a:
integer;
FUNCTION ucln(x,y:
integer): integer;
VAR du: integer;
BEGIN
WHILE y<>0 DO
BEGIN
du:= x mod
y;
phải có một lệnh gán giá trị kết quả cho tên hàm Chú ý: Hàm cần được khai báo và định nghĩa trước khi sử dụng
Trang 5x:=y;
y:=du;
END;
ucln:=x;
END;
BEGIN
Clrscr;
Writeln(‘nhap tu so,
mau so vao ’);
Readln(tuso,mauso);
A:=ucln(tuso,mauso);
IF A> 1 THEN
BEGIN
tuso:=tuso div A;
mauso:=mauso div
A;
END;
Writeln(tuso: 5,
mauso: 5);
END
2 Sử dụng:
Tương tự việc sử dụng các
hàm chuẩn: viết tên hàm
cần gọi, thay thế các tham
số hình thức bằng các
tham số thực sự tương
Ví dụ:
tg:=ucln(tuso,mauso)*2+1;
Trang 6ứng
Lời gọi hàm có thể tham
gia vào biểu thức như một
toán hạng hoặc là tham số
của lời gọi hàm, thủ tục
khác
Phân tích ví dụ còn lại trong SGK cho học sinh hiểu thêm về CTC hàm
D Củng cố bài học(2’):
Qua bài học này,chúng ta cần nắm vững:
1, Cách khai báo và sử dụng hàm;
2, So sánh CTC thủ tục và CTC hàm Rút ra nhận xét
E Bài tập về nhà(2’):
Bài tập: Viết CT tính giá trị biểu thức sau: Z= a/b + c/d (a, b, c, d bất kì được đưa vào từ bàn phím)
F Nhận xét và những hạn chế trong giờ giảng: