- •Тема 2.4. Базовые алгоритмы и примеры их реализации
- •2.4.1. Понятие базовых алгоритмов
- •2.4.2. Алгоритмы линейной структуры
- •2.4.3. Базовые алгоритмы разветвляющихся структур и примеры их программирования
- •2.4.4. Базовые алгоритмы регулярных циклических структур и примеры их программирования
- •2.4.5. Базовые алгоритмы итеративных циклических структур и примеры их программирования
- •2.4.6. Базовые алгоритмы обработки одномерных массивов
- •2.4.7. Базовые алгоритмы обработки двумерных массивов
- •2.4.8. Контрольные вопросы по теме «Базовые алгоритмы и примеры их реализации»
- •2.4.9. Тестовые задания по теме «Базовые алгоритмы и примеры их реализации»
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I)
- •Input a(I , j)
- •Defint k
- •Defint f
- •Defsng a-b,X
2.4.3. Базовые алгоритмы разветвляющихся структур и примеры их программирования
Пример 2.4.3-1.Вывести на экран значение переменнойx
Данную задачу можно решить двумя способами. На рис 2.4.3-1а приведена схема алгоритма решения задачи, в которой использовано стандартное разветвление, а на рис.2.4.3-1б – усеченное разветвление. Второй способ в данном случае предпочтительнее, поскольку упрощает программную реализацию алгоритма. Усеченное разветвление рекомендуется использовать в тех случаях, когда выбор из двух возможных ветвей производится последовательно и неоднократно.
|
Рис. 2.4.3-1а.
|
#include <math.h> #include <iostream> #include <conio.h> #include <iomanip> using namespace std; void main (void)
/////////////////////////
|
Рис. 2.4.3-1 б.
Пример 2.4.3-2.Вычислить значение функцииy(x)в соответствии со следующим правилом:
Схема алгоритма и коды программ вычисления сложной функции приведены на рис.2.4.3-2, где разветвление реализовано с использованием блочного IF.
| |||
|
Рис. 2.4.3-2.
Пример 2.4.3-3.Вычислить и вывести на экран значение функции
Схема алгоритма решения данной задачи (рис. 2.4.3-3) имеет три ветви и требует проверки двух условий. Следует отметить, что в данной схеме алгоритма при выборе второго условия для проверки значения хпредпочтение отдано не сложному условию(-1< х <1), а простому(х 1).
| ||
Рис. 2.4.3-3.
Пример 2.4.3-4.Присвоить переменнойfнаибольшее из значений двух вводимых чиселx, y ( f = max{x, y } ).
Алгоритмы и программы решения задачи выбора наибольшего из двух значений приведены на рис.2.4.3-4а (стандартное разветвление) и 2.4.3-4б(усеченное разветвление).
|
Рис. 2.4.3-4а.
|
Рис. 2.4.3-4b.
В первом способе (рис. 2.4.3-4а) используется стандартное разветвление, а во втором (рис.2.4.3-4б) – усеченное.
Пример 2.4.3-5.Вычислить
Решение задач выбора наибольшего (наименьшего) из значений переменных или выражений числом более двух сводятся к последовательному применению усеченных разветвлений.
Алгоритм, реализующий пример 2.4.3-5 (рис.2.4.3-5), относится к числу базовых алгоритмов выбора наименьшего (наибольшего) из нескольких значений. В основу алгоритма положено усеченное разветвление. Здесь первоначально переменной rприсваивается значение первого из выражений данной последовательности. Истинное значение наименьшего значения определяется путем последовательного сравнения со всеми остальными значениями выражений заданной последовательности.
|
Рис. 2.4.3-5.
Пример 2.4.3-6. Задано числоn. Еслиn– натуральное нечетное число, меньше10, то целочисленной переменнойfприсвоить1, еслиn– натуральное четное число, то переменнойfприсвоить2, еслиn– отрицательное, то присвоитьfзначение-1, если значениеnнаходится внутри отрезка[10,1000], тоfприсвоить10, иначеfприсвоить0.
Схема алгоритма и коды программ решения задачи 2.4.3-6 с использованием оператора SELECT CASEприведены на рис.2.4.3-6.
|
Рис.2.4.3-6.