Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Input :n,dãy A
Output: Tổng A( điều kiện phần tử A>= 0)
B1: Nhập n
B2: Nhập các phần tử
B3:Xét a1;a2;a3;...an >= 0 Nếu phần tử nào dương thì chuyển qua một danh sách
B4 S-< a1,a2,...an;
B5: Kết thúc thuật toán
Bước 1: Gán giá trị cho 2 và biến SUM= 0 và i=0.
Bước 2: Do i=0<100 nên chuyển tới bước 3. Nếu i>100 thì chuyển tới bước 4.
Bước 3:Tăng giá trị i thêm 1 và giá trị của SUM bằng SUM+i.
Bước 4: Thông báo giái trị SUM, thuật toán kết thúc.
Kết quả thực hiện thuật toán Sum = 5050.
Bước 1: Gán giá trị cho 2 và biến SUM= 0 và i=0.
Bước 2: Do i=0<100 nên chuyển tới bước 3. Nếu i>100 thì chuyển tới bước 4.
Bước 3:Tăng giá trị i thêm 1 và giá trị của SUM bằng SUM+i.
Bước 4: Thông báo giái trị SUM, thuật toán kết thúc.
Kết quả thực hiện thuật toán Sum = 5050.
mình thấy ở trang 71 SGK có bài tương tự
program Tinh_trung_binh_cong;
uses crt;
var n, dem : integer;
a, TB : real;
begin clrscr;
dem:= 0; TB:=0;
write('Nhap so cac so can tinh n = '); realn(n);
write dem < n do
begin dem:= dem + 1;
write('Nhap so thu ', dem,' = '); realn(a);
TB:= TB + a;
end;
TB:= TB/n;
writeln('Trung binh cua ', n, ' so la = ', TB:10:3);
writeln('Nhan Enter de thoat ...');
readln;
end.
Program bai1;
uses crt;
var a: array [1..100] of integer;
i,n,min,s: integer;
begin
clrscr;
write('nhap n ='); readln(n);
for i:= 1 to n do
begin
write('nhap a[',i,'] ='); readln(a[i]);
end;
min:=a[1];
s:=0;
for i := 1 to n do
s:=s+a[i];
write('tong cac day so trong mang =',s :4);
writeln;
for i:= 1 to n do
if min > a[i] then min:=a[i];
write('so nho nhat trong day la :' ,a[i]);
readln;
end.
thuật toán:
- gán biến max cho 1 giá trị bất kì trong dãy
- dùng vòng lặp quét dãy, nếu gặp giá trị nào lớn hơn thì sẽ gán biến cho giá trị đó, cứ như vậy cho đến hết
Program So_nho_nhat;
uses crt;
Var i,n:Byte; so,Min:Integer;
Begin
clrscr;
Writeln('TIM SO LON NHAT TRONG N SO NGUYEN');
Writeln('---------------------------------'); Write('Cho biet so phan tu nhap N= '); Readln(n); i:=1;
Write('So thu ',i,' = '); Readln(so); Min:=so; For i:=2 To N Do Begin
Write('So thu ',i,' = '); Readln(so);
If Min < so Then Min:=so;
End;
Writeln;
Writeln('+So lon nhat trong ',n,' so vua nhap la so: ',Min);
Writeln(' Bam phim de ket thuc');
Readln;
End.
bài này dễ ẹt à
uses crt;
var a:array[1..100]of integer;
i,n,ln:integer;
begin
clrscr;
write('n='); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
{--------------------xuat-day---------------------}
for i:=1 to n do
write(a[i]:4);
{-------------------xu-ly-------------------------}
writeln;
ln:=a[1];
for i:=1 to n do
if ln<a[i] then ln:=a[i];
writeln('so lon nhat la: ',ln);
readln;
end.
Số chính phương là một số nguyên có căn bậc hai là một số nguyên (ví dụ: 9 là số chính phương vì =3). Viết chương trình tìm, đếm và tính tổng các số chính phương có trong dãy số nguyên dương gồm N phần tử A1, A2, …, AN.
Dữ liệu vào: Nhập từ bàn phím.
Kết quả ra: Xuất ra màn hình gồm 3 dòng:
- Dòng 1 ghi các số chính phương của dãy giữ nguyên thứ tự xuất hiện (mỗi số cách nhau một dấu cách).
- Dòng 2 ghi số lượng số chính phương trong dãy.
- Dòng 3 ghi tổng của các số chính phương trong dãy.
Ví dụ:
Nhập từ bàn phím |
Xuất ra màn hình |
N = 7 11 4 100 5 25 36 10 |
4 100 25 36 4 165 |
GIẢI :
Program HOC24;
var n,i,d: integer;
t: longint;
a: array[1..32000] of integer;
function cp(x: integer): boolean;
begin
cp:=false;
if x=sqr(trunc(sqrt(x))) then cp:=true;
end;
begin
write('N='); readln(n);
for i:=1 to n do read(a[i]);
readln;
t:=0; d:=0;
for i:=1 to n do
if cp(a[i]) then
begin
write(a[i],' ');
inc(d);
t:=t+a[i];
end;
writeln;
writeln(d);
write(t);
readln
end.
Program HOC24;
var x,i,n: integer;
a: array[1..32000] of integer;
begin
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(x);
inc(a[x]);
end;
for i:=1 to 32000 do
if a[i]<>0 then write(i,' ');
writeln;
for i:=1 to n do if a[i]<>0 then writeln(i,':',a[i]);
readln
end.
Bài 1:
Input: số nguyên N và dãy a1,...,an
output: số lượng số dương trong dãy.
Ý tưởng:
khởi gán dem=0
lần lượt chia các a[i] (i:1->N) cho 2
nếu ai chia hết cho 2 dư 0 thì dem=dem+1
diễn tả thuật toán
liệt kê:
b1: nhập số nguyên dương N và dãy a1, a2,..,an
b2: i<-1 , dem<-0
b3: i>N thì đưa ra biến dem rồi kthúc
b4: ai chia hết cho 2 thì dem<-dem+1
b5: i<-i+1, quay lại bc 3
Program bai1;
uses crt;
var a: array [1..100] of integer;
n,i,dem: integer;
begin
clrscr;
write('nhap so n ='); readln(n);
for i:= 1 to n do
begin
write('nhap a[',i,'] ='); readln(a[i]);
end;
dem:=0;
for i:= 1 to n do
if a[i] > 0 then dem:=dem+1;
write('co ',dem,' so duong trong day ');
readln;
end.