Занятие № 12. Алгоритмы поиска и сортировки
Создадим приложение для ведения школьного журнала. В программе должны быть следующие функции:
- возможность ввести количество учеников и их фамилии;
- функция поиска номера ученика по его фамилии;
- сортировка списка учеников по алфавиту.
Начало проекта
Откройте шаблон проекта по следующей ссылке. В нём содержаться необходимые спрайты. Нажмите кнопку Войти внутрь проекта чтобы начать редактирование.
Создайте необходимые переменные:
Снимите галочки рядом с переменными, чтобы убрать их мониторы со сцены.
Теперь создайте список в котором будут храниться фамилии учеников:
Монитор для списка учеников необходимо оставить. Теперь сцена должна выглядеть следующим образом:
Заполнение списка учеников
Выберите спрайт Заполнить журнал и добавьте ему следующий скрипт:
Нажмите на кнопку, введите количество учеников и затем введите фамилии учеников. Они должны появиться в мониторе списка.
Поиск ученика в списке
Реализуем возможность искать номер ученика в журнале. Выберите спрайт Поиск и добавьте ему следующий скрипт:
В данном скрипте используется алгоритм линейного поиска. После того как вы заполните список учеников, нажмите на кнопку Поиск и введите фамилию ученика. Скрипт покажет номер этого ученика в списке, если он там есть.
Сортировка списка учеников
Выберите спрайт Сортировка. Добавьте блок Обмен который будет менять два элемента списка местами:
Нажмите OK. Появится блок определения:
Добавьте следующий скрипт в определение блока Обмен:
Теперь добавьте основной скрипт:
Протестируйте работу алгоритма сортировки.