- •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. ЛИТЕРАТУРА
от значения переменной a на экран выводятся различные сообщения:
switch (a)
{
case 1:
cout << "Block 1\n"; break;
case 2:
cout << "Block 2\n"; break;
default:
cout << "Default\n";
}
Блок-схема данного алгоритма представлена на рисунке 12.
5.5. Операторы цикла
Рисунок 12. Блок-схема алгоритма, реализованного при помощи оператора switch
5.5.1. Цикл while с предусловием
Для организации цикла с предусловием в языке С/C++ используется оператор while. Оператор while имеет следующий синтаксис:
while (проверочное_условие) оператор;
Внутренний оператор, указанный в цикле while, будет выполняться многократно, пока проверочное условие истинно. Внутренним оператора цикла может являться любой оператор языка С++, в том числе составной и условный операторы, а также оператор цикла.
В следующем примере с использованием цикла while мы вычислим сумму первых 100 натуральных чисел:
34
int i = 1; int sum = 0;
while (i<=100)
{
sum += i; i++;
}
Блок-схема данного алгоритма представлена на
рисунке 13.
Рисунок 13. Блок-схема алгоритма, вычисляющего сумму первых 100 натуральных чисел
5.5.2. Цикл do-while с постусловием
Цикл с постусловием реализуется при помощи оператора do-while. Данные оператор имеет следующий синтаксис:
do
оператор
while (проверочное_условие);
Оператор, указанный внутри цикла do-while будет выполняться многократно, пока проверочное условие истинно.
Проверка условия осуществляется после того, как будет выполнен оператор цикла. Таким образом, оператор, указанный в цикле do-while, будет выполнен как минимум один раз.
char answer; do
{
cout << "\nВыйти из цикла? "; cin >> answer;
} while (answer != 'y');
35
5.5.3. Арифметический цикл for
Оператор for позволяет реализовать арифметический цикл. Оператор имеет следующий синтаксис:
for (оператор_инициализации; проверочное_условие ; оператор_модификации)
оператор_цикла;
Оператор инициализации используется для определения начального значения переменной-счетчика цикла. Оператор инициализации выполняется один раз перед выполнением цикла.
Проверочное условие – это некоторое условное выражение, построенное на основе счетчика цикла. Оператор цикла будет выполняться только в том случае и до тех пор, пока уловное выражение будет истинным. Арифметический цикл является циклом с предусловием. Проверка условия осуществляется в первую очередь, до того как оператора цикла будет выполнен.
Оператор модификации
обычно используется для изменения значения счетчика цикла. Оператор модификации выполняется каждый раз после очередной итерации цикла.
Рассмотрим пример простого цикла for:
for (int i=0; i<5; i++) cout << i << "\n";
i=0 |
нет |
i<5 |
да |
Вывод i |
i++ |
Данный цикл будет выполняться по алгоритму, представленному на рисунке 14.
Рисунок 14. Пример алгоритма, реализованного при помощи цикла for
36