20 câu hỏi
Các thành phần cơ bản của NNLT là:
Thông dịch và biên dịch
Chương trình dịch, bảng chữ cái, cú pháp, ngữ nghĩa
Bảng chữ cái, cú pháp, ngữ nghĩa
Tên dành riêng, tên chuẩn và tên do người lập trình định nghĩa
Chọn biểu diễn tên đúng trong các biểu diễn dưới đây:
Tinh_DTB
Tinh DTB
Tinh#DTB
1Tinh_DTB
Biểu diễn nào dưới đây là biểu diễn hằng trong Pascal:
2.34
’TRUE
A51
1,06E-15
Trong Pascal, khai báo nào sau đây sai:
Program Giai_PTB2;
Uses crt;
Var a, b, c: real;
Const pi = 3,14;
Cho biến thực x đã được gán giá trị 12.41235. Để đưa ra màn hình nội dung “x=12.41” cần chọn câu lệnh nào sau đây?
Writeln(x);
Writeln(‘x=’ ,x:5:2);
Writeln(x:5);
Writeln(x:5:2);
Xét khai báo biến sau:
Var x, y, z : real;
c : char;
i, j : integer;
Tổng bộ nhớ dành cho các biến đã khai báo là bao nhiêu byte?
18
19
21
23
Xét biểu thức logic: (n >0) and (n mod 2 = 1). Khẳng định nào sau đây là đúng?
Kiểm tra n là một số nguyên dương lẻ
Kiểm tra xem n có là một số dương
Kiểm tra n có chia hết cho 2 không
Kiểm tra n là một số nguyên lẻ
Cho khai báo biến sau đây:
Var m, n : integer ;
x, y : real ;
Lệnh gán nào sau đây là sai ?
m := -4 ;
n := 3.5 ;
x := 6.5 ;
y := +10.5 ;
Biểu thức toán học dưới đây được biểu diễn trong NNLT Pascal là:
a – 1/(1 + x*x*x)
a – 1/(1 + sqr(x)*x)
a – 1/(1 + x*sqr(x))
Cả A, B, C đều đúng
Biểu thức 5*b + a div 4*3 với a =12, b = 4 có giá trị là:
20
21
29
9
Trong Pascal, cú pháp câu lệnh rẽ nhánh if-then dạng thiếu là:
if <điều kiện> then <câu lệnh> ;
if <điều kiện> then <câu lệnh>
if <điều kiện> then <câu lệnh 1> else <câu lệnh 2> ;
if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>
Trong Pascal, câu lệnh ghép được thực hiện khi sau then hoặc else:
Không có câu lệnh nào
Có câu lệnh
Có nhiều hơn 1 câu lệnh
Có nhiều hơn 2 câu lệnh
Cho đoạn chương trình sau:
IF <điều kiện> THEN write(x,’la so duong’) ELSE write(x,’la so am’);
Điều kiện là biểu thức logic nào dưới đây?
x mod 2 = 0
x > 0
x mod 2 = 1
x < 0
Cho đoạn chương trình sau:
readln(x,y);
IF x > y THEN F:= 2*x – y ELSE
IF x < y THEN F:= sqr(x) + sqr(y) ELSE F:= 2*x;
Nếu nhập vào từ bàn phím x=3 và y=2 thì giá trị của F là:
13
6
4
0
Cho đoạn chương trình sau:
readln(x,y);
IF x > y THEN F:= 2*x – y ELSE
IF x < y THEN F:= sqr(x) + sqr(y) ELSE F:= 2*x;
Nếu nhập vào từ bàn phím x=3 và y=2 thì giá trị của F là:
13
6
4
0
Cho đoạn chương trình sau:
S := 0 ;
FOR i := 1 to 10 DO
IF (i mod 3=0) or (i mod 5=0) THEN S := S + 1 ;
Sau khi thực hiện, S có giá trị?
0
5
25
33
Cho đoạn chương trình sau:
T := 0 ; i:=1;
WHILE i <= 10 DO
BEGIN
IF i mod 2 = 0 THEN T := T + i ;
i:=i+1;
END;
Sau khi thực hiện, T có giá trị?
18
22
25
30
Cú pháp khai báo trực tiếp biến mảng một chiều có dạng:
Var <tên biến mảng> : array [kiểu chỉ số] of <kiểu phần tử>;
Var <tên biến mảng> = array [kiểu chỉ số] of <kiểu phần tử>;
Var <tên biến mảng> : array [kiểu chỉ số] of <kiểu phần tử>
Var <tên biến mảng> := array [kiểu chỉ số] of <kiểu phần tử>;
Giả sử mảng a gồm các phần tử a[1]=1, a[2]=2, a[3]=3, a[4]=4, a[5]=5.
Cho biết kết quả sau khi thực hiện đoạn chương trình sau:
S:=0;
FOR i:=1 to 5 DO
IF a[i] mod 2 = 0 THEN S:=S+a[i];
writeln(‘S = ’,S);
6
S = 6
9
S = 9
Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ nhánh?
A + B
A * B
A := B
A ≤ B








