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

при произвольном значении . Напечатать значения .

Решение.

Программа:

Program Prim2;

Var

 x,z:real;

Begin

WriteLn;

WriteLn('Vvedite x');

ReadLn(x);

WriteLn('Vvedeno x=',x:5:2);

if abs(x)<=1.0 then z:=(sqr(x)+1)*exp(x)

else if abs(x)<2.0 then z:=abs(x)/(1.0+sqr(x))

else z:=1.0+x+sqr(x);

WriteLn;

WriteLn('vichisleno z=',z:7:3);

End.

Вид печати:

Vvedeno x= 0.50

vichisleno z=  2.061

Vvedeno x= 1.50

vichisleno z=  0.462

Vvedeno x= 2.50

vichisleno z=  9.750

Задача 3. Вычислить при произвольном значении .

Решение.

Программа:

Program Prim3;

Var

 x,a,b,y:real;

Begin

WriteLn;

WriteLn('Vvedite x');

ReadLn(x);

WriteLn;

WriteLn('x=',x:5:2);

a:=4*x*exp(-x)/(1+x);

b:=(2+x)/(6+exp(-x));

if a<=b then y:=a

else y:=b;

WriteLn;WriteLn('vichesleno y=',y:10:5);

End.

Вид печати:

x= 0.50

vichesleno y=   0.37841

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

а) если равен -2, -1, 0, 1, 2, то ;

б) если равен 3, 4, 5, 6, 7, 8, 9, 10, то ;
в) если равен -4, 4, то ;

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

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

Программу составить двумя способами:

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

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

Решение.

Программа:

Program Prim4;

Var

 x:integer;

 y:real;

Begin

Write('Vvedite x');

ReadLn(x);

if(-2<=x) and (x<=2) then y:=(x+9)/abs(x+9)*exp((ln(abs(x+9)))/3)

else

if (3<=x) and (x<=10) then y:=ln(x)/ln(10)

else

if (x=-4) or (x=4) then y:=sin(x+9)

else y:=sqr(x)*x;

WriteLn;

WriteLn('x=',x:3,'  y=',y:8:2);

End.

Вид печати:

x= -4  y=   -0.96

x= -3  y=   -0.28

x= -1  y=    2.00

x= 10  y=    1.00

x= 20  y= 8000.00

б)

Program Prim4;

Var

 x:integer;

 y:real;

Begin

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

ReadLn(x);

Case x of

-2..2:y:=(x+9)/abs(x+9)*exp((ln(abs(x+9)))/3);

3..10:y:=ln(x)/ln(10);

-4..4:y:=sin(x+9);

else y:=sqr(x)*x;

end;

WriteLn;

WriteLn('x=',x:3,'  y=',y:8:2);

End.

Вид печати:

x= -4  y=   -0.96

x= -3  y=   -0.28

x= -1  y=    2.00