- Tham gia
- 28/1/21
- Bài viết
- 82,112
- Điểm
- 113
tác giả
TUYỂN TẬP 11 Đề kiểm tra tin học 8 hk2 có ma trận NĂM 2022 - 2023 được soạn dưới dạng file word gồm 11 FILE trang. Các bạn xem và tải de kiểm tra tin học 8 hk2 có ma trận về ở dưới.
Câu 1: (2đ) Em hãy chọn cụm từ thích hợp điền vào chỗ trống đã được đánh số thứ tự để hoàn thành các câu sau đây:
a. Cú pháp của câu lệnh For … do:
For <biến đếm>:= …..(1)….. to ........(2)……. do …….(3)………
Trong đó:
- For, to, do là các …..(4)…..
- Biến đếm là biến …….(5)…….
- Giá trị đầu và giá trị cuối là các …..(6)…..
b. Cách thức hoạt động của câu lệnh lặp For…. Do
Khi thực hiện, ban đầu …….(7)……. sẽ nhận giá trị là bằng giá trị đầu, sau mỗi vòng lặp, biến đếm được tự động tăng thêm …..(8)…. đơn vị cho đến khi bằng giá trị cuối.
Câu 2: (2đ) Em hãy sửa lại những chỗ bị lỗi (được in đậm) trong chương trình tính tổng 50 số tự nhiên đầu tiên
Câu 3: (2đ) Em hãy thực hiện các yêu cầu sau đây:
a. Viết cú pháp của câu lệnh lặp While …do
b. Nêu cách thức hoạt động của câu lệnh lặp While … do
Câu 4: (2đ) Dữ liệu kiểu mảng là gì? Em hãy viết cú pháp của khai báo biến mảng.
Câu 5: (1đ) Em hãy thực hiện các yêu cầu sau:
Câu 1: (2đ) (Mỗi đáp án đúng được 0.25đ)
Câu 2: (2đ) (Mỗi đáp án đúng được 0.5đ)
Câu 3: (2đ)
a. Cú pháp: (1đ)
While <Điều kiện> do <Câu lệnh> ;
Trong đó :
- Điều kiện thường là một phép so sánh
- Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép
b. Cách thức hoạt động: (1đ)
- Bước 1: Kiểm tra điều kiện
- Bước 2: 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. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1
Câu 4: (2đ)
- Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có chung một kiểu dữ liệu, gọi là kiểu của phần tử. việc sắp xếp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số. (1đ)
- Cú pháp: (1đ)
Var <tên biến mảng> : array [<chỉ số đầu> . . <chỉ số cuối>] of <kiểu dữ liệu> ;
Trong đó chỉ số đầu và chỉ số cuối là hai số nguyên thỏa mãn chỉ số đầu ≤ chỉ số cuối
Câu 5: (1đ)
a. Var A : Array [1..20] of Integer; (0.5đ)
b. Biến mảng DTB có 50 phần tử, mỗi phần tử của biến có kiểu dữ liệu số thực (0.5đ)
Câu 6: (1đ) (Mỗi đáp án đúng được 0.25đ)
'
Câu 1: (3.0 Điểm)
a. Nêu cú pháp, cách thức hoạt động của câu lệnh lặp for .. to .. do?
b. Cho đoạn chương trình sau:
- Câu lệnh S := s+I; sẽ được thực hiện bao nhiêu lần?
c. Các câu lệnh Pascal sau viết đúng hay sai? Chỉ ra lỗi sai nếu có?
Câu 2: (1.0 Điểm) Viết chương trình tính tổng s=1+2+…+N (biết N là số nguyên được nhập vào từ bàn phím)
Câu 3: (1.0 điểm) Cho đoạn chương trình sau:
(ví du: N=255 à s = 12)
Câu 5: (2.0 điểm)
ĐỀ THAM KHẢO | ĐỀ KIỂM TRA HỌC KÌ II NĂM HỌC 2022-2023 MÔN: TIN HỌC LỚP 8 THỜI GIAN LÀM BÀI: 45’ |
Câu 1: (2đ) Em hãy chọn cụm từ thích hợp điền vào chỗ trống đã được đánh số thứ tự để hoàn thành các câu sau đây:
Từ khóa | Biến đếm | Giá trị cuối | Kiểu nguyên |
Giá trị nguyên | Câu lệnh | Giá trị đầu | Một |
For <biến đếm>:= …..(1)….. to ........(2)……. do …….(3)………
Trong đó:
- For, to, do là các …..(4)…..
- Biến đếm là biến …….(5)…….
- Giá trị đầu và giá trị cuối là các …..(6)…..
b. Cách thức hoạt động của câu lệnh lặp For…. Do
Khi thực hiện, ban đầu …….(7)……. sẽ nhận giá trị là bằng giá trị đầu, sau mỗi vòng lặp, biến đếm được tự động tăng thêm …..(8)…. đơn vị cho đến khi bằng giá trị cuối.
Câu 2: (2đ) Em hãy sửa lại những chỗ bị lỗi (được in đậm) trong chương trình tính tổng 50 số tự nhiên đầu tiên
Chương trình | Sửa lại |
Var i, tong: Real; | |
Begin | |
Tong:=0; | |
For j:=1 to 100 do | |
Tong:=tong + i; | |
Write(‘Ket qua của tong từ 1 đến 50 la: ‘, tich) | |
Readln; | |
End. |
a. Viết cú pháp của câu lệnh lặp While …do
b. Nêu cách thức hoạt động của câu lệnh lặp While … do
Câu 4: (2đ) Dữ liệu kiểu mảng là gì? Em hãy viết cú pháp của khai báo biến mảng.
Câu 5: (1đ) Em hãy thực hiện các yêu cầu sau:
- Khai báo một biến mảng A có 20 phần tử và có kiểu dữ liệu số nguyên
- Với cách khai báo biến mảng: DTB[1..50] of Real, em hãy cho biết ta đã khai báo một biến DTB có bao nhiêu phần tử, mỗi phần tử của biến có kiểu dữ liệu là gì?
Thứ tự | Các câu lệnh | Sắp xếp lại |
1 | Write(‘Ket qua cua tong la: ‘, tong); Readln; End. | |
2 | Var n, tong, d: integer; Begin Read; Tong:=0; | |
3 | Begin d:= n mod 10; tong:= tong+d; n:= n div 10; end; | |
4 | While n<>0 do |
ĐỀ THAM KHẢO | HƯỚNG DẪN CHẤM ĐỀ KIỂM TRA HỌC KÌ II NĂM HỌC 2022-2023 MÔN: TIN HỌC LỚP 8 THỜI GIAN LÀM BÀI: 45’ |
Câu 1: (2đ) (Mỗi đáp án đúng được 0.25đ)
1 – Giá trị đầu | 2 – Giá trị cuối | 3 – Câu lệnh | 4 – Từ khóa |
5 – Kiểu nguyên | 6 – Giá trị nguyên | 7 – Biến đếm | 8 – Một |
Chương trình | Sửa lại |
Var i, tong: Real; | Var i, tong: Integer; |
For j:=1 to 100 do | For i:=1 to 50 do |
Write(‘Ket qua của tong từ 1 đến 50 la: ‘, tich) | Write(‘Ket qua của tong từ 1 đến 50 la: ‘, tong) |
a. Cú pháp: (1đ)
While <Điều kiện> do <Câu lệnh> ;
Trong đó :
- Điều kiện thường là một phép so sánh
- Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép
b. Cách thức hoạt động: (1đ)
- Bước 1: Kiểm tra điều kiện
- Bước 2: 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. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1
Câu 4: (2đ)
- Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có chung một kiểu dữ liệu, gọi là kiểu của phần tử. việc sắp xếp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số. (1đ)
- Cú pháp: (1đ)
Var <tên biến mảng> : array [<chỉ số đầu> . . <chỉ số cuối>] of <kiểu dữ liệu> ;
Trong đó chỉ số đầu và chỉ số cuối là hai số nguyên thỏa mãn chỉ số đầu ≤ chỉ số cuối
Câu 5: (1đ)
a. Var A : Array [1..20] of Integer; (0.5đ)
b. Biến mảng DTB có 50 phần tử, mỗi phần tử của biến có kiểu dữ liệu số thực (0.5đ)
Câu 6: (1đ) (Mỗi đáp án đúng được 0.25đ)
Thứ tự | Các câu lệnh | Sắp xếp lại |
1 | Write(‘Ket qua cua tong la: ‘, tong); Readln; End. | Var n, tong, d: integer; Begin Read; Tong:=0; |
2 | Var n, tong, d: integer; Begin Read; Tong:=0; | While n<>0 do |
3 | Begin d:= n mod 10; tong:= tong+d; n:= n div 10; end; | Begin d:= n mod 10; tong:= tong+d; n:= n div 10; end; |
4 | While n<>0 do | Write(‘Ket qua cua tong la: ‘, tong); Readln; End. |
ĐỀ THAM KHẢO | ĐỀ KIỂM TRA HỌC KÌ II NĂM HỌC 2022-2023 MÔN: TIN HỌC LỚP 8 THỜI GIAN LÀM BÀI: 45’ |
a. Nêu cú pháp, cách thức hoạt động của câu lệnh lặp for .. to .. do?
b. Cho đoạn chương trình sau:
S :=0; For I:= 1 to 15 do S:=s+I; |
c. Các câu lệnh Pascal sau viết đúng hay sai? Chỉ ra lỗi sai nếu có?
1. for i:=1 to 10; do x:=x+1; 2. for i:=10 to 1 do x:=x+1; 3. for i:=1 to 10 do x:=x+1; 4. for i:=1.5 to 19 do x:=x+1; |
Câu 2: (1.0 Điểm) Viết chương trình tính tổng s=1+2+…+N (biết N là số nguyên được nhập vào từ bàn phím)
Câu 3: (1.0 điểm) Cho đoạn chương trình sau:
S:=1; While n>0 do Begin x:=x mod 10; s:=s*x; n:=n div 10; end; write(s); |
- Khi thực hiện đoạn chương trình trên nếu nhập N= 145 sẽ cho kết quả bằng bao nhiêu?
- Khối lệnh Begin x:=x mod 10; s:=s*x; n:=n div 10; end; sẽ được thực hiện bao nhiêu lần?
(ví du: N=255 à s = 12)
Câu 5: (2.0 điểm)
- Nêu cú pháp khai báo biến mảng? Cho 3 ví dụ?
- Hãy cho biết các khai báo mảng sau đây đúng hay sai? Nếu sai hãy giải thích tại sao?
- A: array[1 , 20] of real;
- Xau: array[255 .. 1] of real;
- So: array[1.1 .. 1.10] of integer;
- F: array[1 , , 100] for integer;
Max:=a1; For i:=2 to N do If Max< ai then Max:=ai; write(‘max= ‘, max); - Khi chạy chương trình ta nhập N=3; a1=3; a2= 10; a3=0; thì giá trị của Max sẽ bằng bao nhiêu?
- Khối lệnh If Max< ai then Max:=ai; sẽ được thực hiện bao nhiêu lần?
- b. Cho đoạn chương trình sau:
S:=1; for i:= 1 to N do s:=s+ ai; writeln(‘s= ’, s); - Khi chạy chương trình ta nhập N=3; a1=3; a2= 10; a3=0; thì giá trị của S sẽ bằng bao nhiêu?
- Khối lệnh s:=s+ ai; sẽ được thực hiện bao nhiêu lần?
ĐỀ THAM KHẢOHƯỚNG DẪN CHẤM ĐỀ KIỂM TRA HỌC KÌ II
NĂM HỌC 2022-2023
MÔN: TIN HỌC LỚP 8
THỜI GIAN LÀM BÀI: 45’
CÂUNỘI DUNGĐIỂMCÂU 1 - Cú pháp: For< biến đếm>:=<giá trị đầu> to< giá trị cuối> do < câu lệnh>;
- Cách thức thực hiện: ban đầu biến đếm sẽ nhận giá trị bằng giá trị đầu, sau mỗi vòng lặp biến đếm tự động tăng thêm một đơn vị cho tới khi bằng giá trị cuối.
- Câu lệnh S := s+I; sẽ được thực hiện 15-1+1=15 lần
2. for i:=10 to 1 do x:=x+1; câu 2 sai vì giá trị cuối lớn hơn giá trị đầu
3. for i:=1 to 10 do x:=x+1; đúng
4. for i:=1.5 to 19 do x:=x+1; câu 4 sai vì giá trị đầu là số thực3.0 điểm CÂU 2 Var s, I, n: integer;
Begin
Write(‘N=’); readln(N);
S:=0; for i:=1 to N do s:=s+I; write(‘s=’,s);readln;end.1.0 điểm CÂU 3 Sau khi thực hiện đoạn chương trình trên nếu nhập N= 145 sẽ cho kết quả bằng 20
Khối lệnh Begin x:=x mod 10; s:=s*x; n:=n div 10; end; sẽ được thực hiện 3 lần1.0 điểm CÂU 4 Var x, n, s: integer;
Begin
Write(‘n=’); readln;
S:= 0;
While n>0 do begin x:= n mod 10; s:=s+x; n:=n div 10; end;Write(‘s=’,s);readln;end.1.0 điểm CÂU 5 - A: array[1 , 20] of real; àsai, giữa chisodau và chisocuoi cần phải thay dấu phẩy bằng hai dấu chấm
- Xau: array[255 .. 1] of real; àsai, chisodau phải không lớn hơn chisocuoi
- So: array[1.1 .. 1.10] of integer; àsai, chisodau và chisocuoi phải là số nguyên
2.0 điểm CÂU 6 Khi chạy chương trình ta nhập N=3; a1=3; a2= 10; a3=0; thì giá trị của Max sẽ bằng 10
Khối lệnh If Max< ai then Max:=ai; sẽ được thực hiện 3 lần
Khi chạy chương trình ta nhập N=3; a1=3; a2= 10; a3=0; thì giá trị của S sẽ bằng 0
Khối lệnh s:=s+ ai; sẽ được thực hiện 3 lần2.0 điểm
ĐỀ THAM KHẢOĐỀ KIỂM TRA HỌC KÌ II
NĂM HỌC 2022-2023
MÔN: TIN HỌC LỚP 8
THỜI GIAN LÀM BÀI: 45’
Câu 1: (1đ)
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?
Câu 2: (2đ) Viết chương trình tính tổng 10 số tự nhiên đầu tiên?
Câu 3: (1đ) 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?
Câu 4: (1đ) Trong Pascal, câu lệnh sau đây là đúng hay sai?
S:=1;
While S<10 do write(S);
Câu 5: (2đ) 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 6: (1đ) . 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); để 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ị?
Câu 7: (2đ) 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.
--------------------Hết---------------------
ĐỀ THAM KHẢOHƯỚNG DẪN CHẤM KIỂM TRA HỌC KÌ II
NĂM HỌC 2022 - 2023
MÔN: TIN HỌC – LỚP:8
Thời gian làm bài :45 phút
Câu
Hướng dẫn chấm
ĐiểmCâu 1 Trong câu lệnh lặp: For i := 1 to 10 do j:= j + 2; write(j );
được thực hiện bao nhiêu 1 lần
1.0Câu 2 Program Tong;
Var s,i:integer;
begin
S:= 0;
For i:= 1 to 10 do s:=s+i;
Writeln (‘tong cua 10 so tu nhien dau tien la:’,s);
Readln
End.0.5
0.5
0.5
0.5Câu 3 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;
biết giá trị của biến T bằng -41.0Câu 4 Trong Pascal, câu lệnh sau đây là đúng
S:=1;
While S<10 do write(S);0.5
0.5Câu 5 Program Tinh_Tong;
Var s,n:integer;
Begin
S:=0; n:=1;
While (s<=100) do
Begin
S:=s+n; n:=n+i;
End;
Writen(‘tong cac so tu nhien dau tien:’,s);
Readln
End.0.5
0.5
0.5
0.5Câ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); để gán giá trị cho các phần tử trong biến A từ bàn phím, ta sẽ nhập được 6 giá trị
[TD]0.5[/TD]
0.5
[TR]
[TD]Câu 7[/TD]
[TD]Program Pt_minmax;
Var n,i: integer;
S,ptmax, ptmin: real;
A: array [1..100] of real;
Begin
Write (‘nhap so phan tu cua day:’); readln;
Writeln (‘hay nhap’,n,’ phan tu cua day:’);
For i:=1 to n do readln(a);
Ptmax:=a; ptmin:=a;
For i:=2 to n do
Begin
If a > ptmax then ptmax:=a;
If a < ptmin then ptmin:=a;
End;
Writeln (‘phan tu max cua day la: ‘,ptmax:0:2);
Writeln(‘phan tu min cua day la: ‘,ptmin:0:2);
Readln
End.[/TD]
[TD]0.5[/TD]
0.5
0.5
0.5
[/TR]
ĐỀ THAM KHẢOĐỀ KIỂM TRA HỌC KÌ II
NĂM HỌC 2022-2023
MÔN: TIN HỌC LỚP 8
THỜI GIAN LÀM BÀI: 45’
Câu 1: (2đ) Em hãy chọn cụm từ thích hợp điền vào chỗ trống đã được đánh số thứ tự để hoàn thành các câu sau đây:
a. Cú pháp của câu lệnh For … do:Từ khóa Biến đếm Giá trị cuối Kiểu nguyên Giá trị nguyên Câu lệnh Giá trị đầu Một
For <biến đếm>:= …..(1)….. to ........(2)……. do …….(3)………
Trong đó:
- For, to, do là các …..(4)…..
- Biến đếm là biến …….(5)…….
- Giá trị đầu và giá trị cuối là các …..(6)…..
b. Cách thức hoạt động của câu lệnh lặp For…. Do
Khi thực hiện, ban đầu …….(7)……. sẽ nhận giá trị là bằng giá trị đầu, sau mỗi vòng lặp, biến đếm được tự động tăng thêm …..(8)…. đơn vị cho đến khi bằng giá trị cuối.
Câu 2: (2đ) Em hãy sửa lại những chỗ bị lỗi (được in đậm) trong chương trình tính tổng 50 số tự nhiên đầu tiên
Chương trìnhSửa lạiVar i, tong: Real; Begin Tong:=0; For j:=1 to 100 do Tong:=tong + i; Write(‘Ket qua của tong từ 1 đến 50 la: ‘, tich) Readln; End.
a. Viết cú pháp của câu lệnh lặp While …do
b. Nêu cách thức hoạt động của câu lệnh lặp While … do
Câu 4: (2đ) Dữ liệu kiểu mảng là gì? Em hãy viết cú pháp của khai báo biến mảng.
Câu 5: (1đ) Em hãy thực hiện các yêu cầu sau:
- Khai báo một biến mảng A có 20 phần tử và có kiểu dữ liệu số nguyên
- Với cách khai báo biến mảng: DTB[1..50] of Real, em hãy cho biết ta đã khai báo một biến DTB có bao nhiêu phần tử, mỗi phần tử của biến có kiểu dữ liệu là gì?
- Câu 6: (1đ) An là một học sinh có năng lực lập trình rất tốt trong lớp 8A1. Biết được năng lực của An nên các bạn trong lớp thường nhờ sự giúp đỡ của bạn ấy khi gặp những kiến thức chưa hiểu. Sau khi học xong bài “câu lệnh lặp với số lần chưa biết trước”, GVBM Tin học đã đưa ra một chương trình mẫu nhưng thứ tự các khối câu lệnh đã được xáo trộn và yêu cầu học sinh sắp xếp lại chúng để được một chương trình tính tổng các chữ số của số n được nhập từ bàn phím (ví dụ: n=123, kết quả của tổng là 1+2+3=6). Bình không thể giải quyết được bài toán nên nhờ An hỗ trợ. Nếu em là An em sẽ hướng dẫn bạn sắp xếp lại chương trình như thế nào?
Thứ tựCác câu lệnhSắp xếp lại1Write(‘Ket qua cua tong la: ‘, tong);
Readln;
End.2Var n, tong, d: integer;
Begin
Read;
Tong:=0;3Begin
d:= n mod 10;
tong:= tong+d;
n:= n div 10;
end;4While n<>0 do
ĐỀ THAM KHẢOHƯỚNG DẪN CHẤM ĐỀ KIỂM TRA HỌC KÌ II
NĂM HỌC 2022-2023
MÔN: TIN HỌC LỚP 8
THỜI GIAN LÀM BÀI: 45’
Câu 1: (2đ) (Mỗi đáp án đúng được 0.25đ)
1 – Giá trị đầu 2 – Giá trị cuối 3 – Câu lệnh 4 – Từ khóa 5 – Kiểu nguyên 6 – Giá trị nguyên 7 – Biến đếm 8 – Một
Chương trìnhSửa lạiVar i, tong: Real; Var i, tong: Integer; For j:=1 to 100 do For i:=1 to 50 do Write(‘Ket qua của tong từ 1 đến 50 la: ‘, tich) Write(‘Ket qua của tong từ 1 đến 50 la: ‘, tong)
a. Cú pháp: (1đ)
While <Điều kiện> do <Câu lệnh> ;
Trong đó :
- Điều kiện thường là một phép so sánh
- Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép
b. Cách thức hoạt động: (1đ)
- Bước 1: Kiểm tra điều kiện
- Bước 2: 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. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1
Câu 4: (2đ)
- Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có chung một kiểu dữ liệu, gọi là kiểu của phần tử. việc sắp xếp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số. (1đ)
- Cú pháp: (1đ)
Var <tên biến mảng> : array [<chỉ số đầu> . . <chỉ số cuối>] of <kiểu dữ liệu> ;
Trong đó chỉ số đầu và chỉ số cuối là hai số nguyên thỏa mãn chỉ số đầu ≤ chỉ số cuối
Câu 5: (1đ)
a. Var A : Array [1..20] of Integer; (0.5đ)
b. Biến mảng DTB có 50 phần tử, mỗi phần tử của biến có kiểu dữ liệu số thực (0.5đ)
Câu 6: (1đ) (Mỗi đáp án đúng được 0.25đ)
Thứ tựCác câu lệnhSắp xếp lại1Write(‘Ket qua cua tong la: ‘, tong);
Readln;
End.Var n, tong, d: integer;
Begin
Read;
Tong:=0;2Var n, tong, d: integer;
Begin
Read;
Tong:=0;While n<>0 do 3Begin
d:= n mod 10;
tong:= tong+d;
n:= n div 10;
end;Begin
d:= n mod 10;
tong:= tong+d;
n:= n div 10;
end;4While n<>0 do Write(‘Ket qua cua tong la: ‘, tong);
Readln;
End.ĐỀ THAM KHẢOĐỀ KIỂM TRA HỌC KÌ II
NĂM HỌC 2022-2023
MÔN: TIN HỌC LỚP 8
THỜI GIAN LÀM BÀI: 45’
Câu 1: (2.0 điểm) Hãy nêu cú pháp của lệnh lặp với số vòng lặp biết trước For ... do?
Câu 2: (1.0 điểm) 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); để 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ị?
Câu 3: (2.0 điểm) Trong ngôn ngữ Pascal, đoạn chương trình sau thực hiện bao nhiêu vòng lặp? Giá trị S bằng bao nhiêu?
Begin
S:=0;
For i := 2 to 5 do S:= S + i;
Write(‘S=’,S);
End.
Câu 4: (2.0 điểm) Các khai báo biến mảng sau đây đúng hay sai, nếu sai hãy chỉ ra lỗi sai và sửa lại cho đúng?
a. Var X: array [5, 10] of integer;
b. Var X: array [5..9.5] of real;
c. Var X: array [ 25..5] of integer;
d. Var X: array [3..21] of integer;
Câu 5: (2.0 điểm) Sử dụng lệnh lặp While ... do, viết chương trình Pascal để mô tả thuật toán sau đây:
Bước 1: Sß15, xß4;
Bước 2: Nếu S<= 7, chuyển tới bước 4
Bước 3: SßS – x và quay lại bước 2
Bước 4: Thông báo S và kết thúc thuật toán
Câu 6: (1.0 điểm) Đố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ị j, k là bao nhiêu?
j:=2; k:=5;
For i:=1 to 6 do j:=j + 2;
k:= k + j;
Writeln(j, k);
.........................HẾT.......................
ĐỀ THAM KHẢOHƯỚNG DẪN CHẤM ĐỀ KIỂM TRA HỌC KÌ II
NĂM HỌC 2022-2023
MÔN: TIN HỌC LỚP 8
THỜI GIAN LÀM BÀI: 45’
CâuĐáp ánĐiểmCâu 1: (2.0 điểm) Hãy nêu cú pháp của lệnh lặp với số vòng lặp biết trước For ... do?
+ Cú pháp:
For<biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
+ Trong đó:
- For, to, do là các từ khóa khóa.
- Biến đếm là biến kiểu nguyên.
- Giá trị đầu, giá trị cuối là các giá trị nguyên.
- Số vòng lặp = giá trị cuối – giá trị đầu + 1
1.0đ.
1.0đ.Câu 2: (1.0 điểm) 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); để 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ị?
[TD]Để gán giá trị cho các phần tử trong biến A từ bàn phím, ta sẽ nhập được 5 giá trị.
[/TD]
[TD]1.0đ[/TD]
[TR]
[TD]Câu 3: (2.0 điểm) Trong ngôn ngữ Pascal, đoạn chương trình sau thực hiện bao nhiêu vòng lặp? Giá trị S bằng bao nhiêu?
Begin
S:=0;
For i := 2 to 5 do S:= S + i;
Write(‘S=’,S);
End.[/TD]
[TD]Trong ngôn ngữ Pascal, đoạn chương trình sau thực hiện 4 vòng lặp.
Giá trị S bằng 8[/TD]
[TD]1.0đ[/TD]
1.0đ
[/TR]
[TR]
[TD]Câu 4: (2.0 điểm) Các khai báo biến mảng sau đây đúng hay sai, nếu sai hãy chỉ ra lỗi sai và sửa lại cho đúng?
a. Var X: array [5, 10] of integer;
b. Var X: array [5..9.5] of real;
c. Var X: array [ 25..5] of integer;
d. Var X: array [3..21] of integer;[/TD]
[TD]a. Var X: array [5, 10] of integer;
→ Var X: array [5..10] of integer;
b. Var X: array [5..9.5] of real;
→ Var X: array [5..9] of real;
c. Var X: array [25..5] of integer;
→c. Var X: array [ 5..25] of integer;
d. Var X: array [3..21] of integer; Đúng
[/TD]
[TD]0.5đ[/TD]
0.5đ
0.5đ
0.5đ
[/TR]
[TR]
[TD]Câu 5: (2.0 điểm) Sử dụng lệnh lặp While ... do, viết chương trình Pascal để mô tả thuật toán sau đây:
Bước 1: Sß15, xß4;
Bước 2: Nếu S<= 7, chuyển tới bước 4
Bước 3: SßS – x và quay lại bước 2
Bước 4: Thông báo S và kết thúc thuật toán[/TD]
[TD]Begin
S:=15;
x:=4;
While S>7 do
S:=S-x;
Write(‘S=’, S);
Readln;
End.
[/TD]
[TD]1.0đ[/TD]
1.0đ
[/TR]
[TR]
[TD]Câu 6: (1.0 điểm) Đố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ị j, k là bao nhiêu?
j:=2; k:=5;
For i:=1 to 6 do j:=j + 2;
k:= k + j;
Writeln(j, k);[/TD]
[TD]Giá trị j= 14
Giá trị k= 19[/TD]
[TD]0.5đ[/TD]
0.5đ
[/TR]
[*]
THẦY CÔ DOWNLOAD FILE TẠI MỤC ĐÍNH KÈM!