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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2013, 22:54   #1
zagit12
Новичок
Джуниор
 
Регистрация: 08.06.2013
Сообщений: 2
По умолчанию программа не работает как надо (delphi)

помогите с программой, не могу не как сделать нормально! нужно чтобы рандомные числа от 0 до 1 с плавающей запятой вычислялись по формулам которые приведены в программном коде ниже и чем больше число измерений тем меньше delta[m,k], потом вывести всё на график, с графиком можно не делать, главное чтобы программа работала как задуманно, у меня не работает как надо выдает числа в непонятном формате в степени какойто(1,4217371799665E-312 1,45838850310834E-303), заранее спасибо вы меня выручаете.
всё что под // -слешами это так пытался что то делать но не работает

Код:
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, TeEngine, TeeFunci, Series, ExtCtrls, TeeProcs,
  Chart;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    Button2: TButton;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var c,r,sum,sum2,xn,sr,x,y,t,sigma,d, b, g,f:real;
    m,n,p,k,i:integer;
 j: array[1..500] of real;
 delta: array[1..5, 1..20] of real;
 //r: array [1..12] of real;
 Str:string;
 begin
randomize;
Memo1.Clear;
m:=10;
while m<=29 do begin //мат ожидание
  m:=m+10;
    c:=m*0.2; //дисперсия
   k:=5;
  delta[m,k]:=1;
 while delta[m,k]>0.1 do begin
  sum:=0;
  sum2:=0;
   for n:=1 to k do begin
    x:=0;
   for i:=1 to 12 do begin
    r:=random;
   x:=x+r;
  end;
  x:=x/12;
  y:=c*x+m;
  edit2.text:=FloatToStr(m);
 j[n]:=y;
sum:=sum+j[n];
end;
 sr:=sum/k;
  //sigma:=0;
   //for n:=1 to k do begin
   sum2:=sum2+sqr(sr-sum);
    sigma:=sqrt(sum2/(k-1));
     delta[m,k]:=sigma/sr;
     k:=k+5;
  //if delta[m,k]=0 then begin
  //delta[m,k]:=delta[m,k]+1;
  //end;
 end;
end;
    Memo1.Lines.Add('Результат:');
  for m:=1 to 5 do begin
    Str:='';
    for k:=1 to k do begin
      if Str <> '' then begin
        Str := Str + Char(9);
      end;
     //delta[m,k]:=Format('%.5f',[t+0.000000000001]);
     //format('%0,2f',[delta[m,k]]);
      Str:=Str+FloatToStr(delta[m,k])+' ';
      //delta[m,k]:=StrToFloat(Form1.StringGrid1.Cells[m,0]);
      //delta[m,k]:=StrToFloat(Form1.StringGrid1.Cells[k,1]);
      //t:=floattostr(k);
      //str:=str+FloatToStr(random);
      end;
     Memo1.Lines.Add(str);
   end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
 
end.

Последний раз редактировалось Serge_Bliznykov; 09.06.2013 в 00:14.
zagit12 вне форума Ответить с цитированием
Старый 09.06.2013, 13:04   #2
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Число представлено в экспоненциальной форме. Смотрите Format
kta87 вне форума Ответить с цитированием
Старый 09.06.2013, 15:00   #3
zagit12
Новичок
Джуниор
 
Регистрация: 08.06.2013
Сообщений: 2
По умолчанию

я не могу организовать форматированный вывод, я пытался но не получаеться
zagit12 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADOQUery->Next() не работает как надо The_Immortal C++ Builder 2 05.05.2012 21:36
Не работает как надо аналог PrintScreen SERG1980 Мультимедиа в Delphi 3 14.05.2011 19:26
функция eoln() не работает как надо Cannibal Помощь студентам 4 30.11.2010 12:58
Что то не работает как надо... rezak91 Паскаль, Turbo Pascal, PascalABC.NET 9 24.05.2010 22:27
Прога не работает как надо - код С NightManiak Помощь студентам 2 21.01.2010 08:15