Professional Documents
Culture Documents
Baiso8 (Laptrinhtrongmaple2)
Baiso8 (Laptrinhtrongmaple2)
Baiso8 (Laptrinhtrongmaple2)
Cú pháp:
while
Phải là kiểu
điều_kiện
Boolean
do
công_việc
od;
Trong khi điều_kiện đúng , thực thi công việc.
Dùng các câu lệnh như RETURN,break,quit để thoát
ra giữa vòng lặp.
Tìm USCLN và BSCNN cuả x,y…
Y<>0 In ra x
r := x mod y
x:=y
y:=r
Minh hoạ thuật toán…
x 12
630 While y<> 0 do
r = x mod y
y 12
6
0 x:= y
y := r
r 6
0 In ra x=6
Chương trình…
> x:=30;
y:=12;
m:=x;
n:=y;
while y<>0 do
r:=irem(x,y);
x:=y;
y:=r;
od:
USCLN:=x;
BSCNN := (m*n)/x;
print(`USCLN la:`);
value(USCLN);
print(`BSCNN la:`);
value(BSCNN);
Ví dụ khác…
F(0):=1:
F(1):=1: n:=2:
while n<=20 do
F(n):=F(n-1)+F(n-2):
n:=n+1:
od:
seq(F(k),k=10..20);
Cú pháp:
for name from start by change to finish
do
dãy_câu_lệnh
od;
Viết chương trình để tính tổng các phần tử dương trong một
list.
> restart;
> myList:=[1,4,8,-3,-5,7,3,-2,-3];
tong:=0:
for number in myList do
if number > 0 then
tong:=tong +number;
end if
end do;
print(`Tong cac phan tu duong trong list la`); tong;
Lệnh rẽ nhánh if…
Cú pháp:
if <conditional expression> then
<statement sequence>
| elif <conditional expression> then
<statement sequence> |
| else <statement sequence> |
end if
Ví dụ…
> a := 3; b := 5;
a := 3
b := 5
> if (a > b) then a else b end if;
5
> 5*(Pi + `if`(a > b,a,b));
5 Pi + 25
> x := `if`(a < b,NULL,b);
x :=
> if FAIL then 3 else 5 end if;
5
Ví dụ…
> restart;
> gptbh:=proc(a,b,c)
local delta,x1,x2;
delta:=b^2-4*a*c;
if delta < 0 then
print(`Phuong trinh vo nghiem`);
elif delta = 0 then
x1:=-b/(2*a);
print(`Phuong trinh co nghiem kep:`,x1);
else
print(`Phuong trinh co hai nghiem phan biet`);
x1:=(-b+sqrt(delta))/(2*a):
x2:= (-b-sqrt(delta))/(2*a):
print(x1,x2);
end if;
end proc;
> gptbh(1,2,1);
Break;