Математика

Физика

Химия

Биология

Техника и    технологии

  Обработка   в 1С:Предприятие 8.0

 1.Построить график функции
y=f(x)

 2.Имеются данные
x1,x2,x3...xN
где
x
1<x2<x3<...xN

3.Математическая формулировка данных
Для построения графика  функции y=f(x)  на бумаге выбирается прямоугольник с размерами (X1,Xn)*(Y1,Yn).
Основная проблема ,возникающая  при построении графиков  на экране монитора,обусловлена необходимостью
масштабировать прямоугольник (X1,Xn)*(Y1,Yn)  в прямоугольник на экране монитора (I1,I2)*(J1,J2) рис


 

 

 

 

 


 

 

Графиком функции y=f(x) называется множество точек (x;y) плоскости xOy ,координаты которых связаны соотношением  у=f(x). Само равенство у=f(x) называется уравнением  этого графика.

3.1.Масштабирование

Масштабирование по осям ОX и ОY  реализуется при помощи линейных зависимостей

(x-x1)/(xn-x1) = (i-i1)/(in-i1)
 

(y-y1)/(yn-y1)= (j-in)/(j1-jn)

При вычислении вертикальных экранных координат необходимо с помощью знака учитывать ,что
нумерация  строк  идет сверху вниз.

3.2 Шаг( h)  по оси X
h =(xn-x1)/n


3.3 Построение графика  функции отрезками
3.3.1 Начальные данные
x=x1
y=f(x)

3.3.2
Построение графика
x = x+h
y = f(x)

 

4.Алгоритм обработки
Процедура Кнопка1Нажатие(Элемент)
//Нужно доделать по оси y

// Вставить содержимое обработчика.

Диаграмма = ЭлементыФормы.Диаграмма1;
Диаграмма.Очистить();
Диаграмма.Обновление = Ложь;
Диаграмма.Серии.Добавить("Серия 1");


ЗапросS = Новый Запрос;
ЗапросS.Текст = "
|SELECT
| MIN(X) AS Xs ,
| MAX(X)AS Xmax ,
|Count(X)As N
|FROM Справочник.Справочник12 " ;

в = ЗапросS.Выполнить().Выбрать();
Пока в.Следующий()=1 Цикл
Xb = в.Xs;
Xmax = в.Xmax;
Ns = в.N;
КонецЦикла;


//Сообщить(Xb);
//Сообщить(Xmax);
// Сообщить(Ns);



x1 = Xb ; //Min
x2 = Xmax ; //Max
//Начало

I1= x1;
I2= x2;
//График функции
// y =f(x)
y1= x1;
y2 = x2;

//Iy1= Диаграмма.ПолучитьЗначение(0,0) ;
//Iy2= Диаграмма.ПолучитьЗначение(Ns-1,0) ;
//****************
x=x1;////начало отсчета
h=0; //начало отсчета шаг = 0
For n=1 To Ns Do
x=x+h;
//График функции
y=x;

// // Функция масштабирования по оси Х
//II= I1+Round((x-X1)*(I2-I1)/(X2-X1));
II= I1+(x-X1)*(I2-I1)/(X2-X1);

//Iy1= Диаграмма.ПолучитьЗначение(n-1,0) ;

//Iy1= Диаграмма.УстановитьЗначение(n-1,0,y);


// Сообщить(Iy1);

//IIy= Iy1+(y-y1)*(Iy2-Iy1)/(y2-y1);


// // Функция масштабирования по оси Y
// JJ = J2+ Round((y-Y1)*(J1-J2)/(Y2-Y1))
////построение графика функции отрезками

// T = ""+(x+h);
T = ""+ II;

Диаграмма.Точки.Добавить(T);
Диаграмма.УстановитьЗначение(n-1,0,y);

// Iy1= Диаграмма.ПолучитьЗначение(1,0) ;
// Сообщить(Iy1);

//ПолучитьЗначение(<Точка>, <Серия>)


h = (x2-x1)/Ns; //ДЛИНА ШАГА

EndDo;

Диаграмма.Обновление = Истина;

КонецПроцедуры
 


 

Назад

Предложениями и замечаниями  обращаться по адресу- vova1001@yandex.ru

На главную страницу

Hosted by uCoz