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.. * Tham số và cách truyền tham số:- Các tham số hình thức được
Trang 1Bµi 18
Trang 2Ví 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
ể 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:
Trang 3CÊ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 ;
Trang 4Cá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; ‘ ’
Trang 5Program 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.
BiÕn côc bé
Tham sè thùc sù (tham trÞ)
Tham sè h×nh thøc BiÕn toµn côc
Trang 6* Tham số và cách truyền tham số:
- Các tham số hình thức được thay bằng các tham số thực sự tương ứng là các giá trị cụ thể được gọi là tham số giá trị (gọi tắt là tham trị).
Tham số biến
-Khai báo sau từ khóa VAR
trong danh sách tham số
- Giá trị của biến có thể bị
thay đổi sau khi thực hiện
xong thủ tục.
Tham số giá trị
-Không khai báo sau từ khóa VAR
- Giá trị tham biến không thay đổi khi thực hiện xong thủ tục.
- Các tham số hình thức được thay bằng các tham
số thực sự tương ứng là tên các biến chứa dữ liệu ra được
gọi là tham số biến (gọi tắt là tham biến).
* Phân biệt tham số biến và tham số giá trị
Trang 7Program 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.
BiÕn côc bé
Tham sè thùc sù
Tham sè biÕn BiÕn toµn côc
Trang 82 C¸ch viÕt vµ sö dông hµm:
Lưu ý khi sử dụng hàm:
Kết quả trả về qua tên hàm chỉ có thể thuộc các kiểu
dữ liệu: integer , real , boolean , char , string
Lệnh gọi hàm có thể tham gia vào biểu thức như
một toán hạng và thậm chí là tham số của lời gọi hàm, thủ tục khác.
Trang 9• 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 10VD: 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ố
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 11Program 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);
C := tu div UCLN(tu,mau) ;
d := mau div UCLN(tu,mau);
Writeln( Phan so toi gian = , c, / , d);‘ ’ ‘ ’
Readln;
END
Write( 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);‘ ’ ‘ ’
Readln;
END
BEGIN
Readln(tu,mau);
USCLN=2;
USCLN=2;
Nhap vao tu so va mau so: 6 10 Phan so toi gian = 3/5
Trang 12Hó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
- Biến chứa trong lời gọi CTC ở chương trình chính là các tham
số thực sự.