Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
106
Добавлен:
10.05.2014
Размер:
1.51 Mб
Скачать

InitGraph(GraphDriver, GraphMode, ‘путь к драйверу’ );

Экран:

Рабочая область:

График функции:

В заданном интервале [a,b] изменений аргумента Х формируется таблица значений аргумента с постоянным шагом -h.Xi=Xmin+i*h

В узлах таблицы вычисляются значения функции – Yi

Вычисляются значения Xmin,Xmax,Ymin,YmaxиDX=Xmax-Xmin,DY=Ymax-Ymin,

Задаются максимальные размеры (в пикселях) области размещения графика

Px=600, Py=400

В заданном интервале [a,b] изменений аргумента Х формируется таблица значений аргумента с постоянным шагом - h.

В узлах таблицы вычисляются значения функции -

Вычисляются значения Xmin,Xmax,Ymin,Ymax

DX=Xmax-Xmin, DY=Ymax-Ymin

Производим масштабирование экрана

Mx = Px / Dx и My = Py / Dy

Переводим математические (real) величины отрезковDxi, Dyi в пиксели (integer)

DXGi =trunc(DXi* Mx)

DYGi =trunc(Dyi* My)

Смещаем минимальное значение ординаты на нижнюю границу рабочей области экрана и, учитывая начальные смещения XnиYn, получаем окончательные таблицы построения функции

DXGmi = DXGi + Xn

DYGmi = 400 + Yn - DYGi

19. Процедуры и функции в Паскале для работы в графическом режиме.

SETCOLOR (< цвет>)

Процедура устанавливает «цвет пера» для прорисовки линий и символов. Цвет задается либо константой целого типа WORD, либо числовым значением в диапазоне от 0 до 15.

При больших значения числа производится операция его деления на 16 и остаток от деления определяет кодовый индекс цвета.

MOVETO (x,y)

Процедура устанавливает текущее положение указателя, (x,y)–выражения типаINTEGER, задающие новые координаты указателя по горизонтали и вертикали относительно верхнего левого угла экрана (или окна, если оно установлено). Линия вычерчивается текущим цветом и текущим стилем.

PUTPIXEL (x, y, < цвет>)

Процедура выводит заданным цветом пиксель с координатами (x,y)(выражения типаINTEGER) по горизонтали и вертикали относительно верхнего левого угла экрана (или окна, если оно установлено). Цвет задается либо константой целого типаWORD, либо числовым значением в диапазоне от 0 до 15. При больших значения числа производится операция его деления на 16 и остаток от деления определяет кодовый индекс цвета.

LINETO (x, y)

Процедура вычерчивает линию от текущего положения указателя до точки с координатами (x,y)(выражения типаINTEGER) по горизонтали и вертикали относительно верхнего левого угла экрана (или окна, если оно установлено). Линия вычерчивается текущим цветом и текущим стилем.

LINE (x1, y1, x2, y2)

Процедура вычерчивает линию от положения указателя (x1,y1)до точки с координатами(x2,y2)(выражения типаINTEGER) по горизонтали и вертикали относительно верхнего левого угла экрана (или окна, если оно установлено). Линия вычерчивается текущим цветом и текущим стилем.

RECTANGLE (x1, y1, x2, y2)

Процедура вычерчивает прямоугольник (его границы) с координатами верхнего левого угла (x1,y1)и координатами правого нижнего угла(x2,y2)(выражения типаINTEGER) по горизонтали и вертикали относительно верхнего левого угла экрана (или окна, если оно установлено). Линия вычерчивается текущим цветом и текущим стилем.

BAR (x1, y1, x2, y2)

Процедура вычерчивает прямоугольник с координатами верхнего левого угла (x1,y1)и координатами правого нижнего угла(x2,y2)(выражения типаINTEGER) по горизонтали и вертикали относительно верхнего левого угла экрана (или окна, если оно установлено). Линия вычерчивается текущим цветом и текущим стилем. Тип и цвет линий должен быть предварительно задан процедуройSETFILLSTYLE (< штриховка>, < цвет>)

SETFILLSTYLE (< штриховка>, < цвет>)

Процедура устанавливает стиль (тип и цвет) штриховки стандартных замкнутых контуров. Цвет и штриховка задаются либо константой целого типа WORD, либо числовым значением в диапазоне от 0 до 15. При больших значения числа производится операция его деления на 16 и остаток от деления определяет кодовый индекс цвета.

CIRCLE (x, y, <радиус>)

Процедура вычерчивает окружность с координатами центра (x,y)(выражения типаINTEGER) по горизонтали и вертикали относительно верхнего левого угла экрана (или окна, если оно установлено). Линия вычерчивается текущим цветом и текущим стилем. <радиус> – выражение типаWORD, указывающее величину радиуса в пикселях.

SETBKCOLOR (< цвет>)

Процедура устанавливает цвет экрана. Цвет задается либо константой целого типа WORD, либо числовым значением в диапазоне от 0 до 15. При больших значения числа производится операция его деления на 16 и остаток от деления определяет кодовый индекс цвета.

FLOODFILL (x, y, < цвет границы>)

Процедура устанавливает стиль (тип и цвет) штриховки произвольных замкнутых контуров. Цвет и штриховка задаются процедурой SETFILLSTYLE (< штриховка>, < цвет>).Координаты(x,y) (выражения типаINTEGER) соответствуют любой точки внутри контура по горизонтали и вертикали относительно верхнего левого угла экрана (или окна, если оно установлено).

Вывод текста.

OUTTEXTXY (x, y, < текст>)

Процедура выводит текст с заданного места (x,y) (выражения типаINTEGER).

Параметр < текст> - выражение типаSTRING илиCHAR.

OUTTEXT (< текст>)

Процедура выводит текст с места текущего расположения указателя. Параметр < текст> - выражение типаSTRING илиCHAR.

Что бы вывести на экран текстовые выражения, полученные в результате расчетов нужно перевести числа типа REAL или INTEGERв символьную строку.

STR(X: <общую длину поля>, < дробную часть >,ST)

Stимя преобразованной переменной.

Пример:

Var

X:real; {Пусть X=12.567}

St:string;

…………

str(X:6:3, St);

Теперь вывод на экран представится в виде

OUTTEXTXY (x, y, st)

Для заданных таблиц графических координат {x, y}

Используя оператор цикла, проводим кривую y=f(x)

For i:=1 to n-1 do

Line(x[i],y[i],x[i+1],y[i+1])

  1. Понятие алгоритма и его свойства. Линейные, разветвляющиеся, циклические алгоритмы.

Алгоритм - четкое описание последовательности действий, которые необходимо выполнить при решении задачи. Можно сказать, что алгоритм описывает процесс преобразования исходных данных в результаты, т.к. для решения любой задачи необходимо:

Свойства алгоритмов:

1. Поочередное выполнение команд алгоритма за конечное число шагов приводит к решению задачи, к достижению цели. Разделение выполнения решения задачи на отдельные операции (выполняемые исполнителем по определенным командам) – важное свойство алгоритмов, называемое дискретностью.

2. Каждый алгоритм строится в расчете на некоторого исполнителя. Для того чтобы исполнитель мог решить задачу по заданному алгоритму, необходимо, чтобы он  был в состоянии понять и выполнить каждое действие, предписываемое командами алгоритма. Такое свойство алгоритмов называется определенностью (или точностью)алгоритма. (Например, в алгоритме указано, что надо взять 3—4 стакана муки. Какие стаканы, что значит 3—4, какой муки?)

3. Еще одно важное требование, предъявляемое к алгоритмам, - результативность (или конечность) алгоритма. Оно означает, что исполнение алгоритма должно закончиться за конечное число шагов.

4. Универсальность. Алгоритм должен быть составлен так, чтобы им мог воспользоваться любой исполнитель для решения анало­гичной задачи. (Например, правила сложения и умножения чисел годятся для любых чисел, а не для каких-то конкретных.)