YOMEDIA

Bộ 5 đề thi HK2 môn Tin học 8 năm 2021-2022 - Trường THCS Trần Hưng Đạo có đáp án

Tải về
 
NONE

HỌC247 xin chia sẻ tài liệu Bộ 5 đề thi HK2 môn Tin học 8 năm 2021-2022 - Trường THCS Trần Hưng Đạo có đáp án trong nội dung bài viết dưới đây. Thông qua nội dung tài liệu, các em sẽ hình dung được nội dung trọng tâm mà mình cần ôn lại. Mong rằng tài liệu sẽ giúp các em cần ôn tập kiến thức thật chắc để chuẩn bị thật tốt cho các kỳ thi sắp tới.

ADSENSE

TRƯỜNG THCS TRẦN HƯNG ĐẠO

ĐỀ THI HỌC KÌ 2 NĂM HỌC 2021 - 2022

MÔN TIN HỌC 8

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

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

1. ĐỀ SỐ 1

I. Phần trắc nghiệ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.

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:

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

Câu 2. 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. 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

I. Phần trắc nghiệ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: 

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.

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.

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.

2. ĐỀ SỐ 2

ĐỀ THI HK2 MÔN TIN HỌC 8 NĂM 2021-2022- TRƯỜNG THCS TRẦN HƯNG ĐẠO- ĐỀ 02

I. Phần trắc nghiệ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.

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: 

Câu 1: 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: 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

I. Phần trắc nghiệm:

1 2 3 4 5 6 7 8

C

A

A

C

A

D

D

B

II. Phần tự luận:

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.

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:  

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

3. ĐỀ SỐ 3

ĐỀ THI HK2 MÔN TIN HỌC 8 NĂM 2021-2022- TRƯỜNG THCS TRẦN HƯNG ĐẠO- ĐỀ 03

I. Phần trắc nghiệ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.

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: 

Câu 1. 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. 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.

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

I. Phần trắc nghiệ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: 

Câu 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

Câu 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’,’  ‘);

Câu 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

- 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

4. ĐỀ SỐ 4

ĐỀ THI HK2 MÔN TIN HỌC 8 NĂM 2021-2022- TRƯỜNG THCS TRẦN HƯNG ĐẠO- ĐỀ 04

I. Phần trắc nghiệ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.

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: 

Câu 1: 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: 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: Đố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

I. Phần trắc nghiệm:

1

2

3

4

5

6

7

8

B

B

D

D

A

D

C

A

II. Phần tự luận:

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;

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 

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

5. ĐỀ SỐ 5

ĐỀ THI HK2 MÔN TIN HỌC 8 NĂM 2021-2022- TRƯỜNG THCS TRẦN HƯNG ĐẠO- ĐỀ 05

I. Phần trắc nghiệm

Câu 1: Trong các cách khai báo biến mảng dưới đây, cách khai báo nào là đúng:

A. Var A: array[1..5.5] of integer;

B. Var A:array(1..100) of integer;

C. Var A: array[1.5..100] of integer;

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

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

tong:= 20;

While tong>= 10 do

tong:=tong - 1;

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

A. 19     B. 9     C. 21     D. 10

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

S:= 0;

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

A. 5     B. 10     C. 15     D. 20

Câu 4: 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. 17     C. 16     D. 50

Câu 5: 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 6: 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

Câu 7: Em hiểu câu lệnh lặp theo nghĩa nào dưới đây?

A. Một lệnh thay cho nhiều lệnh.

B. Các câu lệnh được viết lặp đi lặp lại nhiều lần.

C. Vì câu lệnh đã có tên là lệnh lặp.

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

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

n:=1;

While n<10 do

Begin

n:=n+1;

Writeln(‘ xin chao’);

end;

Khi thực hiện chương trình câu “ xin chao” được viết ra màn hình mấy lần?

A. 0     B.10     C. 9     D. Vòng lặp vô tận.

Câu 9: Cách viết câu lệnh lặp với số lần biết trước như sau:

A. For = to do ;

B. For : = to do ;

C. For := to do ;

D. For = to do

Câu 10: Cho đoạn chương trình: j := 0; k := 2;

For i := 1 to 5 do j := j + 2; k := k + j;

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

A. 12;     B. 22;     C. 32;     D. 42.

II. Phần tự luận

Viết chương trình sử dụng biến mảng để nhập từ bàn phím các phần tử của một dãy số nguyên. Độ dài của dãy cũng được nhập từ bàn phím.

In ra màn hình tổng các giá trị là số chẵn.

ĐÁP ÁN

I. Phần trắc nghiệm

Câu

1

2

3

4

5

6

7

8

9

10

Đáp án

D

B

A

D

B

A

B

C

C

A

II. Phần tự luận

Program Tong_Chan;

uses crt;

var i, n, Tong: integer;

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

Begin

clrscr;

writeln(‘Nhap do dai cua day so, N=’);

readln(n);

writeln(‘Nhap cac phan tu cua day so:’);

For i:=1 to n do

Begin

write(‘a[‘,i,’]=’);

readln(a[i]);

End;

Tong:=0;

For i:=1 to n do

if a[i] mod 2 = 0 then

Tong:= Tong+a[i];

writeln(‘Tong cac gia tri chan la:’,Tong);

readln

End.

 

Trên đây là toàn bộ nội dung Bộ 5 đề thi HK2 môn Tin học 8 năm 2021-2022 - Trường THCS Trần Hưng Đạo có đáp án. Để xem toàn bộ nội dung các em đăng nhập vào trang hoc247.net để tải tài liệu về máy tính.

Hy vọng tài liệu này sẽ giúp các em học sinh ôn tập tốt và đạt thành tích cao trong học tập.

Ngoài ra các em có thể tham khảo thêm một số tư liệu cùng chuyên mục sau:

Chúc các em học tốt!

 

AANETWORK
 

 

YOMEDIA
AANETWORK
OFF