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.
a) Lỗi: Dư dấu ; sau từ do
b) Lỗi: While i>20 then (sửa: While i>20 do)
c) Lỗi: B=B+2; (sửa: B:=B+2;)
d) Lỗi: dư dấu ; sau từ do
e) Lỗi: S=S*2; (sửa: S:=S*2;)
f) Lỗi: i:=1 (sửa: i:=1;)
B1: Trong các hoạt động sau đây hoạt động nào là hoạt động lặp với số lần chưa biết trước:
A. tính tổng các số tự nhiên từ 1 đến 20.
B. Nhập các số nguyên cho đến khi đủ 50 số
C. Mỗi ngày tập TD 2 lần
D. Nhập dữ liệu từ bàn phím cho đến khi nhập xong dữ liệu khi dừng
B2: Đoạn lệnh sau đây in ra kết quả gì?
s:=0; while s<10 do begin s:=s+1;
Writeln(s); end;
A. In ra các số từ 1 đến 9.
B. In ra các số từ 1 đến 10.
C. In ra các số 1.
D. Không có đáp án đúng.
B3: Hãy cho biết đâu là đoạn lệnh lặp bằng câu lệnh While...do để tính tổng S=1+2+...+10?
A. S:=0; while i<10 do S:=S+i;
B. S:=0; i:=0; while i<11 do begin S:=S+i; i:=i+1; end;
C. S:=0; i:=1; while i do S:=S+i; i:=i+1;
D. S:=0; i:=0; while i<=10 do begin S:=S+i; i:=i+1; end;
A. Sai vì nếu có hai câu lệnh trở lên giữa "while...do" phải có "begin" và "end;".
B. Sai vì S luôn luôn bé hơn 10 (1<10) nên chương trình sẽ ghi S vô hạn ( trừ khi tắt chương trình ).
C.Sai vì n cũng giống lỗi câu B (2<5) nên cũng sẽ lặp vô hạn lần.
Không có câu nào đúng hết.
Bài 1: S=15
Bài 2: S=17
Bài 3:
1)X:=10; while X:=10 to X:(thiếu dấu '=') X+5;
2) X:=10; while X = 10 do X(thiếu dấu ';') =X+5 (thiếu dấu ';')
3) S:=0; n:=0; while S <= 10 do (thiếu 'begin') n:(thiếu dấu '=')n+1 ,(để kết thúc đoạn lệnh dùng dấu ';' không phải dấu ',') S:= S+n; (thiếu end;)
Lời giải :
Câu 1 :
a) So=1 (vô hạn lần)
b) In ra màn hình dãy số từ 1 đến 20
Câu 2 :
a) Vòng lặp chạy 3 vòng , A=12
Program hotrotinhoc;
var n,A: integer;
begin
n:=2; A:=0;
while A<9 do
begin
n:=n+1;
A:=A+n;
end;
write('A=',A);
readln
end.
b) Bạn xem lại đề nha
Câu 3 : ( ) = lỗi sai
a) X:=10; while X(:)=10 do X:=X+5;
b) X:=10; while X=10 do X(thiếu dấu :)=X+5;
c) S:=0; n:=0; while S<=10 do (thiếu begin) n:=n+1; S:=S+n; (thiếu end;)
Câu 4 :a) var X: Array[10,13] Of Integer; (S)
b) var X: Array[5..10.5] Of Real; (S)
c) var X: Array[3.4..4.8] Of Integer; (S)
d) var X: Array[10..1] Of Integer; (S)
e) var X: Array[4..10] Of Real; (Đ)
Câu 5 :
program hotrotinhoc ;
var a : array[1..32000] of real ;
i,n : integer ;
begin
write('Nhap do dai cua day :'); readln(n);
writeln('Nhap gia tri cua cac phan tu');
for i:= 1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
for i:= 1 to n do
while (1>=a[i]) or (a[i]>=100) do
begin
write('Nhap lai a[',i,']='); readln(a[i]);
end;
readln
end.
Bài 6 : Bạn tham khảo ở mục câu hỏi tương tự
Bài 7 :
Program hotrotinhoc;
var a: array[1..32000] of integer ;
i,n,min,max,tong : integer ;
begin
write('Nhap do dai cua day :'); readln(n);
for i:= 1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
max:=a[1]; min:=a[1];
for i:= 2 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
end;
write('so lon nhat la :',max);
write('So be nhat la:',min);
tong:=0;
for i:= 11 to 199 do tong:=tong+a[i];
write('Tong la :',tong);
readln
end.
a) X:= 5(;) while X <= 5(;) do X:= X + 5;
----> lỗi sai: Thừa 2 dấu ';' ở sau while và ở sau do (lỗi sai trong ngoặc)
----> sửa lại :X:= 5 while X <= 5 do X:= X + 5;
b) X= 10; while X = 10 do X:= X + 5;
----> lỗi sai : Sai lệnh gán X=10.
----> sửa lại : X:= 10; while X = 10 do X:= X + 5;
c) S:= 0; n:=0; while S <= 10 do S:=S + n ; n:=n+1;
Về cấu trúc không sai nhưng để như vậy sẽ thành vòng lặp vô hạn.
----> lỗi sai : thiếu begin ... end; ở sau câu lệnh lặp
----> sửa lại : S:= 0; n:=0; while S <= 10 do begin S:=S + n ; n:=n+1; end;
thiếu begin..end;
ở chỗ while do
- Như vậy hình như vẫn thiếu bạn ơi, kết quả in ra màn hình là 5. Mà chương trình lại yêu cầu tính tổng các số nguyên từ 1 -> 5