Tải bản đầy đủ (.docx) (8 trang)

chương vi chương vi chương trình con và lập trình có cấu trúc baøi daï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 được khái niệm chương trình con sự khác biệt cơ bản giữa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (139.8 KB, 8 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>Chương VI</b>



<b>CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CĨ CẤU TRÚC</b>




Bài dạy

: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI


  



<b> I . MỤC ĐÍCH, YÊU CẦU:</b>
 <i>Kiến thức:</i>


- Nắm được khái niệm chương trình con.
- Sự khác biệt cơ bản giữa hàm và thủ tục.


- Phân biệt điểm giống nhau và khác nhau về cấu trúc của chương trình và chương
trình con.


- Biết được mới quan hệ giữa tham số hình thức và tham số thực sự.
- Biến cục bộ: cách khai báo và phạm vi sử dụng.


 <i>. Kỹ năng:</i>


- Chưa địi hỏi phải có kỹ năng cụ thể.


 <i>. Thái độ:</i>


- Tiếp tục rèn luyện phẩm chất của người lập trình như tinh thần hợp tác, sẵn sàng
làm việc theo nhóm


<b>II. PHƯƠNG PHÁP, PHƯƠNG TIỆN:</b>



- 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ố bài về chương trình con: Tính_tong, Tinh_tong2 (Co sử dụng chương trình
con)


<b>III. NỘI DUNG TIẾT DẠY</b>


<b>A.</b>

Tổ chức lớp: Ổn định và kiểm tra sĩ số.



<b>B.</b>

Kiểm tra bài cũ: Không kiểm tra.



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>HOẠT ĐỘNG GIÁO VIÊN</b> <b>HOẠT ĐỘNG HỌC SINH</b> <b>NỘI DUNG</b>


Xét bài tốn:


Tính tổng bốn luỹ thừa:
Tluythua=an<sub>+b</sub>m<sub>+c</sub>p<sub>+d</sub>q


để tính tổng bốn luỹ thừa này ta làm như thế
nào?


Tính tất cả bao nhiêu luỹ thừa để được tổng
luỹ thừa?


Như vậy đối với bài tố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 tốn


như thế này hay bài toán phức tạp hơn thường
rất dài, có thể dùng rất nhiều lệnh. Khi đọc
những chương trình dài. Khi đọc rất khó nhân
biết được chương trình thực hiện những cơng
việc gì và việc hiệu chỉnh chương trình cũng
khó khăn. Vậy phải cấu tạo chương trình như
thế nào để cho chương trình dể đọc, dể hiệu
chỉnh nâng cấp. Trong chương trình này ta sẽ
nghiên cứu một vấn đề mới đó là chương
trình con. Vậy chương trình con là gì? Cách
viết, cách sử dụng chúng như thế nào? Ta tìm
hiểu qua bài 17: CHƯƠNG TRÌNH CON VÀ
PHÂN LOẠI


-ghi tựa bài vài phần I


<b>Hoạt động 1</b>: Khái niệm chương trình con
Trở lại bài toán tinh tổng luỹ thừa ở trên
Chúng ta phải tính kết quả của bốn bài tốn
nhỏ cộng lại mới có được tổng luỹ thừa. Có
nghĩa là chúng ta chia bài toán thành bốn bài
toán con, mỗi bài tốn con có thể chia thành
các bài toán con nhỏ hơn. Đây là cách thiết kế
từ trên xuống


Để giải các bài tốn trên máy tính có thể phân
chia chương trình thành các khối (Modul),
mỗi khối bao gồm các lệnh giải một bài toán
con nào đó. Chương trình chính sẽ được xây
dựng từ các chương trình con này.



+ Chương trình con là gì?


Tình từng 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


<i><b>Chương VI</b></i>

<b>:Chương Trình </b>



<b>Con và</b>

<b>Lập Trình Có</b>

<b>Cấu </b>



<b>Trúc</b>



<i><b>Bài 17</b></i>:<b>CHƯƠNH TRÌNH CONVÀ </b>
<b>PHÂN LOẠI</b>


<b>I . Khái niệm chương trình con</b>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

-Nhấn mạnh khái niệm Chương trình con
và 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<sub>=a*a*a</sub>


a4<sub>=a*a*a*a</sub>


an<sub>=a*a*...*a (n lần)</sub>


Để hiểu rõ hơn tác dụng của chương trình
con ta tìm hiểu ví dụ sau:


<b>C</b>hương trình nhập dữ liệu từ bàn phím tính
và đưa ra màn hình giá trị Tluythua được mô
tả với a,b,c,d kiểu thực và m,n,p,q có kiểu
nguyên có thề viết bằng Pascal như sau.


<i><b>Program tinh_tong;</b></i>


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 dữ 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 do


Luythua1:=luythua1*a;


Luythua2:=1.0
For i:=1 to m do


Luythua2:=luythua2*b;
Luythua3:=1.0


For i:=1 to p do


Luythua3:=luythua3*c;


Luythua4:=1.0
For i:=1 to q do


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 về đoạn chương trình đổi
màu



Mỗi HS tự đọc đoạn chương
trình đđổi màu và nêu nhận
xét về đoạn chương trình đó


Nghe giảng


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

-Nhấn mạnh:trong đoạn này có bốn đoạn
lệnh tương tự nhau dẫn đến chương trình dài
và khó theo dõi.


-Để xử lí vấn đề này các ngơn ngữ lập trình
bậc cao cung cấp khả năng xây dựng các
chương trình con dạng tổng quát “đại diện”
cho nhiều đoạn lệnh tương tự nhau.


- Thay vì phải gõ nhiều đoạn lệnh ta chỉ cần
gõ một đoạn và gọi chương trình con nhiều
lần.


<i><b>Ví dụ</b></i>: tính luythua=xk
,
Trong đó:


Luythua,x:real
k:integer


Var j:integer;
Tich:=1.0;
For j:=1 to k do
Tich:=Tich*x;



Khi đó ta đặt tên cho chương trình con này
là luythua và tên các biến chứa dữ liệu vào
của nó là x và k.


Khi cần tính luythua của những giá trị cụ thể
chỉ cần viết tên gọi chương trình con và
thay thế( x, k) bằng giá trị cụ thể tương ứng


<b>Ví dụ</b> để tính an<sub>,b</sub>m<sub>,c</sub>p<sub>,d</sub>q <sub>ta viết </sub>


Luythua(a,n),Luythua(b,m),Luythua(c,p),Lu
ythua(d,q).


<b>Hoạt động 2 :</b>Lợi ích của việc sử dụng
chương trình con


Khi sử dụng CTC nó có lợi ích gì ?


Giới thiệu từng lợi ích và 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 các hàm tốn học ta
khơng cần xem nó được xây dựng như thế
nào


-Ví dụ:trong bài toán luỹ thừa ta xây dựng


thêm được chương trình con luỹ thừa


Chú ý lắng nghe và ghi bài


Chú ý lắng nghe


<i><b>*</b></i>

<i><b>Lợi ích của iệc sử dụng </b></i>


<i><b>chương</b></i>

<i><b>trình con</b></i>



-Tránh được việc phải viết lặp đi lặp
lại một dãy lệnh nào đó


-Hổ trợ việc thực hiện các chương
trình lớn


-Phục vụ cho q trình trừu tượng
hố


-Mở rộng khả năng ngơn ngữ


-Thuận tiện cho phát triển , nâng cấp
chương trình


<b>II. Phân loại và cấu trúc chương</b>
<b>trình</b>


<b>1.Phân loại</b>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Hoạt động 3 :</b>Để xây dựng được một
chương trình con có hiệu quả ta sẽ tìm hiểu


sang phần II: Phân loại vàïù cấu trúc của
chương trình con


Trong nhiều ngơn ngữ lập trình, chương
trình con thường gồm hai loại: hàm và thủ
tục


Vậy hàm là gì? Thủ tục là gì?
Giới thiệu hàm và thủ tục


Hãy nêu sự khác nhau giữa hàm và thủ tục?
Chốt lại


<b>C</b>ho ví dụ minh họa hàm và thủ tục.


Một chương trình con có cấu trúc như thế nào
tìm hiểu sang phần 2


Chương trình con có cấu trúc tương tự như
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 con
-Giảng phần đầu, phần khai báo , phần thân
+Phần đầu là phần sử dụng chương trình con
loại hàm hoặc thủ tục


+Phần khai báo có thể có khai báo biến cho
dữ liệu vào và ra, các hằng và biếndùng trong
chương trình con



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 bài


HS chú ý lắng nghe


con thực hiện một số thao tác nào
đó và trả về một giá trị qua tên
của nó


<b>*Thủ tục</b>

(procedure) là chương
trình con thực hiện các thao tác
nhất định không trả về giá trị nào
qua tên của nó


<b>2.Cấu trúc chương trình con</b>


<phần đầu>
[<phần khai báo>]


<phần thân>


 <i><b>Tham </b><b>số hình thức</b></i>



-Tham số hình thức của chương
trình con là các biến được khai
Là chương trình con


Thực hiện một số thao tác nào đó
Trả về giá trị qua tên hàm


Hàm


Là chươngtrình con


Thực hiện một số thao tác nào
đó


Thủ tục


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

+Phần thân của chương trình con là dãy câu
lệnh thực hiện để từ nhungữ dữ liệu vào ta
nhận được dữ liệu ra hay kết quả mong muốn.
GV giới thiệu tham số hình thức


Cho ví dụ :trong chương trình con


luythua(x,k) thì x,k là tham số hình thức và j
là biến cục bộ


Chú ý:


-Chương trình con sử dụng được biến tồn
cục nhưng chương trình chính khơng sử dụng


được biến cục bộ


-Một chương trình con thường có thể có hoặc
khơng có tham số hình thức cũng như biến
cục bộ


Để gọi một chương trình con ta làm nhụ thế
nào tìm hiểu sang phần 3


Yêu cầu HS trả lời các câu hỏi
+Cách gọi chương trình con là gì?
+Tham số thực sự là gì?


Gọi HS trả lời


GV nhận xét và cho HS ghi bài
GV đưa ra ví dụ


Luythua(x,k)
Tên CTC TS hình thức


Luythua(a,n)
Tên CTC TS thực sự


-Yêu cầu HS nắm chắc khái niệm chương
trình con.


<b>Nhấn mạnh</b>: Một chương trình nên được
xây dựng từ các chương trình con nhằm đạt
hiểu quảcao trong giải quyết vấn đề.



Tóm lại : Qua bài học hôm nay ta cần nắm
những kiến thức nào?


GV trình chiếu khái quát các nội dung đã


HS ghi bài vào vở


HS chú ý lắng nghe vaø ghi
baøi


HS trả lời


báo cho dữ liệu vào ra của
chương trình con


-Biến cục bộ là các biến được
khai báo trong chương trình con
-Biến tồn cuc là biến được khai
báo trong chương trình chính


<b>3.Thực hiện chương trình con</b>


-Cách gọi chương trình con phải
có lệnh gọi nó bao gồm tên
chương trình con với tham số
-Các hằng và biến chứa dữ liệu
vào và ra tương ứng với các tham
số hình thức đặt trong cặp



</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

học


+khái niệm chương trình con và lợi ích của
chương trình con


+Phân loại: hàm và thủ tục
+Cấu trúc của chương trình con


+Tham số hình thức, tham số thực sự và
cách gọi chương trình con


+Biến tồn cục, biến cục bộ


<b>D</b>.<b>Củng cố:</b>


Vận dụng kiến thức đã học hãy trả lời các câu hỏi qua các bài tập sau
GV đưa ra bài tập yêu cầu HS thảo luận theo nhóm và trả lời


<i><b>Bài tập1</b></i>: Hãy chọn câu trả lời đúng


1)Sự giống nhau về cấu trúc của chương trình chính và chương trình con là
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 nhau về cấu trúc của chương tình chính và chương trình con là
A/ [<phần khai báo>] B/ <phần đầu> C/ <phần thân>


<i><b>Bài tập 2</b></i>:Chương trình Tinh_tong có sử dụng chương trình con
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 do
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) Haõy cho biết dãy các lệnh nào thể hiện chương trình con trong chương trình
trên.


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

c) Nêu các biến toàn cục, biến cục bộ và phạm vi ảnh hưởng của chúng trong
chương trình. Nêu sự khác nhau giữa biến tồn bộ và biến cục bộ.



<b>E.Dặn dò:</b>



- Về nhà học bài và xem lại các bài tập đã giải


-Tiết học hôm nay ta đã biết khái niệm chương trình con cịn cách viết và sử
dụng chương trình con như thế nào ta sẽ tìm hiểu qua bài 18


</div>

<!--links-->

×