К оглавлению



9 класс. Глава 2
Программирование. Одномерные массивы

1. Отметьте все правильные утверждения о массивах в языке Pascal:
элементы массива могут быть разных типов
все элементы массива должны быть одного типа
элементы в памяти расположены рядом
элементы могут быть расположены в памяти по одному
элементы всегда нумеруются с единицы
2. Отметьте все правильные объявления массива в языке Паскаль.
var A[1..20] of integer;
var A[1..10];
var A: array [1..20] of integer;
var A: array [-8..10] of integer;
var A: array [-8..10];
3. Имеется описание массива:
var c: array [-3..3] of integer;
Сколько байт в памяти занимает этот массив, если на число целого типа отводится 4 байта?.
12
24
28
7
4. Какие значения примут элементы массива, если он будет сформирован с помощью следующего фрагмента программы?
for n:=1 to 7 do a[n]:=n;
1 2 3 4 5 6 7
7 6 5 4 3 2 1
1 1 1 1 1 1 1
7 7 7 7 7 7 7
5. Какие значения примут элементы массива, если он будет сформирован с помощью следующего фрагмента программы?
for n:=1 to 5 do a[n]:=n*n-4;
1 2 3 4 5
-4 -3 -2 -1 0
-3 0 5 12 21
1 4 9 16 25
6. Какие значения примут элементы массива, если он будет сформирован с помощью следующего фрагмента программы?
for n:=1 to 8 do 
if n mod 2 = 0 then a[n]:=n/2 else a[n]:=0;
0 1 0 1 0 1 0 1
0 1 0 2 0 3 0 4
1 0 2 0 3 0 4 0
8 0 8 0 8 0 8 0
7. Известны значения элементов массива a:
2 -1 0 8 -5
Какие значения получат элементы массива b, если он сформирован с помощью следующего фрагмента программы?
for n:=1 to 5 do b[n]:=a[n]+5;
0 13 5 4 7
7 4 5 13 0
6 7 8 9 10
10 9 8 7 6
8. Задан массив x[1..k]. Какое условие надо поставить вместо многоточия, чтобы найти количество четных элементов массива в переменной s?
s:=0;
for n:=1 to k do
if . . . then s:=s+1;
s mod 2 = 1
s div 2 = 0
x[n] mod 2 = 0
x[n] div 2 = 1
9. Необходимо заполнить массив x[1..6] следующим образом:
1 3 5 7 9 11
Какой оператор надо поместить в тело цикла вместо многоточия?
for n:=1 to 6 do 
begin
. . .
end;
x[n] := n;
x[n] := 2*n;
x[n] := 2*n+1;
x[n] := 2*n-1;
10. Чему равна сумма значений элементов a[1] и a[4] массива, сформированного следующим образом?
for n:=1 to 5 do a[n]:=n*(n+1);
Ответ: 
11. Что будет выведено на экран в результате работы следующей программы?
var n, s: integer; sr: real;
const a: array [1..6] of integer = (1,5,3,5,0,10);
begin
s:=0;
for n:=1 to 6 do s:=s+a[n];
sr:=s/6;
writeln (sr)
end.
Ответ: 
12. Установите соответствие между фрагментами программ на языке Pascal и результатами их работы:

1 фрагмент
y:=0;
for n:=1 to 10 do
if a[n]=0 then y:=y+1;
2 фрагмент
s:=0;
for n:=1 to 10 do
if n mod 2 = 0 then s:=s+a[n];
3 фрагмент
m:=a[1];
for n:=2 to 10 do
if a[n]>m then m:=a[n];
4 фрагмент
z:=1;
for n:=1 to 10 do
if a[n]<>0 then z:=z*a[n];
Значение наибольшего элемента массива
Количество нулевых элементов массива
Произведение ненулевых элементов массива
Сумма всех элементов массива с чётными номерами