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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра ТЭС

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

К КУРСОВОЙ РАБОТЕ

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

Тема

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

Минск 2011

Введение

программа временная функция

Алгоритмический язык Паскаль был разработан профессором ВТУ в Цюрихе Н. Виртом. Свой алгоритмический язык он назвал в честь французского ученого Блэза Паскаля.

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

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

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

Язык Паскаль постоянно совершенствовался. Для персональных компьютеров появились революционные по своей сущности компиляторы с языка Паскаль для IBM PC (главным образом фирм Microsoft и Borland), представляющие диалоговые системы, называемые интегрированными средами (Turbo Pascal). К настоящему времени существуют ряд версий интегрированных сред языка Turbo Pascal 5.0, 5.5, 6.0, 7.0, 8.0, причем соблюдается принцип их совместимости снизу вверх.

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

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

Функция: y=

где t0=0 с, tкон=10 с, Тк=0.5 с;

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

az+bz+c= 0

При a=1,5=2=-2

Коэффициенты a = 1.5, b = 4.3, d = sin 60.

2.Описание методов решения

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

Суть метода простой итерации состоит в том, что уравнение y=f(x) заменяется на выражение x=?(x). Условие, при котором данный процесс сходится, определяется теоремой: если интервал (a;b) является интервалом изоляции корня уравнения x=?(x) и во всех точках данного интервала выполняется условие |?(x)|<1, то процесс нахождения корня данным методом будет сходящимся.

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

x1= ?(x0);

x2= ?(x1);

xn= ?(xn-1);

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

.2 Схема Горнера

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

Полином:

= a0 + a1t + a2t2+ a3t3+ a4t4+ тАж + antn

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

y = a0 + t(a1 + t(a2 +t(a3 +тАж + t(an-1 + t an)тАж)))

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

3. Таблица идентификаторов

ИдентификаторыНаименованиеa1, b1,с1Коэффициенты квадратного уравненияz1,z2Корни квадратного уравненияmНаименьший по абсолютному значению корень квадратного уравненияеТочность вычисления корняxКорень нелинейного уравненияx0Начальное приближениеtВремяyЗначение временной функции

4.Схемы алгоритмов

.1 Схема алгоритма метода простых итераций

начало

нет

да

4.2 Схема Горнера

начало

a,m,l,n

4.3 Схема основной программы

начало

Решение квадратного уравнения

Метод простых

итераций

Схема Горнера

конец

5.Текст программы

{$N+}

program Kursovoj;

uses crt,dos,graph;

=5;{ максимально возможный уровень сложности }=3;{ текущий уровень сложности }_ENTER=13;_ESC=27;=1e-3;=5; {kol-vo rezhimov}

NameRegime: array [1..k]of string[36] =

('1 - reshenie kvadratnogo yravnenija',

'2 - reshenie nelinejnogo yravnenija',

'3 - metod Gornera',

'4 - Grafik',

'5 - Vyxod');=array[1..MAXLEV]of integer;

,j : byte;,d,r,v,x,x0,a,b,a1,b1,c1,z,m:real;,t,gd,gm,h:integer;:word;zastavka;max =50;= [27,28,29,31,32,33,35,36,37,39,40,41,43,44,45,47,48,49,51,52,53];= [22,23,24,25,26];

: array[1..55,1..2] of integer =

((27,22),(27,23),(27,24),(27,25),(27,26),(28,22),(29,22),(29,23),(29,24),(29,25),(29,26),

(31,23),(31,24),(31,25),(32,22),(32,26),(33,23),(33,24),(33,25),

(35,22),(35,23),(35,24),(35,25),(35,26),(36,22),(36,24),(36,26),(37,23),(37,25),

(39,22),(40,22),(40,23),(40,24),(40,25),(40,26),(41,22),

(47,23),(47,24),(47,25),(48,22),(48,26),(49,23),(49,24),(49,25),

(51,23),(52,22),(53,23),(53,24),(52,25),(51,26),(52,26),(53,26),

(43,24),(44,24),(45,24));

matx= record: string[255];,y,l: integer;;

: array[1..max] of matx;,b,n:integer;,c2,c3: byte;

writex(x,y: integer; s: str