Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
СТРУКТУРНЫЙ ПОДХОД К РЕШЕНИЮ ЗАДАЧ
Как видим, все обозримые действия можно описать набором всего трех основных операций. Первоначально когда начинало развиваться программирование первым методом (методологией) создания (разработки и написания) программ, был метод программирования «снизу в вверх». Вначале разрабатывались отдельные модули, и затем из них строилась программа, как в детском конструкторе из различных готовых блоков вы бы строили дом. На первый взгляд это довольно просто, но здесь кроется ловушка, если вы не построили стен, не сможете начать строить крышу, и если нет какого либо, даже самого незначительного, модуля здание не будет полностью построено. В случае программирования это значит, что мы не сможем передать полный текст инструкций (программу) исполнителю и задача (действие) выполнена не будет. Если бы мы использовали этот принцип то, как и знаменитая сороконожка не смогли бы сделать и одного шага. К счастью, наше мышление устроено несколько по-другому. Когда мы хотим что-то сделать, то мы разбираем задачу на более мелкие подзадачи. Те в свою очередь еще на более мелкие (более детализированные), это продолжается до тех пор пока наш процессор (исполнитель) не поймет инструкции. При этом, если мы незнаем как решить какую либо из подзадач в данный момент, то временно откладываем это на потом. Вспомните знаменитое «Авось». Процесс когда для решения задача разбивается на независимые подзадачи и рассматривается реализация (решение) этих подзадач называют структурным подходом. Рассмотрим как с помощью этого подхода можно описать алгоритм задачи по приготовлению чая. 1-й этап. Постановка задачи. Задача приготовить чай, то есть мы должны произвести некое действие.
2-й этап. Детализация задачи. Для того, что бы произвести любое действие, согласно определения которое мы дали понятию действия, надо начать его, делать его и закончить его.
3-й этап. Детализация подзадач. Рассмотрим действие Начать. Для того, что бы приготовить чай нам необходимо выполнение нескольких условий. Это: наличие чая (заварки), воды, емкости для воды и нагревателя. Если хотя бы одного компонента нет, то вряд ли вы сможете приготовить чай.
При продолжении работы мы определяем: 1. Какая емкость для воды у нас в наличии и выбираем ее. Она может быть разных видов.
2. Определим где будем брать воду.
3. Определяем чем, будем нагревать.
4. Определим вид заварки
Рассмотрим действие Работать. Действие Работать можно разделить на три основных поддействия.
Действие Набор в емкость воды пока рассматривать не будем, это зависит от того, какая она у нас будет, и где мы будем брать воду. Рассмотрим действие Вскипятить воду. Что значит вскипятить воду? Это значит, что воду в емкости надо нагревать пока она (вода) не закипит.
Используя приемы описанные выше можно расписать действие Заварить чай. Более того, каждое поддействие может быть разобрано с применением этого подхода. Вы знаете, что каждое действие можно разложить на более частные поддействия, те в свою очередь также разлагаются на более дробные поддействия и так далее. Получается, что любую задачу можно детализировать до бесконечности, то есть нельзя написать полную инструкцию?! Совершенно верно. Что же делать? Вспомните определение, которое мы дали алгоритму. Одной из характеристик алгоритма было то, что это система понятных инструкций. Таким образом, как только мы думаем, что исполнитель (процессор) сможет выполнить действие, прочитав нашу инструкцию, в этот момент можно закончить детализацию.
Дата добавления: 2014-11-24; просмотров: 274; Нарушение авторских прав Мы поможем в написании ваших работ! |