Mục tiêu: Kiểm tra kết quả tiếp thu của học sinh sau khi học xong chương trình học kì I, cụ thể: - Hiểu khả năng của NNLT bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ.. - Biết kha
Trang 1-Ngày soạn: 11/12/2011
GIÁO ÁN KIỂM TRA HỌC KÌ I – Năm học 2011-2012
Môn: Tin học 11 Thời gian làm bài: 45 phút.
I Mục tiêu: Kiểm tra kết quả tiếp thu của học sinh sau khi học xong chương trình học kì I, cụ thể:
- Hiểu khả năng của NNLT bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ
- Hiểu ý nghĩa và nhiệm vụ của chương trình dịch Phân biệt được thông dịch và biên dịch
- Mô tả được các thành phần của NNLT
- Biết 1 số khái niệm: tên, tên chuẩn, tên dành riêng, hằng và biến
- Biết cách đặt tên đúng và nhận biết được tên đúng, sai
- Biết cấu trúc và các thành phần của 1 chương trình đơn giản
- Biết khai báo biến
- Biết các hàm số học chuẩn, cách biểu diễn các biểu thức số học trong Pascal
-Cấu trúc rẽ nhánh, cấu trúc lặp
II Chuẩn bị: 1 Giáo viên: Soạn đề kiểm tra và đáp án.
2 Học sinh: Ôn tập các kiến thức đã nêu trên.
III Nội dung đề:
1 Hình thức kiểm tra: trắc nghiệm và tự luận
2 Ma trận đề
Các thành phần
của NNLT
2
0.5
2 0.5 Cấu trúc
chương trình 2 0.5 1 1.0 3 1.5 Một số kiểu dữ
liệu chuẩn –
Khai báo biến
3 0.75
1 1.0
4 1.75 Phép toán, biểu
thức
1 0.25
2 2.0
3 2.25 Dịch, thực hiện
và hiệu chỉnh
chương trình
1 0.25
1
1.0
1 1.0
3
2.25 Cấu trúc rẽ
nhánh
2 0.5
1 2.0
3 2.5
3.0 4 4.0 3 3.0 19 10.0
4 Nội dung đề:
I TRẮC NGHIỆM: Khoanh tròn đáp án đúng nhất (A, B, C, D) sau:
Câu 1: Chương trình viết bằng ngôn ngữ bậc cao không có đặc điểm nào trong các đặc điểm sau :
A Không phụ thuộc vào loại máy, chương trình có thể thực hiện trên nhiều loại máy
B Ngắn gọn, dễ hiểu, dễ nâng cấp
C Kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho mô tả thuật toán
D Máy tính có thể hiểu và thực hiện trực tiếp chương trình này
Câu 2: Khai báo nào sau đây đúng?
Câu 3: Câu nào sau đây đúng khi nói về biến?
A Biến là đại lượng do người lập trình đặt B Biến có giá trị không đổi trong suốt quá trình
Trang 2-thực hiện chương trình
C Có một số biến có sẵn trong chương trình,
không cần khai báo
D Tên biến có độ dài tùy ý
Câu 4: Chương trình dịch dùng để làm gì?
A Để chuyển chương trình viết bằng ngôn ngữ máy sang ngôn ngữ bậc cao
B Để chuyển chương trình viết bằng ngôn ngữ bậc cao sang hợp ngữ
C Để chuyển chương trình viết bằng ngôn ngữ bậc cao sang ngôn ngữ máy
D Để chuyển chương trình viết bằng ngôn ngữ máy sang hợp ngữ
Câu 5: Máy tính có thể hiểu được trực tiếp ngôn ngữ nào trong các ngôn ngữ dưới đây?
Câu 6: Trong Turbo Pascal, tên nào là tên đúng do người lập trình đặt trong các tên sau:
Câu 7: Chọn từ thích hợp điền vào chỗ trống: “Cần có để chuyển chương trình nguồn thành chương trình
đích”
Câu 8: Trong các lựa chọn cho sau đây, lựa chọn nào là hằng xâu?
Câu 9: Kết quả của phép tính 100div10+105mod5
Câu 10: Hàm nào sau đây dùng để khai tính căn bậc hai?
Câu 11: Kết quả của phép toán (3>=4) and( 4mod2<>0)
Câu 12: Câu lệnh nào đúng ?
Câu 13: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?
A if <biểu thức logic>; then <câu lệnh>;
B if <biểu thức logic> then <câu lệnh>;
C if <biểu thức logic>, then <câu lệnh>;
D if <biểu thức logic> : then <câu lệnh>;
Câu 14: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?
A if a=5; then a:=a+1;
B if a=5, then a:=a+1;
C if a=5: then a:=a+1;
D if a=5 then a:=a+1;
Câu 15: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?
A For i:=1 to 10 do S:=S+i;
B For i:=1 to 10 do S=S+i;
C For i:=1 downto 10 do S:=S+i;
D For i:=1 downto 10 do S=S+i;
Câu 16: Trong ngôn ngữ lập trình Pascal, từ khóa CONST dùng để:
Trang 3A Khai báo biến
B Khai báo hằng;
C Khai báo tên chương trình;
D Khai báo thư viện
II TỰ LUẬN:
Câu 1(2đ): Hãy viết lại các biểu thức sau từ dạng toán học sang dạng biểu diễn tương ứng trong Pascal.
a x2 + 2y - 4
b
Câu 2(1đ): Cho chương trình viết bằng ngôn ngữ lập trình Pascal sau:
Program cau2; {dòng 1}
Const m=10; {dòng 2}
Var a,b, c : integer; {dòng 3}
Begin {dòng 4}
a:=2; b:=5; {dòng 5}
c:= a-b*m; {dòng 6}
Writeln(‘Ket qua la: ‘,c); {dòng7}
Readln {dòng 8}
End {dòng 9}
a) Hãy cho biết ý nghĩa của dòng lệnh thứ 2
b) Chương trình trên cho kết quả là gì?
Câu 3( 3đ): Hãy viết chương trình nhập vào một số nguyên từ bàn phím và thông báo số nguyên vừa
nhập có chia hết cho 5 hay không?
IV Đáp án:
I.Trắc nghiệm:
II Tự luận:
1 a sqr(x)+2*y-4
b sqrt(x*x-3)+abs(x-2)
1.0 1.0
2 a) Ý nghĩa của dòng lệnh thứ 2 là khai báo hằng m có giá trị bằng 10
3 Program cau3;
Var a: integer;
Begin
Write(‘nhap gia tri a ‘); readln(a);
If a mod 5 = 0 then write(a,’chia het cho 5’)
Else write(a,’khong chia het cho 5’);
Readln;
End.
0.5 0.5 0.5 1.0 0.5
Các cách giải khác nếu đúng vẫn cho điểm
V.Phê duyệt đề
Hoà Sơn, ngày tháng 12 năm 2011
Trang 4-VI Thống kê kết quả kiểm tra
11/4
11/6
11/8
11/10
11/12
VII Nhận xét bài làm của học sinh: