Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, базовый уровень)



Урок 20
§21. Массивы







Содержание урока

Что такое массив?

Перебор элементов массива

Вывод массива

Ввод массива с клавиатуры

Заполнение массива случайными числами

Массивы в других языках программирования

Выводы. Интеллект-карта

Вопросы и задания

Практическая работа № 20 «Заполнение массивов»

Практическая работа № 21 «Перебор элементов массива»


Перебор элементов массива


Перебор элементов состоит в том, что мы в цикле просматриваем все элементы массива и, если нужно, выполняем с каждым из них некоторую операцию. Для этого удобнее всего использовать цикл по переменной, которая изменяется от минимального до максимального индекса. Для массива, элементы которого имеют индексы от 1 до N, цикл выглядит так:

нц для i от 1 до N               for i:=l to N do begin

...               ...

кц               end;


Здесь вместо многоточия можно добавлять операторы, работающие с элементом А[i].

Какие значения будет принимать переменная i при выполнении этого цикла?


Мы видим, что благодаря использованию массива нам достаточно описать, что делать с одним элементом, а затем поместить эти действия внутрь цикла, перебирающего значения индексов. Если бы мы применяли простые переменные, то нам пришлось бы описывать необходимые действия для каждого элемента (правда, при этом цикл бы не понадобился).

Выполните ручную прокрутку фрагмента программы:

нц для i от 1 до N               for i:=l to N do

A[i]:=i               A[i]:=i;

кц

Какие значения будут записаны в массив?


Запишите фрагмент программы, который заполнит массив нулями.

Заполним массив первыми N натуральными числами в обратном порядке: в первый элемент массива должно быть записано число N, во второй — число N-1, а в последний — единица.

Сначала запишем цикл в развёрнутом виде: операторы, которые должны быть выполнены:

А[1]:=N               А[1]:=N;

А[2]:=N-1               А[2]:=N-1;

...               ...

A[N]:=1               A[N]:=1;


Теперь запишем цикл, в котором значение, присваиваемое очередному элементу, пока обозначим через X:

нц для i от 1 до N               for i:=l to N do

A[i]:=X               A[i]:=X;

кц


Однако не всё так просто: величина X должна изменяться при переходе к следующему элементу. 

Определите, как меняется X: чему равно начальное значение этой переменной, как она изменяется с каждым шагом.

Можно записать цикл так:

X:=N               X:=N;

нц для i от 1 до N               for i:=l to N do begin

A[i]:=Х               A[i]:=X;

X:=Х-1               X:=X-1

кц               end;


А можно его значительно упростить, заметив, что при увеличении номера элемента i на единицу значение X уменьшается, причём тоже на единицу. Поэтому сумма i + X остаётся постоянной! Её можно вычислить, заметив, что для первого элемента она равна 1 + N.

Выразите X из уравнения i + X = 1 + N.

В элемент с номером i записывается значение N+1-i, поэтому цикл можно записать так:

нц для i от 1 до N               for i:=1 to N do

A[i]:=N+l-i               A[i]:=N+l-i;

кц


Теперь предположим, что массив заполнен, и попробуем увеличить все его элементы на единицу. Этот значит, что нужно заменить значение элемента A[i] на А[i] + 1:

нц для i от 1 до N               for i:=l to N do

A[i]:=А[i]+1               A[i]:=A[i]+1;

кц


Определите, какие значения окажутся в массиве

после выполнения фрагмента программы:

нц для i от 1 до N               for i:=l to N do

A[i]:=А[i]+i               A[i]:=A[i]+i;

кц


Запишите фрагмент программы, который умножает все элементы массива на 2.

Запишите фрагмент программы, который умножает первый элемент массива на 1, второй — на 2, третий — на 3 и т. д.

Следующая страница Вывод массива



Cкачать материалы урока






Наверх