Цели урока:
Образовательная: формирование у учащихся навыков составления алгоритмов сортировки массива методом прямого выбора и методом пузырька; повторение алгоритмов ввода/вывода массива, основных изученных алгоритмов обработки массивов
Развивающая: развитие познавательного интереса учащихся
Воспитательная: привитие учащимся навыков самостоятельности в работе; воспитание чувства коллективизма, ответственности.
Тип урока: урок ознакомления с новым материалом
Вид урока: урок-практикум.
Формы обучения: коллективная, индивидуальная.
Методы обучения: объяснительно-иллюстративный.
Оборудование:
- компьютеры,
- проектор,
- интерактивная доска
- программное обеспечение – презентация по теме “Методы сортировки массивов”, Windows XP(Linux), Turbo-Pascal(Free-Pascal).
Используемые технологии: компьютерные технологии обучения, технология личностно-ориентированного обучения
Сообщение темы и постановка целей урока
Здравствуйте, ребята! Сегодня мы продолжаем знакомство со способами обработки одномерных массивов. Наше занятие является логическим продолжением предыдущих. Его тема «Методы сортировки одномерных массивов». Цель урока – научиться сортировать массив и применять алгоритм сортировки для решения практических задач.
Актуализация опорных знаний учащихся
Давайте повторим материал, пройденный ранее.
- Что такое одномерный массив?
- В чем заключается главное свойство одномерного массива?
- Какие вы знаете способы заполнения и вывода на экран одномерного массива?
- Перечислите изученные типы задач на обработку одномерных массивов
А теперь, пожалуйста, установите соответствие между типом задачи и алгоритмом его реализации на языке Паскаль
Проверка домашнего задания
Ваше домашнее задание также было связано с изученными типами задач на обработку одномерных массивов. Давайте проверим его.
Напомню, что необходимо было составить программу на Паскале нахождения и вывода на экран номера первого четного элемента целочисленного массива из 30 элементов или вывести на экран сообщение о том, что четных элементов в массиве нет.
Ознакомление с новым материалом
Итак, массив- это в некотором роде список. А списки, как вы знаете, часто приходится упорядочивать. Поэтому сегодня на уроке мы познакомимся с новым типом задач на обработку одномерных массивов – с их сортировкой. Существует несколько методов сортировки, мы рассмотрим два из них. Будем рассматривать сортировку элементов массива по возрастанию.
Метод прямого выбора.
Алгоритм сортировки массива по возрастанию методом прямого выбора может быть представлен так:
- Просматривая массив с первого элемента, найти минимальный и поменять его местами с первым элементом.
- Просматривая массив со второго элемента, найти минимальный и поменять его местами со вторым элементом.
- И, так далее, до последнего элемента.
Учитель демонстрирует алгоритм при помощи ИД.
Давайте попробуем записать этот алгоритм на Паскале.
Алгоритм использует вложенные циклы. Внешний цикл (счетчик шагов) последовательно выбирает номер элемента массива, куда следует записывать найденный в неупорядоченной части массива минимальный элемент. Внутренний цикл перебирает номера неупорядоченных элементов при поиске минимального элемента. Для внешнего цикла достаточно шагов на один меньше, чем элементов в массиве.
Как вы думаете, что должно измениться в алгоритме в случае, если нужно упорядочить алгоритм по убыванию?
Метод пузырька.
В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого, сравнивается со следующим и если он больше следующего, то элементы меняются местами. Таким образом, элементы с меньшим значением продвигаются к началу массива (всплывают), а элементы с большим значением – к концу массива (тонут). Этот процесс повторяется на единицу меньше раз, чем элементов в массиве.
Учитель демонстрирует алгоритм при помощи ИД.
Давайте попробуем записать этот алгоритм на Паскале.
for i:=1 to n-1 do
for j:=1 to n-i do
if a[j]>a[j+1] then begin
m:=a[j]; a[j]:=a[j+1]; a[j+1]:=m;
end;
Как вы думаете, что должно измениться в алгоритме в случае, если нужно упорядочить алгоритм по убыванию?
Первичное закрепление нового материала
А теперь давайте воспользуемся полученными знаниями и выполним за компьютерами в среде Турбо-Паскаль индивидуальные практические задания, в которых необходимо применить алгоритмы сортировки.
Пример карточек на «5» баллов:
1. Известны среднемесячные температуры за год. Вывести на экран список номеров месяцев, в которых средняя температура была выше 7 градусов. Список номеров месяцев расположить в порядке убывания среднемесячных температур.
2. Ввести в массив n произвольных чисел (n<=30) Отсортировать отрицательные по убыванию, положительные – по возрастанию, оставив отрицательные на местах, принадлежащих отрицательным, а положительные – на местах, принадлежащих положительным. Вывести на экран исходный и полученный массивы. Дополнительных массивов не использовать.
Пример карточек на «4» балла:
1. Заданы 2 списка: в одном – фамилии спортсменов-участников турнира, в другом – занятые ими места. Переставить фамилии спортсменов в первом списке в соответствии с занятыми местами и вывести его на экран. В турнире участвовало n спортсменов (n<=20)
2. Известны сведения о результатах сдачи ЕГЭ n учениками класса(n<=20). О каждом учащемся известны: фамилия и набранный балл. Вывести в алфавитном порядке фамилии тех, кто набрал не менее минимального балла (41).
Пример карточек на «3» балла:
1. Дан целочисленный массив из 10 элементов. Вывести на экран все его четные элементы, предварительно расположив их по убыванию методом пузырька.
2. Дан целочисленный массив из 10 элементов. Вывести на экран все его нечетные элементы, предварительно расположив их по возрастанию методом прямого выбора.
Подведение итогов урока
Проверка работающих программ и выставление оценок за урок.
Постановка домашнего задания
Составить программу на Паскале для решения следующих задач:
- Каждая из 30 групп студентов имеет свой процент успеваемости(от 0 до 100%). Составить список номеров групп, которым необходимо повысить успеваемость до фактического среднего уровня. Список расположить в порядке убывания процента успеваемости групп.
- Известно название, себестоимость и цена каждого из к изделий(к не более 30). Выдать на экран названия убыточных изделий. Список расположить в порядке уменьшения себестоимости. Учесть, что среди рассматриваемых изделий убыточных может не быть.
Текст задач находится в почтовом ящике класса.