41729

Построение графиков функций

Лабораторная работа

Информатика, кибернетика и программирование

5x2cosx Создание приложений.5x2cosx end; Функции описывающие переход от вещественных координат к экранным по оси Х function xex:rel:integer; begin xe:=roundxxmin dx10; end; по оси Y function yey:rel:integer; begin ye:=Form1. № вар F1x F2x F3x F4x 1 2 3 4 5 1 cosx 2cosx cos2x Cosx 2 2 sinx 2sinx sin2x sinx 2 3 Expx 2Expx Exp2x Expx 2 4 cosx0.5x 2cosx2x cos2x4x 3xCosx 2 5 6 3xsinx x 3 –cosx 3 x3cosx xcosx 3 7 8 9 Expx Expx 2 Expx1 Exp2x 10 Expx2x...

Русский

2013-10-24

88.96 KB

8 чел.

2

Лабораторная работа №2.      Построение графиков функций.

Цель работы 

Студент должен научиться:

  1.  создавать изображения в приложениях,   манипулировать точками этих изображений.
  2.  создавать модуль описания процедур и функций, в котором будут использоваться описанные пользователем процедуры и функции.

Требования к выполнению работы.

Программа должна

  1.  Графики четырех функций соответствующего варианта построить различными цветами в одном окне.
  2.  Каждый график построить в отдельном окне в четверть экрана.
  3.  Графики  должны быть построены с учетом масштаба (границ по оси OX).

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

  1.  А и В границы по оси ОХ
  2.  N – число точек на графике
  3.  Y1 и Y2 – границы по оси OY

Исходные данные задаются самостоятельно, в соответствии с  предлагаемыми функциями и вводятся с клавиатуры (необходима проверка данных при вводе).

Шаг по оси ОХ вычисляется по   формуле :   H=(A+B)/N  

Алгоритм построения графика функции  в виде точек;

  1.  Ввод значений А,В
  2.  Вычисление значений Y1,Y2
  3.  Установка цвета фона и цвета рисунка
  4.  Установка положения окна вывода (по умолчанию вся форма)
  5.  Вычисление шага по оси ОХ       H=(B-A) / N
  6.  Вывод точек графика в цикле, параметром которого будет координата  Х, которая изменяется от А до В с шагом H .

Основные понятия.

Canvas (канва, холст). Канва не является компонентом, но она входит в качестве свойства в те из них, которые должны уметь нарисовать себя и отобразить какую-либо информацию. Это область рисунка на форме и во многих других графических компонентах. Свойство  Canvas предоставляет коду Delphi  возможность изменения области рисунка во время исполнения. Особенность Канвы  в том, что она содержит методы и свойства, существенно упрощающие работу с графикой в Delphi.

Свойства класса TСanvas. 

Font : TFont;

Шрифт канвы

Pen : TPen;

Перо канвы

Brush : TBrush;

Кисть канвы

Pixels[x,y:Integer] :TColor;

Устанавливает цвет точки с координатами x,y

PenPos : TPoint;

Содержит координаты текущей точки пера канвы.

ClipRect : TRect;

Определяет область отсечения канвы. То, что при рисовании попадет за пределы этого прямоугольника, не будет изображено.

Цвета точки.

Константа

Цвет

Константа

Цвет

clAqua

Aqua

clMaroon

Maroon

clBlack

Black

clNavy

Navy blue

clBlue

Blue

clOlive

Olive green

clDkGray

Dark Gray

clPurple

Purple

clFuchsia

Fuchsia

clRed

Red

clGray

Gray

clSilver

Silver

clGreen

Green

clTeal

Teal

clLime

Lime green

clWhite

White

clLtGray

Light Gray

clYellow

Yellow

Методы класса TCanvas.

Procedure LineTo(x,y:Integer);

ProcedureMoveTo(x,y:Integer);

Координаты.  Все визуальные компоненты имеют свойства Top  и Left.  Значения, запоминаемые этими свойствами, определяют местоположение компонента на форме. Иными словами, компонент размещается в позиции (X,Y), где X – относится к свойству Left , а Y - к свойству Top. Значения X иY выражаются в пикселах. Пиксел (точка) – это наименьшая частичка поверхности рисунка, которой можно манипулировать. Прямоугольная система координат канвы для отображения отдельных точек и границ фигуры имеет следующие параметры :

  1.  Начало координат (точка [0,0]) расположена в левом верхнем углу канвы.
  2.  Координата Х отсчитывается по горизонтали слева направо.
  3.  Координата Y отсчитывается по вертикали  сверху вниз.
  4.  Размеры канвы совпадают с размерами клиентской области компонента владельца.

Порядок выполнения работы.

Задание

Построить график функции F:=0.5*x+2*cos(x)

Создание приложений.

1. Создать основную форму.

Form1.

Caption

Построение графиков

На   форму положить компонент  MainMenu1   (панель компонентов  Standart). Сформировать следующее меню: опция- Границы, опция –Один график, опция –Четыре графика.

MainMenu1

Имя

Свойство

Значение

N1

Caption

&Граница

N2

Caption

&Один график

N3

Caption

&Четыре графика

2. Создание второй формы.

Нажать кнопку  NewForm  на панели инструментов Быстрые кнопки.

Form2.

Caption

Границы

Height

130

Width

270

Расположить на форме компоненты, как показано на рис.1

Label1 

Caption - Границы построения графика по оси Х (радианы).

Label2   Edit1 

Caption - Левая

Label3    Edit2

Caption - Правая

На закладке Win32 найти компонент UpDown  и положить его справа от компонента Edit1.  

UpDown1

Associate

Edit1

Increment

1

Max

В зависимости от функции

Min

Position

0

Исходное показание счетчика

На закладке Win32 найти компонент UpDown  и положить его справа от компонента Edit2.  

UpDown2

Associate

Edit2

Increment

1

Max

В зависимости от функции

Min

Position

0

Button1    Button2

Caption - Ok    Caption – Отмена

Создание кода программы.

Для решения данной задачи следует описать исходные переменные.

В модуле  Unit1  в  разделе описания переменных описать следующие переменные.

Const 

 Xn=10;        //Координата  начала  оси X на форме

   Yn=10;         //Координата  начала  оси Y на форме

var

 Form1 : TForm1;

        x,y : real;      //координаты пиксела

 Xmin,

   Xmax,

   Ymin,

      Ymax  : real;    //Правая и левые границы оси X

      Dx,Dy : real;     //Шаги по оси X и Y

Function F(x:real):real; //Функция описывается в разделе описания  Interface  потому, что //эта функция используется, как в модуле Unit1,  где она описана, //так и в модуле Unitt2

Обработчики событий.

Form1.

1. Описание заданной  функции.

Function F(x:real):real;  //   F(X)  - Заданная функция.

begin

F:=0.5*x+2*cos(x)

end;

  1.  Функции описывающие переход от вещественных координат к экранным

- по оси Х

function xe(x:real):integer;

begin

xe:=round((x-xmin)/dx)+10;

end;

- по оси Y

function ye(y:real):integer;

begin

 ye:=(Form1.Height-10)-round((y-ymin)/dy)

end;

3.   Дважды щелкнуть мышью по меню Границы  и ввести следующий код.

procedure TForm1.N1Click(Sender: TObject);

begin

Form2.Show;

end;

4. Дважды щелкнуть мышью по меню Один график   и ввести следующий код

procedure TForm1.N2Click(Sender: TObject);

begin

//Рисование осей.

//Установим красный цвет пера

Canvas.Pen.Color:= ClRed;   

//нарисуем ось OY

//Устанавливаем перо в точку X=0, Y=Ymax

Canvas.lineTo(xe(0),ye(ymin));

//Рисуем линию из точки X=0,Y=Ymax до точки X=0, //Y=Ymin 

//нарисуем ось OX

Canvas.MoveTo(Xe(Xmin),ye(0));

// Устанавливаем перо в точку X=Xmin, Y=0

Canvas.lineTo(xe(Xmax),ye(0));  

//Рисуем линию из точки X= Xmin,Y=0 до точки X=Xmax, //Y=0

//Вывод значения левой границы оси 0X 

Canvas.TextOut(xe(xmin),ye(0),Form2.Edit1.Text);

//Вывод значения правой границы оси 0X 

Canvas.TextOut(xe(xmax),ye(0),Form2.Edit2.Text);

//Рисование графика

//Устанавливаем значение Х равное значению левой границы

x:=xmin;

//Устанавливаем перо в точку X=Xmin, Y=F(Xmin)

Canvas.MoveTo(xe(x),Ye(F(x)));

while x<xmax do

begin

//Определяем координату Y для текущего X

y:=f(x);

//Рисуем линию из предыдущей точки до текущей

Canvas.LineTo(Xe(x),Ye(y));

//Изменяем значение X  на величину шага изменения функции по оси X

x:=x+dx;

end;

end;

Form2.

Обработчик события кнопки Button1 расположенной на форме Form2.

procedure TForm2.Button1Click(Sender: TObject);

begin

//Границы функции по оси Х

Xmin:=StrToInt(edit1.text);   //Левая граница графика по оси X

Xmax:=StrToInt(Edit3.Text);  //Правая граница графика по оси X

//шаг изменения функции по оси Х

dx:= (Xmax-Xmin)/nx;

X:=Xmin;

//Определения максимального и минимального значения исходной функции (границы функции по //оси Y).

Ymin:=1000; Ymax:=-1000;

repeat

y:=F(X);

if y>Ymax then yMax:=y;  

if Y<YMin then YMin:=y;

X:=X+dx;

until X>=Xmax;

//шаг изменения функции по оси Y

dy:=(Ymax-Ymin)/ny;

Form2.Close;

end;

Варианты  заданий для самостоятельной работы.

№ вар

F1(x)

F2(x)

F3(x)

F4(x)

1

2

3

4

5

1

cos(x)

2cos(x)

cos(2x)

Cos(x/2)

2

sin(x)

2sin(x)

sin(2x)

sin(x/2)

3

Exp(x)

2Exp(x)

Exp(2x)

Exp(x/2)

4

cos(x)+0.5x

2cos(x)+2x

cos(2x)-4x

3x-Cos(x/2)

5

6

3*x+sin(x)

x/3 –cos(x/3)

x+3*cos(x)

x-(cos(x))/3

7

8

9

Exp(x)

Exp(x/2)

Exp(x-1)

Exp(2x)

10

Exp(x)+2x

x2+2Exp(x)

Exp(2x)-0.5x

Exp(x/2)+7

11

cos(x)

cos(x/2)

Cos(2x)

12

sin(x)

sin(x/2)

13

ln(x)+3

3x-2ln(x)

0.5x+

3x*

14

15

-

-+2

-

16

17

18

sin(x)/2

2cos(x)+3x

3*sin(2x)

3*Cos(2x)

19

cos(x)

2sin(x)

cos(2x)

Sin(x/2)

20

sin(x)

2cos(x)

sin(2x)

Cos(2x)

21

lg(x)

lg(2x)

lg(x/2)

(lg(x))/2

22

|x|

1/|X|

23

2sin(x)

3sin(x)

sin(3x)

Sin(2x)

24

lg(x)

ln(x)

ln(x/2)

lg(x/2)

25

(Cos(x))/2

Sin(x)+2

Cos(x)+3

(Sin(x))/3

26

cos(x)

cos(x/2)

cos(x/3)

Cos(x/4)

27

sin(x)

sin(2x)

sin(3x)

Sin(4x)

29

cos(x)

2cos(x)

cos(x/2)

30

2sin(x)

cos(2x)

Cos(2x)

31

ln(x/2)

lg(x/2)

ln(x)

lg(2x)

32

ln(x)

ln(2x)

ln(3x)

ln(4x)

33

ln(x)

ln(2x)

34

|x|

1/|2X|

1/|3X|

1/|4X|

35

ln(x)

2ln(x)

36

37

cos(x)

2cos(x)

cos(x/2)

38

cos(2x)

Cos(x/2)

Cos(x+5)

5+cos(x)

39

sin(2x)

sin(x/2)

Sin(x+4)

Sin(x)+4

40

lg(2x)

lg(x)+2

lg(x-2)

(lg(x))/2

41

ln(3x)

ln(2+x)

ln(x/2)

(ln(x))/2

42

ln(x)

ln(2x)

ln(x/2)

ln(x)/2

43

|3-|x-2||

|3-x| -2

3-(x-2)

3-|x|-2


Требования к составлению отчета  по лабораторным работам  курса «Информатика».

В состав отчета должны входить следующие разделы:

  1.  Титульный лист.
  2.  Содержание.
  3.  Для каждого задания в отчете должна содержаться следующая информация:
  4.  постановка задачи;
  5.  спецификация  входных и выходных глобальных параметров программы;
  6.  описание каждой процедуры и функции  в  содержательном и математическом аспектах
  7.  спецификация процедур и функций с указанием имен процедур и функций и списка параметров;
  8.  блок схемы модулей (процедур и функций)
  9.  текст программы, снабженный комментариями и отпечатанный на принтере:
    1.  в начале каждой процедуры или функции, с описанием того, для чего предназначена процедура и описанием параметров
    2.  в начале программы, с указанием автора, группы, задания;
    3.  в основных (ключевых) участках программы, с указанием на семантику выполняемых действий.
  10.  дата последних изменений (в модуле о программе).
  11.  Все страницы отчета должны быть пронумерованы, в правом верхнем углу страницы. Титульный лист не нумеруется.


 

А также другие работы, которые могут Вас заинтересовать

29073. Договор дарение: понятие, элементы, права и обязанности сторон 55.5 KB
  По договору дарения одна сторона даритель безвозмездно передает или обязуется передать определенное имущество другой стороне одаряемому либо освобождает или обязуется освободить ее от имущественной обязанности ст. Отличительной чертой договора дарения является обогащение одаряемого за счет дарителя. По действующему ГК договор дарения может быть как реальным так и консенсуальным договором. На практике некоторые правовые действия зачастую неправильно относят к договору дарения.
29076. Филиалы и представительства юридического лица 25 KB
  Филиалы и представительства юридического лица Представительством является обособленное подразделение юридического лица расположенное вне места его нахождения которое представляет интересы юридического лица и осуществляет их защиту. Филиалом является обособленное подразделение юридического лица расположенное вне места его нахождения и осуществляющее все его функции или их часть в том числе функции представительства. Представительства и филиалы должны быть указаны в учредительных документах создавшего их юридического лица.
29077. Зависимые и дочерние хозяйственные общества 27 KB
  Зависимые и дочерние хозяйственные общества Дочернее хозяйственное общество если другое основное хозяйственное общество или товарищество в силу преобладающего участия в его уставном капитале либо в соответствии с заключенным между ними договором либо иным образом имеет возможность определять решения принимаемые таким обществом. Дочернее общество не отвечает по долгам основного общества товарищества. В случае несостоятельности банкротства дочернего общества по вине основного общества товарищества последнее несет субсидиарную...
29078. Создание юридических Лиц 31 KB
  лица организационное единство самостоятельная имущественная ответственность выступать истцом в суде выступать в обороте от своего имени имущественная обособленность государственная регистрация Способы образования юридических лиц: 1 распорядительный порядок юридическое лицо возникает на основе одного лишь распоряжения учредителя а специальной государственной регистрации организации не требуется. 51 ГК в современной России такой порядок возникновения юридических лиц не применим; 2 нормативноявочный порядок для образования...
29079. Реорганизация юридических лиц. Правовые последствия 39.5 KB
  Правовые последствия Реорганизация юридического лица слияние присоединение разделение выделение преобразование может быть осуществлена по решению его учредителей участников либо органа юридического лица уполномоченного на то учредительными документами. При присоединении юридического лица к другому юридическому лицу к последнему переходят права и обязанности присоединенного юридического лица в соответствии с передаточным актом. При разделении юридического лица его права и обязанности переходят к вновь возникшим юридическим лицам в...
29080. Ликвидация юридических лиц. Правовые последствия 29 KB
  Правовые последствия Ликвидация юридического лица влечет его прекращение без перехода прав и обязанностей в порядке правопреемства к другим лицам за исключением случаев предусмотренных федеральным законом. Юридическое лицо может быть ликвидировано: по решению его учредителей участников либо органа юридического лица; по решению. Виды ликвидации: добровольное принудительная банкротство Порядок ликвидации юридического лица Ликвидационная комиссия помещает в органах печати в которых публикуются данные о государственной регистрации...
29081. Объекты гражданского права и их классификация. Общая характеристика источников правового регулирования 35 KB
  Объекты гражданского права и их классификация. Общая характеристика источников правового регулирования. К объектам гражданских прав относятся вещи включая деньги и ценные бумаги иное имущество в том числе имущественные права; работы и услуги; охраняемые результаты интеллектуальной деятельности и приравненные к ним средства индивидуализации интеллектуальная собственность; нематериальные блага. Объекты гражданских прав могут свободно отчуждаться или переходить от одного лица к другому в порядке универсального правопреемства...