Trường THCS Phan Bội Châu Tiết PPCT: 70 ĐỀ KIỂM TRA HỌC KỲ II MÔN TIN HỌC Lớp: 8 Thời gian làm bài: 45 ’ I. Phần trắc nghiệm: Khoanh tròn vào các chữ cái A, B, C, D trước đáp án đúng. Câu 1. Trong ngôn ngữ lập trình Pascal muốn chạy chương trình ta nhấn tổ hớp phím A. CTRL+F9 B. ALT +F9 C. SHIFT+F9 D. CTRL+F10 Câu 2: Em hiểu câu lệnh lặp theo nghĩa nào dưới đây? A. Các câu lệnh được viết lặp đi lặp lai nhiều lần. C. Vì câu lệnh đã có tên là lệnh lặp B. Một lệnh thay cho nhiều lệnh. D. Cả a, b, c đều sai. Câu 3. Cách viết câu lệnh lặp với số lần biết trước như sau: A. For <biến đếm> = <giá trị đầu> to <giá trị cuối> do <câu lệnh>; B. For <biến đếm>: = <gía trị cuối> to <giá trị đầu> do <câu lệnh>; C. For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>; D. For <biến đếm> = <giá trị cuối> to <giá trị đầu> do <câu lệnh> Câu 4. Đoạn chương trình 1, sau khi thực hiện xong kết quả là: A. 24 B. 6 C. 2 D. 0 Câu 5. Câu lệnh viết đúng cú pháp là: A. While <điều kiện> to <câu lệnh>; B. While <điều kiện>; do <câu lệnh>; C. While <điều kiện> to <câu lệnh1> do <câu lệnh 2>; D. While <điều kiện> do <câu lệnh>; Câu 6. Đoạn chương trình 2, sau khi thực hiện xong kết quả của biến “tong” có giá trị bằng bao nhiêu? A. 6 B. 10 C. 15 D. 21 Câu 7. Để khai báo biến mảng a gồm 10 phần tử, mỗi phần tử có kiểu dữ liệu là real ta khai báo: A. var a: array[10] of real; B. var a: array[1 10] of real; C. var a: array[1:10]: of real; D. var a: array[1;10] of real; Câu 8. Cho đoạn chương trình 3: Khi thực hiện chương trình câu “ xin chao” được viết ra màn hình mấy lần? A. 9 B. 10 C. 11 D. Vòng lặp vô hạn. II. Phần tự luận Câu 1: (2 điểm) Cho đoạn chương trình sau đây: Max:=0; For i:=1 to 10 do If Max < a[i] then Max:= a[i]; Writeln(‘So lon nhat la ’, Max); a) Đoạn chương trình trên thực hiện công việc gì? b) Viết lệnh khai báo các biến dùng trong đoạn chương trình. Câu 2. Viết chương trình nhập n số nguyên từ bàn phím. In ra màn hình giá trị trung bình cộng của dãy số vừa nhập. Biết n là một giá trị nguyên được nhập từ bàn phím? Đoạn chương trình 1 S:=0; for i:=1 to 4 do S:=S* i; Đoạn chương trình 2 i:=1; tong:=0; While i<=5 do Begin tong:= tong + i; i:= i + 1; End; Đoạn chương trình 3 n:=1; While n<10 do Begin n:=n+1; Writeln(‘ xin chao’); end; ĐÁP ÁN – THANG ĐIỂM Đáp án Thang điểm I. Phần trắc nghiệm: Câu 1 2 3 4 5 6 7 8 Đáp án A B C D D C B A 4 điểm II. Phần tự luận: Câu 1: a) Đoạn chương trình thực hiện công việc tìm giá trị lớn nhất trong dãy 10 số. b) Var a: array[1 10] of integer; Max, i: integer; Lưu ý: Nếu mảng a là kiểu số thực thì Max cũng phải kiểu số thực. Mảng a có thể nhiêu hơn 10 phần tử. Câu 2: Chương trình có thể được viết như sau: Program tbc; Var a: array[1 100] of integer; i, n, tong: integer; tbc: real; Begin Write(‘Nhap vao so phan tu cua mang n= ’); readln(n); Write(‘Nhap so nguyen:’); For i:=1 to n do Begin write(‘a[‘,i,’]:’); readln(a[i]); end; Tong:=0; For i:=1 to n do tong:=tong+a[i]; tbc:=tong/n; Writeln(‘Trung binh cong cua mang la:’, tbc:10:2); Readln; End. Phần khai báo: 1 điểm. Phần nhập số nguyên n và các phần tử cho mảng: 1.5 điểm. Phần tính tổng các phần tử của mảng: 1 điểm. Phần in ra màn hình giá trị tbc: 0.5 điểm. 6 điểm 2 điểm 1 điểm 0.5 điểm 0.5 điểm 4 điểm 1 điểm 0.5 điểm 1 điểm 1 điểm 0.5 điểm . Trường THCS Phan Bội Châu Tiết PPCT: 70 ĐỀ KIỂM TRA HỌC KỲ II MÔN TIN HỌC Lớp: 8 Thời gian làm bài: 45 ’ I. Phần trắc nghiệm: Khoanh tròn vào các chữ cái A, B,. array[1;10] of real; Câu 8. Cho đoạn chương trình 3: Khi thực hiện chương trình câu “ xin chao” được viết ra màn hình mấy lần? A. 9 B. 10 C. 11 D. Vòng lặp vô hạn. II. Phần tự luận Câu 1: (2. end; ĐÁP ÁN – THANG ĐIỂM Đáp án Thang điểm I. Phần trắc nghiệm: Câu 1 2 3 4 5 6 7 8 Đáp án A B C D D C B A 4 điểm II. Phần tự luận: Câu 1: a) Đoạn chương trình thực hiện công việc tìm giá trị lớn