Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Task1sm.doc
Скачиваний:
8
Добавлен:
20.03.2015
Размер:
231.94 Кб
Скачать

Работа 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]