Написать программу вычисления функции y = (f)x . Заполнить таблицу значений x, y = (f)x при x ∈ [a. b] с шагом h
Приложения:
Ответы
Ответ дал:
0
PascalABC.NET 3.4.0, сборка 1670 от 23.05.2018
Внимание! Если программа не работает, обновите версию!
1. Современное решение, возможно, на первый взгляд непонятное, но зато "в одну строку"
begin
SeqWhile(-2.0,t->t+0.25,t->t<=2.0)
.ForEach(x->Writeln(x:4:1,(x<-1 ? -3*x+2+Sin(x) :
x<0 ? Abs(x) : x*Ln(x+1)):16:12))
end.
2. "Школьный" вариант
var
x,y:real;
begin
x:=-2;
while x<=2 do begin
if x<-1 then y:=-3*x+2+Sin(x)
else
if x<0 then y:=Abs(x)
else y:=x*Ln(x+1);
Writeln(x:4:1,y:16:12);
x:=x+0.25
end
end.
Результат:
-2.0 7.090702573174
-1.8 6.266014053126
-1.5 5.502505013396
-1.3 4.801015380644
-1.0 1.000000000000
-0.8 0.750000000000
-0.5 0.500000000000
-0.3 0.250000000000
0.0 0.000000000000
0.3 0.055785887829
0.5 0.202732554054
0.8 0.419711840952
1.0 0.693147180560
1.3 1.013662770270
1.5 1.374436097811
1.8 1.770301595437
2.0 2.197224577336
Внимание! Если программа не работает, обновите версию!
1. Современное решение, возможно, на первый взгляд непонятное, но зато "в одну строку"
begin
SeqWhile(-2.0,t->t+0.25,t->t<=2.0)
.ForEach(x->Writeln(x:4:1,(x<-1 ? -3*x+2+Sin(x) :
x<0 ? Abs(x) : x*Ln(x+1)):16:12))
end.
2. "Школьный" вариант
var
x,y:real;
begin
x:=-2;
while x<=2 do begin
if x<-1 then y:=-3*x+2+Sin(x)
else
if x<0 then y:=Abs(x)
else y:=x*Ln(x+1);
Writeln(x:4:1,y:16:12);
x:=x+0.25
end
end.
Результат:
-2.0 7.090702573174
-1.8 6.266014053126
-1.5 5.502505013396
-1.3 4.801015380644
-1.0 1.000000000000
-0.8 0.750000000000
-0.5 0.500000000000
-0.3 0.250000000000
0.0 0.000000000000
0.3 0.055785887829
0.5 0.202732554054
0.8 0.419711840952
1.0 0.693147180560
1.3 1.013662770270
1.5 1.374436097811
1.8 1.770301595437
2.0 2.197224577336
Вас заинтересует
1 год назад
1 год назад
7 лет назад
7 лет назад
8 лет назад