Записать на языке арифметическое выражение
2

Задание 1

 

procedure TForm1.Button1Click(Sender: TObject);

var pi,x,y,a1,a2,a3,a4: real;

 

begin

 

x:=12.75;

pi:=3.141;

 

Memo1.Clear;

Memo1.Lines.Add('= Задание 1 =');

Memo1.Lines.Add('Записать на языке арифметическое выражение.');

Memo1.Lines.Add('Запись осуществить двумя способами:');

Memo1.Lines.Add('1. С разбивкой выражения на части;');

Memo1.Lines.Add('2. Полным выражением;');

Memo1.Lines.Add('');

Memo1.Lines.Add('x=' + FloatToStr(x) + ';');

Memo1.Lines.Add('');

Memo1.Lines.Add('Расчет:');

Memo1.Lines.Add('-------------------------');

 

 

a1:=sin(sqr((pi/8)-1));

a2:=sqrt(sqrt(3+sqr(x)));

 

// к вычислению ArcSin(х/2)

// т.к. Х = 12.75, скорее всего, задан в градусах (arcsin(12.75/2) не существует...),

// то для вычисления "arcsin" переведем Х в радианы: "X*pi/180"

// (Delphi работает с радианами...)

 

a3:= arcsin( (x*pi/180) /2 ) - 5.236e-2;

a4:=ln(abs(3.12-x));

 

y:=(a1+a2)/a3 + a4;

 

Memo1.Lines.Add('1. С разбивкой выражения на части:');

Memo1.Lines.Add('"y=(a1+a2)/a3+a4"');

 

Memo1.Lines.Add('a1=' + FloatToStr(Round(a1*100)/100) + '; a2=' + FloatToStr(Round(a2*100)/100) + '; a3=' + FloatToStr(Round(a3*100)/100) + '; ' + 'a4=' + FloatToStr(Round(a4*100)/100) + ';');

Memo1.Lines.Add('y=(a1+a2)/)a3+a4=' + FloatToStr(Round(y*100)/100) + ';');

Memo1.Lines.Add('-------------------------');

 

y:=0;

 

y:= ( sin(sqr((pi/8)-1)) +  sqrt(sqrt(3+sqr(x))) ) / (arcsin( (x*pi/180) /2 ) - 5.236e-2) + ln(abs(3.12-x));

 

Memo1.Lines.Add('2. Полным выражением:');

 

Memo1.Lines.Add('y=' + FloatToStr(Round(y*100)/100) + ';');

end;