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.  Все страницы отчета должны быть пронумерованы, в правом верхнем углу страницы. Титульный лист не нумеруется.


 

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

32372. Социальное развитие личности. Социализация. Направления социализации и ее задачи на разных этапах развития личности 14.9 KB
  Стилизованный субкультура Межличностный Психолгический подражание идентификация рефлексия Периодизация развития личности: В младенчестве главную роль в жизни ребенка играет мать она кормит ухаживает дает ласку заботу в результате чего у ребенка формируется базовое доверие к миру. Базовое доверие проявляется в легкости кормления хорошем сне ребенка нормальной работе кишечника умение ребенка спокойно ждать мать не кричит не зовет ребенок как бы уверен что мать придет и сделает то что нужно. Сильно выраженный дефицит...
32373. Метод анкетирования 13.88 KB
  Недостатка: Не позволяет исследовать глубинные механизмы психики Проводится заочно способом поэтому ограничен контроль правдивости ответов нет гарантии что все вопросы поняты правильно нет возможности уточнить Несерьезное отношение иногда негативное Небольшой процент возврата 515 Правила составления: Вопросы должны быть изложены простым и понятным языком Наследует использовать сложной научной терминологии. отпечатана на чистой белой бумаге Вначале А располагаются вопросы общего характера возраст профессия Наиболее важные...
32374. Аномальное и отклоняющееся развитие. Дизонтогенез. Факторы, типы и психологические параметры дизонтогенеза 14.07 KB
  К аномальным неправильным относятся дети у которых физические и психические отклонения приводят к нарушению общего развития. Категории: Дети с нарушениями слуха глухие слабослышащие позднооглохшие Дети с нарушениями зрения слепые слабовидящие0 Дети с тяжелыми нарушениями речи логопаты Дети с нарушениями интеллектуального развития умственно отсталые психически недоразвитые Дети с комплексными нарушениями слепоглухонемые слепоумственно отсталые Дети с нарушением опорнодвигательного аппарата Дизонтогенез это нарушение развития...
32375. Психологическая структура личности 13.13 KB
  стрра личности это целостная модель системы качеств и свойств которая полно характеризует психологические особенности личности человека индивида. Элементами психологической структуры личности являются ее психические свойства и особенности обычно называемые чертами личности. Но все это труднообозримое число свойств личности психологи пытаются условно уложить в некоторое количество подструктур.
32376. Специфика детско-родительских отношений. Особенности диагностической и коррекционной работы с семьей 14.57 KB
  Особенности диагностической и коррекционной работы с семьей. В диагностике направления работы с ребенком условно можно выделить наиболее часто встречающиеся задачи: Контроль развития ребенка с целью своевременного обнаружения трудностей отставаний профилактики возможных неблагоприятных вариантов развития. Полученные данные могут использоваться специалистами психологами и социальными педагогами для построения профилактической коррекционной работы с детьми и для просветительской работы с родителями. Этические нормы работы психолога не...
32377. Метод анализа результата деятельности. Анализ почерка. Анализ детского рисунка. Анализ внешнего поведения 11.75 KB
  Учение о почерке – графология. Первые научные представления появились в Древнем мире. Аббат Мишон основал первое графологическое общество. Зуев-Инсаров (в России начало 20в.) один из известных графологов. После революции графология была признана лженаукой.
32378. Понятие деятельности. Психологическая характеристика деятельности. Психологическая структура деятельности. Классификация видов деятельности 14.17 KB
  Психологическая характеристика деятельности. Психологическая структура деятельности. Классификация видов деятельности.
32379. Основные принципы, задачи и направления работы психологической службы в образовании 13.98 KB
  Цель психологической службы в образовании максимальное содействие психическому и личностному развитию всех участников образовательного процесса. Задачи психологической службы в образовании: Выявление причин различного рода трудностей в учебновоспитательной работе с учащимися различного возраста психоаналитический подход Преодоление в рамках профессионализма отклонений в интеллектуальном и личностном развитии школьников коррекционный подход Преодоление и помощь в решении конфликтных ситуаций и сложных вопросов. Структура психологической...
32380. Понятие выбора профессии. Ошибки и трудности выбора профессии. Классификация профессий 17.89 KB
  Понятие выбора профессии. Ошибки и трудности выбора профессии. Выбор профессии проф. Самоопределение которое подразумевает самостоятельный выбор профессии на основе: Объективных и достаточно полных знаний о себе своих интересах склонностях особенностях мышления памяти внимания нервной системы.