Tải bản đầy đủ (.doc) (5 trang)

Bài 17: CTC và lập trình có cấu trúc(T1)

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 (124.65 KB, 5 trang )

Ngày soạn: 15/03/2010
Ngày giảng: 17/03/2010
Tiết theo PPCT: 37
CHƯƠNG 6 – CHƯƠNG TRÌNH CON VÀ
LẬP TRÌNH CÓ CẤU TRÚC
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
I - Mục tiêu bài học
1. Kiến thức:
- Biết được khái niệm chương trình con.
- Biết được ý nghĩa của chương trình con, sự cần thiết phải viết một chương trình
thành các chương trình con.
2. Kĩ năng:
- Biết được lợi ích của việc sử dụng CTC.
II – Phương pháp, phương tiện dạy học
- Phương pháp: Đàm thoại, giảng giải…
- Phương tiện: sgk, giáo án…
III - Tiến trình bài học
1. Ổn định tổ chức lớp
- Lớp:
- Sĩ số:
- Lí do vắng
2. Kiểm tra bàì cũ
3. Nội dung bài mới
Hoạt động của giáo viên và học sinh Nội dung
? Để chuẩn bị cho ngày hội trại 26/3 thì
học sinh các lớp chuẩn bị như thế nào?
- Phân công việc cho từng nhóm phụ
trách → gọi là chia nhỏ công việc.
GV có thể lấy thêm ví dụ về việc chia nhỏ
công việc
Ví dụ: Thực hiện phép tính:


S = x + y + z + f
Với x, y, z, f là các biểu thức.
? Làm thế nào để tính được S nhanh nhất?
- Ta sẽ tính lần lượt từng biểu thức x, y,
z, f rồi lấy kết quả của từng biểu thức đó
1. Khái niệm chương trình con
1
cộng lại được tổng S cần tìm.
→ Để giải quyết 1 bài toán ta có thể chia
bài toán đó ra thành nhiều bài toán nhỏ hơn
hay còn gọi là bài toán con.
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 nhiều lệnh,
khi đọc rất khó hình dung 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 rất khó khăn.
Như vậy làm thế nào để cho bài toán
phức tạp dễ đọc, dễ hiểu, dễ hiệu chỉnh, dễ
nâng cấp?
Trong những chương trình lớn, có thể có
những đoạn chương trình viết lặp đi lặp lại
nhiều lần, để tránh rườm rà và mất thời
gian khi viết chương trình, người ta thường
phân chia chương trình thành nhiều
module, mỗi module giải quyết một công
việc nào đó. Các module như vậy gọi là các
chương trình con.
Do đó ta nghiên cứu vấn đề mới là CTC,
để tìm hiểu CTC là gì?
? Ý tưởng giải bài toán này?

- Chia bài toán thành 4 bài toán nhỏ a
n
,
b
m
,c
p
, d
q
→ làm mịn dần bài toán
- Giá trị Tluythua là tổng của 4 bài toán
con.
→ Với những bài toán lớn hơn thì những
bài tóan con có thể được phân chia thành
những bài toán con khác.
Xét ví dụ:
Tính tổng : Tluythua = a
n
+ b
m
+ c
p
+ d
q

- Những bài toán phức tạp có thể phân
chia thành nhiều bài toán nhỏ, mỗi bài toán
nhỏ được phân chia thành nhiều bài toán
nhỏ, quá trình làm “mịn” dần bài toán như
vậy được gọi là cách thiết kế từ trên xuống.

- Khi lập trình để giải các bài toán có thể
chia thành các khối, mỗi khối bao gồm các
lệnh để giải 1 bài toán nào đó, mỗi khối
2
? Trong chương trình này có nhữngkhối
lệnh nào được viết tương tự nhau?
- Có 4 khối lệnh được viết tương tự nhau
? Tác dụng của từng khối lệnh?
-Khối lệnh 1dùng để tính luỹ thừa a
n
,
Khối lệnh 1dùng để tính luỹ thừa b
m
, Khối
lệnh 1dùng để tính luỹ thừa c
p
, Khối lệnh
1dùng để tính luỹ thừa d
q
.
? Việc lặp lại những khối lệnh này gây ra
khó khăn gì?
- Làm cho chương trình vừa dài, vừa khó
theo dõi.
GV giải rhích : các dòng lệnh:
var j: integer;
tich:=1.0;
for j:=1 to k do
tich:=tich*x
+ Để tính các luỹ thừa ta viết:

Luythua(a,n), luythua(b,m),
Luythua(c,p), luythua(d,q)
+ Và chỉ rõ các đoạn lệnh được thay thế
bằng CTC.
Chính vì vậy để 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 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.
?Chương trình con là gì?
Việc sử dụng chương trình con làm
lệnh được xây dựng thành 1 CTC , sau đó
chương trình chính được xây dựng trên các
CTC này, cách lập trình như vậy gọi là
chương trình có cấu trúc.
Xét ví dụ trên với chương trình pascal
(trang 92 - sgk)
Khái niệm
Chương trình con là một dãy lệnh mô tả
một số thao tác nhất định và có thể được
thực hiện (được gọi) từ nhiều vị trí trong
chương trình.
3
chương trình gọn hơn và dể quan sát hơn.
? Vậy lợi ích của việc sử dụng CTC là gì?
Giới thiệu về lợi ích của việc sử dụng
chương trình con:
+ Tránh sự lập đi lập lại của một dãy
lệnh nào đó.
+ Các chương trình lớn như hệ điều

hành Windows, họăc bộ Visual studio,
Microsoft Office có thể phân chia nhiều
công đọan cho nhiều người viết như. Người
này tham gia vào công đọan viết giao diện
chương trình, người khi tham gia vào công
đọan hiệu ứng và định dạng văn bản v.v…
+ Trong lập trình Windows người ta có
thể tạo ra cửa sổ Widows From chỉ bằng
vài cái click chuột. Nhưng ít ai quan tâm
tới cửa sổ Windows From được lập trình
như thế nào, mà người ta chỉ quan tâm tới
kết quả là tạo ra cửa sổ Windows From
được thừa hưởng từ những lập trình ngôn
ngữ lập trình đó họ viết sẵn cho.
+ Trong thực tế ít ai biết được thư viện
đồ họa của hệ điều hành Windows
(DirectX) là gì. Nhưng đây lại là một thành
phần không thể thiếu của các chương trình
* Lợi ích của việc sử dụng CTC
+ Tránh được việc phải viết đi viết lại
nhiều lần cùng 1 dãy lệnh;
+ Hổ trợ việc thực hiện các chương trình
lớn;
+ Phục vụ cho quá trình trừu tượng hoá ;
+ 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;
4
sử dụng giao diện đồ họa.
+ Khi viết một chương trình lớn, nếu

không có chương trình con thì khi bị lỗi
chúng ta sẽ khó mà biết đựơc là nó lỗi ở
chỗ nào.
VD: Windows Media Player chúng ta
đang sử dụng, chúng có các chương trình
con cơ bản như là: Chương trình con hiển
thị Video, Chương trình con Play, Stop,
Pause… Nếu chương trình con Stop bị lỗi
(nhấn Stop mà Windows media player
không dừng) thì chúng ta có thể biết là
chương trình con Stop đang bị lỗi
IV - Củng cố
- Chương trình con là gì?
- Thế nào là lập trình có cấu trúc?
- Lợi ích việc sử dụng CTC.
5

×