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

л.р. 6 / Отчет 6 л.р

.doc
Скачиваний:
25
Добавлен:
15.04.2015
Размер:
138.75 Кб
Скачать

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

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

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

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

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

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

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 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.