You are on page 1of 3

Họ và tên: .........................................................

Lớp: 8/….

NỘI DUNG ÔN TẬP


KIỂM TRA CUỐI KÌ II NĂM HỌC 2021-2022
MÔN TIN HỌC 8
Câu 1: Vòng lặp While – do kết thúc khi nào
A. Khi một điều kiện cho trước được thỏa mãn B. Khi đủ số vòng lặp
C. Khi tìm được Output D. Khi không đủ số vòng lặp
Câu 2: Việc đầu tiên mà câu lệnh While ... do 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 3: Cho biết câu lệnh sau từ khoá “Do” sẽ 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. 5 lần D. 6 lần
 Giải thích: 5 lần vì i = 5 mỗi lần kiểm tra i>=1 thì giảm i đi 1 đơn vị qua câu lệnh i := i – 1; vậy câu lệnh được thực
hiện 5 lần.( Lần 1: i = i – 1 = 5 -1 = 4, Lần 2: i = i – 1 = 4 – 1 = 3, … Lần 5: I = I – 1 = 1 – 1 = 0)
Câu 4: Hãy cho biết kết quả của đoạn chương trình dưới đây:
a:=10; While a < 11 do write (a);
A. Trên màn hình xuất hiện một số 10 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ố 11 D. Chương trình bị lặp vô tận
 Giải thích: vì 10<11 nên đưa ra màn hình giá trị của a là 10 qua câu lệnh write(a);
Câu 5: Câu lệnh sau giải bài toán nào:
While M <> N do
If M > N then M:=M-N else N:=N-M;
A. Tìm UCLN của M và N B. Tìm BCNN của M và N
C. Tìm hiệu nhỏ nhất của M và N D. Tìm hiệu lớn nhất của M và N
 Giải thích: Câu lệnh trên giải bài toán tìm UCLN của M và N. Với ý tưởng, kiểm tra xem M, N có giá trị khác nhau
không. Nếu có thực hiện kiểm tra giá trị nào lớn hơn. Giá trị lớn hơn sẽ được gán bằng hiệ của số lớn trừ số bé.
Việc làm thế cứ lặp đi lặp lại đến khi hai giá trị bằng nhau thì đưa ra UCLN của nó.
Câu 6: Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?
A. Ngày tắm hai lần B. Hứng nước cho tới khi đầy thùng
C. Mỗi tuần đi nhà sách một lần D. Ngày đánh răng 2 lần
Câu 7: Cú pháp lệnh lặp với số lần chưa biết trước nào là đúng:
A. While < điều kiện > to < câu lệnh >; B. While < điều kiện > to < câu lệnh 1 > do < câu lệnh 2 >;
C. While < điều kiện > do ;< câu lệnh >; D. While < điều kiện > do < câu lệnh >;
Câu 8: Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:
A. While S>=108 do B. While S < 108 do C. While S < 1.0E8 do D. While S >= E8 do
 Giải thích: Câu lệnh được thực hiện khi điều kiện được thỏa mãn. Do vậy mỗi lần thực hiện câu lệnh nó sẽ kiểm
tra điều kiện, đúng sẽ thực hiện, sai thì dừng vòng lặp. Mà điều kiện của bài là S>108 vì vậy nó sẽ kiểm tra S< 108
thì tính tổng đến khi S>108 thì dừng. Trong Pascal S< 108 được viết là S< 1.0E8.
Câu 9: 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 10: Hãy đưa ra kết quả trong đoạn lệnh:
x:=1; While x<=5 do write(‘De vuong’);
A. x:=1 B. X>=5 C. De vuong D. Không có kết quả.
 Giải thích: vì x= 1<5 nên sẽ thực hiện câu lệnh write(‘De vuong); → kết quả ra màn hình là nội dung trong dấu
nháy đơn.
Câu 11: Trong câu lệnh While...do… nếu điều kiện Đúng thì:
A. Thực hiện câu lệnh B. Câu lệnh bị bỏ qua C. Lặp 10 lần D. Kết thúc lặp
Câu 12: Trong câu lệnh While...do… nếu điều kiện Sai thì:
A. Thực hiện câu lệnh B. Câu lệnh bị bỏ qua C. Lặp 10 lần D. Kết thúc lặp
Câu 13: Câu lệnh lặp while…do nào dưới đây là đúng:
A. While i <= 10 do S := S+1/i; B. While i <> 1 do S = S+1/i;
D. While i := 10 do S = S+1/i; C. While i :<= 10 do S := S+1/i;
Câu 14: 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
 Giải thích: Số phần tử trong mảng là: 80 -12 +1 =69
Câu 15: 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;
 Giải thích: Trong đó: chỉ số đầu <= chỉ số cuối và kiểu dữ liệu chỉ có thể là integer hoặc real
Câu 16: Cú pháp khai báo dãy số nào sau đây đúng nhất?
A. Var < tên biến mảng > : array [ < chỉ số cuối > .. < chỉ số đầu >] of < kiểu dữ liệu >;
B. Var < tên biến mảng> : array [ < chỉ số đầu > .. < chỉ số cuối > ] of < kiểu dữ liệu >;
C. Var < tên biến mảng> : array [ < chỉ số cuối > : < chỉ số đầu > ] of < kiểu dữ liệu >;
D. Var < tên biến mảng> : array [ < chỉ số đầu > .. < chỉ số cuối >] for < kiểu dữ liệu >;
Câu 17: Để 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. Dùng 20 lệnh readln (A);
 Giải thích: Để 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 lặp với số lần biết
trước là For..do, câu Readln (A[i]) là nhập dữ liệu từ bàn phím cho từng phần tử.
Câu 18: 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]); B. readln(dientich[i]); C. readln(B5); D. read(dayso[9]);
 Giải thích: Cú pháp nhập dữ liệu cho biến mảng là: Read (<Tên mảng>[chỉ số]); hoặc Readln(<Tên mảng>[chỉ số]);
Câu 19: Em hãy chọn phát biểu đúng khi nói về dữ liệu kiểu mảng:
A. Dữ liệu kiểu mảng là tập hợp các phần tử không có thứ tự và mọi phần tử có cùng một kiểu dữ liệu
B. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mỗi một phần tử trong mảng có thể có các kiểu dữ liệu khác
nhau
C. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mọi phần tử có cùng một kiểu dữ liệu
D. Dữ liệu kiểu mảng là tập hợp các phần tử không có thứ tự và mọi phần tử không cùng kiểu dữ liệu
Câu 20: Cách khai báo biến mảng sau đây là đúng?
A. Var X; Array[3.. 4.8] of Integer; B. Var X: Array[10 .. 1] of Integer;
C. Var X: Array[4 .. 10] of Real; D. Var X: Array[10 , 13] of Real;
Câu 21: Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
A. Để truy cập đến một phần tử bất kì trong mảng B. Để quản lí kích thước của mảng
C. Dùng trong vòng lặp với mảng D. Quản lí kích thước của mảng
 Giải thích: Chỉ số của mảng dùng để tham chiếu (truy cập) đến một phần tử bất kì trong mảng. Cú pháp: <Tên
mảng>[chỉ số];
Câu 22: Chọn câu phát biểu đúng về kiểu dữ liệu của mảng?
A. Tất cả các kiểu dữ liệu để làm kiểu dữ liệu của mảng
B. chỉ có thể là kiểu số nguyên, số thực, kiểu logic, kiểu ký tự
C. Là kiểu của các phần tử của mảng, là Integer hoặc Real
D. Phải được định nghĩa trước thông qua từ khóa VAR
Câu 23: 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 24: Các khai báo biến mảng sau khai báo biến mảng nào đúng:
A. Var x: array[1…100] of integer; B. Var x: array[1..100] of integer;
C. Var x: array[1.5..10.5] of integer; D. Var x: array[1..100] integer ;
Câu 25: 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ố thực. B. Chỉ số đầu lớn hơn chỉ số cuối.
C. Kiểu dữ liệu có thể là integer hoặc real. D. Giữa chỉ số đầu và chỉ số cuối là dấu chấm phẩy (;)
Câu 26: Câu lệnh For..to..do kết thúc :
A. Khi biến đếm nhỏ hơn giá trị cuối B. Khi biến đếm lớn hơn giá trị cuối
C. Khi biến đếm nhỏ hơn giá trị đầu D. Khi biến đếm lớn hơn giá trị đầu
Câu 27: Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng :
A. for i:=2 to 50; do x:=x+1; B. for i:=2 to 50 do x:=x+1;
C. for i:=50 to 2 do x:=x+1; D. for i =50 to 2 do x:=x+1;
Câu 28: Đoạn chương trình sau giải bài toán nào?
For I:=1 to M do
If (I mod 3 = 0) and (I mod 5 = 0) then
T := T + I;
A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M
B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M
C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M
D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M
 Giải thích: For I:=1 to M do { I chạy trong phạm vi từ 1 đến M}
If (I mod 3 = 0) and (I mod 5 = 0) then { kiểm tra I chia hết cho 3 và cho 5 không}
T := T + I; {Cộng dồn vào tổng}
Câu 29: Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 3 đến 99
A. 99 B. 96 C. 97 D. 102
Câu 30: 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. 0
Câu 31: Câu lệnh WhereY cho biết?
A. Cho biết thứ tự của cột đang có con trỏ B. Biết thứ tự của cột a và hàng b
C. Đưa con trỏ về cột a, hàng b D. Cho biết thứ tự của hàng đang có con trỏ
Câu 32: Câu lệnh Pascal sau đây thực hiện hoạt động nào?
for n =:1 to 20 do;
A. Chạy biến n từ 1 đến 19. B. Chạy biến n từ 1 đến 20.
C. Kết quả khác. D. Chạy biến n từ 1 đến 21.
Câu 33: Lệnh lặp nào sau đây là đúng?
A. For i := 100 to 1 do writeln('Hello'); B. For i := 1.5 to 10.5 do writeln('Hello');
C. For i > 1 to 10 do writeln('Hello'); D. For i := 1 to 100 do writeln('Hello');

You might also like