Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2012, 12:23   #1
volkysha_k
Новичок
Джуниор
 
Аватар для volkysha_k
 
Регистрация: 11.05.2012
Сообщений: 1
Радость Решение ОДУ 2порядка (Delphi)

Программа написана, но я не знаю как ограничить количество цифр после запятой в полученных данных.и построить график.
Код HTML:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label2: TLabel;
    Edit2: TEdit;
    Label1: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Label5: TLabel;
    Edit5: TEdit;
    Edit6: TEdit;
    Label6: TLabel;
    Button1: TButton;
    Memo1: TMemo;
    Label7: TLabel;
    procedure Button1Click(Sender: TObject);



  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  Form1: TForm1;

  c, b, hx, bet : real;
  i, n : integer;
  y, u: array [0 .. 250] of real;
  f: text;



implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var str, stri, stry, stru: string;
begin
  {Задаем значения констант и переменных с клавиатуры}
  str:=Edit2.Text;
  c:=strtofloat(str);
  str:=Edit1.Text;
  b:=strtofloat(str);
  str:=Edit3.Text;
  n:=strtoint(str);
  str:=Edit4.Text;
  bet:=strtofloat(str);
  str:=Edit5.Text;
  y[0]:=strtofloat(str);
  str:=Edit6.Text;
  u[0]:=strtofloat(str);

  {Вычисляем значения массивов y и U}
  hx:=0.05 ;
  for i:=0 to n do begin
    y[i+1]:=y[i]+hx*U[i];
    U[i+1]:=U[i]+hx*(-bet*U[i]-c*y[i]);
  end;
  {Выводим полученные значения на экран и в файл}
  assignfile(f,'output.dat');
  rewrite(f);
  write(f, 'i y[i]  u[i]');
  Memo1.Lines.Add('i    y[i]    u[i]');
  writeln(f);
  for i:=0 to n do begin
     stri:=inttostr(i);
     stry:=floattostr(y[i]);
     stru:=floattostr(u[i]);
     write(f,stri,' ',stry,' ',stru);
     writeln(f);
     Memo1.Lines.Add(stri+'       '+stry+'      '+stru);
  end;
  closefile(f);


  showmessage('Готово!');
end;

end.
Буду очень благодарна!

Последний раз редактировалось volkysha_k; 12.05.2012 в 12:09.
volkysha_k вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение задачи Коши для ОДУ первого порядка MrVi Общие вопросы Delphi 3 15.04.2012 21:08
Решение ОДУ 2-го порядка Yanita Фриланс 1 24.02.2012 20:41
Решение нелинейного ОДУ третьего порядка и системы уравнений в пакете MATLAB. gambler7777 Помощь студентам 0 27.12.2011 23:04
Решение ОДУ методом Рунге-Кутты Демик Помощь студентам 7 03.12.2011 14:24
Решение ОДУ 2го порядка Aladin Общие вопросы C/C++ 0 17.05.2011 20:26