Технологии программирования | страница 122



>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;


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


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