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

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

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

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

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

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

Здравствуйте! Просьба проверить на ошибки.
Если таковые имеются. Исправить. Спасибо.

Разработать программу ввода данных, выбора метода расчета, расчета и представления результатов в табличной и графической формах.

Цитата:
unit Unit1;

interface

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

type
TFunction = function(x: Double): Double;
TMainForm = class(TForm)
IntervalStartLabel: TLabel;
IntervalStartEdit: TEdit;
IntervalEndLabel: TLabel;
IntervalEndEdit: TEdit;
CalculateTaskButton: TButton;
MathematicalTaskImage: TImage;
MathematicalTaskLabel: TLabel;
FunctionStepLabel: TLabel;
FunctionStepEdit: TEdit;
FunctionChart: TChart;
Series1: TLineSeries;
PageControl: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
procedure CalculateTaskButtonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
MainForm: TMainForm;

implementation

{$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); // увеличение для 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.CalculateTaskButtonClick( Sender: TObject);
var
xStart, xEnd: Double;
begin
xStart := StrToFloat(IntervalStartEdit.Text);
xEnd := StrToFloat(IntervalEndEdit.Text);
ShowResult(Func, xStart, xEnd);
end;

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разработать базу данных и рабочую программу a.s.solo Фриланс 2 29.03.2015 15:37
Лабораторная 2. Порядковые типы данных в оперативной памяти. Паскаль. Разработать консольную программу RedWhiteCasual Паскаль, Turbo Pascal, PascalABC.NET 1 31.01.2014 21:29
Разработать программу (Базу Данных) на С++ dgulij Помощь студентам 7 18.03.2013 15:30
Разработать программу для ввода преобразования вывода строк в C#. valik1995 Помощь студентам 0 03.02.2013 18:03
Составить программу для обработки данных во время ввода. Васильева Зинаида Помощь студентам 9 01.11.2010 21:36