
- •Укороченный язык си
- •Порядок обработки информации машиной с целью получения программы
- •Элементы языка си
- •История языка
- •Понятие языка программирования
- •Основные понятия языка программирования
- •Основные символы языка
- •Ключевые слова
- •Использование комментариев в тексте программы
- •Описательные и выполняемые операторы языка
- •Понятие идентификатора
- •Переменные и базовые типы данных
- •Константы
- •Указатели
- •Типы структурированных переменных
- •Массивы
- •Структуры
- •Структура программ
- •Составные части программы
- •Функции в языке си
- •Понятие модуля
- •Арифметические выражения и присваивания
- •Арифметические выражения
- •Приоритет арифметических операций
- •Преобразования типов при вычислении выражений
- •Странные операторы присваивания
- •Сокращенная запись арифметических выражений
- •Логические выражения
- •Операция sizeof
- •Программирование вычислительных структур
- •Исполняемые операторы
- •Структура альтернатива
- •Структура повторение
-
Структура альтернатива
Согласно предлагаемому стандарту проекта, АЛЬТЕРНАТИВА имеет четыре конструкции. Рассмотрим их запись на языке программирования Си.
Конструкция для одной Конструкция для двух
альтернативы: альтернатив:
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) на нескольких тестовых примерах осуществляется проверка.