1. Trang chủ
  2. » Cao đẳng - Đại học

Giáo án Tin học 11 - Bài 17: Chương trình con và phân loại - Lê Thị Bích Liên

9 31 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 131,34 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cñng cè Tãm l¹i qua bµi häc h«m nay chóng ta cÇn l­u ý:  Chương trình con o Dãy lệnh thực hiện 1 công việc nào đó o Xây dựng nên chương trình chính và có thể được xây dựng từ các chương[r]

Trang 1

Người soạn: Hà Trung Hòa Lớp: SP Tin 40

Giáo viên hướng dẫn: Lê Thị Bích Liên

Ngày soạn : 30/09/2008

Ngày giảng : / /2008

Chương VI: Chương trình con và lập trình có cấu trúc

Bài 17: Chương trình con và phân loại

I Mục đích yêu cầu

Học sinh cần biết:

 Chương trình con thực chất là một khối lệnh (tập các lệnh) nhằm giải quyết một bài toán con để góp phần giải quyết một bài toán lớn hơn bằng một chương trình

 Khi phải viết chương trình dài, phức tạp, việc sử dụng chương trình con là hết sức cần thiết

II Phương pháp, phương tiện giảng bài

Phương pháp: Thuyết trình, giảng giải

Phương tiện: SGK, SGV

Bảng phụ:

III Tiến trình bài giảng

Kiểm tra bài cũ: Viết chương trình tính

LuyThua=an Với a là số thực, n là số

nguyên nhập từ bàn phím

Đáp án:

Program TinhLuyThua;

Var a,LuyThua:real;

i,n:integer;

BEGIN Write(‘Nhap a=’);readln(a);

Write(‘Nhap n=’);readln(n);

LuyThua:=1.0;

For i:=1 to n do LuyThua:=LuyThua*a;

Trang 2

Chương VI: Chương

trình con và lập

trình có cấu trúc

Bài 17 : Chương trình con

và phân loại

1 Khái niệm chương trình con.

Bài toán 1: Tính tổng bốn luỹ thừa:

TLuythua=an+bm+cp+dq

Với a, b, c, d là các số thực, n, m, p, q là

các số nguyên

Input: a, b, c, d kiểu thực; m, n, p, q kiểu

nguyên

Output: Đưa ra màn hình kết quả

TLuythua=an + bm + cp + dq.

Write(‘Luy thua ‘,a:2:2,’^’,n,’

=’,LuyThua:8:4);

Readln;

END.

GV: Các chương trình giải các bài

toán phức tạp thường rất dài, có thể gồm rất nhiều lệnh Khi đọc những chương trình dài rất khó nhận biết

được chương trình thực hiện các công việc gì và hiệu chỉnh chương trình cũng khó khăn Vậy phải cấu trúc chương trình như thế nào để cho chương trình dễ đọc, dễ hiệu chỉnh, nâng cấp? Trước tiên chúng ta đi xét bài toán sau

GV: Đưa ra bài toán 1

GV: Theo toán học để giải được bài

toán này ta làm như thế nào?

HS: Ta sẽ tính từng luỹ thừa, sau đó

Trang 3

- Việc chia nhỏ các bài toán thành các

bài toán con được gọi là cách thiết kế từ

trên xuống

cộng tổng các luỹ thừa đó lại ta được kết quả TLuythua

GV: Giả sử có bài toán sau:

TLuyThua= 63+ 64+ 65+ 66 Khi em là nhóm trưởng (nhóm gồm 4 người ) và nhóm em nhận được bài toán thì làm cách nào để có kết quả nhanh nhất

HS: Trả lời

GV: Nhận xét và khẳng định: Có thể giao cho 4 người mỗi người thực hiện một bài Giá trị TluyThua là tổng kết quả của bốn bài toán con đó

GV: áp dụng ý tưởng đó trong lập

trình ta sẽ dùng các biến LuyThua1

để tính toán và lưu trữ kết quả của an

Tương tự LuyThua2, LuyThua3, LuyThua4 dùng để tính toán và lưu trữ

kết quả của bm, cp, dq.

GV: Cả lớp theo dõi chương trình

tinh_tong trang 92 SGK

GV: Hãy quan sát và cho biết có mấy

khối lệnh được viết tương tự nhau?

HS: Có 4 khối lệnh được viết tương

tự nhau

GV: Bằng trực quan một em cho cô

biết khi viết như vậy em có nhận xét gì không ?

HS: ở đây có 4 khối lệnh tương tự

Trang 4

- Để nâng cao hiệu quả lập trình, các

ngôn ngữ lập trình bậc cao đều cung cấp

khả năng xây dựng 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 Ví dụ: tính luỹ thừa

luythua=xk, trong đó lũy thừa và x là giá

trị kiểu thực còn k thuộc kiểu nguyên Ta

có thể đặt tên cho chương trình con này là

luythua và tham số cần thiết là x và k

Khi cần tính luỹ thừa cụ thể ta chỉ cần

viết tên chương trình con và thay thế (x,k)

bằng giá trị cụ thể tương ứng

program Tinh_tong;

var TLuyThua,a,b,c,d:real;

m,n,p,q:integer;

Function LuyThua(x:real;k:integer):real;

var i:integer;

Tich:real;

begin

Tich:=1.0;

For i:=1 to k do

Tich:=Tich*x;

LuyThua:=Tich;

end;

nhau được lặp đi lặp lại làm cho chương trình vừa dài, vừa khó theo dõi

GV: Để nâng cao hiệu quả lập trình,

các ngôn ngữ lập trình bậc cao đều cung cấp khả năng xây dựng 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 Chẳng hạn, tính luỹ thừa luythua=xk, trong đó lũy thừa và x là giá trị kiểu thực còn k thuộc kiểu nguyên Ta có thể đặt tên cho chương trình con này

luythua và tham số cần thiết là x

và k Khi cần tính luỹ thừa cụ thể ta chỉ cần viết tên chương trình con và thay thế (x,k) bằng giá trị cụ thể tương ứng chẳng hạn để tính an, bm,

cp, dq ta viết luythua(a, n), luythua(b, m), luythua(c, p), luythua(d,q)

GV:Sau đây thầy sẽ giới thiệu cho

các em chương trình tính TLuyThua

có sử dụng chương trình con được viết bằng ngôn ngữ Pascal

GV: Treo bảng phụ.

GV: Bảng phụ sử dụng một chương

trình con là hàm LuyThua kiểu thực với các tham số hình thức là x kiểu thực, k kiểu nguyên Khi cần tính các giá trị cụ thể ta chi việc gọi tên

chương trình Ví dụ: Tính LuyThua=an Ta sẽ gọi LuyThua(a,n)

Trang 5

write('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,m)+LuyThua(b,n)

+LuyThua(c,p)

+LuyThua(d,q);

write('Tong luy thua=',TLuyThua:2:2);

readln;

END.

* Nhận xét: Sử dụng chương trình con

chương trình ngắn gọn, dễ theo dõi hơn

chương trình không sử dụng chương trình

con

GV: Một em cho thầy biết chương

trình có sử dụng chương trình con có ngắn gọn và dễ theo dõi hơn so với chương trình không sử dụng chương trình con không?

HS: Trả lời

GV: Nhận xét và khẳng định:

Chương trình có sử dụng chương trình con ngắn gọn, dễ theo dõi hơn chương trình không sử dụng chương trình con

GV: Theo em, để sản xuất ra được

một chiếc xe máy, có phải chỉ cần qua tay một người thợ ? Hay phải qua một dây chuyền sản xuất ?

HS: Trả lời GV: Đúng vậy, để sản xuất ra một

chiếc xe máy người ta phải phân thành nhiều công đoạn như sản xuất

ra khung xe, yên xe, Mỗi công

đoạn được giao cho các tổ lao động chuyên làm một bộ phận Và có một

bộ phận chuyên lắp ráp sản phẩm từ các bộ phận nhỏ

GV: Đối với lập trình cũng vậy, khi

Trang 6

- Khi lập trình giải toán, ta có thể phân

chia chương trình thành các khối

(môđun), mỗi khối bao gồm các lệnh giải

một bài toán nào đó Mỗi khối lệnh sẽ

được xây dựng thành một chương trình

con Sau đó, 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 cũng có thể được xây

dựng từ các chương trình con khác Cách

lập trình như vậy dựa trên phương pháp

lập trình có cấu trúc và chương trình được

xây dựng gọi là chương trình có cấu trúc

* Chú ý: Chương trình con đôi khi chỉ

được dùng đúng một lần xong khi đó nó

vẫn có tác dụng làm sáng sủa chương

trình

Bài toán 2: Viết chương trình nhập vào số

nguyên dương N (0 < N < 50) và

dãy số nguyên dương a1, , an Đưa ra số

lượng số nguyên tố

Input: Số nguyên dương ( 0 < N < 50) và

dãy số nguyên dương a1, , an

Output: Số lượng số nguyên tố.

lập trình giải toán, ta có thể phân chia chương trình thành các khối (môđun), mỗi khối bao gồm các lệnh giải một bài toán nào đó Mỗi khối lệnh sẽ được xây dựng thành một chương trình con Sau đó, 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 cũng có thể được xây dựng từ các chương trình con khác

Cách lập trình như vậy dựa trên phương pháp lập trình có cấu trúc và chương trình được xây dựng gọi là chương trình có cấu trúc

GV: Cần chú ý là chương trình con

đôi khi chỉ được dùng đúng một lần xong khi đó nó vẫn có tác dụng làm sáng sủa chương trình

GV: Để hiểu rõ hơn về việc cần thiết

phải sử dựng chương trình con chúng

ta đi xét bài toán 2

GV: Đưa ra bài toán

GV: Từ bài toán trên một em xác

định Input, Output?

HS: Trả lời.

GV: Để giải được bài toán trên ta cần

phải làm gì?

HS: Trả lời

Trang 7

* Khái niệm chương trình con (SGK)

* Lợi ích của việc sử dụng chương trình

con

- Tránh được việc phải lặp đi lặp lại

cùng một dãy lệnh nào đó VD: Bài toán

1, 2

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

lớn VD: Bài toán quản lý điểm

- Phục vụ cho quá trình trừu

tượng hoá Ví dụ khi sử dụng các hàm

toán học như sin(x), cos(x), ta không

cần xem nó được xây dựng như thế nào

Trừu tượng hoá là tư tưởng chủ đạo để

xây dựng chương trình nói chung và

chương trình có cấu trúc nói riêng.

-Mở rộng khả năng ngôn ngữ Ví dụ:

GV: Tạo 1 biến: đếm số lượng số

nguyên tố Lần lượt với mỗi số ai (với i=1, ,n) ta kiểm tra số đó có là

số nguyên tố hay không Nếu là số nguyên tố thì tăng biến đếm lên 1

đơn vị Như vậy với N = 50 thì ta phải viết đi viết lại 50 lần dãy lệnh tương tự nhau để kiểm tra một số nguyên dương có phải là số nguyên

tố hay không?

GV: Như vậy chúng ta thấy được việc

cần thiết phải sử dụng chương trình con trong chương trình

GV: Qua các ví dụ trên ta có khái

niệm chương trình con Vậy mời 1

em đọc khái niệm chương trình con

HS: Đọc khái niệm chương trình con

trong SGK

GV: Qua hai ví dụ trên một em cho

biết sử dụng chương trình con có những lợi ích gì?

Trang 8

chương trình con luỹ thừa.

- Thuận tiện cho phát triển, nâng cấp

tạo thành từ các chương trình con nên

dễ đọc, dễ hiểu, dễ kiểm tra và hiệu chỉnh Việc nâng cấp, phát triển chương trình con nào đó, thậm chí bổ sung thêm các chương trình con mới nói chung không gây ảnh hưởng tới các chương trình con khác

* Lưu ý: Nếu còn thời gian thì yêu

cầu học sinh suy nghĩ và đưa ra các bài toán cần thiết phải sử dụng chương trình con

III Củng cố

Tóm lại qua bài học hôm nay chúng ta cần lưu ý:

 Chương trình con

o Dãy lệnh thực hiện 1 công việc nào đó

o Xây dựng nên chương trình chính và có thể được xây dựng từ các chương trình con khác

o Được gọi từ nhiều vị trí khác nhau

 Khi nào thì cần thiết phải sử dụng chương trình con: Khi chương trình lặp đi lặp lại các đoạn lệnh tương tự nhau

 Lợi ích của việc sử dụng chương trình con

IV Dặn dò

Học bài cũ và đọc trước mục 2.Phân loại và cấu trúc của chương trình con

V Rút kinh nghiệm

Trang 9

Nhận xét của giáo viên hướng dẫn

Ngày tháng năm 2008

Giáo viên hướng dẫn

Ngày đăng: 01/04/2021, 22:13

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w