СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Презентация "Алгоритмизация. Вспомогательные алгоритмы"

Категория: Информатика

Нажмите, чтобы узнать подробности

Презентация к урокам по теме "Основы алгоритмизации" по учебнику Босовой Л.Л. Содержит описание комбинирования алгоритмических структур в алгоритмах, разработки алгоритма методом последовательной детализации, приведены примеры задач с использованием вспомогательных алгоритмов для исполнителя Робот в системе КуМир.

Просмотр содержимого документа
«Презентация "Алгоритмизация. Вспомогательные алгоритмы"»

Основы  алгоритмизации Вспомогательные алгоритмы

Основы алгоритмизации

Вспомогательные алгоритмы

Комбинирование алгоритмических структур Задача. Правее Робота находится ряд из 10 клеток , некоторые из которых закрашены. Последняя закрашенная клетка может примыкать к стене. Необходимо закрасить клетки выше и ниже каждой закрашенной клетки.

Комбинирование алгоритмических структур

Задача. Правее Робота находится ряд из 10 клеток , некоторые из которых закрашены. Последняя закрашенная клетка может примыкать к стене. Необходимо закрасить клетки выше и ниже каждой закрашенной клетки.

Комбинирование алгоритмических структур Задача. Правее Робота находится ряд из 10 клеток , некоторые из которых закрашены. Последняя закрашенная клетка может примыкать к стене. Необходимо закрасить клетки выше и ниже каждой закрашенной клетки. начало 10 раз использовать  Робот  алг  Закрасить выше_ниже  нач  . нц  10  раз  . . если  справа свободно  . . . то  вправо  . . все  . . если  клетка закрашена  . . . то  вверх ; закрасить  . . . . вниз ; вниз ; закрасить  . . . . вверх  . . все  . кц  кон конец справа свободно нет да вправо нет клетка закрашена да вверх; закрасить вниз; вниз закрасить; вверх

Комбинирование алгоритмических структур

Задача. Правее Робота находится ряд из 10 клеток , некоторые из которых закрашены. Последняя закрашенная клетка может примыкать к стене. Необходимо закрасить клетки выше и ниже каждой закрашенной клетки.

начало

10 раз

использовать Робот алг Закрасить выше_ниже нач . нц 10 раз . . если справа свободно . . . то вправо . . все . . если клетка закрашена . . . то вверх ; закрасить . . . . вниз ; вниз ; закрасить . . . . вверх . . все . кц кон

конец

справа свободно

нет

да

вправо

нет

клетка закрашена

да

вверх; закрасить

вниз; вниз

закрасить; вверх

Разработка алгоритма  методом последовательной детализации Задача разбивается на более простые части (подзадачи). Решение каждой части задачи формулируется в отдельной команде. Если полученные команды не входят в СКИ, их представляют в виде совокупности более простых команд. И так далее, пока все команды не будут понятны исполнителю.

Разработка алгоритма методом последовательной детализации

  • Задача разбивается на более простые части (подзадачи).
  • Решение каждой части задачи формулируется в отдельной команде.
  • Если полученные команды не входят в СКИ, их представляют в виде совокупности более простых команд.
  • И так далее, пока все команды не будут понятны исполнителю.
Задача. Робот находится в некоторой клетке горизонтального коридора. Ни одна из клеток коридора не закрашена. Робот должен закрасить все клетки этого коридора и вернуться в исходное положение.

Задача. Робот находится в некоторой клетке горизонтального коридора. Ни одна из клеток коридора не закрашена.

Робот должен закрасить все клетки этого коридора и вернуться в исходное положение.

Укрупнённый алгоритм начало 1. Закраска всех клеток коридора левее исходной 2. Возвращение в исходное положение 3. Закраска всех клеток коридора правее исходной 4. Возвращение в исходное положение 5. Закраска исходной клетки конец

Укрупнённый алгоритм

начало

1. Закраска всех клеток коридора левее исходной

2. Возвращение в исходное положение

3. Закраска всех клеток коридора правее исходной

4. Возвращение в исходное положение

5. Закраска исходной клетки

конец

1. Закраска всех клеток коридора левее исходной  влево   нц  пока  сверху стена  и  снизу стена  . закрасить ; влево   кц

1. Закраска всех клеток коридора левее исходной

влево нц пока сверху стена и снизу стена . закрасить ; влево кц

2. Возвращение в исходное положение  вправо   нц  пока  клетка закрашена  . вправо   кц

2. Возвращение в исходное положение

вправо нц пока клетка закрашена . вправо кц

3. Закраска всех клеток коридора правее исходной  вправо   нц  пока  сверху стена  и  снизу стена  . закрасить ; вправо   кц

3. Закраска всех клеток коридора правее исходной

вправо нц пока сверху стена и снизу стена . закрасить ; вправо кц

4. Возвращение в исходное положение  влево   нц  пока  клетка закрашена  . влево   кц   5. Закраска исходной клетки  закрасить

4. Возвращение в исходное положение

влево нц пока клетка закрашена . влево кц

5. Закраска исходной клетки

закрасить

Полный алгоритм использовать  Робот  алг  Закрасить_и_вернуться  нач  . влево  . нц  пока  сверху стена  и  снизу стена  . . закрасить ; влево  . кц  . вправо  . нц  пока  клетка закрашена  . . вправо  . кц  . вправо  . нц  пока  сверху стена  и  снизу стена  . . закрасить ; вправо  . кц  . влево  . нц  пока  клетка закрашена  . . влево  . кц  . закрасить  кон

Полный алгоритм

использовать Робот алг Закрасить_и_вернуться нач . влево . нц пока сверху стена и снизу стена . . закрасить ; влево . кц . вправо . нц пока клетка закрашена . . вправо . кц . вправо . нц пока сверху стена и снизу стена . . закрасить ; вправо . кц . влево . нц пока клетка закрашена . . влево . кц . закрасить кон

Вспомогательные алгоритмы Вспомогательный алгоритм – это алгоритм, используемый в составе другого алгоритма. Вызывается из основного алгоритма по имени. использовать  Робот  алг  Закрасить_и_вернуться  нач  . Закрасить_влево  . Вернуться_вправо  . Закрасить_вправо  . Вернуться_влево  . закрасить  кон алг  Вернуться_вправо  нач  . вправо  . нц  пока  клетка закрашена  . . вправо  . кц  кон алг  Закрасить_вправо  нач  . вправо  . нц  пока  сверху стена  и  снизу стена  . . закрасить ; вправо  . кц  кон алг  Закрасить_влево  нач  . влево  . нц  пока  сверху стена  и  снизу стена  . . закрасить ; влево  . кц  кон алг  Вернуться_влево  нач  . влево  . нц  пока  клетка закрашена  . . влево  . кц  кон

Вспомогательные алгоритмы

Вспомогательный алгоритм – это алгоритм, используемый в составе другого алгоритма. Вызывается из основного алгоритма по имени.

использовать Робот алг Закрасить_и_вернуться нач . Закрасить_влево . Вернуться_вправо . Закрасить_вправо . Вернуться_влево . закрасить кон

алг Вернуться_вправо нач . вправо . нц пока клетка закрашена . . вправо . кц кон

алг Закрасить_вправо нач . вправо . нц пока сверху стена и снизу стена . . закрасить ; вправо . кц кон

алг Закрасить_влево нач . влево . нц пока сверху стена и снизу стена . . закрасить ; влево . кц кон

алг Вернуться_влево нач . влево . нц пока клетка закрашена . . влево . кц кон

Вспомогательные алгоритмы Задача . Используя вспомогательный алгоритм, составить алгоритм создания Роботом следующего орнамента. начало 3 раз   Узор Переход Узор конец

Вспомогательные алгоритмы

Задача . Используя вспомогательный алгоритм, составить алгоритм создания Роботом следующего орнамента.

начало

3 раз

Узор

Переход

Узор

конец

Вспомогательные алгоритмы Задача . Используя вспомогательный алгоритм, составить алгоритм создания Роботом следующего орнамента. использовать  Робот  алг  Орнамент  нач  . нц  3  раз  . . Узор ; Переход  . кц  . Узор  кон алг  Узор  нач  . вниз ; закрасить ; вниз  . вправо ; закрасить ; вправо  . вверх ; закрасить ; вверх  . влево ; закрасить  кон алг  Переход  нач  . вправо ; вправо ; вправо  кон

Вспомогательные алгоритмы

Задача . Используя вспомогательный алгоритм, составить алгоритм создания Роботом следующего орнамента.

использовать Робот алг Орнамент нач . нц 3 раз . . Узор ; Переход . кц . Узор кон

алг Узор нач . вниз ; закрасить ; вниз . вправо ; закрасить ; вправо . вверх ; закрасить ; вверх . влево ; закрасить кон

алг Переход нач . вправо ; вправо ; вправо кон