Câu 1: Các khai báo biến mảng 2 chiều nào sau đây là không hợp lệ
A. Var a: array [1.10, 0.10] of real; D. Var a: array [1.m, 1.n] of real; với m, n là hằng;
B. Var a: array [1.10] of array [0.10] of real; C. Var a: array [1.m, 1.n] of real; với m, n là biến;
Câu 2: Chọn khai báo đúng :
A .Var A: array[1.10] of integer; B .Var A= array[1.10] of integer;
C. Var A:= array[1.10] of integer; D. Var A: array[1,10] of integer;
Câu 3: Cho khai báo:
Var
A: Array[1.4] of Real;
i : Integer ;
PHẦN TRẮC NGHIỆM Câu 1: Các khai báo biến mảng 2 chiều nào sau đây là không hợp lệ A. Var a: array [1..10, 0..10] of real; D. Var a: array [1..m, 1..n] of real; với m, n là hằng; B. Var a: array [1..10] of array [0..10] of real; C. Var a: array [1..m, 1..n] of real; với m, n là biến; Câu 2: Chọn khai báo đúng : A .Var A: array[1..10] of integer; B .Var A= array[1..10] of integer; C. Var A:= array[1..10] of integer; D. Var A: array[1,10] of integer; Câu 3: Cho khai báo: Var A: Array[1..4] of Real; i : Integer ; Ðể nhập dữ liệu cho A, chọn câu nào : a) For i:=1 to 4 do Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]); b) For i:=1 to 4 do Readln(‘ Nhập A[‘, i, ‘]:’); c) For i:=1 to 4 do Begin Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]); End; d) Write(‘ Nhập A:’); Readln(A); Câu 4: Cho khai báo biến : Var A : array[1..5] of Integer; Chọn lệnh đúng : A. A[1] := 4/2 ; B. A[2] := -6 ; C. A(3) := 6 ; D. A := 10 ; Câu 5: Trong khai báo sau còn bỏ trống . . . một chỗ, vì chưa xác định được kiểu dữ liệu của biến Max : Var A: Array[a..d] of Real ; Ch : Char ; Max : . . . ; Muốn biến Max lưu gía trị lớn nhất của mảng A thì cần khai báo biến Max kiểu gì vào chỗ . . . A. Char B. Integer C. String D. Real Câu 6: Cho khai báo: Var A: Array[1..4] of Integer ; i : Integer ; Sau khi thực hiện các lệnh : For i:=1 to 4 do A[i]:= i; For i:=1 to 4 do A[i]:= A[i]+1; thì mảng A có gía trị là : A. A[1]=1, A[2]=2, A[3]=3, A[4]=4 B. A[1]=2, A[2]=3, A[3]=4, A[4]=5 C. A[1]=0, A[2]=1, A[3]=2, A[4]=3 D. A[1]=1, A[2]=1, A[3]=1, A[4]=1 Câu 7: Khai báo nào đúng : A. Var A : array[1..n,1..m] of integer; B. Const n=2; m=3; Var A: array[1...n,1..m] of integer; C. Var n, m : integer ; A: array[1..n,1..m] of integer; D. Var A: array[3, 2] of Integer; Câu 8: Cho khai báo : Var A : array[1..2,1..3] of Real; i, j : integer; Ðể nhập dữ liệu cho ma trận A, chọn : A. Write(‘ Nhập A:’); Readln(A) ; B. For i:=1 to 2 do Readln(A[i, j]); C. For i:=1 to 2 do For j:=1 to 3 do begin write(‘Nhập A[‘, i, j, ‘]:’); readln(A[i, j]); end; D. For i:=1 to 2 do For j:=1 to 3 do write(‘Nhập A[‘, i, j, ‘]:’); readln(A[i, j]); Câu 9: Cho khai báo : Var A : array[1..2,1..3] of Real; i, j : integer; Max : Real; Ðể tìm số lớn nhất của ma trận A, chọn câu nào : A. Max:=A[1,1]; If Max < A[i,j] then Max:=A[i,j]; B. Max:=A[1,1]; For i:=1 to 2 do if Max < A[i,j] then Max:=A[i,j]; C. A[1,1]:=Max ; For i:=1 to 2 do For j:=1 to 3 do if Max< A[i,j] then A[i,j]:=Max; D. Max:=A[1,1]; For i:=1 to 2 do For j:=1 to 3 do if Max < A[i,j] then Max:=A[i,j]; Câu 10: Khi chạy chương trình : Var A : array[1..2,1..3] of integer; i, j, S : integer; Begin A[1,1]:= 3 ; A[1,2]:= -1 ; A[1,3]:= -4 ; A[2,1]:= -9 ; A[2,2]:= 0 ; A[2,3]:= 5 ; S:=0; for i:=1 to 2 do for j:=1 to 3 do If A[i,j] < 0 then S:=S+1; Write(S); End. Kết qủa in ra gía trị của S là : A. 0 B. -9 C. 3 D. 5 Câu 11. Cho đoạn lệnh x:=5; y:=4; writeln('x+y'); Kết quả xuất ra màn hình sẽ là: A. 4 B. 9 C. 5 D. x+y Câu 12. Cho đoạn lệnh A[1]:=5; A[2]:=4; A[3]:=9; A[4]:=8; for i:=4 downto 1 do write(A[i]:4); A. 8 9 4 5 B. 1 2 3 4 C. 5 4 9 8 D. 4 3 2 1 Câu 13. Trong NNLT Pascal, cho khai báo sau Var b:array[1..10] of integer; Hãy chọn lệnh gán đúng trong các lệnh sau đây A. b[5]:=6.5; B. b:=8; C. b[1]:=5; D. b[11]:=8; Câu 14. Đoạn lệnh For i: = 1 To n Do Begin Write('A[',i,']='); Read(A[i]); End; thông thường dùng để: A. Nhập dữ liệu cho mảng một chiều B. Nhập dữ liệu cho mảng hai chiều C. Nhập dữ liệu cho một bản ghi D. Nhập dữ liệu cho một xâu Câu 15 giá trị của biến gt trong đoạn chương trình sau: pt:=1; n:=5; while n<5 do pt:=gt+1; A. 6 B. 1 C. 7 D. 5 Câu 16 Cho mảng A gồm các phần tử: 3; -7; 9; 5; -3; 6; 8; 17; 0; -15. Cho biết giá trị của m sau đoạn chương trình: m:=A[1]; For i:=1 to 10 do If A[i] > m then m := A[i]; A. 6 B. -15 C. 17 D. 3 Câu 17. Cho đoạn lệnh sau: Const n= 100; Var A: Array[1..n] of Byte; Kqua:byte; Begin For i: = 1 To n Do Kqua:=Kqua+A[i]; End; Chọn phương án em cho là đúng nhất khi chạy đoạn chương trình trên A. Tính tổng các phần tử trong mảng một chiều B. Tính tích các phần tử trong mảng một chiểu C. Sai về mặt ngữ nghĩa D. Tính tổng các phần tử trong mảng hai chiều Câu 18. Đoạn lệnh sau dùng để: Var St : String; Begin Write('st = '); Read(st); End; A. Nhập dữ liệu cho một bản ghi B. Nhập dữ liệu cho một xâu C. Nhập dữ liệu cho mảng một chiều D. Nhập dữ liệu cho mảng hai chiều Câu 19. Cho đoạn lệnh sau Gtri:=A[1]; For i:=2 To n Do If A[i]<Gtri Then Gtri:=A[i]; A. Để tìm giá trị không chia hết cho 2 của dãy B. Để tìm giá trị min của dãy C. Để tìm giá trị chia hết cho 2 của dãy D. Để tìm giá trị max của dãy Câu 20. Khai báo biến mảng một chiều trực tiếp trong Pascal A. Var : array[kiểu chỉ số] of ; B. Type : array[kiểu chỉ số] of ; C. Var : array[kiểu chỉ số] : ; D. Var : array[kiểu chỉ hàng, kiểu chỉ số cột] of ; Câu 21. Đoạn lệnh sau dùng để: Const n= 100; Var A: Array[1..n] of Byte; Begin For i: = 1 To n Do Write(A[i]); Writeln; End. A. In giá trị mảng một chiều ra màn hình B. In giá trị một bản ghi ra màn hình C. In giá trị mảng hai chiều ra màn hình D. In giá trị một xâu ra màn hình Câu 22. Khai báo biến mảng hai chiều trực tiếp trong Pascal A. Type : array[chỉ số hàng, chỉ số cột] of ; B. Var : array[chỉ số hàng, chỉ số cột] : ; C. Var : array[chỉ số hàng] : ; D. Var : array[chỉ số hàng, chỉ số cột] of ; Câu 23. Khi làm việc với các phần tử mảng 2 chiều, thường dùng vòng lặp . để duyệt A. Không cần dùng vòng lặp nào cả B. While .. Do C. For ... Do D. 2 Vòng lặp For ... Do Câu 24. Kết quả của biến s sau khi thực hiện đoạn chương trình sau : s:=1; For i:=1 To 10 Do s:=s+i; A. 56 B. 55 C. 57 D. 58 Câu 25. Kết quả của i sau khi thực hiện đoạn chương trình sau : i:=25; i:=sqrt(i)+1; i:=i+1; A. 1 B. 10 C. 25 D. 7 Câu 26: Kết quả của đoạn chương trình sau là: Var a, b :integer; Begin a:=10; b:=11; If a<b then write(-1) else write(1); End. A. -1 B. 1 C. Một giá trị khác D. Chương trình bị lỗi không thể chạy được Câu 27: Giá trị của s1 và s2 là ? Var i, s1, s2 :integer; Begin s1:=0; s2:=0; for i:=1 to 5 do begin s1:=s1 + 1; s2:= s2 + i; end; writeln(s1, ‘ ’,s2); end. A. (5,15) B. (4,15) C. (5, 16) D.(5, 14) Câu 28: Giá trị của biến S trong đoạn chương trình sau là: Var i, j, s :integer; Begin s:=0; for i:=1 to 2 do for j:=1 to 3 do s:=s + i; writeln(s); end. 6 B. 7 C. 8 D. 9 Câu 29: Giá trị của biến i là? Var i :integer; Begin i:=10; while i>0 do i:= i – 1; writeln(i); end. A. 1 B. 2 C. 3 D. 0 Câu 30: giá trị của biến I và dem trong đoạn chương trình sau là: Var i,dem: integer; Begin I:=10; dem:=0; While i>0 do Begin i:=i – 1; dem:=dem+1; end; writeln(i, ‘ ‘, dem); end. A. (0, 10) B. (10, 0) C. (1, 10) D. (10, 1) B. PHẦN TỰ LUẬN I. Kiểu dữ liệu mảng 1. Viết chương trình nhập vào mảng một chiều gồm n phần tử nguyên. Tính tổng các phần tử có trong mảng rồi đưa ra màn hình.
Tài liệu đính kèm: