Вопрос по информатике:
Паскаль! помогите пожалуйста составить программу в Паскале решение Дифференциального уравнения второго порядка
Например, y"-4'+3y=0
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 03.06.2016 15:06
- Информатика
- remove_red_eye 14099
- thumb_up 39
Ответы и объяснения 1
// Внимание! Если программа не работает, обновите версию!
function cx(x:real):string;
begin
if frac(x)=0 then
case Trunc(x) of
0: Result:='';
1: Result:='*exp(x)';
-1:Result:='*exp(-x)'
else Result:='*exp('+x+'x)'
end
else Result:='*exp('+x+'x)'
end;
function cx1(x:real):string;
begin
if frac(x)=0 then
case Trunc(x) of
1: Result:='';
-1:Result:='-'
else Result:=x.ToString
end
else Result:=x.ToString
end;
begin
var b,c:real;
Writeln('Введите коэффициенты уравнения y''''+by''+cy=0');
Read(b,c);
var d:=b*b-4*c;
if d>0 then begin
d:=sqrt(d);
var x1:=(-b-d)/2;
var x2:=(-b+d)/2;
Writeln('y=c1',cx(x1),'+c2',cx(x2))
end
else
if d=0 then begin
var x:=-b/2;
if x=0 then Writeln('y=c1+c2*x')
else Writeln('y=c1',cx(x),'+c2*x',cx(x))
end
else begin
var re:=-b/2;
var im:=sqrt(-d)/2;
if re=0 then Writeln('y=c1*cos(',cx1(im),'x)+c2*sin(',cx1(im),'x)')
else Writeln('y=exp(',cx1(re),'x)*(c1*cos(',cx1(im),
'x)+c2*sin(',cx1(im),'x))')
end
end.
Примеры
Введите коэффициенты уравнения y''+by'+cy=0
-2 10
y=exp(x)*(c1*cos(3x)+c2*sin(3x))
Введите коэффициенты уравнения y''+by'+cy=0
-4 3
y=c1*exp(x)+c2*exp(3x)
- 04.06.2016 19:56
- thumb_up 30
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.