УСЛОВНЫЕ ОПЕРАТОРЫ

Лабораторная работа № 3

 

УСЛОВНЫЕ ОПЕРАТОРЫ

Цель работы–ознакомление с задачами c разветвляющимся алгоритмом; изучение принципа действия условных операторов if и case; приобретение навыков использования условных операторов в программе.

Постановка задачи:

- выполнить три задачи с использованием операторов if и case (каждую задачу можно выполнить в разных программах или в одной);

- ввод исходных данных осуществить с клавиатуры; выполнить анализ аномальных ситуаций и условий для вычислений;

- вывести результаты на экран.

 

Теоретические сведения

Оператор условия if является одним из самых популярных средств, изменяющих естественный порядок выполнения операторов программы. Он может принимать… Ключевые слова if, then, else означают соответственно «если», «то», «иначе».… Если значение логического выражения (условия) истинно (True), выполняется <оператор-1>, если ложно (False) –…

Пример

Задача 1.

Значения a и x ввести с клавиатуры.

Вычислить

Задача 2.

Значения a, x и номер варианта k ввести с клавиатуры.

Вычислить

Задача 3.

Координаты точки (x, y) ввести с клавиатуры. Определить, попадет ли эта точка в заштрихованную область (кольцо):

Порядок выполнения работы

1. С помощью Проводника Windows на рабочем логическом диске создайте папку (например, Ivanov-3) для размещения файлов проекта. 2. Создать проект консольного приложения Delphi. 2.1. Командой меню «Пуск / Borland Delphi 7 / Delphi 7» (или аналогичной командой) запустите интегрированную среду…

VAR

X1,A1,Y1:REAL; // task 1

X2,A2,Y2:REAL; K:INTEGER; // task 2

X3,Y3,Z:REAL; // task 3

SELECTOR:BYTE; // number of task

Label

Label1;

begin

REPEAT

WRITELN('--------------------------------------------');

WRITELN('Type number of task (1...3) or finish (4): ');

WRITE('********** Task # ');

READLN(SELECTOR);

CASE SELECTOR OF

BEGIN // task 1

WRITELN('Type real numbers X and A:');

READLN(X1,A1);

IF X1<A1 THEN Y1:=LN(SQR(A1)+1)

ELSE Y1:=SIN(A1*X1);

WRITELN('A=',A1:5:3,' X=',X1:5:3,' Y=',Y1:5:3);

END;

BEGIN // task 2

WRITELN('Type real numbers A and X:');

READLN(A2,X2);

Label1: WRITE('Type integer number K=');

READLN(K);

CASE K OF

0: Y2:=A2*X2+1;

1: Y2:=A2*SQR(X2)/2;

2: Y2:=X2-A2;

3: Y2:=1000;

Else

WRITELN('You typed bad number K!!!');

goto Label1;

END; { CASE K}

WRITELN('A=',A2:5:3,' X=',X2:5:3,' Y=',Y2:5:3);

END;

BEGIN // task 3

WRITELN(' Type coordinates of the point X and Y:');

READLN(X3,Y3);

Z:=X3*X3+Y3*Y3;

IF ( Z>=1 ) AND ( Z<=4 )

THEN WRITELN ('Point is IN the region')

ELSE WRITELN ('Point is OUT of the region');

END;

BEGIN // task 4

WRITELN('*************** Finish ***************');

WRITELN('Press <ENTER> to finish');

READLN;

EXIT;

END;

END; // CASE SELECTOR

end.   4. Выполнение консольного приложения.

Варианты заданий

Задача 1

Ввести числа x и a и вычислить значения функции Y при помощи оператора if. Предусмотреть проверку аномальных ситуаций, при которых функций не существует. Эта задача соответствует задаче 1 в примере.

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

 

I. Задача 2

1. Вычислить площадь геометрической фигуры Исходные данные ввести с клавиатуры.

Задача 3

  Частичное совмещение круга и треугольника Фигура образована частичным совмещением одинаковых…