на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка приложений на С, Pascal, Delphi

Разработка приложений на С, Pascal, Delphi

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

Тема: Разработка приложений на С, Pascal, Delphi

Оглавление

  • Оглавление
  • Введение
  • Глава 1. Нахождение значения интеграла с заданной точностью
    • 1.1 Способы нахождения значения определённого интеграла
      • 1.1.1 Методы прямоугольников
      • 1.1.2 Метод трапеций
    • 1.2 Программные средства языка C
      • 1.2.1 Основы объектно-ориентированного программирования
      • 1.2.2 Функции в C++
    • 1.3 Программные средства языка Pascal (версия 7.0)
      • 1.3.1 Объекты в Pascal
      • 1.3.2 Оператор выбора в Pascal
    • 1.4 Алгоритм программы вычисления определённого интеграла
    • 1.5 Тестирование программы
  • Глава 2. Обработка результатов измерений
    • 2.1 Теоретическая часть. Метод наименьших квадратов
    • 2.2 Алгоритм программы обработки данных
    • 2.3 Тестирование программы
  • Листинги программ
  • Вычисление интегралов С
  • Вычисление интегралов Pascal
  • Обработка измерений
  • Выводы
  • Список литературы
  • Приложение
  • Введение
  • Целью написания курсовой работы является обобщение практических знаний, полученных по курсу «Программирование на языках высокого уровня». Она содержит программные алгоритмы, которые служат для решения практических задач в области высшей математики и химии, написанные на языках, освоенных мной за время чтения курса: С++, Borland Pascal 7.0, Delphi 7.0.
  • В данной записке я поясняю теоретические основы использованных в курсовой работе языков программирования и некоторые теоретические основы математического анализа и химии, которые позволили мне разработать системные программы.
  • Глава 1. Нахождение значения интеграла с заданной точностью
1.1 Способы нахождения значения определённого интеграла

Численные методы основаны на замене интеграла

I=

конечной суммой

=

где - числовые коэффициенты, - точки отрезка [a; b], k=0, 1, …, n. Приближённое равенство ?, «называется квадратурной формулой, коэффициенты - коэффициентами квадратурной формулы, - узлами квадратурной формулы» [5]. Отклонение от точно значения зависит от расположения узлов формулы, выбора коэффициентов и характера функции.

1.1.1 Методы прямоугольников

Методы прямоугольников основаны на представлении фигуры под графиком функции в виде ступенчатой фигуры, состоящей из прямоугольников. Отрезок интегрирования делится точками на отрезки длиной =. Затем получают значения функции в узлах формулы: и считают значение сумм (.

Отличие формул нахождения значения интеграла по методам левых, правых и средних прямоугольников состоит в том, в какой части отрезка ; ] считается значение : если в точке метод левых прямоугольников, если в - метод правых прямоугольников, если в середине отрезка - метод средних прямоугольников.

1.1.2 Метод трапеций

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

=()

Тогда значение интеграла на этом отрезке вычисляется по формуле

1.2 Программные средства языка C

1.2.1 Основы объектно-ориентированного программирования

В языке С++ класс - это тип. «Класс - это собрание связанной информации, которая включает в себя данные и функции (программы для работы с данными). Эти функции в калассах называются методами. Класс - это дальнейшее развитие структур: в них так же объединяются данные разных типов. Это такой же шаблон, под который (как и под структуру) память выделяется только тогда, когда мы создаём «переменную типа этого шаблона». Класс - это конструкция, параметрически определяющая некоторую категорию объектов»[3].

Основные принципы построения классов - инкапсуляция, наследование, полиморфизм.

Инкапсуляция - принцип объединения в едином объекте данных и программ, обрабатывающих их. При этом Данные называются данными-членами, а построенные в виде функций программы, обрабатывающие их, - членами-функциями или методами.

Наследование предполагает, что все характеристики класса-родителя присваиваются классу-потомку. Некоторые из них могут переопределяться. После этого потомку добавляются новые характеристики.

Полиморфизм понимает под собой то, что «родственные объекты (происходящие от родителя) могут вести себя по-разному в зависимости от ситуации, возникающей при выполнении программы. Полиморфизм становится возможным потому, что функциям класса-родителя позволено выполняться в классе-потомке.»[3]

Структура объявления класса:

Class <имя класса>

{Private: /Имя секции. Данные и методы, помещённые в эту секцию, будут доступны только методам этого класса. Доступ к ним производным классам запрещён*/

<Приватные данные>

<Приватные конструкторы>

<Приватные методы>

Protected: /Имя секции. Данные и методы, помещённые в эту секцию, будут доступны методам этого класса и производным от него*/

<Защищённые данные>

< Защищённые конструкторы>

< Защищённые методы>

Public: /Имя секции. Данные и методы, помещённые в эту секцию, будут доступны методам всех классов*/

< Общедоступные данные>

< Общедоступные конструкторы>

< Общедоступные методы>};

1.2.2 Функции в C++

Как было написано выше, методы классов представляют собой функции. Рассмотрим объявление функций в C++.

Функция - независимое множество операторов для выполнения некоторой задачи. Структура функций в С/С++:

Заголовок_функции

{Тело_функции}

В заголовке функции указываются описатель типа, имя, список параметров. Описатель типа определяет тип возвращаемого значения в вызываемую функцию. Если функция не возвращает никакого значения, то используется производный тип void. По умолчанию применяется тип int.

«Описатель типа в заголовке должен соответствовать описателю типа, используемому при объявлении данной функции.

Имя представляет собой любой идентификатор языка Си. После имени обязательны круглые скобки, независимо от того, имеет ли функция параметры.»[2]

Список параметров - это список имён переменных, которым будут ставиться в соответствие значения аргументов при обращении к функции.

Пример функции:

float spf1(float x)

{return x*x;}

Обращение к функции происходит следующим образом:

s=s+spf1(x)*h;

В данном разделе моей пояснительно записки использованы далеко не все программные средства С и С++, а только самые новые и наиболее сложные на мой взгляд.

1.3 Программные средства языка Pascal (версия 7.0)

1.3.1 Объекты в Pascal

Принципы использования и построения объектов ОПП схожи у разных языков. В Pascal, как и в С. Это наследование, инкапсуляция и полиморфизм. Поэтому я опишу только структуру объекта, который является аналогом класса в С.

Для описания объекта служит зарезервированное слово object. Описание объектов находится в разделе описания типов.

type

LevPr = object

Private

{экземпляры скрыты от пользователя}

Public

{экземпляры доступны пользователю}

end;

Как можно заметить, использование объектов в Pascal очень похоже на использование классов в С.

1.3.2 Оператор выбора в Pascal

Если предстоит выбор из нескольких (трёх и более случаев) удобно использовать не операцию if, а оператор выбора case. Оператор имеет вид

case expression of

values_l: statement_l;

values_2: statement_2;

...

values_n: statement_n;

else

statement;

end;

Рассмотрим элементы этой конструкции. Во-первых, это три зарезервированных слова: case, of и end. Между case и of находится выражение expression, принимающее значение, которое, возможно, имеется в одном из списков значений, находящихся слева от двоеточий. Данное выражение называется селектором оператора case. Каждый оператор, идущий за двоеточием, отделяется от следующего списка значений точкой с запятой. Ветвь else, отвечающая всем не перечисленным значениям выражения expression, необязательна. При выполнении данного оператора вначале вычисляется значение селектора. Затем выбирается тот список значений, которому принадлежит полученное значение, и выполняется соответствующий оператор.

В списках значений оператора case допустимыми являются типы переменных, называемые скалярными, включая целые и исключая вещественные типы. Любое заданное значение селектора может входить в список значений неоднократно, но выполняться будет лишь первая подходящая ветвь. Если значение селектора отсутствует в списках значений, ни одна из альтернатив выполняться не будет. В этом случае выполняется ветвь else оператора case или (если эта ветвь отсутствует) следующий за case оператор.[4]

1.4 Алгоритм программы вычисления определённого интеграла

Блок-схема 1 Функция lpf1 Блок-схема 2 Функция lpf2

Блок-схема 4 Функция lpintegra1

Блок-схема 5 Функция lpintegralf2

Блок-схема 6. Функция lp2

Блок-схема 8 Функция ppf1 Блок-схема 7 Функция ppf2

Блок-схема 6 Функция ppintegralf1

Блок-схема 10 Функция ppintegralf2

Блок-схема 10 Функция pp1

Блок-схема 9 Функция pp2

Блок-схема 11 Функция spf1 Блок-схема 13 Функция spf2

Блок-схема 14 Функция spintegralf1

Блок-схема 12 Функция spintegralf2

Блок-схема 15 Функция sp1

Блок-схема 16 Функция sp2

Блок-схема 20 Функция trf1 Блок-схема 17 Функция trf2

Блок-схема 18 Функция trintegralf1

Блок-схема 19 Функция trintegralf2

Блок-схема 22 Функция tr1

Блок-схема 21 Функция tr2

Блок-схема 23 Главная функция

Блок-схема 24 Главная функция

Блок-схема 25 Главная функция

1.5 Тестирование программы

Для тестирования проведём интегрирование обеих функций всеми четырьмя методами и рассмотри интерфейс программы при интегрировании одной из функций одним из 4 методов.

При запуске программа задаёт вопрос пользователю, откуда взять обрабатываемые данные:

Рисунок 1 Запрос источника данных

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

Рисунок 2 Запрос метода интегрирования

Когда выбран метод вычисления интеграла, выдаётся запрос о функции, которую следует проинтегрировать:

Рисунок 3 Запрос интегрируемой функции

Рисунок 4 Запрос на сохранение результатов в файл

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

Глава 2. Обработка результатов измерений

2.1 Теоретическая часть. Метод наименьших квадратов

Рассмотрим случай линейной функции одного аргумента. Пусть из опыта получены точки:

(1)

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.