Viết thuật toán theo sơ đồ khối với những đề bài sau:
1) Cho dãy A gồm N số nguyên $a_{1}$, $a_{2}$, … $a_{n}$. Tính tổng các số chia hết cho 3 và 5 trong dãy.
2) Tính giá trị của biểu thức P với P =
$\left \{ {{a^{2}+ b^{2}} \atop {(a+b)^{2} }} \right.$
nếu a > 0 và b > 0
nếu a ≤ 0 và b ≤ 0
câu 1:
uses crt;
var a: array[1..100] of integer;
i,n,s: integer;
begin
clrscr;
write (‘nhap n: ‘); readln (n);
for i:=1 to n do
begin
write (‘nhap a[‘,i,’]: ‘); readln (a[i]);
if (a[i] mod 3=0) and (a[i] mod 5=0) then s:=s+a[i];
writeln (‘tong cac so trong day chia het cho 3 va 5 la: ‘,s);
end;
readln;
end.
thuật toán:
B1: nhập số phần tử của mảng
B2: nhập mảng
B3: kiểm tra từng phần tử của mảng nếu chia hết cho 3 và 5 thì s:=s+a[i];
B4: xuất kết quả ra màn hình
câu 2:
uses crt;
var p,a,b: integer;
begin
clrscr;
write (‘nhap a: ‘); readln (a);
write (‘nhap b: ‘); readln (b);
if (a>0) and (b>0) then p:=(a*a)+(b*b);
if (a<=0) and (b<=0) then p:=(a+b)*(a+b);
writeln (‘gia tri cua P la: ‘,p);
readln;
end.
thuật toán:
B1: nhập a
B2: nhập b
B3: kiểm tra xem a và b thuộc trường hợp nào rồi tính theo trường hợp đó
if (a>0) and (b>0) then p:=(a*a)+(b*b);
if (a<=0) and (b<=0) then p:=(a+b)*(a+b);
B4: xuất kết quả ra màn hình