Алгоритм и программа для построения графика временной функции
Блок-схема алгоритма поиска корня уравнения 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,
Подобные документы
Использование повторяющегося процесса. Нахождение решения за определенное количество шагов. Применение метода хорд и метода простой итерации. Методы нахождения приближенного корня уравнения и их применение. Построение последовательного приближения.
курсовая работа [849,1 K], добавлен 15.06.2013Изучение численных методов решения нелинейных уравнений, используемых в прикладных задачах. Нахождение корня уравнения методом простой итерации и методом касательных (на примере уравнения). Отделение корней графически. Программная реализация, алгоритм.
курсовая работа [1,7 M], добавлен 15.06.2013Применение методов касательных (Ньютона) и комбинированного (хорд и касательных) для определения корня уравнения. Разработка алгоритма решения и его описание его в виде блок-схем. Тексты программ на языке Delphi. тестовый пример и результат его решения.
курсовая работа [923,7 K], добавлен 15.06.2013Методы решения нелинейных уравнений: прямые и итерационные. Методы решения трансцендентных, алгебраических уравнений. Метод деления отрезка пополам, Ньютона, простой итерации. Поиск корня уравнения методом простой итерации с помощью электронных таблиц.
контрольная работа [2,4 M], добавлен 16.12.2011Решение нелинейного уравнения шаговым методом, методом половинного деления, методом Ньютона и простой итерации с помощью программы Mathcad. Разбиение промежутка на число n интервалов. Условия сходимости корня. Составление программы для решения на С++.
лабораторная работа [207,5 K], добавлен 10.05.2012Тестирование модуля отыскания корня уравнения методом половинного деления. Схема алгоритма тестирующей программы. Численное интегрирование по методу Симпсона с оценкой погрешности по правилу Рунге. Проверка условий сходимости методов с помощью MathCAD.
курсовая работа [1,1 M], добавлен 04.02.2011Особенности точных и итерационных методов решения нелинейных уравнений. Последовательность процесса нахождения корня уравнения. Разработка программы для проверки решения нелинейных функций с помощью метода дихотомии (половинного деления) и метода хорд.
курсовая работа [539,2 K], добавлен 15.06.2013Разработка программы для расчета корня уравнения в определенном отрезке, по количеству итераций. Рисование в окне консоли на языке программирования C++. Реализация вывода графика функции и корня уравнения. Математическая модель и алгоритм решаемой задачи.
курсовая работа [521,3 K], добавлен 09.07.2017Разработка программного обеспечения для решения нелинейного уравнения методом деления отрезка пополам, методом деления Гаусса. Алгоритм определения и методика уточнения корней. Составление и тестирование программы, ее листинг и оценка эффективности.
контрольная работа [638,0 K], добавлен 16.12.2013Методика разработки программного модуля для нахождения методом хорд корня уравнения x3-x-0,3=0 с точностью до 0,001 на языке программирования Visual Basic for Application. Схема программного модуля и описание процедуры обработки кнопки "Найти корни".
курсовая работа [394,0 K], добавлен 08.09.2010