wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Tin

Total questions: 102

Worksheet time: 2hrs 55mins

Name
Class
Date
1.
Câu 1: Cú pháp lệnh lặp For – do dạng lùi:_x000D_
a)
A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;_x000D_
b)
B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;_x000D_
c)
C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;_x000D_
d)
D. for < biến đếm> := < Giá trị đầu >downto < Giá trị cuối > do < câu lệnh>;_x000D_
2.
Câu 2: Cú pháp lệnh lặp For – do dạng tiến:_x000D_
a)
A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;_x000D_
b)
B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;_x000D_
c)
C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >;_x000D_
d)
D. for < biến đếm> := < Giá trị đầu > to < Giá trị cuối > do < câu lệnh>;_x000D_
3.
Câu 3: Trong vòng lặp For – do dạng tiến. Giá trị của biến đếm _x000D_
a)
A. Tự động giảm đi 1_x000D_
b)
B. Tự động điều chỉnh_x000D_
c)
C. Chỉ tăng khi có câu lệnh thay đổi giá trị_x000D_
d)
D. Được giữ nguyên_x000D_
4.
Câu 4: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:_x000D_
a)
A. Cùng kiểu với giá trị đầu và giá trị cuối_x000D_
b)
B. Chỉ cần khác kiểu với giá trị đầu_x000D_
c)
C. Cùng kiểu với các biến trong câu lệnh_x000D_
d)
D. Không cần phải xác định kiểu dữ liệu_x000D_
5.
Câu 5: Trong lệnh lặp For – do: (chọn phương án đúng nhất)_x000D_
a)
A. Giá trị đầu phải nhỏ hơn giá trị cuối_x000D_
b)
B. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối_x000D_
c)
C. Giá trị đầu phải lớn hơn giá trị cuối_x000D_
d)
D. Giá trị đầu phải bằng giá trị cuối_x000D_
6.
Câu 6: Lệnh lặp For – do được sử dụng khi: (chọn phương án đúng nhất)_x000D_
a)
A. Lặp với số lần biết trước_x000D_
b)
B. Lặp với số lần chưa biết trước_x000D_
c)
C. Lặp với số lần có thể biết trước_x000D_
d)
D. Lặp với số lần không bao giờ biết trước_x000D_
7.
Câu 7: Cấu trúc lặp với số lần chưa biết trước:_x000D_
a)
A. while <điều kiện> do <câu lệnh>;_x000D_
b)
B. for <điều kiện> do <câu lệnh>;_x000D_
c)
C. while <câu lệnh> do <điều kiện>;_x000D_
d)
D. while not <điều kiện> do <câu lệnh>_x000D_
8.
Câu 8: Có thể dùng câu lệnh While – do thay cho câu lệnh For – do được không?_x000D_
a)
A. Không thể thay thế_x000D_
b)
B. Chỉ thay thế được khi vòng lặp đó chưa biết trước số lần lặp._x000D_
c)
C. Luôn thay thế được_x000D_
d)
D. Tỉ lệ thay thế được là 50%_x000D_
9.
Câu 9: Trong câu lệnh While – do, điều kiện là: (Chọn phương án đúng nhất)_x000D_
a)
A. Biểu thức logic_x000D_
b)
B. Biểu thức quan hệ_x000D_
c)
C. Biểu thức số học_x000D_
d)
D. Hằng đẳng thức_x000D_
10.
Câu 10: Trong vòng lặp While – do, câu lệnh được thực hiện khi:_x000D_
a)
A. Điều kiện còn đúng_x000D_
b)
B. Điều kiện sai_x000D_
c)
C. Điều kiện không xác định_x000D_
d)
D. Không cần điều kiện_x000D_
11.
Câu 11: Vòng lặp While – do kết thúc khi nào_x000D_
a)
A. Khi một điều kiện cho trước được thỏa mãn_x000D_
b)
B. Khi đủ số vòng lặp_x000D_
c)
C. Khi tìm được Output_x000D_
d)
D. Tất cả các phương án_x000D_
12.
Câu 12: Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên cấu trúc cơ bản là:_x000D_
a)
A. Cấu trúc tuần tự_x000D_
b)
B. Cấu trúc rẽ nhánh_x000D_
c)
C. Cấu trúc lặp_x000D_
d)
D. Cả ba cấu trúc_x000D_
13.
Câu 13: Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện vào sau đây cho vòng lặp while – do là đúng:_x000D_
a)
A. While S>=108 do_x000D_
b)
B. While S < 108 do_x000D_
c)
C. While S < 1.0E8 do_x000D_
d)
D. While S >= E8 do_x000D_
14.
Câu 14: Câu lênh sau giải bài toán nào:_x000B_While M <> N do_x000B_If M > N then M:=M-N else N:=N-M;_x000D_
a)
A. Tìm UCLN của M và N_x000D_
b)
B. Tìm BCNN của M và N_x000D_
c)
C. Tìm hiệu nhỏ nhất của M và N_x000D_
d)
D. Tìm hiệu lớn nhất của M và N_x000D_
15.
Câu 15: Đoạn chương trình sau giải bài toán nào?_x000B_While not (1/(a+N) < 0.0001) do_x000B_Begin_x000B_N:=N+1;_x000B_S:=S+ 1.0/(a+N);_x000B_End;_x000D_
a)
A. Tính tổng các số nhỏ hơn 0,0001_x000D_
b)
B. Tính tổng các số lớn hơn 0,0001_x000D_
c)
C. Tính tổng 𝑠=_x000D_1_x000D_𝑎_x000D_+_x000D_1_x000D_𝑎+1_x000D_+_x000D_1_x000D_𝑎+2_x000D_+…+_x000D_1_x000D_𝑎+𝑁_x000D_+… cho đến khi _x000D_1_x000D_𝑎+𝑁_x000D_>0,0001_x000D_
d)
D. Tính tổng 𝑠=_x000D_1_x000D_𝑎_x000D_+_x000D_1_x000D_𝑎+1_x000D_+_x000D_1_x000D_𝑎+2_x000D_+…+_x000D_1_x000D_𝑎+𝑁_x000D_+… cho đến khi _x000D_1_x000D_𝑎+𝑁_x000D_<0,0001_x000D_
16.
Câu 16: Đoạn chương trình sau giải bài toán nào?_x000B_For I:=1 to M do_x000B_If (I mod 3 = 0) and (I mod 5 = 0) then_x000B_T := T + I;_x000D_
a)
A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M_x000D_
b)
B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M_x000D_
c)
C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M_x000D_
d)
D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M_x000D_
17.
Câu 17: Đoạn chương trình sau giải bài toán nào?_x000B_S:=1.0/a;_x000B_For n:=100 downto 1 do_x000B_S:= S + 1.0/(a+N);_x000D_
a)
A. Tính tổng 𝑠=_x000D_1_x000D_𝑎_x000D_+_x000D_1_x000D_𝑎+1_x000D_+_x000D_1_x000D_𝑎+2_x000D_+…+_x000D_1_x000D_𝑎+𝑁_x000D_+…_x000D_
b)
B. Tính tổng 𝑠=_x000D_1_x000D_𝑎+1_x000D_+_x000D_1_x000D_𝑎+2_x000D_+…+_x000D_1_x000D_𝑎+100_x000D_+… _x000D_
c)
C. Tính tổng 𝑠=_x000D_1_x000D_𝑎_x000D_+_x000D_1_x000D_𝑎+1_x000D_+_x000D_1_x000D_𝑎+2_x000D_+…+_x000D_1_x000D_𝑎+100_x000D__x000D_
d)
D. Tính tổng 𝑠=_x000D_1_x000D_𝑎+1_x000D_+_x000D_1_x000D_𝑎+2_x000D_+…+_x000D_1_x000D_𝑎+100_x000D__x000D_
18.
Câu 18: Cho hai dạng lặp FOR – DO trong PASCAL như sau :_x000B_Dạng lặp tiến :_x000B_FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO <câu lệnh> ;_x000B_Dạng lặp lùi :_x000B_FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh> ;_x000B_Chọn phát biểu đúng trong các phát biểu sau đây : _x000D_
a)
A. Ở 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._x000D_
b)
B. Ở 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._x000D_
c)
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_x000D_
d)
D. 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._x000D_
19.
Câu 19: Để tổ chức việc lặp như vậy PASCAL dùng câu lệnh WHILE – DO có dạng :_x000B_WHILE <điều kiện> DO <câu lệnh>;_x000B_Chọn phát biểu sai trong các phát biểu dưới đây :_x000D_
a)
A. Điều kiện là biểu thức cho giá trị logic_x000D_
b)
B. Về mặt cú pháp, những biểu thức có thể điền vào điều kiện trong cấu trúc WHILE – DO cũng có thể điền vào điều kiện trong cấu trúc rẽ nhánh IF – THEN_x000D_
c)
C. Không cần có lệnh thay đổi điều kiện trong mỗi câu lệnh sau DO trong cấu trúc lặp này, vì giá trị của biểu thức điều kiện được tự động điều chỉnh sau mỗi lần thực hiện câu lệnh lặp_x000D_
d)
D. Nếu không có lệnh nào thay đổi điều kiện trong mỗi câu lệnh sau DO thì có thể gặp hiện tượng lặp vô hạn khi thực hiện chương trình, nghĩa là lặp không dừng được_x000D_
20.
Câu 20: Chọn phát biểu sai trong các phát biểu sau đây:_x000D_
a)
A. Để mô tả việc lặp đi lặp lại một số thao tác (hoặc câu lệnh) trong một thuật toán ta có thể dùng cấu trúc lặp_x000D_
b)
B. Tùy từng trường hợp cụ thể (khi mô tả một thuật toán), khi thì ta biết trước số lần lặp, khi thì ta không cần hoặc không xác định được trước số lần lặp các thao tác nào đó._x000D_
c)
C. Có thể dùng cấu trúc lặp để thay cho cấu trúc rẽ nhánh trong mô tả thuật toán. (*)_x000D_
d)
D. Không thể mô tả được mọi thuật toán bằng ngôn ngữ lập trình bậc cao nếu không dùng cấu trúc lặp_x000D_
21.
Câu 22: Đoạn chương trình sau thực hiện công việc gì ?_x000B_i := 0 ; while i <> 0 do write(i, ‘ ’) ;_x000D_
a)
A. Đưa ra màn hình 10 chữ số 0_x000D_
b)
B. Không đưa ra thông tin gì;_x000D_
c)
C. Lặp vô hạn việc đưa ra màn hình số 0_x000D_
d)
D. Đưa ra màn hình một chữ số 0_x000D_
22.
Câu 23: Đoạn chương trình sau cho kết quả trên màn hình là gì với i là biến số nguyên:_x000B_For i := 1 to 100 do if i mod 9 = 0 then write(i, ‘ ’); _x000D_
a)
A. 1 2 3 4 5 6 … 100_x000D_
b)
B. 91827364554637281_x000D_
c)
C. 9 18 27 36 45 54 63 72 81 90 99_x000D_
d)
D. 9 9 9 9 9 9 9 9 9 9_x000D_
23.
Câu 25: Đoạn chương trình sau làm công việc gì? (Chọn phương án đúng nhất)_x000B_While a < (b+25) do readln(a,b); _x000D_
a)
A. Lặp lại việc nhập a,b cho đến khi a < b+25_x000D_
b)
B. Lặp lại việc nhập a,b cho đến khi a> b+25_x000D_
c)
C. Lặp lại việc nhập a,b cho đến khi a ≥ b+ 25_x000D_
d)
D. Lặp lại việc nhập a,b cho đến khi a ≤ b+25_x000D_
24.
Câu 26: Đoạn chương trình sau làm công việc gì? (Chọn phương án đúng nhất)_x000B_While a <> 2*b do _x000B_Begin a:=a+1; b:=b+1; _x000B_End;_x000D_
a)
A. Trong khi a ≠ 2b thì lặp lại việc tăng a, b, n lên 1 đơn vị_x000D_
b)
B. Lặp lại việc tăng a, b lên 1 đơn vị cho đến khi a ≠ 2b_x000D_
c)
C. Lặp lại việc tăng a, b lên 1 đơn vị cho đến khi a = 2b_x000D_
d)
D. Lặp lại việc tăng a, b lên 1 đơn vị cho đến khi a > 2b_x000D_
25.
Câu 27: Đề giải bài toán 𝒂=_x000D_𝒏=𝟏_x000D_𝟏𝟎𝟎_x000D__x000D_𝟏_x000D_𝒏_x000D__x000D_ ta dùng lệnh lặp nào dưới đây:_x000D_
a)
A. For i:=1 to n do a:=a+1/n;_x000D_
b)
B. For n:=1 to 100 do a:=a+ 1/n;_x000D_
c)
C. For n:=100 to 1 do a:=a+1/n_x000D_
d)
D. For i:=1 to 100 do a:=a+1/n;_x000D_
26.
Câu 1: Độ dài tối đa của xâu kí tự trong Pascal là:_x000D_
a)
A. 255_x000D_
b)
B. 256_x000D_
c)
C. 0_x000D_
d)
D. Không giới hạn_x000D_
27.
Câu 2: Xâu kí tự có độ dài bằng 0 gọi là:_x000D_
a)
A. Không tồn tại_x000D_
b)
B. Xâu rỗng_x000D_
c)
C. Chứa kí tự 0_x000D_
d)
D. Xâu ngắn_x000D_
28.
Câu 3: Kí tự đầu tiên trong xâu được đánh số là:_x000D_
a)
A. 0_x000D_
b)
B. 1_x000D_
c)
C. Do người lập trình đặt_x000D_
d)
D. Không quy định_x000D_
29.
Câu 4: Cú pháp khai báo biến xâu là:_x000D_
a)
A. Var <tên biến>:string[độ dài lớn nhất của xâu];_x000D_
b)
B. Var tên biến :string[độ dài lớn nhất của xâu];_x000D_
c)
C. Var <tên biến>:string(độ dài lớn nhất của xâu);_x000D_
d)
D. Var tên biến :string(độ dài lớn nhất của xâu);_x000D_
30.
Câu 5: Để khai báo biến xâu ta sử dụng tên dành riêng:_x000D_
a)
A. Array_x000D_
b)
B. String_x000D_
c)
C. Type_x000D_
d)
D. Const_x000D_
31.
Câu 6: Thủ tục Delete(a,b,c) có nghĩa là:_x000D_
a)
A. Xóa c kí tự của biến xâu a bắt đầu từ vị trí b_x000D_
b)
B. Xóa a kí tự của biến xâu b bắt đầu từ vị trí c_x000D_
c)
C. Xóa c kí tự của biến xâu b bắt đầu từ vị trí a_x000D_
d)
D. Xóa a kí tự của biến xâu c bắt đầu từ vị trí b_x000D_
32.
Câu 7: Hàm Copy(a,b,c) có nghĩa là:_x000D_
a)
A. Tạo xâu gồm a kí tự liên tiếp bắt đầu từ vị trí b của xâu c_x000D_
b)
B. Tạo xâu gồm b kí tự liên tiếp bắt đầu từ vị trí c của xâu a_x000D_
c)
C. Tạo xâu gồm c kí tự liên tiếp bắt đầu từ vị trí a của xâu b_x000D_
d)
D. Tạo xâu gồm c kí tự liên tiếp bắt đầu từ vị trí b của xâu a_x000D_
33.
Câu 8: Thủ tục Insert(a,b,c) có nghĩa là:_x000D_
a)
A. Chèn xâu c vào xâu b bắt đầu ở vị trí a_x000D_
b)
B. Chèn xâu a vào xâu c bắt đầu ở vị trí b_x000D_
c)
C. Chèn xâu a vào xâu b bắt đầu ở vị trí c_x000D_
d)
D. Chèn xâu b vào xâu a bắt đầu ở vị trí c_x000D_
34.
Câu 9: Tham chiếu đến phần tử của xâu được xác định bởi:_x000D_
a)
A. Tên biến xâu và chỉ số đặt trong cặp ngoặc ( và )_x000D_
b)
B. Tên biến xâu và chỉ số đặt trong cặp ngoặc [ và ]_x000D_
c)
C. Tên biến xâu và chỉ số đặt trong cặp ngoặc { và }_x000D_
d)
D. Tên biến xâu và chỉ số đặt trong cặp ngoặc “ và ”_x000D_
35.
Câu 10: Một số thao tác xử lí xâu là:_x000D_
a)
A. Phép gán, phép so sánh_x000D_
b)
B. Phép ghép, phép so sánh_x000D_
c)
C. Phép cộng, phép gán_x000D_
d)
D. Phép so sánh, phép trừ_x000D_
36.
Câu 11: Cho xâu S là “Ha Noi – Viet Nam” , kết quả của hàm Pos(‘Viet Nam’,S) là:_x000D_
a)
A. 9_x000D_
b)
B. 10_x000D_
c)
C. 11_x000D_
d)
D. 12_x000D_
37.
Câu 12: Cho xâu S là “Ha Noi – Viet Nam” , kết quả của hàm Pos(‘Vietnam’,S) là:_x000D_
a)
A. 9_x000D_
b)
B. 10_x000D_
c)
C. 0_x000D_
d)
D. 11_x000D_
38.
Câu 13: Sau khi thực hiện đoạn chương trình sau, kết quả của S là:_x000B_S:= ‘Mua thu Ha Noi’;_x000B_Delete(s,8,8);_x000B_Insert(Mua thu,s,1);_x000D_
a)
A. Ha Noi_x000D_
b)
B. Mua thu Ha Noi_x000D_
c)
C. Ha Noi Mua thu_x000D_
d)
D. Mua thu Mua thu_x000D_
39.
Câu 14: Trong ngôn ngữ lập trình Pascal, hai xâu kí tự được so sánh dựa trên:_x000D_
a)
A. Mã của từng kí tự trong các xâu lần lượt từ trái sang phải_x000D_
b)
B. Độ dài tối đa của hai xâu_x000D_
c)
C. Độ dài thực sự của hai xâu_x000D_
d)
D. Số lượng kí tự khác nhau của hai xâu_x000D_
40.
Câu 15: Trong ngôn ngữ lập trình Pascal, để xóa đi ký tự đầu tiên của xâu ký tự S ta viết?_x000D_
a)
A. Delete(S, 1, 1);
b)
B. Delete(S, i, 1); { i là biến đếm có giá trị ≠ 1}_x000D_
c)
C. Delete(S, length(S), 1);_x000D_
d)
D. Delete(S, 1, i); { i là biến có giá trị bất kỳ }_x000D_
41.
Câu 16: Trong ngôn ngữ lập trình Pascal, để tìm vị trí xuất hiện đầu tiên của xâu ‘hoa’ trong xâu S ta có thể viết bằng cách nào trong các cách sau ?_x000D_
a)
A. S1 := ‘hoa’ ;
b)
B. i := pos(‘hoa’, S) ;_x000D_
c)
C. i := pos(S, ’hoa’) ;_x000D_
d)
D. i := pos(‘hoa’, ‘hoa’) ;_x000D_
42.
Câu 17: Trong ngôn ngữ lập trình Pascal, để in một xâu kí tự ra màn hình theo thứ tự ngược lại của các ký tự trong xâu (vd : abcd thi in ra là dcba), đoạn chương nào sau đây thực hiện việc đó?_x000D_
a)
A. For i := 1 to length(S) do write(S[i])_x000D_
b)
B. For i := length(S) downto 1 do write(S[i])_x000D_
c)
C. For i := length(S) downto 1 do write(S)_x000D_
d)
D. For i := 1 to length(S) div 2 do write(S[i])_x000D_
43.
Câu 18: Xác định biểu thức cho giá trị đúng (true) trong các biểu thức sau đây._x000D_
a)
A. ‘Ninh thuan que toi’ < ‘Ninh thuan’
b)
B. ‘Truong chinh’ = ‘TRUONG CHINH’_x000D_
c)
C. ‘Anh’ > ‘Em’
d)
D. ‘Tin hoc’ > ‘Tien hoc le – Hau hoc van’_x000D_
44.
Câu 19: Cho xâu St = ‘THPT Phan Boi Chau’, Để có xâu St =’THPT’ ta dung thủ tục nào sâu đây:_x000D_
a)
A. Delete(St, 5,14 );_x000D_
b)
B. Delete(St, 14, 5 ); _x000D_
c)
C. Delete(St, 1, 5 );_x000D_
d)
D. Delete(St,5, 1 );_x000D_
45.
Câu 21: Đoạn chương trình sau thực hiện công việc gì? (giá trị của biến đếm):_x000B_Dem:=0;_x000B_For ch:= ‘a’ to ‘z’ do_x000B_If pos(ch,s) <> 0 then dem := dem +1;_x000D_
a)
A. Đếm số lượng ký tự khác dấu cách của xâu S_x000D_
b)
B. Đếm số lượng kí tự là chữ cái in hoa của xâu S_x000D_
c)
C. Đếm số lượng ký tự là chữ cái thường trong xâu S_x000D_
d)
D. Đếm số lượng chữ cái thường khác nhau có trong xâu S_x000D_
46.
Câu 22: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì?_x000B_X:=length(S);_x000B_For i:=X downto 1 do_x000B_If S[i] = ‘ ’ then Delete(S,i,1);_x000D_
a)
A. Xóa dấu cách đầu tiên trong xâu ký tự S_x000D_
b)
B. Xóa dấu cách thừa trong xâu ký tự S_x000D_
c)
C. Xóa dấu cách tại vị trí cuối cùng của xâu S_x000D_
d)
D. Xóa mọi dấu cách của xâu S_x000D_
47.
Câu 1 Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?_x000D_
a)
A Là một tập hợp các số nguyên_x000D_
b)
B Độ dài tối đa của mảng là 255_x000D_
c)
C Là một dãy hữu hạn các phần tử cùng kiểu_x000D_
d)
D Mảng không thể chứa kí tự_x000D_
48.
Câu 2 Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:_x000D_
a)
A khai báo một hằng số là số phần tử của mảng_x000D_
b)
B khai báo chỉ số bắt đầu và kết thúc của mảng_x000D_
c)
C khai báo chỉ số kết thúc của mảng_x000D_
d)
D không cần khai báo gì, hệ thống sẽ tự xác định_x000D_
49.
Câu 3 Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?_x000D_
a)
A Dùng để truy cập đến một phần tử bất kì trong mảng_x000D_
b)
B Dùng để quản lí kích thước của mảng_x000D_
c)
C Dùng trong vòng lặp với mảng_x000D_
d)
D Dùng trong vòng lặp với mảng để quản lí kích thước của mảng_x000D_
50.
Câu 4 Phát biểu nào sau đây về mảng là không chính xác?_x000D_
a)
A Chỉ số của mảng không nhất thiết bắt đầu từ 1_x000D_
b)
B Có thể xây dựng mảng nhiều chiều_x000D_
c)
C Xâu kí tự cũng có thể xem như là một loại mảng_x000D_
d)
D Độ dài tối đa của mảng là 255_x000D_
51.
Câu 5 Thế nào là khai báo biến mảng gián tiếp?_x000D_
a)
A Khai báo mảng của các bản ghi_x000D_
b)
B Khai báo mảng xâu kí tự_x000D_
c)
C Khai báo mảng hai chiều_x000D_
d)
D Khai báo thông qua kiểu mảng đã có_x000D_
52.
Câu 6 Phương án nào dưới đây là khai báo mảng hợp lệ?_x000D_
a)
A Var mang : ARRAY[0..10] OF INTEGER;_x000D_
b)
B Var mang : ARRAY[0..10] : INTEGER;_x000D_
c)
C Var mang : INTEGER OF ARRAY[0..10];_x000D_
d)
D Var mang : ARRAY(0..10) : INTEGER;_x000D_
53.
Câu 7 Cho khai báo mảng và đoạn chương trình như sau:_x000B_Var a : array[0..50] of real ;_x000B_k := 0 ;_x000B_or i := 1 to 50 do_x000B_if a[i] > a[k] then k := i ;_x000B_Đoạn chương trình trên thực hiện công việc gì dưới đây?_x000D_
a)
A Tìm phần tử nhỏ nhất trong mảng;_x000D_
b)
B Tìm phần tử lớn nhất trong mảng;_x000D_
c)
C Tìm chỉ số của phần tử lớn nhất trong mảng_x000D_
d)
D Tìm chỉ số của phần tử nhỏ nhất trong mảng_x000D_
54.
Câu 8 Cho khai báo mảng như sau: Var a : array[0..10] of integer ;_x000B_Phương án nào dưới đây chỉ phần tử thứ 10 của mảng?_x000D_
a)
A a[10];_x000D_
b)
B a(10);_x000D_
c)
C a[9];_x000D_
d)
D a(9);_x000D_
55.
Câu 9 Mảng là kiểu dữ liệu biểu diễn một dãy các phần tử thuận tiện cho:_x000D_
a)
A chèn thêm phần tử_x000D_
b)
B truy cập đến phần tử bất kì_x000D_
c)
C xóa một phần tử_x000D_
d)
D chèn thêm phần tử và xóa phần tử
56.
Câu 10 Khẳng định nào đúng về mảng 1 chiều? _x000D_
a)
A Mảng một chiều là dãy vô hạn các phần tử cùng kiểu._x000D_
b)
B Mảng được đặt tên và mỗi phần tử của mảng có một chỉ số._x000D_
c)
C Mảng một chiều là dãy hữu hạn các phần tử khác kiểu._x000D_
d)
D Số lượng phần tử của mảng không được xác định._x000D_
57.
Câu 11 Các phần tử của mảng có thể có những kiểu dữ liệu nào?_x000D_
a)
A Kiểu số nguyên._x000D_
b)
B Kiểu số thực_x000D_
c)
C Các kiểu dữ liệu chuẩn._x000D_
d)
D Kiểu kí tự và logic_x000D_
58.
Câu 12 Hãy chọn khai báo đúng trong các khai báo trực tiếp sau:_x000D_
a)
A Var 2A:array[1..20] of integer;_x000D_
b)
B Var A:array[1-20] of integer;_x000D_
c)
C Var A:array[1..20] of integer;_x000D_
d)
D Var A:array(1..20) of integer;_x000D_
59.
Câu 13 Hãy chọn khai báo sai trong các khai báo gián tiếp sau:_x000D_
a)
A Type A:array[-5..5] of real; var B= A;_x000D_
b)
B Type A=array[-5..5] of real; var B: A;_x000D_
c)
C Type mang=array[1..20] of real; var C: mang;_x000D_
d)
D Type C= array [1..250] of integer; var A: C;_x000D_
60.
Câu 14 Hãy chọn cú pháp khai báo đúng trong các khai báo sau:_x000D_
a)
A Var <tên mảng > :< Kiểu dữ liệu>;_x000D_
b)
B Var < tên biến mảng >: [ kiểu chỉ số ] of < kiểu phần tử>;_x000D_
c)
C Var < tên biến mảng >: array [ kiểu chỉ số ] of < kiểu phần tử>;_x000D_
d)
D Var < tên biến mảng >: array [ kiểu chỉ số ] < kiểu phần tử>;_x000D_
61.
Câu 15 Khi nào sử dụng đến kiểu dữ liệu mảng?_x000D_
a)
A Khi cần sử dụng một phần tử rời rạc_x000D_
b)
B Khi cần sử dụng để lưu trữ cho tương lai._x000D_
c)
C Khi cần sử dụng các phần tử khác nhau nhưng khác kiểu._x000D_
d)
D Khi cần sử dụng các phần tử có cùng kiểu._x000D_
62.
Câu 16 Cú pháp khai báo trực tiếp biến mảng 1 chiều:_x000D_
a)
A Var <tên biến mảng>: array [kiểu chỉ số] of <kiểu phần tử>;_x000D_
b)
B Var <tên biến mảng>: array [chỉ số đầu … chỉ số cuối] of <kiểu phần tử>;_x000D_
c)
C Var <tên biến mảng>: array [chỉ số đầu .. chỉ số cuối] of <kiểu phần tử>;_x000D_
d)
D Var <tên biến mảng>: array [kiểu chỉ số] of <kiểu dữ liệu>;_x000D_
63.
Câu 17 Phát biểu nào sau đây đúng nhất:_x000D_
a)
A Kiểu chỉ số thường là một đoạn số nguyên liên tục_x000D_
b)
B Kiểu chỉ số phải là đoạn số nguyên_x000D_
c)
C Kiểu chỉ số có thể là đoạn số thực_x000D_
d)
D Kiểu chỉ số thuộc kiểu gì cũng được_x000D_
64.
Câu 18 Phát biểu nào sau đây đúng nhất:_x000D_
a)
A Kiểu phần tử là kiểu dữ liệu của các phần tử trong mảng_x000D_
b)
B Kiểu phần tử cùng kiểu với kiểu chỉ số_x000D_
c)
C Kiểu phần tử phải là kiểu số_x000D_
d)
D Kiểu phần tử là kiểu của chỉ số đầu và chỉ số cuối_x000D_
65.
Câu 19 Phát biểu nào sau đây là sai:_x000D_
a)
A Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu_x000D_
b)
B Có thể xây dựng mảng n chiều_x000D_
c)
C Cần xác định kiểu phần tử của mảng_x000D_
d)
D Phần tử trong mảng có thể có nhiều hơn 1 chỉ số_x000D_
66.
Câu 20 Đâu không là yếu tố cần xác định khi xây dựng mảng 1 chiều:_x000D_
a)
A Tên kiểu mảng, số lượng phần tử_x000D_
b)
B Cách tham chiếu đến phần tử_x000D_
c)
C Cách khai báo biến mảng, kiểu dữ liệu của các phần tử_x000D_
d)
D Kiểu dữ liệu của chỉ số_x000D_
67.
Câu 21 Để khai báo số phần tử của mảng 1 chiều, người lập trình cần:_x000D_
a)
A Khai báo một hằng số là số phần tử của mảng_x000D_
b)
B Khai báo chỉ số bắt đầu và kết thúc của mảng_x000D_
c)
C Khai báo chỉ số kết thúc của mảng_x000D_
d)
D Không cần khai báo gì, hệ thống sẽ tự xác định_x000D_
68.
Câu 22 Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất ?_x000D_
a)
A Dùng để truy cập đến một phần tử bất kì trong mảng;_x000D_
b)
B Dùng để quản lí kích thước của mảng;_x000D_
c)
C Dùng trong vòng lặp với mảng;_x000D_
d)
D Dùng trong vòng lặp với mảng để quản lí kích thước của mảng;_x000D_
69.
Câu 23 Phát biểu nào sau đây về mảng là không chính xác ?_x000D_
a)
A Chỉ số của mảng không nhất thiết bắt đầu từ 1;_x000D_
b)
B Có thể xây dựng mảng nhiều chiều;_x000D_
c)
C Xâu kí tự cũng có thể xem như là một loại mảng;_x000D_
d)
D Độ dài tối đa của mảng là 255;_x000D_
70.
Câu 24 Phương án nào dưới đây là khai báo mảng hợp lệ ?_x000D_
a)
A mang : ARRAY[0..10] OF INTEGER;_x000D_
b)
B mang : ARRAY[0..10] OF INTERGER;_x000D_
c)
C mang : INTEGER OF ARRAY[0..10];_x000D_
d)
D mang : ARRAY(0..10) : INTEGER;_x000D_
71.
Câu 25 Câu lệnh dùng để nhập giá trị cho phần tử trong mảng_x000D_
a)
A readln(<Tên mảng>[<Kiểu chỉ số>]);_x000D_
b)
B readln(<Tên mảng>[<Biến đếm>]);_x000D_
c)
C readln(<Tên mảng>[<Chỉ số cuối>]);_x000D_
d)
D readln(<Tên mảng>[<Chỉ số đầu>]);_x000D_
72.
Câu 26: Với khai báo biến mảng Var a:array [1..50] of real; các phần tử trong mảng có thể nhận giá trị nào trong các giá trị sau?_x000D_
a)
A 1.0E3_x000D_
b)
B 1.0D2_x000D_
c)
C 1.0A1_x000D_
d)
D 1.0C1_x000D_
73.
Câu 27 Cho dãy số nguyên a gồm các phần tử: 2 3 4 5 1 6 3. Tham chiếu đến giá trị của phần tử thứ 3 ta viết_x000D_
a)
A 4_x000D_
b)
B a[4]_x000D_
c)
C a[3]_x000D_
d)
D 3_x000D_
74.
Câu 28 Cho khai báo mảng so như sau: Var so:array[1..51-2] of byte; mảng so chứa tối da bao nhiêu phần tử?_x000D_
a)
A 49_x000D_
b)
B 51_x000D_
c)
C 50_x000D_
d)
D Khai báo sai_x000D_
75.
Câu 29 Trong ngôn ngữ lập trình Pascal Câu lệnh nào sau đây là đúng cú pháp?_x000D_
a)
A For i:=1 to n do; if a[i] mod 2 = 0 then writeln(a[i], ‘la so le’);_x000D_
b)
B For i:=1 to n do if a[i] mod 2 = 0 then writeln(a[i] ‘la so le’);_x000D_
c)
C For i:=1 to n do if a[i] mod 2 = 0 then writeln(‘a[i], ‘la so le’);_x000D_
d)
D For i:=1 to n do if a[i] mod 2 = 0 then writeln(‘a[i], la so le’);_x000D_
76.
Câu 30 Trong ngôn ngữ lập trình Pascal Câu lệnh nào sau đây là sai cú pháp?_x000D_
a)
A For i:=10 downto 1 do if a[i] div 2 = 0 then write(a[i] = 1);_x000D_
b)
B For i:=10 downto 1 do if a[i] div 2 = 0 then write(a[i], ‘= 1’);_x000D_
c)
C For i:=10 downto 1 do if a[i] div 2 = 0 then write(a[i] = 0);_x000D_
d)
D For i:=10 downto 1 do if a[i] div 2 = 0 then write(a[i], ‘≥ 1’);_x000D_
77.
Câu 31 Cho khai báo biến mảng sau: _x000B_Var a:array[0..16] of byte;_x000B_lệnh nào sau đây in ra tất cả các phần tử của mảng._x000D_
a)
A For i:=1 to 16 do write(a[i]);_x000D_
b)
B For i:= 0 to 15 do write(a[i]);_x000D_
c)
C For i:=16 downto 0 do write(a[i]);_x000D_
d)
D For i:=16 downto 1 do write(a[i]);_x000D_
78.
Câu 32 Cho khai báo biến mảng sau: _x000B_Var a:array[0..16] of byte;_x000B_Phương án nào dưới đây chỉ phần tử thứ 10 của mảng._x000D_
a)
A a[9]_x000D_
b)
B a[10]_x000D_
c)
C a[11]_x000D_
d)
D a(10)_x000D_
79.
Câu 33 Đoạn chương trình sau khi thực hiện cho kết quả gì?_x000B_ Var a:array[1..3] of byte; i:byte;_x000B_ Begin_x000B_ For i:=1 to 3 do a[i]:=i;_x000B_ For i:=1 to 3 do_x000B_ If a[i] mod 2 = 0 then Write(a[i]); End _x000D_
a)
A 1_x000D_
b)
B 2_x000D_
c)
C 3_x000D_
d)
D 1 2 3_x000D_
80.
Câu 34 Các bộ số lập thành tam giác ở chương trình trên:_x000D_
a)
A Là các số giống nhau_x000D_
b)
B Các số trong bộ được lặp lại ít nhất 2 lần_x000D_
c)
C Các bộ là khác nhau_x000D_
d)
D Các bộ có thể trùng nhau_x000D_
81.
Câu 35 Giá trị của bộ đầu tiên trong chương trình trên là:_x000D_
a)
A 7 8 10_x000D_
b)
B 3 4 5_x000D_
c)
C 10 9 2_x000D_
d)
D 3 4 6_x000D_
82.

Câu 21: Chương trình sau giải bài toán gì:

a)

A. Đây là chương trình đếm số các số nguyên trong khoảng từ 1 đến 10000 là bội số của 3

b)

B. Đây là chương trình đếm và thông báo ra màn hình rằng trong khoảng từ 1 đến 10000 có bao nhiêu số nguyên là bội số của 3 và có bao nhiêu số là bội số chung của 3 và 5

c)

C. Đây là chương trình đếm số các số nguyên nhỏ hơn 10000 và chia hết cho 3

d)

D. Đây là chương trình đếm số các số nguyên trong khoảng từ 1 đến 10000 là bội số của 3 và 5

83.
a)

A. Tính tổng các số tự nhiên nhỏ hơn hoặc bằng 10000

b)

B. Tính tổng các số tự nhiên chẵn nhỏ hơn 10000

c)

C. Tính tổng các số tự nhiên chẵn nhỏ hơn hoặc bằng 10000

d)

D. Tính tổng các số tự nhiên nhỏ hơn hoặc 10000

84.
a)

A. 3     13720.0

b)

B. 1     10000.0

c)

C. 2      5000.0

d)

D. 3     10000.0

85.
a)

<$> Sắp xếp dãy a thành dãy không tăng

b)

<$> Sắp xếp dãy a thành dãy không giảm

c)

<$> Sắp xếp dãy a thành dãy tăng

d)

<$> Sắp xếp dãy a thành dãy giảm

86.
a)

<$> Tìm số lớn nhất của dãy số

b)

<$> Tìm số nhỏ nhất của dãy số

c)

<$> So sánh các số trong dãy với số đầu tiên

d)

<$> Đáp án khác

87.
a)

6

b)

7

c)

8

d)

9

88.
a)

0

b)

1

c)

100 số 0

d)

100 số 1

89.
a)

0

b)

1

c)

10 số 0

d)

10 số 1

90.
a)

<$> Đếm số lượng số nguyên tố trong dãy

b)

<$> Đếm số lượng số chẵn trong dãy

c)

<$> Đếm số lượng số hỗn hợp trong dãy

d)

<$> Đáp án khác

91.
a)

<$> Tính tổng các phần tử trong mảng là bội của k

b)

<$> Tính tổng các phần tử trong mảng là bội của 5

c)

<$> Tính tổng các phần tử chẵn trong mảng

d)

<$> Tính tổng các phần tử lẻ trong mảng

92.
a)

<$> Đưa ra tất cả các phần tử lớn nhất và chỉ số của nó

b)

<$> Nếu có nhiều phần tử cùng có giá trị lớn nhất thì đưa ra phần tử có chỉ số nhỏ nhất

c)

<$> Nếu có nhiều phần tử cùng có giá trị lớn nhất thì đưa ra phần tử có chỉ số lớn nhất

d)

<$> Đưa ra 1 giá trị lớn nhất và tất cả các chỉ số

93.
a)

<$> Bao gồm các phần tử của mảng a

b)

       

<$> Bao gồm các phần tử chia hết cho 5 trong mảng a

c)

<$> Bao gồm các phần tử chia hết cho 5

d)

<$> Bao gồm các phần tử trong mảng a

94.
a)

1

b)

2

c)

3

d)

4

95.
a)

A. 4

b)

B. 2017

c)

C. Thông báo lỗi

d)

D. Đáp án khác

96.
a)

A. Thay toàn bộ cụm từ ‘anh’ trong xâu S bằng cụm từ ‘em’ ;

b)

B. Thay toàn bộ cụm từ ‘em’ trong xâu S bằng cụm từ ‘anh’ ;        

c)

C. Thay cụm từ ‘em’ đầu tiên trong xâu S bằng cụm từ ‘anh’ ;

d)

D. Thay cụm từ ‘anh’ đầu tiên trong xâu S bằng cụm từ ‘em’ ;

97.
a)

A. Found bằng 0 nếu S là xâu đối xứng;

b)

B. Found bằng 0 nếu S là xâu không đối xứng;

c)

C. Found bằng 1 nếu S là xâu đối xứng;

d)

D. Found không có giá trị gì;

98.
a)

A. Xóa 2 dấu cách liền nhau đầu tiên trong xâu

b)

B. Xóa đi một trong 2 dấu cách đầu tiên trong xâu;

c)

C. Xóa các dấu cách trong xâu S để S không còn 2 dấu cách liền nhau;

d)

D. Xóa các dấu cách liền nhau cuối cùng trong xâu;

99.
a)

A. Xóa tất cả các dấu cách trong xâu X ;

b)

B. Xóa tất cả các dấu cách phía bên trái trong xâu X ;

c)

C. Xóa tất cả các dấu cách phía bên phải trong xâu X ;

d)

D. Xóa tất cả các dấu cách ở hai đầu của xâu X ;

100.
a)

A. Xâu rỗng

b)

B. ‘Hoang’

c)

C. ‘Anh’

d)

D. ‘Tuan’

101.
a)

A. Xóa đi các dấu cách trong xâu;

b)

B. Đếm số ký tự có trong xâu;

c)

C. Đếm số dấu cách có trong xâu;

d)

D. Xóa đi các ký tự số;

102.
a)

A. Đếm số ký tự là ký tự số trong xâu S;

b)

B. Đếm xem có bao nhiêu ký tự số trong xâu S;

c)

C. Xóa đi các chữ số có trong S;

d)

D. Xóa đi ký tự đầu tiên trong S;