
лабораторная работа / лабораторные работы по LAZARUS / Программирование разветвляющихся алгоритмов №2 вар22
.doc
БАЛАКОВСКИЙ
ИНСТИТУТ ТЕХНИКИ ТЕХНЛЛОГИИ И УПРАВЛЕНИЯ
ФАКУЛЬТЕТ
ИНЖЕНЕРНО-СТРОИТЕЛЬНЫЙ
КАФЕДРА УПРАВЛЕНИЕ
И ИНФОРМАТИКА В ТЕХНИЧЕСКИХ СИСТЕМАХ
Лабораторная
работа № 2
дисциплина
СПО
Выполнила ст. гр.
УИТ – 33
Принял:
« »
2008 г.
Балаково, 2008
Балаково 2007
«Программирование
РАЗВЕТВЛЯЮЩИХСЯ алгоритмов»
Цель работы: освоить использование простейших компонентов-переключателей и создать приложение, которое использует разветвляющийся алгоритм.
Задание: создать Windows-приложение для вычисления выражения:
Текст программы
unit unrazvalg;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls, Buttons;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
CheckBox1: TCheckBox;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Memo1: TMemo;
RadioGroup1: TRadioGroup;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{ $R.*DFM }
//Процедура обработки события создания Формы:
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='0.25'; //Начальное значение b
Memo1.clear; //очистка Memo1:
//Вывод строки в Memo1:
Memo1.Lines.Add('лабораторная работа №2 - Разветвляющийся алгоритм'); ;
end;
//Процедура обработки события нажатия кнопки Button1:
procedure TForm1.Button1Click(Sender: TObject);
const b=0.25;
var
y,x:extended;
begin
x:=StrToFloat(Edit1.Text);
//Вычисление выражения:
if x<0 then
y:=b*exp(x*ln(2))+abs(x) else
y:=1/SQR(x+1);
case RadioGroup1.ItemIndex of
0:y:=y*sin(x);
1:y:=y*cos(x);
end;
if CheckBox1.Checked then
Memo1.Lines.Add('x='+Edit1.Text);
Memo1.lines.Add('y='+FloatToStrF(y,ffFixed,8,3));
end;
initialization
{$I unrazvalg.lrs}
end.
Полученный результат