SlideShare uma empresa Scribd logo
1 de 22
CHƯƠNG TRÌNH CON VÀ
LẬP TRÌNH CÓ CẤU TRÚC
Chương trình con là gì?1
Lợi ích chương trình con2
Phân loại và cấu trúc chương trình con3
Thực hiện chương trình con4
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
(Tiết 1)
1. Khái niệm chương trình con
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
- C¸c ch- ng tr×nh gi¶i c¸c bµi to¸n phøc t¹p th- ng rÊt dµiươ ườ
=> Khã ®äc, khã hiÓu, khã hiÖu chØnh
=> §Æt ra vÊn ®Ò lµm sao dÔ ®äc, dÔ hiÓu, dÔ hiÖu chØnh
- Mét bµi to¸n th- ng cã thÓ ph©n tÝch thµnh nhiÒu bµi to¸n conườ
nhá VÝ dô: TÝnhLT=am
+bn
+cp
+dq
Gåm 4 bµi to¸n con lµ tÝnh am
, tÝnh bn
, tÝnh cp
, tÝnh dq
Giao cho 4 ng-êi, c«ng viÖc sÏ nhÑ nhµng h¬n
- Mçi bµi to¸n con l¹i chia thµnh c¸c bµi to¸n con nhá h¬n
- Qu¸ tr×nh lµm “mÞn” nh- thÕ ®-îc gäi lµ c¸ch thiÕt kÕ tõ trªnư
xuèng.
1. Khái niệm chương trình con
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
Tương tự trên máy tính, khi giải các bài toán phức tạp, người ta
chia thành các bài toán nhỏ, gọi lad module ha chương trình con.
Chương trình chính sẽ được xây dựng từ các chương trình con
Nhóm
trưởng
Việc A
Việc B
1. Khái niệm chương trình con
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
Cách lập trình như vậy dựa trên 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ươ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.
Tương tự trên máy tính, khi giải các bài toán phức tạp, người ta
chia thành các bài toán nhỏ, gọi lad module ha chương trình con.
Chương trình chính sẽ được xây dựng từ các chương trình con
1. Khái niệm chương trình con
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
VÝ dô: ViÕt ch­ ng tr×nh tÝnh tængươ am
+bn
+cp
+dq
.
Program Tong_Luy_thua;
Var Tong, lta, ltb, ltc, ltd: Real;
a, b, c, d: Real;
i, m, n, p, q: Integer;
Begin
Write(‘ Nhap a,b,c,d,m,n,p,q: ’);
Readln(a,b,c,d,m,n,p,q);
lta:=1;
For i:=1 to m do lta:=lta*a;
ltb:=1;
For i:=1 to n do ltb:=ltb*b;
ltc:=1;
For i:=1 to p do ltc:=ltc*c;
ltd:=1;
For i:=1 to q do ltd:=ltd*d;
Tong:=lta+ltb+ltc+ltd;
Write(‘Tong LT = ’,Tong:8:2);
Readln;
End.
1. Khái niệm chương trình con
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
Ví Dụ: Viết chương trình tính tổng: am
+bn
+cp
+dq
Var i: Integer;
ltx:=1;
For i:=1 to k do ltx:=ltx*x;
­ Trong ch­ ng tr×nh trªn cã 4 ®o¹n lÖnh t­ ng tù nhau, lÆp ®i lÆpươ ươ
l¹i
 Ch­ ng tr×nh dµi, khã theo dâi.ươ
­ §Ó n©ng cao hiÖu qu¶ lËp tr×nh, ng«n ng÷ lËp tr×nh cho phÐp x©y
dùng c¸c ch­ ng tr×nh con ®¹i diÖn cho nhiÒu ®o¹n lÖnh t­ ng tùươ ươ
nhau.
­ VÝ dô: TÝnh lòy thõa ltx = xk
.
­ §Æt tªn cho nã lµ Luythua víi c¸c tham sè lµ x vµ k.
­ Khi cÇn tÝnh lòy thõa cña gi¸ trÞ cô thÓ nµo th× gäi nã víi c¸c tham sè.
VÝ dô: Luythua(a,m), Luythua(b,n),…
2. Lợi ích sử dụng chương trình con:
Ch­ NG tr×nh con vµ ph©n lo¹iƯƠ
 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;
Haõy
nhôù
 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.
 Lợi ích của việc sử dụng chương
trình con:
- Tránh được việc lặp đi lặp lại
cùng 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ụ 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.
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
(Tiết 2)
1. Haõy chæ ra caâu noùi sai:
A. Chöông trình con thöïc chaát laø moät
khoái leänh nhaèm giaûi quyeát moät baøi
toaùn con.
B. Chöông trình con laø moät daõy leänh moâ
taû moät soá thao taùc nhaát ñònh vaø coù
theå ñöôïc thöïc hieän töø nhieàu vò trí trong
chöông trình.
C. Chöông trình con laø khoâng caàn thieát vì
ta coù theå giaûi moïi baøi toaùn maø khoâng
caàn duøng noù.
D. Chöông trình con laø raát caàn thieát ñeå
giaûi quyeát caùc baøi toaùn lôùn vaø laøm
vieäc theo nhoùm.
KIEÅM TRA BAØI CUÕ
2. Lôïi ích cuûa vieäc söû duïng chöông trình con:
A. Traùnh vieäc laëp ñi, laëp laïi cuøng moät
daõy leänh naøo ñoù.
B. Hoã trôï vieäc thöïc hieän caùc chöông
trình lôùn.
C. Thuaän tieän cho vieäc phaùt trieån, naâng
caáp chöông trình.
D. Taát caû caùc caâu treân ñeàu ñuùng.
3. Phaân loaïi vaø caáu truùc cuûa chöông trình
con
a. Phaân loaïi
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Chöông trình con goàm coù 2 loaïi:
Haøm
(Function)
Laø chöông trình con
Thöïc hieän moät soá thao taùc naøo ñoù
Traû veà moät giaù trò qua teân haøm
Thuû tuïc
(Procedure)
Laø chöông trình con
Thöïc hieän moät soá thao taùc naøo ñoù
Sqrt(x): Traû veà caên baäc 2 cuûa soá x
Length(S): Traû veà chieàu daøi xaâu S
EOF(<bieán teäp>): Traû veà giaù trò True
neáu con troû ñang chæ tôùi cuoái teäp
Writeln(<danh saùch keát quaû>): Xuaát danh
saùch keát quaû ra maøn hình
Delete(S,vt,N): Xoùa N kyù töï trong xaâu S,
tính töø vò trí thöù vt
Assign(<bieán teäp>,<teân teäp>): Gaén teân
teäp cho bieán teäp.
3. Phaân loaïi vaø caáu truùc cuûa chöông trình
con
b. Caáu truùc chöông trình con
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Haõy trình baøy caáu truùc cuûa moät
chöông trình?
Caáu truùc chöông trình
[<Phaàn khai baùo>]
<Phaàn thaân>
Caáu truùc chöông trình con
<Phaàn ñaàu>
[<Phaàn khai baùo>]
<Phaàn thaân>
Function Luythua(x: Real; k: Integer): Real;
Var i: Integer; ltx: Real;
Begin
ltx:=1;
For i:=1 to k do ltx:=ltx*x;
Luythua:=ltx;
End;
Ñöôïc duøng ñeå khai
baùo teân chöông trình
con, neáu laø haøm thì
caàn khai baùo kieåu döõ
lieäu cho giaù trò traû veà.
Coù theå khai baùo
bieán cho döõ lieäu vaøo
vaø ra, caùc haèng vaø
bieán söû duïng trong
chöông trình con.
Laø moät daõy leänh
3. Phaân loaïi vaø caáu truùc cuûa chöông trình
con
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Program Tong_Luy_thua;
Var a, b, c, d, Tong: Real;
m, n, p, q: Integer;
Function Luythua(x: Real; k: Integer): Real;
Var i: Integer; ltx: Real;
Begin
ltx:=1;
For i:=1 to k do ltx:=ltx*x;
Luythua:=ltx;
End;
Begin
Write(' Nhap a, b, c, d, m, n, p, q: ');
Readln(a, b, c, d, m, n, p, q);
Tong:=Luythua(a,m)+Luythua(b,n)+Luythua(c,p)+Luythua(d,q);
Write(' Tong luy thua = ',Tong:8:2);
Readln
End.
x: Real; k: Integer
Var i: Integer; ltx: Real;
Var a, b, c, d, Tong: Real;
m, n, p, q: Integer;
Ñöôïc khai baùo cho
döõ lieäu vaøo/ra vaø
goïi laø tham soá
hình thöùc
Ñöôïc khai baùo, söû
duïng trong chöông trình
con vaø goïi laø bieán cuïc
boä
Ñöôïc khai baùo trong
chöông trình chính vaø söû
duïng trong toaøn boä
chöông trình vaø goïi laø
bieán toaøn cuïc
3. Phân loại và cấu trúc chương trình con
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
* Moät soá thuaät ngöõ
- Tham soá hình thöùc cuûa chöông trình con: Laø caùc
bieán ñöôïc khai baùo cho döõ lieäu vaøo/ra.
- Bieán cuïc boä: Laø caùc bieán ñöôïc khai baùo, söû
duïng trong chöông trình con.
- Bieán toaøn cuïc: Laø caùc bieán ñöôïc khai baùo trong
chöông trình chính vaø söû duïng trong toaøn boä
chöông trình.* Löu yù: Moät chöông trình con coù theå coù hoaëc
khoâng coù tham soá hình thöùc, cuõng nhö bieán cuïc
boä.
Procedure Ve_HCN;
Begin
Writeln('************************');
Writeln('* *');
Writeln('* *');
Writeln('************************');
End;
Begin
Ve_HCN;
Readln
End.
Ví duï veà chöông trình con khoâng coù
tham soá hình thöùc vaø bieán cuïc boä:
4. Thöïc hieän chöông trình con
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Ñeå thöïc hieän chöông trình con, ta caàn phaûi coù
leänh goïi noù töông töï leänh goïi haøm hay thuû tuïc
chuaån, bao goàm teân chöông trình con vaø caùc tham
soá (neáu coù). Caùc tham soá naøy ñöôïc goïi laø tham
soá thöïc söï.
4. Thöïc hieän chöông trình con
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Program Tong_Luy_thua;
Var a, b, c, d, Tong: Real;
m, n, p, q: Integer;
Function Luythua(x: Real; k: Integer): Real;
Var i: Integer; ltx: Real;
Begin
ltx:=1;
For i:=1 to k do ltx:=ltx*x;
Luythua:=ltx;
End;
Begin
Write(' Nhap a, b, c, d, m, n, p, q: ');
Readln(a, b, c, d, m, n, p, q);
Tong:=Luythua(a,m)+Luythua(b,n)+Luythua(c,p)+Luythua(d,q);
Write(' Tong luy thua = ',Tong:8:2);
Readln
End.
Luythua(a,m)
Lôøi goïi chöông trình
con
Teân chöông trình
con
Tham soá thöïc
söï
4. Thöïc hieän chöông trình con
CHÖÔNG TRÌNH CON VAØ PHAÂN
LOAÏI
Ñeå thöïc hieän chöông trình con, ta caàn phaûi coù
leänh goïi noù töông töï leänh goïi haøm hay thuû tuïc
chuaån, bao goàm teân chöông trình con vaø caùc tham
soá (neáu coù). Caùc tham soá naøy ñöôïc goïi laø tham
soá thöïc söï.
* Chuù yù: Caùc tham soá thöïc söï vaø tham soá
hình thöùc phaûi coù söï töông öùng veà thöù töï vaø
kieåu döõ lieäu.
 Coù 2 loaïi chöông trình con laø
Haøm vaø Thuû tuïc.
 Caáu truùc chöông trình con
goàm 3 phaàn: Phaàn ñaàu,
phaàn khai baùo vaø phaàn
thaân.
 Caùc thuaät ngöõ: Tham soá hình
thöùc, tham soá thöïc söï, bieán
cuïc boä, bieán toaøn cuïc.
 Ñeå thöïc hieän moät chöông
trình con, caàn phaûi coù leänh
goïi chöông trình con, bao goàm
teân chöông trình con vaø caùc
tham soá thöïc söï (neáu coù).
Bài 17 tin học 11

Mais conteúdo relacionado

Mais procurados

C Programming Storage classes, Recursion
C Programming Storage classes, RecursionC Programming Storage classes, Recursion
C Programming Storage classes, RecursionSreedhar Chowdam
 
358 33 powerpoint-slides_16-files-their-organization_chapter-16
358 33 powerpoint-slides_16-files-their-organization_chapter-16358 33 powerpoint-slides_16-files-their-organization_chapter-16
358 33 powerpoint-slides_16-files-their-organization_chapter-16sumitbardhan
 
Types of function call
Types of function callTypes of function call
Types of function callArijitDhali
 
Loaders complete
Loaders completeLoaders complete
Loaders completeFaisal Shah
 
Concept of c data types
Concept of c data typesConcept of c data types
Concept of c data typesManisha Keim
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compilerAbha Damani
 

Mais procurados (14)

C Programming Storage classes, Recursion
C Programming Storage classes, RecursionC Programming Storage classes, Recursion
C Programming Storage classes, Recursion
 
358 33 powerpoint-slides_16-files-their-organization_chapter-16
358 33 powerpoint-slides_16-files-their-organization_chapter-16358 33 powerpoint-slides_16-files-their-organization_chapter-16
358 33 powerpoint-slides_16-files-their-organization_chapter-16
 
PPS Notes Unit 5.pdf
PPS Notes Unit 5.pdfPPS Notes Unit 5.pdf
PPS Notes Unit 5.pdf
 
Types of function call
Types of function callTypes of function call
Types of function call
 
Spr ch-02
Spr ch-02Spr ch-02
Spr ch-02
 
Loaders complete
Loaders completeLoaders complete
Loaders complete
 
Function in C Language
Function in C Language Function in C Language
Function in C Language
 
Python - variable types
Python - variable typesPython - variable types
Python - variable types
 
Concept of c data types
Concept of c data typesConcept of c data types
Concept of c data types
 
Recursion
RecursionRecursion
Recursion
 
Presentation on pointer.
Presentation on pointer.Presentation on pointer.
Presentation on pointer.
 
Introduction to compiler
Introduction to compilerIntroduction to compiler
Introduction to compiler
 
Python
PythonPython
Python
 
Spmp
SpmpSpmp
Spmp
 

Destaque

Các ví dụ về cách viết và sử dụng chương trình con
Các ví dụ về cách viết và sử dụng chương trình conCác ví dụ về cách viết và sử dụng chương trình con
Các ví dụ về cách viết và sử dụng chương trình conNhungoc Phamhai
 
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.Bài 18. Ví dụ về cách viết và sử dụng chương trình con.
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.Sân Ngoài Còn Lá
 
Bài 17 Chương trình con và phân loại
Bài 17 Chương trình con và phân loạiBài 17 Chương trình con và phân loại
Bài 17 Chương trình con và phân loạiHòa Hoàng
 
Bai 17_ Tin Học 11
Bai 17_ Tin Học 11Bai 17_ Tin Học 11
Bai 17_ Tin Học 11De Choat
 
Bài 18 tin hoc 11
Bài 18 tin hoc 11Bài 18 tin hoc 11
Bài 18 tin hoc 11HaBaoChau
 
Gtga bai18 vi du cach viet va su dung chuong trinh con
Gtga bai18 vi du cach viet va su dung chuong trinh conGtga bai18 vi du cach viet va su dung chuong trinh con
Gtga bai18 vi du cach viet va su dung chuong trinh conHeo_Con049
 
Bai tap-pascal-lop-11
Bai tap-pascal-lop-11Bai tap-pascal-lop-11
Bai tap-pascal-lop-11sonnqsp
 
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_danGiao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_danVõ Tâm Long
 
Kbdh bai17 lop11_chuong_trinhconvaphanloai
Kbdh bai17 lop11_chuong_trinhconvaphanloaiKbdh bai17 lop11_chuong_trinhconvaphanloai
Kbdh bai17 lop11_chuong_trinhconvaphanloaiChi Lệ
 
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệp
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệpBài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệp
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệpnguyennhuhaiau
 
Giải bài tập Tin học 11 SGK
Giải bài tập Tin học 11 SGKGiải bài tập Tin học 11 SGK
Giải bài tập Tin học 11 SGKHảo Hảo
 
xuan17
xuan17xuan17
xuan17bx_159
 
Kịch bản dạy học bài 16 tin học lớp 10
Kịch bản dạy học bài 16 tin học lớp 10Kịch bản dạy học bài 16 tin học lớp 10
Kịch bản dạy học bài 16 tin học lớp 10Tường Tường
 
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11K33LA-KG
 
Kịch bản dạy học bài 16
Kịch bản dạy học   bài 16Kịch bản dạy học   bài 16
Kịch bản dạy học bài 16Sunkute
 
Vi du ve cach viet va dung chuong trinh con
Vi du ve cach viet va dung chuong trinh conVi du ve cach viet va dung chuong trinh con
Vi du ve cach viet va dung chuong trinh conLau De
 
Bai19 chuong trinh con (thu tuc va ham) - tin 11
Bai19  chuong trinh con (thu tuc va ham) - tin 11Bai19  chuong trinh con (thu tuc va ham) - tin 11
Bai19 chuong trinh con (thu tuc va ham) - tin 11Bich Tuyen
 
Bài 12: Kiểu xâu
Bài 12: Kiểu xâuBài 12: Kiểu xâu
Bài 12: Kiểu xâuMinh Lê
 
Bai giang tin hoc lop 11 bai 14 15
Bai giang tin hoc lop 11 bai 14   15Bai giang tin hoc lop 11 bai 14   15
Bai giang tin hoc lop 11 bai 14 15Chi Lệ
 

Destaque (20)

Các ví dụ về cách viết và sử dụng chương trình con
Các ví dụ về cách viết và sử dụng chương trình conCác ví dụ về cách viết và sử dụng chương trình con
Các ví dụ về cách viết và sử dụng chương trình con
 
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.Bài 18. Ví dụ về cách viết và sử dụng chương trình con.
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.
 
Bài 17 Chương trình con và phân loại
Bài 17 Chương trình con và phân loạiBài 17 Chương trình con và phân loại
Bài 17 Chương trình con và phân loại
 
Chuong trinh con
Chuong trinh conChuong trinh con
Chuong trinh con
 
Bai 17_ Tin Học 11
Bai 17_ Tin Học 11Bai 17_ Tin Học 11
Bai 17_ Tin Học 11
 
Bài 18 tin hoc 11
Bài 18 tin hoc 11Bài 18 tin hoc 11
Bài 18 tin hoc 11
 
Gtga bai18 vi du cach viet va su dung chuong trinh con
Gtga bai18 vi du cach viet va su dung chuong trinh conGtga bai18 vi du cach viet va su dung chuong trinh con
Gtga bai18 vi du cach viet va su dung chuong trinh con
 
Bai tap-pascal-lop-11
Bai tap-pascal-lop-11Bai tap-pascal-lop-11
Bai tap-pascal-lop-11
 
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_danGiao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
 
Kbdh bai17 lop11_chuong_trinhconvaphanloai
Kbdh bai17 lop11_chuong_trinhconvaphanloaiKbdh bai17 lop11_chuong_trinhconvaphanloai
Kbdh bai17 lop11_chuong_trinhconvaphanloai
 
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệp
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệpBài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệp
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệp
 
Giải bài tập Tin học 11 SGK
Giải bài tập Tin học 11 SGKGiải bài tập Tin học 11 SGK
Giải bài tập Tin học 11 SGK
 
xuan17
xuan17xuan17
xuan17
 
Kịch bản dạy học bài 16 tin học lớp 10
Kịch bản dạy học bài 16 tin học lớp 10Kịch bản dạy học bài 16 tin học lớp 10
Kịch bản dạy học bài 16 tin học lớp 10
 
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11
 
Kịch bản dạy học bài 16
Kịch bản dạy học   bài 16Kịch bản dạy học   bài 16
Kịch bản dạy học bài 16
 
Vi du ve cach viet va dung chuong trinh con
Vi du ve cach viet va dung chuong trinh conVi du ve cach viet va dung chuong trinh con
Vi du ve cach viet va dung chuong trinh con
 
Bai19 chuong trinh con (thu tuc va ham) - tin 11
Bai19  chuong trinh con (thu tuc va ham) - tin 11Bai19  chuong trinh con (thu tuc va ham) - tin 11
Bai19 chuong trinh con (thu tuc va ham) - tin 11
 
Bài 12: Kiểu xâu
Bài 12: Kiểu xâuBài 12: Kiểu xâu
Bài 12: Kiểu xâu
 
Bai giang tin hoc lop 11 bai 14 15
Bai giang tin hoc lop 11 bai 14   15Bai giang tin hoc lop 11 bai 14   15
Bai giang tin hoc lop 11 bai 14 15
 

Semelhante a Bài 17 tin học 11

Bai 17 chuong trinh con va phan loai
Bai 17 chuong trinh con va phan loaiBai 17 chuong trinh con va phan loai
Bai 17 chuong trinh con va phan loaiThaiPham97
 
Lap trinh huong_doi_tuong
Lap trinh huong_doi_tuongLap trinh huong_doi_tuong
Lap trinh huong_doi_tuongvovantrjnh
 
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnPdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnMasterCode.vn
 
Kichbandayhoc
KichbandayhocKichbandayhoc
Kichbandayhocvothu123
 
K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11Tin5VungTau
 
Chu de 6 cau lenh lap
Chu de 6  cau lenh lapChu de 6  cau lenh lap
Chu de 6 cau lenh lapĐồ Trần
 
Lap trinh huong doi tuong voi c++ smith.n studio
Lap trinh huong doi tuong voi c++   smith.n studioLap trinh huong doi tuong voi c++   smith.n studio
Lap trinh huong doi tuong voi c++ smith.n studiona
 
Bai19 chuong trinh con (thu tuc va ham) - tin 11
Bai19  chuong trinh con (thu tuc va ham) - tin 11Bai19  chuong trinh con (thu tuc va ham) - tin 11
Bai19 chuong trinh con (thu tuc va ham) - tin 11Bich Tuyen
 

Semelhante a Bài 17 tin học 11 (20)

bai giang
 bai giang bai giang
bai giang
 
Bai 17 chuong trinh con va phan loai
Bai 17 chuong trinh con va phan loaiBai 17 chuong trinh con va phan loai
Bai 17 chuong trinh con va phan loai
 
Tin 8
Tin 8Tin 8
Tin 8
 
Bai 17
Bai 17Bai 17
Bai 17
 
Day hoc lt (aml)
Day hoc lt (aml)Day hoc lt (aml)
Day hoc lt (aml)
 
Bai 17
Bai 17Bai 17
Bai 17
 
Lap trinh huong_doi_tuong
Lap trinh huong_doi_tuongLap trinh huong_doi_tuong
Lap trinh huong_doi_tuong
 
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnPdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
 
Bai 18 tiet 1
Bai 18  tiet 1Bai 18  tiet 1
Bai 18 tiet 1
 
Chương Trình Con
Chương Trình Con Chương Trình Con
Chương Trình Con
 
Quan ly bo nho
Quan ly bo nhoQuan ly bo nho
Quan ly bo nho
 
Bài 6
Bài 6Bài 6
Bài 6
 
Kichbandayhoc
KichbandayhocKichbandayhoc
Kichbandayhoc
 
Bai 18
Bai 18Bai 18
Bai 18
 
Th 21-full-permission-
Th 21-full-permission-Th 21-full-permission-
Th 21-full-permission-
 
K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11
 
Chu de 6 cau lenh lap
Chu de 6  cau lenh lapChu de 6  cau lenh lap
Chu de 6 cau lenh lap
 
Chuong 09 vb
Chuong 09   vbChuong 09   vb
Chuong 09 vb
 
Lap trinh huong doi tuong voi c++ smith.n studio
Lap trinh huong doi tuong voi c++   smith.n studioLap trinh huong doi tuong voi c++   smith.n studio
Lap trinh huong doi tuong voi c++ smith.n studio
 
Bai19 chuong trinh con (thu tuc va ham) - tin 11
Bai19  chuong trinh con (thu tuc va ham) - tin 11Bai19  chuong trinh con (thu tuc va ham) - tin 11
Bai19 chuong trinh con (thu tuc va ham) - tin 11
 

Mais de HaBaoChau

Tìm hiểu về prezi
Tìm hiểu về preziTìm hiểu về prezi
Tìm hiểu về preziHaBaoChau
 
Tìm hiểu về snagit window movie maker
Tìm hiểu về snagit window movie makerTìm hiểu về snagit window movie maker
Tìm hiểu về snagit window movie makerHaBaoChau
 
Phần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyPhần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyHaBaoChau
 
Phần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyPhần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyHaBaoChau
 
Bài 22 tin học 10
Bài 22 tin học 10Bài 22 tin học 10
Bài 22 tin học 10HaBaoChau
 
Bài 21 tin học 10
Bài 21 tin học 10Bài 21 tin học 10
Bài 21 tin học 10HaBaoChau
 
Bài 20 tin học 10
Bài 20 tin học 10Bài 20 tin học 10
Bài 20 tin học 10HaBaoChau
 
Bài 1 tin hoc 12
Bài 1 tin hoc 12Bài 1 tin hoc 12
Bài 1 tin hoc 12HaBaoChau
 
K37103025 ha baochau_skype
K37103025 ha baochau_skypeK37103025 ha baochau_skype
K37103025 ha baochau_skypeHaBaoChau
 
K37103025 ha baochau_google+
K37103025 ha baochau_google+K37103025 ha baochau_google+
K37103025 ha baochau_google+HaBaoChau
 
K37103025 ha baochau_google+
K37103025 ha baochau_google+K37103025 ha baochau_google+
K37103025 ha baochau_google+HaBaoChau
 
Tin11 chuong04 bai_13
Tin11 chuong04 bai_13Tin11 chuong04 bai_13
Tin11 chuong04 bai_13HaBaoChau
 
Tin10 chuong04 bai13
Tin10 chuong04 bai13Tin10 chuong04 bai13
Tin10 chuong04 bai13HaBaoChau
 

Mais de HaBaoChau (15)

Wordpress
WordpressWordpress
Wordpress
 
Tìm hiểu về prezi
Tìm hiểu về preziTìm hiểu về prezi
Tìm hiểu về prezi
 
Edmodo
EdmodoEdmodo
Edmodo
 
Tìm hiểu về snagit window movie maker
Tìm hiểu về snagit window movie makerTìm hiểu về snagit window movie maker
Tìm hiểu về snagit window movie maker
 
Phần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyPhần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duy
 
Phần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyPhần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duy
 
Bài 22 tin học 10
Bài 22 tin học 10Bài 22 tin học 10
Bài 22 tin học 10
 
Bài 21 tin học 10
Bài 21 tin học 10Bài 21 tin học 10
Bài 21 tin học 10
 
Bài 20 tin học 10
Bài 20 tin học 10Bài 20 tin học 10
Bài 20 tin học 10
 
Bài 1 tin hoc 12
Bài 1 tin hoc 12Bài 1 tin hoc 12
Bài 1 tin hoc 12
 
K37103025 ha baochau_skype
K37103025 ha baochau_skypeK37103025 ha baochau_skype
K37103025 ha baochau_skype
 
K37103025 ha baochau_google+
K37103025 ha baochau_google+K37103025 ha baochau_google+
K37103025 ha baochau_google+
 
K37103025 ha baochau_google+
K37103025 ha baochau_google+K37103025 ha baochau_google+
K37103025 ha baochau_google+
 
Tin11 chuong04 bai_13
Tin11 chuong04 bai_13Tin11 chuong04 bai_13
Tin11 chuong04 bai_13
 
Tin10 chuong04 bai13
Tin10 chuong04 bai13Tin10 chuong04 bai13
Tin10 chuong04 bai13
 

Bài 17 tin học 11

  • 1. CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC
  • 2. Chương trình con là gì?1 Lợi ích chương trình con2 Phân loại và cấu trúc chương trình con3 Thực hiện chương trình con4
  • 3. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
  • 4. 1. Khái niệm chương trình con CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI - C¸c ch- ng tr×nh gi¶i c¸c bµi to¸n phøc t¹p th- ng rÊt dµiươ ườ => Khã ®äc, khã hiÓu, khã hiÖu chØnh => §Æt ra vÊn ®Ò lµm sao dÔ ®äc, dÔ hiÓu, dÔ hiÖu chØnh - Mét bµi to¸n th- ng cã thÓ ph©n tÝch thµnh nhiÒu bµi to¸n conườ nhá VÝ dô: TÝnhLT=am +bn +cp +dq Gåm 4 bµi to¸n con lµ tÝnh am , tÝnh bn , tÝnh cp , tÝnh dq Giao cho 4 ng-êi, c«ng viÖc sÏ nhÑ nhµng h¬n - Mçi bµi to¸n con l¹i chia thµnh c¸c bµi to¸n con nhá h¬n - Qu¸ tr×nh lµm “mÞn” nh- thÕ ®-îc gäi lµ c¸ch thiÕt kÕ tõ trªnư xuèng.
  • 5. 1. Khái niệm chương trình con CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI Tương tự trên máy tính, khi giải các bài toán phức tạp, người ta chia thành các bài toán nhỏ, gọi lad module ha chương trình con. Chương trình chính sẽ được xây dựng từ các chương trình con Nhóm trưởng Việc A Việc B
  • 6. 1. Khái niệm chương trình con CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI Cách lập trình như vậy dựa trên 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ươ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. Tương tự trên máy tính, khi giải các bài toán phức tạp, người ta chia thành các bài toán nhỏ, gọi lad module ha chương trình con. Chương trình chính sẽ được xây dựng từ các chương trình con
  • 7. 1. Khái niệm chương trình con CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI VÝ dô: ViÕt ch­ ng tr×nh tÝnh tængươ am +bn +cp +dq . Program Tong_Luy_thua; Var Tong, lta, ltb, ltc, ltd: Real; a, b, c, d: Real; i, m, n, p, q: Integer; Begin Write(‘ Nhap a,b,c,d,m,n,p,q: ’); Readln(a,b,c,d,m,n,p,q); lta:=1; For i:=1 to m do lta:=lta*a; ltb:=1; For i:=1 to n do ltb:=ltb*b; ltc:=1; For i:=1 to p do ltc:=ltc*c; ltd:=1; For i:=1 to q do ltd:=ltd*d; Tong:=lta+ltb+ltc+ltd; Write(‘Tong LT = ’,Tong:8:2); Readln; End.
  • 8. 1. Khái niệm chương trình con CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI Ví Dụ: Viết chương trình tính tổng: am +bn +cp +dq Var i: Integer; ltx:=1; For i:=1 to k do ltx:=ltx*x; ­ Trong ch­ ng tr×nh trªn cã 4 ®o¹n lÖnh t­ ng tù nhau, lÆp ®i lÆpươ ươ l¹i  Ch­ ng tr×nh dµi, khã theo dâi.ươ ­ §Ó n©ng cao hiÖu qu¶ lËp tr×nh, ng«n ng÷ lËp tr×nh cho phÐp x©y dùng c¸c ch­ ng tr×nh con ®¹i diÖn cho nhiÒu ®o¹n lÖnh t­ ng tùươ ươ nhau. ­ VÝ dô: TÝnh lòy thõa ltx = xk . ­ §Æt tªn cho nã lµ Luythua víi c¸c tham sè lµ x vµ k. ­ Khi cÇn tÝnh lòy thõa cña gi¸ trÞ cô thÓ nµo th× gäi nã víi c¸c tham sè. VÝ dô: Luythua(a,m), Luythua(b,n),…
  • 9. 2. Lợi ích sử dụng chương trình con: Ch­ NG tr×nh con vµ ph©n lo¹iƯƠ  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;
  • 10. Haõy nhôù  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.  Lợi ích của việc sử dụng chương trình con: - Tránh được việc lặp đi lặp lại cùng 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ụ 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.
  • 11. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 2)
  • 12. 1. Haõy chæ ra caâu noùi sai: A. Chöông trình con thöïc chaát laø moät khoái leänh nhaèm giaûi quyeát moät baøi toaùn con. B. Chöông trình con laø moät daõy leänh moâ taû moät soá thao taùc nhaát ñònh vaø coù theå ñöôïc thöïc hieän töø nhieàu vò trí trong chöông trình. C. Chöông trình con laø khoâng caàn thieát vì ta coù theå giaûi moïi baøi toaùn maø khoâng caàn duøng noù. D. Chöông trình con laø raát caàn thieát ñeå giaûi quyeát caùc baøi toaùn lôùn vaø laøm vieäc theo nhoùm. KIEÅM TRA BAØI CUÕ 2. Lôïi ích cuûa vieäc söû duïng chöông trình con: A. Traùnh vieäc laëp ñi, laëp laïi cuøng moät daõy leänh naøo ñoù. B. Hoã trôï vieäc thöïc hieän caùc chöông trình lôùn. C. Thuaän tieän cho vieäc phaùt trieån, naâng caáp chöông trình. D. Taát caû caùc caâu treân ñeàu ñuùng.
  • 13. 3. Phaân loaïi vaø caáu truùc cuûa chöông trình con a. Phaân loaïi CHÖÔNG TRÌNH CON VAØ PHAÂN LOAÏI Chöông trình con goàm coù 2 loaïi: Haøm (Function) Laø chöông trình con Thöïc hieän moät soá thao taùc naøo ñoù Traû veà moät giaù trò qua teân haøm Thuû tuïc (Procedure) Laø chöông trình con Thöïc hieän moät soá thao taùc naøo ñoù Sqrt(x): Traû veà caên baäc 2 cuûa soá x Length(S): Traû veà chieàu daøi xaâu S EOF(<bieán teäp>): Traû veà giaù trò True neáu con troû ñang chæ tôùi cuoái teäp Writeln(<danh saùch keát quaû>): Xuaát danh saùch keát quaû ra maøn hình Delete(S,vt,N): Xoùa N kyù töï trong xaâu S, tính töø vò trí thöù vt Assign(<bieán teäp>,<teân teäp>): Gaén teân teäp cho bieán teäp.
  • 14. 3. Phaân loaïi vaø caáu truùc cuûa chöông trình con b. Caáu truùc chöông trình con CHÖÔNG TRÌNH CON VAØ PHAÂN LOAÏI Haõy trình baøy caáu truùc cuûa moät chöông trình? Caáu truùc chöông trình [<Phaàn khai baùo>] <Phaàn thaân> Caáu truùc chöông trình con <Phaàn ñaàu> [<Phaàn khai baùo>] <Phaàn thaân> Function Luythua(x: Real; k: Integer): Real; Var i: Integer; ltx: Real; Begin ltx:=1; For i:=1 to k do ltx:=ltx*x; Luythua:=ltx; End; Ñöôïc duøng ñeå khai baùo teân chöông trình con, neáu laø haøm thì caàn khai baùo kieåu döõ lieäu cho giaù trò traû veà. Coù theå khai baùo bieán cho döõ lieäu vaøo vaø ra, caùc haèng vaø bieán söû duïng trong chöông trình con. Laø moät daõy leänh
  • 15. 3. Phaân loaïi vaø caáu truùc cuûa chöông trình con CHÖÔNG TRÌNH CON VAØ PHAÂN LOAÏI Program Tong_Luy_thua; Var a, b, c, d, Tong: Real; m, n, p, q: Integer; Function Luythua(x: Real; k: Integer): Real; Var i: Integer; ltx: Real; Begin ltx:=1; For i:=1 to k do ltx:=ltx*x; Luythua:=ltx; End; Begin Write(' Nhap a, b, c, d, m, n, p, q: '); Readln(a, b, c, d, m, n, p, q); Tong:=Luythua(a,m)+Luythua(b,n)+Luythua(c,p)+Luythua(d,q); Write(' Tong luy thua = ',Tong:8:2); Readln End. x: Real; k: Integer Var i: Integer; ltx: Real; Var a, b, c, d, Tong: Real; m, n, p, q: Integer; Ñöôïc khai baùo cho döõ lieäu vaøo/ra vaø goïi laø tham soá hình thöùc Ñöôïc khai baùo, söû duïng trong chöông trình con vaø goïi laø bieán cuïc boä Ñöôïc khai baùo trong chöông trình chính vaø söû duïng trong toaøn boä chöông trình vaø goïi laø bieán toaøn cuïc
  • 16. 3. Phân loại và cấu trúc chương trình con CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI * Moät soá thuaät ngöõ - Tham soá hình thöùc cuûa chöông trình con: Laø caùc bieán ñöôïc khai baùo cho döõ lieäu vaøo/ra. - Bieán cuïc boä: Laø caùc bieán ñöôïc khai baùo, söû duïng trong chöông trình con. - Bieán toaøn cuïc: Laø caùc bieán ñöôïc khai baùo trong chöông trình chính vaø söû duïng trong toaøn boä chöông trình.* Löu yù: Moät chöông trình con coù theå coù hoaëc khoâng coù tham soá hình thöùc, cuõng nhö bieán cuïc boä.
  • 17. Procedure Ve_HCN; Begin Writeln('************************'); Writeln('* *'); Writeln('* *'); Writeln('************************'); End; Begin Ve_HCN; Readln End. Ví duï veà chöông trình con khoâng coù tham soá hình thöùc vaø bieán cuïc boä:
  • 18. 4. Thöïc hieän chöông trình con CHÖÔNG TRÌNH CON VAØ PHAÂN LOAÏI Ñeå thöïc hieän chöông trình con, ta caàn phaûi coù leänh goïi noù töông töï leänh goïi haøm hay thuû tuïc chuaån, bao goàm teân chöông trình con vaø caùc tham soá (neáu coù). Caùc tham soá naøy ñöôïc goïi laø tham soá thöïc söï.
  • 19. 4. Thöïc hieän chöông trình con CHÖÔNG TRÌNH CON VAØ PHAÂN LOAÏI Program Tong_Luy_thua; Var a, b, c, d, Tong: Real; m, n, p, q: Integer; Function Luythua(x: Real; k: Integer): Real; Var i: Integer; ltx: Real; Begin ltx:=1; For i:=1 to k do ltx:=ltx*x; Luythua:=ltx; End; Begin Write(' Nhap a, b, c, d, m, n, p, q: '); Readln(a, b, c, d, m, n, p, q); Tong:=Luythua(a,m)+Luythua(b,n)+Luythua(c,p)+Luythua(d,q); Write(' Tong luy thua = ',Tong:8:2); Readln End. Luythua(a,m) Lôøi goïi chöông trình con Teân chöông trình con Tham soá thöïc söï
  • 20. 4. Thöïc hieän chöông trình con CHÖÔNG TRÌNH CON VAØ PHAÂN LOAÏI Ñeå thöïc hieän chöông trình con, ta caàn phaûi coù leänh goïi noù töông töï leänh goïi haøm hay thuû tuïc chuaån, bao goàm teân chöông trình con vaø caùc tham soá (neáu coù). Caùc tham soá naøy ñöôïc goïi laø tham soá thöïc söï. * Chuù yù: Caùc tham soá thöïc söï vaø tham soá hình thöùc phaûi coù söï töông öùng veà thöù töï vaø kieåu döõ lieäu.
  • 21.  Coù 2 loaïi chöông trình con laø Haøm vaø Thuû tuïc.  Caáu truùc chöông trình con goàm 3 phaàn: Phaàn ñaàu, phaàn khai baùo vaø phaàn thaân.  Caùc thuaät ngöõ: Tham soá hình thöùc, tham soá thöïc söï, bieán cuïc boä, bieán toaøn cuïc.  Ñeå thöïc hieän moät chöông trình con, caàn phaûi coù leänh goïi chöông trình con, bao goàm teân chöông trình con vaø caùc tham soá thöïc söï (neáu coù).