Структурное программирование

Структурное программирование – это стиль программирования, позволяющий разрабатывать хорошо структурированные программы.

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

    1. Программа разбивается на блоки, каждый из которых имеет один "вход" и один "выход".
    2. Любая программа может быть составлена из трех структур или блоков, которые представлены в таблице.
    3. Алгоритмы при структурном программировании представляются в виде структоргамм, элементы написания которых также приведены в таблице.

Таблица

Основные типы структур и примеры их изображения на структограммах

Название Алгоритм
Блок-схема Структограмма
а) линейная структура
б) Ветвящаяся структура
в) циклическая структура:    
с предусловием
с постусловием

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

Для организации цикла в ТП имеются три различных оператора.

  1. Счетный оператор цикла For:

For <параметр цикла>:=<начальное значение> to <конечное значение> do Р;

P- простой или составной оператор.

При каждом прохождении цикла < параметр цикла >, начиная с <начального значения>, увеличивается на единицу. Цикл выполняется, пока <параметр цикла> не станет больше <конечного значения>.

Другой вариант записи оператора For:

For <параметр цикла >:=< начальное значение> downto <конечное значение> do Р;

В этом случае при каждом прохождении цикла < параметр цикла > уменьшается на единицу от <начального значения> до <конечного значения>.

  1. Оператор цикла While с проверкой предусловия:

While <условие> do P; {Пока выполняется условие, делать}

Цикл выполняется, пока условие истинно (true).

  1. Оператор цикла Repeat … until с проверкой постусловия:

Repeat P until <условие>; { Выполнять до тех пор, пока не будет выполнено условие}

Цикл выполняется, пока условие ложно (false).

Пример.

    1. Постановка задачи. Найти сумму 5 целых чисел от 1 до 5. Написать программы для определения суммы с помощью трех рассмотренных операторов цикла.
    2. Математическое описание.
    3. Структограммы и программы для каждого оператора цикла приведены в таблице:

Таблица

Структограммы и программы

Цикл For … While… Repeat…  
3.1. 3.2 3.3
4.1: Program P2; Var i,S:integer; Begin S:=0; For i:=1 to 5 do S:=S+i; Writeln(‘S=’,S:5); End. 4.2: Program P2; Var i,S:byte; Begin S:=0; i:=1; While i<=5 do Begin S:=S+i; I:=i+1; End; Writeln(‘S=’,S); End. 4.3: Program P3; Var i,S:integer; Begin S:=0; i:=1; Repeat S:=S+i; I:=i+1; Until i>=6; Writeln(S); End.


предназначен для ветвления программы на два направления.

Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.

Рассмотрим четыре варианта записи оператора IF:

  1. If <условие> then P1 else P2;
  2. If <условие> then P1;
  3. If (<условие1>) or (<условие2>) then P1 else P2;
  4. If (<условие1>) and (<условие2>) then P1 else P2;

где <условие>,<условие1>, <условие2> - переменные логического типа. Р1, Р2 - простые или составные операторы.

  • В первом случае если условие истинно, то выполняется оператор P1, если ложно – то P2.
  • Во втором варианте записана краткая форма оператора.
  • В третьем и четвертом примерах два условия объединены служебными словами or (или) и and (и). В результате объединения получается новая логическая переменная, истинность которой определяется согласно следующей таблицы.

Таблица

Таблица истинности сложных условий: И - истинно, Л - ложно

(<условие1>) И И Л Л
(<условие2>) И Л И Л
(<условие1>) or (<условие2>) И И И Л
(<условие1>) and (<условие2>) И Л Л Л

Пример. Написать программу для решения квадратного уравнения a∙x2+b∙x+c=0.

Технологические операции программирования и их выполнение приведены в таблице

Таблица

N Этапы программирования Выполнение
1. Постановка задачи Написать программу для решения квадратного уравнения a∙x2+b∙x+c=0.
2. Математическое описание
3. Разработка структограммы
4. Написание программы Program P3; Var a,b,c,d,x1,x2:real; Begin a:=1; b:=3; c:=5; D:=sqr(b)-4*a*c; If D>=0 then Begin X1:=(-b+sqrt(D))/2/a; X2:=(-b-sqrt(D))/2/a; Writeln(x1,x2); End Else Writeln(‘Действ.корней нет’); End.
5. Отладка и получение результатов Выполнить самостоятельно

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: