Численное интегрирование методом прямоугольников

Обзор элементов языка программирования Паскаль, решение задач путем использования численных методов на компьютере. Алгоритм нахождения интеграла функции с помощью метода прямоугольников. Комплекс технических средств, необходимых для решения задачи.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 07.06.2010
Размер файла 36,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

13

Содержание

  • График выполнения курсового проекта
    • Введение
    • Общая часть. Обзор элементов языка программирования
    • Специальная часть. Общая постановка задачи
    • Организация производства. Комплекс технических средств, необходимый для решения задачи
    • Заключение
    • Список литературы

График выполнения курсового проекта

№ п/п

Наименование работы

Сроки исполнения

1

Вводный инструктаж. Выдача заданий. Общая постановка задачи.

24.11

2

Составление плана работы.

25.11

3

Анализ программных средств.

27.11

4

Описание набора данных

29.11

5

Составление алгоритма работы программы.

1.12

6

Организация ввода-вывода данных.

2.12

7

Создание заставки программы.

4.12

8

Организация меню.

6.12

9

Описание проблемной процедуры.

8.12

10

Разработка блок-схемы проблемной процедуры.

9.12

11

Разработка алгоритма проблемной процедуры.

11.12

12

Отладка проблемной процедуры.

13.12

13

Тестирование проблемной процедуры.

18.12

14

Исправление ошибок проблемной процедуры.

20.12

15

Обработка дополнительных процедур.

22.12

16

Отладка дополнительных процедур.

22.12

17

Тестирование дополнительных процедур.

23.12

18

Отладка программного комплекса.

24.12

19

Тестирование программного комплекса.

25.12

20

Исправление ошибок программного комплекса.

26.12

21

Оформление интерфейса программы.

27.12

22

Окончательное оформление программы.

27.12

23

Оформление пояснительной записки.

28.12

24

Защита курсового проекта.

29.12

Введение

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

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

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

Общая часть. Обзор элементов языка программирования

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

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

Формат описания процедуры:

Procedure <Имя процедуры> (<Имя форм. параметра 1>: <Тип>;

< Имя форм. параметра 2>: <Тип>?);

<Раздел описаний> Begin <Тело процедуры> End;

Раздел описаний может иметь такие же подразделы, как и раздел описаний основной программы (описание процедур и функций - в том числе). Однако все описанные здесь объекты "видимы" лишь в этой процедуре. Они здесь локальны также, как и имена формальных параметров. Объекты, описанные ранее в разделе описаний основной программы и не переопределенные в процедуре, называются глобальными для этой подпрограммы и доступны для использования.

Формат описания функции:

Function <Имя функции> (<Имя форм. параметра 1>: <Тип>;

< Имя форм. параметра 2>: <Тип>?): <Тип результата>;

<Раздел описаний> Begin <Тело функции> End;

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

Структура данных файл в зависимости от типа элементов делится на типизированные, текстовые и нетипизорованные файлы.

Текстовые файлы - это файл последовательного доступа и в которых:

а) информация представлена в текстовом виде посредством символов из набора ASCII;

б) информация может разделяться на строки произвольной длины. Признаком конца строки служат два специальных символа #10 и #13;

в) в конце файла присутствует символ #26;

Стандартные процедуры и функции для работы с текстовыми файлами

1. ReadLn (var F: Text)

Процедура осуществляет переход к началу следующей строки, т.е. пропускает все символы текущей строки.

2. WriteLn (var F: Text)

Процедура записывает символ "Конец строки" в текстовый файл.

3. EOLN (var F: Text): Boolean

Функция возвращает TRUE, если в файле F найден символ "Конец строки" или символ "Конец файла" и FALSE - в противном случае.

Замечание. С символом EOLN оперируют следующие процедуры:

процедура WriteLn (F) записывает символ "Конец строки" (EOLN) в компонент файла, на который установлен указатель файла;

процедура ReadLn (F) пропускает оставшуюся часть текущей строки и устанавливает указатель файла на первый символ новой строки.

4. EOF (var F: Text): Boolean

При работе с текстовым файлом функция возвращает результат TRUE, если указатель файла расположен в позиции символа "Конец файла" ("CTRL"+"Z") и FALSE - в противном случае.

5. SeekEOLN (var F: Text): Boolean

Аналогична функции EOLN, но пропускает символы "Пробел" перед проверкой на достижение символа "Конец строки".

6. SeekEOF (var F: File): Boolean

Аналогична функции EOF, но пропускает символы "Пробел" и символы "Конец строки" перед проверкой на достижение символа "Конец файла".

В. Нетипизированные файлы

Эти файлы состоят из компонентов одинакового размера, структура которых неизвестна или не имеет значения. Такие файлы применяются, в частности, или в процедурах копирования, или при обработке файлов базы данных.

Описание нетипизированного файла: var F: File;

Для обработки файлов без типа применяют те же функции, что и для файлов с типом (т.е. функции EOF, FileSize, FilePos).

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

Типизированный файл - это файл, состоящий из последовательности элементов (называемых компонентами) одного типа. Количество компонентов файла при задании файла не ограничивается.

Так как все компоненты файла имеют одинаковую "длину", то позиция каждого компонента в файле может быть вычислена.

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

Не допускается использование файловых переменных в операторах присваивания и в выражениях. Над файлами можно выполнять два явных вида действий:

1. Создание файла. Оно выполняется в результате добавления новых компонент в конец первоначально пустого файла. В процессе создания новые значения разрешается записывать только в конец файла;

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

Начать писать в файл можно только с самого его начала, дописывая новые компоненты последовательно одну за другой; для чтения также надо начинать просмотр файла с самого начала. Вследствие такой организации на одном просмотре файла нельзя совмещать и чтение, и запись информации: можно либо только читать из файла, либо только писать в файл. Однако, работая с различными файлами A и B, можно одновременно читать файл A и писать в файл B (и наоборот).

Все остальные действия над файлами последовательного доступа являются композицией его просмотра и создания.

Условные операторы предназначены для изменения порядка выполнения инструкций программы, в соответствии с некоторым условием.

IF условие THEN оператор 1 ELSE оператор 2; (полная форма)

Блок-схема:

Добавление к конструкции служебного слова ELSE позволяет выполнить определенные действия в случае, когда условие не выполняются.

Циклы с параметром.

При использовании цикла со счетчиком следует задать переменную-счетчик. При этом надо помнить, что тип такой переменной должен быть скалярным: Integer, Char, Boolean, перечисляемый тип.

For <начальное значение счетчика> To <конечное значение> Do <тело цикла>;

Счетчик меняется от меньшего к большему с шагом 1

For <начальное значение счетчика> Downto <конечное значение> Do <тело цикла>; Счетчик меняется от большего к меньшему с шагом - 1

Специальная часть. Общая постановка задачи

Решение задачи численного интегрирования методом прямоугольников.

Описание программ комплекса.

В данной программе использованы следующие программные средства:

Модули:

Graph- подключение графического режима;

Crt - подключение текстового режима;

Файлы:

rezyltat. txt - результаты вычислений.

Процедуры:

Procedure BMP, BMP2, BMP 3- Выводит 256-цветный точечный рисунок;

Zastavca-вывод заставки на экран;

Макро блок-схема комплекса

Таблица идентификаторов комплекса.

Переменные

тип

Значения

1

a

string

Массив для хранения пункта меню

2

Gm, gd

integer

Переход в графический режим

3

k

integer

Выбор пункта меню

4

f

text

Текстовый файл

5

n

integer

количество отрезков

6

i

integer

Параметр цикла

7

s

real

Вычисление конечного результата

8

a

real

нижний предел интегрирования

9

b

real

верхний предел интегрирования

10

x

real

Аргумент функции

11

h

real

Шаг интегрирования

12

x, y

integer

Координаты вывода меню

13

с

char

Запоминает код нажатой клавиши

Структура записей файлов.

Постановка проблемной программы (процедуры).

Проблемной программой является процедура вывода на экран 256-цветного точечного рисунка.

Описание проблемной программы.

procedure BMP; (Процедура вывода на экран 256-цветного точечного рисунка)

var f: file of byte; (Раздел описания переменных)

x,y, i,Gd,Gm: integer;

c: byte;

begin

Gd: =Detect; (Определяет тип графического режима (номер драйвера))

InitGraph (Gd, Gm, ' '); (Устанавливает графический режим экрана)

If GraphResult <> grOk Then Halt (1);

assign (f,'tityl. bmp'); (Связывает файл с файловой переменной)

reset (f); (Открывает файл для чтения)

for i: =0 to 1077 do (Переход на 1077 позицию)

read (f,c); (ввод данных)

for y: =479 downto 0 do

for x: =0 to 639 do

begin

read (f,c); (Считывает информацию с файла)

putpixel (x,y,c); (Вывод рисунка)

end;

readkey; (Ожидание нажатия клавиши)

close (f); (Закрывает файл)

closegraph; (Закрывает графический режим экрана)

end;

Блок-схема проблемной программы.

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

Системные требования:

Операционная система MS DOS или Windows 98-XP.

Среда программирования Turbo Pascal 7.0.

Инструкция пользователю по работе с программой.

Для функционирования Pascal 7.0, так как приложение написано в этом режиме. Сама программа установки не требует, необходимо скопировать файлы в папку Turbo Pascal.

Запуск программы осуществляется автоматически при её открытии.

Для вычисления интеграла необходимо выбрать метод его вычисления из предложенного списка.

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

Данная программа вычисляет значение интеграла функции. Интервал интегрирования вводятся пользователем. Программа вычислит результат и выдаст его (в числовом виде) на экран монитора.

Заключение

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

Подводя итог своего труда, хочу сказать, что я выполнила почти все поставленные цели.

Программа приближенно вычисляет определенный интеграл с помощью метода прямоугольников. Метод прямоугольников обладает высокой скоростью вычисления, но меньшей точностью.

Список литературы

1. Немнюгин С.А. Turbo PASCAL С-П Изд-во Питер 2000.

2. Фаронов В.В. Turbo Pascal 7.0. М. "Нолидж", 1999

3. Семакин И.Г., Шестаков А.П. Основы программирования Москва Из-во "Академия" 2007

4. Васюкова Р.Д., Практикум по основам программирования, Язык ПАСКАЛЬ, М, ВШ, 1991

5. Новичков В.С., Алгоритмические языки в техникуме, ПАСКАЛЬ, М, 1990

6. Культин Н. Turbo Pascal в задачах и примерах Санкт - Петербург "БХВ - Петербург" 2007

7. А.И. Марченко, Л.А. Марченко. Программирование в среде Turbo Pascal 7.0 Москва из-во "Юниор" 1997

8. Кирнос В.И. Язык Паскаль и численные методы. Из-во "Келеш-2030" 2004.


Подобные документы

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

    курсовая работа [398,5 K], добавлен 25.01.2010

  • Выбор математической модели задачи. Применение численного интегрирования и его методы: прямоугольников, парабол, увеличения точности, Гаусса и Гаусса-Кронрода. Суть математического метода аппроксимации. Интерполяционные методы нахождения значений функции.

    курсовая работа [172,4 K], добавлен 08.04.2009

  • Применения численного интегрирования. Интерполяционные методы нахождения значений функции. Методы прямоугольников, трапеций и парабол. Увеличение точности, методы Гаусса и Гаусса-Кронрода. Функциональные модели и программная реализация решения задачи.

    курсовая работа [450,9 K], добавлен 25.01.2010

  • Разработка программы, которая по заданной самостоятельно функции будет выполнять интегрирование методом прямоугольников. Блок-схема алгоритма вычисления интеграла (функция rectangle_integrate). Экспериментальная проверка программы, ее текст на языке C.

    курсовая работа [232,0 K], добавлен 27.05.2013

  • Решение нелинейного уравнения: отделение корней и уточнение корня по методу хорда. Численное интегрирование: метод входящих прямоугольников. Вычисление площади криволинейной трапеции с разбивками. Решение примера методом интегрирования по частям.

    курсовая работа [197,9 K], добавлен 20.01.2009

  • Методы левых и правых прямоугольников численного интегрирования для вычисления интегралов. Геометрический смысл определённого интеграла. Программная реализация, блок-схемы алгоритмов. Результат работы тестовой программы. Решение задачи с помощью ЭВМ.

    курсовая работа [180,4 K], добавлен 15.06.2013

  • Решение нелинейного уравнения. Отделение корней - исследование количества, характера и расположения корней, нахождение их приближенных значений. Уточнение корня до заданной степени точности. Численное интегрирование и квадратурные формулы прямоугольников.

    курсовая работа [51,9 K], добавлен 04.02.2009

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

    контрольная работа [71,7 K], добавлен 13.02.2016

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

    курсовая работа [290,9 K], добавлен 05.12.2008

  • MPI - библиотека передачи сообщений на языке программирования C/C++, ее переносимость, стандартизация, эффективная работа, функциональность. Форматы фактических вызовов MPI. Метод прямоугольников для приближенного вычисления определенного интеграла.

    курсовая работа [286,0 K], добавлен 20.06.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.