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

ВВЕДЕНИЕ

Информатика – научная дисциплина, изучающая вопросы, связанные с поиском, сбором, хранением, преобразованием и использованием информации в самых различных сферах человеческой деятельности. Генетически информатика связана с вычислительной техникой, компьютерными системами и сетями, так как именно компьютеры позволяют порождать, хранить и автоматически перерабатывать информацию в таких количествах, что научный подход к информационным процессам становится одновременно необходимым и возможным.

Язык программирования Pascal был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском институте информатики (Швейцария). Первоначальная цель разработки языка PASCAL – необходимость инструмента «для обучения программированию как систематической дисциплине». Однако очень скоро обнаружилась чрезвычайная эффективность языка PASCAL в самых разнообразных приложениях, от решения небольших задач вычислительного характера до разработки сложных программных систем – компиляторов, баз данных, операционных систем и т.д.

К настоящему времени Pascal принадлежит к группе наиболее распространенных и популярных в мире языков программирования. Существуют многочисленные реализации языка практически для всех машинных архитектур, разработаны десятки диалектов и проблемно - ориентированных расширений языка Pascal.

1 ПРОГРАММИРОВАНИЕ

1.1 Метод половинного деления

Метод половинного деления или дихотомии (дихотомия - сопоставленность или противопоставленность двух частей целого) при нахождении корня уравнения f(x)=0 состоит в делении пополам отрезка [a; b], где находится корень. Затем анализируется изменение знака функции на половинных отрезках, и одна из границ отрезка [a; b] переносится в его середину. Переносится та граница, со стороны которой функция на половине отрезка знака не меняет.

Далее процесс повторяется. Итерации прекращаются при выполнении одного из условий: либо длина интервала [a; b] становится меньше заданной погрешности нахождения корня, либо значение функции сравнимо с погрешностью расчетов.

Алгоритм:

1) Найдем середину отрезка [a; b]: c=(a+b)/2;

2) Вычислим значения функции в точках a и c и найдем произведение

полученных значений: d=f(c)*f(a);

3) Если d>0, то теперь точкой a станет c: a=c;

если d<0, то точкой b станет c: b=c;

4) Вычислим разность a и b, сравним ее с заданной точностью: если |a-b| больше, то начинаем сначала, если нет, то корень с нужной нам точностью найден, и он равен: x=(a+b)/2.

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

1.2 Вычисление определенных интегралов. Метод трапеций

М етод трапеций — метод численного интегрирования функции одной переменной, заключающийся в замене на каждом элементарном отрезке подынтегральной функции на многочлен первой степени, то есть линейную функцию. Площадь под графиком функции аппроксимируется прямоугольными трапециями. Аппроксимация функции линейной зависимостью при интегрировании методом трапеций представлена на рисунке 1.

Рисунок 1 - Аппроксимация функции линейной зависимостью при интегрировании методом трапеций

Метод трапеций для оценки определенного интеграла. Величина определенного интеграла численно равна площади фигуры, образованной графиком функции и осью абсцисс (геометрический смысл определенного интеграла). Следовательно, найти – это значит оценить площадь фигуры, ограниченной перпендикулярами, восстановленными к графику подынтегральной функции f(x) из точек a и b, расположенных на оси аргумента x.

Для решения задачи разобьем интервал [a, b] на n одинаковых участков. Длина каждого участка будет равна h = (b - a)/n. График функции представлен на рисунке 2.

Восстановим перпендикуляры из каждой точки до пересечения с графиком функции f(x). Если заменить полученные криволинейные фрагменты графика функции отрезками прямых, то тогда приближенно площадь фигуры, а следовательно и величина определенного интеграла оценивается как площадь всех полученных трапеций. Обозначим последовательно значения подынтегральных функций на концах отрезков f0, f1, f2,..., fn и подсчитаем площадь трапеций.

Рисунок 2 - График функции f(x)

;

;

;

.

В итоге, формула получается:

,

где fi – значение подынтегральной функции в точках разбиения интервала (a,b) на равные участки с шагом h;

f0, fn – значения подынтегральной функции соответственно в точках a и b.

Проанализировав данный метод можно сделать вывод, что он является приближенным и что точность вычисления определенного интеграла повышается с уменьшением шага h (увеличением числа отрезков n). В данной работе получается, что при числе интервалов n равным 2048, площадь равна -3,13334, что является наиболее точным измерением.

Метод трапеций можно реализовать в виде процедуры или даже функции, поскольку результат вычисления определенного интеграла – скалярная величина. Параметрами программного модуля являются границы интервала (a и b) и число шагов разбиения на малые интервалы n. Для составления универсальной функции целесообразно предусмотреть вычисление подынтегральной функции f(x) во внешней процедуре – функции.

1.3 Графика на языке Pascal

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

Некоторые стандартные модули языка Turbo Pascal:

SYSTEM – системный модуль, который содержит описание всех стандартных процедур и функций языка Turbo Pascal. Этот модуль автоматически подключается к любой программе и не требует специального объявления в программе с помощью слова uses;

CRT – содержит процедуры и функции, управляющие выводом на экран в текстовом режиме (например, позволяющие устанавливать цвет фона и текста, очищать экран, помещать курсор в определенную позицию экрана), а также некоторые другие (например, управляющие звуковыми сигналами);

GRAPH – содержит процедуры и функции, управляющие работой экрана в графическом режиме (в том числе позволяющие создавать на экране изображения различных геометрических фигур, выводить на экран текстовые надписи специальными шрифтами и т. д.);

PRINTER – содержит процедуры и функции, позволяющие выводить текст на принтер.

Подключение модулей к основной программе осуществляется с помощью служебного слова uses:

uses <имена модулей>.

Имя модуля должно совпадать с именем дискового файла, содержавшего исходный текст модуля. Таким образом, служебное слово uses устанавливает связь основной программы с этим файлом. Слово uses должно следовать сразу за заголовком программы.

Begin и End – операторные скобки включающие в себя основной цикл программы.

For … to … do… - операция цикла (цикл со счетчиком). Цикл for чаще всего используются, когда заранее известно количество вычислений, которые должны быть выполнены. Здесь i:= n – начальное значение счетчика, to k – конечное значение счетчика.

ReadLn - позволяет прочитать полную строку данных из текстового файла.

1.3.1 Модуль crt

Процедуры и функции модуля CRT расширяют возможности текстового ввода и вывода на экран. Модуль присоединяется к основной программе с помощью стандартной фразы: uses CRT.

Функции модуля CRT:

ТехtMode (<режим>) - устанавливает текстовой режим;

TextColor (<цвет>) - устанавливает цвет символов;

TextBackground (<цвет>) – устанавливает цвет фона;

ClrScr - очищает экран или окно, при этом экран или окно заполняется цветом фона. Курсор устанавливается в левый верхний угол;

GotoXY (<xl>, <yl>); - помещает курсор в позицию с координатами (<xl>, <yl>) экрана или окна; <xl>, <yl> должны иметь тип byte. Если какая-либо из координат выходит за границы экрана (окна), процедура GotoXY игнорируется;

1.3.2 Модуль Graph

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

InitGraph (<драйвер>, <режим>, <путь к драйверу>); <драйвер> - переменная типа integer, задающая тип графического драйвера.

Основные процедуры модуля GRAPH:

SetColor (a: word); - устанавливает текущий цвет линий и символов. В модуле GRAPH определены такие же константы для задания цвета, как и в модуле CRT;

SetBkColor (a: word); - устанавливает цвет фона;

SetFillStyle (а, b: word); - устанавливает стиль и цвет закраски:

а - стиль закраски, b - цвет;

FloodFill (х, у, cg: integer); - закрашивает всю область вокруг точки (<х>, <у>), ограниченную линиями цвета cg;

SetLineStyle (a, b, с: word); - устанавливает стиль и толщину линии:

а - стиль линии, b — образец построения линии (может устанавливаться пользователем), с - толщина линии;

SetTextStyle (а, b, с: word); - устанавливает шрифт, стиль и размер текста;

ClearDevice - очищает экран и устанавливает текущий указатель в начало;

PutPixel (a,b,c : integer); - рисует точку цветом с в (<x>,<y>);

MoveTo (х, у: integer); - помещает графический курсор в точку с координатами (<х>, <у>) относительно окна (экрана);

LineTo (х, у: integer); - вычерчивает линию от текущего положения графического курсора до точки с координатами (<х>, <у>) относительно окна (экрана). Левый верхний угол окна (экрана) имеет координаты (0,0). Если не установлены стиль и цвет с помощью процедуры SetLineStyle, процедура чертит сплошную линию текущим цветом;

Line (х1 y1, х2, у2 :integer); - вычерчивает линию; (<xl>, <yl>) - координаты начала линии относительно окна (экрана); (<х2>, <у2>) - координаты конца линии относительно окна (экрана). Левый верхний угол окна (экрана) имеет координаты (0, 0). Если не установлены стиль и цвет с помощью процедуры SetLineStyle, процедура чертит сплошную линию текущим цветом;

LineRel (dX, dY: integer); - выводит отрезок прямой линии из текущего положения указателя в точку, заданную сдвигами по х-координате (dX) и по у-координате (dY);

Circle (x,y,r:word); - рисует окружность радиуса r с центром в точке (<x>, <y>);

OutText (text: string); - выводит текст от текущего указателя;

OutTextXY(x, у: integer, text: string); - выводит на экран текст из точки с координатами (<х>, <у>);

Str (n: integer, st: string) - преобразовывает число целого (integer) или действительного (real) типа в строчный (string) тип.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]