Работа N 1.
Разветвления
Независимость программы от данных часто требует в зависимости от конкретного набора данных ( или промежуточных результатов) выбирать один из двух или более различных вариантов, вычислительного процесса, т.е. осуществлять разветвление вычислительного процесса. В языке PASCAL для таких случаев предусмотрены условный оператор, оператор выбора варианта и оператор перехода.
Условный оператор может принимать одну из двух конструкций:
IF B THEN S1 ELSE S2
IF B THEN S1
где B - логическое выражение, а S1, S2 - операторы. Эти операторы могут быть простыми или составными (т.е. сгруппированными вместе при помощи операторных скобок Begin End).
В первом варианте если логическое выражение истинно, то выполняется оператор S1, если логическое выражение ложно, то выполняется оператор S2.
Пример. Вычислить A=k+40, если 15<k<25. При всех других значениях k A=20k.
Условный оператор имеет вид
If (k>15) and (k<25) then A:=K+40 else A:=20*k
Другой вариант решения этой же задачи предполагает использование краткой формы условного оператора
A:=20*k
If (k>15) and (k<25) then A:=K+40
Оператор выбора варианта используется в тех случаях, когда в зависимости от значения какого-либо выражения необходимо выполнить один из нескольких операторов. Этот оператор имеет вид:
Case (селектор) OF
(список констант 1 ) : (Оператор 1);
(список констант 2 ) : (Оператор 2);
. . . . .
(список констант N ) : (Оператор N);
End;
Если значение селектора равно одной из констант, то выполняется оператор помеченный этой константой.
Пример. Пусть k - переменная целого типа.
Case k of
1 : A:=Sin(x);
2, 3 : A:=Sin(x)+2;
4..10, 15 : A:=Cos(x)+Sin(x);
End;
Если требуется нарушить естественный порядок выполнения операторов можно воспользоваться оператором безусловного перехода, имеющим вид
GOTO (Метка)
Метка является числом или идентификатором, описанным в разделе описания меток, например
Label 10, 20, Lab1, Metka;
Целью данной работы является получение практических навыков использования условных операторов и операторов выбора.
ЗАДАНИЕ. Напишите программу решения задачи, с использованием операторов организующих разветвления.
ВАРИАНТЫ ЗАДАНИЙ.
1. Если сумма трех попарно различных чисел x, y, z меньше 10, то наименьшее из этих трех чисел заменить полусуммой двух других, в противном случае заменить меньшее из x и y полусуммой двух оставшихся значений.
2. Для заданного числа a найти корень уравнения f(x)=0, где
3. Дано число x. Напечатать в порядке возрастания Ln(x), 1+|x|, (1+x2)x.
4. Даны числа A1, B1, C1, A2, B2, C2. Напечатать координаты точки пересечения прямых, описываемых уравнениями
A1*X + B1*Y + C1 = 0
A2*X + B2*Y + C2 = 0
либо сообщить, что эти прямые совпадают, не пересекаются либо вообще не существуют.
5. Даны произвольные числа a, b, c. Если нельзя построить треугольник с такими длинами сторон, то сообщить об этом, в противном случае сообщить является ли треугольник равносторонним, равнобедренным или треугольником общего вида.
6. Даны действительные числа x,y. Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости рис.1, б.
7. Даны действительные числа x,y. Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости рис.1, в.
8. Даны действительные числа x,y. Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости рис.1, д.
9. Даны действительные числа x,y. Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости рис.1, е.
10. Даны действительные числа x,y. Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости рис.1, ж.
11. Даны действительные числа x,y. Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости рис.1, з.
12. Даны действительные числа . Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости рис.1, и.
13. Даны действительные числа x,y. Определить принадлежит ли точка с координатами (x,y) заштрихованной части плоскости рис.1, к.
14. Пусть D-заштрихованная часть плоскости (рис 2. а) и пусть U определяется по x,y следующим образом (запись (x,y)D означает, что точка с координатами x,y принадлежит D)
Даны действительные числа x,y. Определить U.
15. Пусть D-заштрихованная часть плоскости (рис 2. б) и пусть U определяется по x,y следующим образом (запись (x,y)D означает, что точка с координатами х,у принадлежит D)
Даны действительные числа х,у. Определить U.
16. Пусть D-заштрихованная часть плоскости (рис 2. в) и пусть U определяется по x,y следующим образом (запись (x,y)D означает, что точка с координатами х,у принадлежит D)
Даны действительные числа х,у. Определить U.
17. Пусть D-заштрихованная часть плоскости (рис 2. г) и пусть U определяется по x,y следующим образом (запись (x,y)D означает, что точка с координатами х,у принадлежит D)
Даны действительные числа х,у. Определить U.
18. Пусть D-заштрихованная часть плоскости (рис 2. д) и пусть U определяется по x,y следующим образом (запись (x,y)D означает, что точка с координатами х,у принадлежит D)
Даны действительные числа х,у. Определить U.
19. Пусть D-заштрихованная часть плоскости (рис 2. е) и пусть U определяется по x,y следующим образом (запись (x,y)D означает, что точка с координатами х,у принадлежит D)
Даны действительные числа х,у. Определить U.
20. Известно, что астрологи делят год на 12 периодов и каждому из них ставят в соответствие один из знаков Зодиака.
20.01 - 18.02 - Водолей 23.07 - 22.08 - Лев
19.02 - 20.03 - Рыбы 23.08 - 22.09 - Дева
21.03 - 19.04 - Овен 23.09 - 22.10 - Весы
20.04 - 20.05 - Телец 23.10 - 22.11 - Скорпион
21.05 - 21.06 - Близнецы 23.11 - 21.12 - Стрелец
22.06 - 22.07 - Рак 22.12 - 19.01 - Козерог
Напишите программу, которая вводит дату некоторого дня года и печатает название соответствующего знака Зодиака.
рис 1.
рис 2.
Работа N 2.