Đề cương ôn thi học kì 2 môn Tin học 8 năm 2022 - 2023

Đề cương ôn thi học kì 2 môn Tin học 8 năm 2022 - 2023 được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn học sinh cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

Đề cương ôn tập HKII
Môn: Tin học 8
Năm học 2022-2023
I. Kiến thức chung
1. Lặp khi biết trước số lần lặp
Dạng 1:
For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <Câu lệnh>;
Dạng 2:
For <biến đếm>:= <giá trị đầu> downto <giá trị cuối> do <Câu lệnh>;
2. Lặp khi chưa biết trước số lần lặp
Dạng 1:
Repeat
<Câu lệnh>;
Until <Điều kiện dừng>;
Dạng 2:
While <Điều kiện> do <Câu lệnh>;
II. Bài tập
Phần 1: Trắc nghiệm
Câu 1. Trong các câu lệnh sau, câu lệnh nào hợp lệ?
A. for i:=1 to 10 do x:=x+1; B. for i:=1 to 10; do x:=x+1;
C. for i:=10 to 1 do x:=x+1; D. For i=1 to 10 do x:=x+1;
Câu 2. Trong các câu lệnh sau, câu lệnh nào hợp lệ?
A. while s<>0 do; s:=S+1; B. while s:=0 do s:=S+1;
C. while s<>0 do s:=S+1; D. while s:=0 do s=S+1;
Câu 3. Trong câu lệnh lặp sau, vòng lặp được thực hiện bao nhiêu lần?
For i:=2 to 5 do s:=s+i;
A. 1; B. 4; C. 5 D. Không xác
định
Câu 4. Trong câu lệnh lặp sau, vòng lặp được thực hiện bao nhiêu lần?
S:=0; i:=1;
While i < >5 do
Begin S:=S+i; i:=i+1; end
A. 4; B. 5; C. 6 D. Không xác
định
Câu 5. Trong câu lệnh lặp sau, vòng lặp được thực hiện bao nhiêu lần?
For i:=2 to 2 do s:=s+i;
A. 0; B. 1; C. 2; D. Không xác
định
Câu 6. Giá trị x sau đoạn chương trình dưới đây sẽ bao nhiêu?
x:=1;
For i:=1 to 5 do x:=x+2;
A. 11; B. 1; C. 5; D. 7.
Câu 7. Giá trị x sau đoạn chương trình dưới đây sẽ bao nhiêu?
x:=1;
For i:=1 to 5 do if i mod 3 = 0 then x:=x+1;
A. 6; B. 1; C. 15; D. 2.
Câu 8. Giá trị x sau đoạn chương trình dưới đây sẽ bao nhiêu?
x:=1;
while x<=6 do
x:=x+2;
A. 6; B. 8; C. 7; D. 9.
Câu 9. Giá trị x sau đoạn chương trình dưới đây sẽ bao nhiêu?
x:=2;
while x<= 6 do
x:=x+2;
A. 6; B. 8; C. 9; D. 7.
Câu 10. Khai báo mảng nào dưới đây đúng?
A. Var a:array of integer; B. Var a:array [1:50] of integer;
C. Var a:array [1..5.0] of integer; D. Var a:array [1..50] of integer;
Câu 11. Đoạn chương trình o sau đây tính tổng giá trị các phần tử của mảng?
A. S:=0; For i:=1 to n do S:=S+a[i]; B. S:=0; For i:=1 to n do S:=S+a[1];
C. S:=0; For i:=1 to n do S:= a[i]; D. S:=0; For i:=1 to n do a[i]:=S+a[i];
Câu 12. Câu lệnh nào sau đây in giá trị các phần tử mảng a ra màn hình?
A. For i:=1 to n do writeln(a); B. For i:=1 to n do writeln(a[i]);
C. For i:=1 to n do readln(a[i]); D. For i:=1 to n do writeln(i);
Câu 13. Đoạn chương trình dưới đây bao nhiêu lỗi?
S:=0
For i=1 to n do S=S+a[i];
A. 2; B. 3; C. 4; D. Không
lỗi.
Câu 14. Đoạn chương trình dưới đây bao nhiêu lỗi?
i=1;
while i<10 do i=i+1;
A. 1; B. 2; C. 3; D. Không
lỗi.
Câu 15. Đoạn chương trình dưới đây thực hiện công việc gì?
Count:=0;
For i:=1 to n do
If a[i]=0 then count:=count +1;
A. Đếm số lượng số khác 0 trong dãy số; B. Tính tổng c số khác 0 trong y số
C. Đếm số lượng số 0 trong dãy số; D. Không thực hiện công việc gì.
Phần 2: Lập trình
Bài 1: Viết chương trình nhập vào mảng n số nguyên. Tính tổng các số vừa nhập. In kết quả
ra màn hình
Bài 2: Viết chương trình nhập vào mảng n số nguyên. Đếm xem trong mảng vừa nhập bao
nhiêu số âm. In kết quả ra màn hình.
Bài 3: Viết chương trình nhập vào n số nguyên. Tìm phần tử lớn nhất trong y vừa nhập. In
phần tử đó ra màn hình
ĐỀ THI MINH HỌA
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 n 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 đú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 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 pháp khai báo biến mảng, chỉ số đầu chỉ số cuối hai số
A. số nguyên B. số thực C. tự D. xâu tự
Câu 6: Trong câu lệnh For ... do… sau từ khóa “do” 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 chỉ số cuối hai số nguyên; B. Chỉ số đầu
chỉ số cuối;
C. Kiểu dữ liệu thể integer hoặc real; D. Dấu ba chấm (...) nằm giữa chỉ số đầu
ch số cuối
Câu 8 : pháp câu lệnh lặp nào sau đây đú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 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 Tết Nguyên
tiêu.
Câu 10: Giả sử biến mảng A 5 phần tử giá trị của các phần tử lần lượt 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 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 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 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 pháp khai báo biến mảng trong pascal?
a/ Giải thích pháp khai báo biến mảng trong Pascal?
b/ Cho 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 BIỂU ĐIỂM - ĐỀ KIỂM TRA 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 pháp khai báo
biến mảng trong Pascal?
b/ Cho 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 chỉ số cuối hai số nguyên thỏa mản
chỉ số đầu <= ch số cuối kiểu dữ liệu thể
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 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đ
| 1/6

Preview text:

Đề cương ôn tập HKII Môn: Tin học 8 Năm học 2022-2023 I. Kiến thức chung
1. Lặp khi biết trước số lần lặp Dạng 1:For:=todo; Dạng 2:For:=downtodo;
2. Lặp khi chưa biết trước số lần lặp Dạng 1:Repeat ;
Until <Điều kiện dừng>;
Dạng 2:While<Điềukiện>do; II. Bài tập
Phần 1: Trắc nghiệm Câu 1.
Trong các câu lệnh sau, câu lệnh nào hợp lệ?
A. for i:=1 to 10 do x:=x+1;
B. for i:=1 to 10; do x:=x+1;
C. for i:=10 to 1 do x:=x+1;
D. For i=1 to 10 do x:=x+1; Câu 2.
Trong các câu lệnh sau, câu lệnh nào hợp lệ?
A. while s<>0 do; s:=S+1;
B. while s:=0 do s:=S+1;
C. while s<>0 do s:=S+1; D. while s:=0 do s=S+1; Câu 3.
Trong câu lệnh lặp sau, vòng lặp được thực hiện bao nhiêu lần?
For i:=2 to 5 do s:=s+i; A. 1; B. 4; C. 5 D. Không xác định Câu 4.
Trong câu lệnh lặp sau, vòng lặp được thực hiện bao nhiêu lần? S:=0; i:=1; While i < >5 do
Begin S:=S+i; i:=i+1; end A. 4; B. 5; C. 6 D. Không xác định Câu 5.
Trong câu lệnh lặp sau, vòng lặp được thực hiện bao nhiêu lần?
For i:=2 to 2 do s:=s+i; A. 0; B. 1; C. 2; D. Không xác định Câu 6.
Giá trị x sau đoạn chương trình dưới đây sẽ là bao nhiêu? x:=1;
For i:=1 to 5 do x:=x+2; A. 11; B. 1; C. 5; D. 7. Câu 7.
Giá trị x sau đoạn chương trình dưới đây sẽ là bao nhiêu? x:=1;
For i:=1 to 5 do if i mod 3 = 0 then x:=x+1; A. 6; B. 1; C. 15; D. 2. Câu 8.
Giá trị x sau đoạn chương trình dưới đây sẽ là bao nhiêu? x:=1; while x<=6 do x:=x+2; A. 6; B. 8; C. 7; D. 9. Câu 9.
Giá trị x sau đoạn chương trình dưới đây sẽ là bao nhiêu? x:=2; while x<= 6 do x:=x+2; A. 6; B. 8; C. 9; D. 7.
Câu 10. Khai báo mảng nào dưới đây là đúng?
A. Var a:array of integer;
B. Var a:array [1:50] of integer;
C. Var a:array [1. 5.0] of integer;
D. Var a:array [1. 50] of integer;
Câu 11. Đoạn chương trình nào sau đây tính tổng giá trị các phần tử của mảng?
A. S:=0; For i:=1 to n do S:=S+a[i];
B. S:=0; For i:=1 to n do S:=S+a[1];
C. S:=0; For i:=1 to n do S:= a[i];
D. S:=0; For i:=1 to n do a[i]:=S+a[i];
Câu 12. Câu lệnh nào sau đây in giá trị các phần tử mảng a ra màn hình?
A. For i:=1 to n do writeln(a);
B. For i:=1 to n do writeln(a[i]);
C. For i:=1 to n do readln(a[i]);
D. For i:=1 to n do writeln(i);
Câu 13. Đoạn chương trình dưới đây có bao nhiêu lỗi? S:=0
For i=1 to n do S=S+a[i]; A. 2; B. 3; C. 4; D. Không có lỗi.
Câu 14. Đoạn chương trình dưới đây có bao nhiêu lỗi? i=1; while i<10 do i=i+1; A. 1; B. 2; C. 3; D. Không có lỗi.
Câu 15. Đoạn chương trình dưới đây thực hiện công việc gì? Count:=0; For i:=1 to n do
If a[i]=0 then count:=count +1;
A. Đếm số lượng số khác 0 trong dãy số;
B. Tính tổng các số khác 0 trong dãy số
C. Đếm số lượng số 0 trong dãy số;
D. Không thực hiện công việc gì.
Phần 2: Lập trình
Bài 1: Viết chương trình nhập vào mảng n số nguyên. Tính tổng các số vừa nhập. In kết quả ra màn hình
Bài 2: Viết chương trình nhập vào mảng n số nguyên. Đếm xem trong mảng vừa nhập có bao
nhiêu số âm. In kết quả ra màn hình.
Bài 3: Viết chương trình nhập vào n số nguyên. Tìm phần tử lớn nhất trong dãy vừa nhập. In phần tử đó ra màn hình ĐỀ THI MINH HỌA
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 := down to do ; B. For := to do ; C. For := to do ; D. For = to do ;
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 VÀ BIỂU ĐIỂM - ĐỀ KIỂM TRA 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
Var:Array[. nêu cú pháp khai báo biến mảng cuối>]of; trong pascal?
a/ Giải thích cú pháp khai báo 1.0đ biến mảng trong Pascal? a
Chỉ số đầu và chỉ số cuối là hai số nguyên thỏa mản 0.5đ
b/ Cho ví dụ về khai báo biến
chỉ số đầu <= chỉ số cuối và kiểu dữ liệu có thể là mảng.
số nguyên (integer) hay số thực (real).
Câu 2: (2.0 điểm): Viết chương b 0.5đ
trình tính tổng từ 1đến 50 .
Var thunhap: array[1. 50] of real;
Câu 2: (2.0 điểm) : Viết chương program Tinh_tong;
trình tính tổng từ 1 đến 50 . uses crt; 0.5đ var i:integer; T:longint; begin 1.5đ 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.