• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Приглашаем на KubanCTF

    Старт соревнований 14 сентября в 10:00 по москве

    Ссылка на регистрацию в соревнованиях Kuban CTF: kubanctf.ru

    Кодебай является технологическим партнером мероприятия

Помогите Решить Задачу (можно На Pascal Или Delpfi)

  • Автор темы Rumit
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

Rumit

Добрый день ) я тут новенький - но вот приперло - знакомый попросил для дочки - сам я давно не выпускник да и програмист еще тот(((

Может у вас есть кто?

есть условие:
Численное решение задачи Коши для обыкновенных дифференциальных уравнений

Написать программу (можно delphi pascal basic c++) решения дифференциальных уравнений методом Рунге-Кутта четвертого порядка точности

есть код, написанный на Pascal - можно его адаптировать под уравнение приведенное в таблице на рисунке. Или написать свой код (Pascal Delphi)!
Очень надо - хелп!

PROGRAM RKutt;
uses crt;
const
nmax=8;
type
vec=array[1..nmax] of Real;
var
h,a,b:Integer; i:Integer;
procedure der(x:Real; y:vec; var f:vec);
var
ki:array[1..4] of real;
begin
for i:=1 to 4 do
f:=(h/6)*ki+2*ki[2]+2*ki[3]+ki[4];
y[i+1]:=y[1]+h*y;
y:=x*x+5;
end;
procedure RK4(n:Integer;x,h:Real; var y:vec);
var
i,j:Integer;
h1,h2,q:Real;
y0,y1,f:Vec;
begin
h1:=0;h2:=h1/2;
for i:=1 to n do begin
y0:=y;
y1:=y;
end;
for j:=1 to 4 do begin
der(x+h1,y,f);
if j=3 then h1:=h else h1:=h2;
for i:=1 to n do begin
q:=h1*f;
y:=y0+q;
y1:=y1+q/3;
end;
end;
for i:=1 to n do
y:=y1;
end;
var
k,n:Integer;h1,y1:Real;
k1,k2,k3,k4:Integer;
x,ki:Array[1..4] of real;
y:Array[1..4] of real;
begin
writeln('Enter a=');
Readln(a);
writeln('Enter b=');
Readln:)o;
writeln('Enter h1=');
Readln(h1);
writeln('Enter k=');
Readln(k);
n:=3;
h1:=a;
ki[1]:=k;
for i:=1 to n do begin
y[i+1]:=y1+(h1/6)*(Ki+2*ki[2]+2*ki[3]+ki[4]);
writeln(y[i+1]);
end;
while h1<=b do begin
h1:=h1+h;
end;
Readln;
end.
 
C

Cambur

по любому - чтобы адаптировать код лучше знать уравнение, под которое он написан...
вот тебе код, переложенный на дельфу, но не адаптированный к твоим условиям.


program Project1;

{$APPTYPE CONSOLE}


uses
SysUtils;
const nmax=8;
type
vec=array[1..nmax] of Real;
var
h,a,b:Integer;
ki:array[1..4] of real;
procedure der(x:Real; y:vec; var f:vec);

var
i:Integer;
begin
try
{ TODO -oUser -cConsole Main : Insert code here }
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
for i:=1 to 4 do begin
f:=(h/6)*ki+2*ki[2]+2*ki[3]+ki[4];
y[i+1]:=y[1]+h*y;
y:=x*x+5;
end;
end;
procedure RK4(n:Integer;x,h:Real; var y:vec);
var
i,j:Integer;
h1,h2,q:Real;
y0,y1,f:Vec;
begin
h1:=0;h2:=h1/2;
for i:=1 to n do begin
y0:=y;
y1:=y;
end;
for j:=1 to 4 do begin
der(x+h1,y,f);
if j=3 then h1:=h else h1:=h2;
for i:=1 to n do begin
q:=h1*f;
y:=y0+q;
y1:=y1+q/3;
end;
end;
for i:=1 to n do y:=y1;
end;
var
k,n:Integer;h1,y1:Real;
i : integer;
//k1,k2,k3,k4:Integer;

y:Array[1..4] of real;
begin
writeln('Enter a=');
Readln(a);
writeln('Enter b=');
Readln:));
writeln('Enter h1=');
Readln(y1); // тут стояло H1 что, наверное, непроавильно...
writeln('Enter k=');
Readln(k);
n:=3;
h1:=a;
ki[1]:=k;
for i:=1 to n do begin
y[i+1]:=y1+(h1/6)*(Ki+2*ki[2]+2*ki[3]+ki[4]);
writeln(y[i+1]);
end;
while h1<=b do begin
h1:=h1+h;
end;
Readln;

end.
 
A

Alexak74

всем привет..я не программист но нужна помощь по решении задачи в делфи....точнее нужно составить код
 

Вложения

  • OBvg5m9vf1g.jpg
    OBvg5m9vf1g.jpg
    41,4 КБ · Просмотры: 345
  • T4YG_PAVN9w.jpg
    T4YG_PAVN9w.jpg
    41,5 КБ · Просмотры: 479
  • zl82PgnlrWM.jpg
    zl82PgnlrWM.jpg
    43,4 КБ · Просмотры: 513
C

Cambur

всем привет..я не программист но нужна помощь по решении задачи в делфи....точнее нужно составить код
Привет!
фотки не очень читабельные..
то есть прочитать условия задачи сложнее чем её выполнить... что в лом.
может, Word-овским файлом выложишь или ещё как..
а сделать - не проблема.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!