§ 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.