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

Блок-схема алгоритма поиска корня уравнения f(x)=0 методом деления отрезка пополам, методом хорд и простой итерации, методом Ньютона. Алгоритм нахождения корня. Разложение полинома по схеме Горнера. Начальное приближение корня нелинейного уравнения.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 15.03.2012
Размер файла 301,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Постановка задачи

Составить схему алгоритма и программу для построения графика временной функции, работающую как в машинном, так и в реальном времени. Реальное время в диапазоне (Т0; Тк) формируется таймером в виде программного модуля с метками Тк, называемыми временем квантования. При вычислении функции использовать алгоритм Горнера.

Функция: y=|pt3 + gt2 + ct + k + m|, где t0=0; tkon=17c; tk=0.75c

X - корень нелинейного уравнения tg (x/2) - ctg (x/2) + x =0, которое надо решить методом Ньютона с точностью =10-3, при начальном значении корня, лежащего в диапазоне [1; 2];

М - наибольший по абсолютному значению корень квадратного уравнения:

a1z2+b1z+c1=0

при a1=2; b1=-3; c1=-2.

Коэффициенты:

a=1.3;

b=cos350;

c=sin350

Введение

алгоритм корень график функция

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

Интенсивное развитие технологических процессов тесно связано с применением электронной техники, и особенно цифровых вычислительных машин. Поэтому при обучении инженеров - теплоэнергетиков особое внимание должно уделяться компьютерной подготовке. Инженер должен уметь «общаться» с ЭВМ, работать на ней, знать основы программирования на алгоритмических языках, уметь использовать ЭВМ в своей будущей профессиональной деятельности.

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

PASCAL считается языком высокого уровня, на котором можно выполнять многочисленные операции.

Целью курсового проекта является закрепление навыков программирования на алгоритмическом языке TURBO PASCAL на примере разработки алгоритма и программы расчета временной функции.

Этапы решения задачи на ЭВМ

Наиболее эффективное применение вычислительной техники нашла при проведении трудоемких расчетов в научных исследованиях и инженерных расчетах. При решении задачи на ЭВМ основная роль все-таки принадлежит человеку. Машина лишь выполняет его задания по разработанной программе, роль человека и машины легко уяснить, если процесс решения задачи разбить на перечисленные ниже этапы.

Постановка задачи. Этот этап заключается в содержательной (физической) постановке задачи и определении конечных решений.

Построение математической модели. Модель должна правильно (адекватно) описывать основные законы физического процесса. Построение или выбор математической модели из существующих требует глубокого понимания проблемы и знания соответствующих разделов математики.

Разработка численных методов. Поскольку ЭВМ может выполнять лишь простейшие операции, она «не понимает» постановки задачи, даже в математической формулировке. Для ее решения должен быть найден численный метод, позволяющий свести задачу к некоторому вычислительному алгоритму. В каждом конкретном случае необходимо выбрать подходящее решение из уже разработанных стандартных.

Разработка алгоритма. Процесс решения задачи (вычислительный процесс) записывается в виде последовательности элементарных арифметических и логических операций, приводящей к конечному результату и называемой алгоритмом решения задачи.

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

Отладка программы. Составленная программа содержит разного рода ошибки, неточности, описки. Отладка включает контроль программы, диагностику (поиск и определение содержания) ошибок, и их устранение. Программа испытывается на решении контрольных (тестовых) задач для получения уверенности в достоверности результатов.

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

Анализ результатов. Результаты расчетов тщательно анализируются, оформляется научно-техническая документация.

1. Выбор и обоснование методов решения

1.1 Метод деления отрезка пополам (бисекции)

Краткая теория к поиску корня уравнения f(x)=0 методом деления отрезка пополам

Общие сведения

Постановка задачи. Пусть дана некоторая функция f(x). Необходимо найти с точностью до е такое x*, что f (x*)=0. В том случае, когда решение не может быть найдено в явном виде, применяются численные методы. Наиболее распространенными из них являются метод деления отрезка пополам, метод простых итераций, метод касательных (Ньютона), метод секущих и метод хорд.

Рассмотрим метод деления отрезка пополам более подробно.

В соответствии с этим методом вначале необходимо приблизительно определить отрезок, на котором функция f(x) меняет знак. Для этого можно использовать графический способ, заключающийся в построении графика функции на экране компьютера и приблизительного визуального определения точек пересечения графика с осью абсцисс.

При отыскании корня методом половинного деления сначала вычисляются значения функции в точках a и b - соответственно f(a) и f(b), имеющие противоположные знаки. Далее по формуле xср=(a+b)/2 вычисляется координата центра отрезка [a, b] и находится значение функции в этой точке f(xср). Оно сравнивается со значениями функции на концах отрезка. Если функция меняет знак на отрезке [a, xср], то весь отрезок [a, b] усекается до его левой части, то есть xср становится правой границей отрезка (b). Аналогично, если функция меняет знак на отрезке [xср, b], отрезок [a, b] усекается до правой части. Эти операции повторяются до тех пор, пока разница между соседними значениями x не станет меньше или равной выбранной точности.

Плюс

Прост и надёжен.

Устойчив к ошибкам округления.

Удобно программируется.

Минус

Необходимо заранее знать отрезок, на котором функция меняет знак, что не совсем удобно.

Обладает линейной скоростью сходимости.

Блок-схема алгоритма поиска корня уравнения f(x)=0 методом деления отрезка пополам

1.2 Метод хорд

Является более быстрым способом нахождения корня уравнения f(x)=0 лежащего на отрезке [a; b], таком, что f(a)*f(b)<0.

Для определённости пусть f(x)<0, f(b)>0. Разделим отрезок в отношении

- f(a)/f(b). Это даёт приближённое значение корня x1=a+h1, где

h1=-f(a)*(b-a)/(-f(a)+f(b)).

Применяя этот приём, к тому из отрезков [a; x1] или [x1; b] на концах которого функция имеет противоположные знаки. Получим второе приближение корня x2.

Геометрически, метод хорд эквивалентен замене кривой y=f(x) хордой проходящей через т. а и т. B.

Уравнение хорды: (x-a)/(b-a)=(y-f(a))/(f(b) - f(a)).

Полагая, что х=х1 и у=0, получим х1=а - f(a)*(b-a)/(f(b) - f(a)), x1 - первое приближение.

Для сходимости процессов корень должен быть отделён вторая производная должна сохранять знак на отрезке [a; b].

Процесс вычисления заканчивается когда разность между 2-мя значениями корня <е или |f(xn+1)|<е. Графическая интерпретация показана на рис.

Плюс

Простота;

Быстрое достижение результата.

Минус

Необходимо заранее знать отрезок, на котором функция меняет знак, что не совсем удобно.

На каждом шаге проверяется точность значения.

Блок-схема алгоритма поиска корня уравнения f(x)=0 методом хорд

1.3 Метод простой итерации

Метод простой итерации используется для решения нелинейных уравнений. Метод основан на последовательном приближении к корню уравнения при заданных начальных условиях: начальное приближение и точность вычисления. При использовании метода простой итерации, важным является выбор функции х = ц(x), при этом должно выполняться условие:

¦ ц' (x)¦< q < 1 (ц(x) - производная функции F(x)) во всех точках

интервала изоляции [а; b] - это необходимое условие сходимости процесса.

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

| xn+1 - xn | <= е.

Алгоритм нахождения корня:

1) Заменяем уравнения f(x)=0 выражением x=ц(x)

2) Находим х1= ц(xо).

3) Проверяем |x1-xo|<=е, если выполняется условие, х1-корень, если нет, продолжаем: х2= ц(x1)

x3= ц(x2)

…….

xn+1 = ц(xn)

Счет заканчивается, когда | xn+1 - xn | <= е либо f(xn+1)<= е.

Условие, при котором данный процесс сходится, определяется следующей теоремой: если интервал [a, b] является интервалом изоляции корня уравнения

x = ц(x), и во всех точках этого интервала производная ц' (x) удовлетворяет условию:

|ц' (xn)|<q<1

то итерационный процесс сходиться.

В случае, если по условию | xn+1 - xn | <= е невозможно найти корень, то заданную точность вычислений необходимо найти из выражения, где q - наименьшее значение |ц' (x)| на отрезке [a, b].

| xn+1 - xn | <=(1-q)* е /q

Таким образом начальное приближение выбирается из соображений

|ц' (xо)|<1.

При этом скорость сходимости тем выше, чем ниже q.

Плюс

Скорость сходимости - большая.

Минус

Необходимо преобразовывать уравнение f(x)=0 к виду x=ц(x), что не всегда возможно.

Блок-схема алгоритма поиска корня уравнения f(x)=0 методом простой итерации

1.4 Метод Ньютона

Метод Ньютона используется для решения нелинейных уравнений. Метод основан на последовательном приближении к корню уравнения при заданных начальных условиях: начальное приближение и точность вычисления. В методе Ньютона осуществляется экстраполяция с помощью касательной к кривой в данной точке. В основе метода лежит разложение функции в ряд Тейлора:

Члены, содержащие h во второй и более высоких степенях, отбрасываются. Для нахождения корня используется соотношение xn+1 = xn + h. Предполагается, что переход от xn к xn+1 приближает значение функции к нулю.

h = - f(x)/f' (x), тогда xn+1 = xn - - f(x)/f' (x)

При использовании метода важно правильно выбрать начальное приближение x0, чаще выбирают x0=а или x0=в. Однако условие выбора начального приближения следующее .

Геометрически метод Ньютона эквивалентен замене небольшой дуги y=f(x) касательной, проведенной в некоторой точке кривой.

Плюс

Скорость сходимости - квадратичная.

Минус

Необходимо искать производную функции f(x)=0.

Нахождение производной второго порядка зачастую весьма затруднительно.

Блок-схема алгоритма поиска корня уравнения f(x)=0 методом Ньютона

нет

да

нет

да

нет да

1.6 Метод Горнера

Существует много методов для решения полиномов на языке PASCAL. Один из этих методов - разложение полинома по схеме Горнера.

Полином

f(x) = a0 + a1t + + a2t2+ a3t3+ a4t4+ … + antn

по схеме Горнера представляется в виде

f(x) = a0 + t(a1 + t(a2 +t(a3 +… + t(an-1 + t an)…)))

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Листинг программы

{$E-, N+, G+, F+, D-, L-}

{3d-Bird, code: BiTL/7dUMP}

Program kursovoy;

uses crt, graph, Rotate02;

const pm=3;

c2=1000; pmn=4; pm1=5;

label 134;

var

Grdriver, GrMode:integer;

i, j, k:integer;

m, a1, b1, c1:real;

eps, a0, b0, x, h, n:real;

b, c, a:real;

Tk, t0, tkon, t:real;

e, l:byte;

key:char;

prexit:boolean;

menupunkts, menu, menu1:array [1..6] of string;

s:string[80];

o, ab, bc, cd, de, ef, fg, gh, hi:string[100];

{$I bir2.pas}

{$I zagryzka.pas}

{$I papor.pas

function kvadrat (a1, b1, c1: real):real;

var z1, z2:real;

begin

z1:=(-b1+sqrt (b1*b1-4*a1*c1))/(2*a1);

z2:=(-b1-sqrt (b1*b1-4*a1*c1))/(2*a1);

if abs(z1)<abs(z2) then kvadrat:=z1 else kvadrat:= z2;

end;

function f (x:real):real;

begin

f:=(sIN (x/2)/cos (x/2)) - (cos (x/2)/sin (x/2))+x; {уравнение}

end;

function pr1 (x:real):real;

begin

pr1:=(1/(cos (0.5*x)*cos (0.5*x)))+(1/(sin (0.5*x)*sin (0.5*x)))+1; {1-я производная}

end;

function pr2 (x:real):real;

begin pr2:=((cos (0.5*x)*cos (0.5*x)+2*cos (0.5*x)*sin (0.5*x))/(cos (0.5*x)*cos (0.5*x)*cos (0.5*x)*cos (0.5*x)))+

+((sqr (sin(0.5*x)) - 2*sin (0.5*x)*cos (0.5*x))/(sin (0.5*x)*sin (0.5*x)*sin (0.5*x)*sin (0.5*x))); {2-я производная}

end;

function per (x:real):real; {выраженная переменная}

Var

z:real;

begin

per:=-2*(arctan (sin(x/2)/cos (x/2))+x) - 3.14/2;

end;

function y (a, b, c, t:real):real;

begin

y:=abs (0.5 + 1.077 + t*(c + t*(b + t*(a)))); {временная

функция}

end;

{меню}

Procedure ps;

begin

writeln (' ');

end;

{ђҐиҐЁҐ Ґ «ЁҐ©®Ј® га ўҐЁп ¬Ґв®¤®¬}

{¤Ґ «ҐЁп ®в१Є Ї®Ї®» ¬}

Procedure bisekcii;

var x:real; c1, n1, id:integer;

begin

clrscr;

n1:=0;

x:=0;

b0:=2;

a0:=1;

write (' zelaete tablicy znacheniu, 1/2');

readln(c1);

clrscr;

if c1=1 then begin id:=2;

clrscr;

textcolor (red+128);

writeln ('ЙННННННННННН» ');

write('є');

textcolor(green);

write (' n ');

textcolor (red+128);

write ('є ');

textcolor(green);

Write (' f(x) ');

textcolor (red+128);

write (' є ');

textcolor(green);

write (' x ');

textcolor (red+128);

writeln (' є');

writeln('єННННННННННННє');

textcolor(15); end;

repeat

x:=(a0+b0)/2;

if id=2 then begin

textcolor (red+128);

write('є');

textcolor(2);

write (n1:2);

textcolor (red+128);

write (' є ');

textcolor(2);

write (f(x):8:4);

textcolor (red+128);

write (' є '); textcolor(2);

write (x:5:3);

textcolor (red+128);

writeln (' є ');

textcolor(2);

delay(60000)

end;

if f(b0)*f(x)<0 then a0:=x

else b0:=x;

n1:=n1+1;

until abs (f(x))<=eps;

if id=2 then begin

textcolor (red+128);

writeln('ИННННННННј');

end;

textcolor(Yellow);

writeln (' znacheni x= ', x:5:3);

id:=0;

n1:=0;

c1:=0;

readln;

end;

{ђҐиҐЁҐ Ґ «ЁҐ©®Ј® га ўҐЁп ¬Ґв®¤®¬ е®а¤}

Procedure hord;

var x:real;

c1, n1, id:integer;

begin

clrscr;

n1:=0;

x:=0;

b0:=2;

a0:=1;

write (' zelaete tablicy znacheniu, 1/2');

readln(c1);

clrscr;

if c1=1 then begin id:=2;

clrscr;

textcolor (red+128);

writeln ('ЙНННННННННН» ');

write('є');

textcolor(green);

write (' n ');

textcolor (red+128);

write ('є ');

textcolor(green);

Write (' f(x) ');

textcolor (red+128);

write (' є ');

textcolor(green);

write (' x ');

textcolor (red+128);

writeln (' є');

writeln('єНННННННННННє');

textcolor(15);

end;

if f(a0)>0 then x:=b0 else x:=a0;

if c1=1 then begin id:=2;

textcolor (red+128);

write('є');

textcolor(2);

write (n1:2);

textcolor (red+128);

write (' є ');

textcolor(2);

write (f(x):8:4);

textcolor (red+128);

write (' є '); textcolor(2);

write (x:5:3);

textcolor (red+128);

writeln (' є ');

textcolor(2);

delay(60000);

n1:=n1+1;

end;

repeat

if f(a0)>0 then

x:=x - (f(x)*(x-a0))/(f(x) - f(a0)) else

x:=x - (f(x)*(b0-x))/(f(b0) - f(x));

if id=2 then begin

textcolor (red+128);

write('є');

textcolor(2);

write (n1:2);

textcolor (red+128);

write (' є ');

textcolor(2);

write (f(x):8:4);

textcolor (red+128);

write (' є '); textcolor(2);

write (x:5:3);

textcolor (red+128);

writeln (' є ');

textcolor(2);

delay(60000)

end;

n1:=n1+1;

until abs (f(x))<=eps;

if id=2 then begin

textcolor (red+128);

writeln('ИНННННННННј');

end;

textcolor(Yellow);

writeln (' znacheni x= ', x:5:3);

id:=0;

n1:=0;

c1:=0;

readln;

end;

procedure yrov;

begin

begin

begin

Writeln (' ');

textcolor(1);

Writeln (' Vvod znacheniu funkcii pt^3 + pt^2 + ct + k + m, gde');

Writeln (' ');

textcolor(14);

Writeln ('m - naibolhiu po absolutnomy znacheniu koren yravnenia a1z^2 + b1z + c1 =0 ');

textcolor(13);

Writeln (' Vvodim parametri funkcii: ');

Writeln (' ');

textcolor(12);

Write ('Vvedite nachalnoe vremia t0; t0 = ');

read(t0);

textcolor(1);

Write ('Vvedite konechnoe vremia tkon; tkon = ');

read(tkon);

textcolor(14);

Write ('Vvedite vremia kvantovania Tk; Tk = ');

read(Tk);

textcolor(12);

Writeln (' ');

Writeln ('Dlia vivoda rezyltata «ENTER» ');

readln;

textcolor(6);

end;

{*********************************}

clrscr;

j:=0;

gotoXY (1+j, 1); textcolor(2);

Writeln ('+-+ ');

gotoXY (1+j, 2); textcolor(10);

Writeln ('і t і y(t) і ');

gotoXY (1+j, 3); textcolor(2);

Writeln ('+-+-+ ');

t:= t0; i:=1;

while t <= tkon do

begin

gotoXY (1+j, i+3); write('і');

gotoXY (14+j, i+3); write('і');

gotoXY (31+j, i+3); write('і');

gotoXY (4+j, i+3); textcolor(2);

writeln (t:5:3);

gotoXY (18+j, i+3); textcolor(2);

writeln (y(a, b, c, t):6:4);

if i > 19 then

begin

gotoXY (j+1, i+4); textcolor(2);

Writeln ('+-+ ');

i:= 2;

j:= j+40; end;

t:= t + Tk; i:= i + 1;

end;

gotoXY (j+1, i+3); textcolor(2);

Writeln ('+-+ ');

gotoXY (19+j, i+3);

readln;

end;

end;

{end;}

{ђҐиҐЁҐ Ґ «ЁҐ©®Ј® га ўҐЁп}

{¬Ґв®¤®¬ Їа®бв®© ЁвҐа жЁЁ}

procedure iteracii;

label 1;

var x, e, y, x0:real;

c1, n1, id:integer;

i: integer;

begin

x:=1; e:=0.001;

clrscr;

n1:=0;

b0:=2;

a0:=1;

write (' zelaete tablicy znacheniu, 1/2');

readln(c1);

clrscr;

if c1=1 then begin id:=2;

clrscr;

textcolor (red+128);

writeln ('ЙНННННННН» ');

write('є');

textcolor(green);

write (' n ');

textcolor (red+128);

write ('є ');

textcolor(green);

Write (' f(x) ');

textcolor (red+128);

write (' є ');

textcolor(green);

write (' x ');

textcolor (red+128);

writeln (' є');

writeln('єННННННННННННє');

textcolor(15);

textcolor (red+128);

write('є');

textcolor(2);

write (n1:2);

textcolor (red+128);

write (' є ');

textcolor(2);

write (f(x):8:4);

textcolor (red+128);

write (' є '); textcolor(2);

write (x:5:3);

textcolor (red+128);

writeln (' є ');

textcolor(2);

delay(60000);

n1:=n1+1

end;

1:

x0:=2*(- (arctan((sin (x/2)/cos (x/2))+x))+3.14/2);

if abs (x-x0)>e then

begin

x:=x0;

if id=2 then begin

textcolor (red+128);

write('є');

textcolor(2);

write (n1:2);

textcolor (red+128);

write (' є ');

textcolor(2);

write (f(x):8:4);

textcolor (red+128);

write (' є '); textcolor(2);

write (x:5:3);

textcolor (red+128);

writeln (' є ');

textcolor(2);

delay(60000)

end;

n1:=n1+1;

goto 1;

end;

if id=2 then begin

textcolor (red+128);

writeln('ИННННННННННј');

end;

textcolor(Yellow);

writeln (' znacheni x= ', x:5:3);

id:=0;

n1:=0;

c1:=0;

readln;

end;

{ђҐиҐЁҐ Ґ «ЁҐ©®Ј® га ўҐЁп ¬Ґв®¤®¬ Ќмов®}

Procedure niutona;

var x, h:real;

c1, n1, id:integer;

begin

clrscr;

n1:=0;

x:=0;

b0:=2;

a0:=1;

write (' zelaete tablicy znacheniu, 1/2');

readln(c1);

clrscr;

if c1=1 then begin id:=2;

clrscr;

textcolor (red+128);

writeln ('ЙНННННННННННН» ');

write('є');

textcolor(green);

write (' n ');

textcolor (red+128);

write ('є ');

textcolor(green);

Write (' f(x) ');

textcolor (red+128);

write (' є ');

textcolor(green);

write (' x ');

textcolor (red+128);

writeln (' є');

writeln('єННННННННє');

textcolor(15); end;

if f(b0)*pr2 (b0)>0 then x:=b0;

x:=1.07;

if id=2 then begin

textcolor (red+128);

write('є');

textcolor(2);

write (n1:2);

textcolor (red+128);

write (' є ');

textcolor(2);

write (f(x):8:4);

textcolor (red+128);

write (' є '); textcolor(2);

write (x:5:3);

textcolor (red+128);

writeln (' є ');

textcolor(2);

delay(60000);

n1:=n1+1

end;

repeat

h:=-f(x)/pr1 (x);

x:=x+h;

if id=2 then begin

textcolor (red+128);

write('є');

textcolor(2);

write (n1:2);

textcolor (red+128);

write (' є ');

textcolor(2);

write (f(x):8:4);

textcolor (red+128);

write (' є '); textcolor(2);

write (x:5:3);

textcolor (red+128);

writeln (' є ');

textcolor(2);

delay(60000)

end;

n1:=n1+1;

until abs (f(x))<=eps;

if id=2 then begin

textcolor (red+128);

writeln('ИННННННННННННј');

end;

textcolor(Yellow);

writeln (' znacheni x= ', x:5:3);

id:=0;

n1:=0;

c1:=0;

readln;

end;

procedure grafik; {postroenie grafika}

label 1;

var

a:real;

i, x:integer;

q, w:char;

t:extended;

g, v:string;

driver, mode:integer;

function F (t:extended):extended;

begin

f:=abs (1.3*t*t*t+t*t*(Cos((pi/180)*35))+(sin((pi/180)*35))*t+1.077+0); end;

begin 1:

Driver:=Detect;

InitGraph (Driver, mode, '');

setbkcolor(green);

line (50,1,48,10); line (50,1,52,10);

line (50,1,50,480);

line (1,465,640,465);

line (640,465,630,467);

line (640,465,630,463);

for i:=0 to 22 do begin

line (75+25*i, 460,75+25*i, 470);

line (45, - 60+25*i, 55, - 60+25*i);

settextstyle (2,0,4);

str(((i+1)/1.3333333333333333333):2:2, v);

if (i mod 2)<>0 then

outtextxy (65+25*i, 450, v)

else

outtextxy (65+25*i, 470, v)

end;

outtextxy (15,1,'Y(t)');

outtextxy (630,450,'T');

settextstyle (1,0,1);

outtextxy (450,1,'mashtab X=0.075Y'); settextstyle (2,0,4);

a:=0;

for i:=1 to 23 do begin

str (a:3:0, v);

outtextxy (20,485-25*i, v); a:=a+10; end;

delay(60);

delay(60); delay(60); t:=0;

for I:=0 to 23 do begin

a:=f(t);

str (a:4:1, g);

putpixel (49+25*round(i), 465-round (f(t)*2.48), 4); delay(13);

outtextxy (40+25*i, 450-round (f(t)*2.48), g);

t:=t+0.75;

delay(10);

end; readkey;

t:=0;

for i:=0 to 23

do begin

line (49+25*round(i), 465-round (f(t)*2.48), 49+25*round (i+1), 465-round((f (t+0.75))*2.48));

t:=t+0.75;

end;

settextstyle (1,0,2);

outtextxy (100,10,'Dlya povtora - ESC');

outtextxy (100,30,'dlya vihoda - enter');

w:=readkey; settextstyle (2,0,4);

closegraph; if w=#27 then goto 1;

end;

procedure grafik1; {postroenie grafika}

label 1;

var

a:real;

i, x:integer;

q, w:char;

t:extended;

g, v:string;

driver, mode:integer;

function F (t:extended):extended;

begin

f:=abs (1.3*t*t*t+t*t*(Cos((pi/180)*35))+(sin((pi/180)*35))*t+1.077+0); end;

begin 1:

Driver:=Detect;

InitGraph (Driver, mode, '');

setbkcolor(green);

line (50,1,48,10); line (50,1,52,10);

line (50,1,50,480);

line (1,465,640,465);

line (640,465,630,467);

line (640,465,630,463);

for i:=0 to 22 do begin

line (75+25*i, 460,75+25*i, 470);

line (45, - 60+25*i, 55, - 60+25*i);

settextstyle (2,0,4);

str(((i+1)/1.3333333333333333333):2:2, v);

if (i mod 2)<>0 then

outtextxy (65+25*i, 450, v)

else

outtextxy (65+25*i, 470, v)

end;

outtextxy (15,1,'Y(t)');

outtextxy (630,450,'T');

settextstyle (1,0,1);

outtextxy (450,1,'mashtab X=0.075Y'); settextstyle (2,0,4);

a:=0;

for i:=1 to 23 do begin

str (a:3:0, v);

outtextxy (20,485-25*i, v); a:=a+10; end;

delay(60);

delay(60); delay(60); t:=0;

for I:=0 to 23 do begin

a:=f(t);

str (a:4:1, g);

putpixel (49+25*round(i), 465-round (f(t)*2.48), 4); delay(13);

outtextxy (40+25*i, 450-round (f(t)*2.48), g);

t:=t+0.75;

delay(60000);

end; readkey;

t:=0;

for i:=0 to 23

do begin

line (49+25*round(i), 465-round (f(t)*2.48), 49+25*round (i+1), 465-round((f (t+0.75))*2.48));

t:=t+0.75; delay(60000);

end;

settextstyle (1,0,2);

outtextxy (100,10,'Dlya povtora - ESC');

outtextxy (100,30,'dlya vihoda - enter');

w:=readkey; settextstyle (2,0,4);

closegraph; if w=#27 then goto 1;

end;

BEGIN

clrscr;

nahalo;

clrscr;

GrDriver:=detect;

initgraph (GrDriver, GrMode, ' ');

settextstyle (1,0,4);

setcolor(4);

line (85,44,560,44);

outtextxy (0,10,' Ministerstvo obrazovanija RB');

outtextxy (0,40,' BNTU ');

outtextxy (0,70,' Enegeticheskij fakultet');

outtextxy (100,100,' Kafedra: «T E S» ');

outtextxy (110,180,'KURSOVAJ RABOTA PO KURSU');

outtextxy (200,220,' «INFORMATIKA» ');

outtextxy (220,440,'Minsk - 2009');

settextstyle (1,0,2);

outtextxy (390,320,'Vipolnil: Xomich ');

outtextxy (390,350,'Proveril: Tarasevich L.A.');

readln;

cleardevice;

closegraph;

BEGIN

clrscr;

textbackground(0);

{Ї®бЁ¬ў®«мл© ўлў®¤ Єгаб®ў®Ј® § ¤ Ёп}

begin

clrscr;

clrscr; textcolor(5);

o:='Kyrsovaia rabota stydentki grypi 106428 Xomich Veroniki';

for k:=1 to Length(o) do

begin

write (o[k]); delay(5000);

end;

Writeln;

delay(60000); delay(60000);

begin

Writeln (' ');

textcolor(10);

ab:=' V danou kyrcovou rabote neobxodimo sostavit sxemy algoritma i programy dlia';

for k:=1 to Length(ab) do

begin

write (ab[k]); delay(4500);

end;

Writeln;

delay(60000);

delay(60000);

begin

bc:='postroenie grafika fynkcii, rabotauhie kak v machinom, tak i v ';

for k:=1 to Length(bc) do

begin

write (bc[k]); delay(4500);

end;

Writeln;

delay(60000);

delay(60000);

begin

cd:='realnom vremeni. Realnoe vremia v deapazone (t0-tkon) formiryetsia taumerom v';

for k:=1 to Length(cd) do

begin

write (cd[k]); delay(4500);

end;

Writeln;

delay(60000);

delay(60000);

begin

de:='vide programnogo modylia s metkami Tk, nazivaemii vremenem kvantovania.F-cii';

for k:=1 to Length(de) do

begin

write (de[k]); delay(4500);

end;

Writeln;

delay(60000);

delay(60000);

begin

ef:='y=|pt^3 + gt^2 + ct + k + m|, gde t0=0c; tkon=17c; Tk=0.75c. k - koren nelineunogo';

for k:=1 to Length(ef) do

begin

write (ef[k]); delay(4500);

end;

Writeln;

delay(60000);

delay(60000);

begin

ef:='yr-ia tg (x/2) - ctg (x/2)+x=0, kotoroe nado rehit metodom prostou ';

for k:=1 to Length(ef) do

begin

write (ef[k]); delay(4500);

end;

Writeln;

delay(60000);

delay(60000);

begin

fg:='iteracii c tochnosti E=10^3, pri nachalnom pologenii kornia v ';

for k:=1 to Length(fg) do

begin

write (fg[k]); delay(4500);

end;

Writeln;

delay(60000);

delay(60000);

begin

fg:='diapazone [1; 2]. m-naibolhiu po obsalutnomy znachenii koren ';

for k:=1 to Length(fg) do

begin

write (fg[k]); delay(4500);

end; Writeln;

delay(60000);

delay(60000);

begin

gh:='yrav-a a1z^2 + b1z + c1 =0, pri a1=2; b1=-3; c1=-2.';

for k:=1 to Length(gh) do

begin

write (gh[k]); delay(4500);

end; Writeln;

delay(60000);

readln;

end; end; end;

end; end;

clrscr; textcolor(8);

{Єў ¤а в®Ґ га ўҐЁҐ}

Writeln ('Rehaem yravnenie a1z^2 + b1z + c1 = 0 ');

repeat

begin textcolor(15);

Writeln (' ');

Writeln (' Vvedite znachenie a1, b1 i c1… ');

Writeln (' ');

textcolor(6);

writeln (' *****************'); read; textcolor(2);

write (' Koefecient a1= '); readln(a1); textcolor(13);

write (' Koefecient b1= '); readln(b1); textcolor(3);

write (' Koefecient c1= '); readln(c1); textcolor(6);

writeln (' *****************'); read;

if (b1*b1 - 4*a1*c1) < 0 then begin clrscr;

textcolor (4+120);

Writeln (' Yravnenie ne imeet deustvit korneu');

Writeln (' ');

Writeln ('!!! Vozmogno ne vernie isxodnie dannie!!! ');

end; end;

until (b1*b1 - 4*a1*c1) >= 0;

m:= kvadrat (a1, b1, c1); textcolor(15);

a:=1.3;

b:=cos((pi/180)*35);

c:=Sin((pi/180)*35);

Writeln (' Bolhiu po modylu koren m= ', m:4:3);

Writeln (' ');

Writeln (' Koefecient p=', a:6:2);

Writeln (' Koefecient g=', b:6:2);

Writeln (' Koefecient c=', c:6:2);

Writeln (' ');

textcolor(14);

Writeln (' Dlia prodolgenia gmiakau «ENTER» ');

readln;

{Ґ «ЁҐ©®Ґ га ўҐЁҐ}

begin

clrscr;

gotoXY (10,2); textcolor(3);

Write ('Vvedite otrezok naxogdenia kornia i tochnost eps:'); read;

gotoXY (23,5); textcolor(11);

Write ('Koren legit v diapazone ('); read(a0);

gotoXY (51,5); textcolor(11);

Write (';'); read(b0);

gotoXY (55,5); textcolor(11);

Write(')');

gotoXY (23,7); textcolor(10);

Write ('Tochnost rasheta eps = '); read(eps);

textcolor(10);

end;

clrscr;

134:

clrscr;

begin

menupunkts [1]:=' Rehenie neliuneunogo yr-nia';

menupunkts [2]:=' Grafika ';

menupunkts [3]:=' VIXOD ';

e:=1;

prexit:=false;

repeat

clrscr;

gotoxy (5,5);

for l:= 1 to pm do

begin

textcolor(4);

ps;

if l=e then textcolor(5)

else textcolor(4);

writeln (menupunkts [l]);

end;

key:=readkey;

case ord(key) of 13:

begin clrscr;

case e of

1:

begin

clrscr;

begin

menu1 [1]:=' Metod delenia otrezka popolam ';

menu1 [2]:=' Metod xord ';

menu1 [3]:=' Metod prostou iterecii ';

menu1 [4]:=' Metod Nutona ';

menu1 [5]:=' NAZAD ';

e:=1;

prexit:=false;

repeat

clrscr;

gotoxy (5,5);

for l:= 1 to pm1 do

begin

textcolor(1);

ps;

if l=e then textcolor(12)

else textcolor(1);

writeln (menu1 [l]);

end;

key:=readkey;

case ord(key) of 13:

begin clrscr;

case e of

1:otr;

2:hord;

3:iter;

4:niut;

5: {prexit:=not prexit} goto 134;

end;

end;

72:dec(e);

80:inc(e);

end;

if e<1 then e:=pm1;

if e>pm1 then e:=1;

until prexit;

end;

end;

2: begin

clrscr;

driverot;

clrscr;

begin

menu [1]:=' GRAFIK V REALNOM VREMENI';

menu [2]:=' GRAFIK V MAHINOM VREMENI ';

menu [3]:=' yravnenie';

menu [4]:=' Nazad';

e:=1;

prexit:=false;

repeat

clrscr;

gotoxy (5,5);

for l:= 1 to pmn do

begin

textcolor(10);

ps;

if l=e then textcolor(3)

else textcolor(10);

writeln (menu [l]);

end;

key:=readkey;

case ord(key) of 13:

begin clrscr;

case e of

1:grafik;

2:grafik1;

3: yrov;

4: {prexit:=not prexit} goto 134;

end;

end;

72:dec(e);

80:inc(e);

end;

if e<1 then e:=pmn;

if e>pmn then e:=1;

until prexit;

end;

end;

3:prexit:=not prexit;

end;

end;

72:dec(e);

80:inc(e);

end;

if e<1 then e:=pm;

if e>pm then e:=1;

until prexit;

end;

bird; readkey;

end; end; end;

end; end; end; end.

Процедуры находящиеся в других файлах

{$I bir2.pas}

procedure bird;

CONST

VGA = $a000;

numFaces3 = 1337; numVertex3 = 741;

cube3: array [0..numvertex3*3-1] of integer =

(

7,305,128,87,283,117,77,283,94,57,283,76,30,283,66,

-1,283,65, - 30,283,74, - 54,283,91, - 69,283,114, - 71,283,140,

-62,283,163, - 42,283,181, - 14,283,191,16,283,192,46,283,183,

70,283,165,84,283,142,154,222,108,137,222,63,99,222,29,

48,222,9, - 9,222,8, - 64,222,25, - 108,222,58, - 134,222,101,

-139,222,149, - 121,222,194, - 84,222,228, - 32,222,247,24,222,249,

79,222,232,123,222,199,150,222,155,199,131,101,176,131,41,

127,131, - 6,60,131, - 32, - 15,131, - 35, - 86,131, - 12, - 144,131,32,

-178,131,91, - 184,131,155, - 160,131,216, - 111,131,263, - 44,131,290,

30,131,292,102,131,269,160,131,225,194,131,166,215,23,99,

189,23,30,136,23, - 23,63,23, - 54, - 18,23, - 57, - 95,23, - 31,

-157,23,18, - 194,23,84, - 200,23,158, - 174,23,226, - 120,23,280,

-47,23,311,33,23,314,111,23,289,173,23,239,209,23,172,

199, - 84,101,175, - 84,35,125, - 84, - 17,58, - 84, - 47, - 17, - 84, - 50,

-88, - 84, - 26, - 145, - 84,21, - 179, - 84,85, - 184, - 84,155, - 159, - 84,222,

-110, - 84,274, - 42, - 84,305,33, - 84,308,104, - 84,284,161, - 84,236,

195, - 84,172,154, - 176,108,136, - 176,55,97, - 176,13,45, - 176, - 10,

-12, - 176, - 13, - 66, - 176,5, - 110, - 176,42, - 135, - 176,93, - 139, - 176,149,

-120, - 176,202, - 81, - 176,244, - 29, - 176,268,27, - 176,271,82, - 176,252,

126, - 176,214,151, - 176,164,87, - 237,117,77, - 237,88,56, - 237,65,

28, - 237,51, - 3, - 237,49, - 32, - 237,60, - 56, - 237,80, - 69, - 237,108,

-71, - 237,140, - 61, - 237,169, - 40, - 237,192, - 12, - 237,206,18, - 237,207,

48, - 237,197,71, - 237,176,85, - 237,148,7, - 258,128, - 74,200,203,

35,214,279,35,260,152, - 68,206,233, - 51,210,259, - 26,213,277,

4,215,284, - 68,224,183, - 51,244,166, - 26,258,154,4,263,150,

48,186,273,54,159,257,48,269,180,54,268,211,54,257,240,

48,238,264, - 66,173,226, - 44,171,259,1,172,280,0,137,256,

-66,234,215, - 44,264,199, - 44,247,246,1,281,188,0,278,231,

1,253,266,66,210,260,80,230,228,80,181,237,77,238,178,

-405,176,420, - 277,188,575, - 357,108,473, - 72,199,666, - 170,113,617,

-116, - 38,574,142,227,658,75,144,659,175,34,606,82, - 61,571,

-455,258,223, - 405,401,114, - 439,325,247, - 405,298,399, - 277,529,26,

-357,481,147, - 344,486,306, - 357,380,425, - 277,339,548, - 72,603, - 28,

-170,603,71, - 116,642,223, - 209,573,338, - 116,553,470, - 170,424,562,

-72,360,638,142,582, - 48,75,625,22,175,633,144,82,651,245,

187,602,348,82,573,459,175,495,525,75,410,612,142,331,639,

229,274,618,304,409,514,290,267,580,304,110,566,346,507,343,

369,393,442,421,241,436,369,102,493,325,546,123,390,469,219,

456,327,162,463,214,280,229,524, - 69,312,480, - 19,17, - 463,302,

33, - 459,309,30, - 452,325,13, - 451,327,5, - 458,313,14, - 399,245,

55, - 390,264,48, - 371,305,2, - 368,312, - 18, - 385,274,20, - 457,315,

20, - 383,280,18, - 409,276,33, - 405,283,30, - 398,299,13, - 397,301,

6, - 403,287,14, - 345,219,55, - 336,238,48, - 317,279,2, - 313,286,

-18, - 331,249,20, - 402,289,20, - 328,254,17, - 511,325,33, - 507,332,

30, - 500,347,13, - 499,350,5, - 505,336,14, - 447,268,55, - 438,287,

48, - 419,328,2, - 415,334, - 18, - 433,297,20, - 504,338,20, - 430,303,

17, - 558,348,32, - 555,355,30, - 548,370,13, - 547,372,5, - 553,359,

14, - 495,290,55, - 486,310,47, - 466,351,2, - 463,357, - 18, - 481,320,

19, - 552,361,20, - 478,326,17, - 609,372,32, - 606,379,30, - 599,394,

13, - 598,397,5, - 604,383,13, - 546,315,55, - 537,334,47, - 517,375,

2, - 514,381, - 18, - 532,344,19, - 603,385,20, - 529,350,18, - 354,251,

33, - 351,258,30, - 344,273,13, - 343,275,6, - 349,262,14, - 291,193,

55, - 282,212,48, - 262,253,2, - 259,260, - 18, - 277,223,20, - 348,264,

20, - 274,228,18, - 300,225,33, - 297,232,30, - 290,247,14, - 289,249,

6, - 295,236,14, - 237,168,55, - 228,187,48, - 208,228,3, - 205,234,

-17, - 223,197,20, - 294,238,20, - 220,203,17, - 660,396,32, - 657,403,

29, - 650,419,13, - 649,421,5, - 655,407,13, - 597,339,54, - 588,358,

47, - 568,399,2, - 565,406, - 18, - 583,368,19, - 654,409,19, - 580,374,

17, - 756,442,32, - 753,449,29, - 745,464,12, - 744,467,5, - 751,453,

13, - 692,385,54, - 684,404,47, - 664,445,1, - 661,451, - 19, - 678,414,

19, - 750,455,19, - 676,420,16, - 849,486,32, - 845,493,29, - 838,508,

12, - 837,511,4, - 843,497,13, - 785,429,54, - 776,448,47, - 757,489,

1, - 753,495, - 19, - 771,458,19, - 842,499,19, - 769,464,17, - 708,419,

32, - 705,426,29, - 698,441,12, - 696,444,5, - 703,430,13, - 645,362,

54, - 636,381,47, - 616,422,1, - 613,428, - 19, - 631,391,19, - 702,432,

19, - 628,397,17, - 802,464,32, - 799,471,29, - 792,486,12, - 791,489,

4, - 797,475,13, - 739,407,54, - 730,426,47, - 710,467,1, - 707,473,

-19, - 725,436,19, - 796,477,19, - 722,442,9, - 1041,492,33, - 1024,488,

15, - 1024,486, - 1, - 1024,490, - 15, - 1023,501, - 24, - 1022,516, - 27, - 1020,534,

-22, - 1019,551, - 11, - 1018,565,3, - 1018,574,21, - 1018,576,38, - 1018,572,

52, - 1019,561,61, - 1020,546,63, - 1021,528,59, - 1022,511,48, - 1023,497,

45, - 1001,450,13, - 1001,446, - 18, - 1000,454, - 44, - 999,474, - 61, - 997,502,

-65, - 994,535, - 56, - 992,566, - 37, - 991,592, - 8, - 989,609,23, - 989,613,

55, - 990,605,81, - 991,585,97, - 993,556,102, - 996,524,93, - 998,492,

73, - 1000,466,54, - 964,423,11, - 964,417, - 29, - 963,428, - 63, - 961,454,

-85, - 959,491, - 91, - 956,533, - 80, - 953,575, - 54, - 951,609, - 16, - 949,630,

25, - 949,636,66, - 950,625,100, - 952,599,122, - 954,562,128, - 957,520,

117, - 960,478,91, - 963,444,57, - 919,411,11, - 919,405, - 33, - 919,417,

-70, - 916,445, - 93, - 914,485, - 99, - 910,531, - 88, - 907,576, - 59, - 905,612,

-19, - 903,636,26, - 903,642,70, - 904,630,107, - 906,602,131, - 909,562,

137, - 912,516,125, - 915,471,97, - 918,435,54, - 873,417,11, - 873,411,

-29, - 873,422, - 63, - 871,448, - 85, - 868,485, - 90, - 865,527, - 79, - 862,568,

-53, - 860,602, - 16, - 859,624,25, - 858,630,67, - 859,619,101, - 861,593,

122, - 864,556,128, - 867,513,117, - 869,472,91, - 872,438,46, - 833,438,

13, - 833,434, - 18, - 833,442, - 44, - 831,462, - 60, - 829,490, - 64, - 827,523,

-56, - 825,554, - 36, - 823,580, - 8, - 822,597,24, - 822,601,55, - 822,593,

81, - 824,573,98, - 826,545,102, - 828,512,94, - 830,481,74, - 832,455,

33, - 805,473,16, - 805,471, - 1, - 805,475, - 15, - 804,486, - 24, - 803,501,

-26, - 801,519, - 21, - 800,536, - 11, - 799,550,4, - 799,559,21, - 799,561,

38, - 799,557,53, - 800,546,61, - 801,531,64, - 802,513,59, - 803,496,

48, - 804,482,18, - 793,515,14, - 1231,529,15, - 1231,529,16, - 1231,530,

17, - 1230,530,17, - 1230,532,17, - 1230,533,16, - 1230,534,16, - 1230,534,

15, - 1230,535,13, - 1230,534,13, - 1230,534,12, - 1230,533,12, - 1230,532,

12, - 1230,531,12, - 1230,530,13, - 1231,529,11, - 1012,473,28, - 1012,475,

43, - 1012,483,54, - 1011,497,59, - 1010,513,57, - 1009,530,49, - 1008,546,

36, - 1007,557,19, - 1006,561,2, - 1007,560, - 12, - 1007,551, - 23, - 1008,538,

-28, - 1009,521, - 26, - 1010,504, - 18, - 1011,489, - 5, - 1012,478,14, - 1230,532,

15, - 1009,517, - 24, - 1042,604,8, - 1029,598,2, - 1027,623, - 19, - 1026,636,

-44, - 1026,630, - 57, - 1028,608, - 51, - 1030,584, - 29, - 1031,570, - 4, - 1030,576,

22, - 996,594,13, - 993,628, - 17, - 992,647, - 52, - 992,639, - 70, - 995,608,

-62, - 997,573, - 31, - 998,554,3, - 998,563,8, - 962,593,2, - 961,618,

-19, - 960,631, - 43, - 960,625, - 57, - 962,604, - 51, - 963,579, - 29, - 964,566,

-4, - 964,572, - 24, - 948,598, - 25, - 1054,606, - 9, - 1046,603, - 19, - 1046,591,

-35, - 1046,593, - 41, - 1045,608, - 31, - 1044,620, - 15, - 1045,618, - 9, - 1028,602,

-19, - 1028,589, - 35, - 1028,592, - 40, - 1027,606, - 31, - 1026,619, - 15, - 1026,616,

-25, - 1018,603,78, - 1044,588,111, - 1030,582,105, - 1028,606,84, - 1028,620,

59, - 1028,614,46, - 1029,592,52, - 1031,567,73, - 1032,554,98, - 1032,560,

125, - 997,577,117, - 995,612,86, - 993,631,51, - 994,623,32, - 996,592,

40, - 998,557,71, - 1000,538,106, - 999,547,111, - 964,577,105, - 962,602,

84, - 961,615,59, - 961,609,46, - 963,587,52, - 965,563,73, - 966,549,

98, - 965,555,79, - 950,581,80, - 1056,589,95, - 1047,586,85, - 1048,574,

70, - 1048,577,64, - 1047,591,74, - 1046,603,89, - 1046,601,95, - 1029,585,

85, - 1030,573,70, - 1030,575,64, - 1029,590,74, - 1028,602,90, - 1028,600,

80, - 1020,587, - 23, - 905,595,50, - 858,600, - 15, - 924,610, - 21, - 910,570,

-16, - 882,602,1, - 864,606,25, - 855,605,55, - 873,554,56, - 861,576,

62, - 874,616,66, - 898,624, - 16, - 882,574,13, - 857,571, - 9, - 899,624,

23, - 879,633,81, - 892,590, - 174, - 706,689, - 165, - 730,635, - 95, - 671,592,

-44, - 670,624,48, - 664,573,110, - 666,623, - 97, - 726,749, - 154, - 787,709,

-20, - 666,775, - 85, - 778,774,128, - 617,730,77, - 734,760,138, - 830,736,

244, - 820,707,177, - 631,662,230, - 694,647,196, - 745,590, - 102,25, - 358,

-110,11, - 358, - 126,11, - 358, - 134,25, - 358, - 126,39, - 358, - 110,39, - 358,

-102,25,48, - 110,11,48, - 126,11,48, - 134,25,48, - 126,39,48,

-110,39,48, - 118,25,48, - 118,25, - 358, - 171,29, - 367, - 154,0, - 392,

-154,25, - 406, - 154,54, - 397, - 154,67, - 371, - 154,59, - 343, - 154,32, - 329,

-154,4, - 338, - 154, - 9, - 364, - 116, - 12, - 403, - 116,24, - 422, - 116,64, - 409,

-116,83, - 372, - 116,71, - 332, - 116,34, - 313, - 116, - 5, - 325, - 116, - 25, - 363,

-77,0, - 392, - 77,25, - 406, - 77,54, - 397, - 77,67, - 371, - 77,59, - 343,

-77,32, - 329, - 77,4, - 338, - 77, - 9, - 364, - 61,29, - 367, - 102,25, - 793,

-110,11, - 793, - 126,11, - 793, - 134,25, - 793, - 126,39, - 793, - 110,39, - 793,

-102,25, - 386, - 110,11, - 386, - 126,11, - 386, - 134,25, - 386, - 126,39, - 386,

-110,39, - 386, - 118,25, - 386, - 118,25, - 793, - 207, - 197, - 819, - 9, - 197, - 819,

-149,99, - 828, - 67,99, - 828, - 67,99, - 782, - 149,99, - 782, - 108, - 49, - 787,

-108, - 49, - 823, - 108, - 266, - 817, - 64, - 146, - 789, - 64, - 146, - 820, - 152, - 146, - 820,

-152, - 146, - 789, - 64, - 146, - 797, - 64, - 146, - 813, - 152, - 146, - 797, - 152, - 146, - 813,

144,25, - 793,136,11, - 793,119,11, - 793,111,25, - 793,119,39, - 793,

136,39, - 793,144,25, - 386,136,11, - 386,119,11, - 386,111,25, - 386,

119,39, - 386,136,39, - 386,127,25, - 386,127,25, - 793,144,25, - 358,

136,11, - 358,119,11, - 358,111,25, - 358,119,39, - 358,136,39, - 358,

144,25,48,136,11,48,119,11,48,111,25,48,119,39,48,

136,39,48,127,25,48,127,25, - 358,75,29, - 367,91,0, - 392,

91,25, - 406,91,54, - 397,91,67, - 371,91,59, - 343,91,32, - 329,

91,4, - 338,91, - 9, - 364,130, - 12, - 403,130,24, - 422,130,64, - 409,

130,83, - 372,130,71, - 332,130,34, - 313,130, - 5, - 325,130, - 25, - 363,

169,0, - 392,169,25, - 406,169,54, - 397,169,67, - 371,169,59, - 343,

169,32, - 329,169,4, - 338,169, - 9, - 364,185,29, - 367,34, - 197, - 819,

232, - 197, - 819,92,99, - 828,174,99, - 828,174,99, - 782,92,99, - 782,

133, - 49, - 787,133, - 49, - 823,133, - 266, - 817,177, - 146, - 789,177, - 146, - 820,

89, - 146, - 820,89, - 146, - 789,177, - 146, - 797,177, - 146, - 813,89, - 146, - 797,

89, - 146, - 813

);

pindex3: array [0..numFaces3*3-1] of integer = {plane index: 3 points = 1 plane}

(0,1,2,0,2,3,0,3,4,

0,4,5,0,5,6,0,6,7,

0,7,8,0,8,9,0,9,10,

0,10,11,0,11,12,0,12,13,

0,13,14,0,14,15,0,15,16,

0,16,1,1,17,18,1,18,2,

2,18,19,2,19,3,3,19,20,

3,20,4,4,20,21,4,21,5,

5,21,22,5,22,6,6,22,23,

6,23,7,7,23,24,7,24,8,

8,24,25,8,25,9,9,25,26,

9,26,10,10,26,27,10,27,11,

11,27,28,11,28,12,12,28,29,

12,29,13,13,29,30,13,30,14,

14,30,31,14,31,15,15,31,32,

15,32,16,16,32,17,16,17,1,

17,33,34,17,34,18,18,34,35,

18,35,19,19,35,36,19,36,20,

20,36,37,20,37,21,21,37,38,

21,38,22,22,38,39,22,39,23,

23,39,40,23,40,24,24,40,41,

24,41,25,25,41,42,25,42,26,

26,42,43,26,43,27,27,43,44,

27,44,28,28,44,45,28,45,29,

29,45,46,29,46,30,30,46,47,

30,47,31,31,47,48,31,48,32,

32,48,33,32,33,17,33,49,50,

33,50,34,34,50,51,34,51,35,

35,51,52,35,52,36,36,52,53,

36,53,37,37,53,54,37,54,38,

38,54,55,38,55,39,39,55,56,

39,56,40,40,56,57,40,57,41,

41,57,58,41,58,42,42,58,59,

42,59,43,43,59,60,43,60,44,

44,60,61,44,61,45,45,61,62,

45,62,46,46,62,63,46,63,47,

47,63,64,47,64,48,48,64,49,

48,49,33,49,65,66,49,66,50,

50,66,67,50,67,51,51,67,68,

51,68,52,52,68,69,52,69,53,

53,69,70,53,70,54,54,70,71,

54,71,55,55,71,72,55,72,56,

56,72,73,56,73,57,57,73,74,

57,74,58,58,74,75,58,75,59,

59,75,76,59,76,60,60,76,77,

60,77,61,61,77,78,61,78,62,

62,78,79,62,79,63,63,79,80,

63,80,64,64,80,65,64,65,49,

65,81,82,65,82,66,66,82,83,

66,83,67,67,83,84,67,84,68,

68,84,85,68,85,69,69,85,86,

69,86,70,70,86,87,70,87,71,

71,87,88,71,88,72,72,88,89,

72,89,73,73,89,90,73,90,74,

74,90,91,74,91,75,75,91,92,

75,92,76,76,92,93,76,93,77,

77,93,94,77,94,78,78,94,95,

78,95,79,79,95,96,79,96,80,

80,96,81,80,81,65,81,97,98,

81,98,82,82,98,99,82,99,83,

83,99,100,83,100,84,84,100,101,

84,101,85,85,101,102,85,102,86,

86,102,103,86,103,87,87,103,104,

87,104,88,88,104,105,88,105,89,

89,105,106,89,106,90,90,106,107,

90,107,91,91,107,108,91,108,92,

92,108,109,92,109,93,93,109,110,

93,110,94,94,110,111,94,111,95,

95,111,112,95,112,96,96,112,97,

96,97,81,113,112,111,113,111,110,

113,110,109,113,109,108,113,108,107,

113,107,106,113,106,105,113,105,104,

113,104,103,113,103,102,113,102,101,

113,101,100,113,100,99,113,99,98,

113,98,97,113,97,112,117,131,145,

118,132,146,118,131,147,119,133,148,

119,132,149,132,134,150,120,125,151,

120,133,152,133,126,153,133,134,154,

114,117,155,121,135,156,121,117,157,

117,118,158,122,136,159,122,135,160,

135,137,161,135,118,162,118,119,163,

123,138,164,123,136,165,136,139,166,

136,137,167,137,140,168,137,119,169,

119,120,170,124,127,171,124,138,172,

138,128,173,138,139,174,139,129,175,

139,140,176,140,130,177,140,120,178,

120,115,179,115,125,180,130,141,181,

130,125,182,125,126,183,129,142,184,

129,141,185,141,143,186,141,126,187,

128,144,188,128,142,189,142,143,191,

127,144,193,145,131,118,117,145,118,

146,132,119,118,146,119,147,131,132,

118,147,132,148,133,120,119,148,120,

149,132,133,119,149,133,150,134,133,

132,150,133,151,125,115,120,151,115,

152,133,125,120,152,125,153,126,125,

133,153,125,154,134,126,133,154,126,

155,117,121,114,155,121,156,135,122,

121,156,122,157,117,135,121,157,135,

158,118,135,117,158,135,159,136,123,

122,159,123,160,135,136,122,160,136,

161,137,136,135,161,136,162,118,137,

135,162,137,163,119,137,118,163,137,

164,138,124,123,164,124,165,136,138,

123,165,138,166,139,138,136,166,138,

167,137,139,136,167,139,168,140,139,

137,168,139,169,119,140,137,169,140,

170,120,140,119,170,140,171,127,116,

124,171,116,172,138,127,124,172,127,

173,128,127,138,173,127,174,139,128,

138,174,128,175,129,128,139,175,128,

176,140,129,139,176,129,177,130,129,

140,177,129,178,120,130,140,178,130,

179,115,130,120,179,130,180,125,130,

115,180,130,181,141,129,130,181,129,

182,125,141,130,182,141,183,126,141,

125,183,141,184,142,128,129,184,128,

185,141,142,129,185,142,186,143,142,

141,186,142,187,126,143,141,187,143,

188,144,127,128,188,127,189,142,144,

128,189,144,142,190,144,127,192,116,

194,195,204,195,196,204,196,197,204,

197,198,204,198,194,204,194,199,200,

194,200,195,195,200,201,195,201,196,

196,201,202,196,202,197,197,202,203,

197,203,198,198,203,199,198,199,194,

199,205,200,200,205,201,201,205,202,

202,205,203,203,205,199,206,207,216,

207,208,216,208,209,216,209,210,216,

210,206,216,206,211,212,206,212,207,

207,212,213,207,213,208,208,213,214,

208,214,209,209,214,215,209,215,210,

210,215,211,210,211,206,211,217,212,

212,217,213,213,217,214,214,217,215,

215,217,211,218,219,228,219,220,228,

220,221,228,221,222,228,222,218,228,

218,223,224,218,224,219,219,224,225,

219,225,220,220,225,226,220,226,221,

221,226,227,221,227,222,222,227,223,

222,223,218,223,229,224,224,229,225,

225,229,226,226,229,227,227,229,223,

230,231,240,231,232,240,232,233,240,

233,234,240,234,230,240,230,235,236,

230,236,231,231,236,237,231,237,232,

232,237,238,232,238,233,233,238,239,

233,239,234,234,239,235,234,235,230,

235,241,236,236,241,237,237,241,238,

238,241,239,239,241,235,242,243,252,

243,244,252,244,245,252,245,246,252,

246,242,252,242,247,248,242,248,243,

243,248,249,243,249,244,244,249,250,

244,250,245,245,250,251,245,251,246,

246,251,247,246,247,242,247,253,248,

248,253,249,249,253,250,250,253,251,

251,253,247,254,255,264,255,256,264,

256,257,264,257,258,264,258,254,264,

254,259,260,254,260,255,255,260,261,

255,261,256,256,261,262,256,262,257,

257,262,263,257,263,258,258,263,259,

258,259,254,259,265,260,260,265,261,

261,265,262,262,265,263,263,265,259,

266,267,276,267,268,276,268,269,276,

269,270,276,270,266,276,266,271,272,

266,272,267,267,272,273,267,273,268,

268,273,274,268,274,269,269,274,275,

269,275,270,270,275,271,270,271,266,

271,277,272,272,277,273,273,277,274,

274,277,275,275,277,271,278,279,288,

279,280,288,280,281,288,281,282,288,

282,278,288,278,283,284,278,284,279,

279,284,285,279,285,280,280,285,286,

280,286,281,281,286,287,281,287,282,

282,287,283,282,283,278,283,289,284,

284,289,285,285,289,286,286,289,287,

287,289,283,290,291,300,291,292,300,

292,293,300,293,294,300,294,290,300,

290,295,296,290,296,291,291,296,297,

291,297,292,292,297,298,292,298,293,

293,298,299,293,299,294,294,299,295,

294,295,290,295,301,296,296,301,297,

297,301,298,298,301,299,299,301,295,

302,303,312,303,304,312,304,305,312,

305,306,312,306,302,312,302,307,308,

302,308,303,303,308,309,303,309,304,

304,309,310,304,310,305,305,310,311,

305,311,306,306,311,307,306,307,302,

307,313,308,308,313,309,309,313,310,

310,313,311,311,313,307,314,315,324,

315,316,324,316,317,324,317,318,324,

318,314,324,314,319,320,314,320,315,

315,320,321,315,321,316,316,321,322,

316,322,317,317,322,323,317,323,318,

318,323,319,318,319,314,319,325,320,

320,325,321,321,325,322,322,325,323,


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.