Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Восходящий подход

Читайте также:
  1. I ПОДХОД. Неизмеряемость информации в быту (информация как новизна)
  2. I) обеспечения того, чтобы процедуры, помещения и материалы для голосования были подходящими, доступными и легкими для понимания и использования;
  3. I.1. Инновационный подход к системе освоения ценностей физической культуры и спорта.
  4. II. МЕТОДЫ, ПОДХОДЫ И ПРОЦЕДУРЫ ДИАГНОСТИКИ И ЛЕЧЕНИЯ
  5. Административный подход в управлении
  6. Анропоцентрированный подход в изучении СМИ
  7. Базовые подходы к обоснованию ставки дисконтирования.
  8. Билет 30. Проблема сознания в философии; диалектико-материалистический подход к ее решению. Сознание и язык.
  9. Билет4. Системный подход в пед.науке и образовании
  10. Бихевиористский научный подход

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

На следующем этапе (когда найден способ решения) найденный способ решения задачи используется при разработке программ. В отличие от поиска решения составление программ ведется снизу вверх. Это означает, что в первую очередь разрабатывают (или подбирают, если они уже существуют) набор базовых средств нижнего уровня (подзадач, подпрограмм или в самом простейшем случае - выражений или операций на выбранном языке программирования), необходимых с точки зрения разработчика для выполнения базовых функций. Также выбирается необходимый набор исходных и промежуточных данных. После этого разработчик, держа в уме найденный способ решения, разрабатывает (подбирает) алгоритм использования этих базовых средств для достижения решения. При этом базовые средства объединяются в конструкции более высокого уровня, которые в свою очередь тоже объединяются в конструкции выше стоящего уровня и т.д. пока не будет получена программа, реализующая поставленную задачу путем вызова необходимых базовых конструкций и разработанных средств в нужном порядке (в уме держится). При этом в процессе разработки алгоритма мы движемся снизу вверх - отсюда название подхода.

Поскольку рассуждения, выполненные в ходе поиска способа решения задачи, не фиксируются, то они теряются и не могут быть использованы при дальнейшем составлении алгоритма. В связи с этим от разработчика требуется выполнить восстановление структуры решения (которое у него сложилось на момент подбора базовых конструкций). Когда число базовых конструкций, уровней иерархии и связей между ними достаточно велико или когда опыт разработчика еще не велик, то способности разработчика часто не хватает на то, чтобы: 1) Просто не допустить логических ошибок в алгоритме; 2) Итоговая структура алгоритма соответствовала той, которую разработчик мысленно получил при подборе базовых средств.

 
 

 


… … … …

 
 

 

 


базовые средства

 

6.2 Нисходящий подход.

           
 
Постановка1
 
Постановка2  
     
ПостановкаN  
 
 
 
Программа1
 
Программа2  
 
 
Исполнтель1
 
Исполнтель2  


………

 
 
Программа N  


………

           
 
     
 
 

 


………

Стадия 1 Стадия 2 ….. Стадия N

Разработка программы проходит несколько этапов уточнения. На самом верхнем уровне (этапе) решение задачи описывается в терминах небольшого числа (в простейшем случае - одного) действий самого высокого уровня, выполняемые над данными, которые также рассматриваются на самом высоком уровне абстракции. Каждое действие высокого уровня затем уточняется посредствам описания его в терминах действий более низкого уровня. Одновременно уточняются и данные, над которыми выполняются эти действия. Процесс уточнения продолжается до тех пор, пока действия и данные не станут выражаться непосредственно на используемом языке программирования. Каждому этапу уточнения соответствует некоторый отличный от других экземпляр программы. При этом для каждой программы предполагается некоторый исполнитель, способный ее (программу) выполнить (ЭВМ).

Можно рассматривать процесс разработки алгоритма таким методом как процесс постепенной передачи решения задачи от исполнителя верхнего уровня (умного) исполнителям более низкого уровня (более глупым в том смысле, что требуют для работы больше пояснений, чем умные): вначале мы описываем действия по решению задачи на языке исполнителя самого верхнего уровня, затем уточняем каждое из этих действий на языке исполнителя более низкого уровня и т.д. до тех пор, пока конечным исполнителем не станет ЭВМ.

Достоинства данного подхода:

1) не надо выдумывать базовые конструкции программы - они сами появтся на определенной стадии уточнения исходной задачи.

Недостатки этого подхода:

1) приходится при переходе от одной стадии уточнения к другой заново переписывать текст алгоритма и всю. документацию на него

2) ошибки, допущенные на начальных этапах, будут дублироваться на всех последующих этапах

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




Дата добавления: 2015-04-20; просмотров: 18 | Поможем написать вашу работу | Нарушение авторских прав

1 | <== 2 ==> |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав