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

Bài 18: Ví dụ về cách viết và sử dụng CTC

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 (484.9 KB, 14 trang )


Bµi
18

Ví dụ 1: Lập chơng trình vẽ các hình chữ nhật bằng dấu * có kích thớc khác
nhau.
Ví dụ 1: Lập chơng trình vẽ các hình chữ nhật bằng dấu * có kích thớc khác
nhau.
Theo bạn để viết
chơng trình cho
ví dụ trên ta nên
dùng loại chơng
trình con nào?
Cách2: Dùng chơng trình con thủ tục
Ve_HCN(dai,rong) để vẽ một hình chữ
nhật.

Trong chơng trình chính, dùng lời gọi
thủ tục và truyền các tham số với giá
trị khác nhau để vẽ các hình chữ nhật
khác.
Ví dụ: Ve_HCN(25,20); Ve_HCN(3,7)
Cách 1: Sử dụng nhiều lần các câu lệnh:
Writeln(* * * * * * *);
Writeln(* *);
Writeln(* * * * * * *);
1. Cách viết và sử dụng thủ tục:

CÊu tróc cña thñ tôc:
Procedure <tªn thñ tôc> [(<ds tham sè>)];
[< PhÇn khai b¸o >]


Begin
[<D·y c¸c lÖnh>]
End;

C¸c em h·y viÕt
mét thñ tôc
Ve_HCN b»ng
dÊu * víi chiÒu
dµi, réng bÊt k×!
**********************************
* *
* *
* *
**********************************
Dµi
Réng

VÏ c¹nh trªn cña HCN

VÏ hai c¹nh bªn

VÏ c¹nh díi
FOR i:=1 to chdai DO WRITE( * ); WRITELN;‘ ’
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;‘ ’


Program 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
write(‘ * ’);
for i:=1 to chdai-2 do write(‘ ‘);
writeln(‘ * ’);
end;
For i:=1 to chdai Do write(‘ * ’);
writeln;
end;
BEGIN
CLRSCR;
Ve_HCN(25,10);
Writeln; a:=5 ; b:=10;
Ve_HCN(a,b);
readln;
END.








* Tham số và cách truyền tham số:

Tham số tại nơi gọi:Tham số thực.

Tham số tại nơi được gọi: Tham số hình thức.
Kiểu tham số
hình thức
Khai báo Giá trị của tham số thực
tương ứng sau khi thực thi
chương trình con
Tham số hình
thức trị
Không có VAR Giữ nguyên giá trị ban đầu như
trước khi gọi chương trình con.
Tham số hình
thức biến
Có VAR Lấy giá trị kết quả của chương
trình con.

Tham số hình thức trị -> tham số giá trị gọi tắt là tham trị.

Tham số hình thức biến -> tham số biến gọi tắt là tham biến.

Program VD;
Uses crt;
var a,b: integer;
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.






2. Cách viết và sử dụng hàm:
Function <Tênhàm>[(<ds tham số>)] :kiểu của hàm;
[< Phần khai báo >]
Begin
[<Dãy các lệnh>]
tênhàm := giátrị;
End;
Lu ý khi s dng hm:

Vic s dng hm tng t nh cỏc hm chun.


Kt qu tr v qua tờn hm ch cú th thuc cỏc kiu d liu chun:
integer, real, boolean, char, string.

Vỡ kt qu tr v ó gỏn cho tờn hm nờn thụng thng cỏc tham s
trong hm l cỏc tham s giỏ tr.

Lnh gi hm cú th tham gia vo biu thc nh mt toỏn hng v
thm chớ l tham s ca li gi hm, th tc khỏc.

VD: Lập chơng trình tính tổng luỹ thừa S = a
m
+b
n
+c
p
+d
q
VD: Lập chơng trình tính tổng luỹ thừa S = a
m
+b
n
+c
p
+d
q

Viết chơng trình con dạng tổng quát Luythua = x
k

Trong đó

: Luythua, x kiểu thực, k kiểu nguyên.

Khi tính luỹ thừa của các số hạng trong tổng trên ta chỉ cần gọi tên ch
ơng trình con Luythua và thay thế (x,k) bằng các giá trị tơng ứng. Ví dụ
nh: Luythua(a,m). luythua(b,n), luythua(c,p),luythua(d,q).
!"###$%!&'(')*##+#,
-.

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 đợ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ự.

VD: Lập chơng trình tối giản phân số
VD: Lập chơng trình tối giản phân số
/0$ 1+234567839
1++:3;
-:3$<=>?63@ A#;
$63@ A#;
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.

==+;
B;
/C#C##$B=B;
DC A#B=BB=B;
B=
E'BF7$
 G7B6<B'B6<;

 A6;
B$;
HI
EB +%C%C ;‘ ’
B$'C#C;
6C$% AC#C;$6C$%
 AC#C;
EB' =6 ## 3 #$;‘ ’ ‘ ’
JB$';
HKL
EB +%C%C ;‘ ’
 62$%
$645$%
 A2#45
 A2#45;
EB' =6 #8# 3 #9;‘ ’ ‘ ’
JB$';
HKL
HI
JB$'C#C;
. A6M;
. A6M;
Nhap vao tu so va mau so: 6 10
Phan so toi gian = 3/5

Hãy nhớ!
Biến:
Tham số
- 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ộ.
- 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ự.

×