ĐỀ BI/ 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?. Chưa biết trước số lần lặp BA. Biết trước số lần lặp C.. Biết trước số lần lặ
Trang 1MA TRẬN ĐỀ KIỂM TRA
Mức độ
0,5
1
0,5
1
1
0,5
1
2
1
1
0,5
1
2
1
1
0,5
1
0,5
3
4
2
4
1
14
10
Trang 2ĐỀ 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?
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;
Câu 5: Phần thân chương trình bắt đầu bằng từ khóa::
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 doS:= S + i ;
c c For i:=1 to n do d for i:=1 to n do
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
Trang 3A 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)
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;
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)
Trang 4Program 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
Trang 5
Đáp án
I/ Khoanh tròn chữ cái đứng trước phương án em cho là đúng: (4 điểm)
II/ Điền X vào các ô sao cho phù hợp và giải thích vì sao? (1 điểm)
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
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)
Trang 6Program 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;
For i:= 1 to n do S: = S + i;
Writeln(‘Tong can tim la: ‘, S:6:2);
Readln