
лабораторная работа / лабораторные работы по LAZARUS / Программирование разветвляющихся алгоритмов №2 вар7
.doc
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РФ
САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
БАЛАКОВСКИЙ ИНСТИТУТ ТЕХНИКИ, ТЕХНОЛОГИИ И УПРАВЛЕНИЯ
факультет: ИС
кафедра: УИТ
дисциплина: системное программное обеспечение
Лабораторная работа №2
Программирование разветвляющихся алгоритмов
Выполнил:
студент 3 курса
гр. УИТ-31
приняла:
г. Балаково 2009 г.
Цель лабораторной работы: освоить использование простейших компонентов-переключателей и создать приложение, которое использует разветвляющийся алгоритм.
7 |
|
bx < 1 bx = 1 bx > 1 |
|
Программа:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
Buttons, CheckLst, ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
CheckBox1: TCheckBox;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Memo1: TMemo;
RadioGroup1: TRadioGroup;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='2.5';
Edit2.Text:='1.8';
Memo1.Clear;
Memo1.Lines.Add('Лабораторная работа №2 - Разветвляющийся алгоритм');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
b,x,q,fx : extended;
begin
b:=StrToFloat(Edit1.Text);
x:=StrToFloat(Edit2.Text);
case RadioGroup1.ItemIndex of
0:fx:=ln(x);
1:fx:=0.4343*ln(x);
end;
if b*x<1 then
q:=b*x-fx*b*x
else if b*x=1 then
q:=sqr(fx)
else
q:=b*x+fx*b*x;
if CheckBox1.Checked then
Memo1.Lines.Add('B = '+Edit1.Text+
' X = '+Edit2.Text);
Memo1.Lines.Add(' Q = '+FloatToStrF(q,ffFixed,8,3));
end;
initialization
{$I unit1.lrs}
end.
Полученные результаты:
Лабораторная работа №2 - Разветвляющийся алгоритм
B = 2.5 X = 1.8
Q = 7,145
B = 2.5 X = 1.8
Q = 5,649