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.
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.
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
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.
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.
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.
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.
Câu 1 :
Tham khảo
Y tưởng : xét từng số hạng trong dãy nếu số hạng > 0 thì xếp vào một biến tổng rồi chia cho số hàng đã xếp được
Input : Dãy A gồm N số nguyên a1....aN;
Output : Trung bình cộng của các số dương;
B1 : Nhập N số nguyên a1.... aN;
B2 : TB <--- 0, dem <---- 0, i <---- 1, Tong <--- 0;
B3 : Nếu a[i] > 0 thì Tong <--- TB + a[i];
B4 : dem <--- dem + 1;
B5 : Nếu i > N thì đưa ra màn hình kết quả TB = Tong/Dem rồi kết thúc chương trình;
B 6 : i <--- i + 1 rồi quay lại B3;
Câu 2 :
Tham khảo
Ta nhận thấy rằng, bội số chung nhỏ nhất của hai số nguyên dương a, b có thể được tính theo công thức:
ab/d
trong đó d là ước chung lớn nhất của a và b.
Bởi vậy:
Nên viết hàm để tính bội chung nhỏ nhất của hai số nguyên dương vì chương trình con cần trả ra một giá trị;
- Hàm tính bội chung nhỏ nhất của hai số nguyên dương a, b cần sử dụng hàm tính ước chung lớn nhất của a và b.
- Hàm tính ước chung lớn nhất của hai số nguyên dương a, b:
function ucln (a, b: integer): integer;
var r: integer;
begin
while b>0 do begin
r: = a mod b ,a : = b ; b:= r; end; ucln:= a; and;
- Hàm tính bội chung nhỏ nhất của hai số nguyên dương a, b:
ADVERTISING Video Player is loading.This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.lunction bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
Khi đó, chương trình con tính bội số chung nhỏ nhất của hai số nguyên dương a, b như sau:
program bai4_chuong6;
use crt ;
vai
X y: integer;
function ucln(a, b: integer): integer;
var r: integer;
begin
while b>0 do begin
r:= a mod b; a: = b ,b:= r;
end; ucln:= a;
end;
txnction bcnn(a, b: integer): integer;
begin
bcnn:= a*b div ucln(a, b);
end;
Begin
clrscr;
writeln('Nhap vao hai so can tim BCNN');
write ('x=') , readln(x); write ('y=') , readln(y);
writeln('bcnn cua hai so',x:4,'va',y:4,'la',bcnn(a,b)
readln
End.
Câu 3 : chịu
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
1:
Xác định bài toán:
-Input: Hai số thực a,b(a≠b)
-Output: So sánh a và b
Mô tả thuật toán
-Bước 1: Nhập a và b
-Bước 2: Nếu a>b thì viết a lớn hơn b
Ngược lại thì a nhỏ hơn b
-Bước 3: Kết thúc
Viết chương trình:
uses crt;
var a,b:real;
begin
clrscr;
repeat
write('Nhap a='); readln(a);
write('Nhap b='); readln(b);
until (a<>b);
if a>b then writeln(a,' lon hon ',b)
else writeln(a,' nho hon ',b);
readln;
end.
2:
Xác định bài toán:
-Input: Hai số thực a,b(a≠b)
-Output: Tìm số lớn hơn
Mô tả thuật toán
-Bước 1: Nhập a,b
-Bước 2: Nếu a>b thì viết a lớn hơn b
Ngược lại thì viết b lớn hơn a
-Bước 3: Kết thúc
Viết chương trình:
uses crt;
var a,b:real;
begin
clrscr;
repeat
write('Nhap a='); readln(a);
write('Nhap b='); readln(b);
until (a<>b);
if a>b then writeln(a,' lon hon ',b)
else writeln(b,' lon hon ',a);
readln;
end.
a)
Bước 1: nhập các số a1,a2,...,an
Bước 2: Max ← a1 và i ← 1
Bước 3: Nếu ai > Max, gán Max ← ai
Bước 4: i ← i + 1
Bước 5: nếu i ≤ n, quay lại bước 2