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



Уроки 34 - 36
§ 20. Обработка массивов






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

Введение

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

Реверс массива

Линейный поиск в массиве

Сортировка массивов

Выводы

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

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

Практическая работа № 16 «Линейный поиск в массиве»

Практическая работа № 17 «Сортировка»


Реверс массива


Задача 2. Требуется выполнить реверс массива, т. е. переставить элементы массива в обратном порядке, так чтобы первый элемент стал последним, а последний — первым (рис. 4.2).

Рис. 4.2

Рис. 4.2

С каким элементом нужно поменять местами элемент А [1] ? Элемент А [2]? Элемент А [i]?

Если индекс первого элемента в паре увеличивается на 1, а индекс второго элемента уменьшается на 1, что можно сказать о сумме индексов этих элементов?


В этой задаче сумма индексов элементов, участвующих в обмене, для всех пар равна N+1, поэтому элемент с номером i должен меняться местами с (N+l-i)-M элементом.

Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4). Объясните результат. Найдите ошибки в этом алгоритме (почему он не решает задачу 2?).
нц для i от 1 до N
поменять местами A[i] и А[N+1-i]
кц


Для того чтобы не выполнять реверс дважды, нужно остановить цикл на середине массива:
нц для i от 1 до div(N, 2)
поменять местами А[i] и A[N+l-i]
кц


Запишите в тетради операторы, которые нужно добавить в тело цикла. Для обмена используйте вспомогательную переменную с.
нц для i от 1 до div(N, 2)                              for i:=l to N div 2 do begin
• • •                                                                  • • •
КЦ                                                                  end;


Запишите в тетради другое решение задачи реверса массива, которое использует цикл с условием (пока, while).



Следующая страница Линейный поиск в массиве



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








Наверх