Практическое задание №21
Тема: Ветвление в вычислительных алгоритмах

1 уровень сложности	
1. Дано целое число А. Если значение А > 0, то необходимо увеличить его  на единицу. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для A=5, A=-4, A=0.

2. Дано целое число А. Если значение А < 0, то необходимо удвоить его. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для A=6, A=-10, A=0.

3. Дано целое число А. Если значение А <> 0, то необходимо уменьшить его на 4. Написать программу для решения этой задачи. Протестировать алгоритм для A=2, A=-1, A=0.

4. Дано целое число А. Если значение А > 0, то необходимо увеличить его  на единицу, иначе уменьшить на 1. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для A=3, A=0, A=-12.

5. Дано целое число А. Если значение А = 0, то необходимо увеличить его  на 3, иначе присвоить А значение, равное 0. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для A=0, A=-1, A=8.

6.  Даны два действительных числа X и Y. Если X>Y, то вычислить произведение этих чисел, иначе их сумму. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм на трёх различных тестах (X>Y, X=Y и X<Y).

2 уровень сложности	
1. Даны два действительных числа X и Y, не равные друг другу. Заменить меньшее из этих чисел половиной их суммы, а большее – их удвоенным произведением. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм на  числах 5.5 и -4.3, а также на числах 1 и 14.5.

2. Точка А задана координатами X,Y. Разработать схему алгоритма, который устанавливает значение флага F=1, если точка принадлежит  заштрихованной области (см. рисунок 1)  и значение флага F=0 в противном случае. Вывести значение F. Протестировать алгоритм для точек (1.5,2), (0,0), (-1.5, 1),  (1,-1.2), (-2,-1).

Рис.1

3. Точка А задана координатами X,Y. Разработать схему алгоритма, который устанавливает значение флага F=1, если точка принадлежит  заштрихованной области (см. рисунок 2)  и значение флага F=0 в противном случае. Вывести значение F. Протестировать алгоритм для точек (2.5, 2), (1,1), (0,0), (1,0), (2,-1).

Рис.2

4. Точка А задана координатами X,Y. Разработать схему алгоритма, который устанавливает значение флага F=1, если точка принадлежит  заштрихованной области (см. рисунок 3)  и значение флага F=0 в противном случае. Вывести значение F. Протестировать алгоритм для точек (0,0.8), (0,0), (-1.5,1), (1,1.5), (-2,-1).

Рис.3

5. Разработать схему алгоритма для определения минимума из трёх чисел без использования логических операций. Протестировать алгоритм на следующих исходных данных:
а) 2    5    1
б) 0   -2    8
в) -4   5    10

6. Разработать схему алгоритма для подсчета количества отрицательных чисел среди целых чисел a, b, c.  Протестировать алгоритм для всех возможных случаев (когда количество отрицательных чисел равно 0, 1, 2 и 3).

3 уровень сложности	
1. Треугольник задан длинами сторон А, В, С. Разработать схему алгоритма, определяющую, существует ли данный треугольник. Если треугольник существует, то установить значение флага F=1, иначе F=0. Для решения этой задачи использовать сложные логические условия. Протестировать алгоритм для следующих исходных данных:
а) A=3, B=4, C=5
б) A=1, B=1, C=1
в) A=0, B=4, C=5
г) A=-3, B=6, C=5
д) A=2, B=1, C=8

2. Разработать схему алгоритма для отыскания  max(min(a,b), min(c,d)),  не используя сложные логические условия и вложенные ветвления. Числа a,b,c,d - целые. Протестировать алгоритм для следующих исходных данных:
а) a=4 b=5 c=6 d=9
б) a=2 b=1 c=6 d=9
в) a=2 b=1 c=8 d=4
г) a=12 b=1 c=6 d=9

3. Точка А задана координатами X,Y. Разработать схему алгоритма, который устанавливает значение флага F=1, если точка принадлежит  заштрихованной области (см. рисунок 4)  и значение флага F=0 в противном случае. Вывести значение F. Протестировать алгоритм для точек (0,0), (1,0), (1.5,1), (-1,1.5), (-2,-1), (2,-1), (1,-1), (-1,1).

Рис. 4

5. Точка А задана координатами X,Y. Разработать схему алгоритма, который устанавливает значение флага F=1, если точка принадлежит  заштрихованной области (см. рисунок 5)  и значение флага F=0 в противном случае. Вывести значение F. Протестировать алгоритм для точек (0,0), (1.5,1), (2,1), (1,-1), (-0.5,-0.2), (-2,-1),  (-1,-2), (-1,1), (-3, 1).

Рис.5

6. Точка А задана координатами X,Y. Разработать схему алгоритма, который устанавливает значение флага F=1, если точка принадлежит  заштрихованной области (см. рисунок 6)  и значение флага F=0 в противном случае. Вывести значение F. Протестировать алгоритм для точек (0,0), (2,2), (0.5,0.5), (0.5,-1.5), (-0.5,0.5), (-2,-1), 
(-1,-2), (-1,1), (2, 0).

Рис.6