Bộ đề thi Tin học 8 Học kì 2 năm học 2021 - 2022 là tài liệu hữu ích hệ thống câu hỏi trắc nghiệm và tự luận được thiết kế bám sát theo cấu trúc chương trình môn Tin Học lớp 8 giúp học sinh ôn tập đúng chủ đề và đạt được kết quả cao.

Đề thi Tin học 8 Học kì 2 - Đề số 1

Ma trận Đề thi Tin học 8 Học kì 2

Cấp độ

Chủ đề

Nhận biết

Thông hiểu

Vận dụng

Tổng

Thấp

Cao

TN

TL

TN

TL

TN

TL

TN

TL

1. Câu lệnh lặp

- Biết được số lần lặp của câu lênh For...do được tính như thế nào?

ngôn ngữ dành cho máy tính

- Biết tính kết quả của vòng lặp trong câu lệnh lặp

- Biết sử dụng cặp từ khóa nào trong câu lênh lặp for…do

- Viết được chương trình đơn giản, sử dụng câu lệnh lặp For …do

Số câu

2 (1, 8)

2 (12, 6)

1 (2)

5

Số điểm

1.0

1.0

2.0

4.0

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

- Nắm được hoạt động lặp của câu lênh White…do

- Nắm được đâu là hoạt động lặp với số lần chưa biết trước

- Hiểu được vòng lặp White…do

Số câu

2 (3, 9)

1 (11)

3

Số điểm

1.0

0.5

1.5

3. Làm việc với dãy số

- Nêu được cú pháp và cho được ví dụ trong trong khai báo biến mảng

- Biết sử dụng vòng lặp trong khai báo biến mảng

- Biết được cách khai báo biến mảng

- Nắm được câu lệnh khai báo biến mảng

- Biết sử dụng vòng lặp trong biến mảng.

Số câu

1 (1)

4 (2,7,4, 5)

1 (10)

6

Số điểm

2.0

2.0

0.5

4.5

Tổng số câu

5

6

1

2

14

Tổng số điểm

4.0

3.0

2.0

1.0

10.0

Đề thi Tin học 8 Học kì 2

I/ TRẮC NGHIỆM: ( 6.0 điểm)

Em hãy chọn một câu trả lời đúng nhất ghi vào phần bài làm, mổi câu chọn đúng được 0.5 điểm.

Câu 1: Số lần lặp của câu lệnh lặp for…to…do… được tính như thế nào?

A. Giá trị đầu – giá trị cuối

B. Giá trị đầu – giá trị cuối + 1

C. Giá trị cuối – giá trị đầu

D. Giá trị cuối – giá trị đầu + 1

Câu 2: Giả sử biến Chiều cao gồm 20 phần tử, cách khai báo nào dưới đây là đúng

A. Var Chieucao: array[1..20] of real;

B. Var Chieucao: array[1..20] of integer;

C. Var Chieucao: array[1..20] of string;

D. Var Chieucao: array[1…20] of char;

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 <biến đếm>:= <giá trị cuôí> down to <giá trị đầu> do <câu lệnh>;

B. For <biến đếm>:= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>;

C. For <biến đếm>:= <giá trị đầu> to <câu lệnh> do <giá trị cuối>;

D. For <biến đếm>= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>;

Câu 9: 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 10: 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 11: 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 12: 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

II/ TỰ LUẬN: (4.0 điểm)

Câu 1: (2.0 điểm): Hãy nêu cú pháp khai báo biến mảng trong pascal?

a/ Giải thích cú pháp khai báo biến mảng trong Pascal?

b/ Cho ví dụ về khai báo biến mảng.

Câu 2: (2.0 điểm): Viết chương trình tính tổng từ 1 đến 50 .

Đáp án Đề thi Tin học 8 Học kì 2

I/ TRẮC NGHIỆM: (6.0đ)

Câu

1

2

3

4

5

6

7

8

9

10

11

12

Đáp án

D

A

A

C

A

D

D

B

C

D

D

B

II/ TỰ LUẬN : (4.0đ)

Câu

Ý

Đáp án

Điểm

Câu 1 Câu 1 : (2.0 điểm) : Hãy nêu cú pháp khai báo biến mảng trong pascal?

a/ Giải thích cú pháp khai báo biến mảng trong Pascal?

b/ Cho ví dụ về khai báo biến mảng.

Câu 2 : (2.0 điểm): Viết chương trình tính tổng từ 1đến 50 .

Var<tên biến mảng>:Array[<chỉ số đầu>..<chỉ số cuối>]of<kiểu dữ liệu>;

1.0đ

a

Chỉ số đầu và chỉ số cuối là hai số nguyên thỏa mản chỉ số đầu <= chỉ số cuối và kiểu dữ liệu có thể là số nguyên (integer) hay số thực (real).

0.5đ

b

Var thunhap: array[1..50] of real;

0.5đ

Câu 3 : (2.0 điểm) : Viết chương trình tính tổng từ 1 đến 50 .

program Tinh_tong;

uses crt;

var i:integer;

T:longint;

0.5đ

begin

Tổng:=0;

writeln('Đây là chương trình tính tổng từ 1 đến 50');

For i:= 1 to 50 do T:=T+i;

write('Tổng=',T);

end.

1.5đ

Đề thi Tin học 8 Học kì 2 - Đề số 2

I. PHẦN TRẮC NGHIỆM (5 điể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 <biến đếm> = <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

B. For <biến đếm>: = <gía 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ị cuối> to <giá trị đầu> do <câu lệnh>

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 (5 điểm)

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 (5 điể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 (5 điểm)

Nội dung trả lời Điểm

Program Tong_Chan;

uses crt;

var i, n, Tong: integer;

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

0.5

0.5

Begin

clrscr;

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

readln(n);

0.5

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

For i:=1 to n do

0.5

Begin

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

readln(a[i]);

End;

0.5

Tong:=0;

For i:=1 to n do

if a[i] mod 2 = 0 then

Tong:= Tong+a[i];

0.5

0.5

0.5

0.5

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

readln

End.

0.5

Đề thi Tin học 8 Học kì 2 - Đề số 3

I. TRẮC NGHIỆM: (4,0 điểm) Khoanh tròn chữ cái trước đáp án đúng.

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: j:=0; For i := 1 to 10 do j:= j + 2;

Khi kết thúc câu lệnh lặp trên, câu lệnh j:=j+2 được thực hiện bao nhiêu lần?

A. 10 lần

B. 5 lần

C. 2 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;While S<10 do write(S);

B. i:=0; S:=1;While s<10 do S:=S+i; i:=i+1;

C. n:=2; While n<5 do write(‘A’);

D. S:=10; While S>9 do write(S);

Câu 5. Phần mềm quan sát hình không gian là

A. finger Break out

B. turbo pascal

C. geogebra

D. yenka

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

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

A. Chỉ số đầu và chỉ số cuối là 2 số thực.

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

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

D. Chỉ số đầu cuối là số nguyê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: tong:= 0; For i:= 1 to 5 do tong := tong + A[i]; Giá trị của biến tong là bao nhiêu?

A. 4

B. 18

C. 20

D. 22

II. TỰ LUẬN: (6,0 điểm)

Câu 1. (2 điểm) Viết cú pháp câu lệnh lặp với số lần chưa biết trước. Nêu hoạt động của câu lệnh.

Câu 2. (4 điểm) Viết chương trình nhập điểm kiểm tra học kỳ môn tin học cho N học sinh và in kết quả ra màn hình. Với N và điểm kiểm tra của từng học sinh được nhập từ bàn phím (sử dụng biến mảng).

Đáp án:

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

C

A

C

B

D

B

A

C

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

CÂU

NỘI DUNG ĐÁP ÁN

ĐIỂM

1

(2 điểm)

- Cú pháp câu lệnh: while <điều kiện> do <câu lệnh>;

- Hoạt động: Khi thực hiện câu lệnh chương trình kiểm tra điều kiện. Nếu điều kiện đúng thực hiện câu lệnh sau từ khóa do và quay lại kiểm tra điều kiện. Nếu điều kiện sai bỏ qua câu lệnh sau từ khóa do và kết thúc.

1

1

2

(4 điểm)

Program diem;

Uses crt;

Var N, i: integer;

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

Begin

Clrscr;

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.

1

0,5

1

0,5

1

Lưu ý: Học sinh có thể có đáp án khác, nếu đúng vẫn đạt điểm tối đa.

Đề thi Tin học 8 Học kì 2 - Đề số 4

A. TRẮC NGHIỆM

PHẦN I. Em hãy khoanh tròn câu trả lời đúng nhất trong các câu hỏi sau:

Câu 1: Kết quả của điều kiện trong câu lệnh While … do có giá trị là

A. Số nguyên

B. Số thực.

C. Dãy kí tự.

D. Đúng hoặc sai

Câu 2: Trong các cánh khai báo biến mảng sau đây, cách khai báo nào là hợp lệ:

A. Var a: array[1,15] of integer;

B. Var a: array[1.5..10.5] of integer;

C. Var a: array[1..15] of integer;

D. Var a: array[1.5,10.5] of integer;

Câu 3: Các cách khai báo biến sau đây, cách khai báo nào là hợp lệ trong Turbo Pascal:

A. Var a= integer;

B. Var a: integer;

C. Var a: array;

D. Var : a: integer;

Câu 4: Cho câu lệnh Pascal sau: For i:=5 to 25 do writeln(‘Y’);

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

A. 21

B. 22

C. 23

D. 24

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 5 do write (i:3);

A. 1 2 3 4 5

B. 5 4 3 2 1

C. Đưa ra i:3

D. Không đưa ra kết quả gì

Câu 6: 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 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ới số lần chưa biết trước.

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

D. Lặp 10 lần.

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

A. Chỉ có giá trị sai.

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

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

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

PHẦN II. Chọn các từ, cụm từ: “Biến mảng, Dữ liệu kiểu mảng, không có thứ tự, giá trị của mảng, có thứ tự, kiểu mảng” để điền vào chỗ trống thích hợp trong các câu dưới đây:

a) (1)....................................................... là một tập hợp hữu hạn các phần tử (2)......................................., mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu của phần tử.

b) (3)......................................................... là biến có kiểu dữ liệu là (4)..........................................., các biến có cùng một kiểu và một tên duy nhất.

PHẦN III. Hãy điền đáp án vào cột C: Là kết quả ghép nối đúng giữa cột A với cột B, mỗi câu

A (Tên chương trình)

B (Công dụng thu gọn)

C (Kết quả)

1. Finger Break Out

2. Sun Times

3. Geogebra

4. Yenka

a) Quan sát hình không gian.

b) Tìm hiểu thời gian.

c) Luyện gõ phím nhanh.

d) Học vẽ hình.

e) Học lập trình

1+...........................

2+........................

3+........................

4+........................

B. TỰ LUẬN

Câu 1: (1,5 điểm) Em hãy xác định các câu lệnh sau đây đúng hay sai? Nếu sai hãy giải thích tại sao?

For i:=150 to 1 do writeln(‘A’);

For i:=1.5 to 30.5 do writeln(‘B’);

S:=0;n:=0; While S<=20 do begin n:=n+1;S:=S+n; end.

Var X: array[10..1] of integer;

Var X: array[1,5..20,5] of integer;

Var X: array[1..30] of integer;

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

a. Hãy nêu cú pháp của câu lệnh lặp với số lần biết trước. Nêu tác dụng của câu lệnh lặp.

b. Hãy nêu cú pháp và hoạt động của câu lệnh lặp với số lần chưa biết trước.

Câu 3: (1.5 điểm) Cho mảng A chứa các giá trị sau:

A

17

13

20

10

15

i

3

4

5

6

7

a. Xác định các giá trị của A[2], A[4], A[7], A[9] là bao nhiêu?

b. Cho các câu lệnh sau:

A[2]:= A[3] + A[5] A[9]:= A[6] + A[7]

Dựa vào bảng trên, hãy tính giá trị của các phần A[2], A[9].

Đáp án:

A. PHẦN TRẮC NGHIỆM: (4 điểm)

PHẦN I (2 điểm) Mỗi câu đúng 0,25 điểm

Câu

1

2

3

4

5

6

7

8

Đáp án

D

C

B

A

A

D

B

C

PHẦN II: ( 1 điểm)Điền mỗi từ hoặc cụm từ đúng được 0.25 điểm

(1) Dữ liệu kiểu mảng

(2) Có thứ tự

(3) Biến mảng

(4) Kiểu mảng

PHẦN III: (1 điểm) Ghép đúng mỗi ý được 0.25 điểm

1+c; 2+b; 3+d; 4+a

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

CÂU

ĐÁP ÁN

ĐIỂM

Câu 1

(1.5 điểm)

a) Sai. Vì giá trị đầu phải nhỏ hơn giá trị cuối.

b) Sai. Vì biến chạy i chỉ nhận các giá trị nguyên.

c) Đúng

d) Sai. Vì chỉ số đầu trong mảng phải nhỏ hơn chỉ số cuối.

e) Sai. Vì chỉ số đầu và chỉ số cuối của mảng không nhận giá trị số thực (mà chỉ nhận giá trị số nguyên).

f) Đúng

Mỗi câu đúng 0,25

Câu 2

(3.0 điểm)

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

For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh> ;

* Tác dụng của câu lệnh lặp:

- Tiết kiệm thời gian.

- Giảm nhẹ công sức khi viết chương trình.

b)* Cú pháp câu 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> ;

* Hoạt động:

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

B2: + Nếu điều kiện đúng thì câu lệnh sẽ được thực hiện

và quay lại bước 1.

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

0,5

0,5

0,5

0,25

0,25

0,5

0,5

Câu 3

(1.5 điểm)

a) A[2]: không xác định. A[7] = 15

A[4] = 13 A[9]: không xác định.

b)A[2]:= A[3] + A[5] = 17 + 20 = 37

A[9]:= A[6] + A[7] = 10 + 15 = 25

Mỗi câu đúng 0,25

0,25

0,25

Đề thi Tin học 8 Học kì 2 - Đề số 5

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: 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ác 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=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;

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

Câu 1: Đoạn chương trình (2đ)

i:=0;

T:=5;

While T<20 do

Begin

i:=i+1;

T=T*i;

End;

Cho biết với đoạn lệnh trên chương trình thực hiện bao nhiêu vòng lặp và ý nghĩa câu lệnh lặp bằng cách điền vào chỗ trống bên dưới:

Khởi tạo:…………………………………..

Số vòng lặp:……….

Ý nghĩa:…………..................

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

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

T<20?

i:=i+1;

T:=T*i;

…<20à Đ

………………………….

…< 20à….

………………………….

…< 20à…..

………………………….

Câu 2: Đoạn chương trình (2đ)

Write(‘ Nhap vao so cau hoi:’); Readln(n);

S:=0;

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

Em hãy chạy chương trình và kiểm tra kết quả với những bộ thử sau:

STT

Số câu hỏi

Tổng số bút cần mua

1

n= 8

S= 72

2

n=15

S=………. (1đ)

3

n=32

S=………. (1đ)

Đá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

B

D

D

A

A

A

A

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

Câu 1: Đoạn chương trình (2đ)

Khởi tạo:i:=0; S:=5;

Số vòng lặp:3

Ý nghĩa: Tính tích

Đến khi nào T>=20 thì dừng vòng lặp

T<20?

i:=i+1;

T:=S*i;

5<20à Đ

i=1, T= 5

5< 20àĐ

i=2, T= 10

10< 20àĐ

i=3, T= 30

30<20à S

Kết thúc vòng lặp

Câu 2: Đoạn chương trình (2đ)

STT

Số câu hỏi

Tổng số bút cần mua

1

n= 8

S= 72

2

n=15

S= 240 (1đ)

3

n=32

S= 1056 (1đ)

Đề thi học kì 2 lớp 8 Môn khác

Trên đây TimDapAnlà Bộ đề thi Tin học 8 Học kì 2 năm 2024. Để có kết quả cao hơn trong học tập, TimDapAnxin giới thiệu tới các bạn học sinh tài liệu Giải bài tập Toán 8, Giải bài tập Vật Lí 8, Giải bài tập Sinh học 8, Giải bài tập Hóa học 8, Tài liệu học tập lớp 8 mà TimDapAntổng hợp và đăng tải.

Nếu bạn không thấy đề thi được hiển thị. Vui lòng tải về để xem. Nếu thấy hay thì các bạn đừng quên chia sẻ cho bạn bè nhé!