л.р. 6 / Отчет 6 л.р
.docМИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМЕНИ П. О. СУХОГО»
Механико-технологический факультет
Кафедра «Информатика»
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 6
по дисциплине «Информатика»
на тему:
«Программирование циклических алгоритмов»
Выполнил: студент гр. С-11
А.М. Горбачев
Принял: преподаватель
В.О. Лукьяненко
Дата сдачи отчета: _____________________
Дата допуска к защите: _____________________
Дата защиты: _____________________
Гомель 2012
Цель работы: получить навыки составления схем циклических алгоритмов, научиться решать задачу о табулировании функции, получить навыки использования компонентов Memo и Chart.
Вычислить значения функции y=f(x,a,b) для значений аргумента x, изменяющегося в интервале от xнач до xкон с шагом ∆x, и заданных констант a и b. Исходные данные для отладки программы (xнач, xкон, ∆x, a, b), выбрать самостоятельно из области определения функции. Результаты (значения аргумента x и функции y) вывести в текстовую таблицу компонента Memo, строки таблицы пронумеровать. Построить график функции y=f(x,a,b), используя компонент Chart.
Вариант 3
Вариант |
Вид функции |
3 |
Таблица используемых компонентов и их свойств
Элемент интерфейса |
Визуальный компонент |
Свойство компонента |
Значение свойства |
Заголовок окна |
Form1 |
Caption |
Циклические алгоритмы |
Значение числа а |
Label1 |
Caption |
a= |
Вывод значения а |
Edit1 |
Text |
|
Значение функции b |
Label2 |
Caption |
b= |
Вывод значения b |
Edit2 |
Text |
|
Значение числа xn |
Label3 |
Caption |
xn= |
Вывод значения xn |
Edit3 |
Text |
|
Значение числа xk |
Label4 |
Caption |
xk= |
Вывод значения xk |
Edit4 |
Text |
|
Значение числа dx |
Label5 |
Caption |
dx= |
Вывод значения dx |
Edit5 |
Text |
|
Вычисление функции |
Button1 |
Caption |
Вычислить |
Вывод значения функции |
Memo1 |
Lines font |
Courier |
График |
Chart1 |
Title |
y:=(sqrt(a+b*x))/(sqrt(sqr(ln(x)))); |
Таблица используемых событий
Визуальный компонент |
Событие |
Имя процедуры обработки событий |
Реализуемый алгоритм |
Button1 |
onClick |
TForm1.Button1.Click |
Вычисление значения функции |
Таблица используемых переменных
Имя переменной в задаче |
Имя переменной в программе |
Тип переменной |
Название |
||
х |
x |
real |
Исходное данное |
||
y |
y |
real |
Результат |
||
Хнач |
xn |
real |
Х начальное |
||
Хкон |
xk |
real |
Х конечное |
||
∆x |
dx |
real |
Шаг х |
||
a |
a |
real |
Константа |
||
b |
b |
real |
Константа |
||
- |
i |
byte |
Счетчик |
||
- |
sx |
string |
Вывод значения x |
||
- |
sy |
string |
Вывод значения y |
||
- |
si |
string |
Вывод значения i |
Схема алгоритма
x:=xn
i:=1
y:=(sqrt(a+b*x))/(sqrt(sqr(ln(x))));
i:=i+1
x:=x+dx
Текст модуля
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Math, ExtCtrls, TeeProcs, TeEngine, Chart, Series;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
Button1: TButton;
Memo1: TMemo;
Chart1: TChart;
Series1: TLineSeries;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
xn,xk,dx,x,y,a,b:real;
i:byte;
sx,sy,si:string;
begin
a:=strToFloat(Edit1.Text);
b:=strToFloat(Edit2.Text);
xn:=StrToFloat(Edit3.Text);
xk:=StrToFloat(Edit4.Text);
dx:=StrToFloat(Edit5.Text);
Memo1.Lines.Add('*********************');
Memo1.Lines.Add(' *N* *X* *Y*');
Memo1.Lines.Add('*********************');
x:=xn;
i:=1;
while x<=xk do
begin
y:=(sqrt(a+b*x))/(sqrt(sqr(ln(x))));
str(x:7:2,sx);
str(y:7:2,sy);
str(i:3,si);
Memo1.Lines.Add('*'+si+'*'+sx+'*'+sy+'*');
chart1.SeriesList[0].AddXY(x,y) ;
i:=i+1;
x:=x+dx;
end;
Memo1.Lines.Add('*********************');
end;
end.
Результаты работы программы
Вывод: получил навыки составления схем циклических алгоритмов, научиться решать задачу о табулировании функции, получить навыки использования компонентов Memo и Chart.