Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭЛЕМЕНТЫ ЯЗЫКА C.doc
Скачиваний:
11
Добавлен:
05.11.2018
Размер:
476.16 Кб
Скачать
      1. Структура альтернатива

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

Конструкция для одной Конструкция для двух

альтернативы: альтернатив:

if(L) if(L)

{ {

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

. . . . . .

} }

else

{

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

. . .

}

Первый вариант конструкции Второй вариант конструкции

для нескольких альтернатив для нескольких альтернатив

(ВЫБОРА): (ВЫБОРА):

if(L1) Selector = 0;

{ L1 = . . .;

/*Действие при L1≠0*/ L2 = . . .;

. . . L3 = . . .;

} . . .

else if(L2) if (L1) Selector = 1;

{ else if (L2) Selector = 2;

/*Действие при L2≠0*/ else if (L3) Selector = 3;

. . . . . .

} switch(Selector)

else if(L3) case 1:

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

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

. . . break;

} case 2:

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

. . .

break;

case 3:

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

. . .

break;

default:

/*Вывод сообщения об

ошибочном кодировании

модуля*/

. . .

exit(-1);

} /*Конец switch*/

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

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

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

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

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

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

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

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

5) на нескольких тестовых примерах осуществляется проверка.