Предмет: Информатика,
автор: alena230196
Написать программу вычисления функции y = (f)x . Заполнить таблицу значений x, y = (f)x при x ∈ [a. b] с шагом h
Приложения:
Ответы
Автор ответа:
1
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
Похожие вопросы
Предмет: Литература,
автор: strelanazar77
Предмет: Другие предметы,
автор: Pablo9o
Предмет: Алгебра,
автор: sergeevnam457
Предмет: Математика,
автор: GLAY2003
Предмет: Биология,
автор: Kamilla140304