Санкт-Петербургский политехнический университет Петра Великого
Институт Металлургии, Машиностроения и Транспорта
Кафедра «Компьютерные Технологии и Машиностроения»
Отчет
По лабораторной работе №5
Дисциплина: «Информатика»
Тема: «АЛГОРИТМЫ ВЕТВЛЕНИЙ» Вариант - 8
Студент гр. 13332/1 А. Р. Алимов
Преподаватель Ю. В. Кожанова
«__»______________2018
Санкт-Петербург
2018г.
Цель работы
Приобретение умений разработки и программной реализации разветвляющихся алгоритмов.
Задание
1 Разработать алгоритм вычисления значения функции, представить его в виде блок-схемы и реализовать, создав проект.
2 Разработать алгоритм определения отношения точки выделенной области (рисунок 1) и реализовать его, создав проект.
Рисунок 1 — Задание 2
3 Разработать справочную систему для информирования пользователя о стоимости проезда в соответствии с вариантом таблицы 1.
Таблица 1
Ход работы
Проект 1:
Блок-схема первого проекта представлена на рисунке 2.
Рисунок 2 – Блок-схема 1 проекта
Программный код 1 проекта:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
le1: TLabeledEdit;
btn1: TBitBtn;
l1: TLabel;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
var x,y:Real;
begin
x := StrToFloat(le1.Text);
if (x < (-3.14/2))
then y:=Cos(x)
else if (x>=(-3.14/2)) and (x<=0)
then y:=0
else
y:=x;
l1.Caption:='Значение y=' + FloatToStr(y);
end;
end.
Пример работы программы представлен на рисунке 3.
Рис. 3 – Пример работы
Проект 2:
Алгоритм проекта представлен на рисунке 4.
Рис. 4 – Блок-схема
Программный код второго проекта:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
le1: TLabeledEdit;
le2: TLabeledEdit;
btn1: TBitBtn;
l1: TLabel;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
const a=3;
var x,y:Real;
begin
x := StrToFloat(le1.Text);
y := StrToFloat(le2.Text);
if (Abs(x)<=a) and (y<=(a-Abs(x))) and (y>=0)
then l1.Caption:='ДА'
else
l1.Caption:='НЕТ';
end;
end.
Финальный вид второго проекта:
Рис. 5 – Пример работы программы
Проект 3:
Алгоритм 3 проекта представлен на рисунке 6.
Рис. 6 – Блок-схема
Программный код 3 проекта:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
chk1: TCheckBox;
rb1: TRadioButton;
rb2: TRadioButton;
lst1: TListBox;
btn1: TButton;
l1: TLabel;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
var n:Integer; st:real;
begin
n:=lst1.ItemIndex;
case n of
0: st:=100;
1,2: st:=200;
3..5: st :=400;
else
begin
st:=0;
ShowMessage('Не выбран город');
end;
end;
if rb1.Checked then st :=st*1.25 else
if rb2.Checked then st:=st*0.75;
if chk1.Checked then st:=st*2;
l1.Caption:=FloatToStr(st) + ' рублей.';
end;
end.
Пример работы программы представлен на рисунке 7.
Рис. 7 – Пример работы программы