- •Лабораторная работа № 3 Реализация циклических алгоритмов
- •3.1 Теоретические сведения
- •3.2.1 Пример программы с использованием оператора do …while
- •Индивидуальные задания
- •3.2.2 Пример программы с использованием оператора while
- •Индивидуальные задания
- •3.2.3 Пример программы с использованием оператора for
- •Контрольные вопросы
Лабораторная работа № 3 Реализация циклических алгоритмов
Цель работы: изучить особенности циклических операторов while, do-while, for, научиться составлять циклические алгоритмы.
3.1 Теоретические сведения
Под циклом понимается многократное выполнение какого-то участка кода при различных значениях промежуточных данных. Каждый такой повтор называют итерацией. Число повторений может быть задано в явной или неявной формах. Для организации повторений в языке C++ используются три различных оператора цикла.
1. Оператор цикла с предусловием
while (выражение)
{тело цикла}
организует повторение операторов тела цикла до тех пор, пока выражение истинно (не равно 0), если выражение = 0 (ложно) при первом входе, то тело цикла не выполнится ни разу. Если тело цикла состоит более чем из одного оператора, то используются фигурные скобки( блок). Цикл while используется тогда, когда не известно точное число повторений.
2. Оператор цикла с постусловием
do
тело цикла
while (выражение);
организует повторение тела цикла до тех пор, пока выражение истинно. Когда выражение становится ложным управление передается следующему за циклом оператору. Данный оператор гарантирует выполнение тела цикла хотя бы один раз.
3. Оператор цикла с параметром
for (выражение 1; выражение 2; выражение 3)
тело цикла
где выражение 1 – начальное значение параметра цикла; выражение 2 – проверка условия на продолжение цикла; выражение 3 – изменение параметра цикла.
Вначале вычисляется выражение 1, затем проверяется выражение 2, если оно – истинно, то выполняется тело цикла, затем производится изменение параметра в выражении 3, и так до тех пор, пока выражение 2 не станет ложным.
Досрочный выход из операторов цикла выполняет оператор break, а оператор continue позволяет пропустить очередной проход цикла.
3.2.1 Пример программы с использованием оператора do …while
Найти сумму первых n двузначных чисел, кратных 11 (n вводится с клавиатуры).
Составим блок-схему алгоритма решения задачи (рисунок 3.1)
Рисунок 3.1 — Блок-схема алгоритма решения задачи с циклом do… while
Текст программы может иметь следующий вид (ввод-вывод в потоке):
#include <iostream.h>
#include <conio.h>
void main()
{
int n, s = 0, i=0,a=10;
cout << "Input n" << endl;
cin >> n;
do
{ if (!(a%11)) { s+=a; i++;};
a++; }
while ((i<n)&&(a<=99));
cout << "\n n= " << n<< " sum= " << s;
cout << "\nPress any key ... " << endl;
getch();
}
Результат работы представленного кода изображен на рисунке 3.2
Рисунок 3.2 — Результат поиска 5 двузначных чисел кратных 11
Индивидуальные задания
Задание 3.2.1 Написать программу, вычисляющую требуемую сумму или произведение, согласно своего варианта (таблица 3.1).
Таблица 3.1 — Варианты индивидуальных заданий
№ варианта |
Условие задания |
1 |
Найти сумму квадратов первых n чётных натуральных чисел (n вводится с клавиатуры). |
2 |
Найти сумму всех двузначных чисел, кратных 3. |
3 |
Найти произведение первых n чётных натуральных чисел (n вводится с клавиатуры). |
4 |
Найти сумму всех отрицательных нечётных трехзначных числе. |
5 |
Найти произведение первых n нечётных натуральных чисел (n вводится с клавиатуры). |
6 |
Найти сумму всех отрицательных четных двузначных чисел. |
7 |
Найти произведение первых n двузначных натуральных чисел, кратных 3 (n вводится с клавиатуры). |
8 |
Найти сумму двузначных нечётных чисел. |
9 |
Найти произведение первых n двузначных натуральных чисел, которые делятся на 5 (n вводится с клавиатуры). |
10 |
Найти сумму всех двузначных натуральных чисел, кратных 5. |
11 |
Найти сумму квадратов первых n натуральных чисел (n вводится с клавиатуры). |
12 |
Найти сумму всех двузначных чётных чисел. |
