BỘ ĐỀ KIỂM TRA 1 TIẾT HK2
MÔN TIN HỌC LỚP 8
CÓ ĐÁP ÁN
MỤC LỤC
1. Đề kiểm tra 1 tiết HK2 môn Tin học lớp 8 có đáp án – Đề số 1
2. Đề kiểm tra 1 tiết HK2 môn Tin học lớp 8 có đáp án – Đề số 2
3. Đề kiểm tra 1 tiết HK2 mơn Tin học lớp 8 có đáp án – Đề số 3
4. Đề kiểm tra 1 tiết HK2 mơn Tin học lớp 8 có đáp án – Đề số 4
5. Đề kiểm tra 1 tiết HK2 mơn Tin học lớp 8 có đáp án – Đề số 5
ĐỀ SỐ 1
ĐỀ KIỂM TRA GIỮA KÌ 2 NĂM 2020 - 2021
MÔN TIN HỌC – Khối lớp 8
Thời gian làm bài : 45 phút
(khơng kể thời gian phát đề)
PHỊNG GD&ĐT ………
TRƯỜNG THCS ………….
(Đề thi có 02 trang)
* Ma trận đề
MỨC ĐỘ
Thông hiểu
Nhận biết
CHỦ ĐỀ
TN
CĐ7: Cấu trúc lặp
CĐ8: Lặp với số lần biết
TL
TN
T
L
Câu 6.A
Câu 2.A
Câu 3.A
Câu 7.A
CĐ9: Lặp với số lần
chưa biết trước.
Câu 1.A
Câu 4.A
Câu 9.A
Tổng số câu
Tổng số điểm
Tỉ lệ
4
3
trước.
2
20%
Cao
TN
TL
Thấp
TN
TL
Câu
12.A
Câu
11.A
Câu 5.A
Câu
1.B
3
1.5
15%
Vận dụng
3
30%
Câu 8.A
Câu
10.A
4
3.5
35%
Câu
2.B
Đề 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
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 tố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;
C. s:=5; i:=1;
While i<=s do
While i<=s dos:=s
i:=i++ 1;
1;
B. s:=5; i:=1;
D. s:=0; i:=0; n:=5;
While i> s do
While i<=n do
i:=i + 1;
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
C. for i:=1 to n do
if ( i mod 2)=0 then S:=S + 1/i;
if ( i mod 2) < > 0 then S:=S + i;
B. for i:=1 to n do
D. for i:=1 to n do
if ( i mod 2)=0 then S:=S – 1/i
if ( i mod 2)=0 then S:=S +1/ i
Else 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:…………………………………..
T<20?
i:=i+1;
T:=T*i;
…<20 Đ
………………………….
…< 20….
………………………….
…< 20…..
………………………….
Số vòng lặp:……….
Ý nghĩa:…………..................
……………………………….
……………………………….
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
S=………. (1đ)
2
n=15
S=………. (1đ)
3
n=32
ĐÁP ÁN VÀ BIỂU ĐIỂM
A. Trắc nghiệm: (6 điểm)
(Mỗi câu đúng được 0,5đ)
1
2
3
4
5
B
D
B
C
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;
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
1
n= 8
2
n=15
3
n=32
6
B
7
D
8
D
9
A
10
A
11
A
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ổng số bút cần mua
S= 72
S= 240 (1đ)
S= 1056 (1đ)
12
A
ĐỀ SỐ 2
MA TRẬN ĐỀ THI
Tên chủ đề
(Nội dung,
chương)
Bài 7:Câu
lệnh lặp:
3/46
Số câu: 9
Số điểm: 6
Tỉ lệ: 60%
Bài 8:Lặp
với số lần
chưa biết
trước: 2/46
Số câu: 8
Số điểm: 4
Tỉ lệ: 40%
Tổng số câu:
16
Tổng số
điểm: 10
Tỉ lệ: 100%
Nhận biết
(Cấp độ 1)
Thông hiểu
(Cấp độ 2)
Vận dụng
Cấp độ thấp
Cấp độ cao
(Cấp độ 3)
(Cấp độ 4)
I.1.2, I.2.2
I.1.3, I.2.3
I.1.1, I.2.1
I.1.1, I.2.1
( C1 C3, C4,
C5)
Số điểm:1
Số câu: C6, C9,
C14
Số điểm:1.5
Số câu: C15
Số câu:C17
Số điểm:1.5
Số điểm:2
I.1.4, I.2.4
I.1.4, I.2.4
I.1.5, I.2.5
Số câu:C2,
C8, C11, C12
Số điểm:1
Số câu:C7, C10, Số câu: C16
C13;
Số điểm:1,5
Số điểm:1.5
Tổng số câu:8 Tổng số câu: 6
Tổng số câu: 2
Tổng số
điểm:2
Tỉ lệ: 20%
Tổng số điểm:3
Tỉ lệ: 30%
Tổng số điểm:3
Tỉ lệ: 30%
Tổng số câu:
1
Tổng số
điểm: 2
Tỉ lệ: 20%
ĐỀ BÀI
Hãy khoanh tròn vào chữ cái đứng đầu cho đáp án đúng nhất. Mỗi câu trả lời đúng được
0.25 điểm:
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: 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: Bạn Ngọc 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: Lựa chọn đáp án Đ ( Đúng) hoặc S ( Sai). Mỗi đáp án đúng được 0.25 điểm.
Đ S
a. Trong nhiều trường hợp, việc thực hiện câu lệnh lặp while...do tốn ít
thời gian hơn so với câu lệnh lặp for...do.
b. Câu lệnh sau do trong lệnh lặp while...do có thể khơng được thực hiện
một lần nào nếu ngay từ đầu, <điều kiện> điều khiển vòng lặp có giá trị
sai.
c. Trong vịng lặp While...Do <câu lệnh> chỉ là câu lệnh đơn giản.
d. Trong vòng lặp While...Do < điều kiện> thông thường là phép so
sánh.
Câu 14. Hãy xác định đúng sai cho các phát biểu dưới đây:
Đ
S
a. Để 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 tốn: S:=0; for a:=1 to n do; S:=S+a*a
b. 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;
c. 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à câu lệnh lặp.
d. Câu lệnh lặp sẻ thực hiện câu lệnh nhiều lần, mỗi lần là hai vòng.
Câu 15. Đố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 j, k là bao nhiêu? (1.5 điểm)
j:=2; k:=3;
for i:=1 to 5 do j:=j+1;
k:=k+j;
cach:=’ ’;
writeln(j,cach, k);
j=……………….
k=………………….
Câu 16. Đố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? (1.5 điểm)
i:=1; j:=2; k:=3;
while i<6 do i:=i+1; j:=j+1; k:=k+j;
cach:=’ ’;
writeln(i,cach, j,cach, k);
i=…………
j=…………..
k=………………..
Câu 17: Giả sử abc (0≤ a,b,c ≤ 9) là số Armstrong (a,b,c thỏa mãn 100a + 10b+c = a3+
b3+c3). Hãy hồn thành chương trình sau ( 2 điểm ):
Program Armstrong;
Var a, b, c : integer;
Begin
Writeln(‘cac so armstrong trong khoang 0 -999 la:’);
……………………………………………………………………………………
For b:=0 to 9 do
……………………………………………………………………………………
…………………………………………………………………………………….
……………………………………………………………………………………
Readln;
End.
ĐÁP ÁN VÀ THANG ĐIỂM
Mỗi câu trả lời đúng được 0.25 điểm:
Câu
1
2
3
4
5
6
7
8
9
10
Đáp D
C
C
A
C
D
C
B
B
B
án
Câu 13 (1 điểm): a. Đ b. Đ
c. S.
d.Đ
Câu 14 (1 điểm):
a. Đ
b. Đ
c. Đ.
d.Đ
Câu 15 (1.5 điểm): j=7, k=10;
Câu 16 (1.5 điểm): i=6, j=3, k=6
Câu 17 (2 điểm):
Program Armstrong;
Var a, b, c : integer;
Begin
Writeln(‘cac so armstrong trong khoang 0 -999 la:’);
For a:=0 to 9 do
For b:=0 to 9 do
For c:=0 to 9 do
If a*100+b*10 +c= a*a*a + b*b*b + c*c*c then
Writeln( a*100+b*10+c);
Readln;
End.
11
C
12
D
PHỊNG GD&ĐT…….
TRƯỜNG THCS……..
(Đề thi có 02 trang)
KIỂM TRA 1 TIẾT HK2
NĂM HỌC 2019 - 2020
MÔN TIN HỌC – Khối lớp 8
Thời gian làm bài : 45 phút
(không kể thời gian phát đề)
Họ và tên học sinh :....................................................... Lớp : 8A1
I. PHẦN TRẮC NGHIỆM: (5,0 điểm) (HS trả lời bằng cách khoanh tròn vào đáp án đúng.)
Câu 1. (0,5 điểm) Để tìm giá trị lớn nhất của 2 số a, b thì ta viết:
A. Max:=a;If b>Max then Max:=b;
B. Max:=b;If a>Max then Max:=a;
C. If (a>b) then Max:=a;If (b>a) then Max:=b;
D. Cả 3 câu đều đúng.
Câu 2. (0,5 điểm) Lệnh nào dưới đây viết đúng về câu lệnh gán :
A. x : 15
B. x := 15
C. x =: 15
D. x = 15
Câu 3. (0,5 điểm) Tên nào sau đây là do người lập trình đặt:
A. Var
B. Real
C. n
D. End
Câu 4. (0,5 điểm) Câu nào sau đây đúng khi nói về biến:
A. Tên biến có độ dài tùy ý
B. Biến có giá trị khơng đổi trong suốt q trình thực hiện chương trình
C. Có một số biến có sẵn trong chương trình, khơng cần khai báo
D. Biến là đại lượng do người lập trình đặt
Câu 5. (0,5 điểm) Chương trình pascal sau sẽ in ra màn hình nội dung gì?
Program vidu;
Var
i: integer;
Begin
For i:=1 to 10 do Writeln(‘Day la lan lap thu ‘,i);
Readln;
End.
A. 1 câu “Day la lan lap thu i”;
B. 10 câu Day la lan lap thu i” với i theo thứ tự từ 1->10;
C. 1 câu “Day la lan lap thu ‘, i”;
D. 10 “Day la lan lap thu ‘, i”;
Câu 6. (0,5 điểm) Câu lệnh nào sau đây là khai báo hằng:
A. Const n : 20;
B. Const n 20;
C. Const n := 20;
D. Const n = 20;
Câu 7. (0,5 điểm) Chương trình sau cho kết quả là gi ?
Program vd;
Var
a, b,: real; x,: integer ;
Begin
readln(a, b); If a>b then x:=a else x:=b; Write(x);
Readln;
End.
A. chương trình khơng thực hiện được do lỗi khai báo kiểu dữ liệu
B. đảo giá trị của 2 biến a, b cho nhau
C. xuất ra màn hình số nhỏ nhất trong 2 số a, b đã nhập
D. xuất ra màn hình số lớn nhất trong 2 số a, b đã nhập
Câu 8. (0,5 điểm) Hãy đọc đoạn chương trình sau:
If a >= b then s:=(a+b)*sqrt(a - b) else s:= a*b; Nhập a = 5, b = 1 thì kết quả s bằng:
A. 5
B. 24
C. 12
D. Kết quả khác
Câu 9. (0,5 điểm) Từ nào sau đây không phải tên chuẩn?
A. Program
B. ABS
C. Byte
D. SQR
Câu 10. (0,5 điểm) Để thực hiện phép tính tổng của hai số nguyên a và b ta thực hiện như sau :
A. Tong:a+b;
B. Tong(a+b);
C. Tong=a+b;
D. Tong:=a+b;
II. PHẦN TỰ LUẬN: (5,0 điểm)
Câu 1: (2,0 điểm) Viết cú pháp của câu lệnh lặp với số lần biết trước và giải thích.
Câu 2: (1,5 điểm) Viết chương trình tính tổng của dãy số 1, 2, …., 120.
Câu 3: (1,0 điểm) Viết chương trình nhập vào 1 số N. In ra màn hình bảng cửu chương tương ứng với số
N đó.
Câu 4: (0,5 điểm) Mơ tả thuật tốn vẽ 1 hình vng.
Bài làm:
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
.........................................................................................................................................................
PHỊNG GD - ĐT
TRƯỜNG THCS
ĐỀ CHÍNH THỨC
KIỂM TRA 1 TIẾT HỌC KÌ II
Năm học 2019 - 2020
Mơn: Tin học 8
(Thêi gian lµm bµi 45 phót)
Họ và tên:.............................................
Lớp 8.....
SBD: ..............
A. Phần trắc nghiệm: (2,0 điểm) Hãy chọn một đáp án đúng nhất.
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: For i := 1 to 10 do j:= j + 2; write( j );
Khi kết thúc câu lệnh lặp trên, câu lệnh write( j ); được thực hiện bao nhiêu lần?
A. 10 lần
B. 5 lần
C. 1 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;
B. i:=0; S:=1;
While S<10 do write(S);
while s<10 do S:=S+i; i:=i+1;
C. n:=2; while n<5 do write(‘A’);
D. Cả A và B.
Câu 5. 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. 15
C. 16
D. 17
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. 4
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 đúng:
A. Chỉ số đầu và chỉ số cuối là 2 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. Cả ba ý trê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: 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
B. Phần tự luận: (8.0 điểm)
Câu 1. (2 điểm) Viết chương trình tính tổng 10 số tự nhiên đầu tiên.
Câu 2. (2 điểm) Viết chương trình tính tổng các số tự nhiên đầu tiên cho đến khi tổng đó bằng 100 thì
dừng lại.
Câu 3. (4 điểm) Viết chương trình nhập điểm kiểm tra học kỳ môn tin cho N học sinh và in ra
màn hình. Với N và điểm kiểm tra được nhập từ bàn phím (sử dụng biến mảng).
C. Thực hành
Câu 1. (2 điểm) Viết chương trình tính tổng 10 số tự nhiên đầu tiên.
Câu 2. (2 điểm) Viết chương trình tính tổng các số tự nhiên đầu tiên cho đến khi tổng đó bằng 100 thì
dừng lại.
Câu 3. (3 điểm) Viết chương trình nhập điểm kiểm tra học kỳ môn tin cho N học sinh và in ra
màn hình. Với N và điểm kiểm tra được nhập từ bàn phím (sử dụng biến mảng).
Câu 4. (3 điểm) Viết chương trình tìm phần tử nhỏ nhất và lớn nhất của dãy n số nhập vào từ
bàn phím.
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
PHÒNG GD - ĐT
ĐÁP ÁN
TRƯỜNG THCS
A. Phần trắc nghiệm: (2 điểm – mỗi câu đúng 0,25 điểm).
Câu
1
2
3
4
5
6
7
8
Đáp án
B
C
C
A
D
B
D
A
B. Phần tự luận: (8 điểm)
CÂU
Câu 1
Câu 2
ĐÁP ÁN
Var s,i:integer;
begin
S:= 0;
For i:= 1 to 10 do s:=s+1;
Writeln (‘tong cua 10 so tu nhien dau tien la:’,s);
Readln
End.
Var s,n:integer;
Begin
S:=0; n:=1;
While (s<=100) do
Begin
S:=s+n; n:=n+1;
End;
Writen(‘tong cac so tu nhien dau tien:’,s);
Readln
End.
ĐIỂM
1
1
1
1
Câu 3
CÂU
Câu 1
Câu 2
Câu 3
Var n, i: integer;
Diem: array[1..50] of real;
Begin
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
1
1
1
ĐÁP ÁN
ĐIỂM
Var s,i:integer;
begin
S:= 0;
For i:= 1 to 10 do s:=s+1;
Writeln (‘tong cua 10 so tu nhien dau tien la:’,s);
Readln
End.
Var s,n:integer;
Begin
S:=0; n:=1;
While (s<=100) do
Begin
S:=s+n; n:=n+1;
End;
Writen(‘tong cac so tu nhien dau tien:’,s);
Readln
End.
Var n, i: integer;
Diem: array[1..50] of real;
Begin
Write(‘Nhap so luong hoc sinh N = ‘); Readln(n);
Writeln(‘Nhap diem cho tung hoc sinh’);
1
1
1
1
1
Câu 4
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.
Var n,i: integer;
S,ptmax, ptmin: real;
A: array [1..100] of real;
Begin
Write (‘nhap so phan tu cua day:’); readln(n);
Writeln (‘hay nhap’,n,’ phan tu cua day:’);
For i:=1 to n do
readln(a[i]);
Ptmax:=a[i]; ptmin:=a[i];
For i:=2 to n do
Begin
If a[i] > ptmax then
ptmax:=a[i];
If a[i] < ptmin then
ptmin:=a[i];
End;
Writeln (‘phan tu max cua day la: ‘,ptmax:0:2);
Writeln(‘phan tu min cua day la: ‘,ptmin:0:2);
Readln
End.
1
1
1
1
1
TRƯỜNG TRUNG HỌC CƠ SỞ
.……….
ĐỀ KIỂM TRA 1 TIẾT HỌC KÌ II
NĂM HỌC 2019-2020
Đề chính thức
Mơn: TIN HỌC, Lớp 8
Thời gian:45 phút (không kể phát đề)
Họ và tên:......................................................
Lớp: ......./....
Số báo danh:..............
Điểm bằng số
TN=
; Phòng KT:.........
; Số tờ: ..........
Điểm tổng bằng chữ
Giám thị
Giám khảo
Lời phê
TL=
I. PHẦN TRẮC NGHIỆM KHÁCH QUAN: (3,0 điểm)
Thí sinh chọn chữ cái đứng trước kết quả mà em cho là đúng và ghi vào phần bài làm
dưới đây.
Câu 1. Pascal sử dụng câu lệnh nào sau đây để lặp với số lần lặp biết trước ?
A. if...then
B. if...then...else
C. for...do
D. while...do
Câu 2. Cú pháp đầy đủ của câu lệnh While … do là:
A. While <câu lệnh> do <điều kiện>;
B. While <điều kiện>; <câu lệnh>;
C. While <điều kiện> to <câu lênh> do;
D. While <điều kiện> do <câu lệnh>;
Câu 3. Trong Pascal, câu lệnh khai báo biến mảng nào sau đây đúng?
A. var a : array[10..1] of integer;
B. var b : array(1..100) of real;
C. var c : array[1..15] of integer;
D. var d : array[-2..-5] of real;
Câu 4. Sau khi thực hiện đoạn chương trình sau:
S:=0; For i:=1 to 5 do S:=S+i;
Giá trị của biến S bằng bao nhiêu?
A. 20
B. 15
C. 10
D. 0
Câu 5. Sau khi thực hiện chương trình dưới đây, giá trị của biến j bằng bao nhiêu?
j:= 1;
for i:= 0 to 10 do j:= j+1;
A. 12;
B. 13;
C. 11;
D. 14;
II. PHẦN TỰ LUẬN: (8.0 điểm)
Câu 1.( 2 điểm) Nêu cú pháp và hoạt động của câu lệnh chưa biết trước số lần lặp
Câu 2.( 2 điểm) Viết các câu lệnh theo yêu cầu:
a) Sử dụng câu lệnh lặp in ra màn hình 50 dấu *.
b) Khai tên báo biến mảng A, với chỉ số đầu là 1, chỉ số cuối là 20, kiểu dữ liệu số
nguyên
Câu 3. ( 3 điểm) Viết chương trình dùng để tìm giá trị nhỏ nhất trong 10 phần tử số
nguyên nhập từ bàn phím.
BÀI LÀM
HƯỚNG DẪN CHẤM
I. PHẦN TRẮC NGHIỆM (3.0 điểm)
Câu
1
2
3
4
5
Kết quả
C
D
B
B
C
II. PHẦN TỰ LUẬN (7.0 điểm)
Câu
Diễn giải
1
-Cú pháp của 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> đúng, máy sẽ thực hiện <câu lệnh> và quay lại
bước 1. 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.
a) For i≔1 to 50 do write(‘*’);
b) Var
A:aray[1..20]of integer;
2
3
Program tim_Min;
Uses Crt;
Var A:array[1..10]of integer;
i,min:integer;
Begin
Clrscr;
For i:=1 to 10 do
Begin
Write(‘Nhap phan tu thu ’,i, ‘ :’); Readln(A[i]);
End;
min:=A[1];
For i:=2 to 10 do If min>A[i] Then min:=A[i];
Writeln('Phan tu nho nhat cua mang: ',min);
Readln
End.
GV trừ -0.25 cho mỗi lỗi nhỏ, Hs viết đúng chương trình theo
cách khác vẫn cho điểm tối đa
Số
điểm
1,0
0,5
0,5
1,0
1,0
0,5
0,5
0,5
0,5
0,5
0,5