SlideShare a Scribd company logo
Chương VI :
CHƯƠNG TRÌNH CON VÀ LẬP
TRÌNH CÓ CẤU TRÚC
1
Bài 17 : CHƯƠNG TRÌNH CON VÀ
PHÂN LOẠI
• Khái niệm chương trình con.
• Lợi ích của việc sử dụng chương trình con.
Khái niệm chương trình con
• Phân loại.
• Cấu trúc chương trình con.
• Thực hiện chương trình con.
Phân loại và cấu trúc của chương trình con
2
3
Khái niệm chương trình con
Ví dụ : Tính diện tích ngũ giác ABCDE (như hình
vẽ) với các độ dài a, b, c, d, e, f, g.
b
ca
B
C
A
g
e
d
E
f
D
Cách tính
diện tích
ngũ giác
ABCDE
???
Tính diện tích từng
tam giác nhỏ =>
cộng diện tích của
3 tam giác đó lại.
3
b
ca
B
C
A
g
e d
E
f
D
write(‘Nhập cạnh a, b, c: ‘);
readln(a,b,c);
p1 := (a + b + c)/2 ;
dt1 := sqrt(p*(p-a)*(p-b)*(p-c));
write(‘Nhập cạnh f, g: ‘);
readln(f,g);
p3 := (e + f + g)/2 ;
dt3 := sqrt(p*(p-e)*(p-f)*(p-
g));
write(‘Nhập cạnh d, e: ‘);
Readln(d,e);
p2 := (c + d + e)/2 ;
dt 2:= sqrt(p*(p-c)*(p-d)*(p-e));
dt := dt1 + dt2 +dt3;
writeln(‘Diện tích ngũ giác ABCDEFG: ‘, dt);
var a, b, c, p, dt : real;
begin
write(‘Nhap do dai a, b, c: ‘);
readln(a,b,c);
p := (a + b + c)/2;
dt := sqrt(p*(p-a)*(p-b)*(p-c));
end.
4
Tên CTC:
Dientich
Biến: a, b, c
Dientich (a, b, c);Dientich (c, d, e);Dientich (e, f, g);
5
Chương trình hoàn chỉnh
program tinhdientich;
uses crt;
var a, b, c, d, e, f, g, p, dt1, dt2, dt3, dt: real;
begin
write(‘Nhập độ dài các cạnh: ‘);
readln(a, b, c, d, e, f, g);
p1 := (a+b+c)/2;
dt1 := sqrt(p*(p-a)*(p-b)*(p-c));
p2 := (c+d+e)/2;
dt2 := sqrt(p*(p-c)*(p-d)*(p-e));
p1 := (e+f+g)/2;
dt1 := sqrt(p*(p-e)*(p-f)*(p-g));
dt := dt1 + dt2 + dt3;
writeln(‘Diện tích ngũ giác ABCDEFG là: ‘,dt);
readln
end.
5
6
Khái niệm chương trình con
Trong thực tế, các bài toán thường phức tạp, chương trình rất dài
Phân chia bài toán thành các bài
toán con
Dễ đọc, hiệu
chỉnh, nâng cấp
Khó nhận biết
và hiệu chỉnh
Phân chia chương trình thành các khối.Mỗi
khối là một dãy lệnh giải một bài toán con
nào đó. Mỗi khối lệnh xây dựng thành
chương trình con. Sau đó ghép nối các
chương trình con thành chương trình chính.
Khi lập trình
trên máy tính
Chương trình con là
gì?
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ể thực hiện (được gọi) từ nhiều vị trí
trong chương trình.
6
Ví dụ : Tính S= n! + 4n! - 2(n-1)! + (n+2)!
Tại sao bài này sử
dụng chương trình
con ??????
7
Khái niệm chương trình con
Ví dụ : Tính tổng bốn lũy thừa :
Tluythua = an + bm +cp + dq
 Mỗi tổ thảo luận và viết chương trình tính lũy thừa :
 Tổ 1 : tính an .
 Tổ 2 : tính bm .
 Tổ 3 : tính cp .
 Tổ 4 : tính dq .
 Mỗi tổ cử thành viên lên bảng ghi kết quả.
 Thời gian: 3 phút.
7
program tinh_tong;
var TLuythua, 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 + Luythua4;
writeln(‘Tổng lũy thừa = ‘, TLuythua: 8: 4);
readln
end.
8
var j : integer;
Tich := 1.0;
for j := 1 to k do
Tich :=Tich*x;
Tên CTC: Luythua
Biến : x và k
Luythua
(a, n);
Luythua
(b, m);
Luythua
(c, p);
Luythua
(d, q);
9
Lợi ích
chương trình
con
Tránh sự 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ụ cho
quá trình trừu
tượng hóa
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
Tổ chức các
dãy lệnh tương
tự nhau thành
chương trình
con
Chỉ cần gọi
chương trình
con khi cần
Có thể giao cho nhiều
người cùng viết 1 chương
trình, mỗi người viết 1
chương trình con, sau đó
lắp ghép chúng lại thành
chương trình chính
Sử dụng kết quả
được thực hiện bởi
chương trình con mà
không quan tâm đến
cài đặt
Việc thiết kế chương
trình con rất cần
thiết, mở rộng khả
năng ứng dụng ngôn
ngữ
Dễ đọc, dễ hiểu, dễ
kiểm tra, hiệu chỉnh
và không ảnh hưởng
đến các chương
trình con khác
9
Hàm
Thủ
tục
Cho một số hàm và thủ tục chuẩn
sau:length(x),copy(s,vt,n), Writeln, pos(s1,s2),
Delete(st,vt,n), Sin(x), readln, sqrt(x),
insert(s1,s2,vt)...
Sin(x),sqrt(x),
pos(s1,s2),
length(x),copy(s,vt,n)
...
Writeln,readln và
Delete(st,vt,n),
insert(s1,s2,vt)...
2.Phân Loại Chương Trình Con
10
11
TÍNH DIỆN TÍCH CỦA 1
TAM GIÁC
Function Dientich( a, b, c:
integer ) : real;
Var dt,p : real;
Begin
p := (a+b+c)/2;
dt := sqrt(p* (p-a)*(p-b)*(p-c));
Dientich := dt;
End;
- Có kết quả trả về là một số thực .
Vậy các em cho biết hàm có đặc
điểm gì ?(hay hàm là gì ?).
Là chương trình con
Thực
hiện
một số
thao
tác nào
đó.
Trả lại giá trị qua
tên của hàm
Hàm
(function)
12
13
Xét thủ tục Writeln:
Writeln(‘‘độ dài các cạnh’’)
Thủ tục Writeln(” độ dài các cạnh’’) làm gì ? cho kết
quả là gì ? có trả về giá trị nào không ?.
-Dùng để đưa kết quả ra màn hình
-Cho kết quả xuất trên màn hình dòng chữ “ độ dài
các cạnh”.
-Không trả về giá trị nào cả.
XUẤT RA CÁC KÝ TỰ
PROCEDURE xuatkitu(k:
integer, ky_tu:char);
Var i: integer;
Begin
For i:=1 to k do
Writeln(ky_tu);
End;
- Kết quả trả về không phải là một
giá trị.
14
Vậy các em cho biết thủ tục có đặc điểm
gì ?
(hay thủ tục là gì ?).
Thủ tục
(procedure)
Là chương trình con
Thực hiện một số thao tác nào đó
Không trả về một giá trị qua tên
của nó
CẤU TRÚC CỦA CHƯƠNG
TRÌNH CON
15
<Phần đầu>
[<Phần khai báo >]
<Phần thân >
khai báo tên của chương trình con,
nếu là hàm phải khai báo kiểu dữ
liệu trả về của hàm
khai báo biến cho dữ liệu vào và ra,
các hằng và biến dùng trong chương
trình con
dãy câu lệnh
Ghép thành câu thích hợp
<Phần đầu>
[<Phần khai báo >]
<Phần thân >
khai báo tên của chương trình con,
nếu là hàm phải khai báo kiểu dữ
liệu trả về của hàm
khai báo biến cho dữ liệu vào và ra,
các hằng và biến dùng trong chương
trình con
dãy câu lệnh
ĐÁP ÁN:
17
Ví dụ:
Function Dientich( a, b, c:Integer ) : Real;
Var dt,p : Real;
Begin
p := (a+b+c)/2;
dt := sqrt(p* (p-a)*(p-b)*(p-c));
Dientich := dt;
End;
<Phần đầu> [<Phần khai
báo>]
<Phần thân>
18
<Phần đầu>
[<Phần khai báo>]
<Phần thân>
[<Phần khai báo>]
<Phần thân>
Vậy sự khác nhau của 2 cấu trúc trên là
gì???
19
Chương trình con nhất thiết phải có tên và
phần đầu để khai báo tên, nếu là hàm thì phải
khai báo kiểu dữ liệu cho giá trị trả về của hàm
Cấu trúc của chương trình con
20
Program TinhDT;
Uses crt;
Var a, b, c : real;
Function Dientich( a, b, c: integer ) : real;
Var dt,p : real;
Begin
p := (a+b+c)/2;
dt := sqrt(p* (p-a)*(p-b)*(p-c));
Dientich := dt;
End;
Begin
writeln(‘Nhap vao do dai 3 canh’);
readln(a,b,c);
writeln(Dientich(a,b,c));
writeln(Dientich(10,6,5));
Readln
End.
?
21
Var a, b, c : real;
Var dt,p : real;
BIẾN TOÀN CỤC
BIẾN CỤC BỘ
Khai báo ở đầu
chương trình chính
Tồn tại suốt CT, ảnh
hưởng toàn bộ CT
Khai báo trong
chương trình con
Hình thành khi gọi CTC và
biến mất khi CTC kết thúc
22
THỰC HIỆN CHƯƠNG TRÌNH CON
Lệnh gọi chương trình con
Tên chương trình con([thamso]);
Dientich(4,7,5);
Tên CTC Tham số
24
THAM SỐ HÌNH
THỨC
Các biến được khai
báo cho dữ liệu vào/
ra
THAM SỐ THỰC
SỰ
Hằng và biến chứa
DL vào ra tương ứng
với TSHT đặc trong
cặp dấu ().
23
25

More Related Content

What's hot

Bai 17
Bai 17Bai 17
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
 
Bai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocBai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocHồ Lợi
 
Bai tap lam quen java
Bai tap lam quen javaBai tap lam quen java
Bai tap lam quen javaTuấn Bùi
 
Bai tapktlt phan1
Bai tapktlt phan1Bai tapktlt phan1
Bai tapktlt phan1
Minh Ngoc Tran
 
Ctdl C04
Ctdl C04Ctdl C04
Ctdl C04giang
 
Bai tap-pascal-lop-11
Bai tap-pascal-lop-11Bai tap-pascal-lop-11
Bai tap-pascal-lop-11
sonnqsp
 
Bài tập ôn lập trình
Bài tập ôn lập trìnhBài tập ôn lập trình
Bài tập ôn lập trình
Thai Hoc Vu
 
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
 
Ctdl C02
Ctdl C02Ctdl C02
Ctdl C02giang
 
Bài 18 tin hoc 11
Bài 18 tin hoc 11Bài 18 tin hoc 11
Bài 18 tin hoc 11HaBaoChau
 
Bai 18 tiet 1
Bai 18  tiet 1Bai 18  tiet 1
Bai 18 tiet 1
Hiếu Hồ Minh
 
Tai liệu thuyết trình môn khai phá dữ liệu
Tai liệu thuyết trình môn khai phá dữ liệuTai liệu thuyết trình môn khai phá dữ liệu
Tai liệu thuyết trình môn khai phá dữ liệu
freeloadtailieu
 
Tai lieu boi duong tin 8
Tai lieu boi duong tin 8Tai lieu boi duong tin 8
Tai lieu boi duong tin 8
lethilien1993
 
K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11Tin5VungTau
 

What's hot (20)

Tn ktlt
Tn ktltTn ktlt
Tn ktlt
 
Bai 17
Bai 17Bai 17
Bai 17
 
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
 
Ktlt lab full
Ktlt lab fullKtlt lab full
Ktlt lab full
 
Bai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocBai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hoc
 
Bai tap lam quen java
Bai tap lam quen javaBai tap lam quen java
Bai tap lam quen java
 
Bai 11 kieu mang (tiet 1)
Bai 11 kieu mang (tiet 1)Bai 11 kieu mang (tiet 1)
Bai 11 kieu mang (tiet 1)
 
Bai tapktlt phan1
Bai tapktlt phan1Bai tapktlt phan1
Bai tapktlt phan1
 
Ctdl C04
Ctdl C04Ctdl C04
Ctdl C04
 
Bai tap-pascal-lop-11
Bai tap-pascal-lop-11Bai tap-pascal-lop-11
Bai tap-pascal-lop-11
 
Bài tập ôn lập trình
Bài tập ôn lập trìnhBài tập ôn lập trình
Bài tập ôn lập trình
 
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
 
Ctdl C02
Ctdl C02Ctdl C02
Ctdl C02
 
Bài 18 tin hoc 11
Bài 18 tin hoc 11Bài 18 tin hoc 11
Bài 18 tin hoc 11
 
Tut5 solution
Tut5 solutionTut5 solution
Tut5 solution
 
Bai 18 tiet 1
Bai 18  tiet 1Bai 18  tiet 1
Bai 18 tiet 1
 
Tai liệu thuyết trình môn khai phá dữ liệu
Tai liệu thuyết trình môn khai phá dữ liệuTai liệu thuyết trình môn khai phá dữ liệu
Tai liệu thuyết trình môn khai phá dữ liệu
 
Tai lieu boi duong tin 8
Tai lieu boi duong tin 8Tai lieu boi duong tin 8
Tai lieu boi duong tin 8
 
Tut6 solution
Tut6 solutionTut6 solution
Tut6 solution
 
K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11
 

Similar to Chương Trình 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 11Bich Tuyen
 
Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Bài tập CTDL và GT 4
Bài tập CTDL và GT 4
Hồ Lợi
 
KIỂM TRA 1 TIẾT
KIỂM TRA 1 TIẾTKIỂM TRA 1 TIẾT
KIỂM TRA 1 TIẾT
Phụng Lâm Thanh
 
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
ThaiPham97
 
Bai tap c.doc (đã phục hồi)
Bai tap c.doc (đã phục hồi)Bai tap c.doc (đã phục hồi)
Bai tap c.doc (đã phục hồi)Kieu Anh Nguyen
 
Bai giang bai19
Bai giang bai19Bai giang bai19
Bai giang bai19
Hiếu Hồ Minh
 
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
 
Nmlt c06 ham_in
Nmlt c06 ham_inNmlt c06 ham_in
Nmlt c06 ham_in
Huy Nguyễn
 
giao trinh c++ Chuong1
giao trinh c++ Chuong1giao trinh c++ Chuong1
giao trinh c++ Chuong1Bễ Nguyễn
 
Sang tao4
Sang tao4Sang tao4
Sang tao4hieusui
 
Session 4
Session 4Session 4
Session 4
pnanhvn
 
Nmlt c06 ham
Nmlt c06 hamNmlt c06 ham
Nmlt c06 ham
Minh Ngoc Tran
 
Lập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiểnLập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiển
Mr Giap
 

Similar to Chương Trình Con (20)

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
 
Bai 18
Bai 18Bai 18
Bai 18
 
Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Bài tập CTDL và GT 4
Bài tập CTDL và GT 4
 
KIỂM TRA 1 TIẾT
KIỂM TRA 1 TIẾTKIỂM TRA 1 TIẾT
KIỂM TRA 1 TIẾT
 
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
 
Bai tap mau pascal
Bai tap mau pascalBai tap mau pascal
Bai tap mau pascal
 
Bai tap c.doc (đã phục hồi)
Bai tap c.doc (đã phục hồi)Bai tap c.doc (đã phục hồi)
Bai tap c.doc (đã phục hồi)
 
Bai giang bai19
Bai giang bai19Bai giang bai19
Bai giang bai19
 
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
 
Nmlt c06 ham_in
Nmlt c06 ham_inNmlt c06 ham_in
Nmlt c06 ham_in
 
Tin11
Tin11Tin11
Tin11
 
giao trinh c++ Chuong1
giao trinh c++ Chuong1giao trinh c++ Chuong1
giao trinh c++ Chuong1
 
Bai tap thuc hanh
Bai tap thuc hanhBai tap thuc hanh
Bai tap thuc hanh
 
344444
344444344444
344444
 
Ontap ltc
Ontap ltcOntap ltc
Ontap ltc
 
Sang tao4
Sang tao4Sang tao4
Sang tao4
 
Session 4
Session 4Session 4
Session 4
 
Nmlt c06 ham
Nmlt c06 hamNmlt c06 ham
Nmlt c06 ham
 
Ctdl lab01
Ctdl lab01Ctdl lab01
Ctdl lab01
 
Lập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiểnLập trình C cơ bản cho vi điều khiển
Lập trình C cơ bản cho vi điều khiển
 

Recently uploaded

LỊCH SỬ 12 - CHUYÊN ĐỀ 10 - TRẮC NGHIỆM.pptx
LỊCH SỬ 12 - CHUYÊN ĐỀ 10 - TRẮC NGHIỆM.pptxLỊCH SỬ 12 - CHUYÊN ĐỀ 10 - TRẮC NGHIỆM.pptx
LỊCH SỬ 12 - CHUYÊN ĐỀ 10 - TRẮC NGHIỆM.pptx
12D241NguynPhmMaiTra
 
Giải phẫu tim sau đại học- LÊ QUANG TUYỀN
Giải phẫu tim sau đại học- LÊ QUANG TUYỀNGiải phẫu tim sau đại học- LÊ QUANG TUYỀN
Giải phẫu tim sau đại học- LÊ QUANG TUYỀN
linh miu
 
40 câu hỏi - đáp Bộ luật dân sự năm 2015 (1).doc
40 câu hỏi - đáp Bộ  luật dân sự năm  2015 (1).doc40 câu hỏi - đáp Bộ  luật dân sự năm  2015 (1).doc
40 câu hỏi - đáp Bộ luật dân sự năm 2015 (1).doc
NguynDimQunh33
 
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.pptChương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
PhiTrnHngRui
 
FSSC 22000 version 6_Seminar_FINAL end.pptx
FSSC 22000 version 6_Seminar_FINAL end.pptxFSSC 22000 version 6_Seminar_FINAL end.pptx
FSSC 22000 version 6_Seminar_FINAL end.pptx
deviv80273
 
insulin cho benh nhan nam vien co tang duong huyet
insulin cho benh nhan nam vien co tang duong huyetinsulin cho benh nhan nam vien co tang duong huyet
insulin cho benh nhan nam vien co tang duong huyet
lmhong80
 
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdfTHONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
QucHHunhnh
 
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docxVăn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
metamngoc123
 
PLĐC-chương 1 (1).ppt của trường ĐH Ngoại thương
PLĐC-chương 1 (1).ppt của trường  ĐH Ngoại thươngPLĐC-chương 1 (1).ppt của trường  ĐH Ngoại thương
PLĐC-chương 1 (1).ppt của trường ĐH Ngoại thương
hieutrinhvan27052005
 
Halloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary schoolHalloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary school
AnhPhm265031
 
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsgSinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
vivan030207
 
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
Nguyen Thanh Tu Collection
 
Quan Tri Doi Moi Sang Tao_ Innovation Management
Quan Tri Doi Moi Sang Tao_ Innovation ManagementQuan Tri Doi Moi Sang Tao_ Innovation Management
Quan Tri Doi Moi Sang Tao_ Innovation Management
ChuPhan32
 
Ngân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô HàNgân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô Hà
onLongV
 
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
Nguyen Thanh Tu Collection
 
Smartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024juneSmartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024june
SmartBiz
 
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang ThiềuBiểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
lamluanvan.net Viết thuê luận văn
 
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
khanhthy3000
 

Recently uploaded (18)

LỊCH SỬ 12 - CHUYÊN ĐỀ 10 - TRẮC NGHIỆM.pptx
LỊCH SỬ 12 - CHUYÊN ĐỀ 10 - TRẮC NGHIỆM.pptxLỊCH SỬ 12 - CHUYÊN ĐỀ 10 - TRẮC NGHIỆM.pptx
LỊCH SỬ 12 - CHUYÊN ĐỀ 10 - TRẮC NGHIỆM.pptx
 
Giải phẫu tim sau đại học- LÊ QUANG TUYỀN
Giải phẫu tim sau đại học- LÊ QUANG TUYỀNGiải phẫu tim sau đại học- LÊ QUANG TUYỀN
Giải phẫu tim sau đại học- LÊ QUANG TUYỀN
 
40 câu hỏi - đáp Bộ luật dân sự năm 2015 (1).doc
40 câu hỏi - đáp Bộ  luật dân sự năm  2015 (1).doc40 câu hỏi - đáp Bộ  luật dân sự năm  2015 (1).doc
40 câu hỏi - đáp Bộ luật dân sự năm 2015 (1).doc
 
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.pptChương 3 Linh kien ban dan và KD dien tu - Copy.ppt
Chương 3 Linh kien ban dan và KD dien tu - Copy.ppt
 
FSSC 22000 version 6_Seminar_FINAL end.pptx
FSSC 22000 version 6_Seminar_FINAL end.pptxFSSC 22000 version 6_Seminar_FINAL end.pptx
FSSC 22000 version 6_Seminar_FINAL end.pptx
 
insulin cho benh nhan nam vien co tang duong huyet
insulin cho benh nhan nam vien co tang duong huyetinsulin cho benh nhan nam vien co tang duong huyet
insulin cho benh nhan nam vien co tang duong huyet
 
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdfTHONG BAO nop ho so xet tuyen TS6 24-25.pdf
THONG BAO nop ho so xet tuyen TS6 24-25.pdf
 
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docxVăn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
Văn 7. Truyện ngụ ngôn Rùa và thỏ+ Viết PT nhân vật.docx
 
PLĐC-chương 1 (1).ppt của trường ĐH Ngoại thương
PLĐC-chương 1 (1).ppt của trường  ĐH Ngoại thươngPLĐC-chương 1 (1).ppt của trường  ĐH Ngoại thương
PLĐC-chương 1 (1).ppt của trường ĐH Ngoại thương
 
Halloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary schoolHalloween vocabulary for kids in primary school
Halloween vocabulary for kids in primary school
 
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsgSinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
Sinh-12-Chuyên-2022-2023.dành cho ôn thi hsg
 
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
CHUYÊN ĐỀ DẠY THÊM HÓA HỌC LỚP 10 - SÁCH MỚI - FORM BÀI TẬP 2025 (DÙNG CHUNG ...
 
Quan Tri Doi Moi Sang Tao_ Innovation Management
Quan Tri Doi Moi Sang Tao_ Innovation ManagementQuan Tri Doi Moi Sang Tao_ Innovation Management
Quan Tri Doi Moi Sang Tao_ Innovation Management
 
Ngân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô HàNgân hàng điện tử số ptit - giảng viên cô Hà
Ngân hàng điện tử số ptit - giảng viên cô Hà
 
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD 9 CẢ NĂM CÓ TEST THEO UNIT NĂM H...
 
Smartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024juneSmartbiz_He thong MES nganh may mac_2024june
Smartbiz_He thong MES nganh may mac_2024june
 
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang ThiềuBiểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
Biểu tượng trăng và bầu trời trong tác phẩm của Nguyễn Quang Thiều
 
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
100 DẪN CHỨNG NGHỊ LUẬN XÃ HỘiI HAY.docx
 

Chương Trình Con

  • 1. Chương VI : CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC 1
  • 2. Bài 17 : CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI • Khái niệm chương trình con. • Lợi ích của việc sử dụng chương trình con. Khái niệm chương trình con • Phân loại. • Cấu trúc chương trình con. • Thực hiện chương trình con. Phân loại và cấu trúc của chương trình con 2
  • 3. 3 Khái niệm chương trình con Ví dụ : Tính diện tích ngũ giác ABCDE (như hình vẽ) với các độ dài a, b, c, d, e, f, g. b ca B C A g e d E f D Cách tính diện tích ngũ giác ABCDE ??? Tính diện tích từng tam giác nhỏ => cộng diện tích của 3 tam giác đó lại. 3
  • 4. b ca B C A g e d E f D write(‘Nhập cạnh a, b, c: ‘); readln(a,b,c); p1 := (a + b + c)/2 ; dt1 := sqrt(p*(p-a)*(p-b)*(p-c)); write(‘Nhập cạnh f, g: ‘); readln(f,g); p3 := (e + f + g)/2 ; dt3 := sqrt(p*(p-e)*(p-f)*(p- g)); write(‘Nhập cạnh d, e: ‘); Readln(d,e); p2 := (c + d + e)/2 ; dt 2:= sqrt(p*(p-c)*(p-d)*(p-e)); dt := dt1 + dt2 +dt3; writeln(‘Diện tích ngũ giác ABCDEFG: ‘, dt); var a, b, c, p, dt : real; begin write(‘Nhap do dai a, b, c: ‘); readln(a,b,c); p := (a + b + c)/2; dt := sqrt(p*(p-a)*(p-b)*(p-c)); end. 4 Tên CTC: Dientich Biến: a, b, c Dientich (a, b, c);Dientich (c, d, e);Dientich (e, f, g);
  • 5. 5 Chương trình hoàn chỉnh program tinhdientich; uses crt; var a, b, c, d, e, f, g, p, dt1, dt2, dt3, dt: real; begin write(‘Nhập độ dài các cạnh: ‘); readln(a, b, c, d, e, f, g); p1 := (a+b+c)/2; dt1 := sqrt(p*(p-a)*(p-b)*(p-c)); p2 := (c+d+e)/2; dt2 := sqrt(p*(p-c)*(p-d)*(p-e)); p1 := (e+f+g)/2; dt1 := sqrt(p*(p-e)*(p-f)*(p-g)); dt := dt1 + dt2 + dt3; writeln(‘Diện tích ngũ giác ABCDEFG là: ‘,dt); readln end. 5
  • 6. 6 Khái niệm chương trình con Trong thực tế, các bài toán thường phức tạp, chương trình rất dài Phân chia bài toán thành các bài toán con Dễ đọc, hiệu chỉnh, nâng cấp Khó nhận biết và hiệu chỉnh Phân chia chương trình thành các khối.Mỗi khối là một dãy lệnh giải một bài toán con nào đó. Mỗi khối lệnh xây dựng thành chương trình con. Sau đó ghép nối các chương trình con thành chương trình chính. Khi lập trình trên máy tính Chương trình con là gì? 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ể thực hiện (được gọi) từ nhiều vị trí trong chương trình. 6 Ví dụ : Tính S= n! + 4n! - 2(n-1)! + (n+2)! Tại sao bài này sử dụng chương trình con ??????
  • 7. 7 Khái niệm chương trình con Ví dụ : Tính tổng bốn lũy thừa : Tluythua = an + bm +cp + dq  Mỗi tổ thảo luận và viết chương trình tính lũy thừa :  Tổ 1 : tính an .  Tổ 2 : tính bm .  Tổ 3 : tính cp .  Tổ 4 : tính dq .  Mỗi tổ cử thành viên lên bảng ghi kết quả.  Thời gian: 3 phút. 7
  • 8. program tinh_tong; var TLuythua, 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 + Luythua4; writeln(‘Tổng lũy thừa = ‘, TLuythua: 8: 4); readln end. 8 var j : integer; Tich := 1.0; for j := 1 to k do Tich :=Tich*x; Tên CTC: Luythua Biến : x và k Luythua (a, n); Luythua (b, m); Luythua (c, p); Luythua (d, q);
  • 9. 9 Lợi ích chương trình con Tránh sự 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ụ cho quá trình trừu tượng hóa 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 Tổ chức các dãy lệnh tương tự nhau thành chương trình con Chỉ cần gọi chương trình con khi cần Có thể giao cho nhiều người cùng viết 1 chương trình, mỗi người viết 1 chương trình con, sau đó lắp ghép chúng lại thành chương trình chính Sử dụng kết quả được thực hiện bởi chương trình con mà không quan tâm đến cài đặt Việc thiết kế chương trình con rất cần thiết, mở rộng khả năng ứng dụng ngôn ngữ Dễ đọc, dễ hiểu, dễ kiểm tra, hiệu chỉnh và không ảnh hưởng đến các chương trình con khác 9
  • 10. Hàm Thủ tục Cho một số hàm và thủ tục chuẩn sau:length(x),copy(s,vt,n), Writeln, pos(s1,s2), Delete(st,vt,n), Sin(x), readln, sqrt(x), insert(s1,s2,vt)... Sin(x),sqrt(x), pos(s1,s2), length(x),copy(s,vt,n) ... Writeln,readln và Delete(st,vt,n), insert(s1,s2,vt)... 2.Phân Loại Chương Trình Con 10
  • 11. 11 TÍNH DIỆN TÍCH CỦA 1 TAM GIÁC Function Dientich( a, b, c: integer ) : real; Var dt,p : real; Begin p := (a+b+c)/2; dt := sqrt(p* (p-a)*(p-b)*(p-c)); Dientich := dt; End; - Có kết quả trả về là một số thực .
  • 12. Vậy các em cho biết hàm có đặc điểm gì ?(hay hàm là gì ?). Là chương trình con Thực hiện một số thao tác nào đó. Trả lại giá trị qua tên của hàm Hàm (function) 12
  • 13. 13 Xét thủ tục Writeln: Writeln(‘‘độ dài các cạnh’’) Thủ tục Writeln(” độ dài các cạnh’’) làm gì ? cho kết quả là gì ? có trả về giá trị nào không ?. -Dùng để đưa kết quả ra màn hình -Cho kết quả xuất trên màn hình dòng chữ “ độ dài các cạnh”. -Không trả về giá trị nào cả. XUẤT RA CÁC KÝ TỰ PROCEDURE xuatkitu(k: integer, ky_tu:char); Var i: integer; Begin For i:=1 to k do Writeln(ky_tu); End; - Kết quả trả về không phải là một giá trị.
  • 14. 14 Vậy các em cho biết thủ tục có đặc điểm gì ? (hay thủ tục là gì ?). Thủ tục (procedure) Là chương trình con Thực hiện một số thao tác nào đó Không trả về một giá trị qua tên của nó
  • 15. CẤU TRÚC CỦA CHƯƠNG TRÌNH CON 15
  • 16. <Phần đầu> [<Phần khai báo >] <Phần thân > khai báo tên của chương trình con, nếu là hàm phải khai báo kiểu dữ liệu trả về của hàm khai báo biến cho dữ liệu vào và ra, các hằng và biến dùng trong chương trình con dãy câu lệnh Ghép thành câu thích hợp
  • 17. <Phần đầu> [<Phần khai báo >] <Phần thân > khai báo tên của chương trình con, nếu là hàm phải khai báo kiểu dữ liệu trả về của hàm khai báo biến cho dữ liệu vào và ra, các hằng và biến dùng trong chương trình con dãy câu lệnh ĐÁP ÁN: 17
  • 18. Ví dụ: Function Dientich( a, b, c:Integer ) : Real; Var dt,p : Real; Begin p := (a+b+c)/2; dt := sqrt(p* (p-a)*(p-b)*(p-c)); Dientich := dt; End; <Phần đầu> [<Phần khai báo>] <Phần thân> 18
  • 19. <Phần đầu> [<Phần khai báo>] <Phần thân> [<Phần khai báo>] <Phần thân> Vậy sự khác nhau của 2 cấu trúc trên là gì??? 19
  • 20. Chương trình con nhất thiết phải có tên và phần đầu để khai báo tên, nếu là hàm thì phải khai báo kiểu dữ liệu cho giá trị trả về của hàm Cấu trúc của chương trình con 20
  • 21. Program TinhDT; Uses crt; Var a, b, c : real; Function Dientich( a, b, c: integer ) : real; Var dt,p : real; Begin p := (a+b+c)/2; dt := sqrt(p* (p-a)*(p-b)*(p-c)); Dientich := dt; End; Begin writeln(‘Nhap vao do dai 3 canh’); readln(a,b,c); writeln(Dientich(a,b,c)); writeln(Dientich(10,6,5)); Readln End. ? 21
  • 22. Var a, b, c : real; Var dt,p : real; BIẾN TOÀN CỤC BIẾN CỤC BỘ Khai báo ở đầu chương trình chính Tồn tại suốt CT, ảnh hưởng toàn bộ CT Khai báo trong chương trình con Hình thành khi gọi CTC và biến mất khi CTC kết thúc 22
  • 23. THỰC HIỆN CHƯƠNG TRÌNH CON Lệnh gọi chương trình con Tên chương trình con([thamso]); Dientich(4,7,5); Tên CTC Tham số 24
  • 24. THAM SỐ HÌNH THỨC Các biến được khai báo cho dữ liệu vào/ ra THAM SỐ THỰC SỰ Hằng và biến chứa DL vào ra tương ứng với TSHT đặc trong cặp dấu (). 23
  • 25. 25