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 Điểm Lời phê của thầy cô giáo 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ôí> do <câu lệnh>; B. For <biến đếm>:= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>; C. For <biến đếm>:= <giá trị cuôí> 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: 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+1; else a=a+2; D. If a=5 then a:=a+1else a:=a+2; 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: 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. Giá trị biến đếm. B. Viết số 1 rồi viết số 3.5 C. Chỉ viết số 3.5 mà thôi D. Không thực hiện được vì giá trị cuối không phải là số nguyên. Câu 7: 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 8: 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. 12 lần D. 2 lần Trường : THCS Trương Quang Trọng Lớp : Tên : ĐỀ THI HỌC KỲ II Môn Tin học lớp 8 Thời gian: 60 phút 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 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: (3 đ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) if a>b then min:=b else min:=a; c) for i:=1 to 50 do x:=x+1; 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 D B C II/ Điền X vào các ô sao cho phù hợp và giải thích vì sao? (1 đ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) if a>b then min:=b else min:=a; X c) for i:=1 to 50 do x:=x+1; X 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 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. 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: (3 đ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. . 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+1; else a=a+2; D. If a=5 then a:=a+1else a:=a+2; Câu 4: Sau khi thực hiện đoạn chương. chương trình giải quyết bài toán: (3 đ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). 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