VD1: Lập chương trình tính tổng luỹ thừa S = am +bn +cp +dqVD1: Lập chương trình tính tổng luỹ thừa S = am +bn +cp +dq Viết chương trình con dạng tổng quát Luythua = xk Trong đó: Luyth
Trang 1Bµi 20
Trang 2VD1: Lập chương trình tính tổng luỹ thừa S = am +bn +cp +dq
VD1: Lập chương trình tính tổng luỹ thừa S = am +bn +cp +dq
Viết chương trình con dạng tổng quát Luythua = xk
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)
* INPUT : Các cơ số a,b,c,d và các số mũ lần lượt n,m,p,q
* OUTPUT : S
Trang 3Program 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;
Trang 4• 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 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à các tham số thực sự
Trang 5Ví dụ 2: 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ụ 2: 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?
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)
Trang 6Cá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 7Program 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);
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 8Program 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 biÕn)
Tham sè h×nh thøc BiÕn toµn côc
Trang 9Hã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ộ
- 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