Bộ 4 Đề thi Giữa kì 2 Tin học lớp 8 năm 2022 - 2023 có ma trận có đáp án

Tải xuống 28 4.9 K 47

Tài liệu Bộ đề thi Tin học lớp 8 Giữa học kì 2 có đáp án năm học 2022 - 2023 gồm 4 đề thi tổng hợp từ đề thi môn Tin học lớp 8 của các trường THCS trên cả nước đã được biên soạn đáp án chi tiết giúp học sinh ôn luyện để đạt điểm cao trong bài thi Giữa học kì 2 Tin học lớp 8. Mời các bạn cùng đón xem:

 MA TRẬN:

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 có ma trận có đáp án (4 đề) - Đề 1

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

Đề thi Giữa kì 2

Năm học 2022 - 2023

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

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

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

(Đề số 1)

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 ĐỀ KIỂM TRA GIỮA KÌ II (Đề số 01)

Năm học 2022 - 2023

MÔN: TIN HỌC 8 

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đ)

 

n

S

n= 4

     S=10

n=30

S=465

n=50

S=1275

n=100

S=5050 

0,5

0,5

 

0,5

0,5

 

------------------------------

Đề thi Giữa kì 2 Tin học lớp 8 năm 2022 có ma trận có đáp án (4 đề) - Đề 2

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

Đề thi Giữa kì 2

Năm học 2022 - 2023

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

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

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

(Đề số 2)

I.TRẮC NGHIỆM

Cho đoạn chương trình trả lời câu 1, 2 dưới đây:

            i:=0;

            T:=5;

 While  T<20 do

 Begin

           i:=i+1;

           T=T*i;

   End;

Câu 1: Đoạn lệnh trên chương trình thực hiện số vòng lặp là:

A. 4                   B. 3   

C. 5                   D. 1     

Câu 2: Ý nghĩa câu lệnh lặp trong đoạn chương trình trên là:

A. Tính tích đến khi nào T>=20 thì dừng vòng lặp

B. Tính tích đến khi nào T>20 thì dừng vòng lặp

C. Tính tích đến khi nào T=20 thì dừng vòng lặp

D. Tính tích đến khi nào T=<20 thì dừng vòng lặp

Câu 3: Đoạn chương trình 

        Write(‘ Nhap vao n:’); Readln(n);  

         S:=0; 

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

Hãy cho biết kết quả của S của đoạn lệnh sau với n=6:

A. 21                   B.42 

C. 6                      D. 0

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 Pascal 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=2+4+6...+n; em chọn đoạn lệnh:

 A. for i:=1 to n do

        if ( i mod 2)=0 then S:=S + 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 – i
Else S:= S + i; 

 D. for i:=1 to n do

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

Else S:=S-i;

 

Câu 13: Đâu là hoạt động lặp với số lần chưa biết trước?

A. Hàng ngày em ăn cơm 2 lần.                                         

B. Một tuần trường em tổ chức chào cờ 1 lần.

C. Ngày em đánh răng 3 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 14: 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 15: 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 xdo; Writeln (‘y nho hon x’);

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

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

Câu 17 (3.0đ): Trong lập trình cấu trúc lặp dựng để làm gì? Nêu cú pháp và hoạt động câu lệnh lặp While... do... trong ngôn ngữ lập trình Pascal ? 

Câu 18 (1.0đ): Đố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? 

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

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

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

Giá trị của j, k sau khi thực hiện đoạn chương trình là?

Câu 19 (2.0đ): Cho số   với 0≤ a,b,c ≤ 9 và thỏa mãn 3a+4b+3c=10. Hãy hoàn thành chương trình sau để tìm ra số  ( 2 điểm ):

Program Timabc;

Var     a, b, c : integer;

Begin

            Writeln(‘cac so abc la:’);

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

            For b:=0 to 9 do

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

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

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

          Readln;

      End.

ĐÁP ÁN ĐỀ KIỂM TRA GIỮA KỲ II (Đề số 02)

Năm học 2022 - 2023

MÔN: TIN HỌC 8 

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

B

A

B

C

A

B

D

D

A

A

A

A

D

B

A

C

B. TỰ LUẬN (6 điểm)

Câu

Đáp án

Điểm

17

(3đ)

- Trong lập trình, cấu trúc lặp dùng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thỏa mãn.                             

- Cú pháp câu lệnh lặp While... do...là :

    While <điều kiện> do <Câu lệnh>;                    

- Cách thực hiện lệnh của Câu lệnh lặp While... do... :

   Bước 1: Kiểm tra <điều kiện>.                                          

Bước 2: Nếu <điều kiện> sai, <Câu lệnh> sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu <điều kiện> đúng, máy sẽ thực hiện <Câu lệnh> và quay lại bước 1. 

 

1.0

 

0.5

 

0,5

 

1

18

(1đ)

j=3,     k=6

(Mỗi ý đúng 0.5 đ)

1

19

(2đ)

Program Timabc;

        Var       a, b, c : integer;

Begin

     Writeln(‘cac so abc la:’);

     For a:=0 to 9 do

     For b:=0 to 9 do

            For c:=0 to 9 do

            If 3*a+4*b+3*c=10 then

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

           Readln;

        End.

 

0,5

 

0,5

 

0,5

 

0,5

------------------------------

 

Đề thi Giữa kì 2 Tin học lớp 8 năm 2022 có ma trận có đáp án (4 đề) - Đề 3

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

Đề thi Giữa kì 2

Năm học 2022 - 2023

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

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

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

(Đề số 3)

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

Câu 9: 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 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: Câu lệnh sau giải bài toán nào:

While M <> N do

If M > N then M:=M-N else N:=N-M;

A. Tìm UCLN của M và N

B. Tìm BCNN của M và N

C. Tìm hiệu nhỏ nhất của M và N

D. Tìm hiệu lớn nhất của M và N

Câu 14: Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?

A. Ngày tắm hai lần           

B. Học bài cho tới khi thuộc bài

C. Mỗi tuần đi nhà sách một lần     

D. Ngày đánh răng 2 lần

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

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

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

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

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

Câu 16: Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:

A. While S>=108 do     

B. While S < 108 do

C. While S < 1.0E8 do     

D. While S >= E8 do

B. TỰ LUẬN (6 điểm)

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

a) Thuật toán 1

Bước 1. S ← 10, x ← 0.5

Bước 2. Nếu S ≤ 5.2, chuyển tới bước 4.

Bước 3. S ← S - x và quay lại bước 2.

Bước 4. Thông báo S và kết thúc thuật toán.

b) Thuật toán 2

Bước 1. S ←10, n ← 0.

Bước 2. Nếu S ≥ 10, chuyển tới bước 4.

Bước 3. n ← n+3, S ← S-n và quay lại bước 2.

Bước 4. Thông báo S và kết thúc thuật toán.

Câu 18: ( 1 điểm) Chương trình Pascal sau đây thực hiện hoạt động nào?

var          i: integer;

               begin 

                               for i:=1 to 1000 do;

               end.

Câu 19: ( 2 điểm) 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

ĐÁP ÁN ĐỀ KIỂM TRA GIỮA KÌ II (Đề số 03)

Năm học 2022 - 2023

MÔN: TIN HỌC 8 

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

C

A

D

B

A

C

C

B

A

B

C

A

A

B

D

C

 

B. TỰ LUẬN (6 điểm)

Câu

Đáp án

Điểm

17

(3đ)

a) Thuật toán 1:

- Kết quả thuật toán có 10 vòng lặp, giá trị S=5.

- Chương trình Pascal:

Đề thi Giữa kì 2 Tin học lớp 8 năm 2022 có ma trận có đáp án (4 đề)
 

b) Thuật toán 2:

- Kết quả thuật toán có 0 vòng lặp do điều kiện vòng lặp không thỏa mãn, giá trị S=10.

- Chương trình Pascal: 

Đề thi Giữa kì 2 Tin học lớp 8 năm 2022 có ma trận có đáp án (4 đề)
 

 

 

0,5

 

 

 

1

 

 

 

0,5

 

 

 

 

1

18

(1.0đ)

Chương trình chạy biến i từ 1 đến 1000 rồi không làm gì cả.

1.0

19

(2đ)

- 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

 

0,5

 

0,5

(Học sinh làm theo cách khác, nếu đúng vẫn cho điểm tối )

------------------------------

 

Đề thi Giữa kì 2 Tin học lớp 8 năm 2022 có ma trận có đáp án (4 đề) - Đề 4

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

Đề thi Giữa kì 2

Năm học 2022 - 2023

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

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

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

(Đề số 4)

A. TRẮC NGHIỆM KHÁCH QUAN: (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. 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: Câu lệnh For..to..do kết thúc :

A. Khi biến đếm nhỏ hơn giá trị cuối       

B. Khi biến đếm lớn hơn giá trị cuối

C. Khi biến đếm nhỏ hơn giá trị đầu         

D. Khi biến đếm lớn hơn giá trị đầu

Câu 5: Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng :

A. for i:=1 to 10; do x:=x+1;         

B. for i:=1 to 10 do x:=x+1;

C. for i:=10 to 1 do x:=x+1;                       

D. for i =10 to 1 do x:=x+1;

Câu 6: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:

A. Cùng kiểu với giá trị đầu và giá trị cuối

B. Chỉ cần khác kiểu với giá trị đầu

C. Cùng kiểu với các biến trong câu lệnh

D. Không cần phải xác định kiểu dữ liệu

Câu 7: Đoạn chương trình sau giải bài toán nào?

For I:=1 to M do

If (I mod 3 = 0) and (I mod 5 = 0) then

T := T + I;

A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M

B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M

C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M

D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M

Câu 8: Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 1 đến 100

A. 1                 B. 100

C. 99                  D. Tất cả đều sai

Câu 9:  Bạn Mai 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: Câu lệnh sau giải bài toán nào:

While M <> N do

If M > N then M:=M-N else N:=N-M;

A. Tìm UCLN của M và N

B. Tìm BCNN của M và N

C. Tìm hiệu nhỏ nhất của M và N

D. Tìm hiệu lớn nhất của M và N

Câu 14: Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?

A. Ngày tắm hai lần     

B. Học bài cho tới khi thuộc bài

C. Mỗi tuần đi nhà sách một lần 

D. Ngày đánh răng 2 lần

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

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

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

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

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

Câu 16: Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:

A. While S>=108 do   

B. While S < 108 do

C. While S < 1.0E8 do   

D. While S >= E8 do

B. TỰ LUẬN (6 điểm)

Câu 17 ( 3.0 điểm): 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 18 (1.0 điểm): Chương trình Pascal sau đây thực hiện hoạt động nào?

var          i,s: integer;

               begin 

                               s:=0;

                               for i:=1 to 1000 do

                         s:=s+i;

               end.

Câu 19 (2.0 điểm):  Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước.

ĐÁP ÁN ĐỀ KIỂM TRA GIỮA KỲ II (Đề số 04)

Năm học 2022 - 2023

MÔN: TIN HỌC 8 

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

D

C

C

B

B

A

B

B

B

B

C

D

A

B

D

C

 

B. TỰ LUẬN (6 điểm)

Câu

Đáp án

Điểm

 

17

(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

 

0,5

 

0,5

 

0,5

0,5

 

18

(1đ)

  • Ban đầu gán S=0 và cho chương trình chạy biến i từ 1 đến 1000 rồi. 
  • Mỗi lần chạy kết quả được cộng dồn vào biến S.

0.5

0.5

 

19

(2đ)

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

- Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần đã được xác định từ trước.

- Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên

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

- Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa biết trước.

- Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác.

 

0,5

 

0,5

 

0,5

0,5

 

18

(1.0đ)

Chương trình chạy biến i từ 1 đến 1000 rồi không làm gì cả.

1.0

19

(2đ)

- 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

 

0,5

 

0,5

           

(Học sinh làm theo cách khác, nếu đúng vẫn cho điểm tối đa)

Tài liệu có 28 trang. Để xem toàn bộ tài liệu, vui lòng tải xuống
Đánh giá

0

0 đánh giá

Tải xuống