HỌC ĐỂ CÙNG TIẾN BỘ

Câu 1. Phát biểu nào dưới đây về kiểu mảng là đúng nhất ?

A. Là một tập hợp các số nguyên.

B. Độ dài tối đa của mảng là 255.

C. Là một dãy hữu hạn các phần tử cùng kiểu.

D. Mảng không thể chứa kí tự.

Câu 2. Phát biểu nào dưới đây về kiểu mảng là đúng nhất ?

A. Mảng một chiều là một dãy hữu hạn các số nguyên.

B. Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu dữ liệu.

C. Có thể dùng bất cứ một kiểu dữ liệu chuẩn nào để đánh chỉ số cho các phần tử của mảng một chiều.

D. Khi xây dựng kiểu mảng một chiều, người lập trình không cần khai báo kiểu dữ liệu của phần tử của mảng.

Câu 3. Khai báo biến mảng A nào sau đây là khai báo hợp lệ ?

A. Var A : array[0..10] of integer;

B. Var A : array[0…10] integer;

C. Var A : array(0..10) of integer;

D. Var A : array{0..10} of integer;

Câu 4. Cho khai báo biến mảng B như sau: Var B: Array[0..100] of real;

Để tham chiếu phần tử thứ 100 của mảng B ta viết:

A. B[100]; B. B(100); C.B[99]; D.B(99);

Câu 5. Cho khai báo biến mảng A như sau: Var A: Array[1..100] of real;

Để in ra tất cả các phần tử của mảng A ta viết:

A. for i := 1 to 100 do write(A[i]);

B. for i := 100 downto 1 do write(A[i]);

C. Cả A và B đều đúng.

D. Cả A và B đều sai.

Câu 6. Cho khai báo biến mảng B như sau: Var B: Array[0..100] of byte;

mảng B chứa tối đa bao nhiêu phần tử?

A. 99 B. 100 C.101 D. Không xác định.

Câu 7. Trong ngôn ngữ lập trình Pascal, xâu kí tự là ?

A. Mảng các ký tự.

B. Dãy các kí tự trong bảng mã ASCII.

C. Tập hợp các chữ cái trong bảng chữ cái tiếng Anh.

B. Tập hợp các chữ cái và các chữ số trong bảng chữ cái tiếng Anh.

Câu 8. Cho khai báo biến xâu St như sau: Var St: string;

Phát biểu nào dưới đây là đúng

A. Câu lệnh sai vì thiếu độ dài tối đa của xâu;

B. Xâu có độ dài lớn nhất là 0;

C. Xâu có độ dài lớn nhất là 255.

D. Cần phải bắt buộc khai báo kích thước của xâu St.

Câu 9. Trong ngôn ngữ lập trình Pascal, khai báo nào trong các khai báo sau là sai khi khai báo xâu kí tự ?

A. Var S : string;

B. Var St : string[100];

C. Var S : string[256];

D. Var S1 : string[10];

Câu 10. Thủ tục chuẩn Insert(S1,S2,vt) có ý nghĩa

A. Chèn xâu S1 vào S2 bắt đầu từ vị trí vt.

B. Chèn xâu S2 vào S1 bắt đầu từ vị trí vt.

C. Nối xâu S2 vào S1.

D. Sao chép vào cuối S1 một phần của S2 từ vị trí vt.

Câu 11. Đoạn chương trình Pascal sau in ra màn hình giá trị nào?

Var a : string[10];

Begin

a := ‘tinhoc’;

writeln(length(a));

End.

A. 10 B. 6 C.7 D. Báo lỗi.

Câu 12. Trong ngôn ngữ lập trình Pascal, hàm Upcase(ch) cho kết quả là :

A. Chữ cái in hoa tương ứng với ch.

B. Xâu ch gồm toàn chữ hoa.

C. Xâu ch toàn chữ thường.

D. Biến ch thành chữ thường.

Câu 13. Trong ngôn ngữ lập trình Pascal, với xâu kí tự có các phép toán là ?

A. Phép cộng, trừ, nhân, chia

B. Phép cộng và phép trừ

C. Chỉ có phép cộng

D. Phép ghép xâu và phép so sánh

Câu 14. Cho xâu A:=’Nguyen Binh’; xâu B:=’Nguyen Nam’; hãy cho biết:

A. Xâu A nhỏ hơn xâu B; B. Xâu A lớn hơn xâu B;

C. Xâu A bằng xâu B; D. Không thể so sánh xâu A và xâu B;

Câu 15. Để khai báo 1 xâu S có độ dài lớn nhất là 50 kí tự ta khai báo:

A. Var S: string(50); B. Var S:strings; C. Var S: string[1..50]; D. Var S:string[50];

Câu 16. Cho xâu s:=’nguyen hue’. Cho biết kết quả sau khi thực hiện các câu lệnh sau:

For i:=1 to length(s) do S[i]:=upcase(s[i]);

A. s = ‘nguyen hue’ B. s = ‘NGUYENHUE’

C. s = ‘NGUYEN HUE’ D. s = ’Nguyen Hue’

Câu 17. Độ dài lớn nhất của xâu kí tự trong PASCAL bằng giá trị bao nhiêu?

A. 256 B. 250 C.255 D. Tùy ý

Câu 18. Cho mảng A khai báo như sau: Var A:array[1..100] of integer;đoạn chương trình sau với mảng A có ý nghĩa gì ? S:=0;

for i:=1 to n do S:=S+A[i];

writeln(S);

A. In các phần tử trong mảng A.

B. In tổng các phần tử của mảng A.

C. In số lượng các phần tử của mảng A.

D. In tổng các phần tử của mảng A có giá trị là số chẵn.

Câu 19. Cho mảng A khai báo như sau: Var A:array[1..100] of integer;đoạn chương trình sau với mảng A có ý nghĩa gì ?

S:=0;

for i:=1 to n do if(A[i]mod 2<>0)and(A[i] >=0)then S:=S+A[i];

writeln(S);

A. In các phần tử trong mảng A.

B. In tổng các phần tử của mảng A.

C. In số lượng các phần tử của mảng A có giá trị là số lẻ không âm.

D. In tổng các phần tử của mảng A có giá trị là số lẻ không âm.

Câu 20. Cho mảng A khai báo như sau: Var A:array[1..100] of integer;đoạn chương trình sau với mảng A có ý nghĩa gì ? Dem:=0;

for i:=1 to n do if((A[i]< 0)then Dem:=Dem + 1;

writeln(S);

A. In tổng các phần tử của mảng A có giá trị là số âm.

B. In số lượng các phần tử của mảng A có giá trị là số âm.

C. In số lượng các phần tử của mảng A có giá trị là số lẻ không âm.

D. In số lượng các phần tử của mảng A có giá trị là số chẵn.

Câu 21. Cho đoạn chương trình sau:

var a : string; i : integer;

begin

write(‘Nhap xau:’);readln(a);

for i:=length(a) downto 1 do write(a[i]); Đoạn chương trình trên có ý nghĩa gì ?

A. Nhập vào một xâu từ bàn phím, đưa ra màn hình xâu đó nhưng được viết theo thứ tự ngược lại.

B. Nhập vào một xâu từ bàn phím, đưa ra màn hình độ dài của xâu vừa nhập.

C. Nhập vào một xâu từ bàn phím và in ra màn hình xâu vừa nhập.

D. Nhập vào xâu từ bàn phím và in ra màn hình xâu dài hơn.