Задача №19. Работа с массивами.
Автор материалов - Лада Борисовна Есакова.
Массив – это тип или структура данных в виде набора компонентов (элементов массива), расположенных в памяти непосредственно друг за другом. При этом доступ к отдельным элементам массива осуществляется с помощью индексации, то есть ссылки на массив с указанием номера (индекса) нужного элемента. Размерность массива — это количество индексов, необходимое для однозначного доступа к элементу массива
Одномерный массив представляет собой пронумерованную последовательность элементов одного и того же типа, имеющих общее имя. Для обращения к элементу массива используют имя и порядковый номер элемента в квадратных скобках: A[i].
Двумерный массив представляет собой матрицу элементов одного и того же типа в которой элемент, расположенный на пересечении i-й строки и j-го столбца, обозначается A[i,j].
Одномерные массивы
Пример 1.
В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, записанный на разных языках программирования, в котором значения элементов массива сначала задаются, а затем меняются.
Бейсик
|
Паскаль
|
FOR i=0 TO 10
A(i)=i-1
NEXT i
FOR i=1 TO 10
A(i-1)=A(i)
NEXT i
A(10)=10 |
for i:=0 to 10 do
A[i]:=i-1;
for i:=1 to 10 do
A[i-1]:=A[i];
A[10]:=10; |
Си
|
Алгоритмический язык
|
for (i = 0; i <= 10; i++)
A[i]=i-1;
for (i = 1; i <= 10; i++)
A[i-1]=A[i];
A[10]=10; |
нц для i от 0 до 10
A[i]:=i-1
кц
нц для i от 1 до 10
A[i-1]:=A[i]
кц
A[10]:=10 |
Как изменятся элементы этого массива после выполнения фрагмента программы?
1) все элементы, кроме последнего, окажутся равны между собой
2) все элементы окажутся равны своим индексам
3) все элементы, кроме последнего, будут сдвинуты на один элемент вправо
4) все элементы, кроме последнего, уменьшатся на единицу
Решение:
Выполним последовательно все действия, описанные в программе. После первого цикла массив примет вид:
Индекс |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Значение |
-1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Второй цикл сдвигает элементы массива на один влево:
i=1, A[0]:=A[1] = 0
i=2, A[1]:=A[2] = 1,
...
i=10, A[9]:=A[10] = 9.
А затем десятому элементу присваивается значение 10: A[10]:=10:
Индекс |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Значение |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Правильный ответ указан под номером 2.
Ответ: 2
Пример 2.
В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 4, 7, 3, 8, 5, 0, 1, 2, 9, 6
соответственно, т.е. A[0] = 4, A[1] = 7 и т.д.
Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на пяти языках программирования).

Решение:
Если i-й элемент массива меньше нулевого, то программа меняет их местами и увеличивает значение переменной c на 1.
Индекс |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Значение |
4 |
7 |
3 |
8 |
5 |
0 |
1 |
2 |
9 |
6 |
Первый раз условие «i-й элемент массива меньше нулевого» выполнится при i=2. Массив примет вид:
Индекс |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Значение |
3 |
7 |
4 |
8 |
5 |
0 |
1 |
2 |
9 |
6 |
А переменная с примет значение 1.
Второй раз условие «i-й элемент массива меньше нулевого» выполнится при i=5. Массив примет вид:
Индекс |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Значение |
0 |
7 |
4 |
8 |
5 |
3 |
1 |
2 |
9 |
6 |
А переменная с примет значение 2.
Больше условие «i-й элемент массива меньше нулевого» не выполнится ни разу. Значит, с = 2.
Ответ: 2
Пример 3.
В программе описаны одномерный целочисленный массив А с индексами от 0 до 10 и целочисленные переменные i и t. Ниже представлен фрагмент этой программы, записанный на разных языках программирования.
Бейсик
|
Паскаль
|
FOR i = 0 TO 10
A(i) = i
NEXT i
t = A(10)
FOR i = 9 TO 0 STEP -1
A(i+1) = A(i)
NEXT i
A(0) = t |
for i := 0 to 10 do
A[i] := i;
t := A[10]
for i := 9 downto 0 do
A[i+1] := A[i];
A[0] := t; |
Си
|
Алгоритмический язык
|
for (i = 0; i <= 10; i++)
A[i] = i;
t = A[10];
for (i = 9; i >= 0; i--)
A[i+1] = A[i];
A[0] = t; |
нц для i от 0 до 10
A[i] := i
кц
t := A[10]
нц для i от 9 до 0 шаг -1
A[i+1] := A[i]
кц
A[0] := t |
Чему окажутся равны элементы этого массива после выполнения фрагмента программы?
1) 10 0 0 0 0 0 0 0 0 0 0
2) 10 2 3 4 5 6 7 8 9 10 10
3) 10 10 10 10 10 10 10 10 10 10 10
4) 10 0 1 2 3 4 5 6 7 8 9
Решение:
Выполним последовательно все действия, описанные в программе. После первого цикла массив примет вид:
Индекс |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Значение |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Второй цикл работает в обратном порядке, от 9 до 0:
i = 9: A[10] := A[9] = 9,
i = 8: A[9] := A[8] = 8,
...
i = 1: A[2] := A[1] = 1
i = 0: A[1] := A[0] = 0,
А затем нулевому элементу присваивается значение 10 (A[0] := 10):
Индекс |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Значение |
10 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Правильный ответ указан под номером 4.
Ответ: 4
Двумерные массивы
Пример 4.
Значения элементов двумерного массива A размером 5x5 задаются с помощью вложенного цикла в представленном фрагменте программы:
for i:=1 tо 5 do
for j:=1 tо 5 do begin
A[i,j] := i*j;
end;
Сколько элементов массива будут иметь значения больше 10?
Решение:
Выполним последовательно все действия, описанные в программе:
i=1 (Заполняем первую строку матрицы)
j=1, A[1,1]:= 1*1 =1
j=2, A[1,2]:= 1*2 =2
j=3, A[1,3]:= 1*3 =3
j=4, A[1,4]:= 1*4 =4
j=5, A[1,5]:= 1*5 =5
|
1 |
2 |
3 |
4 |
5 |
1 |
1 |
2 |
3 |
4 |
5 |
2 |
|
|
|
|
|
3 |
|
|
|
|
|
4 |
|
|
|
|
|
5 |
|
|
|
|
|
i=2 (Заполняем вторую строку матрицы)
j=1, A[2,1]:= 2*1 =2
j=2, A[2,2]:= 2*2 =4
j=3, A[2,3]:= 2*3 =6
j=4, A[2,4]:= 2*4 =8
j=5, A[2,5]:= 2*5 =10
|
1 |
2 |
3 |
4 |
5 |
1 |
1 |
2 |
3 |
4 |
5 |
2 |
2 |
4 |
5 |
8 |
10 |
3 |
|
|
|
|
|
4 |
|
|
|
|
|
5 |
|
|
|
|
|
…..
i=5 (Заполняем пятую строку матрицы)
j=1, A[5,1]:= 5*1 =5
j=2, A[5,2]:= 5*2 =10
j=3, A[5,3]:= 5*3 =15
j=4, A[5,4]:= 5*4 =20
j=5, A[5,5]:= 5*5 =25
Значение элементов матрицы равно произведению номеров его строки и столбца
|
1 |
2 |
3 |
4 |
5 |
1 |
1 |
2 |
3 |
4 |
5 |
2 |
2 |
4 |
5 |
8 |
10 |
3 |
3 |
6 |
9 |
12 |
15 |
4 |
4 |
8 |
12 |
16 |
20 |
5 |
5 |
10 |
15 |
20 |
25 |
Значение больше 10 имеют 8 элементов матрицы.
Ответ:8
Благодарим за то, что пользуйтесь нашими статьями.
Информация на странице «Задача №19. Работа с массивами.» подготовлена нашими авторами специально, чтобы помочь вам в освоении предмета и подготовке к ЕГЭ и ОГЭ.
Чтобы успешно сдать необходимые и поступить в высшее учебное заведение или техникум нужно использовать все инструменты: учеба, контрольные, олимпиады, онлайн-лекции, видеоуроки, сборники заданий.
Также вы можете воспользоваться другими статьями из данного раздела.
Публикация обновлена:
07.05.2023