ĐỀ KIỂM TRA GIỮA KỲ II NĂM HỌC 2020 2021 MÔN TIN HỌC LỚP 8 Đề số 01 I MỤC TIÊU 1 Kiến thức Kiểm tra kiến thức học sinh về viết chương trình bằng ngôn ngữ lập trình Pascal Kiểm tra kiến thức HS về cấu[.]
Trang 1ĐỀ KIỂM TRA GIỮA KỲ II NĂM HỌC 2020 - 2021
MÔN TIN HỌC LỚP 8
Đề số 01
I MỤC TIÊU:
1 Kiến thức:
- Kiểm tra kiến thức học sinh về viết chương trình bằng ngôn ngữ lập trình Pascal
- Kiểm tra kiến thức HS về cấu trúc, cú pháp, cách viết chương trình về câu lệnh lặp, lặp với số lần chưa biết trước
2 Kĩ năng:
- Sử dụng được lệnh lặp For do và While do
- Rèn cách dịch, sửa lỗi chương trình, chạy chương trình xem kết quả
- Làm quen môi trường pascal
3 Thái độ: Rèn tính tư duy độc lập, tích cực tự giác học và trình bày kiến thức, tích cực
suy nghĩ độc lập
4 Định hướng phát triển năng lực:
- Năng lực chung: Phân tích, tổng hợp, giải quyết vấn đề
- Năng lực riêng: Nhận biết, giải quyết vấn đề Tin học, công nghệ
II HÌNH THỨC KIỂM TRA
- Đề kiểm tra theo hình thức trắc nghiệm khách quan và tự luận.
+ Trắc nghiệm khách quan: 40%
+ Tự luận: 60%
- HS làm bài tại lớp
III MA TRẬN:
Cấp độ
Chủ đề
Nhận biết Thông hiểu Cấp độ thấp Vận dụng Cấp độ cao Cộng
1 Câu lệnh
lặp
Nhận biết được khái niệm, cấu trúc, cú pháp câu lệnh lặp
Hiểu biết được khái niệm, cấu trúc, cú pháp câu lệnh lặp
C1,2,3, 4
1 C18
4 C5,6,7,8
9
Số điểm
Tỉ lệ %
1 10%
1 10%
1 10%
3 30%
2 Lặp với số
lần chưa biết
trước
Trang 2C9,10, 14,15
C11,12, 13,16
Số điểm
Tỉ lệ %
1 10%
1 10%
2 20%
3 30%
7 70%
Tổng số câu
Tổng số điểm
Tỉ lệ %
9 3 30%
9 4 40%
1 3 30%
19 10 100%
IV ĐỀ BÀI:
A TRẮC NGHIỆM KHÁCH QUAN: (4 điểm, mỗi câu được 0,25 điểm)
* Khoanh tròn vào chữ cái đứng trước kết quả em cho là đúng trong mỗi câu sau:
Câu 1: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:
A Cùng kiểu với giá trị đầu và giá trị cuối
B Chỉ cần khác kiểu với giá trị đầu
C Cùng kiểu với các biến trong câu lệnh
D Không cần phải xác định kiểu dữ liệu
Câu 2: Hoạt động nào sau đây lặp với số lần lặp biết trước?
A Giặt tới khi sạch B Học bài cho tới khi thuộc bài
C Gọi điện tới khi có người nghe máy D Ngày đánh răng 2 lần
Câu 3: Chọn cú pháp câu lệnh lặp là:
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ị cuối > to < giá trị đầu > do < câu lệnh >;
C for < biến đếm > = < giá trị đầu > to < giá trị cuối >; do < câu lệnh >;
D for < biến đếm > = < giá trị đầu > to < giá trị cuối > do < câu lệnh >;
Câu 4: Câu lệnh For to do kết thúc :
A Khi biến đếm nhỏ hơn giá trị cuối B Khi biến đếm lớn hơn giá trị cuối
C Khi biến đếm nhỏ hơn giá trị đầu D Khi biến đếm lớn hơn giá trị đầu
Câu 5: Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng :
A for i:=1 to 10; do x:=x+1; B for i:=1 to 10 do x:=x+1;
C for i:=10 to 1 do x:=x+1; D for i =10 to 1 do x:=x+1;
Câu 6: 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 nào?
A Integer B Real C String D Tất cả các kiểu trên đều được
Câu 7: Đoạn chương trình sau giải bài toán nào?
For I:=1 to M do
If (I mod 3 = 0) and (I mod 5 = 0) then
T := T + I;
A Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M
B Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M
Trang 3C Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M
D Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M
Câu 8: Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 1 đến 100
A 1 B 100 C 99 D Tất cả đều sai
Câu 9: Vòng lặp While – do kết thúc khi nào
A Khi một điều kiện cho trước được thỏa mãn B Khi đủ số vòng lặp
C Khi tìm được Output D Tất cả các phương án
Câu 10: Việc đầu tiên mà câu lệnh While do cần thực hiện là gì?
A Thực hiện < câu lệnh > sau từ khóa Do
B Kiểm tra giá trị của < điều kiện >
C Thực hiện câu lệnh sau từ khóa Then
D Kiểm tra < câu lệnh >
Câu 11: Cho biết câu lệnh sau Do thực hiện mấy lần trong đoạn chương trình sau:
i := 5;
While i>=1 do i := i – 1;
A 1 lần B 2 lần C 5 lần D 6 lần
Câu 12: Hãy cho biết kết quả của đoạn chương trình dưới đây:
a:=10; While a < 11 do write (a);
A Trên màn hình xuất hiện một số 10
B Trên màn hình xuất hiện 10 chữ a
C Trên màn hình xuất hiện một số 11
D Chương trình bị lặp vô tận
Câu 13: Câu lệnh sau giải bài toán nào:
While M <> N do
If M > N then M:=M-N else N:=N-M;
A Tìm UCLN của M và N
B Tìm BCNN của M và N
C Tìm hiệu nhỏ nhất của M và N
D Tìm hiệu lớn nhất của M và N
Câu 14: Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?
A Ngày tắm hai lần B Học bài cho tới khi thuộc bài
C Mỗi tuần đi nhà sách một lần D Ngày đánh răng 2 lần
Câu 15: Cú pháp lệnh lặp với số lần chưa biết trước:
A While < điều kiện > to < câu lệnh >;
B While < điều kiện > to < câu lệnh 1 > do < câu lệnh 2 >;
C While < điều kiện > do ;< câu lệnh >;
D While < điều kiện > do < câu lệnh >;
Trang 4Câu 16: Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108 Điều kiện nào sau đây cho vòng lặp while – do là đúng:
A While S>=108 do B While S < 108 do
C While S < 1.0E8 do D While S >= E8 do
B TỰ LUẬN (6 điểm)
Câu 17: ( 3 điểm) Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật
toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó
a) Thuật toán 1
Bước 1 S ← 10, x ← 0.5
Bước 2 Nếu S ≤ 5.2, chuyển tới bước 4
Bước 3 S ← S - x và quay lại bước 2
Bước 4 Thông báo S và kết thúc thuật toán
b) Thuật toán 2
Bước 1 S ←10, n ← 0
Bước 2 Nếu S ≥ 10, chuyển tới bước 4
Bước 3 n ← n+3, S ← S-n và quay lại bước 2
Bước 4 Thông báo S và kết thúc thuật toán
Câu 18: ( 1 điểm) Chương trình Pascal sau đây thực hiện hoạt động nào?
begin
for i := 1 to 1000 do ;
end
Câu 19: ( 2 điểm) Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước
và câu lệnh lặp với số lần lặp chưa biết trước
V ĐÁP ÁN - BIỂU ĐIỂM
A TRẮC NGHIỆM KHÁCH QUAN: (4 điểm, mỗi câu được 0,25 điểm)
B TỰ LUẬN (6 điểm)
17
(2đ) a) Thuật toán 1:- Kết quả thuật toán có 10 vòng lặp, giá trị S=5.
Trang 5b) Thuật toán 2:
- Kết quả thuật toán có 0 vòng lặp do điều kiện vòng lặp không
thỏa mãn, giá trị S=10
- Chương trình Pascal:
1
0,5
1
18
(1đ)
Chương trình chạy biến i từ 1 đến 1000 rồi không làm gì cả 1
19
(2đ)
Câu lệnh lặp với số lần biết trước :
- Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với
số lần đã được xác định từ trước
- Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên
Câu lệnh lặp với số lần chưa biết trước :
- Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với
số lần lặp chưa biết trước
- Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có
thực, cũng có thể là 1 điều kiện tổng quát khác
0,5 0,5 0,5 0,5
(Học sinh làm theo cách khác, nếu đúng vẫn cho điểm tối đa)
Tổ chuyên môn duyệt
Phú Bình, ngày 18 tháng 03 năm 2020
Người ra đề
Triệu Thế Bằng
Trang 6ĐỀ KIỂM TRA GIỮA KỲ II NĂM HỌC 2020 - 2021
MÔN TIN HỌC LỚP 8
Đề số 02
I MỤC TIÊU:
1 Kiến thức:
- Kiểm tra kiến thức học sinh về viết chương trình bằng ngôn ngữ lập trình Pascal
- Kiểm tra kiến thức HS về cấu trúc, cú pháp, cách viết chương trình về câu lệnh lặp, lặp với số lần chưa biết trước
2 Kĩ năng:
- Sử dụng được lệnh lặp For do và While do
- Rèn cách dịch, sửa lỗi chương trình, chạy chương trình xem kết quả
- Làm quen môi trường pascal
3 Thái độ: Rèn tính tư duy độc lập, tích cực tự giác học và trình bày kiến thức, tích cực
suy nghĩ độc lập
4 Định hướng phát triển năng lực:
- Năng lực chung: Phân tích, tổng hợp, giải quyết vấn đề
- Năng lực riêng: Nhận biết, giải quyết vấn đề Tin học, công nghệ
II HÌNH THỨC KIỂM TRA
- Đề kiểm tra theo hình thức trắc nghiệm khách quan và tự luận.
+ Trắc nghiệm khách quan: 40%
+ Tự luận: 60%
- HS làm bài tại lớp
III MA TRẬN:
Cấp độ
Chủ đề
Cấp độ thấp Cấp độ cao
1 Câu lệnh
lặp
Nhận biết được khái niệm, cấu trúc, cú pháp câu lệnh lặp
Hiểu biết được khái niệm, cấu trúc, cú pháp câu lệnh lặp
C6,2,9, 4
1 C18
4 C5,1,7,8
9
Số điểm
Tỉ lệ %
1 10%
1 10%
1 10%
3 30%
2 Lặp với số
lần chưa biết
trước
Trang 7Số câu 4
C3,10, 14,15
4 C11,12, 13,16
1 C19
1 C17
10
Số điểm
Tỉ lệ %
1 10%
1 10%
2 20%
3 30%
7 70%
Tổng số câu
Tổng số điểm
Tỉ lệ %
9 3 30%
9 4 40%
1 3 30%
19 10 100%
IV ĐỀ BÀI:
A TRẮC NGHIỆM KHÁCH QUAN: (4 điểm, mỗi câu được 0,25 điểm)
* Khoanh tròn vào chữ cái đứng trước kết quả em cho là đúng trong mỗi câu sau:
Câu 1: 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 nào?
A Integer B Real C String D Tất cả các kiểu trên đều được
Câu 2: Hoạt động nào sau đây lặp với số lần lặp biết trước?
A Giặt tới khi sạch B Học bài cho tới khi thuộc bài
C Gọi điện tới khi có người nghe máy D Ngày đánh răng 2 lần
Câu 3: Vòng lặp While – do kết thúc khi nào
A Khi một điều kiện cho trước được thỏa mãn B Khi đủ số vòng lặp
C Khi tìm được Output D Tất cả các phương án
Câu 4: Câu lệnh For to do kết thúc :
A Khi biến đếm nhỏ hơn giá trị cuối B Khi biến đếm lớn hơn giá trị cuối
C Khi biến đếm nhỏ hơn giá trị đầu D Khi biến đếm lớn hơn giá trị đầu
Câu 5: Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng :
A for i:=1 to 10; do x:=x+1; B for i:=1 to 10 do x:=x+1;
C for i:=10 to 1 do x:=x+1; D for i =10 to 1 do x:=x+1;
Câu 6: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:
A Cùng kiểu với giá trị đầu và giá trị cuối
B Chỉ cần khác kiểu với giá trị đầu
C Cùng kiểu với các biến trong câu lệnh
D Không cần phải xác định kiểu dữ liệu
Câu 7: Đoạn chương trình sau giải bài toán nào?
For I:=1 to M do
If (I mod 3 = 0) and (I mod 5 = 0) then
T := T + I;
A Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M
B Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M
C Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M
Trang 8D Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M
Câu 8: Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 1 đến 100
A 1 B 100 C 99 D Tất cả đều sai
Câu 9: Chọn cú pháp câu lệnh lặp là:
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ị cuối > to < giá trị đầu > do < câu lệnh >;
C for < biến đếm > = < giá trị đầu > to < giá trị cuối >; do < câu lệnh >;
D for < biến đếm > = < giá trị đầu > to < giá trị cuối > do < câu lệnh >;
Câu 10: Việc đầu tiên mà câu lệnh While do cần thực hiện là gì?
A Thực hiện < câu lệnh > sau từ khóa Do
B Kiểm tra giá trị của < điều kiện >
C Thực hiện câu lệnh sau từ khóa Then
D Kiểm tra < câu lệnh >
Câu 11: Cho biết câu lệnh sau Do thực hiện mấy lần trong đoạn chương trình sau:
i := 5;
While i>=1 do i := i – 1;
A 1 lần B 2 lần C 5 lần D 6 lần
Câu 12: Hãy cho biết kết quả của đoạn chương trình dưới đây:
a:=10; While a < 11 do write (a);
A Trên màn hình xuất hiện một số 10
B Trên màn hình xuất hiện 10 chữ a
C Trên màn hình xuất hiện một số 11
D Chương trình bị lặp vô tận
Câu 13: Câu lệnh sau giải bài toán nào:
While M <> N do
If M > N then M:=M-N else N:=N-M;
A Tìm UCLN của M và N
B Tìm BCNN của M và N
C Tìm hiệu nhỏ nhất của M và N
D Tìm hiệu lớn nhất của M và N
Câu 14: Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?
A Ngày tắm hai lần B Học bài cho tới khi thuộc bài
C Mỗi tuần đi nhà sách một lần D Ngày đánh răng 2 lần
Câu 15: Cú pháp lệnh lặp với số lần chưa biết trước:
A While < điều kiện > to < câu lệnh >;
B While < điều kiện > to < câu lệnh 1 > do < câu lệnh 2 >;
C While < điều kiện > do ;< câu lệnh >;
Trang 9D While < điều kiện > do < câu lệnh >;
Câu 16: Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108 Điều kiện nào sau đây cho vòng lặp while – do là đúng:
A While S>=108 do B While S < 108 do
C While S < 1.0E8 do D While S >= E8 do
B TỰ LUẬN (6 điểm)
Câu 17: ( 3 điểm) Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật
toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó
a) Thuật toán 1
Bước 1 S ← 10, x ← 0.5
Bước 2 Nếu S ≤ 5.2, chuyển tới bước 4
Bước 3 S ← S - x và quay lại bước 2
Bước 4 Thông báo S và kết thúc thuật toán
b) Thuật toán 2
Bước 1 S ←10, n ← 0
Bước 2 Nếu S ≥ 10, chuyển tới bước 4
Bước 3 n ← n+3, S ← S-n và quay lại bước 2
Bước 4 Thông báo S và kết thúc thuật toán
Câu 18: ( 1 điểm) Chương trình Pascal sau đây thực hiện hoạt động nào?
begin
for i := 1 to 1000 do ;
end
Câu 19: ( 2 điểm) Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước
và câu lệnh lặp với số lần lặp chưa biết trước
V ĐÁP ÁN - BIỂU ĐIỂM
A TRẮC NGHIỆM KHÁCH QUAN: (4 điểm, mỗi câu được 0,25 điểm)
B TỰ LUẬN (6 điểm)
17
(2đ) a) Thuật toán 1:- Kết quả thuật toán có 10 vòng lặp, giá trị S=5.
Trang 10b) Thuật toán 2:
- Kết quả thuật toán có 0 vòng lặp do điều kiện vòng lặp không
thỏa mãn, giá trị S=10
- Chương trình Pascal:
1
0,5
1
18
(1đ)
Chương trình chạy biến i từ 1 đến 1000 rồi không làm gì cả 1
19
(2đ)
Câu lệnh lặp với số lần biết trước :
- Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với
số lần đã được xác định từ trước
- Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên
Câu lệnh lặp với số lần chưa biết trước :
- Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với
số lần lặp chưa biết trước
- Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có
thực, cũng có thể là 1 điều kiện tổng quát khác
0,5 0,5 0,5 0,5
(Học sinh làm theo cách khác, nếu đúng vẫn cho điểm tối đa)
Tổ chuyên môn duyệt
Phú Bình, ngày 18 tháng 03 năm 2020
Người ra đề
Triệu Thế Bằng