Практическая работа №3
Условные конструкции и программирование циклов
Section titled “Условные конструкции и программирование циклов”Цель работы: Научиться создавать программы с использованием операторов ветвления (if
, switch
) и
циклов (while
, do-while
, for
)
Основные теоритические положения
Section titled “Основные теоритические положения”1. Условные конструкции
Section titled “1. Условные конструкции”Оператор if
Section titled “Оператор if”if (условие) { // блок кода, если условие истино (true)} else if (другое_условие) { // блок кода, если условие истино (true)} else { // блок кода, если все условия не истины (false)}
Оператор switch
Section titled “Оператор switch”switch (выражение) { case значение_1: // код для значения_1 break; case значение_2: // код для значения_2 break; default: // код по умолчанию, если выражение не совпадает с одним из значений break;}
2. Циклические конструкции
Section titled “2. Циклические конструкции”Цикл while
Section titled “Цикл while”while (условие) { // Код, выполняется пока условие истино (true)}
Цикл do-while
Section titled “Цикл do-while”do { // код, выполняется хотя бы один раз} while (условие);
Цикл for
Section titled “Цикл for”for (инициализация; условие; изменение) { // Код, выполняемый в цикле}
// примерfor (int i = 0; i < 10; i++) { cout << i << endl;}
Существует два основных оператора для работы с циклами:
- Оператор
break
- служит для выхода из цикла полностью - Оператор
continue
- пропускает лишь одну итерацию и не выходит из цикла
Компиляция и запуск программы
Section titled “Компиляция и запуск программы”g++ *имя_файла*.cpp -o *название_файла_для компиляции*
./*название_скомпилированного_файла*
Общие требования
Section titled “Общие требования”Для каждого задания необходимо:
- Составить схему алгоритма программы;
- Написать программу на языке программирования C++;
- Произвести отладку программы на различных входных данных.
Задания для выполнения
Section titled “Задания для выполнения”1 Счастливое число Пользователь вводит целое положительное число. Программа должна определить, является ли число “счастливым”. Число называется счастливым, если сумма цифр числа равна произведению цифр числа. Пример: число 123 - счастливое, так как 1 + 2 + 3 = 1 * 2 * 3
1.2 Обратный порядок Пользователь вводит целое число. Программа должна вывести число в обратном порядке. Например: число 12345, необходимо вывести 54321
1.3 Задача о бактериях Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12,…, 24 часа.
1.4 Числа Фибоначчи Пользователь вводит число N. Программа должна вывести последовательность Фибоначчи до N числа. Формула Фибоначчи:
F(0)=0F(1)=1F(n)=F(n-1)+F(n+2)Ограничение: 0 ≤ n ≤ 45
1.5 Задача - Инопланетяне существуют?
Максим стал свидетелем неопознаного летающего объекта, он немедленно начал рассказывать об этом своим друзьям. В первые 15 минут он успел рассказать новость трём знакомым. В течение следующих 15 минут каждый из его знакомых также рассказал ещё трём знакомым и т.д. Всего лишь за час информация распространилась уже среди 120 человек.
Город словно проснулся одновременно: разговоры на улицах стали громче, машины останавливались посреди дороги, люди звонили друг другу, обсуждая увиденное и пытаясь выяснять подробности. К середине утра новость достигла городских форумов и социальных сетей, породив сотни комментариев и фотографий якобы реальных НЛО.
В городе, где живёт Максим, 200 тысяч жителей. Необходимо определить, через сколько часов и минут все жители города узнают об НЛО, при условии, что информация об этом будет распространяться только из уст в уста
Контрольные вопросы
Section titled “Контрольные вопросы”- В чём разница между циклом
while
иdo-while
? - Когда целесообразно использовать оператор
switch
вместоif-else
? - Как предотвратить зацикливание программы?
- Какие существуют способы прерывания цикла?
- Как работает оператор
continue
в цикле? - Как проверить корректность вводимых пользователем данных?
- Какие преимущества предоставляют блок-схемы при проектирование алгоритмов?
Рекомендуемая литература
Section titled “Рекомендуемая литература”- LearnCPP.com - лучший онлайн-учебник по C++ (на английском)
- GeeksforGeeks.org - статьи и примеры по программированию
- Огнева М. В., Кудрина Е. В. “Программирование на языке С++. Практический курс”