MỤC TIÊU - Kiến thức - Nhận biết được các tình huống sử dụng câu lệnh lặp.. - Biết vận dụng câu lệnh lặp để viết chương trình.. - Nhận biết được cấu trúc của một dãy số,Thực hiện nhập, x
Trang 1TIẾT 70 Giảng ngày:……….tại 8A
Giảng ngày:……….tại 8B
Giảng ngày:……….tại 8C
KIỂM TRA HỌC KỲ II
I MỤC TIÊU
- Kiến thức
- Nhận biết được các tình huống sử dụng câu lệnh lặp.
- Biết vận dụng câu lệnh lặp để viết chương trình.
- Biết cách khai báo mảng, in mảng, sử dụng các phần tử của mảng.
- Nhận biết được cấu trúc của một dãy số,Thực hiện nhập, xuất một dãy số.
- Hiểu hoạt động của câu lệnh lặp for do
- Kĩ năng
+ Hình thành kĩ năng viết chương trình trong Turbo pascal.
- Thái độ
+ Làm bài nghiêm túc.
II CHUẨN BỊ:
GV: Đề kiểm tra, bài phát cho HS.
HS: Các kiến thức đã học ở học kỳ II.
III HOẠT ĐỘNG DẠY VÀ HỌC
A MA TRẬN ĐỀ
Mức độ
Nội dung
Tống số
Câu lệnh lặp
Biết cú pháp câu lệnh lặp với số lần chưa biết trước
Sử dung được câu lệnh lặp để
áp dụng tính một số phép toán đơn giản
Lặp với số
lần chưa biết
trước
Biết và viết đúng
cú pháp câu lệnh
lặp while…do
Hiểu nguyên tắc của vòng lặp
while…do
Sử dụng được câu lệnh lặp với
số lần chưa biết trước phù hợp cho từng trường hợp cụ thể
Trang 2dãy số của các câu lệnh khi kết hợp với
biến mảng
việc khai báo biến mảng Viết được các câu lệnh nhập giá trị
và tính toán với các biến mảng
Tổng số điểm 2,5 điểm 1,5 điểm 2 điểm 4 điểm 10 điểm
Trang 3B ĐỀ KIỂM TRA
Phần trắc nghiệm: (3 điểm - mỗi câu 0,5 điểm) Hãy chọn một đáp án đúng nhất.
Câu 1 Trong Pascal, câu lệnh nào sau đây được viết đúng?
A for i := 4 to 1 do writeln(‘A’); B for i := 1 to 10 writeln(‘A’);
C for i := 1 to 100 do writeln(‘A’); D for i to 10 do writeln(‘A’);
Câu 2 Trong câu lệnh lặp: For i := 1 to 10 do j := j + 2; write( j );
Khi kết thúc câu lệnh lặp trên, câu lệnh write( j ); được thực hiện bao nhiêu lần?
A 10 lần ; B 5 lần; C 1 lần; D Không thực hiện
Câu 3 Cho đoạn chương trình: j := 0; k := 2;
For i := 1 to 5 do j := j + 2; k := k + j;
Sau khi thực hiện đoạn chương trình trên, giá trị của biến k bằng bao nhiêu?
Câu 4 Trong Pascal, câu lệnh nào sau đây là đúng?
While S<10 do write(S); while s<10 do S:=S+i; i:=i+1;
C n:=2; while n<5 do write(‘A’); D Cả A và B
Câu 5 Khi thực hiện đoạn chương trình sau: n:=1; T:=50;
While n>20 do begin n:=n+5; T:=T - n end;
Hãy cho biết giá trị của biến T bằng bao nhiêu?
Câu 6 Khai báo biến mảng: A : array[1 7] of real; Sử dụng câu lệnh For i:= 1 to 5 do readln(A[i]); để
gán giá trị cho các phần tử trong biến A từ bàn phím, ta sẽ nhập được bao nhiêu giá trị?
Phần tự luận: ( 3 điểm)
Câu 1 (1 điểm) Viết cú pháp câu lệnh lặp với số lần chưa biết trước Nêu hoạt động của câu lệnh.
Câu 2 (2 điểm) Cho thuật toán sau:
B1: j ß 0; T ß 100;
B2: Nếu T< 30 thì chuyển qua B4;
B3: j ß j + 5; T ß T – j;
B4: In ra kết quả T và j;
a) Hãy cho biết, khi thực hiện thuật toán trên, máy tính sẽ thực hiện bao nhiêu vòng lặp và
giá trị của T và j là bao nhiêu (1 điểm)
b) Sử dụng câu lệnh lặp while…do viết đoạn chương trình thể hiện thuật toán trên (1 điểm)
Phần thực hành (4đ)
Câu 3 (4 điểm) Viết chương trình nhập và in ra màn hình bảng điểm kiểm tra học kỳ môn tin của
N học sinh Với N và điểm kiểm tra được nhập từ bàn phím (sử dụng biến mảng)
Trang 4C ĐÁP ÁN VÀ BIỂU ĐIỂM
Phần trắc nghiệm: (3 điểm – mỗi câu đúng 0,5 điểm).
Phần tự luận – Thực hành: (7 điểm)
Câu 1
- Cú pháp câu lệnh: while <điều kiện> do <câu lệnh>;
- Hoạt động: Khi thực hiện câu lệnh chương trình kiểm tra điều
kiện Nếu điều kiện đúng thực hiện câu lệnh sau từ khóa do và quay
lại kiểm tra điều kiện Nếu điều kiện sai bỏ qua câu lệnh sau từ khóa
do và kết thúc.
0,5 0,5
Câu 2
a T = 25; j = 25.Khi thực hiện thuật toán trên, máy tính sẽ thực hiện 05 vòng lặp và 1
b
Đoạn chương trình thể hiện thuật toán:
j := 0; T := 100;
While T >= 30 do begin j := j + 5; T := T - j end;
Write(T); write(j);
1
Câu 3
Program trung_binh;
Uses crt;
Var n, i : integer;
Diem : array[1 50] of real;
Begin Clrscr;
Write(‘Nhap so luong hoc sinh N = ‘); Readln(n);
Writeln(‘Nhap diem cho tung hoc sinh’);
For i := 1 to n do Begin Write(‘Diem HS ‘,i,’ = ‘); readln(Diem[i]);
End;
For i : = 1 to n do begin Writeln(‘Diem cua HS ‘,i, ‘ = ‘,diem[i]:3:2); end;
Readln;
End
1
1
1
1