logo

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


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


ĐỀ BÀI

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

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

 

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 2: (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đ

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