Написать программу вычисления функции 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
Новые вопросы
Русский язык,
2 года назад
Русский язык,
2 года назад
Математика,
8 лет назад
Алгебра,
8 лет назад
Математика,
9 лет назад