Построение графика временной функции

Программирование на алгоритмическом языке Turbo Pascal на примере разработки алгоритма и программы расчета временной функции. Выбор, обоснование методов решения. Схемы алгоритмов основной программы и подпрограмм. Распечатка исходных и вычисленных величин.

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

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

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

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКАЯ ГОСУДАРСТВЕННАЯ ПОЛИТЕХНИЧЕСКАЯ

АКАДЕМИЯ

Кафедра "ТЭС"

Реферат

ПО ДИСЦИПЛИНЕ “Информатика”

Тема: “ Построение графика временной функции“

Выполнил: студент гр.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);

uses crt;

type massiv = array [1.3,1.2] of real;

var

i: integer; {счётчик}

vyb: byte; {Для диалога}

syst: massiv; {для cсистемы уравнений}

g: real;

p, eps, x0: real; {для нелинейного уравнения}

x, w: real; {коэффициенты временной функции}

fi: byte; {угл для коэф-а v}

t, t0, tkon, tkv: real; {для функции}

j: byte; {для вывода таблицы (коорд x) }

{*************** решение системы ***************}

function sist (A: massiv): real;

var i,j: byte; {счётчики}

r1, r2: real; {решения системы}

begin

for j: = 1 to 2 do

for i: = 3 downto 1 do

A [i,j]: = A [i,j] /A [1,j];

for i: = 1 to 3 do A [i,2]: = A [i,1] - A [i,2];

r2: = A [3,2] /A [2,2];

r1: = (A [3,1] - r2*A [2,1]);

if abs (r1) >abs (r2) then sist: = r1 else sist: = r2;

end;

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

{** * решение нелинейного уравнения **************}

function nelin (fx0, feps: real): real;

var x, xpred: real;

function f (r: real): real; {Заданная функция}

begin

f: = exp (r) + ln (r) - 10*r;

end;

function fpr (r: real): real; {Её производная}

begin

fpr: = exp (r) - 10 + 1/r;

end;

begin

x: = fx0;

repeat

begin

xpred: =x;

x: = xpred - f (xpred) /fpr (xpred);

end;

until (f (x) < feps) and (abs (x-xpred) < feps);

nelin: = x;

end;

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

{************* функция **************************}

function ft (xf,wf,pf,gf,tf: real): real;

begin

ft: =abs (pf + gf + tf* (wf + tf*xf));

end;

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

BEGIN

{********** Решаем систему уравнений ************}

clrscr;

Writeln ('Решаем систему уравнений + a1z + b1v = d1 ');

Writeln (' + a2z + b2v = d2 ');

Writeln ('Введите коэффициенты a1, b1, d1, a2,. ');

for j: = 1 to 2 do

begin

for i: = 1 to 3 do

begin

gotoXY (25 + i*6, 4 + j);

read (syst [i,j]);

end;

end;

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);

Write ('w = tg (fi); введите fi (в градусах); fi = '); readln (fi);

w: = (sin (fi)) / (cos (fi));

Writeln ('');

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;

j: =0;

gotoXY (1+j, 1);

Writeln ('+-----------------------------+ ');

gotoXY (1+j,

2);

Writeln ('¦ Значение t ¦ Значение f (t) ¦ ');

gotoXY (1+j,

3);

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);

writeln (t: 5: 3);

gotoXY (18+j, i+3);

writeln (ft (x,w,p,g,t): 6: 4);

if vyb = 2 then delay (trunc (tkv*58000));

if i > 19 then

begin

gotoXY (j+1, i+4);

Writeln ('+-----------------------------+ ');

i: = - 2;

j: = j+40;

end;

t: = t + tkv; i: = i + 1;

end;

gotoXY (j+1, i+3);

Writeln ('+-----------------------------+ ');

readkey;

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г.

3. Л.А. Тарасевич - Конспект

Размещено на Allbest.ru


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

  • Составление схемы алгоритма и программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Выбор и обоснование методов расчета. Разработка основной программы. Блок-схемы алгоритмов. Распечатка листинга.

    курсовая работа [1,5 M], добавлен 21.11.2013

  • Общие сведения об алгоритмическом языке PASCAL. Схема алгоритма и программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Применение метода простой итерации, метода решения полинома на языке PASCAL.

    курсовая работа [41,5 K], добавлен 15.03.2012

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

    курсовая работа [6,2 M], добавлен 09.03.2012

  • Выбор и обоснование методов составления схемы алгоритма и разработки программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Алгоритм Горнера. Программа на языке Quick BASIC (с распечаткой листинга).

    курсовая работа [55,1 K], добавлен 21.11.2012

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

    курсовая работа [40,7 K], добавлен 18.04.2012

  • История создания и развитие языка программирования Pascal, его версии. Особенности и порядок построения графика функции на языке Turbo Pascal с использованием декартовой системы координат. Блок схема алгоритма процедур, листинг и тестирование программы.

    курсовая работа [102,7 K], добавлен 23.12.2011

  • Составление схемы алгоритма и программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Пример вычисления степенного ряда с помощью схемы Горнера. Описание переменных программы, листинг, процедуры и функции.

    курсовая работа [67,6 K], добавлен 20.11.2012

  • Оценка погрешности и точности в математике. Составление программы и алгоритма для численного дифференцирования с заданной допустимой погрешностью на алгоритмическом языке Turbo Pascal 7.0. Составление алгоритма и программы аппроксимации функции.

    курсовая работа [810,6 K], добавлен 24.03.2012

  • Составление программы на алгоритмическом языке Turbo Pascal. Разработка блок-схемы алгоритма её решения. Составление исходной Pascal-программы и реализация вычислений по составленной программе. Применение методов Рунге-Кутта и Рунге-Кутта-Мерсона.

    курсовая работа [385,0 K], добавлен 17.09.2009

  • Построение интерполяционного полинома Ньютона по значениям функции в узлах согласно методу Лагранжа. Составление алгоритмов решения задачи, их реализация на программном уровне на языке Turbo Pascal. Представление результатов работы программы Polinom.

    курсовая работа [667,9 K], добавлен 01.10.2010

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