MA TRẬN ĐỀ KIỂM TRA Mức độ Bài Biết Hiểu Vận dụng Cộng 6 1 0,5 2 0,5 7 1 0,5 4 2 3 2,5 8 1 0,5 1 3 9 1 0,5 Cộng 4 2 4 2 6 6 14 10 ĐỀ A I/ Khoanh tròn chữ cái đứng trước phương án em cho là đúng: (4 điểm) Câu 1: 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; Câu 2: Khi thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i); sẽ viết ra màn hình? A. Không thực hiện được vì giá trị cuối không phải là số nguyên. B. Giá trị biến đếm. C. Viết số 1 rồi viết số 3.5 D. Chỉ viết số 3.5 mà thôi Câu 3: Trong câu lệnh lặp for i:=1 to 12 do Write(‘A’); thì lệnh Write(‘A’) được thực hiện bao nhiêu lần (nói cách khác, bao nhiêu vòng lặp được thực hiện?) A. Không lần nào B. 1 lần C. 2 lần D. 12 lần 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:=0; for i:=1 to 5 do s := s+i; A.11 B. 55 C. 15 D. 51 Câu 5: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu gì? A. Interger; B. real; C. string D. Tất cả các kiểu trên đều được Câu 6: Để tính tổng S=1/2+1/4 + 1/6 + … +1/ 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 if ( i mod 2)=0 then S:=S + 1/i; c. for i:=1 to n do if ( i mod 2)=0 then S:=S – 1/i else S:= S + 1/i; d. for i:=1 to n do if ( i mod 2)=0 then S:=S +1/ i else S:=S-1/i; Câu 7 Hãy tìm hiểu đoạn chương trình sau đây. i:=1; j:=2; k:=3; While i<=6 do Begin i:=i+1; j:=j+1; k:=k+j; end; 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. 7,8,36 B. 7,2,35 C. 7,3,6 D. 16,3,7 Câu 8: 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; else a:=a+2; B. If a=5 then a:=a+1else a:=a+2 C. If a=5 then a:=a+1else a:=a+2; D. If a=5 then a:=a+1; else a=a+2; Trường : THCS Nam Hà Lớp : Tên : ĐỀ THI HỌC KỲ II Môn Tin học lớp 8 Thời gian: 45 phút Điểm II/ Điền X vào các ô sao cho phù hợp và giải thích vì sao? (2 đ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 Tinh tong; ………………………………………………… ……………………………………… 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*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: 1 1 1 1 1 2 3 4 S n = + + + + + Trong đó n là số nguyên nhập từ bàn phím. Câu Đúng Sai Giải thích a) if a>b then max:=a; else max:=b; b) var X: Array[5 10] Of Real; c) X:=10; while X:=10 do X := X+5; d) for i:=1.5 to 10 do m:=m + 1; Đáp án 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 D C A B A C II/ Điền X vào các ô sao cho phù hợp và giải thích vì sao? (2 điểm) Câu Đúng Sai Giải thích a) if a>b then max:=a; else max:=b; X Thừa dấu ; trước else b) var X: Array[5 10] Of Real; X c) X:=10; while X:=10 do X := X+5; X Sau While ph"i là ph#p so s%nh d) for i:=1.5 to 10 do m:=m + 1; X Biến đếm i ph"i là số nguyên 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 Tinh tich; ………………………………………………… ……………………………………… 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*i ; ………………………………………………… ………………………………………… Writeln(‘Tich cua’,N,’so dau tien s = ‘, s); Readln ………………………………………………… ………………………………………… END. Program Tinh_tong; Var N, i: Integer; S:=0; For i: =1 to N do S:=S+i ; ………………………………………………… ………………………………………… IV/ Viết chương trình giải quyết bài toán: (2 điểm) Program Tong_Nghich_Dao; Uses crt; Var S: real; n, i: integer; Begin Clrscr; Write(‘Nhap so n = ‘); Readln(n); S:= 0; For i:= 1 to n do S: = S + 1/i; Writeln(‘Tong can tim la: ‘, S:6:2); Readln End. . MA TRẬN ĐỀ KIỂM TRA Mức độ Bài Biết Hiểu Vận dụng Cộng 6 1 0,5 2 0,5 7 1 0,5 4 2 3 2, 5 8 1 0,5 1 3 9 1 0,5 Cộng 4 2 4 2 6 6 14 10 ĐỀ A I/ Khoanh tròn chữ cái đứng trước phương án em cho. nhiêu? A. 7 ,8, 36 B. 7 ,2, 35 C. 7,3,6 D. 16,3,7 Câu 8: 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; else a:=a +2; B. If a=5 then a:=a+1else a:=a +2 C. If a=5. S=1 /2+ 1/4 + 1/6 + … +1/ 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 if ( i mod 2) =0 then S:=S + 1/i; c. for i:=1 to n do if ( i mod 2) =0