
- •1. ОБЩИЕ СВЕДЕНИЯ ОБ АЛГОРИТМАХ
- •1.1. Свойства алгоритма
- •1.2. Способы записи алгоритма
- •1.3. Блок-схемы
- •2. БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ
- •2.1. Следование
- •2.2. Ветвление
- •2.3. Цикл
- •2.4. Примеры алгоритмов
- •Алгоритм №1
- •Алгоритм №2
- •Алгоритм №3
- •3. ВВЕДЕНИЕ В C++
- •3.1. Основные лексемы языка
- •3.1.1. Идентификаторы
- •3.1.2. Ключевые слова
- •3.1.3. Знаки операций
- •3.1.4. Константы
- •3.1.5. Комментарии
- •3.2. Типы данных
- •3.3. Выражения и операции
- •3.3.1. Арифметические операции
- •3.3.2. Операции сравнения
- •3.3.3. Логические операции
- •3.3.4. Побитовые логические операции
- •3.3.5. Операции сдвига
- •3.3.6. Приоритет операций
- •4. СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ C++
- •4.1. Функции
- •4.1.1. Функция main
- •4.2. Объявление переменных
- •4.3. Директивы препроцессора
- •5. ОПЕРАТОРЫ ЯЗЫКА C++
- •5.1. Оператор присваивания
- •5.2. Операторы передачи управления
- •5.2.1. Вызов функции
- •5.2.2. Возврат значения функции
- •5.2.3. Оператор безусловного перехода
- •5.3. Составной оператор
- •5.4. Условные операторы
- •5.4.1. Оператор if
- •5.4.2. Оператор switch
- •5.5. Операторы цикла
- •5.5.1. Цикл while с предусловием
- •5.5.2. Цикл do-while с постусловием
- •5.5.3. Арифметический цикл for
- •6. ЛАБОРАТОРНАЯ РАБОТА №1. Ветвящиеся вычислительные процессы
- •6.1. Цель работы
- •6.2. Постановка задачи
- •6.2.1. Варианты заданий
- •Вариант №1
- •Вариант №2
- •Вариант №3
- •Вариант №4
- •Вариант №5
- •Вариант №6
- •Вариант №7
- •Вариант №8
- •Вариант №9
- •Вариант №10
- •Вариант №11
- •Вариант №12
- •Вариант №13
- •Вариант №14
- •Вариант №15
- •6.3. Требования к оформлению отчета
- •6.4. Рекомендации по выполнению работы
- •6.4.1. Разработка алгоритма
- •6.4.2. Подготовка тестовых данных
- •6.4.3. Реализация операций ввода-вывода
- •6.4.4. Выполнение математических расчетов
- •7. ЛАБОРАТОРНАЯ РАБОТА №2. Циклические вычислительные процессы
- •7.1. Цель работы
- •7.2. Постановка задачи
- •7.2.1 Варианты заданий
- •7.3. Требования к оформлению отчета
- •8. КОНТРОЛЬНЫЕ ВОПРОСЫ
- •9. ЛИТЕРАТУРА

5.3. Составной оператор
Составной оператор – конструкция, позволяющая объединить несколько операторов в один блок. Составной оператор используется в тех случаях, когда необходимо выполнить несколько различных команд, но семантика языковой конструкции предполагает наличие единственного оператора (например, внутри условного оператора или цикла). Можно сказать, что составной оператор обеспечивает реализацию алгоритмической конструкции «следование».
Составной оператор обозначается при помощи фигурных скобок, внутрь которых заключены другие операторы языка С/С++:
// Составной оператор
{
оператор1;
оператор2;
оператор3;
}
Обратите внимание, что после составного оператора точка с запятой не ставится.
5.4. Условные операторы
Условные операторы позволяют реализовать в программе алгоритмическую конструкцию «ветвление».
5.4.1. Оператор if
Условный оператор if обеспечивает выбор одного из альтернативных путей работы алгоритма в зависимости от результата проверки некоторого условия. Условие задается выражением, возвращающим булевское значение.
В самой простой форме оператор if имеет следующий синтаксис:
if (условное_выражение) оператор;
31

Оператор, указанный внутри условной конструкции, будет выполнен только в том случае, если условное выражение вернет истинное значение (true).
if (a!=0 && b!=0)
x = c/(a*b);
В том случае, если при выполнении определенного условия требуется выполнить сразу несколько действий, мы можем использовать составной оператор внутри оператора if:
if (a!=0)
{
x1 = x2/a;
y1 = y2/a;
z1 = z2/a;
}
Оператор if может быть вложенным:
if (a!=0)
{
x = x/a;
if (b!=0) y = y/(a*b);
}
Оператор if может использоваться вместе с ключевым словом else. Ключевое слово else позволяет задать альтернативный оператор, который будет выполнен при ложном значении условного выражения. Синтаксис конструкции if-else выглядит так:
if (условное_выражение) оператор1; else оператор2;
Пример:
if (a>b) max = a; else max = b;
32

5.4.2. Оператор switch
Оператор switch осуществляет ветвление алгоритма в зависимости от значения заданного выражения. Оператор имеет следующий синтаксис:
switch (выражение)
{
case значение1: оператор1.1; оператор1.2;
...
break; case значение2:
оператор2.1;
оператор2.2;
...
break;
...
case значениеN: операторN.1; операторN.2;
...
break;
default:
операторD.1;
операторD.2;
...
}
Ключевое слово case в конструкции switch определяет последовательность операторов, которая будет выполнена при заданном значении выражения. Последовательность операторов должна заканчиваться ключевым словом break.
Ключевое слово default задает последовательность операторов, которая будет выполнена в том случае, если значение выражения не соответствует ни одному из значений, определенных в блоках case.
Следующий пример демонстрирует использование оператора switch. В приведенном ниже коде в зависимости
33