Đề thi học kì 2 môn Tin học lớp 8 năm 2022 - 2023 - Đề 1

Đề thi học kì 2 môn Tin học lớp 8 năm 2022 - 2023 - Đề 1 được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn học sinh cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

PHÒNG GD&ĐT ……….
Trường THCS …….
ĐỀ CHÍNH THỨC
Họ tên HS:……………………………Lớp
8
ĐỀ THI HỌC KỲ II NĂM HỌC 2022 2023
MÔN: TIN HỌC (KHỐI 8)
Thời gian: 45 phút (không kể thời gian phát đề)
ĐIỂM
LỜI NHẬN XÉT CỦA GIÁO VIÊN
I/ TRẮC NGHIỆM: ( 5.0 điểm)
Hãy khoanh tròn vào chữ cái đứng đầu cho đáp án đúng nhất. Mỗi câu trả lời đúng được 0.25 điểm:
Câu 1. Trong câu lệnh lặp For i:=1 to -19 do begin...end; câu lệnh ghép được thực hiện bao nhiêu
lần?
A. Không lần nào
B. 1 lần
C. 2 lần
D. 10 lần
Câu 2. Đoạn lệnh sau đây: s:=10; while s>10 do writeln(s); s:=s+1; sẽ cho kết quả là gì?
A. In ra các số từ 1 đến 9
C. In ra vô hạn các số 1, mỗi số trên một dòng
B. In ra các số từ 1 đến 10
D. In ra tổng từ 1 đến 10.
Câu 3: S vòng lp trong câu lnh:
For (Biến đếm):=(Giá tr đầu) to (Giá tr cui) do (câu lnh); được xác định:
A. Giá tr đầu - Giá tr cui + 1
B. Giá tr đầu - Biến đếm + 1
Câu 4: Trong câu lnh lp: For (Biến đếm):=(Giá tr đầu) to (Giá tr cui) do (câu lnh); Khi
thc hiện ban đầu Biến đếm nhn giá tr = Giá tr đầu, sau mi vòng lp biến đếm tăng thêm:
A. 1 đơn vị
B. 2 đơn vị
C. 3 đơn vị
D. 4 đơn vị
Câu 5: Trong câu lệnh lặp với số lần xác định trước, lệnh lặp sẽ dừng lại khi nào?
A. Khi điều kiện đúng
C. Khi chạy hết vòng lặp
B. Khi điều kiện sai
D. Khi có lệnh end;
Câu 6: Tìm giá trị S khi thực hiện đoạn chương trình sau đây
S:=0; For i:=1 to 5 do S:= S+i;
A. S=0
B. S= 1
C. S=10
D. S=15.
Câu 7: Hãy cho biết kết quả của b trong đoạn chương trình sau đây.
a:=1; b:=5; while a>=10 do begin b:=b-a; a:=a-1; end;
A. b=5.
B. b=4.
C. b=15.
D. b=20.
Câu 8: Lúc nào thì câu lệnh lặp While..Do sẽ dừng lại?
A. <Điều kiện> có giá trị đúng.
C. Câu lệnh bên trong < câu lệnh> thực hiện.
B. < Điều kiện> có giá trị sai.
D. không thực hiện
Câu 9: Bạn Ngọc muốn in ra màn hình 5 chữ B và 5 chữ C trên màn hình bằng đoạn chương
trình sau: For i:=1 to 5 do Writeln(‘B’); writeln(‘C’);
Theo em bạn Ngọc viết như thế nào
A. Đúng rồi
B. Phải đưa Writeln(‘B’); writeln(‘C’) vào trong cặp từ khóa Begin và End;
C. Phải đổi Writeln thành Write.
D. Phải đặt Writeln(‘B’); writeln(‘C’); trên hai dòng riêng biệt.
Câu 10: Việc đầu tiên câu lệnh While cần thực hiện là gì?
A. Thực hiện <câu lệnh> sau từ khóa DO.
C. Thực hiện < câu lệnh > sau từ khóa Then.
B. Kiểm tra giá trị của <điều kiện>.
D. Kiểm tra <câu lệnh>.
Câu 11: Kết quả của < điều kiện> trong câu lệnh While ..Do có giá trị gì?
A. Là 1 số nguyên.
B. Là 1 số thực.
C. Đúng hoặc sai.
D. Là 1 dãy kí tự.
Câu 12: Câu lệnh sau từ khóa Do trong câu lệnh While sẽ được thực hiện bao nhiêu lần?
A. 0 lần.
B. 1 lần
C. 2 lần
D. Tùy thuộc bài toán.
Câu 13. Trong câu lệnh For ... do… sau từ khóa “do” có hai câu lệnh trở lên ta “gói” chúng trong:
A. Begin...readln;
B. Begin...and;
C. End...Begin
D. Begin... end;
Câu 14. Trong câu lệnh while..do nếu điều kiện sai thì:
A. Tiếp tục vòng lặp
B. Thoát khỏi vòng lặp
C. Lặp vô hạn lần
D. Lặp 1 lần
Câu 15. Trong câu lệnh While...do, nếu điều kiện đúng thì:
A. Tiếp tục vòng lặp
B. Thoát khỏi vòng lặp
C. Lặp vô hạn lần
D. Lặp 1 lần
Câu 16: Trong câu lệnh lặp for i:=0 to 100 do begin end; câu lệnh ghép được thực hiện
bao nhiêu lần ( hay bao nhiêu vòng lặp được thực hiện?
A. 100 lần.
B. 101 lần.
C. Không lần nào.
D. 99 lần.
Câu 17. Hoạt động nào sau đây có thể tính toán được số lần làm việc:
A. Múc từng gáo nước đến đầy bể B. Đi lên tầng, đến tầng 10 thì dừng
C. Học cho tới khi thuộc bài D. Nhặt từng cọng rau cho tới khi xong
Câu 18. Vòng lặp sau cho kết quả S bằng bao nhiêu:
S := 1; For i := 1 to 3 do S := S * 2;
A. S = 6
B. S = 8
C. S = 10
D. S = 12
Câu 19: Cấu trúc chung hợp lý của một chương trình Pascal là:
A. Begin/
Program/End.
B.
program/End/Begin
C.
End/Program/Begin.
D.
Program/Begin/End.
Câu 20. Pascal sử dụng từ khóa nào cho câu lệnh lặp nào sau đây để lặp với số lần chưa biết
trước?
a. For…do;
b. While…do;
c. If..then;
d. If…then…else;
II. Tự luận.
Câu 1: (1đ)Lựa chọn đáp án Đ ( Đúng) hoặc S ( Sai). Mỗi đáp án đúng được 0.25 điểm.
Đ
S
a. Trong nhiều trường hợp, việc thực hiện câu lệnh lặp while...do tốn ít thời
gian hơn so với câu lệnh lặp for...do.
b. Câu lệnh sau do trong lệnh lặp while...do có thể không được thực hiện một
lần nào nếu ngay từ đầu, <điều kiện> điều khiển vòng lặp có giá trị sai.
c. Trong vòng lặp While...Do <câu lệnh> chỉ là câu lệnh đơn giản.
d. Trong vòng lặp While...Do < điều kiện> thông thường là phép so sánh.
2. (1đ)Hãy xác định đúng sai cho các phát biểu dưới đây: Mỗi đáp án đúng được 0.25 điểm.
Đ
S
a. Để tính S là tổng của các bình phương của n số tự nhiên đầu tiên, đoạn
chương trình Pascal sau đây tuy không hề bị lỗi cú pháp, nhưng lại không đạt
được mục đích cần tính toán: S:=0; for a:=1 to n do; S:=S+a*a
b. Không nên thay đổi giá trị của “biến đếm” trong câu lệnh lặp for...do, ví dụ
câu lệnh lặp sau đây là không nên sử dụng: for i:=1 to n do i:=i+2;
c. Mọi NNLT đều có các cách để chỉ thị cho máy tính thực hiện cấu trúc với
một câu lệnh. Đó là câu lệnh lặp.
d. Câu lệnh lặp sẽ thực hiện câu lệnh nhiều lần, mỗi lần là hai vòng.
3.(3đ) Dùng ngôn ngữ lập trình Pascal, viết chương trình tính tổng 50 số tự nhiên đầu tiên.
(dùng While..do, hoặc For..do)
MA TRẬN ĐỀ KIỂM TRA:
Cấp độ
Chủ đề
Nhận biết
Thông hiểu
Vận dụng
Thấp
Cao
TN
TL
TN
TL
TN
TL
TN
TL
Câu lệnh
lặp
- Biết được số
lần lặp của
câu lênh
For...do được
tính như thế
nào?
- Biết tính
kết quả của
vòng lặp -
Biết sử câu
lênh lặp
for…do
Biết vận
dụng
for..to
để viết
chương
trình
Vận
dụng
vào
bài
tập
4
( 1,10,19,16)
4
3,5,9,18
3
4,6,13
0,75đ
1
1a,b,
2a,b
Lặp với số
lần chưa
biết trước
Nắm được
hoạt động lặp
của câu lênh
White…do
- Nắm được
đâu là hoạt
động lặp với
số lần chưa
biết trước
- Biết tính
kết quả của
vòng lặp -
Biết sử câu
lênh lặp
While ..do
Biết vận
dụng
for..to
để viết
chương
trình
Vận
dụng
vào
bài
tập
Viết
chương
trình
Số câu
Điểm
4
2,7,15,17
3
8,14,20
0,75đ
2
11,12
0,5đ
1
1c,d
2c,d
1
3
3
ĐÁP ÁN VÀ THANG ĐIỂM
Trắc nghiệm: 5đ (Mỗi câu trả li đúng được 0.25 đim:)
Câu
1
2
3
4
5
6
7
8
9
10
Đáp án
A
C
C
A
B
D
B
B
B
B
Câu
11
12
13
14
15
16
17
18
19
20
Đáp án
C
D
D
B
A
A
B
D
D
B
Tự luận.
Câu 1 (1 điểm): a. Đ b. Đ c. S. d. Đ
Câu 2 (1 điểm): a. Đ b. Đ c. Đ. d. Đ
3.(3đ) Dùng ngôn ngữ lập trình Pascal, viết chương trình tính tổng 50 số tự nhiên đầu tiên.
(dùng While..do, hoặc For..do)
HS có thể dùng While..do, hoặc For..do để viết chương trình.
Code mẫu:
Program tinh_tong;
uses crt;
var i,n:integer;
S:longint;
begin
n:=50; S:=1;
for i:=1 to 50 do S:= S+i;
write(' tong cua ',n,' so tu nhien dau tien la ',S);
readln
end.
| 1/4

Preview text:

PHÒNG GD&ĐT ……….
ĐỀ THI HỌC KỲ II NĂM HỌC 2022 – 2023 Trường THCS ……. MÔN: TI N HỌC (KHỐI 8) ĐỀ CHÍNH THỨC
Thời gian: 45 phút (không kể thời gian phát đề)
Họ tên HS:……………………………Lớp 8 ĐIỂM
LỜI NHẬN XÉT CỦA GIÁO VIÊN
I/ TRẮC NGHIỆM: ( 5.0 điểm)
Hãy khoanh tròn vào chữ cái đứng đầu cho đáp án đúng nhất. Mỗi câu trả lời đúng được 0.25 điểm:
Câu 1.
Trong câu lệnh lặp For i:=1 to -19 do begin...end; câu lệnh ghép được thực hiện bao nhiêu lần? A. Không lần nào B. 1 lần C. 2 lần D. 10 lần
Câu 2. Đoạn lệnh sau đây: s:=10; while s>10 do writeln(s); s:=s+1; sẽ cho kết quả là gì?
A. In ra các số từ 1 đến 9
C. In ra vô hạn các số 1, mỗi số trên một dòng
B. In ra các số từ 1 đến 10
D. In ra tổng từ 1 đến 10.
Câu 3: Số vòng lặp trong câu lệnh:
For (Biến đếm):=(Giá trị đầu) to (Giá trị cuối) do (câu lệnh); được xác định:
A. Giá trị đầu - Giá trị cuối + 1
C. Giá trị cuối - Giá trị đầu + 1
B. Giá trị đầu - Biến đếm + 1
D. Giá trị cuối - Biến đếm + 1
Câu 4: Trong câu lệnh lặp: For (Biến đếm):=(Giá trị đầu) to (Giá trị cuối) do (câu lệnh); Khi
thực hiện ban đầu Biến đếm nhận giá trị = Giá trị đầu, sau mỗi vòng lặp biến đếm tăng thêm: A. 1 đơn vị B. 2 đơn vị C. 3 đơn vị D. 4 đơn vị
Câu 5: Trong câu lệnh lặp với số lần xác định trước, lệnh lặp sẽ dừng lại khi nào? A. Khi điều kiện đúng
C. Khi chạy hết vòng lặp B. Khi điều kiện sai D. Khi có lệnh end;
Câu 6: Tìm giá trị S khi thực hiện đoạn chương trình sau đây
S:=0; For i:=1 to 5 do S:= S+i; A. S=0 B. S= 1 C. S=10 D. S=15.
Câu 7: Hãy cho biết kết quả của b trong đoạn chương trình sau đây.
a:=1; b:=5; while a>=10 do begin b:=b-a; a:=a-1; end; A. b=5. B. b=4. C. b=15. D. b=20.
Câu 8: Lúc nào thì câu lệnh lặp While..Do sẽ dừng lại?
A. <Điều kiện> có giá trị đúng.
C. Câu lệnh bên trong < câu lệnh> thực hiện.
B. < Điều kiện> có giá trị sai. D. không thực hiện
Câu 9: Bạn Ngọc muốn in ra màn hình 5 chữ B và 5 chữ C trên màn hình bằng đoạn chương
trình sau: For i:=1 to 5 do Writeln(‘B’); writeln(‘C’);
Theo em bạn Ngọc viết như thế nào A. Đúng rồi
B. Phải đưa Writeln(‘B’); writeln(‘C’) vào trong cặp từ khóa Begin và End;
C. Phải đổi Writeln thành Write.
D. Phải đặt Writeln(‘B’); writeln(‘C’); trên hai dòng riêng biệt.
Câu 10: Việc đầu tiên câu lệnh While cần thực hiện là gì?
A. Thực hiện sau từ khóa DO.
C. Thực hiện < câu lệnh > sau từ khóa Then.
B. Kiểm tra giá trị của <điều kiện>. D. Kiểm tra .
Câu 11: Kết quả của < điều kiện> trong câu lệnh While ..Do có giá trị gì? A. Là 1 số nguyên. B. Là 1 số thực. C. Đúng hoặc sai. D. Là 1 dãy kí tự.
Câu 12: Câu lệnh sau từ khóa Do trong câu lệnh While sẽ được thực hiện bao nhiêu lần? A. 0 lần. B. 1 lần C. 2 lần D. Tùy thuộc bài toán.
Câu 13. Trong câu lệnh For ... do… sau từ khóa “do” có hai câu lệnh trở lên ta “gói” chúng trong: A. Begin...readln; B. Begin...and; C. End...Begin D. Begin... end;
Câu 14. Trong câu lệnh while..do nếu điều kiện sai thì:
A. Tiếp tục vòng lặp B. Thoát khỏi vòng lặp C. Lặp vô hạn lần D. Lặp 1 lần
Câu 15. Trong câu lệnh While...do, nếu điều kiện đúng thì:
A. Tiếp tục vòng lặp B. Thoát khỏi vòng lặp C. Lặp vô hạn lần D. Lặp 1 lần
Câu 16: Trong câu lệnh lặp for i:=0 to 100 do begin … end; câu lệnh ghép được thực hiện
bao nhiêu lần ( hay bao nhiêu vòng lặp được thực hiện?

A. 100 lần. B. 101 lần. C. Không lần nào. D. 99 lần.
Câu 17. Hoạt động nào sau đây có thể tính toán được số lần làm việc:
A. Múc từng gáo nước đến đầy bể
B. Đi lên tầng, đến tầng 10 thì dừng
C. Học cho tới khi thuộc bài
D. Nhặt từng cọng rau cho tới khi xong
Câu 18. Vòng lặp sau cho kết quả S bằng bao nhiêu:
S := 1; For i := 1 to 3 do S := S * 2; A. S = 6 B. S = 8
C. S = 10 D. S = 12
Câu 19: Cấu trúc chung hợp lý của một chương trình Pascal là: A. Begin/ B. C. D. Program/End. program/End/Begin End/Program/Begin. Program/Begin/End.
Câu 20. Pascal sử dụng từ khóa nào cho câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước?
a. For…do; b. While…do; c. If..then; d. If…then…else; II. Tự luận.
Câu 1:
(1đ)Lựa chọn đáp án Đ ( Đúng) hoặc S ( Sai). Mỗi đáp án đúng được 0.25 điểm. Đ S
a. Trong nhiều trường hợp, việc thực hiện câu lệnh lặp while...do tốn ít thời
gian hơn so với câu lệnh lặp for...do.
b. Câu lệnh sau do trong lệnh lặp while...do có thể không được thực hiện một
lần nào nếu ngay từ đầu, <điều kiện> điều khiển vòng lặp có giá trị sai.
c. Trong vòng lặp While...Do chỉ là câu lệnh đơn giản.
d. Trong vòng lặp While...Do < điều kiện> thông thường là phép so sánh.
2. (1đ)Hãy xác định đúng sai cho các phát biểu dưới đây: Mỗi đáp án đúng được 0.25 điểm. Đ S
a. Để tính S là tổng của các bình phương của n số tự nhiên đầu tiên, đoạn
chương trình Pascal sau đây tuy không hề bị lỗi cú pháp, nhưng lại không đạt
được mục đích cần tính toán: S:=0; for a:=1 to n do; S:=S+a*a
b. Không nên thay đổi giá trị của “biến đếm” trong câu lệnh lặp for...do, ví dụ
câu lệnh lặp sau đây là không nên sử dụng: for i:=1 to n do i:=i+2;
c. Mọi NNLT đều có các cách để chỉ thị cho máy tính thực hiện cấu trúc với
một câu lệnh. Đó là câu lệnh lặp.
d. Câu lệnh lặp sẽ thực hiện câu lệnh nhiều lần, mỗi lần là hai vòng.
3.(3đ) Dùng ngôn ngữ lập trình Pascal, viết chương trình tính tổng 50 số tự nhiên đầu tiên.
(dùng While..do, hoặc For..do)

MA TRẬN ĐỀ KIỂM TRA: Cấp độ Vận dụng Nhận biết Thông hiểu Thấp Cao Chủ đề TN TL TN TL TN TL TN TL - Biết được số - Biết tính Biết vận Vận lần lặp của kết quả của dụng dụng vòng lặp Câu lệnh câu lênh - for..to vào For...do được Biết sử câu để viết lặp bài tính như thế lênh lặp chương tập nào? for…do trình 4 4 3 1 ( 1,10,19,16) 3,5,9,18 4,6,13 1a,b, 2a,b 0,75đ Nắm được - Biết tính Biết vận Vận Viết hoạt động lặp kết quả của dụng dụng chương của câu lênh vòng lặp - for..to vào trình White…do Biết sử câu để viết Lặp với số bài lênh lặp chương tập lần chưa - Nắm được đâu là hoạt biết trước While ..do trình động lặp với số lần chưa biết trước Số câu 4 3 2 1 1 2,7,15,17 8,14,20 11,12 1c,d 3 Điểm 2c,d 0,75đ 0,5đ 3
ĐÁP ÁN VÀ THANG ĐIỂM
Trắc nghiệm: 5đ (Mỗi câu trả lời đúng được 0.25 điểm:)
Câu 1 2 3 4 5 6 7 8 9 10 Đáp án A C C A B D B B B B Câu 11 12 13 14 15 16 17 18 19 20 Đáp án C D D B A A B D D B Tự luận. Câu 1 (1 điểm): a. Đ b. Đ c. S. d. Đ
Câu 2 (1 điểm): a. Đ b. Đ c. Đ. d. Đ
3.(3đ) Dùng ngôn ngữ lập trình Pascal, viết chương trình tính tổng 50 số tự nhiên đầu tiên.
(dùng While..do, hoặc For..do)
HS có thể dùng While..do, hoặc For..do để viết chương trình. Code mẫu:
Program tinh_tong; uses crt; var i,n:integer; S:longint; begin n:=50; S:=1; for i:=1 to 50 do S:= S+i;
write(' tong cua ',n,' so tu nhien dau tien la ',S); readln end.