Доронькин бережная. Химия. Большой справочник для подготовки к ЕГЭ, В. Н. Доронькин, А. Г. Бережная, Т. В. Сажнева, В. А. Февралева. Те, кто смотрел эту страницу, также интересовались

| §2.3 Конструирование алгоритмов

Урок 15
§2.3 Конструирование алгоритмов

2.3.1. Последовательное построение алгоритма

Существуют различные методы конструирования (разработки, построения) алгоритмов. Мы познакомимся с одним из них - методом последовательного построения (уточнения) алгоритма. Иначе он называется методом разработки «сверху вниз», нисходящим методом или методом пошаговой детализации.

Процесс последовательного построения алгоритма выглядит следующим образом.

На первом шаге мы считаем, что перед нами совершенный исполнитель, который «всё знает и всё умеет». Поэтому достаточно определить исходные данные и результаты алгоритма, а сам алгоритм представить в виде единого предписания - постановки задачи (рис. 2.4).

Рис. 2.4. Линейный алгоритм, являющийся результатом первого этапа детализации задачи


Если исполнитель не обучен исполнять заданное предписание, то необходимо представить это предписание в виде совокупности более простых предписаний (команд). Для этого:

Задачу разбивают на несколько частей, каждая из которых проще всей задачи;
решение каждой части задачи формулируют в отдельной команде, которая также может выходить за рамки системы команд исполнителя;
при наличии в алгоритме предписаний, выходящих за пределы возможностей исполнителя, такие предписания вновь представляются в виде совокупности ещё более простых предписаний.

Процесс продолжается до тех пор, пока все предписания не будут понятны исполнителю.

Объединяя полученные предписания в единую совокупность выполняемых в определённой последовательности команд, получаем требуемый алгоритм решения исходной задачи.

2.3.2. Разработка алгоритма методом последовательного уточнения для исполнителя Робот

Вы уже знакомы с исполнителем Робот. Он действует на клетчатом поле, между клетками которого могут быть стены.

Система команд исполнителя Робот:

В одном условии можно использовать несколько команд, применяя логические операции И, ИЛИ, НЕ.

Известно, что Робот находится где-то в горизонтальном коридоре. Ни одна из клеток коридора не закрашена.

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

Представим план действий Робота следующими укрупнёнными шагами (модулями):

Детализируем каждый из пяти модулей.

1. Чтобы закрасить все клетки коридора, находящиеся левее Робота, прикажем Роботу шагнуть влево и выполнить цикл - ПОКА:

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

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

2. Командой вправо вернём Робота в коридор. Наша задача - вернуть Робота в исходную клетку. Эта клетка - первая незакрашенная клетка, находящаяся правее Робота. Поэтому пока занимаемая Роботом клетка оказывается закрашенной, будем перемещать его вправо.

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

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

3. Выполнив команду вправо, Робот пройдёт исходную клетку и займёт клетку правее исходной. Теперь можно закрашивать клетки коридора, расположенные правее исходной.

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

4. Так как, выполнив предыдущий алгоритм, Робот оказался правее коридора, командой влево вернём его в коридор. Возвращение в исходную клетку обеспечивается алгоритмом:

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

5. По команде закрасить Робот закрашивает исходную клетку. Полностью программа управления Роботом выглядит так:


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

При построении новых алгоритмов нередко возникают ситуации, когда в разных местах алгоритма необходимо выполнение одной и той же последовательности шагов обработки данных. Для такой последовательности шагов создают отдельный алгоритм, называемый вспомогательным. В качестве вспомогательных могут использоваться алгоритмы, ранее разработанные для решения других задач.

Вспомогательный алгоритм - алгоритм, целиком используемый в составе другого алгоритма.

Пример 1 . В среде КуМир составим алгоритм для исполнителя Робот, под управлением которого он нарисует узор:

Начальное положение Робота отмечено звёздочкой. В алгоритме использован вспомогательный алгоритм фигура.

При представлении алгоритмов с помощью блок-схем для обозначения команды вызова вспомогательного алгоритма используется блок «предопределённый процесс» (рис. 2.5), внутри которого записывается название (имя) вспомогательного алгоритма, после которого в скобках перечисляются параметры - входные данные и результаты.

Рис. 2.5. Блок «предопределённый процесс»


Вспомогательный алгоритм делает структуру алгоритма более понятной.

Пример 2 . Вспомним алгоритм вычисления степени с натуральным показателем у = а n . Соответствующая блок-схема:

Степень с целым показателем у = а х, где х - целое число, а ≠ 0 вычисляется так:

В приведённой записи дважды фигурирует вычисление степени с натуральным показателем. Поэтому в алгоритм вычисления степени с целым показателем можно включить вызов вспомогательного алгоритма вычисления степени с натуральным показателем. Соответствующая блок-схема:

Алгоритм, представленный на блок-схеме, является основным по отношению к вызываемому в нём вспомогательному алгоритму.

Параметрами используемого вспомогательного алгоритма являются величины а, n, у. Это формальные параметры, они используются при описании алгоритма. При конкретном обращении к вспомогательному алгоритму формальные параметры заменяются фактическими параметрами, т. е. именно теми величинами, для которых будет исполнен вспомогательный алгоритм. Типы, количество и порядок следования формальных и фактических параметров должны совпадать.

Команда вызова вспомогательного алгоритма исполняется следующим образом (рис. 2.6):

1) формальные входные данные вспомогательного алгоритма заменяются значениями фактических входных данных, указанных в команде вызова вспомогательного алгоритма;
2) для заданных входных данных исполняются команды вспомогательного алгоритма;
3) полученные результаты присваиваются переменным с именами фактических результатов;
4) осуществляется переход к следующей команде основного алгоритма.

Рис. 2.6. Схема выполнения команды вызова вспомогательного алгоритма


Алгоритм, в котором прямо или косвенно содержится ссылка на него же как на вспомогательный алгоритм, называют рекурсивным.

Рассмотрим несколько примеров рекурсивных алгоритмов.

Пример 3 . Алгоритм вычисления степени с натуральным показателем п для любого вещественного числа а можно представить в виде рекурсивного:

Число а в степени n (n-я степень числа а) есть не что иное, как произведение а n-1 а; в свою очередь, а n-1 = а n-2 а и т. д.

Пример 4 . Рекурсивный алгоритм положен в основу эффективного решения головоломки «Ханойская башня».

Интерактивная игра «Ханойские башни» (195747) поможет вам вспомнить условие и алгоритм решения головоломки (http://sc.edu.ru/).

Пример 5 . Рассмотрим алгоритм построения геометрической фигуры, которая называется снежинкой Коха. Шаг процедуры построения состоит в замене средней трети каждого из имеющихся отрезков двумя новыми такой же длины, как показано на рисунке:

С каждым шагом фигура становится всё причудливее. Граница снежинки Коха - положение кривой после выполнения бесконечного числа шагов.

САМОЕ ГЛАВНОЕ

Один из основных методов конструирования алгоритмов - метод последовательного построения алгоритма . Его суть состоит в том, что: исходная задача разбивается на несколько частей, каждая из которых проще всей задачи, и решение каждой части формулируется в отдельной команде; если получаются команды, выходящие за пределы возможностей исполнителя, то они представляются в виде совокупности ещё более простых предписаний. Процесс продолжается до тех пор, пока все предписания не будут понятны исполнителю.

Вспомогательный алгоритм - алгоритм, целиком используемый в составе другого алгоритма.

Алгоритм, в котором прямо или косвенно содержится ссылка на него же как на вспомогательный алгоритм, называют рекурсивным .

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

1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Дополняет ли презентация информацию, содержащуюся в тексте параграфа?

2. Почему при решении сложной задачи затруднительно сразу конкретизировать все необходимые действия? Обсудите этот вопрос в группе.

3. В чём заключается метод последовательного уточнения при построении алгоритма?

4. Какая связь между методом последовательного построения алгоритма и такими процессами, как написание сочинения или подготовка к многодневному туристическому походу?

5. Известен рост каждого из n учеников 9А класса и m учеников 9Б класса. Опишите укрупнёнными блоками алгоритм сравнения среднего роста учеников этих классов.

6. В ряду из десяти клеток правее Робота некоторые клетки закрашены. Последняя закрашенная клетка может примыкать к стене. Составьте алгоритм, который закрашивает клетки выше и ниже каждой закрашенной клетки. Проверьте работу алгоритма в следующих случаях:

7. Для чего нужны вспомогательные алгоритмы?

8. Опишите процесс выполнения команды вызова вспомогательного алгоритма в основном алгоритме.

9. Сталкивались ли вы с идеей формальных и фактических параметров при изучении математики и физики? Приведите пример.

10. Какие алгоритмы называют рекурсивными? Приведите пример рекурсии из жизни.

11. Составьте алгоритмы, под управлением которых Робот закрасит указанные клетки. При необходимости используйте вспомогательный алгоритм.

Исполнитель Робот. Вспомогательные алгоритмы (2ч)

Цель: ввести понятие основного и вспомогательного алгоритма; объяснить правила использования вспомогательного алгоритма; разобрать примеры алгоритмов с использованием вспомогательного. Отработать практические навыки построения алгоритмов методом последовательного уточнения.

План урока

1.Ввод новых терминов (основного и вспомогательного алгоритма, вызова) и объяснение новых понятий.

2.Разбор примеров решения задач с применением вспомогательного алгоритма.

3. Практическая работа

При решении некоторых задач удобно разбить их на более мелкие подзадачи, каждую из которых можно оформит как самостоятельный алгоритм. В этом случае сначала составляется так называемый основной алгоритм, в котором для решения подзадач используются вызовы вспомогательных алгоритмов, которые дописываются позднее. Такой способ решения называется методом последовательного уточнения. Он позволяет работать над проектом группе программистов, каждый при этом решает свою подзадачу.

В процессе решения задачи каждый вспомогательный алгоритм может при необходимости быть разбит на более мелкие вспомогательные алгоритмы.

Команда выполнения вспомогательного алгоритма называется вызовом и записывается в теле основного алгоритма.

Один и тот же алгоритм может рассматриваться как основной и вспомогательный по отношению к другим алгоритмам. В алгоритмическом языке сначала записывается основной алгоритм, ниже подряд записываются вспомогательные.

Задача1:

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

Решение

Разбор на доске:

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

Практическая работа на ПК «Решение задачи с использованием вспомогательных алгоритмов»

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

Задача2 . Используя вспомогательные, составьте алгоритм для закрашивания клеток, образующих число 1212.

Домашнее задание : Придумайте алгоритм, рисующий следующее изображение: Для решения задачи примените два вспомогательных алгоритма.

воспитательная:
  • воспитание ответственности, самостоятельности, самооценки, аккуратности при выполнении работы;
  • повышение информационной культуры учащихся;
развивающая:
  • формирование и развитие у учащихся познавательных интересов;
  • развитие умения оперировать ранее полученными знаниями, сопоставлять, анализировать, делать выводы.

Тип урока: комбинированный.

Оборудование:

  • проектор,
  • компьютерный класс

План урока

  1. Организационный момент - 2 мин.
  2. Актуализация знаний - 8 мин.
  3. Объяснение материала и выполнение упражнений - 20 мин.
  4. Закрепление материала - 10 мин.
  5. Вопросы учеников, ДЗ, подведение итогов урока –5 мин.

Ход урока
Организационный момент
Приветствие, проверка присутствующих.
На предыдущих уроках мы говорили об алгоритмах, рассматривали их типы, виды, свойства, составляли алгоритмы для решения разных задач. Сегодня мы будем использовать алгоритмы для управления исполнителями. И для начала вспомним, что же такое «исполнитель».
Актуализация знаний
Учащиеся отвечают на следующие вопросы:

  • Определите понятие Исполнитель. Приведите примеры.
  • Чем формальный исполнитель отличается от неформального? Приведите примеры.
  • Что такое СКИ? Назовите СКИ Калькулятор.
  • Какие требования накладываются на алгоритмы, предназначенные для выполнения исполнителем?

Объяснение нового материала с использование проектора
Среда исполнителя Робот – клетчатое поле, ограниченное стеной. Внутри поля между некоторыми клетками также может быть стена. Исполнитель Робот может перемещаться на одну клетку с помощью команд перемещения вправо, влево, вверх, вниз . Также он может закрашивать клетки, на которых стоит, командой закрась . Если между клетками стена, то Робот не может ее пройти. Команды проверки отсутствия стены и закрашенности клетки: сверху свободно, снизу свободно, справа свободно, слева свободно, закрашено (рис. 1).
Упражнения :

  • Петя составил алгоритм, переводящий Робота из клетки А в клетку Б с закрашиванием каких-то клеток. Что должен сделать Коля с этим алгоритмом, чтобы перевести Робота из Б в А с закрашиванием тех же клеток?
  • Петя составил алгоритм, при выполнении которого Робот вернулся в исходное положение. Коля стер одну из команд. При выполнении Колиного алгоритма Робот также вернулся в исходное положение. Какую команду стер Коля?
  • См. рис.2

В окончательном варианте алгоритм выполнения этой задачи будет выглядеть так:
Повторить 5 раз
вверх; вверх; вправо; вниз; вниз; вправо
конец
Упражнения (рис. 5).
А теперь рассмотрим следующую задачу: закрасить все клетки до стены справа от Робота при условии, что количество клеток до стены неизвестно (рис. 6). В этом случае воспользуемся алгоритмической конструкцией Цикл-после (т.е. цикл выполняется после проверки условия).



Рис. 5


Рис. 6

Упражнение: в предыдущей задаче нужно закрасить все клетки справа от Робота и вернуться в исходное положение.
Ответ: нц пока справа свободно
вправо
закрась
кц
нц пока закрашено
влево
кц
Составные условия образуются из одного или нескольких простых условий и служебных слов И, ИЛИ, НЕ. Чтобы составное условие, объединяющее простые условия логической связкой ИЛИ было истинным, достаточно истинности одного из простых условий, входящих в него. Чтобы составное условие, объединяющее простые условия логической связкой И было истинным, необходимо, чтобы истинны были все простые условия, входящие в него (рис. 7).



Рис. 7


Рис. 8

Закрепление материала
Задания выполняются в рабочих тетрадях с последующим обсуждением предложенных учащимися решений.
Задание 1. Используя команды повторить и пока перевести Робота из исходного положения в точку Б, если количество клеток по вертикали и длина стен в лабиринте неизвестны (рис. 8).
Ответ: повторить 5 раз
нц пока не справа свободно
вверх
кц
вправо
нц пока не справа свободно
вниз
кц
вправо
конец
Задание 2. Известно, что Робот находится рядом с входом в коридор (длина коридора неизвестна). Составить алгоритм для закрашивания Роботом всех клеток коридора и возвращения его в исходное положение (рис. 9).
Ответ: вправо
нц пока не сверху свободно и не снизу свободно
закрась
вправо
кц
влево
нц пока закрашено
влево
кц



Рис. 9


Рис. 10

ДЗ, подведение итогов урока
Ответы на вопросы учащихся, домашнее задание (рис. 10), выставление оценок за работу на уроке.
Сегодня мы научились управлять Роботом, использовать циклические алгоритмы для оптимизации задачи составления алгоритма, поняли, что при составлении алгоритмов надо быть предельно внимательными и точными. На следующем уроке мы продолжим знакомиться с различными вариантами алгоритмов для Робота. Благодарю всех за внимание.

Литература:
1. Л Босова. Информатика и ИКТ. Учебник для 7 класса. М., Бином, Лаборатория знаний, 2010.
2. А.Г. Кушниренко, Г.В. Лебедев, Я.Н. Зайдельман. Информатика 7-9 кл. М., Дрофа, 2003.

Дополнительно:

Демонстрационный материал к уроку информатики в 9 классе «Составление циклических алгоритмов для исполнителя Робот» (14 слайдов)

Слайд 1


Слайд 3

Доступно в форматах: EPUB | PDF | FB2

Страниц: 544

Год издания: 2016

Язык: Русский

В данном пособии представлен весь материал, который необходимо знать для успешной сдачи экзамена в форме ЕГЭ. Книга включает три раздела - "Общая химия", "Неорганическая химия", "Органическая химия". Материал расположен в соответствии с логикой его изучения и излагается в структурированном виде, с использованием алгоритмов, опирающихся на минимально необходимые базовые знания. В пособие включён как теоретический материал, изложенный доступным языком, так и практические задания, необходимые для лучшего запоминания и проверки качества подготовки.Издание является частью учебно-методического комплекса "Химия. Подготовка к ЕГЭ".Пособие адресовано прежде всего старшеклассникам, а также может быть полезно учителям, абитуриентам и студентам.

Отзывы

Семён, Одесса , 11.10.2017
Порой для того, чтобы найти нужную литературу в глобальной сети, нужно потратить от 15 минут до целого часа. Это очень не удобно, ввиду постоянного отсутствия времени на подобные занятия. Очень доволен тому, что начал функционировать сайт с настолько богатой базой необходимых знаний. Теперь проблемы поиска книг для меня не существует!

Владимир, Нижний Новгород , 09.07.2017
Искал интересную книгу Химия. Большой справочник для подготовки к ЕГЭ, нашел десь. Быстрое и бесплатное скачивание. Книга читается на одном дыхании.

Те, кто смотрел эту страницу, также интересовались:

Часто задаваемые вопросы

1. Какой формат книги выбрать: PDF, EPUB или FB2?
Тут все зависит от ваших личных предпочтений. На сегодняшний день, каждый из этих типов книг можно открыть как на компьютере, так и на смартфоне или планшете. Все скачанные с нашего сайта книги будут одинаково открываться и выглядеть в любом из этих форматов. Если не знаете что выбрать, то для чтения на компьютере выбирайте PDF, а для смартфона - EPUB.

3. В какой программе открыть файл PDF?
Для открытия файла PDF Вы можете воспользоваться бесплатной программой Acrobat Reader. Она доступна для скачивания на сайте adobe.com

Доступно в форматах: EPUB | PDF | FB2

Страниц: 336

Год издания: 2016

Язык: Русский

Пособие содержит краткий справочный материал по неорганической, органической и общей химии, необходимый для оперативного нахождения важной информации, систематизации знаний и подготовки к ГИА и ЕГЭ формат справочника позволяет использовать его на уроках, дополни тельных занятиях, в процессе самостоятельной подготовки к контрольным работам и экзаменам. Издание адресовано прежде всего учащимся 9-11-х классов. Книга является частью учебно-методического комплекса "Химия. Подготовка к ЕГЭ".

Отзывы

Рафаэль, Донецк , 30.10.2017
Искал интересную книгу Химия. 9-11 классы. Карманный справочник (миниатюрное издание), нашел десь. Быстрое и бесплатное скачивание. Книга читается на одном дыхании.

Софья, Львов , 09.07.2017
Я тут набегом) случайно. Не умею отзывы писать, но как не сказать мерси за бесплатное скачивание книги Химия. 9-11 классы. Карманный справочник (миниатюрное издание) (ввести код с тлф не считается). Мне эта книжка для учебы ой как нужна! А нигде нет или есть, но платно. Вот спасибочки от студентов. Всем сокурсникам про вас рассказала. Ждите наплыва посетителей.

Те, кто смотрел эту страницу, также интересовались:




Часто задаваемые вопросы

1. Какой формат книги выбрать: PDF, EPUB или FB2?
Тут все зависит от ваших личных предпочтений. На сегодняшний день, каждый из этих типов книг можно открыть как на компьютере, так и на смартфоне или планшете. Все скачанные с нашего сайта книги будут одинаково открываться и выглядеть в любом из этих форматов. Если не знаете что выбрать, то для чтения на компьютере выбирайте PDF, а для смартфона - EPUB.

3. В какой программе открыть файл PDF?
Для открытия файла PDF Вы можете воспользоваться бесплатной программой Acrobat Reader. Она доступна для скачивания на сайте adobe.com