
Лаба2 Вар1 отчет
.docxСанкт-Петербургский Политехнический университет Петра Великого
Институт машиностроения, материалов и транспорта
Высшая школа машиностроения
ОТЧЕТ
по лабораторной работе №2
Дисциплина: Цифровой практикум
Тема: Линейный алгоритм
(Вариант 1)
Студент группы 3331505/10001 Гричачина А.А.
Преподаватель Скрябнев А.Ю.
Санкт-Петербург
2021 г.
Цель работы приобретение умений программирования арифметических выражений по линейному алгоритму.
Задача: разработать проект для вычисления значения выражения z, где x и y переменные, a и b константы. Представить результат в трёх форматах: обычном, экспоненциальном, с округлением до трёх знаком после запятой.
Текст модуля:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
const a=5;b=4;c=2;
var x,y,z,z1,z2,z3:real;
begin
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit2.Text);
z1:=(sqrt(abs(x))+sqr(x))/a;
z2:=(sqrt(abs(x+c))+sqr(x+c))/(c*a);
z3:=(sqrt(abs(c*y))+sqr(c*y))/b;
z:=z1-z2+z3;
Label4.Caption:=FloatToStr(z);
end;
procedure TForm1.Button2Click(Sender: TObject);
const a=5;b=4;c=2;
var x,y,z,z1,z2,z3:real;
begin
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit2.Text);
z1:=(sqrt(abs(x))+sqr(x))/a;
z2:=(sqrt(abs(x+c))+sqr(x+c))/(c*a);
z3:=(sqrt(abs(c*y))+sqr(c*y))/b;
z:=z1-z2+z3;
Label5.Caption:=FloatToStrF(z,ffExponent,10,5);
end;
procedure TForm1.Button3Click(Sender: TObject);
const a=5;b=4;c=2;
var x,y,z,z1,z2,z3:real;
begin
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit2.Text);
z1:=(sqrt(abs(x))+sqr(x))/a;
z2:=(sqrt(abs(x+c))+sqr(x+c))/(c*a);
z3:=(sqrt(abs(c*y))+sqr(c*y))/b;
z:=z1-z2+z3;
Label6.Caption:=FloatToStrF(z,ffFixed,5,3);
end;
end.
Б
Начало
a=5;b=4; c=2;
ввод x, y
Вывод z
Конец

Пример работы, с указанием компонентов формы:
Label1

Label3
Label4
Edit1
Label5
Label2
Edit2
Label6
Button1
Button2
Button3
Итог выполнения программы:
Тестирование
приложения альтернативным расчётом:
Вывод: в среде Delphi можно создавать простые линейные алгоритмы с помощью стандартных функция и процедур языка и выводить результат в различных форматах.