Trong ngôn ngữ lập trình pascal, khai báo kiểu mảng 1 chiều nào sau đây là đúng? ( )type arrchar = array1100 of char ; ( ) type arrchar : array1:100 of char. ( )type arrchar = array1..100 of char ; ( )type arrchar : array1..100 Multiple Choice, 10 points 2. Trong ngôn ngữ lập trình pascal, khai báo kiểu mảng 1 chiều nào sau đây là đúng? ( )type arrInt = array1..10 of interger ; ( ) type arr_Int = array1..N of integer ; ( )type Int : array1..100 of interger ; ( )type arrInt : array1..100 of integer Multiple Choice, 10 points
Trang 1THI HỌC KÌ 1
Questions
Multiple Choice, 10 points
1 Trong ngôn ngữ lập trình pascal, khai báo kiểu mảng 1 chiều nào sau đây là đúng?
( )type arrchar = array[1-100] of char ; ( ) type arrchar : array[1:100] of char
( )type arrchar = array[1 100] of char ; ( )type arrchar : array[1 100]
Multiple Choice, 10 points
2 Trong ngôn ngữ lập trình pascal, khai báo kiểu mảng 1 chiều nào sau đây là đúng?
( )type arrInt = array[1 10] of interger ; ( ) type arr_Int = array[1 N] of integer ; ( )type Int : array[1 100] of interger ; ( )type arrInt : array[1 100] of integer
Multiple Choice, 10 points
3 Trong ngôn ngữ lập trình pascal, khai báo kiểu mảng 1 chiều nào sau đây là đúng?
( )var arrreal : array[1 n] of read ; ( )var type a real : array[1 100] of real ; ( )type arr real = array[1 10] of real ; ( )type arrReal = array[1 n * 3] of real ;
Multiple Choice, 10 points
4 Trong ngôn ngữ lập trình pascal, khai báo kiểu mảng 2 chiều nào sau đây là đúng?
( )type arrchar2 : array[1-100,1-100] of
char ;
( )type arrchar 2= array[1:100,1:100] of char ;
( )type arrchar_2 = array[1 100,1 100] of
char ;
( )type arrchar2 : array[1 100,1 100] of char ,
Multiple Choice, 10 points
5 Trong ngôn ngữ lập trình pascal, với khai báo mảng A : array[1 100] of integer; thì việc truy xuất đến phần tử thứ 10 như sau:
Multiple Choice, 10 points
6 Trong ngôn ngữ lập trình pascal, với khai báo mảng A : array[1 100, 1 100] of integer; thì việc truy xuất đến phần tử có dạng nào sau đây:
Trang 2Multiple Choice, 10 points
7 Trong ngôn ngữ lập trình pascal, nhập dữ liệu cho mảng 1 chiều A, cho hiển thị chỉ số của phần tử, dùng lệnh nào sau đây:
( )write(‘A[i] = ‘); Readln(A[i]) ; ( )write(‘A[‘ , i ,’] = ‘); Readln(A[i]) ;
( )write(‘A[‘i’] = ‘); Readln(A[i]) ; ( )write(‘A[“i”] = ‘); Readln(A[i]) ;
Multiple Choice, 10 points
8 Trong ngôn ngữ lập trình pascal, nhập dữ liệu cho mảng 2 chiều A, cho hiển thị chỉ số của phần tử, dùng lệnh nào sau đây:
( )write(‘A[‘, i , j ,’] = ‘); Readln(A[i,j]); ( )write(‘A[“i”, “j”] = ‘); Readln(A[i , j]); ( )write(‘A[‘i’, ‘j’] = ‘); Readln(A[i, j ]); ( )write(‘A[i , j] = ‘); Readln(A[i , j]);
Multiple Choice, 10 points
9 Trong ngôn ngữ lập trình pascal, nhập dữ liệu cho mảng 1 chiều A, cho hiển thị chỉ số của phần tử, dùng lệnh nào sau đây:
( )for i:= 1 to N do begin write(‘A[‘ , i
,’] = ‘); readln(A[i]); end; ( ) for i:= 1 to N do begin write(‘A[ , i ,] = ‘); readln(A[i]); end; ( )for i:= 1 to N do begin write(‘A[‘ , i
,’] = ‘); readln(A(i)); end;
( ) for i:= 1 to N do begin write(‘A[‘ i’] = ‘); readln(A[i]); end;
Multiple Choice, 10 points
10 Trong ngôn ngữ lập trình pascal, xuất dữ liệu cho mảng 1 chiều A, cho hiển thị chỉ số của phần tử, dùng lệnh nào sau đây:
( )for i:= 1 to N do write(‘A[‘ i’] = ‘, A[i]); ( )for i:= 1 to N do write(A[i]);
( )for i:= 1 to N do write(‘A[‘ , i ,’] ‘); ( )for i:= 1 to N do write(‘A[‘ , i ,’] =
‘, A[i]);
Multiple Choice, 10 points
11 Trong ngôn ngữ lập trình pascal, hoán vị giá trị 2 phần tử của mảng 1 chiều A, chọn lệnh nào sau đây:
( )tam = A[j]; A[j] := A[i]; A[j] :=
tam;
( )tam := A[i]; A[i] := A[j]; A[j] :=
tam;
( )tam = A[i]; A[i] := A[j]; A[j] :=
tam;
( )A[i] := tam ; A[i] := A{j];
A[j] := tam;
Multiple Choice, 10 points
12 Trong ngôn ngữ lập trình pascal, câu lệnh sau có ý nghĩa gì?
S:= 0;
For i:= 1 to N do S:= S + A[i];
Trang 3( )Đếm số phần tử mảng A; ( )Tính tổng các chỉ số của phần tử;
( )Tính tổng các phần tử mảng A; ( )In ra màn hình mảng A;
Multiple Choice, 10 points
13 Trong ngôn ngữ lập trình pascal, câu lệnh sau có ý nghĩa gì?
S:= 0;
For i:= 1 to N do if A[i] mod k = 0 then S:= S + A[i];
( )In ra màn hình mảng A; ( )Đếm số phần tử mảng A;
( )Tính tổng các phần tư của mảng; ( )Tính tổng các phần tử mảng A là bội số
của k;
Multiple Choice, 10 points
14 Trong ngôn ngữ lập trình pascal, câu lệnh sau có ý nghĩa gì?
S:= 0;
For i:= 1 to N do if A[i] > 0 then S:= S + A[i];
( )Tính tổng các phần tử mảng A có giá trị
dương;
( )Đếm số phần tử mảng A;
( )Tính tổng các phần tư của mảng; ( )Tính tổng các phần tử mảng A có giá trị
âm;
Multiple Choice, 10 points
15 Trong ngôn ngữ lập trình pascal, câu lệnh sau có ý nghĩa gì?
Dem := 0;
For i:= 1 to N do if 0 > A[i] then dem:= dem + 1;
( )Đếm số phần tử mảng A có giá trị âm; ( )Đếm số phần tử mảng A có giá trị
dương;
( )Tính tổng các phần tử mảng A có giá trị
âm;
( )Tính tổng các phần tử mảng A có giá trị dương;
Multiple Choice, 10 points
16 Trong ngôn ngữ lập trình pascal, câu lệnh sau có ý nghĩa gì?
Dem := 0;
For i:= 1 to N do if A[i] > 0 then dem:= dem + 1;
( )Đếm số phần tử mảng A có giá trị
dương;
( )Tính tổng các phần tử mảng A có giá trị âm;
( )Đếm số phần tử mảng A có giá trị âm; ( )Tính tổng các phần tử mảng A có giá trị
dương;
Multiple Choice, 10 points
17 Trong ngôn ngữ lập trình pascal, câu lệnh sau có ý nghĩa gì?
Trang 4Dem := 0;
For i:= 1 to N do if (A[i] > 0 and A[i] mod 7 = 0 ) then dem:= dem + 1;
( )Tính tổng các phần tử mảng A có giá trị
âm và chia hết cho 7; ( )Đếm số phần tử mảng A có giá trị âm và chia hết cho 7; ( )Tính tổng các phần tử mảng A có giá trị
dương và chia hết cho 7;
( )Đếm số phần tử mảng A có giá trị dương
và chia hết cho 7
Multiple Choice, 10 points
18 Trong ngôn ngữ lập trình pascal, câu lệnh sau có ý nghĩa gì?
s := 0;
For i:= 1 to N do if (A[i] > 0 and A[i] mod 5 = 0 ) then S:= S + A[i];
( )Tính tổng các phần tử mảng A có giá trị
âm và chia hết cho 5;
( )Tính tổng các phần tử mảng A có giá trị dương và chia hết cho 5;
( )Đếm số phần tử mảng A có giá trị dương
và chia hết cho 5;
( )Đếm số phần tử mảng A có giá trị âm và chia hết cho 5;
Multiple Choice, 10 points
19 Trong ngôn ngữ lập trình pascal, câu lệnh sau có ý nghĩa gì?
s := 0;
For i:= 1 to N do if (A[i] > 0 or A[i] mod 5 = 0 ) then S:= S + A[i];
( )Tính tổng các phần tử mảng A có giá trị
dương hoặc chia hết cho 5;
( )Đếm số phần tử mảng A có giá trị dương hoặc chia hết cho 5;
( )Tính tổng các phần tử mảng A có giá trị
âm và chia hết cho 5; ( )Đếm số phần tử mảng A có giá trị âm và chia hết cho 5;
Multiple Choice, 10 points
20 Trong ngôn ngữ lập trình pascal, nhập dữ liệu cho mảng 2 chiều A, theo dạng dòng, cột, chọn câu lệnh nào sau đây: (N dòng , M cột)
( )for i:= 1 to N do for i:= 1 to M do
Begin write(A[i,j]); writeln;
end;
( )for i:= 1 to N do Begin for i:=
1 to M do write(A[i,j]); writeln; end;
( )for i:= 1 to N do for i:= 1 to M do
Begin write (A[i , j]); end;
( )for i:= 1 to N do for i:= 1 to M do Begin read(A[i,j]); readln; end;
Multiple Choice, 10 points
21 For i := 1 to n do
For j := 1 to n – i do
If a [ j ] < a [ j + 1 ] then
Begin
t := a[ j ] ;
a [ j ] := a [ j + 1 ] ;
Trang 5a [ j + 1 ] := t ;
End ;
Đoạn chương trình này dùng để :
( )Nhập dữ liệu cho mảng ( )Nhập dữ liệu cho mảng
( )Sắp xếp dữ liệu cho mảng giảm dần ( )Sắp xếp dữ liệu cho mảng tăng dần
Multiple Choice, 10 points
22 Cho đoạn chương trình sau:
Max := A[1]; csmax := 1;
For i := 2 to n do
IF A[i] > Max then begin Max := A[i]; csmax := i; end;
( )Tìm chỉ số của phần tử lớn nhất của
mảng
( )Tìm giá trị lớn nhất của mảng, chỉ số của phần tử lớn nhất
( )Hốn vị các phần tử ( )Tìm giá trị lớn nhất của mảng
Multiple Choice, 10 points
23 Cho đoạn chương trình:
For j := N downto 2 do
For i := 1 to j – i do
If A [ i ] > A [ i + 1 ] then
Begin
t := a[ i ] ;
A [ i ] := A [ i + 1 ] ;
A [ j + 1 ] := t ;
End ;
Đoạn chương trình cho kết quả là:
( )Sắp xếp dãy số A thành dãy khơng giảm ( )Sắp xếp dãy số A thành dãy khơng
TĂNG ( )Hốn vị các phần tử của mảng ( )Sắp xếp dãy số A thành dãy giảm
Multiple Choice, 10 points
24 Trong ngơn ngữ lập trình pascal, khai báo biến mảng 1 chiều nào sau đây là đúng?
( )type arrchar : array[1 100] VAR A:
arrrchar ;
( )type arrchar = array[1-100] of char; VAR A: arrrchar ;
( ) type arrchar : array[1:100] of char
VAR A: arrrchar ;
( )type arrchar = array[1 100] of char; VAR A: arrrchar ;
Multiple Choice, 10 points
25 Trong ngơn ngữ lập trình pascal, khai báo biến mảng 1 chiều nào sau đây là đúng?
( )var Int : array[1 100] of interger ; ( )var arrInt : array[1 100] of integer ; ( )type arrInt = array[1 10] of interger ; ( )type arr_Int = array[1 N] of integer ;
Trang 6Multiple Choice, 10 points
26 Trong ngôn ngữ lập trình pascal, khai báo biến mảng 1 chiều nào sau đây là đúng?
( )type arrReal = array[1 n * 3] of real ; ( )type arr real = array[1 10] of real ;
( )var arrreal : array[1 n] of read ; ( )var areal : array[1 100] of real ;
Multiple Choice, 10 points
27 Trong ngôn ngữ lập trình pascal, khai báo biến mảng 1 chiều nào sau đây là đúng?
( )type arr_Int = array[1 N] of integer; var
tmp : arr_Int ;
( )var Int : array[1 100] of interger var tmp : arr_Int ;
( )type arrInt = array[1 10] of interger ;
var tmp : arr_Int ;
( )var arrInt = array[1 100] of integer ; var tmp : arr_Int ;
Multiple Choice, 10 points
28 Trong ngôn ngữ lập trình pascal, với khai báo mảng A : array[1 100] of integer; thì việc tham chiếu đến phần tử thứ N như sau:
Multiple Choice, 10 points
29 Trong ngôn ngữ lập trình pascal, khai báo biến mảng 2 chiều nào sau đây là đúng?
( )type arrchar 2= array[1:100,1:100] of
char; var a: arrchar_2 ;
( )type arrchar2 : array[1 100,1 100] of char , var a: arrchar_2 ;
( )type arrchar_2 = array[1 100,1 100] of
char; var a: arrchar_2 ; ( )type arrchar2 : array[1-100,1-100] of char; var a: arrchar_2 ;
Multiple Choice, 10 points
30 Trong ngôn ngữ lập trình pascal, khai báo biến mảng 2 chiều nào sau đây là đúng?
( )type arrchar2 : array[1 100,1 100] of
char , var a: arrchar_2 ; ( )var arrchar_2 : array[1 100,1 100] of char ; ( )type arrchar 2= array[1:100,1:100] of
char; var a: arrchar_2 ;
( )var arrchar2 = array[1-100,1-100] of char ;
Multiple Choice, 10 points
31 Chương trình viết bằng ngôn ngữ lập trình bậc cao không có đặc điểm nào sau đây?
( )Kiểu dữ liệu và cách tổ chức dữ liệu đa
dạng, thuận tiện cho mô tả thuật toán;
( )Máy tính có thể hiểu và thực hiện trực tiếp chương trình này
( )Không phụ thuộc loại máy, chương trình
có thể thực hiện trên nhiều loại máy;
( )Ngắn gọn dễ hiểu,dễ hiệu chỉnh và nâng cấp;
Multiple Choice, 10 points
Trang 732 Chương trình dịch không có khả năng nào sau đây?
( )Phát hiện được lỗi cú pháp; ( )Thông báo lỗi cú pháp;
( )Phát hiện được lỗi ngữ nghĩa; ( )Tạo được chương trình đích;
Multiple Choice, 10 points
33 Cho biết tên nào say đây sai?
Multiple Choice, 10 points
34 Cho biết hằng nào sai?
Multiple Choice, 10 points
35 Kiểu dữ liệu nào sau đây có miền giá trị lớn nhất?
Multiple Choice, 10 points
36 Hãy chỉ ra lỗi trong khai báo biến sau:
( )Var K,I, J : BYTE ; ( )Var E,F : WORD ;
( )Var N,M,B,C : CHAR ; ( )Var L, P,Q READ
Multiple Choice, 10 points
37 Bộ nhớ cấp phát bao nhiêu byte cho các biến sau:
Var
K,I, J : BYTE;
N,M,B,C : CHAR;
E,F : WORD;
L, P,Q REAL;
Multiple Choice, 10 points
38 Hãy cho biểu thức toán chuyển sang biểu thức pascal, chọn câu đúng :
( )( a+ sin(x)/ sqrt(a*a + 5*ln(x) + 1) ( )(a+ sin(x) )/ sqrt(a*a + 5*ln(x) + 1)
Trang 8( )a+ sin(x)/ sqrt(a*a + 5*ln(x) + 1) ( )a+ sin(x)/ sqrt(sqr(a) + 5*ln(x) + 1)
Multiple Choice, 10 points
39 Khai báo hằng nào sau đây là đúng:
Multiple Choice, 10 points
40 Khai báo thư viện nào sau đây là đúng:
Multiple Choice, 10 points
41 Khai báo tên chương trình nào sau đây là đúng:
Multiple Choice, 10 points
42 Cho biết thứ tự ưu tiên của các biểu thức số học không chứa ngoặc:
( )theo thứ tự : * , /, mod, div, +, - ( )thực hiện từ trái sang phải, theo thứ tự : *
, /, mod, div, +, -( )thực hiện từ trái sang phải, theo thứ tự : *
, /, div, mod, +,
( )theo thứ tự : * , /, div, mod, +,
Multiple Choice, 10 points
43 Muốn biên dịch chương trình nhấn tổ hợp phím nào sau đây:
Multiple Choice, 10 points
44 Muốn thực hiện chương trình nhấn tổ hợp phím nào sau đây:
Multiple Choice, 10 points
45 Muốn đóng cửa sổ nhấn tổ hợp phím nào sau đây:
Trang 9Multiple Choice, 10 points
46 Muốn đóng thoát khỏi phần mềm nhấn tổ hợp phím nào sau đây:
Multiple Choice, 10 points
47 Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây đúng với câu lệnh rẽ nhánh IF … THEN…ELSE…?
( )Nếu sau then muốn thực hiện nhiều câu
lệnh thì phải đặt các lệnh giữa Begin và End
:
( )Nếu sau then muốn thực hiện nhiều câu lệnh thì phải đặt các lệnh giữa 2 đấu ngoặc ( )Nếu sau then muốn thực hiện nhiều câu
lệnh thì phải đặt các lệnh giữa Begin và End
( )Nếu sau then muốn thực hiện nhiều câu lệnh thì phải đặt các lệnh giữa Begin và End
;
Multiple Choice, 10 points
48 Câu lệnh nào sau đây là đúng với cấu trúc lặp WHILE…DO
( )While (a<N) DO a := a-1 ( )While (a<N) DO a := a-1 ,
( )While (a<N) DO a := a-1 ; ( )While (a<N) DO a := a-1
Multiple Choice, 10 points
49 Để xuất ra màn hình câu thông báo không xuống hàng, chọn câu đúng:
( )write(‘ Chào các bạn! ’) ( )write( " Chào các bạn! ") ;
( )write( ‘ Chào các bạn! ) ; ( )write(‘Chào các bạn!’) ;
Multiple Choice, 10 points
50 Để xuất ra màn hình câu thông báo có xuống hàng, chọn câu đúng:
( )write(‘ Chào các bạn! ’ ) ; ( )writeln(‘ Chào các bạn!’ ) ;
( )readln (‘Chào các bạn!’) ; ( )read(‘ Chào các bạn! ’) ;
Multiple Choice, 10 points
51 Để nhập dữ liệu cho biến b có xuống hàng, chọn câu đúng:
Multiple Choice, 10 points
52 Để nhập dữ liệu cho biến b không xuống hàng, chọn câu đúng:
Trang 10Multiple Choice, 10 points
53 Chọn câu đúng Nếu N có chia hết cho 2 thì thông báo N chia hết cho 2.
( )if (N mod 2 = 0 ) then write(‘N chia hết
cho 2’)
( )if (N mod 2 = 0 ) then writeln(‘N chia hết cho 2’) ;
( )if (N mod 2 <> 0 ) then writeln (‘N chia
hết cho 2’) ; ( )if (N mod 2 <> 0 ) then write (‘N chia hết cho 2’) ;
Multiple Choice, 10 points
54 Chọn câu đúng Nếu N không chia hết cho 2 thì thông báo N không chia hết cho 2.
( )if (N mod 2 <> 0 ) then writeln (‘N
không chia hết cho 2’) ; ( )if (N mod 2 = 0 ) then write(‘N không chia hết cho 2’) ( )if (N mod 2 <> 0 ) then write (‘N chia
hết cho 2’) ;
( )if (N mod 2 = 0 ) then writeln(‘N chia hết cho 2’) ;
Multiple Choice, 10 points
55 Chọn câu đúng Nếu N có chia hết cho 2 hoặc 5 thì thông báo N chia hết cho 2 hoặc 5.
( )if (N mod 2 = 0 ) and ((N mod 5 = 0 )
then writeln(‘N chia hết cho 2 & 5’)
( )if (N mod 2 = 0 ) or (N mod 5 = 0 ) then writeln(‘N chia hết cho 2 hoặc 5’) ;
( )if (N mod 2 = 0 ) and (N mod 5 = 0 )
then write’N chia hết cho 2 & 5’) ;
( )if (N mod 2 = 0 ) or N mod 5 = 0 ) then write(‘N chia hết cho 2 hoặc 5) ;
Multiple Choice, 10 points
56 Chọn câu đúng Nếu N có chia hết cho 2 và 5 thì thông báo N chia hết cho 2 và 5.
( )if (N mod 2 = 0 ) and ((N mod 5 = 0 )
then writeln(‘N chia hết cho 2 & 5’)
( )if (N mod 2 = 0 ) or (N mod 5 = 0 ) then writeln(‘N chia hết cho 2 hoặc 5’) ;
( )if (N mod 2 = 0 ) and (N mod 5 = 0 )
then write( ' N chia hết cho 2 & 5 ’ ) ; ( )if (N mod 2 = 0 ) or N mod 5 = 0 ) then write(‘N chia hết cho 2 hoặc 5) ;
Multiple Choice, 10 points
57 Chọn câu đúng Tính tổng các số âm.
( )if (a<0) and (b<0) and (c<0) then S := a
+ b + c ;
( )if (a<0) and (b<0) and (c<0) then S := a + b + c
( )if (a<0) and (b<0) and (c<0) then S := a
+ b + c
( )if (a<0) and (b<0) and (c<0) then S =: a + b + c ;
Multiple Choice, 10 points
58 Chọn câu đúng Tính tổng các số dương.
( )if (a<0) and (b<0) and (c<0) then S =: a
+ b + c ; ( )if (a>0) and (b>0) and (c>0) then S := a + b + c ( )if (a<0) and (b<0) and (c>0) then S := a ( )if (a>0) and (b>0) and (c>0) then S := a