§ 3. Основные алгоритмические конструкции
Алгоритмические конструкции
Как вам уже известно из курса информатики, любой алгоритм может быть записан с использованием трех базовых алгоритмических конструкций: следование, цикл и ветвление (пример 3.1). Команды, составляющие алгоритмическую конструкцию следование, выполняются последовательно, друг за другом, в том порядке, в котором они записаны. Команды цикла и ветвления управляют порядком выполнения других команд в программе и относятся к командам управления (управляющим конструкциями). Алгоритмическая конструкция ветвления обеспечивает выполнение одной или другой последовательности команд в зависимости от истинности или ложности некоторого условия. Оператор ветвления — команда, реализующая алгоритмическую конструкцию ветвления на языке программирования. Алгоритмическая конструкция повторение (цикл) представляет собой последовательность действий, выполняемых многократно. Саму последовательность называют телом цикла. Оператор цикла — это команда, реализующая алгоритмическую конструкцию повторения на языке программирования. Существуют разные возможности управлять тем, сколько раз будет повторяться тело цикла. Может быть задано условие продолжения или окончания работы цикла, а также число повторений тела цикла. В зависимости от этого выделяют цикл с предусловием, цикл с постусловием и цикл с параметром. Существуют разные возможности управлять тем, сколько раз будет повторяться тело цикла. Может быть задано условие продолжения или окончания работы цикла, а также число повторений тела цикла. Выделяют следующие циклы: цикл с предусловием, цикл с постусловием и цикл с параметром. Выбор цикла зависит от задачи. Во многих случаях циклы взаимозаменяемы. При выборе цикла можно ориентироваться на следующее:
|
Пример 3.1 Блок-схемы алгоритмических конструкций. Следование Ветвление Цикл
Кроме блок-схем, для графического представления алгоритмов используют структурограммы (N — S-диаграммы, диаграммы Насси — Шнейдермана). Примеры структурограмм Команда ветвления: Команда цикла с предусловием: |
Упражнения
1. Сформулируйте и реализуйте обратные условия для примера 3.2. Для всех случаев, для которых в исходной задаче вводилось true, нужно было бы вывести false и, наоборот, для всех случаев, в которых в исходной задаче получалось false, получить true.
2. Определите, что делают следующие программы, и дополните команду вывода
1. #include <iostream>
using namespace std;
int main() { setlocale(0,""); int x; cout << "x = "; cin >> x; bool a = x % 10 == 0; cout << boolalpha; cout << "Число … – " << a; return 0; |
2. #include <iostream>
using namespace std;
int main() { setlocale(0,""); int x; cout << "x = "; cin >> x; bool a = x > 10 && x < 100; cout << boolalpha; cout << "Число ... – " << a; return 0; |
3. Напишите программу, которая выведет на экран значение true или false, в зависимости от того, является ли введенное число x положительным или нет.
4. Задано положительное число x — возраст человека в годах. Определите, человек совершеннолетний (x ≥ 18) или нет. Напишите программу, которая выведет на экран true или false.
5. Напишите программу, которая выведет на экран значение true или false в зависимости от того, является введенное число x четырехзначным или нет.
6⃰. Заданы два положительных числа x и y. Определите, верно ли, что первое число меньше второго и хотя бы одно из них нечетное. Напишите программу, которая выведет на экран true или false.
7. Заданы координаты точки (x, y). Проверить, верно ли, что точка принадлежит первому квадранту координатной плоскости. Напишите программу, которая выведет на экран true или false.
8. Заданы координаты точки (x, y). Проверить, верно ли, что точка лежит внутри круга радиусом 5 с центром в начале координат. Напишите программу, которая выведет на экран true или false.