МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМЕНИ П. О. СУХОГО»
Механико-технологический факультет
Кафедра «Информатика»
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 4
по дисциплине «Информатика»
на тему:
«Программирование линейных алгоритмов»
Выполнил: студент гр. С-11
А.Ю. Осипчук
Принял: преподаватель
В.О. Лукьяненко
Дата сдачи отчета: _____________________
Дата допуска к защите: _____________________
Дата защиты: _____________________
Гомель 2012
Цель работы: получить навыки составления схем линейных алгоритмов, научиться составлять программы по разработанным алгоритмам и готовить тесты для отладки этих программ.
Задание 1. Разработать интерфейс проекта, составить графическую схему алгоритма и программу для вычисления значений переменных в соответствии с условием в таблице 1. Для ввода исходных данных, вывода исходных данных и результатов использовать только одну форму. Исходные данные для отладки программы выбрать самостоятельно.
Вариант 20
Вычислить |
Расчетные формулы |
Кинетическую энергию тела Ek с массой m, движущегося со скоростью v |
Ek=mv2/2 |
Форма программы:
Таблица используемых компонентов и их свойств
Элемент интерфейса |
Визуальный компонент |
Свойство компонента |
Значение свойства |
Введите значение (m): |
Label1 |
Caption |
Введите “m” |
Поле ввода m |
Edit1 |
Text |
|
Введите значение (v): |
Label2 |
Caption |
Введите “v” |
Поле ввода v |
Edit2 |
Text |
|
Кнопка Вычислить |
Button1 |
Caption |
Вычислить! |
Кинетическая энергия тела= |
Label3 |
Caption |
Кинетическая энергия тела= |
Поле вычисления Кинетической энергии тела |
Edit3 |
Text |
|
Таблица используемых событий
Визуальный компонент |
Событие |
Имя процедуры обработки событий |
Реализуемый алгоритм |
Button1 |
onClick |
TForm1.Button1.Click |
Вычислить кинетическую энергию тела Ek |
Таблица используемых переменных
Имя переменной задачи |
Имя переменной в программе |
Тип переменной |
Название |
m |
m |
real |
Масса |
v |
v |
real |
Скорость |
E |
E |
real |
Кинетическая энергия тела |
Схема алгоритма
Текст модуля
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label3: TLabel;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
m,v,E:real;
begin
m:=StrToFloat(Edit1.Text);
v:=StrToFloat(Edit2.Text);
E:=(m*sqr(v))/2;
Edit3.Text:=FloatToStr(E);
end;
end.
Тесты
-
если m=5; v=3 тогда E=22,5;
-
если m=2; v=4 тогда E=16;
-
если m=4; v=2 тогда E=8.
Задание 2. Разработать интерфейс проекта, составить графическую схему алгоритма и программу для вычисления функции b=f(x,y,z), заданной в таблице 2. Для ввода исходных данных, вывода исходных данных и результата использовать только одну форму. Исходные данные для отладки программы выбрать самостоятельно.
Вариант 20
Вариант |
Вид функции |
20 |
Форма программы:
Таблица используемых компонентов и их свойств
Элемент интерфейса |
Визуальный компонент |
Свойство компонента |
Значение свойства |
Введите число y |
Label1 |
Caption |
Введите “y” |
Поле ввода числа y |
Edit1 |
Text |
|
Введите число z |
Label2 |
Caption |
Введите “z” |
Поле ввода z |
Edit2 |
Text |
|
Введите число x |
Label3 |
Caption |
Введите “x” |
Поле ввода числа x |
Edit3 |
Text |
|
Кнопка Значение функции |
Button1 |
Caption |
Вычислить! |
Значение функции b |
Label4 |
Caption |
И получили “b” |
Поле вычисления b |
Edit4 |
Text |
|
Таблица используемых событий
Визуальный компонент |
Событие |
Имя процедуры обработки событий |
Реализуемый алгоритм |
Button1 |
onClick |
TForm1.Button1.Click |
Расчет значения функции |
Таблица используемых переменных
Имя переменной задачи |
Имя переменной в программе |
Тип переменной |
Название |
у |
x |
real |
Значение y |
z |
y |
real |
Значение z |
x |
z |
real |
Значение x |
b |
b |
real |
Значение функции b |
Графическая схема алгоритма
Текст модуля
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Label4: TLabel;
Edit4: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
y,z,x,b:real;
begin
y:=StrToFloat(Edit1.Text);
z:=StrToFloat(Edit2.Text);
x:=StrToFloat(Edit3.Text);
b:=(ln(y*y*y)*(z-x/2))/2*sqr(cos(x));
Edit4.Text:=floatTOStr(b);
end;
end.
Тесты
-
если y=2, z=3, x=5, тогда b= 6,46
-
если y=1, z=1, x =2, тогда b= 32,05
ВЫВОД: Я получил навыки составления схем линейных алгоритмов, научился составлять программы по разработанным алгоритмам и готовить тесты для отладки этих программ.