Основы структурного программирования
Алгоритмизация - это составление алгоритмов для последующей реализации в виде программ для ЭВМ. Знание и использование систематических методов превращают алгоритмизацию - в строгую дисциплину, позволяющую составлять программы на ЭВМ без ошибок.
Порядок составления программ:
задача ¾
алгоритмы
программа
ЭВМ
На практике широко используютсядва подхода к алгоритмизации:
1) традиционный подход (с использованием блок-схем);
2) структурный подход (с использованием структурной записи);
Традиционный подход к составлению алгоритмов с применением блок-схем грешит большим числом ошибок в программах из-за их громоздкости и запутанности. Из-за этого традиционный подход к составлению программ чреват большим числом ошибок в создаваемых программах.
Структурный подход к программированию заключается в обязательном предварительном составлении структурированных алгоритмов с записью их на псевдокоде. Простота чтения, понимания и исправления структурированных описаний позволяет существенно уменьшить количество ошибок в алгоритмах и программах и сократить время их отладки на ЭВМ.
При структурном подходе к составлению алгоритмов и программ используются три основныхправила композиции:
1) альтернативный выбор;
2) циклический повтор;
3) вспомогательные алгоритмы (подпрограммы).
Структурированными считаются алгоритмы и программы составленными только с использованием указанных трех правил структурной композиции. Неструктурированными считаются алгоритмы и программы, в которых используются операторыgoto ... или отсутствует ступенчатая запись циклов и альтернатив.
Основные правила структурной композиции алгоритмов с примерами записи их на языке структурированного Бейсика:
1. Альтернативный выбор:
Алгоритм Запись
если х > 0 тоif х > 0 then
у := ху = х
иначе else
у := -ху = -х
кеслиend if
2. Циклический повтор:
Алгоритм Запись
пока х > 1 циклdo while х > 1
х: = х/2 х = х/2
кцикл loop
3. Вспомогательные алгоритмы(подпрограммы).
Алгоритм Подпрограмма
алг «у = |х|»mod: 'у = |х|
нач '
если х > 0 то if х > 0 then
у := х у = х
иначе else
у := -х у = -х
все end if
кон return
Обращение к алгоритмуОбращение к подпрограмме
«у = |х|»gosub mod
В качестве иллюстрации приведем пример структурированного алгоритма «Галерея картинок» и соответствующей структурированной программы:
Сценарий «Галерея картинок»
Список картинок:
1. треугольник
2. прямоугольник
3. кольцо
номер =? «N»
n = 1 n =2 n = 3
В соответствии с этими четырьмя картинками построим три вспомогательных алгоритма рисования отдельных картинок из «Галереи» и общий алгоритм выбора картинок в соответствии с приведенным выше сценарием:
Алг «Галерея картинок»
нач алг «рисунок_треугольника»
Вывод («Список картинок:») нач
Вывод («1. треугольник») линия (150,50)-(100,100)