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

Лаба5 Вар1 Отчет

.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
74.44 Кб
Скачать

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

Институт машиностроения, материалов и транспорта

Высшая школа машиностроения

ОТЧЕТ

по лабораторной работе №5

Дисциплина: Цифровой практикум

Тема: Алгоритмы ветвления

(Вариант 1)

Студент группы 3331505/10001 Гричачина А.А.

Преподаватель

Санкт-Петербург

2021 г.

Цель работы - приобретение умений разработки и программной реализации разветвляющихся алгоритмов.

Задание

  1. Р азработать алгоритм вычисления значения функции, представить его в виде блок-схемы и реализовать, создав проект.

  2. Р азработать алгоритм определения отношения точки к выделенной области и реализовать его, создав проект.

  3. Разработать справочную систему для информирования пользователя о стоимости проезда в соответствии с заданием:

  1. Значения функции

А лгоритм:

Текст модуля:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var x,y:real;

begin

x:=StrToFloat(Edit1.Text);

if x<=0 then y:=Abs(x)

else if x>=1 then y:=x

else y:=(-1)*sin(2*Pi*x)/2/Pi;

Label2.Caption:=FloatToStrF(y,ffGeneral,5,5);

end;

end.

Пример работы:

Label1

Label2

Edit1

Button1

  1. Определения отношения точки к выделенной области

А

1

лгоритм:

Вывод y

a = (y<=-x) и (y>=-3) и(x>=0)

b= (y>=x) и (y<=3) и (x<=0)

1

Текст модуля:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var x, y:real;

a, b:boolean;

begin

x:= StrToFloat(Edit1.Text);

y:= StrToFloat(Edit2.Text);

a:=(y<=-x)and(y>=-3)and(x>=0);

b:=(y>=-x)and(y<=3)and(x<=0);

if a or b then Label3.Caption:='point belongs to area'

else Label3.Caption:='point does not belong to area';

end;

end.

Пример работы:

Label1

Label2

Edit1

Edit2

Label3

Button1

  1. Справочная система для информирования пользователя о стоимости проезда

А

n=№ выбранного города

Да

Стоимость

st = 3000

Нет

n=4,5

Да

Стоимость

st = 6000

Нет

n=6

Да

Стоимость

st = 26000

Нет

Стоимость

St = 0

лгоритм:

Город не выбран

1

Текст модуля:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

ListBox1: TListBox;

Button1: TButton;

Label1: TLabel;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

CheckBox1: TCheckBox;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var st:real; n:byte;

begin

n:=ListBox1.ItemIndex;

case n of

1,2: st:=3000;

4,5: st:=6000;

0,3: st:=12000;

6: st:=26000; else

begin

st:=0;

ShowMessage('Не выбран город');

end;

end;

if RadioButton1.Checked then st:=st*1.5 else

if RadioButton2.Checked then st:=st*1.3 else

st:=st*0.75;

if CheckBox1.Checked then st:=st*0.75;

Label2.Caption:='в кассу '+FloatToStr(st)+' руб.';

end; end.

Пример работы:

Label1

CheckBox1

ListBox1

RadioButton1

Label2

Button1

RadioButton1

RadioButton1

Вывод: С помощью разветвляющихся алгоритмов программа может выполнять то или иное действие в результате анализа заданного условия. Условие же может состоять из логических переменных, операций сравнения, логических и арифметических операций.