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

Работа 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=20*k.

Условный оператор имеет вид

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 полусуммой двух оставшихся значений.

  1. Для заданного числа a найти корень уравнения f(x)=0, где

  1. Дано число х. Напечатать в порядке возрастания числа ch(x), 1+│x│, (1+x2)x.

  1. Даны числа A1, B1, C1, A2, B2, C2. Напечатать координаты точки пересечения прямых, описываемых уравнениями A1*X + B1*Y + C1 = 0 A2*X + B2*Y + C2 = 0 либо сообщить, что эти прямые совпадают, не пересекаются либо вообще не существуют.

  1. Даны произвольные числа a, b, c. Если нельзя построить треугольник с такими длинами сторон, то сообщить об этом, в противном случае сообщить является ли треугольник равносторонним, равнобедренным или треугольником общего вида.

  1. Даны действительные числа x, y. Определить принадлежит ли точка с координатами (x, y) заштрихованной части плоскости рис.1, а.

  2. Даны действительные числа x, y. Определить принадлежит ли точка с координатами (x, y) заштрихованной части плоскости рис.1, б.

  1. Даны действительные числа x, y. Определить принадлежит ли точка с координатами (x, y) заштрихованной части плоскости рис.1, в.

  2. Даны действительные числа x, y. Определить принадлежит ли точка с координатами (x, y) заштрихованной части плоскости рис.1, г.

  1. Даны действительные числа x, y. Определить принадлежит ли точка с координатами (x, y) заштрихованной части плоскости рис.1, д.

11.Даны действительные числа x, y. Определить принадлежит ли точка с координатами (x, y) заштрихованной части плоскости рис.1, е.

12.Даны действительные числа x, y. Определить принадлежит ли точка с координатами (x, y) заштрихованной части плоскости рис.1, ж.

13.Даны действительные числа x, y. Определить принадлежит ли точка с координатами (x, y) заштрихованной части плоскости рис.1, з.

14.Пусть D-заштрихованная часть плоскости (рис 2. а) и пусть U определяется по x, y следующим 0, если (x, y)D, u= x, в противном случае. Даны действительные числа х,у. Определить U.

15.Пусть D-заштрихованная часть плоскости (рис 2. б) и пусть U определяется по x, y следующим образом-3, если (x, y) D, u= y*y, в противном случае. Даны действительные числа х,у. Определить U.

16.Пусть D-заштрихованная часть плоскости (рис 2. б) и пусть U определяется по x, y следующим образом x-y, если (x, y) D, u= y*x+7, в противном случае. Даны действительные числа х,у. Определить U.

17.Пусть D-заштрихованная часть плоскости (рис 2. б) и пусть U определяется по x, y следующим образом x*x-1, если (x, y) D, u= │x-1│, в противном случае. Даны действительные числа х,у. Определить U.

18.Пусть D-заштрихованная часть плоскости (рис 2. б) и пусть U определяется по x, y следующим образом x*x-1│, если (x, y) D, u= x+y, в противном случае. Даны действительные числа х,у. Определить U.

19.Пусть D-заштрихованная часть плоскости (рис 2. б) и пусть U определяется по x, y следующим образомx+y, если (x, y) D, u= x-y, в противном случае. Даны действительные числа х,у. Определить 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

-

Козерог

Напишите программу, которая вводит дату некоторого дня года и печатает название соответствующего знака Зодиака.

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