Tải bản đầy đủ (.pdf) (44 trang)

Ngân hàng câu hỏi trắc nghiệm lập trình Pascall

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (140.47 KB, 44 trang )

NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM
Môn: Lập Trình Pascal

Câu hỏi: Pascal là một phần mềm chạy trên môi trường?
A. HĐH Windows và HĐH MS_Dos
B. Hệ điều hành Dos
C. Hệ điều hành Windows
D. Không cần HĐH nào

Câu hỏi: Một chương trình Pascal gồm có 3 phần:
Phần tiêu đề - Phần khai báo - Phần thân chương trình.
Phần nào là phần bắt buộc phải có đối với mọi chương trình của Pascal?
A. Phần thân chương trình
B. Phần tiêu đề
C. Phần khai báo
D. Cả 3 phần trên

Câu hỏi: Pascal có thể xử lý được bao nhiêu phép tính số học?
A. 6 phép toán số học
B. 4 phép tính số học
C. 5 phép tính số học
D. 7 Phép tính số học

Câu hỏi: Lệnh IF THEN ELSE thuộc lệnh nào sau đây?
A. Lệnh rẽ nhánh
B. Lệnh chọn lựa
C. Lệnh ghép
D. Lệnh vòng lặp

Câu hỏi: Lệnh CASE OF thuộc loại lệnh nào sau đây?
A. Lệnh chọn lựa


B. Lệnh rẽ nhánh
C. Lệnh ghép
D. Lệnh vòng lặp

Câu hỏi: Lệnh WHILE DO thuộc loại lệnh nào sau đây?
A. Lệnh vòng lặp
B. Lệnh rẽ nhánh
C. Lệnh chọn lựa
D. Lệnh ghép

Câu hỏi: Lựa chọn các phương án sau đây để điền vào phần cho đúng?
( =Hằng cận dưới Hằng cận trên;)
A. Tên kiểu đoạn con
B. Tên biến
C. Tên kiểu liệt kê
D. Tên kiểu dữ liệu mới

Câu hỏi: Dòng lệnh nào sau đây dùng để nhập dữ liệu từ bàn phím?
A. Readln(a);
B. Write('Nhap vao a:');
C. Writeln('Go va a:');
D. Cả 3 lệnh trên

Câu hỏi: Hãy lựa chọn câu lệnh sai cho các dòng lệnh sau:
A. Program Phuong Trinh Bac2;
B. Program PhuongTrinhBac2;
C. Program Phuong_Trinh_Bac2;
D. Cả 3 câu trên

Câu hỏi: Hãy lựa chọn câu lệnh sai cho các câu lệnh sau:

A. GoToXY(85,4); Write('a');
B. GoToXY(10,4); Write('a');
C. GoToXY(10,10); Write('a');
D. GoToXY(4,10); Write('a');

Câu hỏi: Hãy lựa chọn câu lệnh đúng cho các câu lệnh sau:
A. IF a>b THEN Write('a la so lon nhat');
B. IF a>b THEN; Write('a la so lon nhat');
C. IF a>b THEN Write('a la so lon nhat'); ELSE Write('b la so lon nhat');
D. IF a>b THEN; Write('a la so lon nhat') ELSE Write('b la so lon nhat');

Câu hỏi: Nếu có dòng lệnh sau đây: X1:=(-b+sqrt(delta))/(2*a);
Khi đó khai báo biến X1 phải là biến dữ liệu kiểu?
A. Real
B. Integer
C. Boolean
D. Longint

Câu hỏi: Để câu lệnh xoá màn hình (Clrscr) thực hiện được, phần khai báo
phải dùng lệnh:
A. Uses Crt;
B. Var
C. Label
D. Type

Câu hỏi: Các lệnh vòng lặp sau đây lệnh nào là lệnh vòng lặp có số lần lặp
xác định:
A. For To Do
B. While Do
C. Repeat Until

D. Cả 3 lệnh trên

Câu hỏi: Các lệnh sau đây lệnh nào là lệnh đúng?
A. For i:=1 To 10 Do
B. For i:=10 To 1 Do
C. For i:=1 DowvTo 10 Do
D. For i:='z' To 'a' Do

Câu hỏi: Chọn câu lệnh sai cho các câu lệnh sau:
A. Ho=String[256];
B. Ho=String[253];
C. Ho=String[254];
D. Ho=String[255];

Câu hỏi: Chọn câu lệnh sai cho các câu lệnh sau:
A. TextCoLo(16);
B. TextCoLo(13);
C. TextCoLo(14);
D. TextCoLo(15);

Câu hỏi: Chọn câu lệnh sai cho các câu lệnh sau:
A. Write('Nhap vao x, y:'); Readln(y,x);
B. Write('Nhap vao x, y:'); Readln(x,y);
C. Write('Nhap vao a, b, c:'); Readln(a,b,c);
D. Write('Nhap vao a, b:'); Readln(a,b);

Câu hỏi: Có công thức tính như sau: Delta=b
2
-4ac. Các dòng lệnh Pascal
sau đây lệnh nào đúng?

A. Delta:=Sqr(b)-4*a*c;
B. Delta:=Sqr(b-4*a*c);
C. Delta:=Sqr(b)-4ac;
D. Delta:=(b*b-4ac);

Câu hỏi: Nếu X là một biến số thực (Real) thì X có thể được sử dụng vào
trong các lệnh nào sau đây?
A. IF THEN ELSE
B. For To Do
C. While Do
D. Repeat Until

Câu hỏi: Chỉ ra câu lệnh sai trong các câu lệnh sau:
A. IF c<d Then Max:=c;
B. IF a>b Then Max:=a;
C. IF a>b Then Max:=a Else Max:=b;
D. IF c>d Then Max:=c Else Max:=d;

Câu hỏi: Nếu n là một biến số nguyên (Integer) thì n có thể được sử dụng
vào trong các câu lệnh Pascal nào sau đây?
A. Cả 3 lệnh
B. For To Do
C. Repeat Until
D. Case Of

Câu hỏi: Câu lệnh nào dưới đây có kết quả là 4?
A. 25 DIV 6;
B. 25 DIV 9;
C. 25 DIV 7;
D. 25 DIV 5;


Câu hỏi: Câu lệnh nào sau đây có kết quả là 1?
A. MOD 7;
B. 25 MOD 9;
C. 25 MOD 6;
D. 25 MOD 5;

Câu hỏi: Nếu khai báo biến x thuộc kiểu Word (số nguyên mở rộng) thì x
có phạm vi biểu diễn nào sau đây?
A. 0 65535
B. -214783648 214783647
C. -32768 32767
D. 0 255

Câu hỏi: Nếu khai báo biến x thuộc kiểu Doule thì x có kích thước (tính
bằng Byte) nào dưới đây?
A. 8 Byte
B. 6 Byte
C. 4 Byte
D. 10 Byte

Câu hỏi: Nếu khai báo biến x thuộc kiểu Integer thì x có kích thước nào
sau đây?
A. 2 Byte
B. 1 Byte
C. 3 Byte
D. 4 Byte

Câu hỏi: Nếu có một kiểu liệt kê sau: Color=(Black, Blue, Green, Red,
White);

Các kiểu quan hệ sau quan hệ nào đúng?
A. Black < Blue
B. Black > Green
C. Black > Blue
D. Blue > Green

Câu hỏi: Chọn phương án đúng trong các lựa chọn sau?
A. S:=7*3; Case S Of
B. S:=7/3*4; Case S Of
C. S:=7/3; Case S Of
D. S:=73/+3 Case S Of

Câu hỏi: Số lần lặp được xác định như sau: (Giá trị cuối) - (Giá trị đầu) + 1:
Câu khẳng định trên được áp dụng cho vòng lặp nào sau đây?
A. For To Do
B. For DownTo Do
C. While Do
D. Repeat Until

Câu hỏi: "Giá trị đầu luôn nhỏ hơn giá trị cuối": Câu khẳng định trên được
áp dụng cho vòng lặp nào sau đây?
A. For To Do
B. For DownTo Do
C. While Do
D. Repeat Until

Câu hỏi: Trong các mảng 1 chiều dưới đây mảng nào có số phần tử là 21?
A. T=Array [-1 19] Of Integer;
B. T=Array ['A' 'Y'] Of Integer;
C. T=Array [-1 21] Of Integer;

D. T=Array ['A' 'Z'] Of Integer;

Câu hỏi: Có 1 mảng 2 chiều sau: R=Array [1 4,'A' 'E'] Of Char; Xác
định số phần tử của mảng R;
A. 20 Phần tử
B. 13 Phần tử
C. 14 Phần tử
D. 15 Phần tử

Câu hỏi: Mảng nào sau đây là mảng 2 chiều "Vuông"?
A. R=Array[3 6,'B' 'E'] Of Char;
B. R=Array[1 5,'A' 'D'] Of Char;
C. R=Array[3 5,'A' 'D'] Of Char;
D. R=Array['A' 'D', 3 5] Of Char;

Câu hỏi: Các lệnh sau đây lệnh nào thuộc dạng hàm?
A. Sqrt(x);
B. Readln(x);
C. Write(x);
D. Clrscr;

Câu hỏi: Một chương trình Pascal giải và biện luận phương trình bậc 2.
Phần nào sau đây bắt buộc phải có?
A. Phần khai báo và thân chương trình
B. Phần tiêu đề và thân chương trình
C. Phần thân chương trình
D. Cả 3 phần

Câu hỏi: Khi viết chương trình Pascal có chương trình con thì sẽ hình
thành 2 loại biến:

Biến toàn cục (Global) và biến cục bộ (Local). Khi đó biến cục bộ?
A. Là biến được khai báo trong chương trình con
B. Là biến được khai báo trong chương trình chính
C. Là biến được khai báo trong chương trình chính và chương trình con
D. Là biến không cần phải khai báo

Câu hỏi: Các khai báo hằng (CONST) nào sau đây đúng?
A. CONST Pi=3.14;
B. CONST Pi:=3.14;
C. CONST Pi:3.14;
D. CONST Pi=3.14.

Câu hỏi: Nhóm lệnh nào sau đây đúng?
A. Write('Nhap he so a,b:'); Readln(a,b);
B. Write('Nhap he so a,b:'); Readln(ab);
C. Write('Nhap he so a,b:'); Readln(a:b);
D. Write('Nhap he so b,a:'); Readln(a,b);

Câu hỏi: Nếu S là một biến nguyên (Integer). Cách viết ra màn hình nào
sau đây đúng?
A. Write(S);
B. Write('S');
C. Write('S=,S:8:2');
D. Write('S la: S');

Câu hỏi: Lệnh: Uses Crt; Là một lệnh?
A. Thủ tục xử lý màn hình
B. Thủ tục xử lý đồ hoạ
C. Hàm xử lý màn hình
D. Hàm xử lý đồ hoạ


Câu hỏi: GOTO là một lệnh?
A. Lệnh nhảy không điều kiện
B. Lệnh nhảy có điều kiện
C. Lệnh nhảy có cấu trúc
D. Không phải lệnh của 3 lựa chọn trên.

Câu hỏi: Có công thức: s=
)(*)(*)(* cpbpapp −−−
.
Cách biểu diễn công thức bằng Pascal dưới đây biểu diễn nào đúng?
A. S:=Sqrt(p*(p-a)*(p-b)*(p-c));
B. S:=Sqrt(p)*(p-a)*(p-b)*(p-c);
C. S:=Sqrt(p*p-a)*(p-b)*(p-c));
D. S:=Sqrt(p*(p-a)*(p-b)*(p-c);

Câu hỏi: Có dòng lệnh để tính giai thừa sau: P:=1; For i:=1 To n
Do P:=P*i;
Nếu n=4 Kết quả của P sẽ là:
A. 24
B. 21
C. 22
D. 23

Câu hỏi: Có dòng lệnh để tính giai thừa sau: P:=n; For i:=n-1
DownTo 1 Do P:=P*i;
Nếu n=3 Kết quả của P sẽ là:
A. 6
B. 5
C. 4

D. 7

Câu hỏi: Nếu có hai chuỗi sau: 'Thanh Nam' "Thanh NAM"
A. 'Thanh Nam' > 'Thanh NAM'
B. 'Thanh Nam' = 'Thanh NAM'
C. 'Thanh Nam' < 'Thanh NAM'
D. Hai chuỗi trên không so sánh được.

Câu hỏi: HoTen:='Le Dinh Trinh'; D:=Lenght(HoTen); Khi đó độ dài của
D là?
A. 13
B. 11
C. 12
D. 10

Câu hỏi: Nếu S:='12/03/1988' khi đó kiểu dữ liệu của biến S sẽ là:
A. Dạng chuỗi
B. Dạng ngày tháng
C. Dạng số
D. Không là các kiểu dữ liệu trên

Câu hỏi: Để thoát ra khỏi chương trình Pascal cần sử dụng tổ hợp phím:
A. Alt + x
B. Ctrl + x
C. Shift + x
D. Cả 3 cách

Câu hỏi: Để chạy một chương trình trong Pascal cần sử dụng tổ hợp
phím:
A. Alt + F9

B. Ctrl + F9
C. Shift + F9
D. Một trong 3 cách

Câu hỏi: Để lưu một tệp tin trong Pascal cần sử dụng
A. F2
B. Edit/Save
C. Edit/Save As
D. Một trong 3 cách

Câu hỏi: Những từ sau đây từ nào không phải là tên chuẩn trong Pascal
A. HoTen
B. Integer
C. Char
D. Boolean

Câu hỏi: Kết quả của biểu thức Logic (Boolean) có dung lượng bao nhiêu
Byte
A. 1 Byte
B. 2 Byte
C. 3 Byte
D. 4 Byte

Câu hỏi: Nếu x=1 y=1 thì x and y =?
A. 1
B. 0
C. 2
D. 10

Câu hỏi: Nếu x=0 y=1 thì x or y =?

A. 1
B. 0
C. 2
D. 10

Câu hỏi: Các câu lệnh sau câu lệnh nào là câu lệnh đơn giản?
A. Lệnh gán (:=)
B. If Then Else
C. Case Of
D. For To Do

Câu hỏi: Trong các kiểu dữ liệu dưới đây kiểu nào là kiểu dữ liệu không
đếm được?
A. Single
B. Byte
C. Word
D. Integer

Câu hỏi: Trong vòng lặp For (Biến:=Giá trị đầu) To (Giá trị cuối) Do
Biến, Giá trị đầu, Giá trị cuối phải có kiểu dữ liệu nào?
A. Kiểu vô hướng đếm được
B. Kiểu Real
C. Kiểu Single
D. Kiểu Extended

Câu hỏi: Nếu S:=1/2 + 1/4 = ?
Giá trị của S là:
A. 0.75
B. 0.50
C. 1.75

D. 0.25

Câu hỏi: Các từ sau đây từ nào là từ tự đặt?
A. HoTen
B. Integer
C. Real
D. Char

Câu hỏi: Tính cấu trúc của ngôn ngữ Pascal được thể hiện:
A. Cả 3 lựa chọn
B. Trong việc tổ chức các dữ liệu
C. Trong việc tổ chức các câu lệnh
D. Trong việc tổ chức các chương trình

Câu hỏi: Điều gì làm cho Pascal trở thành một trong những ngôn ngữ cơ
bản và phổ biến nhất hiện nay?
A. Cả 3 lựa chọn
B. Là một ngôn ngữ đầu tiên đưa ra và thể hiện được khái niệm lập trình có
cấu trúc
C. Là một ngôn ngữ chặt chẽ cả về mặt cú pháp và về mặt dữ liệu
D. Là một ngôn ngữ có văn phạm sáng sủa, dễ hiểu, có khả năng đủ mạnh

Câu hỏi: Khẳng định nào sau đây đúng?
A. VAR, BEGIN, end là các từ khoá của Pascal được khái niệm lập trình có
cấu trúc
B. Các ký hiệu a, b, g, đ đều thuộc bộ ký tự cơ bản của pascal
C. var, begin, integer, real là các từ khoá của pascal
D. VAR, Var, vaR, var là các từ khoá khác nhau của Pascal

Câu hỏi: Tên nào đặt sai quy định của Pascal?

A. Noi sinh
B. Giai_Phuong_Trinh_bac2;
C. NgaySinh;
D. Sv2007;

Câu hỏi: Mục nào có các tên đều đặt đúng quy định của Pascal?
A. Xx1, X2;
B. x1, X-2;
C. CONST, X-234;
D. X[1], x2;

Câu hỏi: Chọn câu sai: Trong một chương trình Pascal có thể không có:
A. Phần thân chương trình
B. Phần khai báo biến
C. Phần tiêu đề chương trình
D. Phần khai báo hằng

Câu hỏi: Dấu hiệu kết thúc của một chương trình Pascal là:
A. end.
B. End;
C. END;
D. End!

Câu hỏi: Trong pascal lệnh nào có tác dụng xoá màn hình
A. clrscr;
B. Clrsscr;
C. Clrssr;
D. Clrscl;

Câu hỏi: Các khẳng định sau khẳng định nào sai trong Turbo Pascal:

A. Để mở một tệp tin cũ gõ phím F1
B. Để lưu chương trình lên đĩa gõ phím F2 hoặc chọn File/Save
C. Để tìm lỗi cú pháp của chương trình gõ phím Alt + F9 hay F9
D. Để chạy chương trình gõ Ctrl + F9 hoặc chọn lệnh Run/Run


Câu hỏi: Có khai báo biến Var m,n: Integer; x,y: Real; Lệnh nào
sau đây sai?
A. n:=3.5;
B. m:= -4;
C. x:=6;
D. y:=+10.5;

Câu hỏi: Để tính giá trị của biểu thức
a
b
x
2

=
chọn cách biểu diễn bằng
Pascal nào sau đây?
A. x:=-b/2/a;
B. x:=-b/2a;
C. x:=-b/2*a;
D. x:=(-b/2a);

Câu hỏi: Có biểu thức: 25 DIV 3 + 5/2*3 có giá trị là:
A. 15.5
B. 8.5

C. 15
D. 9.5

Câu hỏi: X được khai báo là kiểu Integer. Lệnh nào sai:
A. x:=Sqrt(49);
B. x:=210 div 4;
C. x:=Abs(-453);
D. x:=round(275/3);

Câu hỏi: Biểu thức nào sau đây có giá trị True
A. not(49.5 + 2 < 5) or (2 > 4 div 2);
B. (100 > 76 ) and ('b' < 'a');
C. (49.5 + 2 < 5) and (2< div 2);
D. 2*(3 + 5) < 18 div 4*4;

Câu hỏi: Khi chạy chương trình:
Var St, St1: String;
Begin St:='522';
St1:='225';
Write(St+St1);
end.
Kết quả in ra sẽ là?
A. 522225
B. '522225'
C. 747
D. Cả 3 câu đều sai

Câu hỏi: Khi chạy chương trình:
Var a, b, c, N: Integer;
Begin

N:=546;
a:= N Div 100; b:=(N Mod 100) Div 10; c:=(N Mod 100) Mod 10;
Write(a+b+c);
end.
Kết quả in lên màn hình là:
A. 15
B. 546
C. 5
D. 6

Câu hỏi: Cho x, y, z là các biến kiểu thực (real). Lệnh nào sau đây sai?
A. x + y:=z;
B. z:=x + y;
C. Readln(x,y,z);
D. Writeln(x+y, z:0:2);

Câu hỏi: Cho x, y là các biến kiểu thực (real). Lệnh nào sau đây đúng?
A. Readln(x,y);
B. Readln('x=' ,x);
C. Readln(x,5);
D. Readln(x:5:2;

Câu hỏi: Có biểu thức: x:=4 Div 6 + 6/3 Khi đó kiểu dữ liệu của x là:
A. Real
B. Integer
C. Char
D. Boolean

Câu hỏi: Khai báo kiểu liệt kê sau là sai vì:
Type Mau=(XANH, do, tim, Vang); vì:

A. Tên "do" trùng với từ khoá
B. Tên "XANH" viết chữ hoa
C. Tên "Vang" có chữ V hoa
D. Tên "tim" viết chữ thường

Câu hỏi: Khai báo nào sau đây đúng?
A. Var x, y: Integer;
B. Var x, y=Integer;
C. Var x, y Of Integer;
D. Var x, y := Integer;

Câu hỏi: Cho khai báo: Var ho, Ten: String[15]; Lệnh nào sau đây sai?
A. Write('Ho ten la:'; Ho; Ten);
B. Write('Ho ten la:' + Ho + Ten);
C. Write('Ho ten la:', Ho, Ten);
D. Write('Ho ten la:', Ho + Ten);

Câu hỏi: Cho i, j, k là 3 biến nguyên. Để nhập dữ liệu cho lệnh:
Readln(i, j, k);
Cách nhập nào sau đây sai?
A. 3, 4, 5?
B. 3 4 5?;
C. 3? 4? 5?;
D. Cả 3 đều sai

Câu hỏi: Lệnh nào sau đây in ra màn hình số lớn nhất giữa A và B?
A. If A>B Then Write(A) Else Write(B);
B. If A<B Then Write(A) Else Write(B);
C. If A>B Then Readln(A) Else Readln(B);
D. If A>B Then Write(B) Else Write(A);


Câu hỏi: Cho N là biến kiểu nguyên, chọn câu đúng cú pháp
A. If N<10 Then Write('Nho hon 10') Else Write('Lon hon 10');
B. If N<10 Then Write('Nho hon 10'); Else Write('Lon hon 10');
C. If N<10 Write('Nho hon 10') Else Then Write('Lon hon 10');
D. If N<10 Then N:=10 Else N>20 Write('N>20');

Câu hỏi: Kiểm tra 3 số a, b, c đều lớn hơn 1 thì in số 1. Chọn lệnh nào?
A. if (a>1) and (b>1) and (c>1) Then Write(1);
B. if (a>1) or (b>1) or (c>1) Then Write(1);
C. if (a>1 and b>1 and c>1) Then Write(1);
D. if a,b,c đều>1 Then Write(1);

Câu hỏi: Cho i là biến nguyên. Sau khi thực hiện các lệnh:
i:=2;
Case i Of
1: i:=i+1;
2: i:=i+2;
3: i:=i+3;
End;
Kết quả in ra màn hình là:
A. 4
B. 2
C. 3
D. 5

Câu hỏi: Cho N là biến nguyên, sau khi thực hiện các lệnh:
N:=9;
if N<0 Then Writeln('So am') Else
Case N Mod 2 Of

0: Write('Chan');
1: Write('Le');
End;
Kết quả in ra màn hình là:
A. Le
B. Chan
C. So am
D. Không in gì cả

Câu hỏi: Giả sử i là biến nguyên, sau khi thực hiện các lệnh:
i:=5;
Case i Of
1: i:=i+1;
2: i:=i+2;
3: i:=i+3;
Else i:=i*2;
End;
Giá trị sau cùng của i là:
A. 10
B. 6
C. 8
D. 9

Câu hỏi: Cho ch là biến ký tự, i là biến nguyên, sau khi thực hiện các
lệnh:
i:= -15;
ch:='E';
Case i of
0 14: ch:='D';
15 20: ch:='C';

21 24: ch:='B';
Else ch:='A';
End;
Giá trị sau cùng của ch là:
A. 'A'
B. 'B'
C. 'C'
D. 'D'

Câu hỏi: Khi chạy chương trình:
Var s, i: Integer;
Begin
i:=3; s:=40;
if (i>5) Then s:=5*3 + (5-1) *2
Else if (i>2) Then s:=5*i Else s:=0;
End;
Giá trị sau cùng của s là:
A. 15
B. 0
C. 19
D. 40

Câu hỏi: Cho S và i là biến nguyên. Khi chạy chương trình:
S:=0;
For i:=1 To 10 Do S:=S+i;
Writeln(S);
Kết quả in lên màn hình là:
A. 55
B. 11
C. 100

D. 101

Câu hỏi: Cho S, i và N>0 là các biến nguyên. Để tính S=N! chọn câu lệnh
nào dưới đây?
A. S:=1; For i:=1 To N Do S:=S*i;
B. S:=0; For i:=1 To N Do S:=S*i;
C. S:=1; For i:=1 To N Do S:=S*N;
D. S:=1; For i:=1 To N Do S:=S+i;

Câu hỏi: Cho S=1
2
+ 2
2
+ +100
2
. Chọn nhóm lệnh nào tính sai giá trị của
S?
A. S:=1; For i:=1 To 100 Do S:=S+i*i;
B. S:=0; For i:=1 To 100 Do S:=S+i*i;
C. S:=0; For i:=1 To 100 Do S:=S+Sqr(i);
D. S:=0; For i:=100 DownTo 1 Do S:=S+i*i;

Câu hỏi: Cho S và i là biến kiểu nguyên. Khi chạy đoạn chương trình:
S:=0; i:=1;
While i<6 Do
Begin
S:=S+i;
i:=i+2;
End;
Giá trị sau cùng của S là?

A. 9
B. 6
C. 11
D. 0

Câu hỏi: Khi chạy chương trình:
Var S, i: Integer;
Begin
S:=0; i:=1;
Repeat
S:=S+i*i;
i:=i+1;
Until i>4;
End.
Giá trị sau cùng của S là?
A. 30
B. 0
C. 16
D. 14

Câu hỏi: Cho i là biến nguyên. Khi chạy đoạn chương trình:
i:=5;
Repeat
i:=i+1;
Until i>5;
Giá trị sau cùng của i là?
A. 6
B. 4
C. 5
D. 0


Câu hỏi: Cho m, n, i là các biến nguyên. Khi chạy chương trình:
m:=1; n:=5; i:=5;
Repeat
i:=i+1;
Until (i mod m=0) and (i mod n=0);
Giá trị sau cùng của i là?
A. 10
B. 5
C. 4
D. 0

Câu hỏi: Cho chương trình:
Var A: Real;
Begin
. . .
While A=0 Do
Begin
Write('Nhap A <> 0:'); Readln(A);
End;
End.
Để lệnh Readln(A); được thực hiện ít nhất một lần, phải điền vào chỗ . . . lệnh
nào trong số các lệnh sau:
A. A:=0;
B. A:=1;
C. A:=-1;
D. A<>0;

Câu hỏi: Giả sử các khai báo biến đều hợp lệ. Để tính S=10!, chọn câu
nào?

A. S:=1; i:=1;
! While i<10 Do
! Begin
! S:=S*i; i:=i+1;
! End;
B. S:=0; i:=1;
! While i<10 Do
! Begin
! S:=S*i; i:=i+1;
! End;
C. S:=1; i:=1;
! While i<10 Do
! S:=S*i; i:=i+1;
D. S:=1; i:=1;
! While i<10 Do
! i:=i+1; S:=S*i;

Câu hỏi: Các khai báo nào sau đây đúng?
A. Var A: Array[1 10] Of Integer;
B. Var A= Array[1 10] Of Integer;
C. Var A:= Array[1 10] Of Integer;
D. Var A: Array[1,10] Of Integer;

Câu hỏi: Cho khai báo:
Var A:Array[1 4] Of Real; i:Integer; Để nhập dữ liệu cho A, chọn câu nào?
A. For i:=1 To 4 Do Begin Write('Nhap A[',i,']:'); Readln(A[i]); End;
B. For i:=1 To 4 Do Write('Nhap A[',i,']:'); Readln(A[i]);
C. For i:=1 To 4 Do Readln('Nhap A[',i,']:');
D. Write('Nhap A:'); Readln(A);


Câu hỏi: Cho khai báo:
Var A: Array[1 5] Of Integer; Chọn lệnh đúng
A. A[2]:=-6;
B. A[1]:=4/2;
C. A(3):=6;
D. A:=10;

Câu hỏi: Trong khai báo sau còn bỏ trống . . . một chỗ, vì chưa xác định
được kiểu dữ liệu của biến Max:
Var A: Array['a' 'd'] Of Real;
Ch: Char;
Max: . . .;
Muốn biến Max lưu giá trị lớn nhất của mảng A thì cần khai báo biến Max kiểu
dữ liệu gì vào chỗ . . . ?
A. Real;
B. Char
C. Integer
D. String

Câu hỏi: Cho khai báo:
Var A: Array[1 4] of Integer; i:Integer;
Sau khi thực hiện các lệnh:
For i:=1 To 4 Do A[i]:=i;
For i:=1 To 4 Do A[i]:=A[i]+1;
Thì mảng A có giá trị là?
A. A[1]=2, A[2]=3, A[3]=4, A[4]=5
B. A[1]=1, A[2]=2, A[3]=3, A[4]=4
C. A[1]=0, A[2]=1, A[3]=2, A[4]=3
D. A[1]=1, A[2]=1, A[3]=1, A[4]=1


Câu hỏi: Khai báo nào sau đây đúng?
A. Const n=2; m=3; Var A:Array[1 n, 1 m] Of Integer;
B. Var A:Array[1 n, 1 m] Of Integer;
C. Var n, m:Integer; A:Array[1 n, 1 m] Of Integer;
D. Var A:Array[3,2] Of Integer;

Câu hỏi: Cho khai báo:
Var A:Array[1 2, 1 3] Of Real; i,j: Integer;
Để nhập dữ liệu cho ma trận A chọn:
A. For i:=1 To 2 Do
! For j:=1 To 3 Do
! Begin Write('Nhap A[',i,j,']:'); Readln(A[i,j]); End;
B. For i:=1 To 2 Do
! For j:=1 To 3 Do
! Write('Nhap A[',i,j,']:'); Readln(A[i,j]);
C. Write('Nhap A:'); Readln(A);
D. For i:=1 To 2 Do Readln((A[i,j]);

Câu hỏi: Cho khai báo:
Var A:Array[1 2,1 3] Of Real;
i,j: Integer; Max:Real;
Để tìm số lớn nhất của ma trận A. Chọn câu nào?
A. Max:=A[1,1];
! For i:=1 To 2 Do
! For j:=1 To 3 Do
! If Max < A[i,j] Then Max:=A[i,j];
B. Max:=A[1,1];
! For i:=1 To 2 Do
! If Max < A[i,j] Then Max:=A[i,j];
C. A[1,1]:=Max;

! For i:=1 To 2 Do
! For j:=1 To 3 Do
! If Max < A[i,j] Then Max:=A[i,j];
D. Max:=A[1,1];
! If Max < A[i,j] Then Max:=A[i,j];

Câu hỏi: Cho biến SS kiểu logic (Boolean). Lệnh nào làm cho SS có giá trị
là True:
A. SS:='PASCAL' < 'pascal';
B. SS:='A' < 'a';
C. SS:='an' < 'a';
D. SS:='a' = 'A';

Câu hỏi: Giả sử i là biến nguyên. Sau khi thực hiện các lệnh:
i:=3;
Case i of
1: i:=i+1;
2: i:=i+2;
3: i:=i+3;
Else i:=i*2;
end;
Giá trị sau cùng của i là:
A. 6
B. 10
C. 8
D. 9

Câu hỏi: Khi chạy chương trình:
Var S,i:Integer;
Begin

i:=4; S:=40;
if (i>5) then S:=5*3+(5-i)*2 else
if (i>3) then S:=5*i;
End.
Giá trị sau cùng của S là?
A. 20
B. 30
C. 15
D. 0

Câu hỏi: Cho S và i là biến nguyên. Khi chạy đoạn chương trình:
S:=0;
For i:=3 To 10 Do S:=S+i;
Writeln(S);
A. 52
B. 53
C. 54
D. 55

Câu hỏi: Cho S và i là biến nguyên. Khi chạy đoạn chương trình:
S:=0; i:=1;
While i<=6 Do
Begin
S:=S+i;
i:=i+1;
End;
Giá trị sau cùng của S là?
A. 21
B. 20
C. 22

D. 0

Câu hỏi: Cho S và i là biến nguyên. Khi chạy đoạn chương trình:
S:=0; i:=1;
While i<=6 Do
Begin
S:=S*i;
i:=i+1;
End;
Giá trị sau cùng của S là?
A. 0
B. 21
C. 20
D. 22

Câu hỏi: Cho i là biến nguyên. Khi chạy đoạn chương trình:
i:=6;
Repeat
i:=i*1;
Until i>5;
Giá trị sau cùng của i là:
A. 6
B. 7
C. 8
D. 0

Câu hỏi: Khi chạy đoạn chương trình:
Var S,i: Integer;
Begin
S:=0; i:=1;

Repeat
S:=S+i*i;
i:=i+2;
Until i>4;
Giá trị sau cùng của S là:
A. 10
B. 30
C. 15
D. 0

Câu hỏi: Cho i là biến nguyên. Khi chạy đoạn chương trình:
i:=3;
Repeat
i:=i+i;
Until i>10;
Giá trị sau cùng của i là:
A. 12
B. 81
C. 3
D. 0

Câu hỏi: Cho khai báo:
Var Ho, Ten: String[15];
Lệnh nào sau đây sai:
A. Write('Ho Ten la:';Ho;Ten);
B. Write('Ho Ten la:'+Ho+Ten);
C. Write('Ho Ten la:',Ho,Ten);
D. Write('Ho Ten la:',Ho+Ten);

Câu hỏi: Khi chạy chương trình:

Var St:String; i,L:Integer;
Begin
St:='456321'; L:=Length(St);
For i:=L DownTo 1 Do Write(St[i]);
End.
Kết quả in ra chuỗi St là:
A. 123654
B. 123456
C. 654321
D. 132456

Câu hỏi: Khai báo tiêu đề thủ tục nào sau đây đúng:
A. Procedure TT(x:Integer; Var a:Real);
B. Procedure TT(x:Integer):Real;
C. Procedure TT(x:Integer; x:Real);
D. Procedure TT(x);

Câu hỏi: Khai báo tiêu đề hàm náo sau đây đúng:
A. Function F(x:Integer):Real;
B. Function F(x:Real);
C. Function F(x):Real;
D. Function F(St:String[20]):Integer;

Câu hỏi: Khi chạy chương trình:
Procedure TinhS;
Var i,S: Integer;
Begin
S:=1; For i:=1 To 3 Do S:=S*i;
Write(S);
End;

Begin
TinhS;
End.
Kết quả in ra là:
A. 6
B. 12
C. 24
D. 4

Câu hỏi: Khi chạy chương trình:
Procedure TinhS;
Var i,S: Integer;
Begin
S:=2; For i:=1 To 6 Do S:=S+i;
Write(S);
End;
Begin
TinhS;
End.
Kết quả in ra là:
A. 23
B. 12
C. 6
D. 24

Câu hỏi: Cho khai báo hàm:
Function F(x:Integer):Integer;
Begin
F:=x*x;
End;

Giá trị của F(2+1) là:
A. 9
B. 3
C. 4
D. 1

Câu hỏi: Cho khai báo hàm:
Function F(x:Integer):Integer;
Begin
F:=x*x;
End;
Giá trị của F(3) là:
A. 9
B. 3
C. 6
D. 0

Câu hỏi: Khi chạy chương trình:
Procedure T(a: Integer);
Begin
Repeat
a:=2*a;
Until a>15;
Write(a);
End;
Begin
T(2);
End.
Kết quả in ra là:
A. 16

B. 8
C. 32
D. 2

Câu hỏi: Khi chạy chương trình:
Procedure KK(a: Integer);
Begin
Repeat
a:=2*a;
Until a>17;
Writeln(a);
End;
Begin
KK(3);
End.
Kết quả in ra là:
A. 24
B. 36
C. 9
D. 16

Câu hỏi: Cho khai báo tiêu đề của một hàm:
Function F(k:Integer): String;
Begin
if k Mod 2=0 Then F:='Chan' Else F:='Le';
End;
Muốn gán X:=F(5); thì biến X phải khai báo kiểu gì?
A. Var x:String;
B. Var x:Real;
C. Var x:Integer;

D. Var x:Char;

Câu hỏi: Khi chạy chương trình:
Var x,y: Real;
Function F(x,y:Real):Real;
Begin
F:=x;
if x<y Then F:=y;
End;
Begin
x:=10; y:=15;
Write(F(x,y):0:0);
End.
Kết quả in ra là:
A. 15
B. 10
C. 0
D. F(x,y)

Câu hỏi: Khi chạy chương trình:
Var x,y: Real;
Function F(x,y:Real):Real;
Begin
F:=x;
if x<y Then F:=y Else F:=x;
End;
Begin
x:=15; y:=10;
Write(F(x,y):0:0);
End.

Kết quả in ra là:
A. 10
B. 15
C. 0
D. F(x,y)

Câu hỏi: Cho biến a là biến nguyên a=5, và khai báo thủ tục:
Procedure T(x:Integer);
Begin
x:=x+2;
End;
Sau khi gọi thủ tục T(a). Thì giá trị của biến a là:
A. 5
B. 7
C. 2
D. 0

Câu hỏi: Khi chạy chương trình:
Var x:Integer;
Procedure T;
Begin
x:=4; x:=x+5;
End;
Begin
x:=0; T; Writeln(x);
End.
Kết quả in ra là:
A. 9
B. 5
C. 4

D. 0

Câu hỏi: Khi chạy chương trình:
Var x:Integer;
Procedure TINH;
Var x:Integer;
Begin
x:=1; x:=x+12;
End;
Begin
x:=10; TINH; Writeln(x);
End.
Kết quả in ra là:
A. 10
B. 12
C. 22
D. 13

Câu hỏi: Khai báo kiểu bản ghi (Record) nào sau đây đúng:
A. Type Phanso=Record
! Tu,Mau:Integer;
! end;
B. Type Phan so=Record
! Tu so,Mau so:Integer;

×