logo

Đề thi học kì 2 Tin học 8 có đáp án - Đề 11


Đề thi học kì 2 Tin học 8 có đáp án - Đề 11


ĐỀ BÀI

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: Phần mềm giúp em học vẽ hình học là?

A. Sun Times

B. Yenka                    

C. Finger Break Out  

D. Geogebra

Câu 7: Khai báo biến mảng nào đúng:

A. Var Y: Array[6..20] of Integer;

B. Var Y: Array[10.5..25.5] of Real;

C. Var Y: Array[10,50] of Integer;

D. Var Y: Array[30..15] of Real;

Câu 8: Để vẽ đường trung trực của đoạn thẳng em phải dùng công cụ nào sau đây?

Đề thi học kì 2 Tin học 8 có đáp án - Đề 11 | 68 đề thi Học kì 2 Tin học 8 hay nhất

Câu 9: Để nhập một giá trị vào phần tử a[3] của mảng a  thì ta viết là:

A. Readln(a)

B. Readln(a[3])

C. Readln(a[i])           

D. Readln(a(3))

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;

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

Câu 1: Viết chương trình cho người dùng nhập số nguyên N. Em hãy vẽ 1 tam giác vuông  như hình bên dưới, với N là số * trên mỗi cạnh của tam giác?

VD: khi người dùng nhập N=5,  ta có tam giác được vẽ trên màn hình như sau:

            *

            *          *

            *          *          *         

            *          *          *          *         

            *          *          *          *          *

Câu 2: Cho 1 đoạn chương trình pascal như bên dưới em hay thực hiện chạy từng bước để miêu tả sự thay đổi của các biến sau mỗi vòng lặp?

N:=25;

i:=-25;

T:=0;

While i<=N do

Begin

            If i Mod 10 = 0 then

                        T:=T+i;

            i:=i+5;

End.

Vd:

Hết vòng lặp 1: i = -25 ; T = -25 ; N = 25

Hết vòng lặp 2: i = -20 ; T = -20 ; N = 25

Hết vòng lặp 3: i = -15 ; T = -15 ; N = 25

….


ĐÁP Án

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

D

A

C

B

A

A

A

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

Câu 1:

Program Tam_Giac_Vuong;

Uses CRT;

Var i,j,n:integer;

Begin

            Write('Ban hay nhap do dai cua canh: ');

Read(n);

            For i:=1 to n do

            Begin

                        Writeln();

                        For j:=1 to n do

                        Begin

                                    If j <=i then    Write('* ')

                                    Else write('  ');

                        End;

            End;

End.

Câu 2:

Hết vòng lặp 1: i = -20 ; T = 0 ; N = 25

Hết vòng lặp 2: i = -15 ; T = -20 ; N = 25

Hết vòng lặp 3: i = -10 ; T = -20 ; N = 25

Hết vòng lặp 4: i = -5 ; T = -30 ; N = 25

Hết vòng lặp 5: i = 0 ; T = -30 ; N = 25

Hết vòng lặp 6: i = 5 ; T = -30 ; N = 25

Hết vòng lặp 7: i = 10 ; T = -30 ; N = 25

Hết vòng lặp 8: i = 15 ; T = -20 ; N = 25

Hết vòng lặp 9: i = 20 ; T = -20 ; N = 25

Hết vòng lặp 10: i = 25 ; T = 0 ; N = 25

Hết vòng lặp 11: i = 30 ; T = 0 ; N = 25

icon-date
Xuất bản : 04/02/2021 - Cập nhật : 05/02/2021