Основы структурного программирования

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

Порядок составления программ:

 

 

На практике широко используютсядва подхода к алгоритмизации:

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. треугольник») линия (150,50)-(100,100)

вывод («2. прямоугольник») линия (150,50)-(200,100)

вывод («З. кольцо») линия (100,100)-(200,100)

запрос(«номер =», п) кон