wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Ôn tập cuối kì 2 - Tin học 8

Total questions: 62

Worksheet time: 31mins

Name
Class
Date
1.

Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ nhánh?

a)

A:= B

b)

A > B

c)

N mod 100

d)

“A nho hon B”

2.

Câu lệnh điều kiện dạng đầy đủ là:

a)

If <Điều kiện> then <Câu lệnh 1>; Else <Câu lệnh 2>;

b)

If <Điều kiện> then <Câu lệnh>;

c)

If <Điều kiện> then <Câu lệnh 1>, <Câu lệnh 2>;

d)

If <Điều kiện> then <Câu lệnh 1> Else <Câu lệnh 2>;

3.

Hãy cho biết giá trị của biến X bằng bao nhiêu sau khi thực hiện câu lệnh:

   if (45 mod 3 ) = 0 then X :=X+2;

   ( Biết rằng trước đó giá trị của biến X = 5)

a)

5

b)

 9

c)

7

d)

11

4.

Ta có 2 lệnh sau:

   x:= 8;

   If x>5 then x := x +1;

   Giá trị của x là bao nhiêu?

a)

5

b)

9

c)

8

d)

6

5.

Các câu lệnh Pascal nào sau đây được viết đúng:

a)

If x:= 5 then a = b;

b)

If x > 4; then a:= b;

c)

If x > 4 then a:=b else m:=n;

d)

If x > 4 then a:=b; else m:=n;

6.

Để 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)

If a>b then Max:=a else Max:=b;

c)

Max:=b; If a>Max then Max:=a;

d)

Cả 3 câu đều đúng.

7.

Hãy chọn cách dùng sai . Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau :

a)

if A <= B then X := A else X := B;

b)

if A < B then X := A;

c)

X := B; if A < B then X := A;

d)

if A < B then X := A else X := B;

8.

IF a>8 THEN b:=3 ELSE b:=5;

   Khi a nhận giá trị là 0 thì b nhận giá trị nào?

a)

0

b)

5

c)

8

d)

3

9.

Chọn câu lệnh Pascal hợp lệ trong các câu sau:

a)

If x : = a + b then x : = x + 1;

b)

If a > b then max = a;

c)

If a > b then max : = a else max : = b;

d)

If 5 := 6 then x : = 100;

10.

Hãy cho biết giá trị của biến X bằng bao nhiêu sau khi thực hiện câu lệnh:

   X:= 10;

   IF (91 mod 3 ) = 0 then X :=X+20;

a)

10

b)

30

c)

2

d)

1

11.

Trong Pascal, câu lệnh điều kiện nào sau đây được viết đúng?

a)

if  a := 1 then a := a + 1;

b)

if  a > b else write(a);

c)

if  (a mod 2) = 0 then write('So khong hop le');

d)

if x=y; then writeln(y);

12.

Cú pháp câu điều kiện dạng thiếu là:

a)

If <Điều kiện> then <Câu lệnh 1>; Else <Câu lệnh 2>;

b)

If < Điều kiện> then < Câu lệnh >;

c)

If < Điều kiện> then < Câu lệnh 1 >, < Câu lệnh 2 >;

d)

If < Điều kiện > then < Câu lệnh 1 > Else < Câu lệnh 2 >;

13.

Tính giá trị của biến Y sau khi thực hiện câu lệnh:

   Y:= 4;

   IF (7 div 3) = 2 then Y :=Y-2;

a)

1

b)

2

c)

10

d)

30

14.

Hình bên là cấu trúc rẽ nhánh dạng:

a)

dạng đủ

b)

dạng thiếu

c)

dạng dư

d)

lặp với số lần chưa biết

15.

Tính giá trị của biến X bằng bao nhiêu sau khi thực hiện câu lệnh:

   if (45 div 4) = 11 then X :=X+7;

   (Biết rằng trước đó giá trị của biến X = 2)

a)

2

b)

7

c)

9

d)

11

16.

Cấu trúc rẽ nhánh có bao nhiêu loại?

a)

2

b)

3

c)

4

d)

5

17.

If ... Then ... Else là:

a)

Vòng lặp xác định 

b)

Vòng lặp không xác định

c)

Câu lệnh điều kiện

d)

Một khai báo

18.

Kiểu dữ liệu của biến đếm trong lệnh lặp For … do:

a)

Cùng kiểu với giá trị đầu và giá trị cuối

b)

Chỉ cần khác kiểu với giá trị đầu

c)

Cùng kiểu với các biến trong câu lệnh

d)

Không cần phải xác định kiểu dữ liệu

19.

Hoạt động nào sau đây lặp với số lần lặp biết trước?

a)

Giặt tới khi sạch

b)

Học bài cho tới khi thuộc bài

c)

Gọi điện tới khi có người nghe máy

d)

Ngày đánh răng 2 lần

20.

Chọn cú pháp câu lệnh lặp là:

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ị cuối > to < giá trị đầu > do < câu lệnh >;

c)

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

d)

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

21.

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

22.

Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng :

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 =10 to 1 do x:=x+1;

23.

Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu nào?

a)

Integer

b)

Real

c)

String

d)

Tất cả các kiểu trên đều được

24.

Đ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

25.

Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 1 đến 100

a)

1

b)

100

c)

99

d)

102

26.

Trong lệnh lặp For … do:

a)

Giá trị đầu phải nhỏ hơn giá trị cuối

b)

Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối

c)

Giá trị đầu phải lớn hơn giá trị cuối

d)

Giá trị đầu phải bằng giá trị cuối

27.

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

28.

Lệnh lặp For, mỗi lần lặp giá trị của biến điếm thay đổi thế nào?

a)

Tăng 1

b)

Tăng 2.

c)

Tăng 3

d)

Tăng 4.

29.

Vòng lặp For .. do là vòng lặp

a)

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

b)

chưa 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à <=50.

d)

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

30.

Câu lệnh pascal nào sau đây là hợp lệ?

a)

For i:= 1 to 10; do writeln(‘A’);                

b)

For i= 1.5 to 10.5  writeln(‘A’);               

c)

For   i:= 1 to 10 do writeln(‘A’);                                  

d)

For i:=100  to 10 do writeln(‘A’);

31.

Trong câu lệnh lặp:     

 j:=0; For i := 1 to 10 do j:= j + 2;

Khi kết thúc câu lệnh lặp trên, câu lệnh j:=j+2 được thực hiện bao nhiêu lần?

a)

10 lần

b)

5 lần

c)

2 lần

d)

Không thực hiện.

32.

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.

33.

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 biến đếm bằng giá trị cuối

34.

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>

35.

Cho biết câu lệnh sau Do 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

36.

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

37.

 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

38.

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ọc bài cho tới khi thuộc bài

c)

Mỗi tuần đi nhà sách một lần

d)

Ngày đánh răng 2 lần

39.

Cú pháp lệnh lặp với số lần chưa biết trước:

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

40.

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

41.

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

42.

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

   x:=1; While x<=5 do

           Begin

           writeln(‘Hoa hau’);

           x:=x+2;

           end;

a)

x:=1

b)

X>=5

c)

in 5 lần “Hoa hau”

d)

in 3 lần “Hoa hau”

43.

Vòng lặp while ..do 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

44.

Đoạn lệnh sau, mỗi lần lặp giá trị của biến i trong câu lệnh sau thay đổi như thế nào?

       While i<=10 do i:=i+3;

a)

Tăng 1

b)

Tăng 2

c)

Tăng 3

d)

Tăng 4

45.

<câu lệnh> sau từ khóa Do trong câu lệnh while .. do được thực hiện ít nhất mấy lần?

a)

0 lần.

b)

1 lần.

c)

2 lần.

d)

Vô số lần.

46.

Khi sử dụng lệnh lặp While .. do càn chú ý điều gì?

a)

Số lần lặp.

b)

Số lượng câu lệnh.

c)

Điều kiện dần đi đến sai.

d)

Điều kiện dần đi đến đúng.

47.

Câu lệnh lặp while .. do có dạng đúng là:

a)

x:=10; While x:=10 do x:=x+5;

b)

x:=10; While x=10 to x:=x+5;

c)

x:=10; While x=10 do x=x+5;

d)

x:=10 While x=10 do x:=x+5;

48.

Trong Pascal, câu lệnh nào sau đây là đúng?

a)

S:=1;While S<10 do write(S);

b)

i:=0; S:=1;While s<10 do S:=S+i; i:=i+1;

c)

n:=2; While n<5 do write(‘A’);

d)

S:=10; While S>9 do write(S);

49.

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

50.

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;

51.

Cú pháp khai báo dãy số nào sau đây đúng nhất?

a)

Var < tên dãy số > : array [ < chỉ số cuối > .. < chỉ số đầu >] of < kiểu dữ liệu >;

b)

Var < tên dãy số > : array [ < chỉ số đầu > .. < chỉ số cuối > ] of < kiểu dữ liệu >;

c)

Var < tên dãy số > : array [ < chỉ số cuối > : < chỉ số đầu > ] of < kiểu dữ liệu >;

d)

Var < tên dãy số > : array [ < chỉ số đầu > .. < chỉ số cuối >] for < kiểu dữ liệu >;

52.

Để 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.

53.

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

54.

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)

Tất cả ý trên đều sai

55.

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;

56.

Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?

a)

Dùng để truy cập đến một phần tử bất kì trong mảng

b)

Dùng để quản lí kích thước của mảng

c)

Dùng trong vòng lặp với mảng

d)

Dùng trong vòng lặp với mảng để quản lí kích thước của mảng

57.

Chọn câu phát biểu đúng về kiểu dữ liệu của mảng?

a)

Có thể dùng tất cả các kiểu dữ liệu để làm kiểu dữ liệu của mảng

b)

Kiểu dữ liệu của mảng chỉ có thể là kiểu số nguyên, số thực, kiểu logic, kiểu ký tự

c)

Kiểu dữ liệu của mảng là kiểu của các phần tử của mảng, là Integer hoặc Real

d)

Kiểu dữ liệu của mảng phải được định nghĩa trước thông qua từ khóa VAR

58.

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

59.

Cú pháp để truy cập đến giá trị phần tử trong mảng là:

a)

<tên mảng>.[chỉ số]

b)

<tên mảng>=[chỉ số]

c)

<tên mảng>{chỉ số}

d)

<tên mảng>[chỉ số]

60.

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)

1

b)

5

c)

6

d)

7

61.

Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây sai?

a)

Chỉ số đầu và chỉ số cuối là 2 số thực.

b)

Chỉ số đầu..chỉ số cuối.

c)

Kiểu dữ liệu có thể là integer hoặc real.

d)

Chỉ số đầu cuối là số nguyên.

62.

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:

tong:= 0; For i:= 1 to 5 do tong := tong + A[i];

Giá trị của biến tong  là bao nhiêu?

a)

4

b)

18

c)

20

d)

22