{
/* Тело цикла */
…
}
while (! (L));
В приведенной выше структуре ненулевое значение переменной L соответствует окончанию выполнения цикла, а не его продолжению выполнения, как в операторе языка программирования! Использование "линией" операции (!) НЕ никак не удлинит программу. Современные компиляторы автоматически инвертируют логическое условие завершения цикла.
Структуре СЛЕДОВАНИЕ в программах могут соответствовать: выполнение всей программы; вызов процедуры.
Согласно стандарту проекта, АЛЬТЕРНАТИВА имеет четыре конструкции. Рассмотрим их запись на языке программирования Pascal.
Конструкция для одной альтернативы:
if L then begin
<i>{Действие при L=True}</i>
<i>…</i>
end;
Конструкция для двух альтернатив:
if L then begin
{Действие при <i>L=True}</i>
<i>…</i>
end
else
begin
<i>{Действие при L=False}</i>
<i>…</i>
End;
Первый вариант конструкции для нескольких альтернатив (ВЫБОРА):
if L1 then Begin
<i>{Действие при L1=True}</i>
end;
…
if L2 then
begin
<i>{Действие при L2=True}</i>
…
end;
if L3 then
begin
<i>{Действие при L3=True}</i>
…
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
<i>{Действие при L1=True}</i>
<i>…</i>
end;
2:begin
<i>{Действие при L2=True}</i>
<i>…</i>
end;
3:begin
<i>{Действие при L3=True}</i>
<i>…</i>
end;
else
begin
{Вывод сообщения об ошибочном кодировании модуля}
…
end;
end; <i>{End of Case}</i>
Рассмотрим запись вариантов кодирования структуры АЛЬТЕРНАТИВА на языке программирования С.
Конструкция для одной альтернативы:
if (L)
{
/*<i>Действие при L </i>≠<i> 0*/</i>
<i>…</i>
}
Конструкция для двух альтернатив:
if (L)
{
/*<i>Действие при L </i>≠<i> 0*/</i>
<i>…</i>
}
else
{
<i>/*Действие при L = 0*/</i>
<i>…</i>
}
Первый вариант конструкции для нескольких альтернатив (ВЫБОРА)
if (L1)
{
/*<i>Действие при L1 </i>≠<i> 0*</i>/
…
}
else if (L2)
{
/*<i>Действие при L2 </i>≠<i> 0*/</i>
…
}
else if(L3)
{
/*<i>Действие при L3 </i>≠<i> 0*/</i>
…
}
…
}
Второй вариант конструкции для нескольких альтернатив (ВЫБОРА):
Selector = 0;
L1 =…;
L2 =…;
L3 =…;
…
if (L1) Selector = 1;
else if (L2) Selector = 2;
else if (L3) Selector = 3;
…
switch (Selector)
case 1:
<i>/*Действие при L1 </i>≠<i> 0*/</i>
<i>…</i>