Slider

Задача №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

Интенсивная подготовка

Бесплатные пробные ЕГЭ

Расписание курсов

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

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

БЕСПЛАТНЫЙ РЕПЕТИЦИОННЫЙ ЕГЭ ОНЛАЙН

Типы подготовки:
Сказать спасибо
РЕКОМЕНДУЕМ:
ege-tv

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

Смотреть

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

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

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

Отправить

Премиум

Вся часть 2 на ЕГЭ по математике, от задачи 13 до задачи 19. То, о чем не рассказывают даже ваши репетиторы. Все приемы решения задач части 2. Оформление задач на экзамене. Десятки реальных задач ЕГЭ, от простых до самых сложных.

Видеокурс «Премиум» состоит из 7 курсов  для освоения части 2 ЕГЭ по математике (задачи 13-19). Длительность каждого курса - от 3,5 до 4,5 часов.

  1. Уравнения (задача 13)
  2. Стереометрия (задача 14)
  3. Неравенства (задача 15)
  4. Геометрия (задача 16)
  5. Финансовая математика (задача 17)
  6. Параметры (задача 18)
  7. Нестандартная задача на числа и их свойства (задача 19).

Здесь то, чего нет в учебниках. Чего вам не расскажут в школе. Приемы, методы и секреты решения задач части 2.

Каждая тема разобрана с нуля. Десятки специально подобранных задач, каждая из которых помогает понять «подводные камни» и хитрости решения.  Автор видеокурса Премиум - репетитор-профессионал Анна Малкова.

Получи пятерку

Видеокурс «Получи пятерку» включает все темы, необходимые для успешной сдачи ЕГЭ по математике на 60-65 баллов. Полностью все задачи 1-13 Профильного ЕГЭ по математике. Подходит также для сдачи Базового ЕГЭ по математике. Если вы хотите сдать ЕГЭ на 90-100 баллов, вам надо решать часть 1 за 30 минут и без ошибок!

Курс подготовки к ЕГЭ для 10-11 класса, а также для преподавателей. Все необходимое, чтобы решить часть 1 ЕГЭ по математике (первые 12 задач) и задачу 13 (тригонометрия). А это более 70 баллов на ЕГЭ, и без них не обойтись ни стобалльнику, ни гуманитарию.

Вся необходимая теория. Быстрые способы решения, ловушки и секреты ЕГЭ. Разобраны все актуальные задания части 1 из Банка заданий ФИПИ. Курс полностью соответствует требованиям ЕГЭ-2018.

Курс содержит 5 больших тем, по 2,5 часа каждая. Каждая тема дается с нуля, просто и понятно.

Сотни заданий ЕГЭ. Текстовые задачи и теория вероятностей. Простые и легко запоминаемые алгоритмы решения задач. Геометрия. Теория, справочный материал, разбор всех типов заданий ЕГЭ. Стереометрия. Хитрые приемы решения, полезные шпаргалки, развитие пространственного воображения. Тригонометрия с нуля - до задачи 13. Понимание вместо зубрежки. Наглядное объяснение сложных понятий. Алгебра. Корни, степени и логарифмы, функция и производная. База для решения сложных задач 2 части ЕГЭ.

Сразу после оплаты вы получите ссылки на скачивание видеокурсов и уникальные ключи к ним.

Задачи комплекта «Математические тренинги - 2019» непростые. В каждой – интересные хитрости, «подводные камни», полезные секреты.

Варианты составлены так, чтобы охватить все возможные сложные задачи, как первой, так и второй части ЕГЭ по математике.

Как пользоваться?

  1. Не надо сразу просматривать задачи (и решения) всех вариантов. Такое читерство вам только помешает. Берите по одному! Задачи решайте по однойи старайтесь довести до ответа.
  2. Если почти ничего не получилось – начинать надо не с решения вариантов, а с изучения математики. Вам помогут книга для подготовки к ЕГЭи Годовой Онлайн-курс.
  3. Если вы правильно решили из первого варианта Маттренингов 5-7 задач – значит, знаний не хватает. Смотри пункт 1: Книгаи Годовой Онлайн-курс!
  4. Обязательно разберите правильные решения. Посмотрите видеоразбор – в нем тоже много полезного.
  5. Можно решать самостоятельно или вместе с друзьями. Или всем классом. А потом смотреть видеоразбор варианта.

Стоимость комплекта «Математические тренинги – 2019» - всего 1100 рублей. За 5 вариантов с решениями и видеоразбором каждого.