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

л.р. 5 / отчет 5

.docx
Скачиваний:
41
Добавлен:
15.04.2015
Размер:
176.62 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ

«ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ ИМЕНИ П. О. СУХОГО»

Механико-технологический факультет

Кафедра «Информатика»

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 5

по дисциплине «Информатика»

на тему:

«Программирование разветвляющихся алгоритмов»

Выполнил: студент гр. С-11

С.В. Козырь

Принял: преподаватель

В.О. Лукьяненко

Дата сдачи отчета: _____________________

Дата допуска к защите: _____________________

Дата защиты: _____________________

Гомель 2012

Цель работы: получить навыки составления схем разветвляющихся алгоритмов, научиться составлять программы по разработанным алгоритмам и готовить тесты для отладки этих программ.

Задание 1. Составить графическую схему алгоритма и написать программу для вычисления функции y=f(x) в соответствии с видом функции.

Вариант

Вид функции

10

Окно формы:

Таблица используемых компонентов и их свойств

Элемент интерфейса

Визуальный компонент

Свойство компонента

Значение свойства

Введите значение (x):

Label1

Caption

Введите значение “x”

Поле ввода x

Edit1

Text

Кнопка Вычислить

Button1

Caption

Вычислить!

Значение функции (y)

Label2

Caption

Значение функции “y”

Номер формулы

Label3

Caption

Таблица используемых событий

Визуальный компонент

Событие

Имя процедуры обработки событий

Реализуемый алгоритм

Button1

onClick

TForm1.Button1.Click

Расчет функции

Таблица используемых переменных

Имя переменной задачи

Имя переменной в программе

Тип переменной

Название

x

x

real

Исходные данные

y

y

real

Результат

-

n

byte

Номер формулы

Схема алгоритма

Начало

Ввод х,y,z

x≥4

y:=sqrt(x)

да нет

x≤1

n:=1

да нет

y:=2*x+3

y:=abs(exp(3*ln(x))-4)

n:=2

n:=3

Вывод y,n

Конец

Текст модуля

unit Unit1;

interface

uses

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

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

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;

n:byte;

begin

x:=StrToFloat(edit1.Text);

if (x>=4) then

begin

y:=sqrt(x);

n:=1

end

else

if x<=1 then

begin

y:=2*x+3;

n:=2

end

else

begin

y:=abs(exp(3*ln(x))-4)

n:=3

end;

Edit2.Text:=FloatToStr(y);

Label3.Caption:='Номер формулы: '+IntToStr(n);

end;

end.

Тесты:

  1. если x=4, тогда y= 2, Номер формулы 1;

  2. если x=8, тогда y= 2,82, Номер формулы 1;

  3. если x=1, тогда y= 5, Номер формулы 2;

Задание 2. Вывести исходные данные и полученные результаты. Исходные данные для отладки программы выбрать самостоятельно так, чтобы проверить все возможные варианты выполнения программы.

Вариант

Задание

10

Даны числа a, b, c, d. Найти min{max (a, b), max (c, d)}.

Окно формы:

Таблица используемых визуальных компонентов и их свойств

Элемент интерфейса

Визуальный компонент

Свойство компонента

Значение свойства

Введите число (a):

Label1

Caption

a

Поле ввода a

Edit1

Text

Введите число (b):

Label2

Caption

b

Поле ввода a

Edit2

Text

Введите число (c):

Label3

Caption

c

Поле ввода a

Edit3

Text

Введите число (d):

Label4

Caption

d

Поле ввода a

Edit4

Text

Кнопка найти

Button1

Caption

Найти!!!

Наибольшее значение «max1»

Label5

Caption

Наибольшее значение «max2»

Label6

Caption

Наименьшее значение из "max1" и "max2"

Label7

Caption

Таблица используемых событий

Визуальный компонент

Событие

Имя процедуры обработки событий

Реализуемый алгоритм

Button1

onClick

TForm1.Button1.Click

Поиск наибольшего и наименьшего значений

Таблица используемых переменных

Имя переменной задачи

Имя переменной в программе

Тип переменной

Название

a

a

real

Исходные данные

b

b

real

Исходные данные

c

c

real

Исходные данные

d

d

real

Исходные данные

-

max1

real

Результат

-

max2

real

Результат

-

min

real

Результат

Схема алгоритма

Начало

Ввод а,b,c,d

a>b

a>b

Текст модуля

unit Unit1;

interface

uses

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

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Button1: TButton;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,c,d,max1,max2,min:real;

begin

a:=StrToFloat(edit1.Text);

b:=StrToFloat(edit2.Text);

c:=StrToFloat(edit3.Text);

d:=StrToFloat(edit4.Text);

if a>b then

begin

max1:=a;

end

else

begin

max1:=b;

end;

if c>d then

begin

max2:=c;

end

else

begin

max2:=d;

end;

if max1<max2 then

begin

min:=max1;

end

else

begin

min:=max2;

end;

label5.caption:='наибольшее значение "max1" равно '+floattostr(max1);

label6.caption:='наибольшее значение "max2" равно '+floattostr(max2);

label7.caption:='наименьшее значение из "max1" и "max2" равно '+floattostr(min);

end;

end.

Тесты:

  1. если x=5, b=7, c=6, d=2, тогда: max1=7,max2=6,min=6

  2. если x=23, b=2, c=3, d=4, тогда: max1=23,max2=4,min=4

Вывод: получил навыки составления схем разветвляющихся алгоритмов, научился составлять программы по разработанным алгоритмам и готовить тесты для отладки этих программ.

Соседние файлы в папке л.р. 5