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

Тема в разделе "Pascal and Delphi", создана пользователем Rumit, 30 май 2012.

Статус темы:
Закрыта.
  1. Rumit

    Rumit Гость

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

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

    есть условие:
    Численное решение задачи Коши для обыкновенных дифференциальных уравнений
    [​IMG]
    Написать программу (можно 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.
     
  2. Rumit

    Rumit Гость

    ребятки хелп плиз((
     
  3. Cambur

    Cambur Active Member

    Регистрация:
    20 июн 2010
    Сообщения:
    27
    Симпатии:
    0
    лениво-то как.... :)
     
  4. Cambur

    Cambur Active Member

    Регистрация:
    20 июн 2010
    Сообщения:
    27
    Симпатии:
    0
    по любому - чтобы адаптировать код лучше знать уравнение, под которое он написан...
    вот тебе код, переложенный на дельфу, но не адаптированный к твоим условиям.


    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.
     
  5. Alexak74

    Alexak74 Гость

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

    Вложения:

    • OBvg5m9vf1g.jpg
      OBvg5m9vf1g.jpg
      Размер файла:
      48,5 КБ
      Просмотров:
      25
    • T4YG_PAVN9w.jpg
      T4YG_PAVN9w.jpg
      Размер файла:
      49 КБ
      Просмотров:
      25
    • zl82PgnlrWM.jpg
      zl82PgnlrWM.jpg
      Размер файла:
      51,3 КБ
      Просмотров:
      22
  6. Cambur

    Cambur Active Member

    Регистрация:
    20 июн 2010
    Сообщения:
    27
    Симпатии:
    0
    Привет!
    фотки не очень читабельные..
    то есть прочитать условия задачи сложнее чем её выполнить... что в лом.
    может, Word-овским файлом выложишь или ещё как..
    а сделать - не проблема.
     
Загрузка...
Похожие Темы - Помогите Решить Задачу
  1. GREED
    Ответов:
    1
    Просмотров:
    545
  2. vovanabali
    Ответов:
    0
    Просмотров:
    539
  3. merrs
    Ответов:
    1
    Просмотров:
    1.310
  4. Kugotovr23
    Ответов:
    1
    Просмотров:
    1.286
  5. mregor
    Ответов:
    0
    Просмотров:
    911
Статус темы:
Закрыта.

Поделиться этой страницей