Программирование разветвляющихся вычислительных процессов с использованием операторов, реализующих базовые структуры ветвления. Вариант № 2, страница 2

4. Блок-схема:

 


5. Программа:

Program Prim2;

Var x,y,z:real;

Begin

Writeln;

Writeln('введите значение x');

Readln(x);

Writeln('Введено x',x:5:2);

if x>0 then z:=exp(ln(x)/3)

else if x<=-3 then z:=x

else z:=2*x*sin(x);

y:=x*x+z;

Writeln;

Writeln('Вычислено y=',y:7:3);

End.

6. Вид печати:

Введено x 1.00

Вычислено y=  2.000

Введено x-1.00

Вычислено y=  2.683

Введено x-10.00

Вычислено y= 90.000

Задачи 3. Вычислить  при заданном значении х. Напечатать значения х, у.

Решение.

1.Расчетные формулы:

z=,.

2. Тесты для проверки программы:

x=0, y=0.5;

x=5, y=21.20188.

3. Исходные данные:

4. Блок-схема:

 


5.Программа:

Program Prim3;

Var x,y,z,a:real;

Begin

Writeln;

Writeln('введите x');

Readln(x);

Writeln('x=',x:6:2);

z:=(x-2)/(x+exp(x));

a:=exp(x)/(x+2);

if z<=a then y:=a

else y:=z;

Writeln;

Writeln('Вычислено y=',y:10:5);

End.

6. Вид печати:

x=  0.00

Вычислено y=   0.50000

x=  5.00

Вычислено y=  21.20188.

Задача 4. Разработать программу, которая вычисляет для целых значений аргумента одну из заданных функций в указанной точке:

а) если х равен –2,  2, то

б) если х равен 3, 4, 5, 6, 7, 8, то

в) если х равен 9, то

г) в остальных случаях

Напечатать значения х, у.

Указание. Программу составить двумя способами:

а) с помощью условного оператора;

б) с помощью оператора выбора.

Решение.

  1. Расчетные формулы:

  1. Тесты для проверки программы:

x=-5, y=5;

x=-2, y=0.25301;

x=4, y= 2.71828;

x=9, y=4;

x=25, y=-25.

  1. Исходные данные:
  1. Блок-схема:

                5.Программа:

Program Prim4;

Var y:real;

x:integer;

Begin

Write('введите x');

Readln(x);

if (x=-2) or (x=2) then y:=arctan((1/sqr(x)))/sqrt(1-sqr((1/sqr(x))))

else

if (3<=x) and (x<=8) then y:=exp(x-3)

else

if (x=9) then y:=sqr(ln(x)/ln(3))

else

y:=-x;

Writeln;

Writeln('x=',x:3,'y=',y:8:5);

End.

Program Prim4;

Var y:real;

x:integer;

Begin

Write('введите x');

Readln(x);

case x of

-2,2:y:=arctan((1/sqr(x))/sqrt(1-sqr(1/sqr(x))));