Открытие нового знания 2— последовательное построение алгоритма; Существуют различные методы конструирования (разработки, построения) алгоритмов. Давайте познакомимся с одним из них — методом последовательного построения (уточнения) алгоритма. Иначе он называется методом разработки «сверху вниз», нисходящим методом или методом пошаговой детализации. Процесс последовательного построения алгоритма выглядит следующим образом. 3 На первом шаге мы считаем, что перед нами совершенный исполнитель, который «всё знает и всё умеет». Поэтому достаточно определить исходные данные и результаты алгоритма, а сам алгоритм представить в виде единого предписания — постановки задачи. Если исполнитель не обучен исполнять заданное предписание, то необходимо представить это предписание в виде совокупности более простых предписании (команд). Исполнитель Робот. Сдайды 10-18 4 Для этого: — задачу разбивают на несколько частей, каждая из которых проще всей задачи; — решение каждой части задачи формулируют в отдельной команде, которая также может выходить за рамки системы команд исполнителя; — при наличии в алгоритме предписании, выходящих за пределы возможностей исполнителя, такие предписания вновь представляются в виде совокупности ещё более простых предписаний. Процесс продолжается до тех пор, пока все предписания не будут понятны исполнителю. Объединяя полученные предписания в единую совокупность выполняемых в определённой последовательности команд, получаем требуемый алгоритм решения исходной задачи. Слайд 17-21 Формальные и фактические параметры Формальные параметры используются при описании алгоритма. Фактические параметры - те величины, для которых будет исполнен вспомогательный алгоритм. Типы, количество и порядок следования формальных и фактических параметров должны совпадать Схема вызова вспомогательного алгоритма Основной алгоритм Имя вспомогательного алгоритма (список фактических параметров) Вспомогательный алгоритм Формальные аргументы Формальные аргументы Рекурсивный алгоритм Алгоритм, в котором прямо или косвенно содержится ссылка на него же как на вспомогательный алгоритм, называют рекурсивным Рассмотрим среду программирования «КУМИР». Кумир (Комплект Учебных МИРов) — система программирования, предназначенная для поддержки начальных курсов информатики и программирования в средней и высшей школе. Основана на методике, разработанной во второй половине 1980-х годов под руководством академика А. П. Ершова. Эта методика широко использовалась в средних школах СССР и России. Создатель среды Кумир Кушниренко Анатолий Георгиевич, советский и российский математик и специалист в области информационных технологий. В системе Кумир используется придуманный А. П. Ершовым школьный алгоритмический язык — простой алголоподобный язык с русской лексикой и встроенными командами управления программными исполнителями. При вводе программы Кумир осуществляет постоянный полный контроль ее правильности, сообщая на полях программы обо всех обнаруженных ошибках. При выполнении программы в пошаговом режиме Кумир выводит на поля результаты операций присваивания и значения логических выражений. Это позволяет ускорить процесс освоения азов программирования. 6 Вы уже знакомы с исполнителем Робот. Он действует на клетчатом поле, между клетками которого могут быть стены. Раздаточный материал 7 слайд. Известно, что Робот находится где-то в горизонтальном коридоре. Ни одна из клеток коридора не закрашена. Составим алгоритм, под управлением которого Робот закрасит все клетки этого коридора и вернётся в исходное положение. 8 слайд — укрупнённый план действий Робота; 9 слайд — детализация плана действий Робота; 1. Чтобы закрасить все клетки коридора, находящиеся левее Робота, прикажем Роботу шагнуть влево и выполнить цикл-ПОКА: влево нц пока сверху стена и снизу стена закрасить; влево кц Под управлением этого алгоритма Робот закрасит все клетки коридора, находящиеся левее от него, и окажется на клетке рядом с левой границей коридора. 10 слайд — детализация плана действий Робота; 2. Командой вправо вернём Робота в коридор. Наша задача — вернуть Робота в исходную точку. Эта точка имеет единственный отличительный признак — она не закрашена. Поэтому пока занимаемая Роботом клетка оказывается закрашенной, будем перемещать его вправо. 11 слайд. вправо нц пока клетка закрашена вправо кц Под управлением этого алгоритма Робот окажется в исходной клетке. 12 слайд — детализация плана действий Робота; 3. Выполнив команду вправо, Робот пройдёт исходную клетку и займёт клетку правее исходной. Теперь можно закрашивать клетки коридора, расположенные правее исходной. 13 слайд. вправо нц пока сверху стена и снизу стена закрасить; вправо кц 14 слайд — детализация плана действий Робота; 4. Так как, выполнив предыдущий алгоритм, Робот оказался правее коридора, командой влево вернём его в коридор. Возвращение в исходную точку обеспечивается алгоритмом: 15 слайд. Влево 16 слайд. нц пока клетка закрашена влево кц 5. По команде закрасить Робот закрашивает исходную точку. 17 слайд — программа для Робота; Полностью программа управления Роботом выглядит так: алг нач влево нц пока сверху стена и снизу стена закрасить; влево кц (18 слайд) вправо нц пока клетка закрашена вправо кц вправо нц пока сверху стена и снизу стена закрасить; вправо кц влево нц пока клетка закрашена влево кц закрасить кон Рассмотрим выполнение алгоритма непосредственно в среде КуМИР. | Смотрят на слайды и записывают, то на что стоит обратить внимание. Записывают алгоритм. Смотрят на слайды и вникают в алгоритм. Записывают алгоритм Рассматривают слайд и слушают учителя. Смотрят на слайд и вспоминают исполнитель «Робот». Рассматривают где действует Робот и какие команды (СКИ) ему известны. Смотрят на слайды и вместе с учителем составляют алгоритм, используя таблицу команд и подключая логическое мышление. Смотрят на слайды и вместе с учителем составляют алгоритм, используя таблицу команд и подключая логическое мышление. Смотрят на слайды и вместе с учителем составляют алгоритм, используя таблицу команд и подключая логическое мышление. Рассматривают получившуюся программу. Проверяют ее работоспособность и правильность непосредственно в среде Кумир. |