Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Числ. методы (л.р.).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆
  1. Проверки (сопоставление) в области чисел, имеющих дробную часть (т.е., вещественных чисел, или чисел с плавающей точкой). Кроме того, в формулах и других выражениях в инженерных и научных расчетах обычно используются иррациональные числа (например, , е (основание натурального логарифма), , и пр.). При программировании проверок, связанных с критическими точками, необходимо помнить, что эти числа представляются в ЭВМ неточно в связи с ограниченными размерами разрядной сетки. Поэтому необходимо вводить понятие точности вычислений и машинного нуля (см. лекционный материал).

  2. Вычисление математических функций, отсутствующих в языке программирования.

В языке Паскаль явно отсутствуют функции tg(x), ctg(x), arcsin(x), arcos(x),arcctg(x). Для их вычислений пользуются стандартными функциями sin(x), cos(x), arctg(x), следующим образом:

Задание на работу:

  1. Составить блок-схему и программу на языке Турбо-Паскаль, которая табулирует функцию Y=f(x) в диапазоне аргумента от Хн до Хк с шагом h (или Х задан в виде массива).

  2. По запуску программы и перед выходом из нее запустить соответственно процедуры "Заставка" (для выдачи на экран заставки с фамилией автора и темы работы) и "Окончание работы". Кроме того, для вычисления функций sinx, cosx, expx, lnx, arctgx, arccosx, arcsinx необходимо воспользоваться соответствующими рядами, а для вычисления tgx - sinx/cosx.

  3. Вид функции Y=f(x) выбрать самостоятельно в виде дроби с учетом наличия в ней как минимум 7 функций, указанных в пункте 3 (в двух из них аргумент должен быть показательной функцией от х; остальные две функции должны быть возведены в степень), корней четной и нечетной степени. Значение функций sinx, cosx и др. вычислять с точностью, задаваемой при вводе, например 0.000001 .

  4. В процессе табуляции выводить проверочное значение функции f(x), воспользовавшись стандартными функциями Borland Pascal версии 7.0 .

  5. Результаты вывести в виде, удобном для восприятия.

Содержание отчета: титульный лист, тема и цель работы, № варианта задания и собственно задание, описание типов функциональных рядов по методам вычислений, определение типа заданного ряда, математическая постановка задачи и определение области допустимых значений (ОДЗ), блок-схема алгоритма, текст программы и результаты её работы. Работу программы студент обязан показать на ПЭВМ.

Контрольные вопросы.

  1. Типы подпрограмм в Паскале. Отличие процедуры от функции.

  2. Смысл использования передачи параметров в процедуры по значению.

  3. Смысл использования передачи параметров в процедуры по адресу.

  4. Каким образом можно передать в процедуру массив?

  5. Структура подпрограммы-функции в Borland Pascal.

  6. Какая программа называется циклической?

  7. С помощью каких операторов можно организовать циклическую программу на языке Borland Pascal 7.0.?

  8. Структура и типы условных операторов в языке Borland Pascal 7.0.

  9. Структура оператора вывода.

Лабораторная работа № 2

Тема: “Нахождение суммы ряда“.

Цель работы: освоить организацию вычисления суммы конечного числа членов функционального ряда с заданной точностью на ПЭВМ.

Краткое теоретическое введение.

Пусть задан некоторый ряд слагаемых a1(х)+a2(х)+a3(х)+...+an(x) и необходимо найти его сумму. Если слагаемые зависят от некоторого параметра Х и номера n, опреде­ляющего место этого слагаемого в ряде, то такой ряд называется функциональным.

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

Таблица1.

I

II

III

где m,n,k - целые числа;

a,b,c,d - действительные числа;

(обозначение an - a с индексом n).

1. Для вычисления члена ряда типа 1 наиболее удобно исполь­зовать рекур­рентные соотношения, т.е. последующий член ряда находить через предыдущий, что существенно сократит объем вычислительной работы, особенно при вы­числении факто­риалов.

Вычисление последующего члена ряда можно представить в виде рекуррентной формулы: А[n+1]=A[n]*G(n,x) , где G(n,x)=an+1/an .

При использовании рекуррентных формул необхо­димо определить начальное значение n, c которого выполняются рекуррентные соотно­шения, а, сле­довательно, этим определяются начальные значения (выражения для а и S).

2. Ecли формула общего члена ряда принадлежит типу II, то це­лесообразнее и эффективнее вычислять каждый член ряда по общей формуле. В за­дачах данного типа необходимо обратить внимание на определение начального значения n и началь­ное значение суммы.

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

При вычислении ряда данного вида важным моментом является выбор начального значения С,a1,n,S.

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