Tải bản đầy đủ (.ppt) (27 trang)

giáo án bài 17 tiết 2

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 (948.03 KB, 27 trang )


B ài
17


1. Chương trình con
Để 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.
Việ
cA

Vi ệc B

Nhóm
trưởng


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?

Bài 1: In ra màn hình 5 dòng chữ
‘Chúc mừng bạn Chinh đạt điểm tốt’
‘Chúc mừng bạn Như đạt điểm tốt’
‘Chúc mừng bạn Việt đạt điểm tốt’
‘Chúc mừng bạn Vân đạt điểm tốt’
‘Chúc mừng bạn Hương đạt điểm tốt’
Chucmung(ten);




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?

Bà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?
UCLN(x,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?

Bài 3: Tính độ dài 3 cạnh của tam giác khi biết
toạ độ các đỉnh
Dodai(x,y);


2. Phân loại và cấu trúc của chương trình con
Chương trình
trìnhcon
con
Chương
Hàm
Hàm(Function)
(Function)


Thủ
Thủtục
tục (Procedure)
(Procedure)

Là chương trình con

Là chương trình con

Thực hiện một số thao tác nào đó

Thực hiện một số thao tác nào đó

Trả về một giá trị qua tên của nó.

Không trả về giá trị qua tên của nó.

VD:
- Hàm toán học sin(x),
sqrt(x), abs(x),...
- Length(x)

VD:
-Writeln,
.
Write, readln, read,
- copy(s, vt, n),
insert(s1,s2,vt)



b. CU TRC CA CHNG TRèNH CON
<Phn u>
u>
khai bỏo>
bỏo>
Phn thõn>
thõn>
<< Phn
-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.


b. CẤU TRÚC CỦA CHƯƠNG TRÌNH CON
<Phần đầu>
đầu>
khai báo>
báo>
Phần thân>
thân>

<< Phần
Hàm (Function)
Function <Tên hàm>[(
Thủ tục (Procedure)
Procedure <tên thủ tục> [(số>)];

số>)] :kiểu của hàm;
[< Phần khai bao >]

[< Phần khai báo >]
Begin

Begin
[<Dãy các lệnh>]

[<Dãy các lệnh>]
tênhàm := giátrị;
End;

End;


b. CẤU TRÚC CỦA CHƯƠNG TRÌNH CON
PhÇn ®Çu
Procedure Hoan_doi(Var x,y:integer);
Var TG: integer;

PhÇn khai b¸o


Begin
TG:= x;
x:= y;
y:=TG;
end;

PhÇn th©n


b. CẤU TRÚC CỦA CHƯƠNG TRÌNH CON
PhÇn ®Çu
Procedure Ve_HCN( chdai,chrong:integer);
Var i,j: integer;

PhÇn khai b¸o

Begin
For i:=1 to chdai do write(‘ * ’);
PhÇn th©n
Writeln;
For j:=1 to chrong-2 do
begin
write(‘ * ’);
for i:=1 to chdai-2 do write(‘ ‘);
writeln(‘ * ’);
end;
end;



Program VD;
Uses crt;
var a,b: integer;

BiÕn toµn côc
BiÕn côc bé

Tham sè h×nh
thøc biÕn

Procedure Hoan_doi(Var x,y:integer);
Var TG: integer;
Begin
TG:= x;
x:= y;
y:=TG;
end;
BEGIN
CLRSCR;
a:= 5 ; b:= 10;
Writeln( a:6 , b:6);
Hoan_doi(a,b);
Writeln( a:6 , b:6);
readln;
END.

Tham sè thùc sù


Program VD; BiÕn toµn côc

BiÕn côc bé
Uses crt;
var a,b: byte;
Procedure Ve_HCN( chdai,chrong:integer);
Var i,j: integer;
Begin
For i:=1 to chdai do write(‘ * ’);
Tham sè
Writeln;
h×nh thøc
For j:=1 to chrong-2 do
begin
write(‘ * ’);
for i:=1 to chdai-2 do write(‘ ‘);
writeln(‘ * ’);
end;
For i:=1 to chdai Do write(‘ * ’);
writeln;
Tham sè thùc sù
end;
(tham trÞ)
BEGIN
CLRSCR;
Ve_HCN(25,10);
Writeln; a:=5 ; b:=10;
Ve_HCN(a,b);
readln;
END.



c. Thực hiện chương trình con
Lập
Lậpchương
chươngtrình
trìnhtối
tốigiản
giảnphân
phânsố
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.


Program tgps;
Uses crt;

Nhap vao tu so va mau so:
Phan so toi gian= 3/5

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;
USCLN=2;
USCLN=2;
UCLN
:= a;
end;
BEGIN
BEGIN
Write(‘Nhap
vao
tu tu
so va
Write(‘
Nhap
vao
so mau
vµ mau Readln(tu,mau);
so:‘);
readln(tu,mau);
Cso:‘);
:= 6 div UCLN(6,10)
d := 10 div
UCLN(6,10);
C := tu div UCLN(tu,mau) ; d := mau div
Writeln(‘
Phan so toi gian = ‘, 3, ‘ / ‘, 5);
UCLN(tu,mau);
Readln;
Writeln(‘ Phan so toi gian = ‘, c, ‘ / ‘, d);
END.

Readln;

6 10


Program 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;
begin
Lt:=1;
For j:=1 to k do Lt:=Lt*x;
Luythua:=Lt;
end;
BEGIN
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.


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 ở trong
CTC chỉ có tác dụng trong

CTC gọi là biến cục bộ.
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ự.


Hã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ể.
Phân loại chương trình con:
+ Hàm: trả về giá trị
+ Thủ tục: không trả về
giá trị
 Cấu trúc chương trình gồm:
<Phầnđầu>
đầu>
khaibáo>
báo>
Phầnthân>
thân>
<


Hãy nhớ!
Biến:
- Khai báo trong chơng trình
chính là biến toàn cục.
- Khai báo trong chơng trình
con là biến cục bộ.

Tham số
- 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ự.


Trß ch¬i


C©u hái 1

Sự khác biệt cơ bản giữa hàm và thủ tục ?

Hµm tr¶ vÒ mét gi¸ trÞ,

§¸p ¸n

Thñ tôc kh«ng tr¶ vÒ gi¸ trÞ
HÕt
giê


526789341

10s

Home


C©u hái 2

Trong c¸c CTC sau, ch¬ng tr×nh con nµo lµ thủ
tục

A. delete(st,vt,n)
§¸p ¸n

B. pos(s1,s2)
C. length(s)
HÕt
giê

526789341

10s

Home


C©u hái 3


“BiÕn khai b¸o cho d÷ liÖu vµo ra trong ch¬ng tr×nh
con gäi lµ ?
A. biÕn toµn côc
§¸p ¸n

B. biÕn côc bé
C. tham sè h×nh thøc
D. tham sè thùc sù.

10s

HÕt
giê

526789341

Home


C©u hái 4

BiÕn khai b¸o trong ch¬ng tr×nh con lµ?

§¸p ¸n

biÕn côc bé

HÕt
giê


526789341

10s

Home


Câu hỏi 5

Biến chứa trong lời gọi CTC ở chơng trình chính là
?
Đáp án

Tham số thực sự

Hết
giờ

526789341

10s

Home


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×