1 / 2 BÀI TẬP TRẮC NGHIỆM Câu 1: Chọn câu trả lời đúng nhất Mảng một chiều là dãy … A. các phần tử có thứ tự. B. hữu hạn các phần tử cùng kiểu. C. vô số các phần tử có giá trị D. các số nguyên hoặc số thực Câu 2: Khai báo biến mảng một chiều có dạng: A. Var <tên biến mảng>:array[kiểu chỉ số] of <kiểu phần tử>; B. Type <tên biến mảng>:array[kiểu chỉ số] of <kiểu phần tử>; C. Var <tên biến mảng>=array[kiểu chỉ số] of <kiểu phần tử>; D. Type <tên biến mảng>=<tên kiểu mảng>; 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 ? A. Dùng để truy cập đến một phần tử bất kì trong mảng; B. Dùng để quản lí kích thước của mảng; C. Dùng trong vòng lặp với mảng; D. Dùng trong vòng lặp với mảng để quản lí kích thước của mảng; Câu 4: Hãy chọn phương án ghép đúng nhất. Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần A. khai báo một hằng số là số phần tử của mảng; B. khai báo chỉ số bắt đầu và kết thúc của mảng; C. khai báo chỉ số kết thúc của mảng; D. không cần khai báo gì, hệ thống sẽ tự xác định; Câu 5: Cho khai báo mảng như sau : Var m : array[0..10] of integer ; Phương án nào dưới đây chỉ phần tử thứ 10 của mảng ? A. a[10]; B. a(10); C. a[9]; D. a(9); Câu 6:Phương án nào dưới đây là khai báo mảng hợp lệ ? A. mang : ARRAY[0..10] OF INTEGER; B. mang : ARRAY[0..10] : INTEGER; C. mang : INTEGER OF ARRAY[0..10]; D. mang : ARRAY(0..10) : INTEGER; Câu 7 var a:array[1..10] of integer; s,i:integer; begin s:=0; for i:=1 to 10 do a[i]:=i; for i:=5 downto 1 do s:=s+a[i]; writeln(s); readln end. Sau khi thực hiện chương trình trên, giá trị hiển thị lên màn hình là gì? 2 / 2 A. 20 B. 10 C. 5 D. 15 Câu 8: Giả thiết M và N là hai mảng một chiều được khai báo như sau: Var M,N:array[1..20] of integer; Giả sử giá trị M[i] và N[i] (i nhận giá trị từ 1 đến 20) đã được xác định. Xét đoạn chương trình sau: d:=0; for i:=1 to 20 do if M[i] <> N[i] then d:=d+1; writeln(d); Đoạn chương trình trên thực hiện công việc gì dưới đây? A. Đếm số phần tử của M khác các phần tử của N. B. Đếm số phần tử khác nhau của M và N. C. Đếm số cặp phần tử tương ứng khác nhau của M và N D. Đếm số phần tử khác nhau của M Câu 9: Cho khai báo mảng và đoạn chương trình như sau : Var a : array[0..50] of real ; k := 0 ; for i := 1 to 50 do if a[i] > a[k] then k := i ; Đoạn chương trình trên thực hiện công việc gì dưới đây ? A. Tìm phần tử nhỏ nhất trong mảng; B. Tìm phần tử lớn nhất trong mảng; C. Tìm chỉ số của phần tử lớn nhất trong mảng; D. Tìm chỉ số của phần tử nhỏ nhất trong mảng; Câu 10: Xét chương trình sau. var a:array[1..1000] of integer; n,i,t:integer; begin write('N= ');readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n div 2 do begin t:=a[i];a[i]:=a[n-i+1]; a[n-i+1]:=t; end; for i:=1 to n do write(a[i]:5); readln end. Hãy cho biết chương trình trên thực hiện công việc gì? A. Đảo ngược vị trí của các phần tử mảng a. B. Ghi một nửa số phần tử ở cuối lên các vị trí đầu tiên. C. Sắp xếp các phần tử của a theo thứ tự giảm dần D. Sắp xếp các phần tử của a theo thứ tự tăng dần

2 câu trả lời

1:b

2:A

3:A

4B

5:D

6:D

7:A

8:C

9:B

10:A

Bạn thấy có đúng không:))

1. B

2. A

3. A

4. B

5. D

6. D

7. A

8. C

9. A

10. D