Đề thi Học kì 2 Tin học 8 năm 2024 có ma trận có đáp án (3 đề)

Tuyển chọn Đề thi Học kì 2 Tin học 8 năm 2024 có ma trận có đáp án (3 đề) chọn lọc được các Giáo viên nhiều năm kinh nghiệm biên soạn và sưu tầm từ đề thi Tin học 8 của các trường THCS. Hi vọng bộ đề thi này sẽ giúp học sinh ôn tập và đạt kết quả cao trong các bài thi Học kì 2 môn Tin học 8.

MA TRẬN ĐỀ KIỂM TRA HỌC KÌ II

Năm học 2023 - 2024

Môn: Tin học 8

Mức độ


Nội dung

Nhận biết

Thông hiểu

Vận dụng

Tống số

TN

TL

TN

TL

VDT

VDC

TN

TL

TN

TL

Bài 7: 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.

Sử dụng được câu lệnh lặp với số lần biết trước phù hợp cho từng trường hợp cụ thể




Số câu

2


1



1



4

Số điểm

1,0


0,5



2



3,5

Bài 8: 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 phép toán chua lấy phần nguyên, chia lấy phần dư

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ể




Số câu

1


1



1



3

Số điểm

0,5


0,5



2



3

Bài 9: Làm việc với dãy số

Biết cú pháp và các thành phần có trong biến mảng

Hiểu hoạt động của các câu lệnh khi kết hợp với biến mảng



Thực hiện được 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.


Số câu

1


2





1

4

Số điểm

0,5


1





2

3,5

Tổng số câu

4

4

2

1

11

Tổng số điểm

2

2

4

2

10

Tỷ lệ

20%

20%

40%

20%

100%

Phòng Giáo dục và Đào tạo .....

Đề thi Học kì 2

Năm học 2023 - 2024

Bài thi môn: Tin học 8

Thời gian làm bài: 45 phút

(không kể thời gian phát đề)

(Đề số 1)

I. Phần trắc nghiệm: (4,0 điểm)

Khoanh tròn vào chữ cái trước câu trả lời đúng nhất trong các câu hỏi sau. Mỗi câu trả lời đúng tương ứng với (0,5đ)

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 10 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;

                           For i:= 1 to 5 do J:= j + i;

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?

A. 12                     B. 22                  C. 15               D. 42.

Câu 4. Trong Pascal, câu lệnh nào sau đây là đúng?

                A. S:=1;                                                       B. i:=0; S:=1;

      While S<10 do write(S);                                      while s<10 do S:=S+i; i:=i+1;  

C. n:=2;                                                                          D. Cả A và B.

            while n<5 do write(‘A’);                            

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?

A. 14                    B. 15                    C. 16                      D. 17 

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ị? 

A. 4                      B. 5                      C. 6                        D. 7

Câu 7. Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng:

A. Chỉ số đầu và chỉ số cuối là 2 số nguyên.           B. Chỉ số đầu  chỉ số cuối.

C. Kiểu dữ liệu có thể là integer hoặc real.              D. Cả ba ý trên.

Câu 8. Giả sử biến mảng A có 5 phần tử và giá trị của các phần tử lần lượt là 1, 4, 7, 2, 6. Khi thực hiện câu lệnh sau: tb:= 0; For i:= 1 to 5 do tb := tb + A[i]; Giá trị của biến tb là bao nhiêu?

A. 20                    B. 18                    C. 21                 D. 22

II. Phần tự luận: (6.0 điểm)

Câu 1. (2 điểm) Viết chương trình tính tổng 10 số tự nhiên đầu tiên.

Câu 2. (2 điểm) Viết chương trình tính tổng các số tự nhiên đầu tiên cho đến khi tổng đó bằng 100 thì dừng lại. 

Câu 3. (2 điểm) Viết chương trình tìm phần tử nhỏ nhất và lớn nhất của dãy n số nhập vào từ bàn phím.

ĐÁP ÁN KIỂM TRA HỌC KÌ II  

Năm học 2023 - 2024

Môn: Tin học 8

I. Phần trắc nghiệm: (4 điểm – mỗi câu đúng 0,5 điểm).

Câu

1

2

3

4

5

6

7

8

Đáp án

B

C

C

A

D

B

D

A


II. Phần tự luận: (6 điểm)

CÂU

ĐÁP ÁN

ĐIỂM

Câu 1

Program Tong;

Var s,i:integer;

begin

S:= 0;

For i:= 1 to 10 do s:=s+1;

Writeln (‘tong cua 10 so tu nhien dau tien la:’,s);

Readln

End.

0.5 điểm


0.5 điểm

0.5 điểm

0.5 điểm


Câu 2

Program Tinh_Tong;

Var s,n:integer;

Begin

S:=0; n:=1;

While (s<=100) do 

Begin

S:=s+n; n:=n+1;        

End;

Writen(‘tong cac so tu nhien dau tien:’,s);

Readln

End.

0.5 điểm


0.5 điểm


0.5 điểm


0.5 điểm


Câu 3

Program Pt_minmax;

Var n,i: integer;

S,ptmax, ptmin: real;

A: array [1..100] of real;

Begin

Write (‘nhap so phan tu cua day:’); readln(n);

Writeln (‘hay nhap’,n,’ phan tu cua day:’);

For i:=1 to n do      readln(a[i]);

Ptmax:=a[i]; ptmin:=a[i];

For i:=2 to n do

Begin

If a[i] > ptmax then      ptmax:=a[i];

If a[i] < ptmin then      ptmin:=a[i];

End;

Writeln (‘phan tu max cua day la: ‘,ptmax:0:2);

Writeln(‘phan tu min cua day la: ‘,ptmin:0:2);

Readln

End.


0.5 điểm




0.5 điểm


0.5 điểm




0.5 điểm


0.5 điểm


0.5 điểm


                                          Đề thi Học kì 2 Tin học 8 năm 2024 có ma trận có đáp án (3 đề)

Phòng Giáo dục và Đào tạo .....

Đề thi Học kì 2

Năm học 2023 - 2024

Bài thi môn: Tin học 8

Thời gian làm bài: 45 phút

(không kể thời gian phát đề)

(Đề số 2)

I. Phần trắc nghiệm: (4,0 điểm)

Khoanh tròn vào chữ cái trước câu trả lời đúng nhất trong các câu hỏi sau. Mỗi câu trả lời đúng tương ứng với (0,5đ)

Câu 1: Số lần lặp trong câu lệnh lặp với số lần biết trước được xác định 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 +1             D. Giá trị cuối + giá trị đầu -1

Câu 2: Trong ngôn ngữ lập trình Pascal, cấu trúc câu lệnh lặp nào sau đây đúng?

A. For i:=1 to 38 do writeln(‘A’);                 B. For i:=38 to 1 do writeln(‘A’);

C. For i:1 to 38 do writeln(‘A’);                   D. For i=1 to 38 do writeln(‘A’);

Câu 3: 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. Vòng lặp vô tận

C. Lặp 10 lần                                                   D. Thoát khỏi vòng lặp

Câu 4: 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ị?

A. 7                                              B. 6    

C. 5                                              D. 4

Câu 5: Trong cú pháp khai báo biến mảng, chỉ số đầu và chỉ số cuối là hai số

A. số nguyên                                 B. số thực                                         

C. kí tự                                           D. xâu kí tự

Câu 6: 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 7: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây không đúng?

A. Chỉ số đầu và chỉ số cuối là hai số nguyên;             

B. Chỉ số đầu  chỉ số cuối;         

C. Kiểu dữ liệu có thể là integer hoặc real;              

D. Dấu ba chấm (...) nằm giữa chỉ số đầu và chỉ số cuối

Câu 8: Cú pháp câu lệnh lặp nào sau đây là đúng?

A. For := down to do ;

B. For := to do ;

C. For := to do ;

D. For = to do ;

II. Phần tự luận: (6 điểm)

Câu 1 (3 điểm): viết chương trình nhập vào điểm của 50 học sinh rooid xuất ra màn hình điểm của từng học sinh.

Câu 2 (3 điểm): Viết cú pháp, vẽ sơ đồ và nêu hoạt động câu lệnh lặp với số lần chưa biết trước?

ĐÁP ÁN KIỂM TRA HỌC KÌ II (ĐỀ 2)

Năm học 2023 - 2024

Môn: Tin học 8

I. Phần trắc nghiệm: (4 điểm)

 Câu









Đáp án

C

A

A

C

A

D

D

B


II. Phần tự luận: (6 điểm)

Câu 1

Program Xuat_diem;

Var n, i: integer;

Diem: array[1..50] of real;

Begin

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 

 Writeln(‘Diem cua HS ‘,i, ‘ = ‘,diem[i]);

Readln;

End.

0.5 điểm


0.5 điểm

0.5 điểm



0.5 điểm

0.5 điểm



0.5 điểm


 Câu 2

  • Cú pháp lệnh lặp với số lần chưa biết trước: 

 While (điều kiện) Do (câu lệnh); 

Trong đó: 

+ Điều kiện: là phép so sánh

+ Câu lệnh : có thể là câu lệnh đơn hoặc câu lệnh ghép

  • Sơ đồ hoạt động câu lệnh:  

Đề thi Học kì 2 Tin học 8 năm 2024 có ma trận có đáp án (3 đề)

-  Hoạt động: 

+ B1. Kiểm tra điều kiện.

+ B2. Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện câu lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại B1


0.5 điểm



0.5 điểm

0.5 điểm


0.5 điểm



0.5 điểm


0.5 điểm


Phòng Giáo dục và Đào tạo .....

Đề thi Học kì 2

Năm học 2023 - 2024

Bài thi môn: Tin học 8

Thời gian làm bài: 45 phút

(không kể thời gian phát đề)

(Đề số 3)

I. Phần trắc nghiệm: (4,0 điểm)

Khoanh tròn vào chữ cái trước câu trả lời đúng nhất trong các câu hỏi sau. Mỗi câu trả lời đúng tương ứng với (0,5đ)

Câu 1: Trong các hoạt động dưới đây, đâu là hoạt động lặp với số lần chưa biết trước:

A. Mỗi buổi học đúng 5 tiết.

B. Mỗi ngày ăn cơm 3 buổi.

C. Mỗi ngày phải học bài cho đến khi thuộc.             

D. Rằm tháng Giêng là Tết Nguyên tiêu.

Câu 2: Giả sử biến mảng A có 5 phần tử và giá trị của các phần tử lần lượt là 1, 4, 7, 2, 6. Khi thực hiện  câu lệnh sau: tb:= 0; For i:= 1 to 5 do tb := tb + A[i]; Giá trị của biến tb là bao nhiêu?

A. 18                                              B. 22                                             

C. 21                                              D. 20

Câu 3: Hãy  cho biết kết quả của đoạn chương trình dưới đây:

a:=10;

white a>=10 do write(A);

A. Trên màn hình xuất hiện một chữ a;                 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ố 10;                 D. Chương trình bị lặp vô tận

Câu 4: 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 5: Câu lệnh lặp while…do nào dưới đây là đúng: 

A. While i <= 10 do S := S+1/i; 

C. While i :<= 10 do S := S+1/i;     

B. While i <> 1 do S = S+1/i;

D. While i := 10 do S = S+1/i;     

Câu 6: Các khai báo biến mảng sau khai báo biến mảng nào đúng:

A. Var x: array[1…100]  of  integer;

C. Var x: array[1.5..10.5]     of  integer; 

B. Var x: array[1..100]     of  integer;

D. Var x: array[1..100] integer ;    

Câu 7: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng:

A. Chỉ số đầu và chỉ số cuối là 2 số nguyên.

B. Chỉ số đầu nhỏ hơn chỉ số cuối.

C. Kiểu dữ liệu có thể là integer hoặc real.

D. Cả ba ý trên.

Câu 8: Cho đoạn chương trình sau:

S:=0;

For i:=1 to 5 do S:=S+i;

Sau khi thực hiện lệnh trên giá trị của biến S và i là:

A. S=10; i=5                          B. S=5; i= 10

C. S=15; i= 5                         D. S=15; i=10

II. Phần tự luận: (6 điểm)

Câu 1 (2,0 điểm) Cho đoạn chương trình:

Đoạn 1:

S: =0 ;  n:= 0;

While S < = 6 do   

 Begin 

      n:= n+1; 

      S:= S+ n ;

         End;

Đoạn 2:

S: =0 ;  n:= 0;

While n< = 6 do   

 Begin 

      n:= n+1; 

      S:= S+ n ;

         End;

Cho biết giá trị của biến S và n sau khi thực hiện các đoạn chương trình trên

Câu 2 (2,0 điểm) Em hãy viết câu lệnh lặp hiển thị lên màn hình 10 dòng chữ “HI”.

a. Em hãy viết câu lệnh lặp hiển thị lên màn hình 10 chữ “HI” cách nhau bởi dấu cách trên cùng 1 dòng.

Câu 3 (2,0 điểm)

a. Vẽ hình minh họa của mỗi nút lệnh có trong công cụ tạo mối liên hệ hình học trong chương trình Geogebra

b. Gọi đúng tên tương ứng của mỗi nút lệnh (ứng với hình minh họa) có trong chương trình Geogebra
     

                                                           

              ĐÁP ÁN KIỂM TRA HỌC KÌ II (ĐỀ 3)

Năm học 2023 - 2024

Môn: Tin học 8

I. Phần trắc nghiệm: (4,0 điểm)

Câu

1

2

3

4

5

6

7

8

Đ.án

C

D

D

B

A

B

D

C


II. Phần tự luận: (6 điểm)

1

Sau khi thực hiện đoạn chương trình trên, giá trị của các biến là:

Đoạn 1:

S= 10

n=4

Đoạn 2:

n=6

S=21



0.5

0.5


0.5

0.5

2

a.Lệnh in ra màn hình 10 dòng chữ “HI”

For i:=1 to 10 do Writeln(‘HI’);

b.Lệnh in ra màn hình 10 chữ “HI” cách nhau bởi dấu cách trên cùng 

1 dòng.

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


1,0


1,0


Câu 2:

Đề thi Học kì 2 Tin học 8 năm 2024 có ma trận có đáp án (3 đề)

- Minh họa đúng hình của mỗi nút lệnh có trong công cụ tạo mối liên hệ hình học trong chương trình Geogebra: 0,25 điểm x 4 nút lệnh= 1,0 điểm

- Nêu đúng tên gọi tương ứng của mỗi nút lệnh (ứng với hình minh họa) có trong  chương trình Geogebra:  0,25 điểm x 4 nút lệnh = 1,0 điểm




       2,0


                                                Đề thi Học kì 2 Tin học 8 năm 2024 có ma trận có đáp án (3 đề)

Phòng Giáo dục và Đào tạo .....

Đề thi Học kì 2

Năm học 2023 - 2024

Bài thi môn: Tin học 8

Thời gian làm bài: 45 phút

(không kể thời gian phát đề)

(Đề số 4)

I. Phần trắc nghiệm: (4,0 điểm)

Khoanh tròn vào chữ cái trước câu trả lời đúng nhất trong các câu hỏi sau. Mỗi câu trả lời đúng tương ứng với (0,5đ)

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

A. While <điều kiện> to ;

B. While <điều kiện> do ;

C. While <điều kiện> to do;

D. While <điều kiện>; do ;

Câu 2:Bạn Lan ăn sáng 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 3: 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 4: Cho câu lệnh Pascal sau: For i:=5 to 20 do writeln(‘Y’);

Số vòng lặp của câu lệnh này là bao nhiêu?

A. 14                                                                                      B. 17                             

C. 15                                                                                      D. 16 

Câu 5: Cho đoạn chương trình:                  

j:=0;
           For i:=0 to 5 do j:=j+2;

Sau khi thực hiện đoạn chương trình trên, thì giá trị của biến j bằng bao nhiêu:

A. 12                                                                                     B. 20                             

C. 15                                                                                    D. 18 

Câu 6: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây sai:

A. Chỉ số đầu và chỉ số cuối là hai số nguyên   

B. Chỉ số đầu  chỉ số cuối

C. Kiểu dữ liệu có thể là integer hoặc real        

D. Chỉ số cuối phải nhỏ hơn hoặc bằng 100

Câu 7:Nhặt thóc ra khỏi gạo đến khi trong gạo không còn thóc:

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

B. Lặp vô số lần              

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

D. Lặp 10 lần           

Câu 8: Kết quả của phép so sánh: 

A. Có thể có giá trị đúng hoặc giá trị sai   

B. Chỉ có giá trị đúng       

C. Đồng thời nhận giá trị đúng và giá trị sai             

D. Chỉ có giá trị sai

II. Phần tự luận: (6 điểm)

Câu 1 (3,0 điểm): Chương trình sau. Hãy tìm những lỗi sai và sửa lại cho đúng.

Program H     C_N;

Uses Crt;

Var a,b,s,cv:= real;

          Begin 

While('Nhap chieu dai='); readln(a); 

Write('Nhap chieu rong=');readln(); 

s=axb; 

cv:(a+b):2;

Writeln('Dien tich hinh chu nhat la:’,s:6:2);

Writeln('Chu vi hinh chu nhat:',cv:6:2); 

Readln; 

End.

Câu 2: (2,0 điểm): Cho chương trình sau (bằng Turbo Pascal):

Begin

      Write(‘Tong cac so chan nho hon 100 la:’,t );

     While i<100 do

        Begin

          If i mod 2 =0 then

            t:=t + i;

            i:=i+1;

        end;  

      Uses crt;

   Var i, t:integer;

    i:=1; t:=0;

 Clrscr;  

 Readln;

End.

a/ Chương trình trên bị sai về vị trí các dòng , , , , , hãy sắp xếp lại vị trí của các dòng này để được chương trình đúng 

b/ Hãy cho biết công dụng của chương trình trên 

Câu 3 (1,0 điểm): Đối với từng đoạn chương trình Pascal sau đây, hãy cho biết có bao nhiêu vòng lặp và lệnh writeln (s) in ra màn hình giá trị của là bao nhiêu? 

S:=20;  n:=0;

                  While  S > 5 do 

                              Begin

                                    n:=n+3;

                                    S:=S -n;

                             End;

                writeln(S);

ĐÁP ÁN KIỂM TRA HỌC KÌ II (ĐỀ 4)

Năm học 2023 - 2024

Môn: Tin học 8

I. Phần trắc nghiệm: (4,0 điểm)

Câu

1

2

3

4

5

6

7

8

Đáp án

B

B

D

D

A

D

C

A


II. Phần tự luận: (6 điểm)

Câu 1

Lỗi sai

Sửa lại

Program H     C_N;

Program H_C_N;

Var a,b,s,cv:= real;

Var a,b,s,cv:real;

While('Nhap chieu dai=');

Write('Nhap chieu dai=');

readln();

readln(b);

s=axb; 

S:=a*b; 

cv:(a+b):2;

cv:=(a+b)*2;


0,5

0,5

0,5

0,5

0,5

0,5

Câu 2

a, Chương trình được sắp xếp lại

Uses crt;

Var i, t:integer;

Begin   

Clrscr;  

     i:=1; t:=0;

      While i<100 do

        Begin

          If i mod 2 =0 then

           t:=t + i;

            i:=i+1;

        end; 

    Write(‘Tong cac so chan nho hon 100 la:’,t );

Readln;

End.

b/ Công dụng: Dùng để tính tổng các số chẵn có trong dãy số từ 1 đến 100 

0,25

0,25


0,25

0,25






0,5


0,5

Câu 3

Đoạn lệnh sau khi thực hiện 3 vòng lặp và s= 2 

1


Các loạt bài lớp 9 khác