Построение графика временной функции
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ
БЕЛАРУСЬ
БЕЛОРУССКАЯ ГОСУДАРСТВЕННАЯ
ПОЛИТЕХНИЧЕСКАЯ
АКАДЕМИЯ
Кафедра "ТЭС"
Реферат
ПО ДИСЦИПЛИНЕ “Информатика”
Тема: “ Построение графика временной
функции“
Выполнил: студент гр.106410
Мойсеня Е.
Руководитель: Кононенко З.И.
МИНСК 2011
Содержание
Введение
1. Выбор и обоснование методов решения
1.1 Метод Ньютона
1.2 Схема Горнера
2. Разработка схем алгоритмов основной программы и подпрограмм
2.1 Таблица имён переменных
2.2 Схемы алгоритмов подпрограмм
2.3 Схема алгоритма основной программы
2.4 Компоновка программы пользователя и распечатка листинга
программы
3. Результат расчета
3.1 Распечатка исходных величин
3.2 Распечатка вычисленных величин
Список используемых источников
Введение
С началом глобальной компьютеризации появилась возможность
упростить решение однотипных задач.
Интенсивное развитие технологических процессов тесно связано
с применением электронной техники, и особенно цифровых вычислительных машин.
Поэтому при обучении инженеров - теплоэнергетиков особое внимание должно
уделяться компьютерной подготовке. Инженер должен уметь "общаться" с
ЭВМ, работать на ней, знать основы программирования на алгоритмических языках,
уметь использовать ЭВМ в своей будущей профессиональной деятельности.
В современном учебном процессе знание вычислительной техники
и программирования также необходимы, поскольку ряд специальных дисциплин,
учебных, курсовых и дипломных проектов выполняются на алгоритмических языках,
одним из которых и является PASCAL.
PASCAL считается языком высокого уровня, на котором
можно выполнять многочисленные операции.
Целью курсового проекта является закрепление навыков
программирования на алгоритмическом языке TURBO PASCAL на примере разработки
алгоритма и программы расчета временной функции.
1.
Выбор и обоснование методов решения
1.1
Метод Ньютона
Метод Ньютона используется для решения нелинейных уравнений.
Метод основан на последовательном приближении к корню уравнения при заданных
начальных условиях: начальное приближение и точность вычисления. В методе
Ньютона осуществляется экстраполяция с помощью касательной к кривой в данной
точке. В основе метода лежит разложение функции по формуле Тейлора. Члены,
содержащие h
во второй и более высоких степенях, отбрасываются. Для нахождения корня
используется соотношение xn+1 = xn + h. Предполагается, что
переход от xn к xn+1 приближает значение
функции к нулю.
h = - f (x) /f’ (x)
тогда
xn+1 = xn - f (x) /f’ (x)
Геометрически метод Ньютона эквивалентен замене небольшой
дуги y=f (x) касательной, проведенной
в некоторой точке кривой.
1.2
Схема Горнера
Существует много методов для решения полиномов на языке PASCAL. Один из этих методов -
разложение полинома по схеме Горнера. Полином
f (x) = a0 + a1t + + a2t2+ a3t3+ a4t4+ … + antn
по схеме Горнера представляется в виде
f (x) = a0 + t (a1 + t (a2
+t (a3 +… + t (an-1 + t an) …)))
Данное разложение полинома удобно тем, что в нём отсутствует
возведение в степень, что значительно ускоряет вычисление полинома.
2.
Разработка схем алгоритмов основной программы и подпрограмм
2.1
Таблица имён переменных
Иден.
|
Наименование
|
I, j
|
Счётчик
|
x, w, p, g
|
Коэффициенты
временной функции
|
Fi
|
Угол для
вычисления коэффициента w
|
T
|
Время
|
t0, tkon, tkv
|
Время:
начальное, конечное, квантования
|
syst
|
Массив коэффициентов
системы уравнений
|
r1, r2
|
Корни системы
|
x0
|
Начальное
приближение
|
eps
|
Точность
вычисления корня
|
x, xpred
|
Последующее и
предыдущее приближение корня
|
* Примечание.
В подпрограммах к идентификаторам данных переменных
добавляется буква f.
алгоритм программа график функция
2.2 Схемы алгоритмов подпрограмм
Функция решения системы уравнений:
Решение нелинейного уравнения
Временная функция
2.3
Схема алгоритма основной программы
2.4
Компоновка программы пользователя и распечатка листинга программы
{программу подготовил студент группы 106410}
{Мойсеня Е. }
Program var_18 (moisenja);crt;
type massiv = array [1.3,1.2] of real;: integer;
{счётчик}: byte; {Для диалога}: massiv; {для cсистемы уравнений}: real;, eps,
x0: real; {для нелинейного уравнения}, w: real; {коэффициенты временной функции}
fi: byte; {угл для коэф-а v}
t, t0, tkon, tkv: real; {для функции}
j: byte; {для вывода таблицы (коорд x) }
{*************** решение системы
***************}sist (A: massiv): real;i,j: byte; {счётчики}1, r2: real; {решения системы}
beginj: = 1 to 2 doi: = 3 downto 1 do[i,j]: = A
[i,j] /A [1,j];i: = 1 to 3 do A [i,2]: = A [i,1] - A [i,2];: = A [3,2] /A
[2,2];: = (A [3,1] - r2*A [2,1]);abs (r1) >abs (r2) then sist: = r1 else
sist: = r2;;
{**************************************************}
{** * решение нелинейного уравнения
**************}nelin (fx0, feps: real): real;x, xpred: real;f (r: real): real;
{Заданная функция}: = exp (r) + ln (r) - 10*r;;fpr (r: real): real; {Её
производная}: = exp (r) - 10 + 1/r;;: = fx0;: =x;: = xpred - f (xpred) /fpr
(xpred);;(f (x) < feps) and (abs (x-xpred) < feps);: = x;;
{*************************************************}
{************* функция
**************************}ft (xf,wf,pf,gf,tf: real): real;: =abs (pf + gf +
tf* (wf + tf*xf));;
{*************************************************}
BEGIN
{********** Решаем систему уравнений ************}
clrscr;
Writeln ('Решаем систему уравнений + a1z + b1v = d1 ');
Writeln (' + a2z + b2v = d2 '); ('Введите коэффициенты a1, b1, d1, a2,. ');j: = 1 to 2
doi: = 1 to 3 do(25 + i*6, 4 + j);(syst [i,j]);;;
g: = sist (syst);
Writeln ('Наибольшее по модулю решение системы g= ',g: 4: 2);
Write ('Для продолжения любую клавишу'); readkey;
{ readln; }
{****** Решаем нелинейное уравнение ***************}
clrscr;
Writeln ('Решаем нелинейное уравнение e^ (x) +ln (x) - 10x=0 методом Ньютона ');
Write ('Вводим начальное значение x0 = '); readln (x0);
Write ('Вводим точность расчёта E = '); readln (eps);
p: = nelin (x0,eps);
Writeln ('Корень уравнения e^ (x) +ln (x) - 10x=0 x= ',p: 6: 4);
Write ('Для продолжения нажмите любую клавишу'); readkey;
{**** подготовка к выводу таблицы **************}
clrscr;
Writeln ('Сейчас происходит подготовка к выводу значений
');
Writeln ('временной функции xt^2 + wt + p + g, где ');
Writeln (' p - корень уранения e^ (x) +ln (x) - 10x=0 ');
Writeln (' m - больлший по модулю корень системы. ');
Writeln ('Ввод недостающих коэффициентов: ');
Write ('Введите x; x = '); readln (x);('w = tg
(fi); введите fi (в градусах); fi = '); readln (fi);: = (sin (fi)) / (cos
(fi)); ('');
Writeln ('Ввод параметров функции: ');
Write ('Введите начальное время t0; t0 = '); readln (t0);
Write ('Введите конечное время tkon; tkon = '); readln (tkon);
Write ('Введите время квантования tkv; tkv = '); readln (tkv);
Writeln ('');
Writeln ('В каком времени рассчитывать функцию? ');
Writeln (' 1 - если в машинном ');
Writeln (' 2 - если в реальном ');
readln (vyb);
Write ('Для вывода результатов всё готово. Нажмите
любую клавишу'); readkey;
{****** в ы в о д р е з у л ь т а т о в *************}
clrscr;: =0;(1+j, 1);('+-----------------------------+
');(1+j,
);('¦ Значение t ¦ Значение f (t) ¦ ');(1+j,
);('+------------+----------------¦ ');: = t0; i:
=1;t <= tkon do(1+j, i+3); write ('¦');(14+j, i+3); write ('¦');(31+j, i+3);
write ('¦');(4+j, i+3);(t: 5: 3);(18+j, i+3);(ft (x,w,p,g,t): 6: 4);vyb = 2
then delay (trunc (tkv*58000));i > 19 then(j+1,
i+4);('+-----------------------------+ ');: = - 2;: = j+40;;: = t + tkv; i: = i
+ 1;;(j+1, i+3);('+-----------------------------+ ');;
END.
3.
Результат расчета
3.1
Распечатка исходных величин
Начальное приближение корня нелинейного уравнения и заданная
точность:
x0=3
e=10-3
Коэффициенты квадратного уравнения:
A1=4 A2 = 2
B1=1 B2 = 1
D1=5 D2 = 7
Время (начальное, конечное, квантования):
t0=0 c
tk=20 c
tkv=1 c
X= 1
W= tg45o
3.2
Распечатка вычисленных величин
Значение t
|
Значение f
(t)
|
0.000 1.000
2.000 3.000 4.000 5.000 6.000 7.000 8.000 9.000 10.000 11.000 12.000 13.000
14.000 15.000 16.000 17.000 18.000 19.000 20.000
|
12.5265 15.1463
19.7660 26.3858 35.0056 45.6254 58.2451 72.8649 89.4847 108.1045 128.7242
151.3440 175.9638 202.5836 231.2034 261.8231 294.4429 329.0627 365.6825
404.3022 444.9220
|
Список используемых источников
1. Дембовский
Л.М. Основы диалоговых режимов работы. Уч. Пособие, БПИ
2. Вальвачев
А.Н. Программирование на языке Паскаль. Справочное пособие. Минск: В. ш. 1989г.
. Л.А.
Тарасевич - Конспект