Lớp 8

Bộ đề thi giữa học kì 2 môn Tin học lớp 8 năm 2021 – 2022

Bộ đề thi giữa học kì 2 môn Tin học lớp 8 năm 2021 – 2022 gồm 5 đề thi có bảng ma trận, đáp án kèm theo, giúp các em học sinh lớp 8 ôn tập, luyện giải đề rồi so sánh đáp án thuận tiện hơn.

Đây là tài liệu vô cùng hữu ích giúp thầy cô có thêm kinh nghiệm trong việc ra đề thi giữa học kì 2 cho học sinh của mình. Bên cạnh đó, còn có thể tham khảo thêm bộ đề môn Toán, Ngữ Văn. Nội dung chi tiết mời các bạn cùng TH Văn Thủy tham khảo bài viết dưới đây.

Đề thi giữa học kì 2 lớp 8 môn Tin học – Đề 1

Ma trận đề thi giữa kì 2 môn Tin học lớp 8

CHỦ ĐỀ MỨC ĐỘ
Nhận biết Thông hiểu Vận dụng
Cao Thấp
TN TL TN TL TN TL TN TL
CĐ7: Cấu trúc lặp Câu 6.A Câu 3.A
CĐ8: Lặp với số lần biết trước. Câu 2.A Câu 7.A Câu 12.A Câu 5.A Câu 2.B
CĐ9: Lặp với số lần chưa biết trước. Câu 1.ACâu 4.A Câu 9.A Câu 11.A Câu 1.B Câu 8.ACâu 10.A
Tổng số câu 4 3 3 4
Tổng số điểm 2 1.5 3 3.5
Tỉ lệ 20% 15% 30% 35%

Đề thi giữa học kì 2 môn Tin học lớp 8

A. PHẦN TRẮC NGHIỆM: (6 điểm) Khoanh tròn vào đáp án đúng:

Câu 1: Câu lệnh viết đúng cú pháp là:

A. While <điều kiện> to <câu lệnh>;

B. While <điều kiện> do <câu lệnh>;

C. While <điều kiện> to <câu lệnh1> do;

D. While <điều kiện>; do <câu lệnh>;

Câu 2: Cú pháp của câu lệnh lặp for … do … là ?

A. If (điều kiện) then (câu lệnh);

B. Var n, i:interger;

C. Phải kết hợp cả a, b và c.

D. For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;

Câu 3: 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 4: Vòng lặp while .. do là vòng lặp:

A. Biết trước số lần lặp

B. Biết trước số lần lặp nhưng giới hạn là <=100

C. Chưa biết trước số lần lặp

D. Biết trước số lần lặp nhưng giới hạn là >=10

Câu 5: Trong ngôn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì?

For i:=1 to 10 do write (i,’ ‘);

A. 1 2 3 4 5 6 7 8 9 10

B. 10 9 8 7 6 5 4 3 2 1

C. Đưa ra 10 dấu cách

D. Không đưa ra kết quả gì

Câu 6: Bạn An ăn sang mỗi ngày?

A. Lặp với số lần biết trước.

B. Lặp với số lần chưa biết trước.

C. Không có hoạt động lặp.

D. Đáp án khác.

Câu 7: Câu lệnh nào sau đây hợp lệ

A. for i:=100 to 1 do writeln(‘A’);

B. for i:= 1.5 to 10.5 do writeln(‘A’);

C. for i:= 1 to 10 do; writeln(‘A’);

D. for i:=1 to 10 do writeln(‘A’);

Câu 8: Câu lệnh Pascal : While (4*5>=20) do Writeln (4*5); sẽ :

A. In số 20 ra màn hình 4 lần.

B. In số 20 ra màn hình 5 lần.

C. Không thực hiện lệnh Writeln (4*5);

D. Lặp vô hạn lần lệnh Writeln (4*5);

Câu 9: While S<=20 do Writeln(S); Điều kiện để dừng chương trình là

A. S>20

B. S=20

C.S<>20

D. S<20

Câu 10: Đoạn lệnh sau đây sẽ cho kết quả gì?

so:=1;

While so < 10 do writeln(so); so:=so + 1;

A. In ra vô hạn các số 1, mỗi số trên một dòng

B. Không phương án nào đúng

C. In ra các số từ 1 đến 9;

D. In ra các số từ 1 đến 10;

Câu 11: Câu lệnh nào sau đây lặp vô hạn lần

A. s:=5; i:=0;

While i<=s do s:=s + 1;

C. s:=5; i:=1;

While i<=s do i:=i + 1;

B. s:=5; i:=1;

While i> s do

i:=i + 1;

D. s:=0; i:=0; n:=5;

While i<=n do

Begin

If (i mod 2)=1 Then S:=S + i;

Else i:=i+1;

End;

Câu 12: Để tính tổng S=1/2+1/4 + 1/6 + … +1/ n; em chọn đoạn lệnh:

A. for i:=1 to n do

if ( i mod 2)=0 then S:=S + 1/i;

C. for i:=1 to n do

if ( i mod 2) < > 0 then S:=S + i;

B. for i:=1 to n do

if ( i mod 2)=0 then S:=S – 1/i
Else S:= S + 1/i;

D. for i:=1 to n do

if ( i mod 2)=0 then S:=S +1/ i

Else S:=S-1/i;

II. TỰ LUẬN: (4 điểm)

Câu 1: Đoạn chương trình (2đ)

i:=0;

T:=5;

While T<20 do

Begin

i:=i+1;

T=T*i;

End;

Cho biết với đoạn lệnh trên chương trình thực hiện bao nhiêu vòng lặp và ý nghĩa câu lệnh lặp bằng cách điền vào chỗ trống bên dưới:

Khởi tạo:………………………………….. Số vòng lặp:……….

Ý nghĩa:………………..

……………………………….

……………………………….

T<20? i:=i+1;

T:=T*i;

…<20→ Đ ………………………….
…< 20→…. ………………………….
…< 20→….. ………………………….

Câu 2: Đoạn chương trình (2đ)

Write(‘ Nhap vao so cau hoi:’); Readln(n);

S:=0;

For i:=1 to n do S:=S+2*i

Em hãy chạy chương trình và kiểm tra kết quả với những bộ thử sau:

STT Số câu hỏi Tổng số bút cần mua
1 n= 8 S= 72
2 n=15 S=………. (1đ)
3 n=32 S=………. (1đ)

Đáp án đề thi giữa kì 2 môn Tin học lớp 8

I. Trắc nghiệm: (6 điểm)

(Mỗi câu đúng được 0,5đ)

1 2 3 4 5 6 7 8 9 10 11 12
B D B C A B D D A A A A

II. Tự Luận: (4 điểm)

Câu 1: Đoạn chương trình (2đ)

Khởi tạo:i:=0; S:=5; Số vòng lặp:3

Ý nghĩa: Tính tích

Đến khi nào T>=20 thì dừng vòng lặp

T<20? i:=i+1;

T:=S*i;

5<20→ Đ i=1, T= 5
5< 20→Đ i=2, T= 10
10< 20→Đ i=3, T= 30
30<20→ S

Kết thúc vòng lặp

Câu 2: Đoạn chương trình (2đ)

STT Số câu hỏi Tổng số bút cần mua
1 n= 8 S= 72
2 n=15 S= 240 (1đ)
3 n=32 S= 1056 (1đ)

Đề thi giữa học kì 2 lớp 8 môn Tin học – Đề 2

Ma trận đề thi giữa kì 2 môn Tin học lớp 8

Tên chủ đề (Nội dung, chương) Nhận biết

(Cấp độ 1)

Thông hiểu

(Cấp độ 2)

Vận dụng
Cấp độ thấp

(Cấp độ 3)

Cấp độ cao

(Cấp độ 4)

Bài 7:Câu lệnh lặp: 3/46 I.1.1, I.2.1 I.1.1, I.2.1 I.1.2, I.2.2 I.1.3, I.2.3
Số câu: 9

Số điểm: 6

Tỉ lệ: 60%

( C1 C3, C4, C5)

Số điểm:1

Số câu: C6, C9, C14

Số điểm:1.5

Số câu: C15

Số điểm:1.5

Số câu:C17

Số điểm:2

Bài 8:Lặp với số lần chưa biết trước: 2/46 I.1.4, I.2.4 I.1.4, I.2.4 I.1.5, I.2.5
Số câu: 8

Số điểm: 4

Tỉ lệ: 40%

Số câu:C2, C8, C11, C12

Số điểm:1

Số câu:C7, C10, C13;

Số điểm:1,5

Số câu: C16

Số điểm:1.5

Tổng số câu: 16

Tổng số điểm: 10

Tỉ lệ: 100%

Tổng số câu:8

Tổng số điểm:2

Tỉ lệ: 20%

Tổng số câu: 6

Tổng số điểm:3

Tỉ lệ: 30%

Tổng số câu: 2

Tổng số điểm:3

Tỉ lệ: 30%

Tổng số câu: 1

Tổng số điểm: 2

Tỉ lệ: 20%

Đề thi giữa học kì 2 lớp 8 môn Tin học

I. 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 10 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: so:=1; while so<10 do writeln(so); so:=so+1; sẽ cho kết quả là gì?

A. In ra các số từ 1 đến 9

B. In ra các số từ 1 đến 10

C. In ra vô hạn các số 1, mỗi số trên một dòng

D. Cả a, b, c đều sai

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

B. Giá trị đầu = Biến đếm + 1

C. Giá trị cuối = Giá trị đầu + 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, <câu lệnh> được thực hiện bao nhiêu lần?

A. (<giá trị đầu> – <giá trị cuối>) lần.

B. (<giá trị cuối> – <giá trị đầu>) lần.

C. (<giá trị cuối> – <giá trị đầu> + 1) lần.

D. Khoảng 10 lần

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:=10; b:=5;

while a>=10 do

begin b:=b+a; a:=a-1; end;

A. b=5.

B. b=10.

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.

B. < Điều kiện> có giá trị sai.

C. Các câu lệnh bên trong < câu lệnh> đã thực hiện xong.

D. Tất cả phương án trên đều sai.

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ìnhbằ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.

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: 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: 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.

Câu 14. Hãy xác định đúng sai cho các phát biểu dưới đây:

Đ 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.

Câu 15. Đối với từng đoạn chương trình Pascal sau đây, hãy cho biết lệnh writeln in ra màn hình giá trị của j, k là bao nhiêu? (1.5 điểm)

j:=2; k:=3;

for i:=1 to 5 do j:=j+1;

k:=k+j;

cach:=’ ’;

writeln(j,cach, k);

j=………………. k=………………….

Câu 16. Đối với từng đoạn chương trình Pascal sau đây, hãy cho biết lệnh writeln in ra màn hình giá trị của i , j, k là bao nhiêu? (1.5 điểm)

i:=1; j:=2; k:=3;

while i<6 do i:=i+1; j:=j+1; k:=k+j;

cach:=’ ’;

writeln(i,cach, j,cach, k);

i=………… j=………….. k=………………..

Câu 17: Giả sử abc (0≤ a,b,c ≤ 9) là số Armstrong (a,b,c thỏa mãn 100a + 10b+c = a3+ b3+c3). Hãy hoàn thành chương trình sau ( 2 điểm ):

Program Armstrong;

Var a, b, c : integer;

Begin

Writeln(‘cac so armstrong trong khoang 0 -999 la:’);

………………………………………………………

For b:=0 to 9 do

…………………………………………………………

…………………………………………………………

………………………………………………………………

Readln;

End.

Đáp án đề kiểm tra giữa kì 2 môn Tin học lớp 8

Câu 1 2 3 4 5 6 7 8 9 10 11 12
Đáp án D C C A C D C B B B C D

Câu 13 (1 điểm): a. Đ b. Đ c. S. d.Đ

Câu 14 (1 điểm): a. Đ b. Đ c. Đ. d.Đ

Câu 15 (1.5 điểm): j=7, k=10;

Câu 16 (1.5 điểm): i=6, j=3, k=6

Câu 17 (2 điểm):

Program Armstrong;

Var a, b, c : integer;

Begin

Writeln(‘cac so armstrong trong khoang 0 -999 la:’);

For a:=0 to 9 do

For b:=0 to 9 do

For c:=0 to 9 do

If a*100+b*10 +c= a*a*a + b*b*b + c*c*c then

Writeln( a*100+b*10+c);

Readln;

End.

…………..

Đề thi giữa học kì 2 lớp 8 môn Tin học – Đề 3

Cấp độ

Tên

chủ đề

Nhận biết Thông hiểu Vận dụng Cộng
Cấp độ thấp Cấp độ cao
TNKQ TL TNKQ TL TNKQ TL TNKQ TL
Câu lệnh lặp For..to..do – Biết được cú pháp câu lệnh lặp và khai báo biến trong chương trình.

Viết được cú pháp và nêu được hoạt động của câu lệnh lặp For..do.

– Hiểu được hoạt động của câu lệnh lặp.

– Sắp xếp được hoàn chỉnh chương trình tính tổng N số tự nhiên.

Số câu

Số điểm

Tỷ lệ %

2

0,5

5%

1

2

20%

2

0,5

5%

1

3

30%

6

6

50%

Lặp với số lần chưa biết trước While..do Biết cấu trúc lặp với số lần chưa biết trước để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện được thỏa mãn Hiểu được hoạt động của câu lệnh lặp với số lần chưa biết trước trong ngôn ngữ lập trình cụ thể. – Vận dụng kiến thức đã học để viết hoàn chỉnh hoàn chỉnh chương trình từ thuật toán
Số câu

Số điểm

Tỷ lệ %

2

0,5

5%

2

0,5

5%

1

3

40%

5

4

50%

T. số câu

T.điểm

Tỷ lệ %

4

1

10%

1

2

20%

4

1

10%

1

3

30%

1

3

30%

11

10

100%

Đề kiểm tra giữa kì 2 lớp 8 môn Tin học

A. Trắc nghiệm (2 điểm)

Khoanh tròn vào chữ cái đầu em cho là đúng

Câu 1:Trong ngôn ngữ lập trình Pascal, câu lệnh lặp với số lần chưa biết trước là:

A. If (Điều kiện) then (Câu lệnh);
B. Var i,n: Integer;
C. While (điều kiện) do (câu lệnh);
D. For (Biến đếm):=(Giá trị đầu) downto (Giá trị cuối) do (câu lệnh);

Câu 2: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 3: Đâu là hoạt động lặp với số lần chưa biết trước?

A. Hàng ngày em đi học.
B. Một tuần trường em tổ chức chào cờ 1 lần.
C. Ngày em đánh răng ba lần
D. Em sẽ đến nhà bà ngoại chơi vào hôm cả bố và mẹ đi vắng.

Câu 4:Câu lệnh pascal nào sau đây là hợp lệ?

A. For i=1 to 10 do writeln(‘A’)
B. For i : = 1 to 10 do writeln(‘A’);
C. For i:=5 to 30 do; writeln(‘A’)
D. For i:= 10 to 1 do writeln(‘A’);

Câu 5:Trong các câu lệnh lặp Pascal sau đây, câu nào đúng

A. While i= 1 do T:=10;
B. While (n mod i <> 0) ; do i:= i+ 1 ;
C. While 1 = 1; do Writeln (‘Dung’);
D. While x<=y do; Writeln (‘y khong nho hon x’);

Câu 6: Sau khi thực hiện đoạn chương trình sau, giá trị của biến a bằng bao nhiêu? a:=0 ; for i:= 1 to 3 do a:= a+i;

A. 3
B. 4
C. 6
D. 2

Câu 7: Trong câu lệnh lặp for i:=1 to 10 do begin…end; câu lệnh ghép đượ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. 10 lần
D. 2 lần

Câu 8: Trong ngôn ngữ Pascal, đoạn chương trình sau thực hiện bao nhiêu vòng lặp?

S:=2; n:=0; While s<=10 do Begin n:=n+1; s:= s+ n end;

A. 3 lần
B. 4 lần
C. 5 lần
D. 6 lần

B. Tự luận (8 điểm)

Câu 1 (2đ):Em cho biết cú pháp câu lệnh lặp For…do và hoạt động của câu lệnh lặp

Câu 2: (3đ)Em hãy sắp xếp chương trình tính tổng N số tự nhiên sau cho phù hợp?

Var N, i: integer;

Write(‘Nhap so N=’); s:=0;

S: Longint; readln(n);

For i:=1 to n do

Begin

Program tinh_tong;

S:=s+i;

Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s);

End.

Readln

Câu 3:(3đ)Em hãy cho biết thuật toán máy tính sẽ thực hiện bao nhiêu vòng lặp? Kết thúc giá trị của S bằng bao nhiêu? Viết chương trình bằng Pascal để mô tả thuật toán đó.

B1: S ! 20, n! 1;

B2: Nếu S ≥ 5, chuyển B4.

B3: n ! N + 1, S ! S – n và quay lại B2.

B4: Thông báo S và kết thúc thuật toán.

Đáp án đề thi giữa kì 2 Tin học 8

I. Trắc nghiệm khách quan (2 điểm)

Câu 1 2 3 4 5 6 7 8
Đáp án C A D B A C C B
Điểm 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25

2. Tự luận (8 điểm)

Câu hỏi Đáp án Điểm
Câu 1 – Cú pháp:

For <biến đếm>:=<Giá trị đầu> To <Giá trị cuối> Do <Câu lệnh>;

– Hoạt động:

B1: Biến đếm được gán bằng giá trị đầu.

B2: Nếu biến đếm <= giá trị cuối thì thực hiện câu lệnh sau đó tăng biến đếm lên một đơn vị và thực hiện tiếp. Nếu biến đếm > GTC thì thoát khỏi vòng lặp FOR.

1

1

Câu 2 Sắp xếp chương trình tính tổng

Program tinh_tong;

Var N, i: integer;

S: Longint;

Begin

Write(‘Nhap so N=’); readln(n);

s:=0;

For i:=1 to n do S:=s+i;

Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s);

Readln

End.

0,5

0,5

1

1

Câu 3 – Số vòng lặp là 5, giá trị của S = 0;

– Chương trình mẫu

Program bai3;

Var s,n:integer;

Begin

S:=20; n:=1;

While s < 5 Do

Begin

N:=n +1; S:= S – n;

End;

Writeln(‘Gia tri cua s la’,s);

Readln;

End.

0,5

0,25

0,25

1,5

0,5

…………….

Mời các bạn tải file tài liệu để xem thêm nội dung chi tiết

Nguyễn Thị Hương Thủy

Cô giáo Nguyễn Thị Hương Thủy tốt nghiệp trường Đại học Sư phạm Hà Nội và hiện đang tham gia giảng dạy môn Ngữ Văn tại trường THPT Chu Văn An. Cô có 20 năm kinh nghiệm giảng dạy, dẫn dắt nhiều thế hệ học sinh đạt những thành tích cao và đặt chân vào các trường đại học danh tiếng. Cô gặt hái được rất nhiều thành công trong sự nghiệp: giải Nhì trong cuộc thi giáo viên giỏi do thành phố Hà Nội tổ chức, tham gia giảng dạy đội tuyển Học sinh giỏi Quốc gia.
Back to top button