



Preview text:
ĐỀ KIỂM TRA HỌC KỲ 2 NĂM 2022 - 2023 
Môn: Tin học 11-Thời gian: 45 phút  I. Mục tiêu 
1. Kiến thức: 
- Giúp học sinh nắm lại kiến thức bài 14,15,17,18 
- Giúp học sinh nắm lại cách viết và sử dụng chương trình con 
- Giúp học sinh nắm lại cách đọc/ghi dữ liệu từ tệp  2. Kỹ năng: 
- Học sinh biết vận dụng kiến thức viết được chương trình có sử dụng được chương trình con, xác định 
được các thành phần trong một chương trình. 
- Cách đọc ghi dữ liệu từ tệp  3. Thái độ 
- Trung thực nghiêm túc trong làm bài kiểm tra. 
II. Ma trận đề   Mức độ  Nhận biết  Thông hiểu  Vận dụng  Tổng  Nội dung  TNKQ  TL  TNKQ  TL  TNKQ  TL    Bài 14              0  Bài 15  Câu 18,19    Câu 20        0.75  Bài 17 Câu 1, 2,,7,9,              2.0  11, 14,15,17  Bài 18
Câu 3,4,5,6,8,12,    Câu 10    Câu 1    Câu 1  7.25  13,16   
III. Nội dung đề 
I. Phần trắc nghiệm (5 điểm) 
Câu 1: Muốn khai báo x, y là tham trị, z là tham biến. Khai báo nào sau đây đúng ? 
A. Procedure thamso (x : byte ; var y : byte; var z : byte );   
B. Procedure thamso (x : byte ; var z , y : byte); 
C. Procedure thamso (x : byte ; y : byte; var z : byte );   
D. Procedure thamso (var x : byte ; var y : byte; var z : byte ); 
Câu 2: Biến cục bộ là gì? 
A. Biến được khai báo trong CTC nhưng được sử dụng trong chương trình chính   
B. Biến được khai báo trong chương trình chính nhưng chỉ được sử dụng cho CTC   
C. Biến được khai báo trong chương trình con   
D. Biến tự do không cần khai báo 
Cho đoạn chương trình sau: (Áp dụng cho các câu 3, 4, 5, 6)  Program thi_hk_2;  Var a,b,c : real; 
Procedure vidu (Var x: real; y,z: real ):real;  Var tong: real;    Begin 
x:= x+1; y:=y - x; z:=z + y; tong:=x+y+z;   
 Writeln(x,’ ‘,y,’ ‘,z,’ ‘,tong);  End;  BEGIN   
a:=3; b:=4; c:=5; vidu(a,b,c);     
Writeln(a,’ ‘,b,’ ‘,c); Readln  END.   
Câu 3: Chương trình trên có 1 lỗi là:   
A. Biến “tong” khai báo sai kiểu 
B. Thủ tục không có kiểu dữ liệu   
C. Không xuất kết quả ra màn hình 
D. Không có lệnh gọi chương trình con 
Câu 4: Tham số hình thức của chương trình trên là:   A. tong    B. a, b, c      C.x, y, z    D. 3, 4, 5 
Câu 5: Trong chương trình trên 
A. x là tham trị, y, z là tham biến       
B. x là tham biến, y, z là tham trị    
C. x, y là tham trị, z là tham biến       
D. x, y là tham biến, z là tham trị 
Câu 6: Biến toàn cục của chương trình trên là:   A. Readln   
B. Writeln(a,’ ‘,b,’ ‘,c);    C. a:=3; b:=4; c:=5;  D. a,  b, c 
Câu 7. Các biến của chương trình con là:  A. Biến toàn cục  B. Biến cục bộ.    C. Tham số hình thức.  D. Tham số  thực sự  Câu 8. Cho CTC sau: 
Procedure thutuc(a,b: integer);   Begin    ......   End; 
Trong chương trình chính có thể gọi lại chương trình con như thế nào là hợp lệ:  A. thutuc;    B. thutuc(5,10);    C. thutuc(1,2,3);      D.  thutuc(5); 
Câu 9. Khi viết một chương trình muốn trả về một giá trị duy nhất ta nên dùng :  A. Hàm.    B. Thủ tục.    C. Chương trình con.  D. Thủ tục hoặc hàm 
Câu 10. Cách khai báo nào sau đây là hợp lệ: 
A. Function Ham(x,y: integer): integer;   
B. Function Ham(x,y: integer); 
C. Function Ham(x,y: real): integer;     
D. Function Ham(x,y: real): Longint; 
Câu 11. Trong lời gọi thủ tục, các tham số hình thức được thay bằng các giá trị cụ thể gọi là:  A. Tham số giá trị  B. Tham số hình thức  C. Tham số biến    D. Tham số  thực sự. 
Câu 12. Cho thủ tục sau: 
Procedure Thutuc(x,y,z: integer); 
Các biến x,y,z được gọi là:  A. Tham số hình thức.     
B. Tham số thực sự. C. Biến toàn cục      D. Biến cục bộ. 
Câu 13. Trong chương trình chính, khi gọi một thủ tục các tham số biến phải: 
A. Khác kiểu, khác số lượng biến.   
B. Khác kiểu, cùng số lượng biến 
C. Cùng kiểu, khác số lượng biến.   
D. Cùng kiểu, cùng số lượng biến. 
Câu 14. Cấu trúc của một chương trình con gồm mấy phần:  A. 4        B. 3      C. 5        D. 2 
Câu 15. Cho biết biến cục bộ được dùng trong chương trình nào:  A. Trong chương trình con.       
B. Trong chương trình chính. 
C. Trong chương trình con và chương trình chính.   
D. Không dùng trong chương trình  nào cả. 
Câu 16. Function tinh(a: byte): Integer; 
Var i: byte; tam: word;  Begin   Tam:=1;   For i:= 1 to a do   Tam:=tam* i;   Tinh:= tam;  End; 
Kết quả trả về của hàm thuộc kiểu dữ liệu nào?  A. byte  B. word  C. integer      D. real 
Câu 17. Khi viết chương trình con, không cần trả về giá trị qua tên của nó ta dùng :  A. Hàm.  B. Thủ tục.  C. Chương trình con.  D. Chương trình chính 
Câu 18: Trong NNLT Pascal, khai báo nào sau đây là đúng khi khai báo tệp văn bản?   A. Var f: String;  B. Var f: byte;  C. Var f = record    D. Var f: Text; 
Câu 19: Câu lệnh dùng thủ tục đọc có dạng:  A. Read();      B. Read(,);  C. Read(, );  D. Read(); 
Câu 20: Tệp f có dữ liệu   
5 9 15  để đọc 3 giá trị trên từ tệp f và ghi các giá trị này vào 3 biến x, y,  z ta sử dụng câu lệnh: 
A. Read(f, x, y, z); B. Read(f, ‘x’, ‘y’, ‘z’); C. Read(x, y, z); D. Read(‘x’, ‘y’, ‘z’); 
II. Phần tự luận (5 điểm) 
Cho dãy A gồm N số nguên dương A1, A2, A3,….An. (N <= 500). Viết chương trình thực hiện  các yêu cầu sau: 
 - Thủ tục nhập dãy số 
- Tính tổng các số lẻ của dãy. 
- Tính trung bình cộng các số chẵn của dãy. 
( Yêu cầu viết và sử dụng các chương trình con ) 
Kết quả đưa ra màn hình      ĐÁP ÁN 
Phần 1: Trắc nghiệm:    1      8      15    2      9      16    3     10      17    4     11      18    5     12      19    6     13      20    7     14          II. Tự luận:  Program HKII;   Uses crt;   Const Nmax=500;     Var  1điểm 
 A: array[1..Nmax] of integer;   Dem,I,n: integer; 
 Tongle, tongchan: longint;  Procedure nhap;   I: integer;   Begin 
 Write(‘Nhap so luong phan tu cua mang: ‘); readln(n);   For i:=1 to n do  1điểm   Begin 
 Write(‘Nhap phan tu thu ‘,i,’ =’); readln(a[i]);   End;   End; 
Function kt(x: integer): boolean;   I: integer;   Begin   Kt:=true;  0.5 điểm 
 If ( X MOD 2 = 0 ) then   Kt:=false;   End;   BEGIN 
Tongle:=0; tongchan:=0; dem:=0;  Nhap;  For i:=1 to n do 
 If kt(a[i]) = true then tongle:=tongle+a[i]   Else begin 
 Tongchan:=tongchan+ a[i];  2.5điểm   Dem:=dem+1;   End; 
 Writeln(‘Tong so le= ‘,tongle:9); 
Writeln(‘Trung cong so chan = ‘,tongchan/dem:9:2);   Readln  END. 
Ghi chú: Nếu HS không viêt và sử dụng hàm kiểm tra chương trình chạy cho kết quả đúng thì cho điểm  tối đa.