Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 сем_1 / 5 лаба / 5 лаба

.docx
Скачиваний:
5
Добавлен:
18.07.2019
Размер:
204.01 Кб
Скачать

Санкт-Петербургский политехнический университет Петра Великого

Институт Металлургии, Машиностроения и Транспорта

Кафедра «Компьютерные Технологии и Машиностроения»

Отчет

По лабораторной работе №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 – Пример работы программы