Тест:

1. Переменные x и y описаны следующим образом:

var x: array [1..10] of byte;

var y: array [1..5, 1..6] of real;

Какие из операторов присваивания некорректны:

x[2] := x[1] mod 2;

x[0] := 0;

x[1] := y[1, 2];

y[1, 1] := x[1];

x[2] := x[1]/2;

y[10, 10] := 1;

2. В какой ячейке таблицы допущена ошибка?

X

Y

not X

false

false

true

false

true

true

true

false

false

true

true

false

3. Какого типа будет результат умножения величины типа byte на величину типа single?

4. С помощью какой функции можно определить значение кода символа ASCII?

5. Какие из следующих функций применимы к перечисляемому типу - ord, chr, succ,pred?

6. Дан оператор:

if B then P else Q;

Какими конструкциями являются B, P, Q?

7. Сколько раз выполнится цикл

for i := $1 to $100 do writeln('Hello!');

8. Укажите значение переменной s после выполнения следующего фрагмента программы:

s:=0;

i:=2;

while i>0 do

begin

s:=s+(s+1)/i;

dec(i);

end;

9. Дана конструкция вида:

procedure P(v1:t1; var v2, v3:t2);

Чем в ней являются P, v1, v2, v3, t1, t2?

10. В какой последовательности и какие из операторов или их частей нужно использовать для нахождения номера максимального элемента массива a:array[1..100] of byte:

A

i:=1;

F

max:=1;

B

for i:= 1 to 100 do

G

for k:=1 to 100 do

C

then max := i;

H

then i:= i+1;

D

if a[k] > max

I

then a[i] :=max;

E

max := a[1];

J

if a[i] > a[max]

11. Задан массив a:array[1..N] of word. Что позволяет найти следующий фрагмент программы:

Q:=0;

for i:=1 to N-1 do

if (a[i] mod 2 =0) and (a[i+1] mod 2 =0)

then Q:=1;

12. Элементы массива a:array[1..3, 1..3] of integer имеют следующие значения:

11

12

13

0

4

3

-1

0

14

Каковы будут их значения после выполнения следующих операторов:

n:=3;

for i:=1 to n do

for j:=1 to n div 2 do

begin

c:=a[i,j];

a[i,j]:=a[i,n-j+1];

a[i,n-j+1]:=c;

end;

13. Сколько раз выполнится цикл в следующем фрагменте:

B:=true;

x:=64;

while B do

begin

B:=x>=4;

x:=x div 6 +2;

end;

14. Определить значение переменной k после выполнения следующих операторов:

k:=1;

for i :=1 to 1000 do

if (i mod 4 =1) and not(i mod 5 =2)

then inc(k);

15. Элементы массива a:array[1..6] of integer имеют следующие значения:

$20, $10, 8, 4, 2, 1

Найти значение выражения a[a[6]]+a[2] div a[4].