Bài 1: Trong các câu lệnh Pascal sau đây, câu lệnh nào sai và sai ở đâu?
a) While i:=1 to t:=10;
b) While a<=b ; do write(‘b khong lon hon a’);
c) While 1=1 do write(‘Toi lap trinh gioi’);
d) i:=1; while i<10 do sum:=sum+i; i:=i+1;
e) i:=1; x:=5;
while i<x do i:=i+1; write(‘Gia tri cua i la: ’,i);
Bài 2: Hãy cho biết câu lệnh writeln in ra màn hình giá trị của i, j và k là bao nhiêu?
a) Đoạn chương trình 1
i:=1; j:=2; k:=3;
While i<6 do i:=i+1; j:=j+1; k:=k+j;
Writeln(i,’ ’,j,’ ’,k);
b) Đoạn chương trình 2
i:=1; j:=2; k:=3;
While i<6 do begin i:=i+1; j:=j+1; k:=k+j; end;
Writeln(i,’ ’,j,’ ’,k);
Câu 14 (2,0 điểm): Trong các câu lệnh lặp trong Pascal sau đây đúng hay sai. Vì
sao?
a. While i<5 do i=i+1;
b. While 3=3 do i:=i+1;
c. While x<3 do x:=x+1;
d. For i:=2.5 to 10 do x:=x+1;
Cho biết giá trị của biến S và n sau khi thực hiện đoạn chương trình trên
Các câu lệnh sau trong Pascal sau có hợp lệ không? Nếu không hãy sửa lại cho hợp lệ?
a) For i:= 50 to 10 do writeln(‘A’);
b) For i:= 1.5 to 5.5 do Writeln(‘A’);
c) X:= 3; while X:=3 do X= X + 1;
d) X:= 5; while X =5 do; X:= X + 2;
Các câu lệnh Pascal sau có hợp lệ không ? Vì sao ?
A. For i:= 5 to 1 do writeln(‘Hello năm 2023’);
B. x:= 10 ; while x< 10 do x= x+ 5;
ét o ét đê ;-;
Câu 8: Pascal sử dụng câu lệnh nào sau đây để lặp với số lần lặp biết trước?
A. if...then B. if...then...else C. for...to…do D. while...do
Câu 9. Trong Câu lệnh lặp: For i := 1 to 15 do s:= s + 2*i. Khi kết thúc Câu lệnh lặp trên, Câu lệnh tính s được thực hiện bao nhiêu lần?
A. 10 lần ; B. 15 lần; C. 20 lần; D. Không thực hiện.
Câu 10 : Trong câu lệnh lặp for i :=1 to 20 do begin s:= s+i; end ;
câu lệnh gán được thực hiện bao nhiêu lần?
a) Không lần nào. b) 1 lần c) 2 lần d) 20 lần
Câu 11 : Trong câu lệnh lặp: For <Biến đếm>:=<Giá trị đầu> to <Giá trị cuối> do <câu lệnh>; Khi thực hiện ban đầu Biến đếm nhận giá trị = Giá trị đầu, sau mỗi vòng lặp biến đếm tăng thêm:
A. 1 đơn vị B. 2 đơn vị C. 3 đơn vị D. 4 đơn vị
Câu12: Khi nào thì câu lệnh lặp For…do (dạng tiến) kết thúc?
A. Khi biến đếm nhỏ hơn giá trị cuối. B. Khi biến đếm bằng giá trị đầu.
C. Khi biến đếm bằng giá trị cuối. D. Khi biến đếm lớn hơn giá trị cuối.
Em hãy xác định các câu lệnh sau đây đúng hay sai? Nếu sai hãy giải thích tại sao?
a) For i:=150 to 1 do writeln(‘A’);
b) For i:=1.5 to 30.5 do writeln(‘B’);
c) S:=0;n:=0; While S<=20 do begin n:=n+1;S:=S+n; end
d) Var X: array[10..1] of integer;
e) Var X: array[1,5...20,5] of integer;
f) Var X: array[1..30] of integer;
mn ới, ét o ét nèo ;-;
Câu 8: Pascal sử dụng câu lệnh nào sau đây để lặp với số lần lặp biết trước?
A. if...then B. if...then...else C. for...to…do D. while...do
Câu 9. Trong Câu lệnh lặp: For i := 1 to 15 do s:= s + 2*i. Khi kết thúc Câu lệnh lặp trên, Câu lệnh tính s được thực hiện bao nhiêu lần?
A. 10 lần ; B. 15 lần; C. 20 lần; D. Không thực hiện.
Câu 10 : Trong câu lệnh lặp for i :=1 to 20 do begin s:= s+i; end ;
câu lệnh gán được thực hiện bao nhiêu lần?
a) Không lần nào. b) 1 lần c) 2 lần d) 20 lần
Câu 11 : Trong câu lệnh lặp: For <Biến đếm>:=<Giá trị đầu> to <Giá trị cuối> do <câu lệnh>; Khi thực hiện ban đầu Biến đếm nhận giá trị = Giá trị đầu, sau mỗi vòng lặp biến đếm tăng thêm:
A. 1 đơn vị B. 2 đơn vị C. 3 đơn vị D. 4 đơn vị
Câu12: Khi nào thì câu lệnh lặp For…do (dạng tiến) kết thúc?
A. Khi biến đếm nhỏ hơn giá trị cuối. B. Khi biến đếm bằng giá trị đầu.
C. Khi biến đếm bằng giá trị cuối. D. Khi biến đếm lớn hơn giá trị cuối.
Câu 4: Trong các câu lệnh pascal, câu lệnh nào hợp lệ:
A. For i:=1 to 4 do writeln (‘y’); C. For i=4 to 1 do writeln (‘y’) ;
B. For i:=4 to 1 do writeln (‘y’); D. For i=:4 to 1 do writeln (‘y’);
Câu 5: Cho biết số vòng lặp của câu lệnh: For i:= 22 to 32 do writeln(‘A’);
A. 8 B. 9 C. 10 D. 11
Câu 6: Khi nào thì câu lệnh for ..to..do kết thúc?
A. Khi biến đếm lớn hơn giá trị cuối. C. Khi biến đếm nhỏ hơn giá trị cuối.
B. Khi biến đếm bằng giá trị cuối. D. Khi biến đếm lớn hơn giá trị đầu.
Câu 7: Vòng lặp sau thực hiện bao nhiêu lần lặp:
For i := 1 to 5 do a := a + 1;
A. 3 lần. B. 4 lần. C. 5 lần. D. 6 lần.
Câu 8: Vòng lặp sau cho kết quả S bằng bao nhiêu:
S := 0; For i := 1 to 4 do S := S + 2;
A. S = 8 B. S = 10 C. S = 12 D. S = 14
Câu 9: Vòng lặp sau cho kết quả S bằng bao nhiêu:
S := 1; For i := 1 to 3 do S := S * 2;
A. S = 6 B. S = 8 C. S = 10 D. S = 12
Câu 10: Số lần lặp của câu lệnh lặp for…to…do… được tính như thế nào?
A. Giá trị đầu – giá trị cuối B. Giá trị đầu – giá trị cuối + 1
C. Giá trị cuối – giá trị đầu D. Giá trị cuối – giá trị đầu + 1
Câu 11: Trong câu lệnh lặp, kiểu dữ liệu của biến đếm là:
A. Real B. String C. Integer D. Char
Câu 12: Câu lệnh lặp với số lần chưa biết trước bắt đầu bằng từ khóa:
A. For B. While C. If D. Var
Câu 13: Từ khóa nào sau đây dùng để khai báo biến:
A. Uses B. Begin C. Var D. Writeln
Câu 14: Trong câu lệnh While...do… nếu điều kiện đúng thì:
A. Tiếp tục vòng lặp B. Vòng lặp vô tận
C. Lặp 10 lần D. Thoát khỏi vòng lặp
Câu 15: Câu lệnh sau đây cho kết quả như thế nào? For i:=1 to 10 do Writeln(‘A’);
A. In dãy số từ 10 đến 1 ra màn hình B. In dãy số từ 1 đến 10 ra màn hình
C. In 20 ký tự A ra màn hình D. In 10 ký tự A ra màn hình
Câu 16: Cú pháp câu lệnh lặp với số lần chưa biết trước:
A. For ... to... do
B. For <biến đếm>:=<giá trị cuối> to <giá trị đầu> do <câu lệnh>;
C. For ... do
D. For <biến đếm>:=<giá trị đầu > to <giá trị cuối > do <câu lệnh>;
Câu 17: Chọn phát biểu đúng:
A. Lặp vô hạn lần có thể xảy ra ở câu lệnh lặp với số lần biết trước
B. Lặp vô hạn lần là lặp 1000 lần
C. Lặp vô hạn lần có thể xảy ra ở câu lệnh điều kiện
D. Lặp vô hạn lần có thể xảy ra ở câu lệnh lặp với số lần chưa biết trước
Câu 18: Chọn câu lệnh đúng:
A. x:=1; while x<10 do x:=x+5;
B. x =1; while x> 10 do x:=x+5;
C. x:=1; while x:= 10 do x:=x+5;
D. x:=10; while x< 10 do x=x+5;
Câu 19: Cho đoạn chương trình: J:= 0; For i:= 1 to 5 do J:= j + i;
Sau khi thực hiện đoạn chương trình trên, giá trị của biến J bằng bao nhiêu?
A. 12 B. 22 C. 15 D. 42
Câu 20: Trong các câu lệnh Pascal sau, câu nào được viết đúng:
A. for i:=1 to 10 do B. for i:=1 to 10 do;
C. for i=1 to 10 do D. for i:1 to 10 do
Câu 21: Để thoát khỏi chương trình Pascal ta dùng tổ hợp phím:
A. Ctrl + X B. Ctrl+ F9 C. Alt + F9 D. Alt +X.
Câu 22. Trong các hoạt động dưới đây, đâu là hoạt động lặp với số lần chưa biết trước:
A. Mỗi buổi học đúng 5 tiết.
B. Mỗi ngày ăn cơm 3 buổi.
C. Mỗi ngày phải học bài cho đến khi thuộc.
D. Rằm tháng Giêng là Tết Nguyên tiêu.
Câu 23: Nhặt thóc ra khỏi gạo đến khi trong gạo không còn thóc là :
A. Lặp 10 lần B. Lặp vô số lần
C. Lặp với số lần chưa biết trước D. Lặp với số lần biết trước
Câu 24: Các câu lệnh sau, câu lệnh nào hợp lệ ?
A. For i:=1 to 10 do; write (‘a’)
B. For i:=1 to 10 do write (‘a’);
C. var x:real; begin for x:=1 to 10 do write (‘a’); end.
D. For i=1 to 10 do write (‘a’);
Câu 25: Cho câu lệnh sau: S:=S+1/i ; Cho biết kiểu dữ liệu cần khai báo cho biến S là:
A.integer B. byte C. longint D. real
Câu 26: Cho biết cú pháp khai báo biến mảng
A. <tên mảng>:array [<chỉ số đầu> …. <chỉ số cuối>] of <kiểu dữ liệu>;
B. <tên mảng>:array [<chỉ số đầu> .. <chỉ số cuối>] for <kiểu dữ liệu>;
C. <tên mảng>:array [<chỉ số đầu>.. <chỉ số cuối>] of <kiểu dữ liệu>;
D. <tên mảng>:array [<chỉ số đầu> ... <chỉ số cuối>] of <kiểu dữ liệu>;
Câu 27: Giả sử biến Chiều cao gồm 20 phần tử, cách khai báo nào dưới đây là đúng
A. Var Chieucao: array[1..20] of real;
B. Var Chieucao: array[1..20] of integer;
C. Var Chieucao: array[1..20] of string;
D. Var Chieucao: array[1…20] of char;
Câu 28: Giả sử biến mảng A có 5 phần tử và giá trị của các phần tử lần lượt là 1, 4, 7, 2, 6. Khi thực hiện câu lệnh sau: tb:= 0; For i:= 1 to 5 do tb := tb + A[i]; Giá trị của biến tb là bao nhiêu?
A.18 B. 22 C. 21 D. 20
Câu 29: Khai báo biến kiểu mảng nào sau đây là hợp lệ:
A. Var a,b: array[1 .. n] of real;
B. Var a,b: array[1 : n] of Integer;
C. Var a,b: array[1 .. 100] of Integer ;
D. Var a,b: array[1 … 100] of real;
Câu 30: Tính giá trị cuối cùng của b, biết rằng: a:= 3; b:= 5;
while a<0 do b:= a + b; a:=a+1;
A. b= 8 B. b=3 C. b= 5 D. b= 0
Câu 7: Câu lệnh nào sau đây là đúng?
A. while S<10 do S:=S+i; i:=i+1;
B. i:=0; S:=1;While S:=10 do write(S);
C. n:=2; while n<5 do a=b;