MA TRẬN ĐỀ KIỂM TRA Mức độ Bài Biết Hiểu Vận dụng Cộng 6 1 0,5 1 0,5 7 2 1 1 0,5 1 2 8 2 1 1 0,5 1 2 9 2 1 1 0,5 1 0,5 Cộng 6 3 4 2 4 1 14 10 ĐỀ B I/ Khoanh tròn chữ cái đứng trước phương án em cho là đúng: (4 điểm) Câu 1: Lệnh lặp nào sau đây là đúng? A. For <biến đếm>= <giá trị đầu> to <giá trị cuối> do <câu lệnh>; B. For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>; C. For <biến đếm>:= <giá trị cuối> to <giá trị đầu> do <câu lệnh>; D. For <biến đếm>: <giá trị đầu> to <câu lệnh> do <giá trị cuối>; Câu 2: Vòng lặp While <Điều kiện> do <Câu lệnh>; là vòng lặp: A. Chưa biết trước số lần lặp B. Biết trước số lần lặp C. Biết trước số lần lặp nhưng giới hạn là <=100 D. Biết trước số lần lặp nhưng giới hạn là >=100 Câu 3: Hãy tìm hiểu đoạn chương trình sau đây. i:=1; j:=2; k:=3; While i<=6 do i:=i+1; j:=j+1; k:=k+j; Space:=’ ’; Write(I,space,j,space,k); Sau khi thực hiện đoạn chương trình trên, lệnh Writeln in ra màn hình giá trị của i, j, k lần lượt là bao nhiêu? A. 2,3,4 B. 7,2,3 C. 7,3,6 D. 6,3,7 Câu 4: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu: s:=1; for i:=1 to 5 do s := s*i; A.120 B. 55 C. 121 D. 151 Câu 5: Phần thân chương trình bắt đầu bằng từ khóa:: A. End. B. Begin. C. Uses. D. Var. Câu 6: Cú pháp khai báo biến mảng trong Pascal là: A.var <Tên mảng> ; array [<chỉ số đầu> <chỉ số cuối>] of <kiểu dữ liệu >; B. var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] of <kiểu dữ liệu >; C. var <Tên mảng> : array [<chỉ số đầu> <chỉ số cuối>] of <kiểu dữ liệu >; D.var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] for <kiểu dữ liệu >; Câu 7: Để tính tổng S=2 + 4 + 6 … + n; em chọn đoạn lệnh: a. For i:=1 to n do if ( i mod 2)=0 then S:=S + i; b. For i:=1 to n do S:= S + i ; c. c. For i:=1 to n do if ( i mod 2)=1 then S:=S + i; d. for i:=1 to n do if ( i mod 2)<>0 then S:=S + i; Câu 8: Chọn khai báo hợp lệ: A. Var a,b: array[1 n] of real; C. Var a,b: array[1 : n] of Integer; B. Var a,b: array[1 100] of real; D. Var a,b: array[1 … 100] of real; II/ Điền X vào các ô sao cho phù hợp và giải thích vì sao? (2 điểm) Trường : THCS Lê Hoàn Lớp : Tên : ĐỀ THI HỌC KỲ II Môn Tin học lớp 8 năm học:2010-2011 Thời gian: 45 phút III/ Gạch chân dưới những câu lệnh em cho là sai rồi viết lại câu lệnh đó cho đúng: (2 điểm) Program Tinhtong; ………………………………………………… ……………………………………… Uses crt ………………………………………………… ……………………………………… Var N. i: Integer; ………………………………………………… ……………………………………… S: Longint; BEGIN Clrscr; ………………………………………………… ………………………… Write(‘Nhap vao so N =’ ); Readln(N); S:=0; For i:=1 to N do S=S*1/i ; ………………………………………………… ………………………………………… Writeln(‘Tong cua’,N,’so dau tien s = ‘, s) Readln ………………………………………………… ………………………………………… END. IV/ Viết chương trình giải quyết bài toán: (2 điểm) Viết chương trình tính tổng: S = 1+2+3+…+n Trong đó n là số nguyên nhập từ bàn phím. Câu Đúng Sai Giải thích a) for i=1 to 10 do writeln('A'); b) var X: Array[5…10] Of Char; c) X:=10; while X=10 do X := X+5; d) if x>5 then a:=b; else m := n; Đáp án và biểu điểm: I/ Khoanh tròn chữ cái đứng trước phương án em cho là đúng: (4 điểm) Câu 1 Câu 2 Câu 3 Câu 4 Câu 5 Câu 6 Câu 7 Câu 8 B A C A B C A B II/ Điền X vào các ô sao cho phù hợp và giải thích vì sao? (1 điểm) III/ Gạch chân dưới những câu lệnh em cho là sai rồi viết lại câu lệnh đó cho đúng: (2 điểm) Program Tinhthuong; ………………………………………………… ……………………………………… Uses crt ………………………………………………… ……………………………………… Var N. i: Integer; ………………………………………………… ……………………………………… S: Longint; BEGIN Clrscr; ………………………………………………… ………………………… Write(‘Nhap vao so N =’ ); Readln(N); S:=0; For i:=1 to N do S=S*1/i ; ………………………………………………… ………………………………………… Writeln(‘Thuong cua’,N,’so dau tien s = ‘, s) Readln ………………………………………………… ………………………………………… END. Uses crt; Var N, i: Integer; For i:=1 to N do S:=S*1/i; Writeln(‘Thuong cua’,N,’so dau tien s = ‘, s); IV/ Viết chương trình giải quyết bài toán: (2 điểm) Program Tong; Uses crt; Var S: real; n, i: integer; Begin Clrscr; Write(‘Nhap so n = ‘); Readln(n); S:= 0; Câu Đúng Sai Giải thích a) for i=1 to 10 do writeln('A'); X Thiếu dấu : sau biến i b) var X: Array[510] Of Char; X Kiểu dữ liệu sai. c) X:=10; while X=10 do X := X+5; X d) if x>5 then a:=b; else m := n; X Thừa dấu ; trước else For i:= 1 to n do S: = S + i; Writeln(‘Tong can tim la: ‘, S:6:2); Readln End. . For i:=1 to n do if ( i mod 2)= 0 then S:=S + i; b. For i:=1 to n do S:= S + i ; c. c. For i:=1 to n do if ( i mod 2)= 1 then S:=S + i; d. for i:=1 to n do if ( i mod 2)& lt;>0 then S:=S + i; Câu. cho phù hợp và giải thích vì sao? (2 điểm) Trường : THCS Lê Hoàn Lớp : Tên : ĐỀ THI HỌC KỲ II Môn Tin học lớp 8 năm học:2010-2011 Thời gian: 45 phút III/ Gạch chân dưới những câu lệnh em cho. MA TRẬN ĐỀ KIỂM TRA Mức độ Bài Biết Hiểu Vận dụng Cộng 6 1 0,5 1 0,5 7 2 1 1 0,5 1 2 8 2 1 1 0,5 1 2 9 2 1 1 0,5 1 0,5 Cộng 6 3 4 2 4 1 14 10 ĐỀ B I/ Khoanh tròn chữ cái