You are on page 1of 10

ỦY BAN NHÂN DÂN TP.

VŨNG TÀU ĐỀ CƯƠNG HỌC KỲ II


TRƯỜNG THCS THẮNG NHẤT MÔN TIN HỌC 8
NĂM HỌC: 2021 - 2022

I. NỘI DUNG ÔN TẬP

TỪ BÀI 7 ĐẾN HẾT BÀI 10

II. TRẮC NGHIỆM THAM KHẢO (4 điểm): CHỌN ĐÁP ÁN ĐÚNG


Câu 1: Lệnh lặp nào sau đây là đúng?
A. For <biến đếm>= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

B. For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

C. For <biến đếm>:= <giá trị cuối> to <giá trị đầu> do <câu lệnh>;

D. For <biến đếm>: <giá trị đầu> to <câu lệnh> do <giá trị cuối>;

Câu 2: Vòng lặp While <Điều kiện> do <Câu lệnh>; là vòng lặp:
A. Chưa biết trước số lần lặp

B. Biết trước số lần lặp

C. Biết trước số lần lặp nhưng giới hạn là <=100

D. Biết trước số lần lặp nhưng giới hạn là >=100

Câu 3: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu:
s:=1;

for i:=1 to 5 do s := s*i;

A.120 B. 55 C. 121 D. 151

Câu 4: Phần thân chương trình bắt đầu bằng từ khóa:


A. End. B. Begin. C. Uses. D. Var.

Câu 5: Cú pháp khai báo biến mảng trong Pascal là:
A. var <Tên mảng> ; array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu >;
B. var <Tên mảng> : aray [<chỉ số đầu>…<chỉ số cuối>] of <kiểu dữ liệu >;

C. var <Tên mảng> : array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu >;

D. var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] for <kiểu dữ liệu >;

Câu 6: Câu lệnh pascal nào sau đây là 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 7: Chọn khai báo hợp lệ:


A. Var a,b: array[1 .. n] of real; C. Var a,b: array[1 : n] of Integer;

B. Var a,b: array[1 .. 100] of real; D. Var a,b: array[1 … 100] of real;

Câu 8: Trong lệnh lặp for…do của Pascal, trong mỗi vòng lặp, biến đếm thay đổi như thế nào?
A. +1 B. +1 hoặc -1 C. Một giá trị bất kì D. Một giá trị khác 0

Câu 9: Cú pháp của câu lệnh While…do là:


a. While <điều kiện> to <câu lệnh>;

c. While <điều kiện> do <câu lệnh>;

b. While <điều kiện> to <câu lệnh1> do <câu lệnh 2>;

d. While <điều kiện>; do <câu lệnh>;

Câu 10: Đâu là công việc phải thực hiện nhiều lần với số lần biết trước?
A. Hàng ngày em đi học.

B. Em bị ốm vào một dịp có dịch cúm

C. Đến nhà bà ngoại chơi vào một hôm cả bố và mẹ đi vắng

D. Ngày đánh răng ba lần

Câu 11: Hãy đưa ra kết quả trong đoạn lệnh:


   x:=1; While x<=5 do write(‘Hoa hau’);

   A. x:=1 B. X>=5 C. Hoa hau D. Không có kết quả.

Câu 12: Lệnh lặp nào sau đây là đúng?


A. For <biến đếm>= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

B. For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

C. For <biến đếm>:= <giá trị cuối> to <giá trị đầu> do <câu lệnh>;

D. For <biến đếm>: <giá trị đầu> to <câu lệnh> do <giá trị cuối>;

Câu 13: 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 14: Pascal sử dụng câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước?
a/ For…do; b/While…do; c/ If..then; d/ If…then…else;

Câu 15: Em được học vẽ hình với phần mềm nào?


a/ Pascal; b/ Geogebra; c/ Mario; d/ Finger Break out;

Câu 16: Câu lệnh gotoXY(a,b) có tác dụng gì?


A. Đưa con trỏ về hàng a cột b B. Đưa con trỏ về cột a hàng b

C. Cho biết thứ tự của hàng con trỏ đang đứng. D. Đưa con trỏ về cuối dòng

Câu 17: Biến a được nhận các giá trị là 0 ; -1 ; 1 ; 2,3 . Ta có thể khai báo a thuộc kiểu dữ liệu
nào?
a. Integer b. Char c. Real d. Integer và Longint

Câu 18: Cấu trúc chung hợp lý của một chương trình Pascal là:
A. Begin -> Program -> End. B. Program -> End -> Begin.
C. End -> Program -> Begin. D. Program -> Begin -> End.

Câu 19: Cho các câu lệnh sau hay chỉ ra câu lệnh đúng:
a. for i:=1 to 10; do x:=x+1 c. for i:=1 to 10 do x:=x+1

b. for i:=10 to 1 do x:=x+1. d. for i:= 1 to 10 for j:=1 to 10 do x:=x+1

Câu 20: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :


s:=1;

for i:=1 to 5 do s := s *i;

writeln(s);

Kết quả in lên màn hình là :

a. s = 72 b. s = 101 c. s = 55 d. s = 120

câu 21: Số phần tử trong khai báo dưới đây là bao nhiêu?

   Var hocsinh : array[12..80] of integer;

   A. 80 B. 70 C. 69  D. 68

Câu 22: Khai báo mảng nào là đúng trong các khai báo sau đây:

   A. var tuoi : array[1..15] of integer;

   B. var tuoi : array[1.5..10.5] of integer;

   C. var tuoi : aray[1..15] of real;

   D. var tuoi : array[1 … 15 ] of integer;

Câu 23: Để nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số nguyên ta dùng lệnh nào
sau đây?

   A. For i:=1 to 10 do Readln(A[i]);


   B. For i:= 1 to 10 do Writeln(A[i]);

   C. Dùng 10 lệnh Readln(A);

   D. Cả (A), (B), (C) đều sai.

Câu 24: Các cách nhập dữ liệu cho biến mảng sau, cách nhập nào không hợp lệ?

   A. readln(B[1]);    C. readln(B5);

   B. readln(dientich[i]); D. read(dayso[9]);

Câu 25: Cách khai báo biến mảng sau đây là đúng?

   A. Var X: Array[3.. 4.8] of Integer; C. Var X: Array[4 .. 10] of Real;

   B. Var X: Array[10 .. 1] of Integer; D. Var X: Array[10 , 13] of Real;

Câu 26: Cho khai báo mảng như sau: Var a : array[0..30] of integer ;

   Để in giá trị phần tử thứ 20 của mảng một chiều A ra màn hình ta viết:

   A. Write(A[20]); B. Write(A(20)); C. Readln(A[20]);  D. Write([20]);

Câu 27: Để tìm hiểu hệ xương ta nháy chuột vào biểu tượng có chữ:

   A. EXCRETOR SYSTEM C. SKELETAL SYSTEM

   B. NERVOUS SYSTEM D. MUSCULAR SYSTEM

Câu 28: các thao tác trực tiếp trên hình mô phỏng hệ xương là:

   A. Dịch chuyển mô hình lên xuống C. Phóng to, thu nhỏ mô hình

   B. Xoay mô hình xung quanh trục của mình D. Tất cả các đáp án trên

Câu 29: Để quan sát chi tiết các hệ giải phẫu cơ thể người ta thực hiện:

   A. Nháy đúp chuột vào bộ phận đó.    C. Nháy chuột phải vào bộ phận đó.
   B. Nháy chuột vào bộ phận đó. D. Tất cả đều sai.

Câu 30: Trên màn hình Learn, để tìm hiểu hệ cơ ta nháy chuột vào dòng chữ:

   A. NERVOUS SYSTEM    C. MUSCULAR SYSTEM

   B. SKELETAL SYSTEM D. REPRODUCTIVE SYSTEM

Câu 31: Chức năng của hệ cơ là:

   A. Bám vào xương    C. làm cho xương chuyển động

   B. Co dãn  D. tất cả các đáp án trên

Câu 32: hi đang xem một hệ muốn bổ sung thêm các hệ khác ta nháy vào:

   A. Nút dấu cộng phía bên trái màn hình

   B. Nút mũi tên phía bên trái màn hình

   C. Nút ngôi nhà phía bên trái màn hình

   D. Tất cả đều đúng

Câu 33: Khi sử dụng phần mềm anatomy sử dụng chức năng mô phỏng này sẽ đưa ra một bộ
phim hoạt hình mô tả chi tiết toàn bộ hoạt động của hệ:

   A. Hệ xương B. Hệ cơ C. Hệ tuần hoàn D. Tất cả đều đúng

Câu 34: Trên màn hình Learn chọn dòng chữ RESPIRATORY SYSTEM để tìm hiểu hệ:

   A. Hệ cơ B. Hệ xương C. Hệ hô hấp D. Hệ sinh dục

Câu 35: Trong phần mềm anatomy, khi sử dụng chức năng mô phỏng giống như hệ tuần hoàn
là:

   A. Hệ bài tiết B. Hệ tiêu hóa C. Hệ hô hấp D. Tất cả các đáp án trên
Câu 36: Điền X vào các ô sao cho phù hợp và giải thích vì sao?
Câu Đúng Sai Giải thích
a) for i=1 to 10 do writeln('A'); X Sai cú pháp câu lệnh for to do
b) var X: Array[5…10] Of Char; x Sai cú pháp khai báo mảng
c) X:=10; while X=10 do X := X+5; x
d) if x>5 then a:=b; else m := n; x Trước else không có dấu ;

Câu 37: Các câu lệnh Pascal sau có hợp lệ không, vì sao? Nếu sai hãy sửa lại cho đúng?

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');

e) var x :real; begin for x:=1 to 10 do writeln('A'); end.

Gợi ý trả lời:


a) Không hợp lệ vì giá trị đầu lớn hơn giá trị cuối.

b) Không hợp lệ vì giá trị đầu và giá trị cuối không là các giá trị nguyên.

c) Không hợp lệ vì lệnh gán phải kí hiệu là := chứ không phải =

d) Không hợp lệ vì sau từ khóa do không được phép có dấu chấm phấy ;

e) Không hợp lệ, vì không x phải khai báo số nguyên.

III. TỰ LUẬN (6 điểm)

DẠNG 1: TÌM LỖI VÀ SỬA LỖI


Câu 1.
Var s,i: longint;
Begin
S:=0.5 S:=0.5;
i = 1; i:=1;
while s ≤ 5.5 do S<=5.5
s = s+i; S:=S+1;
write(‘s = ‘,s);
end; end.
Câu 2.
Var p,i,n: real; Var p,i,n: integer;
Begin
Readln(n) Readln(n);
p:=1;
for i=1 to n do i: =1
p= p*i/(i+1); p:= p*i/(i+1);
write(‘p = ‘,p);
end; end.
Câu 3
Var a:array[1: 50] of longint; [1.. 50]
n,s,i: real; n,s,i: integer;;
Begin
Readln(n);
For i=1 to n do For i:=1 to n do
Readln(a(i)); Readln(a[i]);
S:=0;
For i:= 1 to n do
S:= s+a(i); S:= s+a[i];
write(‘s = ‘,s);
end.
Câu 3:  Đánh dấu [x] vào ô đúng hoặc sai tương ứng trong các câu lệnh Pascal trong chương
trình tính tổng 10 số tự nhiên đầu tiên, nếu sai sửa lại?
Câu lệnh Đúng Sai Sửa lại
Program Chuong trinh x Program Chuong_trinh;
Var i,s : real; x
Const n:=10; x Const n=10;
Begin x
Wile i <=n do; x While i <=n do
Begin x
x S:=s+I;
i =i+1 x i: =i+1;
End. x End;
Writeln(s) x Writeln(s);
Readln x
x
End; End.

DẠNG 2: VIẾT CHƯƠNG TRÌNH ĐƠN GIẢN


Câu 1: Viết chương trình sử dụng biến mảng để nhập từ bàn phím các phần tử của 1 dãy số. Độ
dài của dãy cũng được nhập từ bàn phím
CT mẫu:
uses crt;
var n,i:integer;
a:array[1..100] of integer;
Begin
clrscr;
write('nhap so phan tu cua day:'); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
writeln('day so da nhap:');
for i:=1 to n do write(a[i]:2);
readln;
end.
Câu 2: Cho số nguyên N (N<50 được nhập từ bàn phím), viết chương trình nhập N số nguyên
từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhất?

CT mẫu:
Var i, N, Min, Max: Integer;
A: Array[1..50] of Integer;
Uses Crt;
Begin
Clrscr;
Write(‘Nhap so nguyen N < 50 :’);
Readln(N);
Writeln(‘Nhap day gom ’, N, ‘so nguyen:’);
For i:=1 to N do
Begin
Write(‘A[’,i,‘]= ’);
Readln(A[i]);
End;
Max:=A[1];
Min:=A[1];
For i:=2 to N do
Begin
If Max < A[i] Then Max := A[i];
If Min > A[i] Then Min := A[i];
End;
Writeln(‘So lon nhat la: ’, Max);
Writeln(‘So nho nhat la: ’, Min);
Readln
End.

----------------------Hết-------------------------

Duyệt của TTCM/Nhóm trưởng Duyệt của BGH nhà trường

You might also like