Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Общие сведения. Численный расчет значений функций



Численный расчет значений функций. При использовании стандартных математических функций, «встроенных» в различные устройства и программы[7], пользователи обычно не задумываются о происхождении «выдаваемых» значений. Вместе с тем, в этом случае используются соответствующие алгоритмы расчета, обычно основывающиеся на разложении в степенной ряд[8], число членов которого определяется из требуемой точности вычислений. В учебном плане в этом смысле наиболее показательны алгоритмы вычисления т.н. «замечательных чисел», а именно: числа «пи» и основания натурального логарифма.

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

Рассмотрим разложение функции в степенной ряд:

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

Для оценки погрешности полученного приближенного значения необходимо оценить отброшенный остаток rn (x). Для этого применяют следующие приемы:

· если полученный ряд является знакочередующимся, то используется следующее свойство: для знакочередующегося ряда, удовлетворяющего условиям Лейбница, остаток ряда по абсолютной величине не превосходит первого отброшенного члена.[9]

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

Сортировка массивов данных. Под сортировкой массива подразумевается процесс перестановки элементов массива, целью которого является размещение элементов массива в определенном порядке.[10] Например, если имеется массив целых чисел а, то после выполнения сортировки по возрастанию должно выполняться условие:

а [1] < а [2] <...< a [SIZE]

где size – верхняя граница индекса массива.

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

Численные методы. В отличие от учебного процесса, при анализе и обработке экспериментальных данных в области естественных наук, при проектировании и создании инженерных разработок, аппаратов и сооружений в подавляющем большинстве случаев используются не аналитические, а численные методы решения систем уравнений различного типа, описывающие объект и/или его поведение. Объем данного пособия не позволяет рассмотреть даже небольшую часть многообразия подходов, используемых в данной области. Вместе с тем, некоторое представление об алгоритмах, используемых в численных методах, могут дать программы, приведенные ниже.

2. Пример 1: Вычисление числа π с заданной точностью. Использование оператора while.

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

1 – 1/3 + 1/5 – 1/7 + 1/9 –...

приближается к значению π/4 при достаточно большом количестве членов ряда. Каждый член ряда с номером п вычисляется по формуле: 1 / (2 ● п – 1) и умножается на минус один, если п четное (определить, является ли п четным, можно проверкой остатка от деления п на 2). Вычисление заканчивается тогда, когда значение очередного члена ряда становится меньше, чем заданная точность вычисления.

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

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

while условие do begin

// здесь инструкции, которые надо выполнить несколько раз

end

где условие – выражение логического типа, определяющее условие выполнения инструкций цикла.

1. Инструкция while выполняется следующим образом:

2. Сначала вычисляется значение выражения условие.

3. Если значение выражения условие равно False (условие не выполняется), то на этом выполнение инструкции while завершается. Если значение выражения условие равно True (условие выполняется), то выполняются расположенные между begin и end инструкции тела цикла. После этого снова проверяется выполнение условия. Если условие выполняется, то инструкции цикла выполняются еще раз. И так до тех пор, пока условие не станет ложным (False).

Рис. 20. Алгоритм оператора while

Для того чтобы цикл завершился, нужно, чтобы последовательность инструкций между begin и end влияла на значение выражения условие (изменяла значения переменных, входящих в выражение условие ). Вид диалогового окна программы во время ее работы приведен на рис. 21. Точность вычисления вводится в поле ввода (Edit1). После щелчка на командной кнопке Вычислить (Button1) программа вычисляет значение числа π и выводит результат в поле метки (Label2).

Рис. 21. Результат работы программы

Листинг программы, соответствующий инструкции while, приведен ниже. Как и в предыдущих примерах, основную работу выполняет процедура обработки события OnClick.

unit pi_;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

Editl: TEdit; // точность вычисления

Buttonl: TButton; // кнопка Вычислить

Labell: TLabel; // метка «Точность»

Label2: TLabel; // поле вывода результата

procedure ButtonlClick(Sender: TObject);





Дата публикования: 2014-10-20; Прочитано: 562 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...