Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач информатика.doc
Скачиваний:
3
Добавлен:
08.08.2019
Размер:
167.94 Кб
Скачать

Министерство образования Республики Беларусь

Белорусский национальный технический университет

Энергетический факультет

Кафедра «ТЭС»

Курсовая работа

по дисциплине “Информатика

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

Выполнил: Лобанок Н.В

Проверил: Тарасевич Л.А

Минск 2011

CОДЕРЖАНИЕ

  1. Введение: краткое описание среды программирования и используемых программных модулей.

  2. Постановка задачи (условие задачи, которое выдано).

  3. Выбор и обоснование метода просчета. (Алгоритмы расчетов: метод решения нелинейного уравнения и т.д.).

  4. Блок-схемы метода просчета.

  5. Листинг программы.

  6. Результаты расчетов.

  7. Литература.

Введение

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

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

Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.

Современные реализации языка Паскаль поддерживают модули. Программные модули могут быть двух видов: модуль главной программы, который, как обычно, начинается с ключевого слова 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

Параметр, который задаёт режим видеоадаптера

Описание методов решения нелинейного

уравнения.

Метод деления отрезка пополам.

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

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

  1. f(a)*f(b)<0 – проверка условия нахождения корня на отрезке [a,b];

  2. делится отрезок [a,b] пополам c=(a+b)/2;

  3. проверяется, на каком из отрезков [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

Когда выполнятся вышеназванные условия, любая точка суженного отрезка будет подходить в качестве корня.