Смекни!
smekni.com

Высокоуровневые методы обработки информации и программирования (стр. 6 из 6)

end;

function Ln(k: integer): Real;

var Proizved1, Proizved2: Real;

begin

t:=StrToFloat(Form3.Edit1.Text);

i:=1;

Proizved1:=1;

Proizved2:=1;

repeat

if k<>i then begin

Proizved1:=Proizved1*(t-x[i]);

Proizved2:=Proizved2*(x[k]-x[i]);

end;

i:=i+1;

until i>A;

Ln:=Proizved1/Proizved2;

end;

function Pol( ): Real;

var

Sum: Real;

i: Integer;

begin

i:=1;

Sum:=0;

repeat

Sum:=Ln(i)*Y[i]+Sum;

i:=i+1;

until i>A;

Pol:=Sum;

end;

function Delta( ): Real;

var

Sum: Real;

i: Integer;

begin

i:=1;

Sum:=0;

repeat

Sum:=ABS(Ln(i))*0.0002+Sum;

i:=i+1;

until i>A;

Delta:=Sum;

end;

procedure TForm3.Button1Click(Sender: TObject);

var

i: Integer;

S: real;

begin

A:=StrToInt(Form1.Edit1.Text);

S:=0;

for i:=1 to A do begin

X[i]:=StrToFloat(Form2.StringGrid1.Cells[i,0]);

Y[i]:=StrToFloat(Form2.StringGrid1.Cells[i,1]);

end;

P:=Pol();

Dl:=Delta();

for i:=1 to A do S:=S+Ln(i);

ShowMessage(FloatToStr(S));

Form3.Edit3.Text:=FloatToStr(P);

Form3.Edit2.Text:=FloatToStr(Dl);

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

Form3.visible:=false;

Form2.visible:=true;

end;

procedure TForm3.Button3Click(Sender: TObject);

begin

Close;

Form2.Close;

Form1.Close;

end;

end.

unit Unit6; //AboutBox

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

Buttons, ExtCtrls;

type

TAboutBox = class(TForm)

Panel1: TPanel;

ProductName: TLabel;

Version: TLabel;

Copyright: TLabel;

Comments: TLabel;

Image1: TImage;

BitBtn1: TBitBtn;

private

{ Private declarations }

public

{ Public declarations }

end;

var

AboutBox: TAboutBox;

implementation

{$R *.dfm}

end.

Приложение 2. Блок-схема программного средства:


Приложение 3. Блок-схема алгоритма вычисления (третий модуль)


Приложение 4. Тесты – наборы проверочных данных – для проверки правильности работы программы.

Первый проверочный набор.

В первом открывшемся окне, в пустое поле вводим цифру 6.

Во втором открывшемся окне, представленную таблицу заполняем согласно представленным ниже данным.

X 1 2 3 4 5 6
Y 7 8 9 7 8 9

В третьем окне вводим: Х=13, и должны получить результат Y= –10 442.

Эти результаты получились из приведенных ниже расчетов:

Результатом должно стать число – 10 442.

Второй проверочный набор.

Второй проверочный набор является более простым вариантом, не требующим математического подтверждения. Он представляет собой аргументы и их квадраты.

В первом окне вводим число 4.

Во втором вводим в строчку Х числа 1, 2, 4, 5, а в строчку Y числа 1, 4, 16, 25, являющиеся квадратами этих аргументов. Этот набор данных представлен в таблице ниже:

X 1 2 4 5
Y 1 4 16 25

Тогда в третьем окошке вводим любое число, квадрат которого Вам известен, например, число 3, и в окошке «Результаты» должны получить число 9, в окошке «Погрешность вычисления» получаем погрешность, которая появляется при вычислении функции данным методом (интерполяционным полиномом Лагранжа). Можно взять и любое другое число.

Список литературы

1. Фокс Дж. Программное обеспечение и его разработка. М.:Мир, 1985. - 368 с.

2. Лисков Б., Гатэг Дж. Использование абстракций и спецификаций при разработке программ: Пер. с англ. - М.: Мир, 1999. - 424 с.

Иванов А.Г., Карпова А.В., Семик В.П., Филинов Ю.Е. Объектно-ориентированная среда программирования. Системы и средства информатики. Вып.2. М.: Наука, 1991.

Программирование. Специальный выпуск по объектно-ориентированному программированию. № 6, 1990.

Объектно-ориентированный подход технологии программирования/ Иванов А.Г., Пятницкий А.А, Филинов Ю.Е. – СПб.: Питер, 2003. – 443 с.: ил.

Макаров А.А. Лукашин Ю.П. Объектно-ориентированный подход в программировании. – М.: Финансы и статистика, 2000. – 356 с.