Bộ đề thi giữa học kì 2 môn Tin học lớp 8 năm 2023
Đề kiểm tra giữa học kì 2 lớp 8 môn Tin học năm 2022 - 2023
Bộ đề thi giữa học kì 2 môn Tin học lớp 8 năm 2023 được biên tập bám sát chương trình SGK Tin học 8. Đề kiểm tra giữa kì 2 lớp 8 có đáp án chi tiết đi kèm. Chúc các bạn ôn thi giữa học kì 2 tốt và có kết quả học tập cao.
Đề thi giữa kì 2 Tin học 8 năm 2022 - 2023 - Đề 1
Ma trận đề thi Tin học 8 giữa kì 1
Cấp độ 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 |
|||
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. - 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ệ % |
4 1 10% |
1 1 10% |
4 1 10% |
1 3 30% |
||||||
2. Lặp với số lần chưa biết trước |
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ệ % |
4 1 10% |
4 1 10% |
1 2 20% |
1 3 30% |
10 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% |
||||||
Đề thi Giữa kì 2 Tin học lớp 8 năm 2022
A. TRẮC NGHIỆM: (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: 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: 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. Hãy xác định đúng sai cho các phát biểu dưới đây:
Để 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;
A. Đúng
B. Sai
Câu 14: 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;
A. Đúng
B. Sai
Câu 15: 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à:
A. câu lệnh rẽ nhánh
B. Cả A, B đều đúng
C. Câu lệnh lặp
D. Cả A, B đều sai
Câu 16: Trong nhiều trường hợp, thời gian việc thực hiện câu lệnh lặp while...do như thế nào so với câu lệnh lặp for...do?
A. Tốn nhiều thời gian hơn
B. Tốn ít thời gian hơn
C. Tốn thời gian bằng nhau
D. Tất cả đều sai
B. TỰ LUẬN (6.0 điểm)
Câu 17 (3.0đ): 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 ! 0, n ! 2;
B2: Nếu S≥5, chuyển B4.
B3: S ! S + n và quay lại B2.
B4: Thông báo S và kết thúc thuật toán.
Câu 18 (1.0đ): Cho đoạn chương trình: j:= 2;
For i:= 1 to 4 do j:= j + 2;
Sau khi thực hiện đoạn chương trình trên, giá trị của biến j bằng bao nhiêu? Giải thích?
Câu 19: (2.0 đ) Cho chương trình
Program Tong;
Write(‘ Nhap n:’); Readln(n);
S:=0;
For i:=1 to n do S:=S+i;
Write(‘S=’,S);
Readln
End.
Em hãy chạy chương trình và kiểm tra kết quả với những bộ thử sau:
n |
S |
n= 4 |
S=…………… |
n=30 |
S=………. |
n=50 |
S=………. |
n=100 |
S=………. |
Đáp án đề thi Tin học 8 năm 2022 - 2023
A. TRẮC NGHIỆM: (4 điểm, mỗi câu được 0,25 điểm)
Câu |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
Đáp án |
A |
D |
A |
A |
C |
D |
C |
B |
A |
B |
C |
A |
A |
A |
C |
B |
B. TỰ LUẬN (6 điểm)
Câu |
Đáp án |
Điểm |
||||||||||
17 (3đ) |
- Số vòng lặp là 3, giá trị của S = 6; - Chương trình mẫu Program bai17; Var s,n:integer; Begin S:=0; n:=2; While s < 5 Do S:= S + n; Writeln(‘Gia tri cua s la’,s); Readln; End. |
0,5 0,5 0,5 0,5 0,5 0,5 |
||||||||||
18 (1đ) |
i:=1; 1<=4 đúng, thực hiện câu lệnh tức j:=2+2=4. i:=2; 2<=4 đúng, thực hiện câu lệnh tức j:=4+2=6. i:=3; 3<=4 đúng, thực hiện câu lệnh tức j:=6+2=8. i:=4; 4=4 (bằng giá trị cuối) đúng, thực hiện câu lệnh tức j:=8+2=10. Vậy sau khi thực hiện đoạn chương trình trên giá trị của biến j = 10. |
0,25 0,25 0,25 0,25 |
||||||||||
19 (2đ) |
|
0,5 0,5 0,5 0,5 |
Đề thi Tin học 8 giữa kì 2 số 2
Ma trận đề thi giữa học kì 2 lớp 8 môn Tin học
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% |
Đề thi giữa học kì 2 môn Tin học lớp 8
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 môn 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. |
Đề thi giữa học kì 2 lớp 8 môn Tin học - Đề 3
I. PHẦN TRẮC NGHIỆM (5 điểm)
Câu 1: Hoạt động nào sau đây lặp với số lần biết trước:
A. Hôm nay, em viết thư cho bạn Lan
B. Hôm nay, em ăn cơm sớm lúc 5 giờ
C. Em ăn cơm lúc 6 giờ chiều mỗi ngày
D. Chạy cho đến khi mệt
Câu 2: Trong câu lệnh lặp for…do, số vòng lặp là biết trước và bằng:
A. giá trị cuối – giá trị đầu + 1
B. giá trị cuối – giá trị đầu - 1
C. giá trị cuối – giá trị đầu
D. giá trị cuối – giá trị đầu
Câu 3: Chương trình Pascal sau đây thực hiện hoạt động nào?
var i: integer;
begin
for i =1 to 101 do;
end.
A. Chương trình chạy biến i từ 1 đến 101.
B. Chương trình chạy biến i từ 1 đến 100.
C. Chương trình chạy biến i từ 1 đến 101 rồi không làm gì cả.
D. Kết quả khác.
Câu 4: Cho S và i là biến nguyên. Khi chạy đoạn chương trình:
s:=0;
for i:=1 to 3 do s := s+2*i;
writeln(s);
Kết quả in lên màn hình là:
A. 12
B. 10
C. 0
D. 6
Câu 5: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
S := 0;
for i:= 1 to 5 do s := s+i;
Kết quả in lên màn hình là của s là :
A. 15
B. 16
C. 11
D. 22
Câu 6: Hãy đọc đoạn chương trình sau:
s:= 1;
for i:= 1 to 5 do s := s + 1;
Sau khi thực hiện xong, kết quả s bằng:
A. 10
B. 6
C. 7
D. 5
Câu 7: Sau khi thực hiện đoạn chương trình Pascal :
X:=3;
For i := 1 to 3 do x := x – 1;
X sẽ nhận được giá trị nào dưới đây?
A. 0;
B. 1 ;
C. -4 ;
D. – 1;
Câu 8: Điều kiện trong câu lệnh lặp với số lần chưa biết trước thường là :
A. phép gán
B. Câu lệnh đơn
C. Câu lệnh ghép
D. Phép so sánh
Câu 9: Sau khi thực hiện đoạn chương trình sau, giá trị của biến k bằng bao nhiêu?
k: = 0;
For i:= 1 to 3 do k:= k + 3;
A. 9
B. 8
C. 5
D. 2
Câu 10: Hãy đọc đoạn chương trình sau:
s:=1;
for i:= 1 to 5 do s:= s * i;
Sau khi thực hiện xong, kết quả s bằng:
A. 15
B. 0
C. Kết quả khác
D. 120
II. PHẦN TỰ LUẬN (5 điểm)
Viết chương trình tính tổng các số tự nhiên trong phạm vi từ 1 đến 20.
Thông báo kết quả ra màn hình?
Đáp án
I. PHẦN TRẮC NGHIỆM (5 điểm)
Câu |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Đáp án |
C |
A |
D |
A |
A |
B |
A |
D |
A |
D |
II. PHẦN TỰ LUẬN (5 điểm)
---------------------
Ngoài Bộ đề thi giữa học kì 2 môn Tin học lớp 8, mời các bạn học sinh tham khảo thêm các đề thi giữa học kì 2 lớp 8, đề thi học kì 2 lớp 8 các môn Văn 8, Anh lớp 8,... mà chúng tôi đã sưu tầm và chọn lọc. Với đề thi giữa học kì 2 lớp 8 này giúp các bạn rèn luyện thêm kỹ năng giải đề và làm bài tốt hơn. Chúc các bạn ôn thi tốt!