Hãy tìm hiểu đoạn chương trình sau và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lệnh lặp sau khi kết thúc t bằng bao nhiêu T:=0 N:=S writeln t
Em hãy cho biết điều kiện câu lệnh lặp thực hiện và kết quả in ra màn hình tổng S của vòng lặp : J:=0;i:=0; While S
Câu lệnh lặp sẽ được thực hiện khi giá trị của biến S là lớn hơn 0. Trong quá trình lặp, giá trị của biến i sẽ được tăng lên mỗi lần lặp cho đến khi i đạt đến giá trị n. Trong cùng mỗi lần lặp, giá trị của biến J sẽ được cập nhật bằng cách cộng thêm i^2, sau đó biến S sẽ giảm đi giá trị của i.
Khi vòng lặp kết thúc, chương trình sẽ in ra màn hình tổng S, tức là giá trị cuối cùng của biến J.
Với câu lệnh lặp như sau:
J:=0;
i:=0;
While S > 0 Do
i:=i+1;
J:=J+i^2;
S:=S-i;
End;
Write(J);
Ví dụ, nếu ta gán S=5, thì chương trình sẽ tính tổng của các số bình phương từ 1^2 đến 5^2 và in ra giá trị đó, tức là 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55.
Cho đoạn lệnh sau: X:=100; Y:=50;IF x<y then X:=X-20 else y:=y-3; Em hãy cho biết kết quả sau khi thực hiện đoạn lệnh trên? Giải thích kết quả? *
If x<y then x:=x-20 else y:=y-3;
x=100, y=50 .x>y -> ĐK đúng -> x:=x-20=100-20=80
Vậy sau khi thực hiện đoạn lệnh trên thì x=80, y=50
4) Cho biết kết quả phép so sánh trong đoạn lệnh sau đây:
a:=1; b:=2;
If (a+b<5) then a:=a+b;
a. Đúng b. Sai
5) Cho biết kết quả phép so sánh trong đoạn lệnh sau đây:
a:=2; b:=3;
If (a+b<5) or (b-a>0) then a:=a+b;
a. Đúng b. Sai
6) Cho biết kết quả phép so sánh trong đoạn lệnh sau đây:
a:=1; b:=2;
If (a+b<=3) and (b-a>1) then a:=a+b;
a. Đúng b. Sai
7) Câu lệnh nào sau đây được viết đúng cú pháp:
a) If N >4 then N=N+1;
d) If K:=2 then write(‘chao’);
c) If z+y=x then x:=z-y;
d) If X =>10 then
write(‘X lon hon hoac bang 10’);
8) Câu lệnh nào sau đây viết sai cú pháp:
a. if k>2 then k:=k-1;
else k:=k+1;
b. if a> b then
begin
a:=a+b; b:=b+1;
end
Else
begin
a:=a-b; b:=b-1;
end;
c. if N=K div 10 then write(K) else writeln(N);
d. if 2>3 then write(2) else write(3);
9) x có giá trị bao nhiêu sau khi thực hiện lệnh sau:
x:=5;
if x mod 2 = 1 then
x:=x+3;
a. 5 b. 3 c. 2 d. 8
10) x có giá trị bao nhiêu sau khi thực hiện lệnh sau:
x:=1; t:=3;
if x< t+5 then
x:=x+3;
else
begin
t:=t-1;
x:=x+t;
end;
x:=x*x;
a. 1 b. 3 c. 8 d.16
Hãy tìm hiểu đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp và khi kết thúc giá trị của S bằng bao nhiêu ?
S:= 1;
For i:= 1 to 3 do S:= S * 2
cho đoạn chương trình sau a:=1; while a<10 do write ( a); a:=a+1;
Đáp án của bạn:
ABCDCâu 02:
Câu lệnh nào sau đây viết đúngA. While a<b do a=a+1;B. White a<b do a:=a+1;C. While a< b do a:=a+1;D. while a< b do ; a:=a+1Đáp án của bạn:
ABCDCâu 03:
kq:=0; while 2*a< b do begin a:=2*a; kq:=kq+1; end;Đáp án của bạn:
ABCDCâu 04:
Đoạn chương trình nào sau không bị lỗiA. For i:=1 to n do x:=x+1B. For i=1 to n do x:=x+1;C. For i:=1 to n do x=x+1;D. For i:=1 to n do x:=x+1;Đáp án của bạn:
ABCDCâu 05:
với a:=5; b:=6 ; ta có while b> a do b:=b+1;A. lặp vô hạnB. 1000C. 1000000D. 7Đáp án của bạn:
ABCDCâu 06:
Đoạn lệnh sau cho kết quả x bao nhiêu. X:=0; for i:=1 to 5 do x:=x+i;A. 15B. 5C. 0D. 20Đáp án của bạn:
ABCDCâu 07:
Cú pháp câu lệnh lặp biết trướcA. For < biến đếm> : = < giá trị đầu> to < giá trị cuối> do;B. For < biến đếm> = < giá trị đầu> to < giá trị cuối> doC. For < biến đếm> ; = < giá trị đầu> to < giá trị cuối> doD. For < biến đếm> : = < giá trị đầu> to < giá trị cuối> doĐáp án của bạn:
ABCDCâu 08:
với d:=0; while d<n do begin d:=d+1; if d mod 10=0 then n:=n+3; end; wrtite(n); Với n=10 thì cho kết quả cuối cùng của n là bao nhiêu?A. 11B. 12C. 10D. 13
Đáp án của bạn:
ABCDCâu 09:
Cho đoạn chương trình a:=3; b:=2; while b< a do b:=b+1; kết quả của a,b sau khi kết thúc lặp làA. 3,4B. 3,3C. 2,3D. 3,2Đáp án của bạn:
ABCDCâu 10:
Cú pháp câu lệnh lặp chưa biết trướcA. While < điều kiện > doB. White < phép gán> do;C. While < điều kiện> do ;D. White < phép gán> doĐáp án của bạn:
ABCDCâu 11:
Cho đoạn chương trình a=3; b:=2; while b< a do b:=a; kết quả của a,b sau khi kết thúc lặp làA. 2,3B. 3,4C. 3,3D. 3,2Đáp án của bạn:
ABCDCâu 12:
Câu lệnh ghép là câu lệnh đặt giữa từ khóaA. begin;… end.B. Begin … end;C. Begin .. end.D. begin.. readln.Đáp án của bạn:
ABCDCâu 13:
Đoạn lệnh sau cho kết quả x bao nhiêu. X:=0; for i:=1 to 5 do x:=x+1;A. 15B. 5C. 20D. 0Đáp án của bạn:
ABCDCâu 14:
kq:=0; while 2*a< b do begin a:=2*a; kq:=kq+1; end;Đáp án của bạn:
ABCDCâu 15:
Đoạn chương trình nào sau không bị lỗiA. For i:=10 to 1 do x:=x+1;B. For i:=1 to 10 do x = x+1;C. for i:=1 to 10 do x:=x+1D. For i:=10 to 1 do x:=x+1Đáp án của bạn:
ABCDCâu 16:
Đoạn lệnh sau cho kết quả x bao nhiêu. X:=0; for i:=5 to 1 do x:=x+i;A. 5B. 20C. 15D. 0Đáp án của bạn:
ABCDCâu 17:
for i:=1 to n do if n mod 2 =0 then s:=s+i; với n =6 thì kết quả s là?A. 15B. 0C. 21D. 5Đáp án của bạn:
ABCDCâu 18:
cho đoạn chương trình sau a:=1; while a<10 do begin write ( a); a:=a+1; end;Đáp án của bạn:
ABCDCâu 19:
s:= 0; for i:=1 to n do if n mod 2 =0 then s:=s+i; với n =5 thì kết quả s là?A. 15B. 1C. 5D. 0Đáp án của bạn:
ABCDCâu 20:
Cho đoạn chương trình a:=3; b:=2; while b< a do begin b:=a; a:=b end; kết quả của a,b sau khi kết thúc lặp làA. 2,3B. 3,3C. 3,2D. 3,4Cho biết kết quả của biến S trong đoạn lệnh sau:
Biến S là tổng của các số từ 1 đến 10 ( tức là 55 đó)
Phần I: Phần trắc nghiệm
Câu 1: Cho đoạn lệnh: S:= 0; For i:=1 to 10 do S:=S+1; kết quả S sau khi thực hiện là bao nhiêu?
A. 10 B. 55 C. 1 D. 50
Câu 2: Khi kết thúc câu lệnh For i:= 1 to 10 do <câu lệnh>; giá trị của biến i nhận được là bao nhiêu?
A. 1 B. 10 C. 11 D. Tất cả đều sai.
Câu 3: Cho đoạn lệnh x:= -5; While (abs(x) >= 5) do x:= x+1; lệnh x:= x+1 được lặp lại bao nhiêu lần?
A. Lặp vô hạn B. 5 lần C. 1 lần. D. Chưa biết
Câu 4: Lệnh lặp nào sau đây là đúng cú pháp:
A. For i:=1 two 10 do S:=S+i; B. For i:=1 to 10 do S=S+i;
C. For i=1 to 10 do S:=S+i; D. For i:=1 downto -10 do S:=S+i;
Câu 5: Điền vào dấu (…): Mảng một chiều là một dãy (… )các phần tử có cùng kiểu
A. Thông tin B. hữu hạn C. Kiểu D. Giá trị
Câu 6: Cấu trúc lặp thường có mấy dạng?
A. 3 B. 4 C. 2 D. 1
Câu 7: Để tính tổng S=1+22+32+…+n2 em sẽ sử dụng lệnh lặp nào là hợp lí nhất?
A. While – do B. For – do C. If – Then D. Cả A và B.
Câu 8: Khai báo sau đây thì mảng có tối đa bao nhiêu phần tử? Var a:array [1..10] of byte;
A. 8 B. 9 C. 11 D. 10
Câu 9: Để lưu trữ dãy số nguyên A1, A2, …, A50 thì khai báo nào sau đây là đúng và tốn ít bộ nhớ?
A. Var A:=array[1..50] of real; B. Var A:array[1..50] of word;
C. Var A:array[1..50] of Integer; D. Var A:array[1..50] of Real;
Câu 10: Khi chạy chương trình :
Var A:array[1..10] of integer;
i, S : integer;
Begin A[1]:= 3; A[2]:= -1; A[3]:= -4;
S:= 0;
For i:=1 to 3 do If A[i] < 0 then S:=S+A[i];
Write(S);
End.
Kết quả in ra giá trị của S là:
A. 2 B. 3 C. 4 D. -5
Câu 11: Hãy cho biết kết quả đưa ra màn hình của chương trình sau:
Var x, i: byte;
BEGIN X:=0; i:=0; While i<17 do begin i:=i+2; x:= x+i; end; writeln(‘x= ’, x); END.
A. x= 72 B. x= 90 C. x= 91 D. 56
Câu 12: Cho khai báo Var A: array[1..10] of integer; Để đưa giá trị phần tử thứ 3 của mảng ra màn hình thực hiện câu lệnh nào?
A.Read(A<3>); B. Write(‘A[3]’); C. Writeln(A[3]); D. Readln(A[3]);
Câu 13: Các khai báo sau, khai báo nào là đúng?
A. Var A:array[1....n] of byte; B. Var A = array[1..10] of real;
C. Var A:array[10. .-10] of boolean; D. Var A : array[‘a’..’z’] of real;
Câu 14: Cho khai báo Var S:Array[1..5] of word; S có thể lưu trữ dãy số nào sau đây.
A. 300 3 5 4 5 B. 1 3 6 C. Cả A và B D. 1 5 3 2 4 3
Câu 15: Cho khai báo sau: Var A, B : array[1..20] of integer; Giả sử giá trị A[i] và B[i] (i nhận giá trị từ 1 đến 20) đã được xác định. Xét đoạn chương trình:
d:=0; for i:=1 to 20 do If A[i] = B[i] then d:=d+1; writeln(d);
Đoạn chương trình trên thực hiện công việc gì?
A. Đếm số phần tử của A khác các phần tử của B B. Đếm số phần tử khác nhau của A và B
C. Đếm số cặp phần tử tương ứng khác nhau của A và B D. Đếm số cặp phần tử tương ứng bằng nhau của A và B
Câu 16: Cho khai báo a : array[1..16] of integer ;
Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên?
A. for k := 1 to 16 do write(a[k]); B. for k := 16 downto 0 do write(a[k]);
for k:= 0 to 15 do write(a[k]); D. for k := 16 down to 0 write(a[k]);
Câu 17: Var a : array[0..50] of real ;
k := 0 ; for i := 1 to 50 do if a[i] < a[k] then k := i ;
Đoạn chương trình trên thực hiện công việc gì dưới đây ?
A.Tìm phần tử nhỏ nhất trong mảng; B. Tìm phần tử lớn nhất trong mảng;
C.Tìm chỉ số của phần tử lớn nhất trong mảng; D. Tìm chỉ số của phần tử nhỏ nhất trong mảng;
Câu 18: Var a : array[1..10] of integer ;
Phương án nào dưới đây chỉ phần tử thứ 10 của mảng ?
A. a[10] B. a(10) C. a(9) D. a[9]
Câu 19: Có Var A:Array[‘a’..’z’] of byte; Để tham chiếu đến phần tử thứ 4 của mảng, ta viết thế nào?
A. A<’d’> B. A(4) C. A[‘d’] D. A[4]
Câu 20: Cho dãy số gồm 4 số thực, 5 số nguyên. Em có thể khai báo một mảng một chiều gồm 20 phần tử kiểu thực để lưu trữ dãy số hay không?
A. Có B. Đáp án khác. C. Vừa có vừa không D. Không
Câu 21: S:=0; For i:=1 to N do if T[i] mod 2 <> 0 then S:=S+T[i]; Đoạn lệnh trên thực hiện công việc gì?
A. Tìm tổng giá trị các phần tử của mảng T B. Tìm tổng giá trị các số chẵn trong mảng T
C. Tìm tổng giá trị các số lẻ trong mảng T D. Cả A, B, C đều đúng.
Câu 1: A
Câu 2: B
Câu 3: C
Câu 4: A
Câu 5: B
Câu 6: C
Câu 7: D
Có 3 vòng lặp
Giá trị cuối cùng của s=2
k cho mk nha