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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2017, 17:44   #1
student_23
Новичок
Джуниор
 
Регистрация: 26.01.2017
Сообщений: 7
По умолчанию Проверить задачу на ошибки

Проверить на ошибки

Разработать приложение, поддерживающее различные способы управления вычислительным процессом с помощью TPageControl, TTabSheet, TСhart, стандартных диалоговых компонентов, ТPopupMenu, TMainMenu, TToolBar.

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, Grids, Math, TeeProcs, TeEngine, Chart,
  Series, Menus, ComCtrls, IniFiles;

type
  TFunction = function(x: Double): Double;
  TMainForm = class(TForm)
    MathematicalTaskImage: TImage;
    MathematicalTaskLabel: TLabel;
    FunctionStepLabel: TLabel;
    FunctionStepEdit: TEdit;
    FunctionChart: TChart;
    Series1: TLineSeries;
    MainMenu: TMainMenu;
    EnterIntervalStartMenuItem: TMenuItem;
    EnterIntervalEndMenuItem: TMenuItem;
    DrawChartMenuItem: TMenuItem;
    PageControl: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    procedure EnterIntervalStartMenuItemClick(Sender: TObject);
    procedure EnterIntervalEndMenuItemClick(Sender: TObject);
    procedure DrawChartMenuItemClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;
  xStart, xEnd: Double;
  ConfigFile: TIniFile;
  ConfigFileDirectory: String;

implementation

uses Unit2;

{$R *.dfm}

function Factorial(n: Integer): Integer;
begin
  if n = 0 then
    result := 1
  else
    result := n*Factorial(n - 1);
end;

function Func(x: Double): Double;
var
  s, an: Double;
  n: Integer;
begin
  s := 0;
  an := 1;
  n := 0;
  while an >= 0.001 do
  begin
    an := ((2*n + 1)/Factorial(n))*power(x, 2*n);
    s := s + an;
    inc(n);
  end;
  result := s;
end;

procedure ShowResult(f: TFunction; xStart, xEnd: Double);
var
  x, y, h: Double;
  n: Integer;
begin
  MainForm.Series1.Clear;
  h := (xEnd - xStart)/9;
  MainForm.FunctionStepEdit.Text := FloatToStrF(h, ffFixed, 10, 2);
  x := xStart;
  for n := 0 to 9 do
  begin
    y := f(x);
    MainForm.Series1.AddXY(x, y);
    x := x + h;
  end;
end;

procedure TMainForm.EnterIntervalStartMenuItemClick(Sender: TObject);
begin
  InputForm.InputLabel.Caption := 'Введите начало интервала (Xs):';
  InputForm.InputEdit.Clear;
  InputForm.ShowModal;
  xStart := StrToFloat(InputForm.InputEdit.Text);
  ConfigFile.WriteString('Init', 'xStart', FloatToStrF(xStart, ffFixed, 10, 2));
end;

procedure TMainForm.EnterIntervalEndMenuItemClick(Sender: TObject);
begin
  InputForm.InputLabel.Caption := 'Введите конец интервала (Xe):';
  InputForm.InputEdit.Clear;
  InputForm.ShowModal;
  xEnd := StrToFloat(InputForm.InputEdit.Text);
  ConfigFile.WriteString('Init', 'xEnd', FloatToStrF(xEnd, ffFixed, 10, 2));
end;

procedure TMainForm.DrawChartMenuItemClick(Sender: TObject);
begin
   ShowResult(Func, xStart, xEnd);
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  ConfigFileDirectory := GetCurrentDir;
  ConfigFile := TIniFile.Create(ConfigFileDirectory + '\Config.ini');
  xStart := StrToFloat(ConfigFile.ReadString('Init', 'xStart', '1'));
  xEnd := StrToFloat(ConfigFile.ReadString('Init', 'xEnd', '1'));
end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ConfigFile.Free;
end;

end.
student_23 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести на экран 1 или 0 в зависимости от того, имеют три заданных целых числа одинаковую четность или нет. Delphi. Проверить задачу на ошибки student_23 Помощь студентам 3 27.01.2017 09:45
Проверить задачу на ошибки student_23 Помощь студентам 1 26.01.2017 17:52
PHP -> Файлы -> Проверить программу на ошибки Katus Помощь студентам 2 08.02.2012 22:55
нужно проверить на ошибки, ассемблер pandamonic Фриланс 2 13.08.2009 22:23