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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2013, 21:42   #1
CryNet
Новичок
Джуниор
 
Регистрация: 14.04.2011
Сообщений: 2
По умолчанию Перевод из Pascal в C++

Помогите пожалуйста кому не сложно перевести коды из Pascal в C++ (желательно пригодный для компилятора g++ на linux).

Задача 1:

Составить программу, осуществляющую:
 вычисление статистических характеристик случайной величины (выборочной средней, оценки дисперсии);
 построение эмпирического закона случайной величины;
 посторонние гистограммы и статистической функции распределения.
Предусмотреть ввод возможных значений случайной величины в интерактивном режиме и запись их в файл, т.к. эти данные понадобятся для выполнения следующих лабораторных работ.

Код:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit1, StdCtrls, DB, DBCtrls;
type
  PRARR = array[0..100] of Currency;
  TForm6 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Memo1: TMemo;
    procedure setexpnum(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form6: TForm6;
  flnm: string;
  prbarr: PRARR;
implementation
{$R *.dfm}
procedure TForm6.setexpnum(Sender: TObject);
begin
  if tbl1set then flnm:='1.txt'
  else flnm:='2.txt';
  Form6.Memo1.Lines.LoadFromFile(flnm);
  Form6.Memo1.Lines.Strings[0]:=IntToStr(StrToInt(Form6.Memo1.Lines.Strings[0])+1);
  FRM:=Form6;
  end;
procedure TForm6.Button1Click(Sender: TObject);
var i: Integer;
begin
   Form6.Memo1.Lines.SaveToFile(flnm);
    if tbl1set then begin
    for i:=0 to Form1.Updown1.Position-1 do
     begin
      //StringGrid2.Cells[i,1]:=CurrToStr(GetProbabiliti(crar[i], crar[i+1])/StrToCurr(Form1.Edit1.Text));
      //add:=add+StrToCurr(StringGrid2.Cells[i,1]);
      //StringGrid3.Cells[i+1,0]:=CurrToStr(add);
      // Form3.Chart1.Series[0].Add(StrToCurr(StringGrid2.Cells[i,1]),'x'+IntToStr(i+1),2312312);
      Form1.UpdateSQL1.InsertSQL.Text:='insert into tblx (Xvalue, Quadfluct, Xsredn, Exprnum, XCol, Prb) values ('''+Form1.StringGrid1.Cells[i,1]+''','''+Form1.Edit3.Text+''','''+Form1.Edit2.Text+''','+Form6.Memo1.Lines.Strings[0]+','+IntToStr(Form1.Updown1.Position)+','''+CurrToStr(prbarr[i])+''')';
      Form1.UpdateSQL1.ExecSQL(ukInsert);
      //Form1.Table1.Refresh;
      //Form1.Database1.Connected:=False;
      //Form1.Database1.Connected:=True;
      Form1.Table1.Active:=False;
      Form1.Table1.Active:=True;
     end;
    end
    else
     begin
       for i:=0 to Form1.Updown1.Position do
     begin
      //StringGrid2.Cells[i,1]:=CurrToStr(GetProbabiliti(crar[i], crar[i+1])/StrToCurr(Form1.Edit1.Text));
      //add:=add+StrToCurr(StringGrid2.Cells[i,1]);
      //StringGrid3.Cells[i+1,0]:=CurrToStr(add);
      // Form3.Chart1.Series[0].Add(StrToCurr(StringGrid2.Cells[i,1]),'x'+IntToStr(i+1),2312312);
      Form1.UpdateSQL1.InsertSQL.Text:='insert into emp (Xinval, Quadfluct, Xsredn, Expnum, Prb) values ('''+CurrToStr(crar[i])+''','''+Form1.Edit3.Text+''','''+Form1.Edit2.Text+''','+Form6.Memo1.Lines.Strings[0]+','''+CurrToStr(prbarr[i])+''')';
      Form1.UpdateSQL1.ExecSQL(ukInsert);
      //Form1.Table1.Refresh;
      //Form1.Database1.Connected:=False;
      //Form1.Database1.Connected:=True;
      Form1.Table2.Active:=False;
      Form1.Table2.Active:=True;
     end;
     end;
   Form6.Close;
   end;
end.
Задача2:

Составить программу, осуществляющую проверку гипотезы о соответствии эмпирического закона случайной величины теоретическому нормальному закону по значениям коэффициента асимметрии и эксцесса . Возможные значения случайной величины взять из файла, записанного с помощью программы из лабораторной работы №1.

Код:
unit Unit 1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Unit1;
type
  TForm9 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form9: TForm9;
implementation
{$R *.dfm}
procedure TForm9.Button1Click(Sender: TObject);
begin
   Form1.Database1.DatabaseName:=Form9.Edit1.Text;
   Form1.Table1.Active:=True;
   Form1.Table2.Active:=True;
   Form1.Query1.Active:=True;
   end;
end.
CryNet вне форума Ответить с цитированием
Старый 12.09.2013, 21:42   #2
CryNet
Новичок
Джуниор
 
Регистрация: 14.04.2011
Сообщений: 2
По умолчанию

Задача 3:

Составить программу, осуществляющую вычисление вероятности попадания исследуемой случайной величины на участке ( ), координаты которых определены в лабораторной работе №1.

Код:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Grids, DBGrids, DB, DBTables, Unit8;
type
  TForm10 = class(TForm)
    DBGrid1: TDBGrid;
    Label2: TLabel;
    Edit1: TEdit;
    UpDown1: TUpDown;
    Button1: TButton;
    Label1: TLabel;
    DataSource1: TDataSource;
    Query1: TQuery;
    procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
    procedure Button1Click(Sender: TObject);
    procedure frm10shw(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form10: TForm10;
implementation
{$R *.dfm}
procedure TForm10.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
 Query1.SQL.Text:='select * from emp where expnum='+IntToStr(UpDown1.Position);
 Query1.ExecSQL;
 Query1.Active:=False;
 Query1.Active:=True;
 DBGrid1.Refresh;
end;

procedure TForm10.Button1Click(Sender: TObject);
var i: Integer;
begin
   Form8.Show;
   //Form7.StringGrid1.RowCount:=Form5.Query1.RecordCount;
   Form8.StringGrid1.ColCount:=Form10.Query1.RecordCount;
   if Form10.Query1.RecordCount>0 then
   begin
   Form8.Edit1.Text:=Form10.Query1.FindField('Xsredn').Text;
   Form8.Edit3.Text:=Form10.Query1.FindField('Quadfluct').Text;
   end;
   dotnum:=Form10.Query1.RecordCount;
   Form10.Query1.FindFirst;
   for i:=0 to Form10.Query1.RecordCount-1 do
    begin
     Form8.StringGrid1.Cells[i,0]:='x'+IntToStr(i);
     Form8.Edit2.Text:=Form10.Query1.FindField('Xinval').Text;
     Form10.Query1.FindNext;
     Form8.StringGrid1.Cells[i,1]:=Form8.Edit2.Text;
     cr[i]:=StrToCurr(Form8.StringGrid1.Cells[i,1]);
     //Edit3.Text:=Form5.Query1.FindField('Xvalue').Text;
     //Form7.SetAsimmetrCoeff;
     //Form7.SetExcess;
    end;
end;
procedure TForm10.frm10shw(Sender: TObject);
begin
   Form10.Query1.DatabaseName:=GetCurrentDir;
   Form10.Query1.Active:=True;
end;
end.
CryNet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перевод Pascal - C++ spinogryz_ua Помощь студентам 0 12.11.2012 00:02
перевод с pascal на с++ Balthazar Помощь студентам 0 08.12.2010 18:50
перевод из Pascal в C++ Valerik Общие вопросы C/C++ 5 22.04.2009 21:57
Перевод кода из Pascal в Object Pascal zemskov77 Общие вопросы Delphi 1 03.01.2009 09:37