Тема: Разработка приложений на С, Pascal, Delphi
Глава 1. Нахождение значения интеграла с заданной точностью
1.1Способы нахождения значения определённого интеграла
1.2Программные средства языка C
1.2.1Основы объектно-ориентированного программирования
1.3Программные средства языка Pascal (версия 7.0)
1.3.2 Оператор выбора в Pascal
1.4Алгоритм программы вычисления определённого интеграла
Глава 2. Обработка результатов измерений
2.1 Теоретическая часть. Метод наименьших квадратов
2.2 Алгоритм программы обработки данных
Целью написания курсовой работы является обобщение практических знаний, полученных по курсу «Программирование на языках высокого уровня». Она содержит программные алгоритмы, которые служат для решения практических задач в области высшей математики и химии, написанные на языках, освоенных мной за время чтения курса: С++, BorlandPascal 7.0, Delphi 7.0.
В данной записке я поясняю теоретические основы использованных в курсовой работе языков программирования и некоторые теоретические основы математического анализа и химии, которые позволили мне разработать системные программы.
Глава 1. Нахождение значения интеграла с заданной точностью
Численные методы основаны на замене интеграла
I=
конечной суммой
=где
– числовые коэффициенты, – точки отрезка [a; b], k=0, 1, …, n. Приближённое равенство ≈ , «называется квадратурной формулой, коэффициенты - коэффициентами квадратурной формулы, - узлами квадратурной формулы» [5]. Отклонение от точно значения зависит от расположения узлов формулы, выбора коэффициентов и характера функции.Методы прямоугольников основаны на представлении фигуры под графиком функции в виде ступенчатой фигуры, состоящей из прямоугольников. Отрезок интегрирования делится точками
на отрезки длиной = . Затем получают значения функции в узлах формулы: и считают значение сумм ( .Отличие формул нахождения значения интеграла по методам левых, правых и средних прямоугольников состоит в том, в какой части отрезка
; ] считается значение : если в точке метод левых прямоугольников, если в – метод правых прямоугольников, если в середине отрезка – метод средних прямоугольников.Данный метод состоит в аппроксимации графика функции прямой, проходящей через конечные значения. Площадь трапеции на отрезке
; ] вычисляется по формуле = ( )Тогда значение интеграла на этом отрезке вычисляется по формуле
1.2.1 Основы объектно-ориентированного программирования
В языке С++ класс – это тип. «Класс – это собрание связанной информации, которая включает в себя данные и функции (программы для работы с данными). Эти функции в калассах называются методами. Класс – это дальнейшее развитие структур: в них так же объединяются данные разных типов. Это такой же шаблон, под который (как и под структуру) память выделяется только тогда, когда мы создаём «переменную типа этого шаблона». Класс – это конструкция, параметрически определяющая некоторую категорию объектов»[3].
Основные принципы построения классов – инкапсуляция, наследование, полиморфизм.
Инкапсуляция – принцип объединения в едином объекте данных и программ, обрабатывающих их. При этом Данные называются данными-членами, а построенные в виде функций программы, обрабатывающие их, - членами-функциями или методами.
Наследование предполагает, что все характеристики класса-родителя присваиваются классу-потомку. Некоторые из них могут переопределяться. После этого потомку добавляются новые характеристики.
Полиморфизм понимает под собой то, что «родственные объекты (происходящие от родителя) могут вести себя по-разному в зависимости от ситуации, возникающей при выполнении программы. Полиморфизм становится возможным потому, что функциям класса-родителя позволено выполняться в классе-потомке.»[3]
Структура объявления класса:
Class <имя класса>
{Private: /Имя секции. Данные и методы, помещённые в эту секцию, будут доступны только методам этого класса. Доступ к ним производным классам запрещён*/
<Приватные данные>
<Приватные конструкторы>
<Приватные методы>
Protected: /Имя секции. Данные и методы, помещённые в эту секцию, будут доступны методам этого класса и производным от него*/
<Защищённые данные>
< Защищённые конструкторы>
< Защищённые методы>
Public: /Имя секции. Данные и методы, помещённые в эту секцию, будут доступны методам всех классов*/
< Общедоступные данные>
< Общедоступные конструкторы>
< Общедоступные методы>};
Как было написано выше, методы классов представляют собой функции. Рассмотрим объявление функций в C++.
Функция – независимое множество операторов для выполнения некоторой задачи. Структура функций в С/С++:
Заголовок_функции
{Тело_функции}
В заголовке функции указываются описатель типа, имя, список параметров. Описатель типа определяет тип возвращаемого значения в вызываемую функцию. Если функция не возвращает никакого значения, то используется производный тип void. По умолчанию применяется тип int.
«Описатель типа в заголовке должен соответствовать описателю типа, используемому при объявлении данной функции.
Имя представляет собой любой идентификатор языка Си. После имени обязательны круглые скобки, независимо от того, имеет ли функция параметры.»[2]
Список параметров – это список имён переменных, которым будут ставиться в соответствие значения аргументов при обращении к функции.
Пример функции:
float spf1(float x)
{return x*x;}
Обращение к функции происходит следующим образом:
s=s+spf1(x)*h;
В данном разделе моей пояснительно записки использованы далеко не все программные средства С и С++, а только самые новые и наиболее сложные на мой взгляд.
1.3.1 Объекты в Pascal
Принципы использования и построения объектов ОПП схожи у разных языков. В Pascal, как и в С. Это наследование, инкапсуляция и полиморфизм. Поэтому я опишу только структуру объекта, который является аналогом класса в С.
Для описания объекта служит зарезервированное слово object. Описание объектов находится в разделе описания типов.
type
LevPr = object
Private
{экземпляры скрыты от пользователя}
Public
{экземпляры доступны пользователю}
end;
Как можно заметить, использование объектов в Pascal очень похоже на использование классов в С.
1.3.2 Оператор выбора в Pascal
Если предстоит выбор из нескольких (трёх и более случаев) удобно использовать не операцию if, а оператор выбора case. Операторимеетвид