Описание программы
Общие сведения
Программный продукт носит название «Project1», имеет расширение «.exe». Программное обеспечение, необходимое для работоспособности продукта, включает в себя:
• операционную систему Windows;
• приложение «Проводник».
Программный продукт написан на языке программирования Delphi в среде программирования Delphi10.2.
Программное обеспечение, необходимое для функционирования программы:
· 1 GB RAM (рекомендуется 2 GB+);
· До 52 GB свободного пространства на жестком диске для распаковки в зависимости от редакции и конфигурации;
· Обычный GPU с поддержкой DirectX 9.0 или лучше (PixelShaderLevel 2);
· Разрешение 1024x768 или более высокое;
· Intel® Pentium® или совместимый, минимум 1.6 GHz (рекомендуется 2GHz+);
· Мышь или другое указывающее устройство;
· NET Framework 3.5;
· клавиатура;
· мышь.
Функциональное назначение
Программапроизводиттабулированиефункции
После табулирования программа найдет все корни функции, построит график по найденным данным и сгруппирует их в таблицу.
Данная программа имеет несколько возможностей:
После нажатия кнопки «Пуск» программа построит график функции, через определенный промежуток.
После нажатия копки пуск программа построит график функции по введённым значениям;
Описание логической структуры
Алгоритм работы программы после введения необходимых данных для работы программы и нажатия кнопки «Пуск» представлен на рисунке 1.
В ходе работы использовались следующие методы программирования:
· линейный алгоритм;
· разветвляющийся алгоритм;
· циклический алгоритм.
Структура программы:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, VclTee.TeeGDIPlus,
VCLTee.TeEngine, Vcl.ExtCtrls, VCLTee.TeeProcs, VCLTee.Chart, Vcl.Grids,
VCLTee.Series;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Chart1: TChart;
Series1: TLineSeries;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
X0, // начальное значение аргумента функции f1
X1, //конечное значение аргумента функции f1
D, //шаг изменения аргумента функции f1
X:double; //вычисляемое значение функции f1
implementation
{$R *.dfm}
function f1(X:double): double;
begin
f1:=sin(X); //Функция
end;
//Процедураскнопкойзапуска
procedure TForm1.Button1Click(Sender: TObject);
var
t: double; //Аргументфункции f1
i: integer; //Счётчик
f:textfile; //Файловаяпеременная
begin
//Присваиваемфайлу f имя MyFile.txt
//иопределяемместоегорасположения
AssignFile(f, 'C:\Users\alyon\Desktop\Ещин\АДСДАТЬ\LR_2\MyFile.txt');
ReWrite(f); //открываем файл f для записи
X0:=strTofloat(Edit1.Text); //Ввод начального значения аргумента
X1:=strTofloat(Edit2.Text); //Ввод конечного значения аргумента
D:=strTofloat(Edit3.Text); //Ввод шага изменения значения аргумента
chart1.Series[0].Clear;//подготовка хранилища данных объекта Chart1
//Формирование шапки таблицы
stringGrid1.Cells[0,0]:=' t';
stringGrid1.Cells[1,0]:=' x';
stringGrid1.RowCount:=trunc((X1-X0)/D); //Определяемчислострок
t:=X0; i:=1;
while t<=X1 do
begin
application.ProcessMessages;
x:=f1(t); //Вычислениезначенийх, путёмобращенияк function f1
writeln(f,t:10:2,X:10:3); //Запись данных в тестовый файл MyFile.txt
//Заполнение таблицы (StringGrid) по строкам с текущими номерами i
stringGrid1.cells[0,i]:= FloattoStrF(t,ffFixed, 10, 4);
stringGrid1.cells[1,i]:= FloattoStrF(x,ffFixed, 10, 4);
//Построение графика x = f1(t)
Chart1.Series[0].AddXY(t,x);
t:= d+t; //Увеличение значения аргумента функции и счётчика строк таблицы
|
i:= i+1; // StringGrid1
end;
end;
end.