Автор работы: Пользователь скрыл имя, 19 Ноября 2012 в 11:09, контрольная работа
На сегодняшний день самой популярной методикой программирования является структурное программирование "сверху – вниз". Эта технология программирования представляет собой процесс пошагово разбиения алгоритма на все более мелкие части с целью получить такие элементы, для которых можно легко написать конкретные предписания. Таким образом, простота чтения, понимания и исправления структурированных описаний позволяет существенно уменьшить количество ошибок в алгоритмах и программах и сократить время их отладки на ЭВМ.
Введение
Глава 1 принципы структурной алгоритмизации
Глава 2  Требования и преимущества структурной алгоритмизации
Глава  3 Базовый набор структур для построения алгоритма
3.1  Линейные и разветвляющиеся  структуры
3.2 Ветвящейся структурой
3.3  Организация циклических  структур алгоритма
Заключение
Библиографический список
X:= X+5;
является широко распространенной командой в программировании. Такая команда называется оператором присваивания и означает, что к текущему содержимому ячейки с именем X добавляется число 5, после этой операции сложения ячека X теряет свое старое значение и приобретает новое, которое на 5 больше предыдущего. В результате выполнения оператора присваивания всегда обновляется значение ячейки памяти, имя которой указывается в записи оператора слева от знака «:=» после вычисления формулы, которая записана в операторе справа от знака «:=».
Линейные структуры 
Часто для дальнейшей детализации алгоритма используются ветвящиеся структуры
3.2 Ветвящейся структурой
Ветвящейся структурой (разветвляющейся) называется алгоритм (фрагмент алгоритма), в котором в зависимости от исходных данных или промежуточных результатов вычисления реализуется по одному из нескольких, заранее предусмотренных (возможных) направлений. Такие направления называются ветвями вычислений.
| 
 | 
 | 
 | 
Рис. 8. Ветвящаяся структура: а — стандартная схема; б, в — частные случаи ветвления.
Каждая ветвь может быть любой степени сложности, а может вообще не содержать предписаний (рис. 8б — 8в), т.е. быть «вырожденной». Выбор той или иной ветви осуществляется в зависимости от результата проверки условия. В каждом конкретном случае алгоритм реализуется только по одной ветви, а выполнение остальных исключается. В схемах, приведенных на рис. 8, положительный исход проверки условия обозначен знаком «+» (да или true/истина, что соответствует значению в ячейке памяти, хранящей результат операции проверки условия, равном «1»), а отрицательный — знаком «-» (нет или false/ложь, «0»).
При составлении алгоритма 
в виде псевдокодов линии связи 
заменяются словами «Идти» или «Перейти» 
с указанием номера предписания 
(оператора), которое должно выполняться 
на следующем шаге алгоритма. Горизонтальная 
линия, объединяющая ветви «+» и 
«-», в псевдокодах имеет аналог 
— «Конец-Если». После фразы «Конец-Если» 
можно указать номер 
На практике часто встречаются 
задачи, когда нужно выбрать не 
одно из двух, а одно из трех или более 
предписаний. Такую структуру называют 
выбором варианта, ее также можно 
построить из линейных и ветвящихся 
структур, как показано на рис. 9. В 
такой структуре сначала 
Рис. 9. Выбор варианта: а 
— структура выбора варианта; 
б, в — условное обозначение.
В качестве примера использования ветвлений рассмотрим составление алгоритма для вычисления функции f в зависимости от конкретных значений x, a, b:
Первое приближение алгоритма 
будет иметь вид, показанный на рис. 
10. Анализ этого алгоритма показывает, 
что все его блоки, кроме блока 
5, являются элементарными. Возможный 
вариант дальнейшей детализации 
блока 5 представлен на рис. 11. Все 
блоки второго этапа 
На заключительном этапе производится сборка алгоритма, т.е. содержимое рис. 11 помещается на рис. 10 вместо блока 5.
| 
 | 
| Рис. 10. Первый этап составления алгоритма. | 
3.3 Организация циклических структур алгоритма
Настоящие преимущества компьютера в скорости выполнения команд становятся очевидными лишь при решении тех задач, где возникает необходимость многократного повторения одних и тех же фрагментов алгоритмов.
Циклическими называются структуры алгоритмов, у которых выполнение некоторых операторов (групп операторов) осуществляется многократно с одними и теми же или модифицированными данными.
Циклические алгоритмы находят самое широкое применение в программировании, так как при этом человек составляет программу, описывая в ней циклическую структуру один раз, а компьютер выполняет ее многократно. Циклические структуры часто называют циклами.
В зависимости от способа организации числа повторений циклической структуры различают три типа циклов: цикл с заданным условием продолжения работы, цикл с заданным условием окончания работы и цикл с заданным числом повторений.
Логика работы цикла с заданным условием продолжения работы (цикл-ПОКА) описывается схемой, показанной на рис. 10а.
Рис. 12. Структура цикл-ПОКА: 
а — развернутая схема цикла; 
б — запись в псевдокодах; в — компактная 
схема цикла.
Тело цикла может включать в себя группу операторов любой степени сложности. При выполнении условия продолжения работы выполняется тело цикла, если же условие не выполняется, то работа циклической структуры заканчивается и начинает выполняться следующая структура основного алгоритма.
Структура цикл-ПОКА предусматривает 
вариант, когда тело цикла не выполняется 
ни разу. Такое возможно, если условие, 
стоящее в начале цикла, сразу 
же не выполняется. Когда на практике 
возникает необходимость 
Структура цикла-ДО приведена на рис. 13. С помощью такой структуры обычно составляют алгоритмы итерационных вычислительных процессов, то есть процессов, в которых для определения последующих значений переменной используется ее предыдущее значение. Итерационный процесс положен, например, в основу метода последовательных приближений.
Выход из конструкции цикл-ДО осуществляется по достижении заданной точности или по какому-либо другому признаку.
Рис. 13. Структура цикл-ДО: 
а — развернутая схема цикла; б — запись 
в псевдокодах; в — компактная схема цикла.
Если условие проверяется до входа в «тело цикла», то оно называется предусловием, если после — постусловием.
Рассмотренные типы циклических структур имеют один недостаток: при ошибочном задании исходных данных может произойти зацикливание, т.е. возникает неприятная ситуация, когда происходит бесконечное повторение операторов, входящих в тело цикла. В этом случае приходится принудительно завершать работу программы, иногда это связано с потерей не сохраненных данных и самой программы.
В практических инженерных задачах обычно известны начальные значения изменяемых величин, закон изменения и конечное число повторений. Переменная, изменение которой организуется в ходе реализации цикла, называется параметром цикла, или управляющей переменной. Алгоритм работы цикла с заданным числом повторений (иногда его называют циклом с параметром) приведен на рис. 14.
Рис. 14. Развернутая схема 
цикла с заданным числом повторений: 
а — с возрастающим параметром; б — с убывающим 
параметром.
На рис. 14 обозначено: i — параметр цикла; — начальное значение параметра; — конечное значение параметра; — приращение (шаг). Прочитать этот алгоритм можно следующим образом: «Меняя параметр от начального значения до конечного значения, повторять тело цикла».
Алгоритм, приведенный на рис. 14, принято называть развернутой схемой цикла с заданным числом повторений. Такая схема является удобной для анализа алгоритма и поиска ошибок.
Необходимо особо подчеркнуть, что развернутая и компактная записи после реализации в машине дают один и тот же результат. Компактная запись менее громоздкая за счет того, что в ней не задаются в явном виде связи между отдельными элементами структуры.
Для изображения компактной графической схемы цикла с параметром могут быть использованы символы «Подготовка» или «Граница цикла» (см. табл. 1), как показано на рис. 15.
Рис. 15. Компактная запись цикла 
с параметром: 
а — с использованием символа «Подготовка»; 
б — с использованием символа «Граница 
цикла».
При работе с технической литературой, а также при отладке алгоритмов и программ необходимо уметь правильно читать циклические операторы. Сложность состоит в том, что при компактной записи, которая чаще всего используется в технической литературе, проверка условия окончания цикла и изменение параметра цикла с заданным числом повторений не указаны явно. В компактной форме могут быть заданы и другие типы циклов, поэтому анализ и проверку исполнения циклических структур рекомендуется проводить по развернутой схеме алгоритма.
 
Заключение
До недавнего времени «хорошими » программистами считали тех, кто писал достаточно хитроумные программы , занимающие минимум основной памяти и выполняющиеся за кротчайшее время. Однако результатом такого хитроумного кодирования оказывались, программы которые было трудно (а то и совершенно невозможно) понять даже самому их автору через некоторое время. Значительный прогресс в программировании был достигнут с появлением технологии структурного программирования.
Структурный подход позволяет, упростить и структурировать программу и благодаря этому снизить трудоемкость всего процесса создания программного обеспечения – от технического задания до эксплуатации программы.
Таким образом, структурное программирование улучшает ясность и читабельность программ. Программы, написанные с использование традиционных методов, часто имеют довольно хаотичную структуру. Структурные программы же организованны, последовательны, поэтому такую программу можно читать сверху- вниз без перерыва. Кроме того, структурное программирование призвано улучшить эффективность программы.
 
Информация о работе Базовый набор структур для построения алгоритма