Министерство образования Республики Беларусь
Белорусский национальный технический университет
Энергетический факультет
Кафедра «ТЭС»
Курсовая работа
по дисциплине “Информатика ”
Тема: ”построение графика временной функции”
Выполнил: Лобанок Н.В
Проверил: Тарасевич Л.А
Минск 2011
CОДЕРЖАНИЕ
Введение: краткое описание среды программирования и используемых программных модулей.
Постановка задачи (условие задачи, которое выдано).
Выбор и обоснование метода просчета. (Алгоритмы расчетов: метод решения нелинейного уравнения и т.д.).
Блок-схемы метода просчета.
Листинг программы.
Результаты расчетов.
Литература.
Введение
Один из наиболее известных языков программирования. Ранее широко применялся в промышленном программировании, обучении программированию в высшей школе, является базой для ряда других языков.
Язык назван в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа.
Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.
Современные реализации языка Паскаль поддерживают модули. Программные модули могут быть двух видов: модуль главной программы, который, как обычно, начинается с ключевого слова program и тело которого содержит код, запускаемый после загрузки программы в память, и вспомогательных модулей, содержащих типы, константы, переменные, процедуры и функции, предназначенные для использования в других модулях, в том числе в главном модуле.
Постановка задачи
Задана временная функция:
y=ǀpt3+qt2+ct+k+mǀ
k – корень нелинейного уравнения x=e-x, которое нужно решить методом деления отрезка пополам с точностью ε = 10-3, при начальном значении x0=0, xk=1,
m – наименьший по абсолютному значению корень квадратного уравнения:
az2+bz+d=0
при a=1, b=-4, d=3.
Составить схему алгоритма и программу построения графика функции y, работающую как в машинном, так и в реальном времени. Реальное время в диапазоне (t0 - tkon) формируется таймером в виде программного модуля с метками Tk, называемыми временем квантования. При вычислении функции использовать алгоритм Горнера (схему Горнера).
Причем t0=0 c; tkon=115 c ; Tk = 0,25 c;
Коэффициенты:
P=1; q=cos 30°; c=sin 35°.
Таблица имен и переменных в функциях.
Переменная |
Тип |
Описание |
a,b |
Real |
Начало и конец отрезка нахождения корня |
c, x1,x0 |
Real |
Промежуточные значения корня в функциях |
Disk |
Real |
Вспомогательная переменная для нахождения дискриминанта |
g[0..4] |
Array of real |
Массив для нахождения значения функции при помощи схемы Горнера |
P,q,c |
Real |
Коэффициенты функции |
u,z |
Real |
Вспомогательные переменные для построения графика |
t0,tkon,tk |
const |
Начальное время, конечное время и время квантования |
T |
Real |
Промежуточные значения времени |
Таблица имен и переменных в основной программе.
Переменная |
Тип |
Описание |
i,j |
Integer |
Счетчики |
Cc |
Integer |
Переменная, предназначенная для выбора пункта меню |
Prexit |
Boolen |
Параметр, отвечающий за выход из меню |
Key |
Char |
Параметр, предназначенный для выбора определённого пункта меню |
GrDriver |
Integer |
Параметр, который задаёт тип видеоадаптера |
GrMode |
Integer |
Параметр, который задаёт режим видеоадаптера |
Описание методов решения нелинейного
уравнения.
Метод деления отрезка пополам.
Суть метода сводится к сужению интервала нахождения корня до заданной погрешности.
Алгоритм нахождения корня:
f(a)*f(b)<0 – проверка условия нахождения корня на отрезке [a,b];
делится отрезок [a,b] пополам c=(a+b)/2;
проверяется, на каком из отрезков [a,с] или [с,b] находится корень:
если f(a)*f(c)<0 то корень находится на [a,с],
если f(a)*f(c)>0 то корень находится на [c,b]
4) Процесс деления отрезка пополам продолжается до тех пор, пока суженный отрезок не будет меньше заданной точности eps, т.е.
|a-с|<eps
|a-b|<eps
|f(c)|<eps
Когда выполнятся вышеназванные условия, любая точка суженного отрезка будет подходить в качестве корня.