Sở GD-ĐT Tỉnh Đồng Nai Kiểm tra 45' - HKII - Năm học: 2018- 2019
Trường THPT Thống Nhất Môn: Tin- Lớp: 11
Thời gian: 45' ( không tính thời gian giao đề)
Họ tên học sinh: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . .Lớp: . . .
Câu 1. 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]=2, A[2]=3, A[3]=4, A[4]=5 B. A[1]=1, A[2]=2, A[3]=3, A[4]=4
C. A[1]=1, A[2]=1, A[3]=1, A[4]=1 D. A[1]=0, A[2]=1, A[3]=2, A[4]=3
Câu 2. Đoạn chương trình sau đây thực hiện công việc gì?
Begin
c:=a; a:=b; b:=c; End;
A. Hoán đổi giá trị của hai biến b và c cho nhau.
B. Hoán đổi giá trị của hai biến a và c cho nhau.
C. Gán giá trị các biến cho b.
D. Hoán đổi giá trị của hai biến a và b cho nhau.
Câu 3. Trong NNLT Pascal,chọn đúng nhất, để nhập dữ liệu cho mảng một chiều A ta viết
A. write("a[",i,"]=");readln(a[i]); B. write('a[' i ']=');readln(a[i]);
C. write('a[',i,']=');readln(a[i]); D. write('a[i]=');readln(a[i]);
Câu 4. Chọn phát biểu đúng cho biến d trong đoạn chương trình sau:
d:=0;
For i:=1 to N do if a[i] mod 4 =0 then d:=d+1;
A. Đếm các phần tử là bội số của 4 nó trong mảng a.
B. Tổng các phần tử là bội số của 4 nó trong mảng a.
C. Đếm các phần tử chẳn.
D. Tổng các phần tử lẻ.
Câu 5. Chương trình sau làm việc gì?
Var A: array [1..50] of byte; i: integer;
Begin
For i:= 1 to 10 do write(A[i],' ');
Readln End.
A. Nhập các phần tử cho mảng A B. xuat các phần tử mảng A ra màn hình
C. Tính tổng các phần tử của mảng A D. Đếm số các phần tử của mảng A
Câu 6. Chọn đáp án đúng nhất,trong NNLT Pascal
A. Các phần tử của mảng một chiều được sắp thứ tự theo chỉ số;
B. Các phần tử của mảng một chiều không sắp thứ tự;
C. Các phần tử của mảng một chiều được sắp thứ tự giá trị tăng dần;
D. Các phần tử của mảng một chiều được sắp thứ tự giá trị giảm dần;
Câu 7. Điền vào ô trống.Tổng các số chẵn
i | 1 | 2 | 3 | 4 | 5 |
A[i] | 9 | 7 | 4 | 26 | 10 |
T | 0 | 7 | 7 |
| 33 |
A. 26 B. 7 C. 33 D. 34
Câu 8. Chương trình sau trả về giá trị bao nhiêu?
Var y, x, i:byte;
Begin
X:=20; i:=1; y = 0;
While i < x do
Begin Y:=x+i; i:=i+5; end;
Writeln('gia tri cua y:= ',y);
End.
A. Y = 46 B. Y = 26 C. Y = 54 D. Y = 36
Câu 9. Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện việc nào trong các việc sau:
S:=0; For i:= 1 to n do S:=S+ A[i];
A. Không thực hiện việc nào trong B.Tính tổng các phần tử của mảng một chiều;
C. In ra màn hình mảng A; D. Đếm số phần tử của mảng A;
Câu 10. Điền vào ô trống.Tổng các số lẻ
i | 1 | 2 | 3 | 4 | 5 | 6 |
S | 1 | 1 | 4 |
| 9 | 9 |
A.9 B. 5 C. 8 D. 4
Câu 11. Khai báo sau cho biết:
Const Max=200;
Type Ar = array[1..Max] of byte;
Var T: Ar;
A. T là mảng có thể chứa tối đa 200 số thực.
B. T là mảng chứa các số nguyên có giá trị từ 1 đến 200;
C. T là mảng có thể chứa tối đa 200 số nguyên.
D. T không phải là mảng.
Câu 12. Cho bieát ñoaïn chöông trình sau thöïc hieän tính toång naøo?
S := 1; FOR i := 2 TO 10 DO S := S + 1/i;
A. Tính toång: B. Tính toång:
C. Tính toång: D. Tính toång:
Câu 13. Trong NNLT Pascal, giả sử mảng A có giá trị như sau:
A[1], A[2],…A[5] có giá trị lần lượt là 2, -3, 5, 7, -1
Tìm câu lệnh để in giá trị tất cả các phần tử trong mảng ra màn hình:
A. for i:=1 to 5 do write(A[i]); B. for i:=1 to 5 do write(A[1]);
C. for i:=1 to 5 do write(A[5]); D. for i:=1 to 5 do write(A[2]);
Câu 14. Cho đoạn chương trình sau:
S:=0;
For i:=1 To 10 Do
If i mod 2<>0 then S:=S+i*i;
A. Đoạn chương trình trên dùng tính tổng các số lẻ từ 1 đến 10
B. Đoạn chương trình trên dùng tính tổng bình phương các số lẻ từ 1 đến 10
C. Đoạn chương trình trên dùng tính tổng bình phương các số từ 1 đến 10
D. Đoạn chương trình trên dùng tính tổng các số chẵn từ 1 đến 10
Câu 15. Trong khai báo sau còn bỏ trống . . . một chỗ, vì chưa xác định 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 kiểu dữ liệu cho biến Max là
A. Real B. Char C. String D. Integer
Câu 16. Chọn phát biểu đúng cho biến t trong đoạn chương trình sau:
t:=0;
For i:=1 to N do if (a[i] mod 2=0) and (a[i]>25) then t:=t+1;
A. Tổng các phần tử có giá trị chẵn trong mảng a.
B. Đếm các phần tử lớn hơn 25 trong mảng a.
C. Đếm các phần tử chẵn lớn hơn 25 trong mảng a.
D. Tổng các phần tử chẵn lớn hơn 25 trong mảng a.
Câu 17. Cho Đoạn chương trình:
M:=A[1]; csm:=1;
For i:=2 to n do
If A[i] Begin M:=A[i]; csm:=i; end; Đoạn chương trình trên thức hiện công việc: A. Tìm chỉ số lớn nhất của dãy B. Tìm chỉ số nhỏ nhất của dãy C. Tìm số nhỏ nhất của dãy vi tri cua no D. Tìm số lớn nhất của dãy vi tri cua no Câu 18. Trong NNLT Pascal, cho khai báo sau: Var b: array[1..10] of integer; Hãy chọn lệnh gán nào đúng sau đây: A. b[11]:=8; B. b[1]:=5; C. b[5]:=6.5; D. b:=8; Câu 19. Cho khai báo biến : Var A : array[1..5] of Integer; Chọn lệnh gán đúng A. A[1] := 4/2 ; B. A := 10 ; C. A(3) := 6 ; D.A[2] := -6 ; Câu 20. Cho đoạn chương trình: for i:=1 to 9 do if (9 mod i <>0) then. write (i); Kết quả xuất ra màn hình là: A. 1 2 4 6 8 10 B. 1 3 5 7 9 C. 2 4 5 6 7 8 D. 1 3 6 7 8 Câu 21. Trong các câu lệnh sau câu lệnh nào đúng ? A. While (x>5) and (x<10) Do x=x-1 B. While x>5 and x<10 Do x:=x-1; C. While (x>5) and (x<10); Do x:=x-1 D. While (x>5) and (x<10) Do x:=x-1; Câu 23. Xét chương trình sau: Var i, s: integer; Begin S:=0; For i:=1 to 5 do s:=s+i; Writeln(s); End. Kết quả của chương trình trên là: A. 15 B. 5 C. 10 D. 0 Câu 24. 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 25. Đoạn chương trình sau viết ra màn hình: For i:=1 to 5 do Write(i*2); A. 1 2 3 4 5 B. 1 2 4 6 8 C. 1 3 5 7 9 D. 2 4 6 8 10 Câu 26. Điền vào ô trống i 1 2 3 4 5 A[i] 6 7 4 12 13 MAX 6 7 7 (1) (2) VT 1 2 2 4 (3) Các ô (1), (2), (3) lần lượt có giá trị là: A. 4,12,13 B. 12,13,5 C. 5,12,13 D. 13,12,5 Câu 27. Đoạn chương trình nào sau đây tính tổng các số chẵn từ 1 đến n. A. s:=0; For i := 1 to n do if i div 2 = 0 then s := s + i; B. s:=0; For i := 1 to n do if i mod 2 <> 0 then s := s + i; C. s:=1; For i := 1 to n do if i mod 2 = 1 then s := s + i; D. s:=0; For i := 1 to n do if i mod 2 = 0 then s := s + i; Câu 28. Với định nghĩa Type Mang2 = array [1..19] of integer; thì khai báo biến nào sau đây đúng? A. Var Bang : Mang; B. Var Bang1 : Mang2; C. Var 1Bang : Mang2; D. Var 1Bang; Câu 29. Chương trình sau cho kết quả của biến gt là: gt:=1; For i:=1 to 5 do gt:=gt * i; Write(gt); A. 64 B. 120 C. 24 D. 15 Câu 30. Điền vào ô trống. Đếm các phần tử chẵn. i 1 2 3 4 5 A[i] 9 7 4 26 10 D 0 0 1 2 A. 4 B.3 C. 2 D. 5 Câu 31. Trong TP, chọn khai báo mảng đúng trong các phương án sau: A. Type mang1= array[1..5] of integer; var A: mang1; B. Type mang1= array of integer; C. Var A: mang1; D. Type mang1= array[1..5] of integer; A: mang1; Câu 32. Cách viết nào sau đây là đúng trong câu lệnh lặp For: A. FOR B. FOR C. FOR D. FOR Câu 33. Trong ngôn ngữ lập trình Pascal, cho đoạn chương trình: i:=1; While i <3 do Begin Write('Hello Word'); i:=i+2; End; Chữ 'Hello Word'được in ra màn hình mấy lần? A. 4 B. 3 C. 1 D. 2