Обработка массивов в Паскале
Список вопросов теста
Вопрос 1
В таблице D представлены данные о количестве голосов, поданных за 10 исполнителей народных песен (D[1] - количество голосов, поданных за первого исполнителя, D[2] - за второго и т. д.). Определите, какое число будет напечатано в результате работы следующей программы.
Var k, m: integer;D: array[1...10] of integer;
Begin
D[1] := 56; D[2] := 70; D[3] := 20; D[4] := 41;D[5] := 14; D[6] := 22; D[7] := 30; D[8] := 12; D[9] := 65; D[10] := 35;
m := 100;
for k := 1 to 10 do
if D[k] < m then
begin
m := D[k]
end;
writeln(m);
End.
Вопрос 2
В программе описан одномерный целочисленный массив А с индексами от 1 до 10 и целочисленные переменные k, i. Ниже представлен фрагмент программы, в которой значения элементов сначала задаются, а затем меняются.
for i:=1 to 10 do
a[i]:=i;
for i:=1 to 5 do begin
k:=a[i];
a[i]=a[10-i];
a[10-i]:=k;
end;
Чему будут равны элементы этого массива?
Варианты ответов
- 10 9 8 7 6 5 4 3 2 1 0
- 0 1 2 3 4 5 4 3 2 1 0
- 10 9 8 7 6 6 7 8 9 10
- 0 1 2 3 4 5 6 7 8 9 10
Вопрос 3
Дана программа. Определить результат ее работы.
Var M: array[1..10] of integer;
i:integer;
begin
FOR i:=1 TO 10 do
READ( M[i]);
FOR i:=1 TO 10 do
If (i mod 2 =0) then WRITE ( M[i]);
End.
Варианты ответов
- Выводит на экран все элементы массива большие или равные 2
- Выводит на экран четные элементы массива А(20)
- Находит сумму четных элементов массива
- Вводит на экран элементы массива с четными индексами
Вопрос 4
Дан фрагмент программы, определить назначение:
S := 0;
For i=1 to 23 do
If (a[i]>=3) then s := s + a[i];
Writeln (S);
end.
Варианты ответов
- Выводит на экран все элементы массива большие или равные 3
- Находит сумму всех элементов массива, кратных 3
- Находит сумму элементов массива, индекс которых больше или равен 3
- Находит сумму элементов массива больших или равных числу 3.
Вопрос 5
Какие значения принимают элементы массива А?
Var A: array [1..10] of integer; I : integer;
Begin
For i :=1 to 10 do
A [ i ]:= random (20) - 10;End;
Варианты ответов
- от -10 до 10
- от 0 до 10
- от 0 до 20
- от -10 до 20
Вопрос 6
Сумма массива вычисляется по следующей формуле
Варианты ответов
- a[i]+s :=s
- s:=s+a[i];
- s:=s[i]+a[i];
- s:=i+a[i];
Вопрос 7
Результат работы программы
Program pr;
Var х: array [1..100] of integer; i, s: integer;
begin
s: =0;
for i:=l to 100 do begin
readln (x [i]) ;
if (x[ i ]mod 2=0) and (x[i]>0) then s:=s+1 ;
end;
writeln (s) ;
end.
Варианты ответов
- количество четных положительных элементов массива
- количество положительных элементов массива с четными индексами
- сумму четных элементов массива
- среднее арифметическое значений элементов массива с четными индексами
Вопрос 8
Задан массив X[1..N]. Какой оператор надо поставить вместо многоточия, чтобы найти сумму всех элементов массива в переменной Sum?
Sum := 0;
for k := 1 to N do
Sum := ……………………………....
Варианты ответов
- Sum:=Sum+X[k]
- Sum(k):=Sum+X(k)
- Sum:=Sum+k
- Sum+X(k):=Sum
Вопрос 9
Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти количество четных элементов массива в переменной count?
count:= 0;
for j:=1 to N do
if X[j] mod 2 = .... then count := count + 1;
Вопрос 10
Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти сумму положительных элементов массива в переменной S?
S := 0;
for k := 1 to N do begin
if . . ………………………… then S := S + X[k];
end;
Варианты ответов
- X[k] mod 2=0
- k mod 2=0
- X[k] div 2=0
Вопрос 11
Какое значение получит s в результате выполнения фрагмента программы:
var
s: integer;
с: array [1..3] if integer;
const а: array [1..3] of integer=(1, 2, 3);
const b: array [1..3] of integer=(3, 2, 0);
begin
s:=0;
for i:=1 to 3 do
begin
c[i]:=a[i]+b[i];
s:=s+c[i];
end;
Вопрос 12
Значения двух массивов A[1..10] и B[1..10] задаются с помощью следующего фрагмента программы:
For i:=1 to 10 do
Begin
A[i]:=10-i;
End;
For i:=1 to 10 do
B[i]:=A[5]-A[i];
Сколько элементов массива В будут иметь отрицательные значения?
Вопрос 13
Пусть в массиве а хранятся следующие числа: 2,7,10,2,5. Какое число будет выведено на экран в результате выполнения этого фрагмента:
n:=1;
for i:=1 to 5 do
if a[i] mod 2=0 then n:=n*2;
write(n);


