- •3 Программирование разветвляющихся алгоритмов
- •3.1 Понятие разветвляющегося алгоритма и программы
- •3.2 Операторы управления разветвляющимся вычислительным процессом
- •3.2.1 Логические выражения
- •3.2.2 Оператор if
- •If (выражение) оператор1;
- •If (выражение ) оператор1; else опертор2;
- •3.2.3 Примеры программирования
- •Тесты к задаче 1.2
- •3.2.4 Выбор из большого числа вариантов
- •4 Программирование циклических алгоритмов
- •4.1 Понятие цикла
- •Различают циклы с предусловием и циклы с постусловием.
- •В циклах с предусловием условие повторения цикла проверяется раньше, чем выполняется тело цикла, поэтому возможно, что цикл не выполнится ни разу.
- •В циклах с постусловием условие повторения цикла проверяется после выполнения тела цикла и подготовки данных для очередного шага цикла, поэтому цикл выполняется всегда хотя бы один раз.
- •В общем виде циклы с предусловием и постусловием графически можно изобразить, как показано на рис.4.1.
- •4.2 Программирование цикла с заранее известным числом повторений
- •4.3 Программирование цикла с заранее неизвестным числом повторений
- •4.3.1 Оператор цикла while
- •4.3.2 Оператор цикла do-while
- •4.4 Вложенные циклы
3 Программирование разветвляющихся алгоритмов
3.1 Понятие разветвляющегося алгоритма и программы
Разветвляющимся называется алгоритм, в котором последовательность и количество выполняемых команд зависит от выполнения или не выполнения некоторых условий. В разветвляющихся алгоритмах используются команды ветвления и выбора из большого количества вариантов.
Графическое изображение команд ветвления представлено на рис.3.1.
Рис.3.1 Команды ветвления: а) – в полной форме;
б) , в) – в сокращенной– форме
Для программирования ветвлений используется оператор if, а для программирования выбора – операторы switch и break.
3.2 Операторы управления разветвляющимся вычислительным процессом
3.2.1 Логические выражения
Логическое выражение (условие) - выражение, которое содержит знаки операций отношения и/или знаки логических операций. Значением логического выражения может быть только 1, если логическое выражение есть ИСТИНА (true), или 0, если логическое выражение ЛОЖЬ (false).
Операции отношения являются бинарными и обозначаются следующим образом (приведены в порядке уменьшения приоритета):
< (меньше);
<= (меньше или равно);
> (больше);
>= (больше или равно);
== (равно);
!= (не равно).
Примеры: a<b, x!=5, y==c, t>=8.1, d<>(w-c).
Логические операции – это операции:
&& - логическое И (бинарная операция);
|| - логическое ИЛИ (бинарная операция);
! - логическое НЕ (унарная операция).
Логические операции имеют более низкий приоритет, чем операции отношения. Результаты выполнения логических операций приведены в таблицах 3.1-3.3.
Таблица 3.1 Таблица3.2 Таблица 3.3
|
|
|
Например, логическое выражение
a>3 && c<7 при a=5, c=6 будет иметь значение ИСТИНА,
а при a=3, c=8 – ЛОЖЬ;
логическое выражение
a>3 || c<7 при a=5, c=6 будет иметь значение ИСТИНА,
при a=2, c=6 – ЛОЖЬ;
при a=7 логическое выражение !a>2 будет иметь значение ЛОЖЬ.
При составлении логических выражений следует учитывать приоритет выполнения операций.
Примеры записи логических выражений приведены в таблице 3.4.
Условие |
Логическое выражение |
x>=a && x<=b | |
x<a || x>b | |
или |
x>=a && x<=b || x>=c && x<=d |
Хотя бы одно из чисел x, y положительное |
x>0 || y>0 |
Только одно из чисел x, y положительное |
(x>0 && !y>0) || (y>0 && !x>0) |
Ни одно из чисел x, y не является четным |
x % 2 !=0 && y % 2 !=0 |
Точка (x,y) принадлежит заштрих. области |
x>=0 && x<=a && y>=0 && y<=b/a*x |