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

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

СОДЕРЖАНИЕ

Условие задания

Введение

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

1.1 Понятие машинного и реального времени

1.2 Дискретизация времени

1.3 Реализация временных задержек в программе

1.4 Вычисление значения многочлена методом Горнера

2 Разработка схем алгоритмов, основной программы и подпрограмм

2.1 Схемы алгоритмов подпрограмм

2.2 Схема алгоритма основной программы

3 Построение графика временной функции с распечаткой результатов

Заключение

Список использованных источников

ВАРИАНТ № 40

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

Функция:

где:

t0 = 0 с;

tкон = 5 с;

Tk = 0. 25 с;

a — корень нелинейного уравнения которое необходимо решить методом Ньютона с точностью, при начальном значении корня, лежащего в диапазоне [0. 54; 0. 62];

b — наибольший по абсолютному значению корень системы уравнения:

,

при a1 = 3; b1 = 5; d1 = 7;

a1 = 4; b1 = 9; d1 = 5.

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

k = 0; l = 1; m = cos 45є; n = (l+m);

Введение

BASIC действительно универсален. Хотя BASIC (Beginners АН-Purpose Symbolic Code -- универсальный символический код для начинающих) действительно является языком программирования для начинающих, одновременно со своими «старшими братьями», такими как СИ и ФОРТРАН, он развивается и совершенствуется. Авторы языка Джон Кемени и Томас Курц в 1975 году провели ревизию своего детища. В свете получивших широкое распространение принципов структурного программирования, они ввели в Бейсик структурные возможности, а спустя десять лет предприняли еще один, более существенный пересмотр языка, связанный с микрокомпьютерами. Сохранив все достоинства и простоту базовой версии, Д. Кемени и Т. Курц в содружестве с Американским институтом национальных стандартов (ANSI) разработали каноническую версию языка для микрокомпьютеров, на основе которой разработан транслятор современного Visual Basic.

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

1.1 Понятие машинного и реального времени

Реализацию любой программы можно проводить по двум путям: либо в темпе быстродействия ЭВМ (с учётом быстродействия языка программирования), либо в реальном масштабе времени. При этом время задержки напрямую зависит от частоты процессора, и эта программа может наиболее объективно использоваться на той ЭВМ, для которой она была написана. Машинное время является относительным, т.к. зависит от быстродействия ЭВМ, от используемого языка, от сложности алгоритма и т. д.

Моделирование в реальном времени дает возможность оценивать эффективность алгоритмов для работы в реальных системах.

1.2 Дискретизация времени

При исследовании блоков и систем во временной области на ЭВМ, в частности микроЭВМ, непрерывные процессы заменяются на дискретные. При этом временной интервал L представляется как совокупность дискретных интервалов:

,

где Tk — шаг приращения времени или период квантования по времени непрерывной функции; n — количество шагов или квантов. Количество квантов выбирается не произвольно, а исходя из максимальной частоты процесса и допустимой погрешности при моделировании.

1.3 Реализация временных задержек в программе

Можно выделить два основных способа реализации временных задержек в программе. Первый — самый простой — состоит в том, чтобы прямо указать программе, сделать паузу (например, оператором SLEEP (n) — приостанавливает работу программы на n секунд или до нажатия любой клавиши. Если n=0 или не указано, произойдет остановка программы до нажатия любой клавиши. Второй способ — реализация таймера. Таймер задает метки времени n и может работать либо в реальном времени, либо в темпе компьютера.

1.4 Вычисление значения многочлена методом Горнера

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

Идея Горнера состоит в следующем:

Общий вид полинома:

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

Y = anxn + an-1xn-1 + … + a1x +a0

Y = (a1x +a2)x+a3)x+a4)x+…)x + an+1

Отсюда следует алгоритм:

Y1=a1

Y2=a1 * X+a2

Y3=y2 * X+a3

и т.д.

Для вычисления используется формула:

Y=y*x + A (i)

2 Разработка схем алгоритмов, основной программы и подпрограмм

2.1 Описание подпрограмм

2.1.1 Подпрограмма решения нелинейного уравнения

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

/

Рисунок 2.1. 1--Подпрограмма решения нелинейного уравнения

2.1.2 Подпрограмма решения системы уравнения

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

/

Рисунок 2.1. 2--Подпрограмма решения квадратного уравнения

2.1.3 Подпрограмма вычисления значения многочлена

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

/

Рисунок 2.1. 3--Подпрограмма вычисления значения многочлена

2.1.4 Подпрограмма вывода результатов

Схема алгоритма подпрограммы вывода результатов изображена на рисунке 2.1.4.

/

Рисунок 2.1. 4--Подпрограмма вывода результатов

2.1.5 Подпрограмма временной задержки

Схема алгоритма подпрограммы временной задержки изображена на рисунке 2.1.5.

/

Рисунок 2.1. 5--Подпрограмма временной задержки

2.2. Схема алгоритма основной программы

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

Рисунок 2. 2--Основная программа

3 Построение графика временной функции с распечаткой результатов

Корень нелинейного уравнения: a = 0. 5 636 563.

Наибольший по абсолютному значению корень системы уравнения: b = 5. 428 571.

Значения временной функции:

Y (0) = 5. 992 228

при t = 0

Y (1) = 6. 478 911

при t = 0. 25

Y (2) = 7. 147 769

при t = 0. 5

Y (3) = 8. 92 549

при t = 0. 75

Y (4) = 9. 407 003

при t = 1

Y (5) = 11. 18 488

при t = 1. 25

Y (6) = 13. 51 993

при t = 1. 5

Y (7) = 16. 50 591

при t = 1. 75

Y (8) = 20. 23 656

при t = 2

Y (9) = 24. 80 563

при t = 2. 25

Y (10) = 30. 30 687

при t = 2. 5

Y (11) = 36. 83 404

при t = 2. 75

Y (12) = 44. 48 088

при t = 3

Y (13) = 53. 34 115

при t = 3. 25

Y (14) = 63. 50 859

при t = 3. 5

Y (15) = 75. 7 696

при t = 3. 75

Y (16) = 88. 13 999

при t = 4

Y (17) = 102. 7915

при t = 4. 25

Y (18) = 119. 1251

при t = 4. 5

Y (19) = 137. 2346

при t = 4. 75

Y (20) = 157. 2139

при t = 5

Заключение

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

Примечание: электронный вариант программы находится на приложенной к пояснительной записке дискете под именем «Дима. bas», а электронный вариант пояснительной записки — под именем «записка (вар. 10). doc».

Список использованных источников

1. GW-, Turbo- и QuickBasic для IBM PC. Ю. Л. Кетков. — М.: «Финансы и статистика», 1992.

2. Работа на персональном компьютере Л. Пул «Мир» М., 1986.

ПоказатьСвернуть
Заполнить форму текущей работой