Сдай ЕГЭ на 100 баллов!

Учебные материалы и курсы для подготовки к ЕГЭ по математике и другим предметам

Ваш регион: Москва

Задача №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 размером 5×5 задаются с помощью вложенного цикла в представленном фрагменте программы:

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

Звоните нам: 8 (800) 775-06-82 (бесплатный звонок по России)
                       +7 (495) 984-09-27 (бесплатный звонок по Москве)

Или нажмите на кнопку «Узнать больше», чтобы заполнить контактную форму. Мы обязательно Вам перезвоним.

Полный онлайн-курс подготовки к ЕГЭ по математике. Структурировано. Четко. Без воды. Сдай ЕГЭ на 100 баллов!

Смотреть

Для нормального функционирования и Вашего удобства, сайт использует файлы cookies. Это совершенно обычная практика.Продолжая использовать портал, Вы соглашаетесь с нашей Политикой конфиденциальности.

Позвоните мне

Все поля обязательны для заполнения

Отправить