Выбрать главу

{Действие при L=True}

end;

Конструкция для двух альтернатив:

if L then begin

{Действие при L=True}

end

else

begin

{Действие при L=False}

End;

Первый вариант конструкции для нескольких альтернатив (ВЫБОРА):

if L1 then Begin

{Действие при L1=True}

end;

if L2 then

begin

{Действие при L2=True}

end;

if L3 then

begin

{Действие при L3=True}

end;

Второй вариант конструкции для нескольких альтернатив (ВЫБОРА):

Switch:= 0;

L1:=…;

L2:=…;

L3:=…;

if L1 then Switch:= 1;

if L2 then Switch:= 2;

if L3 then Switch:= 3;

case Switch of

1:begin

{Действие при L1=True}

end;

2:begin

{Действие при L2=True}

end;

3:begin

{Действие при L3=True}

end;

else

begin

{Вывод сообщения об ошибочном кодировании модуля}

end;

end; {End of Case}

Рассмотрим запись вариантов кодирования структуры АЛЬТЕРНАТИВА на языке программирования С.

Конструкция для одной альтернативы:

if (L)

{

/*Действие при L 0*/

}

Конструкция для двух альтернатив:

if (L)

{

/*Действие при L 0*/

}

else

{

/*Действие при L = 0*/

}

Первый вариант конструкции для нескольких альтернатив (ВЫБОРА)

if (L1)

{

/*Действие при L1 0*/

}

else if (L2)

{

/*Действие при L2 0*/

}

else if(L3)

{

/*Действие при L3 0*/

}

}

Второй вариант конструкции для нескольких альтернатив (ВЫБОРА):

Selector = 0;

L1 =…;

L2 =…;

L3 =…;

if (L1) Selector = 1;

else if (L2) Selector = 2;

else if (L3) Selector = 3;

switch (Selector)

case 1:

/*Действие при L1 0*/

break;

case 2:

/*Действие при L2 0*/

break;

case 3:

/*Действие при L3 0*/

break;

default:

/*Вывод сообщения об ошибочном кодировании модуля*/

exit (-1);

} /*Конец switch*/

Правая конструкция соответствует очень сложной логике условий. В простейших случаях допускается упрощенная кодировка (первый пример на Pascal, второй на Q:

if a > b then x:=y+3 else x:=у+6; {Язык Pascal}

if (a > b) x=y+3; else x=у+6; /*Язык С*/

ВЫБОР из двух и более АЛЬТЕРНАТИВ нельзя кодировать при помощи вложения других структур простейших АЛЬТЕРНАТИВ из-за большой вероятности ошибок.

Порядок детализации структур АЛЬТЕРНАТИВА:

1) в зависимости от количества альтернативных действий записываются все операторы структуры;

2) определяются сами альтернативные действия как СЛЕДОВАНИЯ;

3) записываются логические условия альтернативных действий;

4) проверяется информационная согласованность логических условий и действий;

5) на нескольких текстовых примерах осуществляется проверка. ПОВТОРЕНИЯ в программировании называются циклами.

Обычно стандартом проекта предусмотрен ряд конструкций циклов. Неуниверсальный ЦИКЛ-ДО имеет две конструкции и используется для задания заданного числа повторений. Рассмотрим их запись на языке программирования Pascal.

Конструкция по возрастанию:

for i:=3 to 5 do begin

{тело цикла i=3,4,5}

end;

Конструкция по убыванию:

for i:=5 downto 3 do begin

{тело цикла i=5,4,3}

end;

Рассмотрим запись вариантов кодирования структуры неуниверсальный ЦИКЛ-ДО на языке программирования С.

Конструкция по возрастанию:

for (i=3; i<=5; i++)

{

/*тело цикла i=3,4,5*/

}

Конструкция по убыванию:

for (i=5; i>=3; i-)

{

/*тело цикла i=5,4,3*/

}

Здесь i — переменная цикла. Обычно эти циклы не требуют после кодирования дополнительного тестирования.

Универсальные циклы имеют конструкции ЦИКЛ-ДО и ЦИКЛ-ПОКА. Их запись на языке Pascal приведена ниже:

Универсальный ЦИКЛ-ПОКА:

{Подготовка}

while L do

begin

{Тело цикла}

end;