Như vậy đối với bài toán này ta phải tính đến bốn luỹ thừa sau đó cộng lại sẽ được tổng Do đó khi viết chương trình giải các bài toán như thế này hay bài toán phức tạp hơn thường rất d[r]
(1)Chương VI
CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CĨ CẤU TRÚC
Bài dạy: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
I MỤC ĐÍCH, YÊU CẦU: Kiến thức:
- Nắm khái niệm chương trình - Sự khác biệt hàm thủ tục
- Phân biệt điểm giống khác cấu trúc chương trình chương trình
- Biết quan hệ tham số hình thức tham số thực - Biến cục bộ: cách khai báo phạm vi sử dụng
Kỹ năng:
- Chưa địi hỏi phải có kỹ cụ thể
Thái độ:
- Tiếp tục rèn luyện phẩm chất người lập trình tinh thần hợp tác, sẵn sàng làm việc theo nhóm
II PHƯƠNG PHÁP, PHƯƠNG TIỆN:
- Phương pháp gợi mở nêu vấn đề, phương pháp hỏi – đáp, phương pháp thuyết trình
-Máy chiếu Projector
- Một số chương trình con: Tính_tong, Tinh_tong2 (Co sử dụng chương trình con)
III NỘI DUNG TIẾT DẠY
A. Tổ chức lớp: Ổn định kiểm tra sĩ số.
B. Kiểm tra cũ: Không kiểm tra.
(2)HOẠT ĐỘNG GIÁO VIÊN HOẠT ĐỘNG HỌC SINH NỘI DUNG
Xét tốn:
Tính tổng bốn luỹ thừa: Tluythua=an+bm+cp+dq
để tính tổng bốn luỹ thừa ta làm nào?
Tính tất luỹ thừa để tổng luỹ thừa?
Như toán ta phải tính đến bốn luỹ thừa sau cộng lại tổng Do viết chương trình giải toán hay toán phức tạp thường dài, dùng nhiều lệnh Khi đọc chương trình dài Khi đọc khó nhân biết chương trình thực cơng việc việc hiệu chỉnh chương trình khó khăn Vậy phải cấu tạo chương trình chương trình dể đọc, dể hiệu chỉnh nâng cấp Trong chương trình ta nghiên cứu vấn đề chương trình Vậy chương trình gì? Cách viết, cách sử dụng chúng nào? Ta tìm hiểu qua 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
-ghi tựa vài phần I
Hoạt động 1: Khái niệm chương trình Trở lại toán tinh tổng luỹ thừa Chúng ta phải tính kết bốn tốn nhỏ cộng lại có tổng luỹ thừa Có nghĩa chia toán thành bốn tốn con, tốn chia thành toán nhỏ Đây cách thiết kế từ xuống
Để giải toán máy tính phân chia chương trình thành khối (Modul), khối bao gồm lệnh giải tốn Chương trình xây dựng từ chương trình
+ Chương trình gì?
Tình luỹ thừa Tính bốn luỹ thừa
Nghe giảng
HS suy nghĩ trả lời
-Một học sinh trả lời - Một học sinh khác phát biểu lại
Chương VI:Chương Trình
Con vàLập Trình CóCấu
Trúc
Bài 17:CHƯƠNH TRÌNH CONVÀ PHÂN LOẠI
I Khái niệm chương trình con
(3)-Nhấn mạnh khái niệm Chương trình cho học sinh ghi vào tập
-Nhaéc lại kiến thức cũ cách tính luỹ thừa bên tốn học
a3=a*a*a
a4=a*a*a*a
an=a*a* *a (n lần)
Để hiểu rõ tác dụng chương trình ta tìm hiểu ví dụ sau:
Chương trình nhập liệu từ bàn phím tính đưa hình giá trị Tluythua mô tả với a,b,c,d kiểu thực m,n,p,q có kiểu nguyên có thề viết Pascal sau
Program tinh_tong;
Var Tluythừa, luythua1, luythua2, luythua3, luythua4:real;
a, b, c, d:real; i,n,m,p,q:integer; Begin
Write(‘Hãy nhập liệu theo thứ tự a,b,c,d,m,n,p,q’);
Readln(a,b,c,d,m,n,p,q);
Luythua1:=1.0 For i:=1 to n
Luythua1:=luythua1*a;
Luythua2:=1.0 For i:=1 to m
Luythua2:=luythua2*b; Luythua3:=1.0
For i:=1 to p
Luythua3:=luythua3*c;
Luythua4:=1.0 For i:=1 to q
Luythua4:=luythua4*d;
Tluythua:=luythua1+luythua2+luythua3+luy thua4;
Writeln(‘Tong luy thua= ‘,Tluythua 8:4); readln
end
Hãy nêu nhận xét đoạn chương trình đổi màu
Mỗi HS tự đọc đoạn chương trình đđổi màu nêu nhận xét đoạn chương trình
Nghe giảng
(4)-Nhấn mạnh:trong đoạn có bốn đoạn lệnh tương tự dẫn đến chương trình dài khó theo dõi
-Để xử lí vấn đề ngơn ngữ lập trình bậc cao cung cấp khả xây dựng chương trình dạng tổng quát “đại diện” cho nhiều đoạn lệnh tương tự
- Thay phải gõ nhiều đoạn lệnh ta cần gõ đoạn gọi chương trình nhiều lần
Ví dụ: tính luythua=xk , Trong đó:
Luythua,x:real k:integer
Var j:integer; Tich:=1.0; For j:=1 to k Tich:=Tich*x;
Khi ta đặt tên cho chương trình luythua tên biến chứa liệu vào x k
Khi cần tính luythua giá trị cụ thể cần viết tên gọi chương trình thay thế( x, k) giá trị cụ thể tương ứng
Ví dụ để tính an,bm,cp,dq ta viết
Luythua(a,n),Luythua(b,m),Luythua(c,p),Lu ythua(d,q)
Hoạt động :Lợi ích việc sử dụng chương trình
Khi sử dụng CTC có lợi ích ?
Giới thiệu lợi ích lấy ví dụ minh hoạ
-Ví dụ:bài luỹ thừa
-Ví dụ:quản lí điểm HS
-Ví dụ:khi sử dụng hàm tốn học ta khơng cần xem xây dựng
-Ví dụ:trong tốn luỹ thừa ta xây dựng thêm chương trình luỹ thừa
Chú ý lắng nghe ghi
Chú ý lắng nghe
*Lợi ích iệc sử dụng chươngtrình con
-Tránh việc phải viết lặp lặp lại dãy lệnh
-Hổ trợ việc thực chương trình lớn
-Phục vụ cho trình trừu tượng hố
-Mở rộng khả ngơn ngữ
-Thuận tiện cho phát triển , nâng cấp chương trình
II Phân loại cấu trúc chương trình
1.Phân loại
(5)Hoạt động :Để xây dựng chương trình có hiệu ta tìm hiểu sang phần II: Phân loại vàïù cấu trúc chương trình
Trong nhiều ngơn ngữ lập trình, chương trình thường gồm hai loại: hàm thủ tục
Vậy hàm gì? Thủ tục gì? Giới thiệu hàm thủ tục
Hãy nêu khác hàm thủ tục? Chốt lại
Cho ví dụ minh họa hàm thủ tục
Một chương trình có cấu trúc tìm hiểu sang phần
Chương trình có cấu trúc tương tự chương trình chính.Hãy nêu cấu trúc chương trình chính?
-Giới thiệu cấu trúc chương trình -Giảng phần đầu, phần khai báo , phần thân +Phần đầu phần sử dụng chương trình loại hàm thủ tục
+Phần khai báo có khai báo biến cho liệu vào ra, biếndùng chương trình
Suy nghĩ trả lời
suy nghĩ trả lời [(phần khai báo)] <phần thân> HS khác nhận xét
HS ghi baøi
HS ý lắng nghe
con thực số thao tác trả giá trị qua tên
*Thủ tục (procedure) chương trình thực thao tác định khơng trả giá trị qua tên
2.Cấu trúc chương trình con
<phần đầu> [<phần khai báo>]
<phần thân>
Tham số hình thức
-Tham số hình thức chương trình biến khai Là chương trình
Thực số thao tác Trả giá trị qua tên hàm
Hàm
Là chươngtrình
Thực số thao tác
Thủ tục
(6)+Phần thân chương trình dãy câu lệnh thực để từ nhungữ liệu vào ta nhận liệu hay kết mong muốn GV giới thiệu tham số hình thức
Cho ví dụ :trong chương trình
luythua(x,k) x,k tham số hình thức j biến cục
Chú ý:
-Chương trình sử dụng biến tồn cục chương trình khơng sử dụng biến cục
-Một chương trình thường có khơng có tham số hình thức biến cục
Để gọi chương trình ta làm nhụ tìm hiểu sang phần
Yêu cầu HS trả lời câu hỏi +Cách gọi chương trình gì? +Tham số thực gì?
Gọi HS trả lời
GV nhận xét cho HS ghi GV đưa ví dụ
Luythua(x,k) Tên CTC TS hình thức
Luythua(a,n) Tên CTC TS thực
-Yêu cầu HS nắm khái niệm chương trình
Nhấn mạnh: Một chương trình nên xây dựng từ chương trình nhằm đạt hiểu quảcao giải vấn đề
Tóm lại : Qua học hơm ta cần nắm kiến thức nào?
GV trình chiếu khái quát nội dung
HS ghi vào
HS ý lắng nghe ghi
HS trả lời
báo cho liệu vào chương trình
-Biến cục biến khai báo chương trình -Biến tồn cuc biến khai báo chương trình
3.Thực chương trình con
-Cách gọi chương trình phải có lệnh gọi bao gồm tên chương trình với tham số -Các biến chứa liệu vào tương ứng với tham số hình thức đặt cặp
(7)học
+khái niệm chương trình lợi ích chương trình
+Phân loại: hàm thủ tục +Cấu trúc chương trình
+Tham số hình thức, tham số thực cách gọi chương trình
+Biến tồn cục, biến cục
D.Củng cố:
Vận dụng kiến thức học trả lời câu hỏi qua tập sau GV đưa tập yêu cầu HS thảo luận theo nhóm trả lời
Bài tập1: Hãy chọn câu trả lời
1)Sự giống cấu trúc chương trình chương trình A/ [<phần khai báo>] B/ <phần đầu > C/ <phần đầu> <phần thân> [<phần khai báo>] <phần thân> 2)Sự khác cấu trúc chương tình chương trình A/ [<phần khai báo>] B/ <phần đầu> C/ <phần thân>
Bài tập 2:Chương trình Tinh_tong có sử dụng chương trình Program tinh_tịng;
Var Tluythua, a, b, c, d:real; i,n,m,p,q:integer;
function luythua(a:real; k:integer):real; var j:integer;
tich:real; begin
tich:=1.0; for j:=1 to k tich:=tich*a; luythua:=tich; end;
begin
Writeln(‘Hay nhap du lieu theo thu tu a,b,c,d,m,n,p,q ‘); Readln(a,b,c,d,m,n,p,q);
Tluythua:=luythua(a,n) + luythua(b,m) +luythua(c,p) + luythua(d,q) ; Writeln(‘Tong luy thua=’,tluythua:8:4);
Readln End
a) Hãy cho biết dãy lệnh thể chương trình chương trình
(8)c) Nêu biến toàn cục, biến cục phạm vi ảnh hưởng chúng chương trình Nêu khác biến tồn biến cục
E.Dặn dò:
- Về nhà học xem lại tập giải
-Tiết học hôm ta biết khái niệm chương trình cịn cách viết sử dụng chương trình ta tìm hiểu qua 18