Построение алгоритмов☛Уроки программирования ✎ |
Метод пошаговой детализации. Структурный подход к построению алгоритмов. Модульная структура алгоритма. При построении алгоритма довольно часто возникает ситуация, когда необходимо объяснить исполнителю некоторые сложные действия, выполнение которых не входит в систему команд. Сегодня команда «Пиши» поняла • нежном из вас, ведь каждый уже умеет написать ту или иную букву, а вспомните, как вы учились поэлементно выписывать каждую букву в начале своего обучения. То есть команда «Напиши букву А» для вас является элементарной командой, хотя она - это определенный алгоритм чертежи поданной буквы. В младшей школе вы, наверное, спрашивали рассказ, в котором рассказывается о том, как господин взял себе слугой молодого деревенского парня.
Однажды, весной, захотелось господину молодой редьки. Он так и сказал своему новому слуге: «Принеси редьки» (отдал команду). Слуга эту команду выполнил буквально - пошел на грядку, нарвал редьки и принес господину. Здесь господин понял свой промах и стал поучать слугу: «Принеси редьки - означает: пойди на грядку, воронки пучок редьки, оборвет листья, помой редьку, почисти в тарелку, посоли, приправ маслом и подай на серебряном подносе, на которую не забудь поставить корзину с хлебом, вилку и салфетку ». И так разошелся господин поучать, что вскрикнул, схватился за сердце и упал на диван, и при этом: «Вызови врача ...» Слуга бросился выполнять новое распоряжение господина, а вернувшись поздно вечером, на грозный окрик господина: «Где ты был до этого времени? » - смутившись, едва переводя дыхание, почти шепотом ответил:« За врачом послал кучера ... Гроб заказал столяру ... Могилу выкопал сам ... »
Господин так детализировал команду «Принеси редьки», едва не умер. Слуга, поняв принцип пошаговой детализации, почти похоронил своего господина.
Таким образом, решая большую, громоздкую задачу, каждый человек разбивает ее на отдельные подзадачи (этапа) до тех пор, пока очередной этап не становится элементарной для исполнителя командой (если еще на этапе обучения он усвоил ту последовательность действий, которая приводит к поставленной цели).
Каждую задачу можно считать отдельной командой исполнителю, если его обучено выполнять поставленную задачу, если не знает, как выполнить тот или иной шаг решения задачи, ее необходимо разложить на подзадачи, которые входят в систему команд исполнителя. Так получают алгоритм, состоящий из поняли и посильных для исполнителя команд, или окончательно убеждаются что поставленная задача непосильна для конкретного исполнителя. Как бы взрослые не детализировали для вас алгоритм построения дома (или жилого или подсобного) - такая задача для большинства из вас является непосильным.
Таким способом, при котором на каждом этапе сборки алгоритма формируются отдельные его части, актуальных в данный момент, а остальные заменяется текстовым описанием (программисты называется «пустышки»), мы на предыдущем уроке составляли с вами алгоритм.
Расписание на неделю ». На следующих этапах разработки алгоритма такая же методика применяется для каждой группы фрагментов алгоритма. Такой подход приводит к постепенной детализации алгоритма »уточнение как выполняемой, так и информационной его структуры.
Предложенный подход получил название «метод пошаговой детализации алгоритма». При таком подходе каждую операцию можно представить в виде только одного из трех типов базовых структур алгоритмов - линейной, разветвленной или повторения. Степень детализации зависит под того, на которого исполнителя ориентирован выполнения алгоритма.
Алгоритм, который разрабатывается для решения отдельной подзадачи (отдельных подзадач), называют вспомогательным.
Вспомогательные алгоритмы создаются при необходимости разделения сложной задачи на простые или при необходимости многократного выполнения одного и того же набора действий в этом алгоритме.
Постоянная потребность в улучшении качества алгоритмов, эффективности труда программистов профессионалов реализуется в структурном методе построения алгоритмов.
Структурный метод построения алгоритмов - это способ создания алгоритма с использованием вспомогательных алгоритмов.
Другие материалы по теме:
- Алгоритмы- Введение в программирование с помощью api
- Понятие языка программирования
- Способы описания алгоритмов
- Case-технология проектирования программного обеспечения информационных систем
