Tải bản đầy đủ (.pdf) (10 trang)

Đề thi học kì 2 môn Tin học lớp 8 năm 2020-2021 có đáp án - Trường THCS Nguyễn Hiền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (461.48 KB, 10 trang )

ĐỀ KIỂM TRA HỌC KỲ II
MÔN: TIN HỌC 8
NĂM HỌC: 2020 ­ 2021

I. Mục tiêu:
   1. Kiến thức:
­ Biết cú pháp và hiểu được hoạt động của câu lệnh lặp For .. do và While .. do
­ Biết được dữ liệu kiểu mảng, khai báo mảng, nhập, in và truy cập các phần tử của 
biến mảng.
­ Nhận biết được hoạt động lặp với số lần biết trước và chưa biết trước
­   Vận   dụng   kiến   thức   của   lệnh   lặp   For..do,   while..do   và   câu   lệnh   ghép   để   viết  
chương trình.
   2. Kỹ năng:
­ Rèn kỹ năng đọc và tìm hiểu ý nghĩa các câu lệnh trong chương trình
­ Viết được chương trình Pascal có sử dụng biến mảng để giải quyết bài tốn đơn 
giản
   3. Thái độ:
­ u thích mơn học;
­ Say mê học hỏi, tìm tịi và sáng tạo.
­ Nghiêm túc trong q trình làm bài
4. Định hướng phát triển năng lực cho HS:
Năng lực tự học, năng lực giải quyết vấn đề.
II. PHƯƠNG PHÁP VÀ KĨ THUẬT DẠY HỌC:
Trắc nghiệm.
Tự luận.
III. TƯ LIỆU VÀ PHƯƠNG TIỆN:
a. Giáo viên: Đề kiểm tra.
b. Học sinh: Ơn bài.
IV. TIẾN TRÌNH:
1.  Ổn định : Ổn định lớp học, kiểm tra sĩ số.
2.  Tổ chức kiểm tra: 


2.1. Kiểm tra:
Hoạt động của GV
Phát đề.
Quan sát HS.

II. Ma trận đề:

Hoạt động của HS
Kiểm tra trắc nghiệm và tự luận trên giấy: 45 
phút.


      Cấp 
độ

Chủ đề
Câu lệnh 
lặp với số 
lần biết 
trước
Số câu:
Số điểm:
Câu lệnh 
lặp với số 
lần chưa 
biết trước
Số câu:
Số điểm:
Làm việc 
với dãy số

Số câu:
Số điểm:
Tổng

Nhận biết
TN

Thông hiểu
TL

­   Biết   được   cách   sử 
dụng   kiểu   dữ   liệu   khi 
khai báo biến
­ Cú pháp của câu lệnh 
lặp For..do
2
1
               1.0             1.0
­   Nhận   biết   hoạt   động 
lặp với số lần chưa biết 
trước.
­ Cú pháp của câu lệnh 
lặp While..do
1
1
               0.5             1.0
­ Biết truy cập vào các 
phần tử của biến mảng
­ Cú pháp khai báo biến 
mảng

1
               0.5
Số câu: 4TN + 2TL
Số điểm: 4.0
Tỉ lệ: 40%

TN

TL

­ Hiểu hoạt động của 
câu lệnh For..do
­ Số lần thực hiện câu 
lệnh   trong   câu   lệnh 
lặp For..do
2
            1.0
­ Số lần thực hiện câu 
lệnh   trong   câu   lệnh 
lặp While..do.
­ Hiểu hoạt động của 
câu lệnh While…do
2
           1.0
­ Biết giá trị  của biến 
mảng
­ In phần tử  của biến 
mảng
2
            1.0

Số câu: 6TN
Số điểm: 3.0
Tỉ lệ: 30%

Vận dụng
Vận dụng thấp
Vận dụng cao
TN

TL

TN

Tổng

TL

5
                          3.0

4
                          2.5
­   Biết   sửa   lỗi   chương  ­   Viết   chương   trình 
trình.
Pascal.
­ Đọc hiểu chương trình
2
             2.0
Số câu: 2TL
Số điểm: 2.0

Tỉ lệ: 20%

1
6
          1.0                           4.5
Số câu: 1TL
Số câu: 10TN+5TL
Số điểm: 1.0
Số điểm: 10
Tỉ lệ: 10%
Tỉ lệ: 100%


TRƯỜNG THCS NGUYỄN HIỀN
Họ và tên:………………………………….
Lớp 8/……

KIỂM TRA CUỐI KỲ 2 NĂM HỌC 2020­2021
Mơn: TIN HỌC – Lớp 8
Thời gian: 45 phút (khơng kể thời gian giao đề)   

ĐỀ A 

I. Trắc nghiệm: (5.0đ)
Chọn câu trả lời đúng nhất và ghi vào phần bài làm
Câu 1. Trong ngơn ngữ lập trình Pascal, với câu lệnh  x:=5.5; For i:=1 to 6 do x:=x+i;  thì 
biến x và i được khai báo kiểu dữ liệu là
A. Var x, i: integer;
B. Var x,i: real; 
C. Var i: integer; x: real;

D. Var x: integer; i: real; 
Câu 2. Biết m:=10; n:=3. Trong các câu lệnh sau, câu lệnh nào khơng được thực hiện?
A. For i:=1 to n do <Câu lệnh>;                B. For i:=m to n do <Câu lệnh>;
C. For i:=5 to m do <Câu lệnh>;             
D. For i:=n to m do <Câu lệnh>;
Câu 3. Sau khi thực hiện đoạn chương trình sau: S:=10; For i:=1 to 4 do S:=S+i;
           Giá trị của biến S bằng bao nhiêu?
   
A. 20
B. 14
   
C. 10
D. Một giá trị khác
Câu 4. Hoạt động nào sau đây khơng phải là hoạt động lặp với số lần chưa biết trước? 
A. Nhập vào các số ngun cho đến khi số nhập vào bằng 0
B. Nhập vào các số ngun cho đến khi đủ 20 số              
C. Múc từng gáo nước đến khi đầy bể 
        
D. Nhặt từng cọng rau cho tới khi xong
Câu 5. 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. 6 lần
D. 5 lần
Câu 6. Điều kiện để dừng trong đoạn chương trình:  S:=10; While S<=20 do s:=s+2; là:
A. S=20 

B. S<>20 
C. S<20 
D. S>20
Câu 7. Để truy cập vào phần tử thứ n của mảng X, ta viết:
A. X(n)
   
B. X[n]
C. n[X]
   
D. Xn
Câu 8.  Cho khai báo mảng như sau: Var A : array[1..30] of  Real;
   Để in giá trị phần tử thứ 20 của mảng A ra màn hình, ta viết:
A. Readln(A[20]);
B. Write(A(20));
C. Write(A[20]);
D. Write(20);
Câu 9. Với câu lệnh For a:= 3 to 7 do writeln(a); Hãy cho biết câu lênh sau Do đ
̣
ược thực 
hiên mây l
̣
́ ầ n?
A. 3 lần
B. 5 lần
C. 7 lần
D. 2 lần
Câu 10. Cho mảng A có 5 phần tử với các số liệu như hình sau:
A

1

10

2
12

3
20

4
8

5
9


Hãy chỉ ra đâu là biểu diễn phần tử của mảng A và giá trị tương ứng 
A. A[3]=20
   
   B. A[2]=20
C. A[10]=1 
   D. A[9]=5  
II. Tự luận: (5.0đ)
Câu 11. (2.0đ) Giải thích vì sao các câu lệnh sau sai và sửa lại cho đúng? 
a/ a:=10; While a<=5 do a:=a­1
b/ x:=0; For i:=10.3 to 20 do x=x+2;
Câu 12. Cho đoan ch
̣
ương trinh sau:
̀
Var i, k, S: integer ;

       A: array[1..n] of  Integer ;
Begin
                    Write(‘Nhap so phan tu cua mang ’);  Readln(k);
For i:=1 to k do begin
Write(‘nhap phan tu thu’,i);
Readln(a[i]);
       End;
S:=0;
for i:=1 to k do S:=S+Ai;
Writeln(‘Tong bang ’ , S);
Readln
End.
a/ Hay chi ra lơi cua đo
̃
̉
̃ ̉
ạn chương trinh trên va s
̀
̀ ửa lai cho đung? (1.0đ)
̣
́
b/ Sau khi sửa lại đúng, giả  sử  khi chạy đoạn chương trình trên với k=4 và 4 phần  
tử đầu tiên của mảng A có giá trị lần lượt là 1; 4; 7; 2. Hãy cho biết giá trị của biến S sau  
khi thực hiện đoạn chương trình trên. (1.0đ)
Câu 13. Viết chương trình nhập một dãy số  gồm các số ngun và dãy số  đó chứa tối đa  
100 phần tử là số ngun. Sau đó hiển thị dãy số vừa nhập ra màn hình. (1.0đ)
….. Hết …..
Họ và tên thí sinh:……………………………………………SBD:………………... 
Chú ý: Giáo viên coi thi khơng giải thích gì thêm



TRƯỜNG THCS NGUYỄN HIỀN
Họ và tên:………………………………….
Lớp 8/……

KIỂM TRA CUỐI KỲ 2 NĂM HỌC 2020­2021
Mơn: TIN HỌC – Lớp 8
Thời gian: 45 phút (khơng kể thời gian giao đề)   

ĐỀ B 

I. Trắc nghiệm: (5.0đ)
Chọn câu trả lời đúng nhất và ghi vào phần bài làm
Câu 1. Trong ngơn ngữ lập trình Pascal, với câu lệnh  x:=5.5; For i:=1 to 6 do x:=x+i;  thì 
biến x và i được khai báo kiểu dữ liệu là
A. Var i: integer; x: real;
B. Var x: integer; i: real; 
C. Var x, i: integer;
D. Var x,i: real; 
Câu 2. Biết m:=10; n:=3. Trong các câu lệnh sau, câu lệnh nào khơng được thực hiện?
A. For i:=5 to m do <Câu lệnh>;             
B. For i:=n to m do <Câu lệnh>;
C. For i:=1 to n do <Câu lệnh>;                D. For i:=m to n do <Câu lệnh>;
Câu 3. Sau khi thực hiện đoạn chương trình sau: S:=10; For i:=1 to 4 do S:=S+i;
           Giá trị của biến S bằng bao nhiêu?
   
A. 10
B. Một giá trị khác
C. 20
D. 14

Câu 4. Hoạt động nào sau đây khơng phải là hoạt động lặp với số lần chưa biết trước? 
A. Múc từng gáo nước đến khi đầy bể 
        
B. Nhặt từng cọng rau cho tới khi xong
C. Nhập vào các số ngun cho đến khi số nhập vào bằng 0
D. Nhập vào các số ngun cho đến khi đủ 20 số              
Câu 5. 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. 6 lần
B. 5 lần
         C. 1 lần 
D. 2 lần
Câu 6. Điều kiện để dừng trong đoạn chương trình:  S:=10; While S<=20 do s:=s+2; là:
A. S<20 
B. S>20
C. S=20 
D. S<>20 
Câu 7. Để truy cập vào phần tử thứ n của mảng X, ta viết:
A. n[X]
   
B. Xn
C. X(n)
   
D. X[n]
Câu 8.  Cho khai báo mảng như sau: Var A : array[1..30] of  Real;
   Để in giá trị phần tử thứ 20 của mảng A ra màn hình, ta viết:



A. Write(A[20]);
B. Write(20);
C. Readln(A[20]);
D. Write(A(20));
Câu 9. Với câu lệnh For a:= 3 to 7 do writeln(a); Hãy cho biết câu lênh sau Do đ
̣
ược thực 
hiên mây l
̣
́ ầ n?
A. 7 lần
B. 2 lần
C. 3 lần
D. 5 lần
Câu 10. Cho mảng A có 5 phần tử với các số liệu như hình sau:
1
2
3
4
5
10
12
20
8
9
Hãy chỉ ra đâu là biểu diễn phần tử của mảng A và giá trị tương ứng 
A. A[10]=1 
   B. A[9]=5  
C. A[3]=20
   

   D. A[2]=20
A

II. Tự luận: (5.0đ)
Câu 11. (2.0đ) Giải thích vì sao các câu lệnh sau sai và sửa lại cho đúng? 
a/ a:=10; While a<=5 do a:=a­1
b/ x:=0; For i:=10.3 to 20 do x=x+2;
Câu 12. Cho đoan ch
̣
ương trinh sau:
̀
Var i, k, S: integer ;
       A: array[1..n] of  Integer ;
Begin
                    Write(‘Nhap so phan tu cua mang ’);  Readln(k);
For i:=1 to k do begin
Write(‘nhap phan tu thu’,i);
Readln(a[i]);
       End;
S:=0;
for i:=1 to k do S:=S+Ai;
Writeln(‘Tong bang ’ , S);
Readln
End.
a/ Hay chi ra lơi cua đo
̃
̉
̃ ̉
ạn chương trinh trên va s
̀

̀ ửa lai cho đung? (1.0đ)
̣
́
b/ Sau khi sửa lại đúng, giả  sử  khi chạy đoạn chương trình trên với k=4 và 4 phần  
tử đầu tiên của mảng A có giá trị lần lượt là 1; 4; 7; 2. Hãy cho biết giá trị của biến S sau  
khi thực hiện đoạn chương trình trên. (1.0đ)
Câu 13. Viết chương trình nhập một dãy số  gồm các số ngun và dãy số  đó chứa tối đa  
100 phần tử là số ngun. Sau đó hiển thị dãy số vừa nhập ra màn hình. (1.0đ)
….. Hết …..
Họ và tên thí sinh:……………………………………………SBD:………………... 
Chú ý: Giáo viên coi thi khơng giải thích gì thêm


BẢNG MƠ TẢ CHI TIẾT ĐỀ 
Câu

Nội dung cần kiểm tra

1

Biết được cách sử dụng kiểu dữ liệu khi khai báo biến

2

Biết cú pháp câu lệnh lặp For..do

3

Hiểu hoạt động của câu lệnh For..do


4

Nhận biết hoạt động lặp với số lần chưa biết trước.

5

Hiểu số lần thực hiện câu lệnh trong câu lệnh lặp While..do.

6

Hiểu hoạt động của câu lệnh While…do

7

Biết truy cập vào các phần tử của biến mảng

8

Hiểu cách in phần tử của biến mảng ra màn hình

9

Hiểu số lần thực hiện câu lệnh trong câu lệnh lặp For..do

10

Biết giá trị của biến mảng

11a


Biết cú pháp của câu lệnh lặp While..do

11b

Biết cú pháp của câu lệnh lặp For..do

12a

Biết sửa lỗi chương trình

12b

Đọc hiểu chương trình Pascal đơn giản

13

Viết được chương chương trình Pascal đơn giản (vận dụng cao)


ĐÁP ÁN VÀ BIỂU ĐIỂM ĐỀ A
I. Trắc nghiệm: Trả lời đúng mỗi câu được 0.5 điểm 
Câu
Đáp án

1
C

2
B


3
A

4
B

5
D

6
D

7
B

8
C

9
B

10
A

II. Tự luận: 
Câu 11. 
a/ a:=10; While a<=5 do a:=a­1
­ Giải thích: Điều kiện khơng hợp lệ và thiếu dấu ; cuối câu lệnh (0.5đ)
­ Sửa lại: a:=10; While a>5 do a:=a­1;
(0.5đ)

b/ x:=0; For i:=10.3 to 20 do x=x+2;
­ Giải thích: Giá trị  đầu khơng phải là số  ngun và câu lệnh sau do khơng hợp lệ  
(0.5đ)
­ Sửa lại: x:=0; For i:=10 to 20 do x:=x+2;
 (0.5đ)
Câu 12.
a/ ­ Dịng 2: Chỉ số cuối phải là một giá trị cụ thể
Sửa lại: A: array[1..100] of  integer ;
    ­ Dịng 10: Thiếu cặp dấu ngoặc vng [ ]
Sửa lại: for i:=1 to k do S:=S+A[i];

(0.25đ)
(0.25đ)
(0.25đ)
(0.25đ)

b/
1
2
i
1
4
A[i]
1
5
S
0.25đ
Điể
m
Vậy S=14 (0.5đ)


3
4
7
2
12
14
0.25đ

Câu 13. Viết chương trình hồn chỉnh được 1.0đ, sai 1­2 lỗi trừ 0.25đ
Var a:array[1..100] of Integer;
0.25 đ
       N,i:integer;
Begin
Write(‘Nhap n=’);
0.25 đ
Readln(n);
For i:=1 to n do begin
Write(‘nhap phan tu thu’,i);
0.25 đ
Readln(a[i]);
       End;
For i:=1 to n do write(a[i]:4);
0.25 đ
Readln
End.
* Lưu ý: HS viết đúng theo cách khác vẫn cho điểm tối đa


ĐÁP ÁN VÀ BIỂU ĐIỂM ĐỀ B

I. Trắc nghiệm: Trả lời đúng mỗi câu được 0.5 điểm 
Câu
Đáp án

1
A

2
D

3
C

4
D

5
B

6
B

7
D

8
A

9
D


10
C

II. Tự luận: 
Câu 11. 
a/ a:=10; While a<=5 do a:=a­1
­ Giải thích: Điều kiện khơng hợp lệ và thiếu dấu ; cuối câu lệnh (0.5đ)
­ Sửa lại: a:=10; While a>5 do a:=a­1;
(0.5đ)
b/ x:=0; For i:=10.3 to 20 do x=x+2;
­ Giải thích: Giá trị  đầu khơng phải là số  ngun và câu lệnh sau do khơng hợp lệ  
(0.5đ)
­ Sửa lại: x:=0; For i:=10 to 20 do x:=x+2;
 (0.5đ)
Câu 12.
a/ ­ Dịng 2: Chỉ số cuối phải là một giá trị cụ thể
Sửa lại: A: array[1..100] of  integer ;
    ­ Dịng 10: Thiếu cặp dấu ngoặc vng [ ]
Sửa lại: for i:=1 to k do S:=S+A[i];

(0.25đ)
(0.25đ)
(0.25đ)
(0.25đ)

b/
1
2
i

1
4
A[i]
1
5
S
0.25đ
Điể
m
Vậy S=14 (0.5đ)

3
4
7
2
12
14
0.25đ

Câu 13. Viết chương trình hồn chỉnh được 1.0đ, sai 1­2 lỗi trừ 0.25đ
Var a:array[1..100] of Integer;
0.25 đ
       N,i:integer;
Begin
Write(‘Nhap n=’);
0.25 đ
Readln(n);
For i:=1 to n do begin
Write(‘nhap phan tu thu’,i);
0.25 đ

Readln(a[i]);


       End;
For i:=1 to n do write(a[i]:4);
0.25 đ
Readln
End.
* Lưu ý: HS viết đúng theo cách khác vẫn cho điểm tối đa.



×