- •Методические указания
- •"Численные методы"
- •Лабораторная работа №1. Тема: “Табулирование функции в заданном диапазоне аргумента”.
- •Краткое теоретическое введение. Общие правила вычислений на эвм
- •Вычисление математических функций, отсутствующих в языке программирования.
- •Задание на работу:
- •Контрольные вопросы.
- •Лабораторная работа № 2
- •Краткое теоретическое введение.
- •Задание на работу.
- •Контрольные вопросы
- •Лабораторная работа n 3. Тема: ”Решение алгебраических и трансцендентных уравнений”.
- •Краткое теоретическое введение Алгоритм уточнения корня методом половинного деления
- •Алгоритм уточнения корня методом хорд
- •Алгоритм уточнения корня методом касательных
- •Метод последовательных приближений (итераций)
- •Задание на работу
- •Контрольные вопросы.
- •Лабораторная работа №4 Тема: ”Решение систем алгебраических линейных уравнений”.
- •Краткое теоретическое введение Алгоритм метода Гаусса
- •Правило Крамера
- •Метод итераций и метод Зейделя
- •Задание к работе
- •Контрольные вопросы
- •Лабораторная работа № 5 Тема: «Вычисление определенного интеграла численными методами».
- •Краткое теоретическое введение Формула прямоугольников
- •Формула трапеций
- •Формула Симпсона
- •Задание на работу:
- •Контрольные вопросы
- •Лабораторная работа № 6
- •Краткое теоретическое введение
- •Задание на работу.
- •Контрольные вопросы
- •Лабораторная работа № 7 Тема: “Решение задач интерполяции и экстраполяции”.
- •Краткое теоретическое введение.
- •Задание к работе
- •Контрольные вопросы
- •Лабораторная работа № 8. Тема: “Статистическая обработка результатов эксперимента”.
- •Задание к работе:
- •Контрольные вопросы
- •Лабораторная работа № 9 Тема: “Внутренняя сортировка”.
- •Краткое теоретическое введение Сортировка простыми включениями
- •Сортировка простым выбором
- •Сортировка простым обменом
- •Сортировка включениями с убывающим приращением
- •Сортировка с разделением
- •Контрольные вопросы
- •Лабораторная работа № 10 Тема: “Внешняя сортировка“.
- •Контрольные вопросы.
- •Лабораторная работа № 11. Тема:“Поиск и выбор“.
- •Краткое теоретическое введение Алгоритмы последовательного поиска
- •Поиск в упорядоченной таблице
- •Бинарный поиск
- •Фибоначчиев поиск
- •Контрольные вопросы.
- •Список рекомендованной литературы
Проверки (сопоставление) в области чисел, имеющих дробную часть (т.е., вещественных чисел, или чисел с плавающей точкой). Кроме того, в формулах и других выражениях в инженерных и научных расчетах обычно используются иррациональные числа (например, , е (основание натурального логарифма),
,
и пр.). При программировании проверок,
связанных с критическими точками,
необходимо помнить, что эти числа
представляются в ЭВМ неточно в связи
с ограниченными размерами разрядной
сетки. Поэтому необходимо вводить
понятие точности вычислений и машинного
нуля (см. лекционный материал).
Вычисление математических функций, отсутствующих в языке программирования.
В языке Паскаль явно отсутствуют функции tg(x), ctg(x), arcsin(x), arcos(x),arcctg(x). Для их вычислений пользуются стандартными функциями sin(x), cos(x), arctg(x), следующим образом:
|
|
|
Задание на работу:
Составить блок-схему и программу на языке Турбо-Паскаль, которая табулирует функцию Y=f(x) в диапазоне аргумента от Хн до Хк с шагом h (или Х задан в виде массива).
По запуску программы и перед выходом из нее запустить соответственно процедуры "Заставка" (для выдачи на экран заставки с фамилией автора и темы работы) и "Окончание работы". Кроме того, для вычисления функций sinx, cosx, expx, lnx, arctgx, arccosx, arcsinx необходимо воспользоваться соответствующими рядами, а для вычисления tgx - sinx/cosx.
Вид функции Y=f(x) выбрать самостоятельно в виде дроби с учетом наличия в ней как минимум 7 функций, указанных в пункте 3 (в двух из них аргумент должен быть показательной функцией от х; остальные две функции должны быть возведены в степень), корней четной и нечетной степени. Значение функций sinx, cosx и др. вычислять с точностью, задаваемой при вводе, например 0.000001 .
В процессе табуляции выводить проверочное значение функции f(x), воспользовавшись стандартными функциями Borland Pascal версии 7.0 .
Результаты вывести в виде, удобном для восприятия.
Содержание отчета: титульный лист, тема и цель работы, № варианта задания и собственно задание, описание типов функциональных рядов по методам вычислений, определение типа заданного ряда, математическая постановка задачи и определение области допустимых значений (ОДЗ), блок-схема алгоритма, текст программы и результаты её работы. Работу программы студент обязан показать на ПЭВМ.
Контрольные вопросы.
Типы подпрограмм в Паскале. Отличие процедуры от функции.
Смысл использования передачи параметров в процедуры по значению.
Смысл использования передачи параметров в процедуры по адресу.
Каким образом можно передать в процедуру массив?
Структура подпрограммы-функции в Borland Pascal.
Какая программа называется циклической?
С помощью каких операторов можно организовать циклическую программу на языке Borland Pascal 7.0.?
Структура и типы условных операторов в языке Borland Pascal 7.0.
Структура оператора вывода.
Лабораторная работа № 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.
Из приведенных примеров видно, что алгоритм вычисления суммы членов некоторого функционального ряда относится к сложной циклической структуре с вложенным циклом. Внутренний цикл вычисляет сумму ряда при фиксированном параметре х, а внешний - организует изменение параметра х.
