Để viết chương trình giải các bài toán lớn, phức tạp người lập trình có thể chia thành nhiều bài toán nhỏ, mỗi bài toán là một dãy lệnh mô tả một số thao tác nhất định gọi là ctc.. Có th
Trang 2B i 17 ài 17
Trang 3Để viết chương trình giải các bài toán lớn, phức tạp người lập trình có thể chia thành nhiều bài toán nhỏ, mỗi bài toán
là một dãy lệnh mô tả một số thao tác nhất định (gọi là ctc).
Sau đó ghép nối các chương trình con thành chương trình chính
Nhóm trưởng
Việc A
Vi c Bệc B
1 Chương trình con
Trang 4Có thể sử dụng chương trình con khi
lập trình giải các bài toán sau không?
Chương trình con đó thực hiện thao tác nào?
Chucmung(ten);
Trang 5Bài2: Nhập vào 2 số nguyên a,b
Tính ước chung lớn nhất và bội chung nhỏ nhất của 2 số này?
Có thể sử dụng chương trình con khi
lập trình giải các bài toán sau không?
Chương trình con đó thực hiện thao tác nào?
UCLN(x,y)
Trang 6Bài 3: Tính độ dài 3 cạnh của tam giác khi biết toạ độ các đỉnh
Có thể sử dụng chương trình con khi
lập trình giải các bài toán sau không?
Chương trình con đó thực hiện thao tác nào?
Dodai(x,y);
Trang 72 Phân loại và cấu trúc của chương trình con
Chương trình con
.
Là chương trình con
Thực hiện một số thao tác nào đó
Trả về một giá trị qua tên của nó.
Là chương trình con
Thực hiện một số thao tác nào đó
Kh ông trả về giá trị qua tên của nó.
Trang 8b CẤU TRÚC CỦA CHƯƠNG TRèNH CON
-Phần đầu: Bắt buộc phải có, dùng để khai báo tên ch ơng
trình con, biến cho dữ liệu vào ra, nếu là hàm phải khai báo giá trị trả lại của hàm.
- Phần khai báo: Khai báo các hằng và biến dùng trong ch
ơng trình con.
- Phần thân: Dãy các lệnh thực hiện nhiệm vụ của ch ơng trình
con.
Trang 9b CẤU TRÚC CỦA CHƯƠNG TRÌNH CON
Begin
[<Dãy các lệnh>]
End;
Hàm (Function) Thủ tục (Procedure)
Trang 10Procedure Hoan_doi(Var x,y:integer);
Trang 11Procedure Ve_HCN( chdai,chrong:integer);
Var i,j: integer;
Trang 12Program VD;
Uses crt;
var a,b: integer;
Procedure Hoan_doi(Var x,y:integer);
Trang 13Program VD;
Uses crt;
var a,b: byte;
Procedure Ve_HCN ( chdai,chrong:integer);
Var i,j: integer;
Begin
For i:=1 to chdai do write(‘ * ’);
Writeln;
For j:=1 to chrong-2 do begin
Tham sè h×nh thøc BiÕn toµn côc
Trang 14c Thực hiện chương trình con
Lập chương trình tối giản phân số
Lập chương trình tối giản phân số
Ví dụ: nhập 6/10 => ra 3/5
* INPUT : Nhập phân số a/b;
* OUTPUT : Phân số c/d - Trong đó: c = a/ ƯCLN (a,b) ;
d = b/ ƯCLN(a,b) ;
Viết chương trình con thực hiện tìm ƯCLN(a,b) và gọi nó khi tính c,d trong chương trình chính
Trang 15Program tgps;
Uses crt;
Var tu,mau,c,d : integer;
Function UCLN( a,b :integer) : integer;
Begin While a<> b do
if a>b then a := a-b else b:=b-a;
UCLN := a;
end;
BEGIN
Write( Nhap vao tu so vµ mau so: ); readln(tu,mau);‘ Nhap vao tu so vµ mau so:’); readln(tu,mau); ’); readln(tu,mau);
C := tu div UCLN(tu,mau) ; d := mau div UCLN(tu,mau);
Writeln( Phan so toi gian = , c, / , d);‘ Nhap vao tu so vµ mau so:’); readln(tu,mau); ’); readln(tu,mau); ‘ Nhap vao tu so vµ mau so:’); readln(tu,mau); ’); readln(tu,mau);
Readln;
END
Write( Nhap vao tu so va mau so: );‘Nhap vao tu so va mau so:’); ’);
C := 6 div UCLN(6,10) d := 10 div UCLN(6,10);
Writeln( Phan so toi gian = , 3, / , 5);‘ Nhap vao tu so vµ mau so:’); readln(tu,mau); ’); readln(tu,mau); ‘ Nhap vao tu so vµ mau so:’); readln(tu,mau); ’); readln(tu,mau);
Trang 16Program tong_luy_thua;
Uses crt;
Var a,b,c,d,S : real;
n,m,p,q :integer;
Function luythua (x: real,k:integer): real;
Var j: integer; Lt:Real;
Write(‘ Nhap vao cac co so a,b,c,d ‘); readln(a,b,c,d);
write(‘ Nhap vao cac so mu m,n,p,q: ’); readln(n,m,p,q);
s:= luythua(a,m)+luythua(b,n)+luythua(c,p)+luythua(d,q);
Writeln(‘ Tong luy thua =’, S:7:2);
Readln;
END.
Trang 17• BiÕn ® îc khai b¸o ë trong
CTC chØ cã t¸c dông trong CTC gäi lµ biÕn côc bé
• BiÕn khai b¸o ë CT chÝnh
cã t¸c dông ë mäi ch ¬ng tr×nh gäi lµ biÕn toµn côc.
• BiÕn ® îc khai b¸o cho d÷
liÖu vµo/ra ë CTC gäi lµ
tham sè h×nh thøc
• BiÕn chøa trong lêi gäi
CTC ë ch ¬ng tr×nh chÝnh lµ
tham sè thùc sù
Trang 18Hãy nhớ!
Chương trình con là một dãy
lệnh giải quyết một bài toán con cụ thể.
Trang 19- BiÕn khai b¸o cho d÷ liÖu vµo
ra trong ch ¬ng tr×nh con gäi lµ
tham sè h×nh thøc
- BiÕn chøa trong lêi gäi CTC ë
ch ¬ng tr×nh chÝnh lµ c¸c tham
sè thùc sù.
Trang 20Trß ch¬i
Trang 21C©u hái 1
Home
Sự khác biệt cơ bản giữa hàm và thủ tục ?
Hµm tr¶ vÒ mét gi¸ trÞ, Thñ tôc kh«ng tr¶ vÒ gi¸ trÞ
§¸p ¸n
1
HÕt giê
10s
Trang 2210s
Trang 2310s
Trang 2410s
Trang 2510s
Trang 26C©u hái 6
BiÕn khai b¸o trong ch ¬ng tr×nh chÝnh lµ?
A biÕn toµn côc
10s