Font size
WorksheetsĐề Pascal (ĐB)
Total questions: 68
Worksheet time: 34mins
Cho khai báo mảng như sau: 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[10];
a[9];
a(10);
a[11];
Chọn cú pháp câu lệnh lặp đúng:
FOR <biến đếm> = <giá trị đầu> TO <giá trị cuối>; DO <câu lệnh>;
FOR <biến đếm> = <giá trị đầu> DOWNTO <giá trị cuối> DO <câu lệnh>;
FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO <câu lệnh>;
FOR <biến đếm> := <giá trị cuối> TO <giá trị đầu> DO <câu lệnh>;
Hãy cho biết khai báo mảng sau có bao nhiêu phần tử:
Var hocsinh: array[19..39] of integer;
20
22
19
21
Sau khi thực hiện đoạn chương trình sau, giá trị của biến tong bằng bao nhiêu:
tong := 0;
FOR i := 1 TO 3 DO tong := tong + i;
6
7
5
Đáp án khác
Trong ngôn ngữ lập trình Pascal, để khai báo điểm trung bình môn Tin của CÁC HỌC SINH trong lớp (dãy điểm), ta sử dụng khai báo nào sau đây là hợp lý nhất?
var DTB: array[1..50] of real;
var DTB : real;
var DTB : string;
var DTB : array[1..50] of integer;
Cú pháp khai báo mảng nào sau đây là đúng?
Var <tên mảng> : array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu>;
Var <tên mảng> : array [<chỉ số cuối>..<chỉ số đầu>] of <kiểu dữ liệu>;
Var <tên mảng> : array [<chỉ số cuối> : <chỉ số đầu>] of <kiểu dữ liệu>;
Var <tên mảng> : array [<chỉ số đầu>..<chỉ số cuối>] FOR <kiểu dữ liệu>;
Kết quả của đoạn chương trình sau:
a : =1;
b: = 5;
while a<b DO
begin
write(a, ' ');
a:= a + 1;
end;
1 2 3 4
1 2 3 4 5
2 3 4 5
Đáp án khác
Kết quả của đoạn chương trình sau:
a : =1;
b: = 5;
while a<b DO
write(a, ' ');
a:= a + 1;
1 2 3 4
1 2 3 4 5
2 3 4 5
Đáp án khác
Kết quả của đoạn chương trình sau:
a : =1;
b: = 5;
while a<=b DO
begin
write(a, ' ');
a:= a + 1;
end;
1 2 3 4
1 2 3 4 5
2 3 4 5
Đáp án khác
Kết quả của đoạn chương trình sau:
a : =1;
b: = 5;
while a<b DO
begin
a:= a + 1;
write(a, ' ');
end;
1 2 3 4
1 2 3 4 5
2 3 4 5
Đáp án khác
Cho bài Toán tính tổng s=1+2+3+...+n. Để giải bài Toán trên ta có thể dùng:
Cấu trúc lặp
Cấu trúc rẽ nhánh
Hàm Toán học sqrt()
hàm Toán học sqr()
Cho bài Toán xét một số là số chẵn hay số lẻ. Để giải bài Toán trên ta có thể dùng:
Cấu trúc lặp
Cấu trúc rẽ nhánh
Hàm Toán học sqrt()
hàm Toán học sqr()
Sau khi thực hiện đoạn chương trình sau:
S:=1;
For i:=1 to 4 do S := S*i;
Gái trị của biến S bằng bao nhiêu?
24
6
9
Đáp án khác
Cách tính số vòng lặp (FOR...TO...DO):
Số vòng lặp = giá trị đầu - giá trị cuối - 1
Số vòng lặp = giá trị đầu - giá trị cuối + 1
Số vòng lặp = giá trị cuối - giá trị đầu - 1
Số vòng lặp = giá trị cuối - giá trị đầu + 1
Hoạt động ngoài thực tế nào sau đây được lặp với số lần lặp biết trước?
Giặt đồ cho tới khi sạch
Trong năm học, mỗi tuần đi nhà sách một lần
Học bài cho tới khi thuộc bài
Gọi điện tới khi có người nghe máy
Phương án nào dưới đây là khai báo mảng hợp lệ?
Var mang : INTEGER OF ARRAY[0..10];
Var mang : ARRAY(0..10) : INTEGER;
Var mang : ARRAY[0..10] : INTEGER;
Var mang : ARRAY[0..10] OF INTEGER;
Đoạn chương trình sau có ý nghĩa gì:
FOR i:= 1 TO 10 DO
Readln(a[i]);
Write(a[8]);
Nhập giá trị cho các phần tử của mảng, xuất ra màn hình số 8
Yêu cầu người dùng nhập vào phần tử ở vị trí thứ 8 trong mảng
Nhập vào số 8
Nhập giá trị cho các phần tử của mảng, xuất ra màn hình giá trị phần tử ở vị trí thứ 8 trong mảng
Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
Dùng để quản lí kích thước của mảng
Dùng trong vòng lặp của mảng
Dùng để truy cập đến một phần tử bất kỳ trong mảng
Dùng trong vòng lặp với mảng để quản lý kích thước của mảng
Ý nghĩa đoạn chương trình sau:
FOR i:= 1 TO d DO
If(i mod 2 = 0) then writeln(i);
Tìm số nhỏ nhất từ 1 đến giá trị của biến a
Xuất ra màn hình các số lẻ từ 1 đến giá trị của biến a
Tìm số lớn nhất từ 1 đến giá trị của biến a
Xuất ra màn hình các số chẵn từ 1 đến giá trị của biến a
Kết quả của đoạn chương trình sau:
n := 7;
tong := 0;
while n>5 do
begin
tong := tong + n;
n := n - 1;
end;
write(tong);
21
Đáp án khác
13
26
Ý nghĩa đoạn chương trình sau:
FOR i:=1 TO 10 DO
Writeln('co gang 10 dem nhe!');
In ra màn hình 9 dòng chữ 'co gang 10 diem nhe!' (Kết quả không có dấu nháy đơn)
In ra màn hình 10 dòng chữ 'co gang 10 diem nhe!' (Kết quả không có dấu nháy đơn)
In ra màn hình 11 dòng chữ 'co gang 10 diem nhe!' (Kết quả không có dấu nháy đơn)
In ra màn hình 8 dòng chữ 'co gang 10 diem nhe!' (Kết quả không có dấu nháy đơn)
Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng cú pháp:
FOR i:=0 TO 9 DO a := a+1;
FOR i:=1 TO 10; DO a := a+1;
FOR i:=10 TO 1 DO a := a+1;
FOR i =10 TO 1 DO a := a+1;
Với ngôn ngữ lập trình Pascal câu lệnh lặp FOR i:= 1 TO 10 DO x:=x+1, thì BIẾN ĐẾM i phải được khai báo là kiểu dữ liệu nào?
String
real
Integer
Char
Pascal sử dụng câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước:
FOR...TO...DO
If...then
If...then...else
WHILE...DO
Cho biết kết quả của đoạn chương trình sau:
a := 10;
while (a>8) then write(a);
Xuất ra một lần số 10
Xuất ra mười lần số 10
Đáp án khác
Vòng lặp xuất ra số 10 vô hạn
Cú pháp lệnh lặp với số lần chưa biết trước:
While <điều kiện> TO <câu lệnh>;
While <điều kiện> TO <câu lệnh 1> DO <câu lệnh 2>;
While <điều kiện> DO <câu lệnh>;
While <điều kiện> DO ;<câu lệnh>;
Việc đầu tiên mà câu lệnh While ... DO cần thực hiện là gì?
Thực hiện <câu lệnh> sau từ khóa DO
Kiểm tra giá trị của <ĐIỀU KIỆN> trước DO
Thực hiện câu lệnh sau từ khóa Then
Kiểm tra <CÂU LỆNH> TRƯỚC TO
Để nhập giá trị cho biến mảng M có chỉ số thứ k, ta sử dụng lệnh sau:
Readln(M[k]);
Readln(k[M]);
Readln(k(M));
Không có đáp án đúng
Kết quả in ra màn hình của câu lệnh Writeln(‘5+20 = ‘, 20+5); là:
5+20=25
5+20=20+5
20+5=25
25 = 25
Xác định đề bài của đoạn chương trình sau:
Min:=a;If b>Min then Min:=b;
Tìm giá trị nhỏ nhất của hai số a và b
Tìm giá trị lớn nhất của hai số a và b
Tìm giá trị tổng của hai số a và b
Xét xem hai số có bằng nhau không
Để tìm giá trị lớn nhất của 2 số a, b thì ta viết:
Max:=a;If b>Max then Max:=b;
If (a>b) then Max:=a;If (b>a) then Max:=b;
Max:=b;If a>Max then Max:=a;
Tất cả đều đúng.
IF a>8 THEN b:=3 ELSE b:=5; Khi a nhận giá trị là 0 thì b nhận giá trị nào?
0
5
8
3
Chương trình sau cho kết quả là gì?
Var a, b,: real; x,: integer ;
Begin readln(a, b);
If a>b then x:=a else x:=b;
Write(x);
End.
Xuất ra màn hình số nhỏ nhất trong 2 số a, b đã nhập
Xuất ra màn hình số lớn nhất trong 2 số a, b đã nhập
Chương trình không thực hiện được do lỗi khai báo kiểu dữ liệu
Đảo giá trị của 2 biến a, b cho nhau
Chọn câu lệnh Pascal hợp lệ trong các câu sau:
If x: = a + b then x: = x + 1;
If a > b then max = a;
If a > b then max: = a ; else max: = b;
If 5 = 6 then x: = 100;
Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:
While S > = 108 do
While S < 108 do
While S < 1.0 E8 do
While S > = E8 do
Câu lệnh sau giải bài toán nào:
While M <> N do
If M > N then M:=M-N else N:=N-M;
Tìm UCLN của M và N
Tìm BCNN của M và N
Tìm hiệu nhỏ nhất của M và N
Tìm hiệu lớn nhất của M và N
Đoạn chương trình sau giải bài toán nào?
For I:=1 to M do
If (I mod 3 = 0) and (I mod 5 = 0) then
T := T + I;
Tổng những số chia hết cho 3 hoặc 5 trong khoanh vùng phạm vi từ 1 đến M
Tổng những số chia hết cho 3 và 5 trong khoanh vùng phạm vi từ 1 đến M
Tổng những số chia hết cho 3 trong khoanh vùng phạm vi từ 1 đến M
Tổng những số chia hết cho 5 trong khoanh vùng phạm vi từ 1 đến M
Cho chương trình viết bằng PASCAL sau đây : PROGRAM giaiPT; uses crt;
var A, B, C : real;
DELTA, X1, X2 : real;
BEGIN
write(‘ Nhap cac he so A, B, C : ’);
readln(A, B, C);
DELTA := B*B – 4*A*C;
if DELTA > 0 then
begin
X1 := ( – B – SQRT(DELTA) ) / (2*A);
X2 := – B / A – X1;
writeln(‘ X1 = ’, X1);
writeln(‘ X2 = ’, X2);
end;
readln
END.
Hãy chọn phát biểu sai trong các phát biểu sau đây:
Đây là chương trình giải phương trình bậc hai nhưng không đưa ra thông báo gì khi chương trình có nghiệm kép;
Đây là chương trình giải và thông báo nghiệm của một phương trình bậc hai nếu phương trình đó có nghiệm;
Đây là chương trình giải phương trình bậc hai, nhưng không đưa ra thông báo
Đây là chương trình giải phương trình bậc hai nhưng chưa xét hết các trường hợp;
Trong các ngôn ngữ lập trình bậc cao thường có cấu trúc lặp để mô tả việc lặp đi lặp lại một số thao tác nào đó khi một điều kiện cho trước được thỏa mãn.
Để tổ chức việc lặp như vậy PASCAL dùng câu lệnh WHILE – DO có dạng: WHILE <điều kiện> DO <câu lệnh>;
Chọn phát biểu đúng trong các phát biểu dưới đây:
Khi xác định được trước số lần lặp vẫn có thể dùng cấu trúc lặp WHILE – DO.
Câu lệnh sau DO bao giờ cũng được thực hiện ít nhất một lần.
Biểu thức điều kiện được tính và kiểm tra, nếu biểu thức đó sai thì câu lệnh sau DO được thực hiện.
điều kiện trong cấu trúc lặp WHILE – DO có thể là một biểu thức kiểu nguyên hoặc kiểu kí tự.
Cho hai dạng lặp FOR – DO trong PASCAL như sau :
Dạng lặp tiến : FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO <câu lệnh> ;
Dạng lặp lùi : FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh> ;
Chọn phát biểu đúng trong các phát biểu sau đây:
Ở dạng lặp lùi câu lệnh sau DO được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối.
Ở dạng lặp tiến câu lệnh sau DO luôn được thực hiện ít nhất một lần.
Biểu thức giá trị đầu và biểu thức giá trị cuối có thể thuộc kiểu số thực.
Ở dạng lặp lùi câu lệnh sau DO có thể không được thực hiện lần nào, đó là trường hợp giá trị cuối nhỏ hơn giá trị đầu.
Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây là đúng với cấu trúc lặp While có một lệnh con?
While (a>5) and (a<17) do a := a – 1
While (a>5) and (a<17) do ; a := a – 1 ;
While (a>5) and (a<17) do a := a – 1
While a>5 and a<17 do a := a – 1 ;
Hãy chọn cách dùng sai. Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau:
if A < B then X := A else X := B;
X := B; if A < B then X := A;
if A <= B then X := A else X := B;
if A < B then X := A
Tham chiếu đến phần tử thứ i của mảng D được xác định bởi:
D[',i',]
D['i']
D[i]
D(i)
Biểu thức điều kiện để kiểm tra một phần tử thứ i của mảng A có nằm trong (-5;10)?
(A[i] > -5) or (A[i] < 10)
(A[i] < -5) and (A[i] >10 )
(-5 < A[i] < 10)
(A[i] > -5) and (A[i] < 10)
Đoạn chương trình sau:
M:=1;
for i:= 1 to 5 do M:= M*1;
write(M);
cho biết kết quả?
15
5
0
120
Đoạn chương trình sau là gì:
for i:= 10 down 1 do write (i,' ');
2 4 5 6 7 8
1 2 3 4 5 6 7 8 9 10
Câu lệnh sai
10 9 8 7 6 5 4 3 2 1
Đoạn chương trình sau là gì:
for i:= 10 downto 1 to write (i,' ');
2 4 5 6 7 8
1 2 3 4 5 6 7 8 9 10
Câu lệnh sai
10 9 8 7 6 5 4 3 2 1
Đoạn chương trình sau là gì:
for i:= 1 do 10 to write (i,' ');
2 4 5 6 7 8
1 2 3 4 5 6 7 8 9 10
Câu lệnh sai
10 9 8 7 6 5 4 3 2 1
Trong câu lệnh lặp: for n:= 1 to 10 do begin ... end;
Câu lệnh ghép được thực hiện bao nhiêu lần?
10 lần
5 lần
1 lần
Không đời nào
Khai báo biến mảng: A : array[1..7] of real;. Sử dụng câu lệnh For i:= 1 to 5 do readln(A[i]); để gán giá trị cho các phần tử trong biến A từ bàn phím, ta sẽ nhập được bao nhiêu giá trị?
4
5
6
7
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?
20
18
21
22
Cho đoạn chương trình Pascal sau đây:
tong:= 20;
While tong>= 10 do
tong:=tong - 1;
Sau khi đoạn chương trình trên được thực hiện, giá trị của tổng bằng bao nhiêu:
19
9
21
10
Sau khi đoạn chương trình sau được thực hiện, giá trị của biến S bằng bao nhiêu:
S:= 0;
for i:= 1 to 5 do S:= S + 1;
5
10
15
20
Khi thực hiện đoạn chương trình sau:
n:= 1; T:= 50;
While n>20 do
begin
n:=n+5;
T:=T - n
end;
Hãy cho biết giá trị của biến T bằng bao nhiêu?
14
17
16
50
Sau khi đoạn chương trình sau được thực hiện, giá trị của biến S bằng bao nhiêu:
S:= 0;
for i:= 1 to 5 do S:= S + i;
5
10
15
20
Khi thực hiện đoạn chương trình sau:
n:= 25; T:= 50;
While n>20 do
begin
n:=n+5;
T:=T - n
end;
Hãy cho biết giá trị của biến T bằng bao nhiêu?
14
17
16
50
Lặp vô hạn
Em hiểu câu lệnh lặp theo nghĩa nào dưới đây?
Một lệnh thay cho nhiều lệnh.
Các câu lệnh được viết lặp đi lặp lại nhiều lần.
Vì câu lệnh đã có tên là lệnh lặp.
Cả a, b, c đều sai.
Cho đoạn chương trình sau:
n:=1;
While n<10 do
Begin
n:=n+1;
Writeln(‘ xin chao’);
end;
Khi thực hiện chương trình câu “ xin chao” được viết ra màn hình mấy lần?
0
10
9
Vòng lặp vô tận
Cho đoạn chương trình: j := 0; k := 2;
For i := 1 to 5 do j := j + 2; k := k + j;
Sau khi thực hiện đoạn chương trình trên, giá trị của biến k bằng bao nhiêu?
12
22
32
42
Sau khi đoạn chương trình sau được thực hiện, giá trị của biến S bằng bao nhiêu:
S:= 10;
for i:= 1 to 2 do S:= S - i;
5
10
15
7
Trong Pascal, câu lệnh nào sau đây được viết đúng?
for i:= 4 to 1 do writeln(‘A’);
for i= 1 to 10 writeln(‘A’);
for i:= 1 to 10 do writeln(‘A’);
for i to 10 do writeln(‘A’);
Trong câu lệnh lặp:
For i := 1 to 10 do j:= j + 2; write( j );
Khi kết thúc câu lệnh lặp trên, câu lệnh write( j ); được thực hiện bao nhiêu lần?
10 lần
1 lần
5 lần
Không thực hiện
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?
12
22
15
42
Trong Pascal, câu lệnh nTrong Pascal, câu lệnh nào sau đây là đúng?ào sau đây là đúng?
S:=1;
S:=2; While S<10 do write(S);
n:=2 while n<5 do write(‘A’);
Cả A và B.
Cho đoạn chương trình:
J:= 0;
For i:= 1 to 5 do J:= J+ 1;
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?
2
3
4
5
Khi thực hiện đoạn chương trình sau:
n:=1; T:=14;
While n>20 do
begin
n:=n+5;
T:=T – n;
end;
Hãy cho biết giá trị của biến T bằng bao nhiêu?
14
15
16
17
Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng:
Chỉ số đầu và chỉ số cuối là 2 số nguyên.
Chỉ số đầu nhỏ hơn chỉ số cuối.
Kiểu dữ liệu có thể là integer hoặc real.
Cả ba ý trên.
Cho biết giá trị của biến x và y sau khi thực hiện đoạn chương trình sau:
X:= 0; Y:= 3;
For i:= 1 to 4 do
X:= X + Y;
11
12
13
14
