- •1.Предмет и задачи информатики
- •1) Теоретическая информатика:
- •2) Средства информатизации:
- •3) Информационные технологии
- •4) Социальная информатика:
- •2. Истоки и предпосылки информатики.
- •3. Структура современной информатики
- •4. Понятие информации. Носители информации. Сигналы
- •5. Количество информации. Измерение информации. Единицы измерения
- •6. Кодирование информации различных видов
- •7. Свойства информации
- •8. Устройство персонального компьютера
- •9. Основные принципы построения и работы компьютера
- •10. Понятие файла и файловой системы
- •11. Понятие информационной технологии
- •13. Основы интернета. Основные протоколы
- •14. Службы Интернета
- •15. Этапы решения задачи на эвм
- •16. Алгоритм. Свойства алгоритма
- •17. Методы проектирования алгоритмов
- •18. Способы описания алгоритмов. Основы графического способа.
- •19. Структуры алгоритмов. Основные виды вычислительных процессов. Примеры.
- •20. Алгоритмы вычисления суммы функционального ряда. Использование рекуррентных формул. Пример
- •Примеры
- •21. Поиск минимального и максимального элементов массива.
- •22. Сортировка одномерных массивов
- •23. Системы программирования и их состав.
- •24. Понятие о программировании
- •25. Понятие программного обеспечения. Классификация программного обеспечения.
- •26. Назначение операционной системы
- •27. Основные функции операционных систем
- •28. Прикладное по
- •29. Язык программирования Паскаль. Общая характеристика. Основные правила записи программ на языке Паскаль. Структура программы. Пример программы
- •6.Понятие типа данных в Турбо Паскаль
- •Простые типы данных
- •Численные (арифметические) выражения
- •Логические выражения
- •Символьные выражения
- •Составной оператор
- •30. Основные элементы языка Pascal
- •31. Понятие типа данных в Турбо Паскаль
- •Простые типы данных
- •Численные (арифметические) выражения
- •Логические выражения
- •Составной оператор
- •34. Ввод и вывод данных в Паскале.
- •Рассмотрим, для начала, Вывод данных в Паскале.
- •Рассмотрим, теперь, Ввод данных в Паскале.
- •35. Условные операторы Pascal-Паскаль
- •36. Оператор выбора Паскаля
- •37. Оператор безусловного перехода
- •38. Счетный оператор цикла или оператор цикла с параметром
- •39. Цикл с предпроверкой условия
- •40. Цикл с постпроверкой условия
- •42. Процедуры и функции
- •Описание и вызов процедур и функций
- •43. Процедуры.
- •44. Численное решение систем нелинейных уравнений
- •Методы численного решения уравнений и систем нелинейных уравнений
- •3.1. Решение нелинейных уравнений
- •3.1.2. Методы уточнения корней нелинейных уравнений
- •Тогда .
- •С погрешностью
- •Откуда при
- •Пусть тогда и
- •45. Метод половинного деления.
- •Тогда .
- •С погрешностью
- •46. Метод хорд
- •47. 52. Метод Ньютона (метод касательных)
- •48. Комбинированный метод хорд и касательных для уточнения корней нелинейных уравнений
- •49. 51. Метод простых итераций
- •50. Решение систем линейных алгебраических уравнений методом Гаусса
- •53. Метод прямоугольников
- •Составные квадратурные формулы
- •Составные формулы для равномерных сеток
- •Погрешность метода
- •Пример реализации
- •54. Метод трапеций
- •Составная формула
- •59. Интерполяцио́нный многочле́н Лагра́нжа
- •Определение
- •Применения
- •Случай равномерного распределения узлов интерполяции
- •60. Разделё́нная ра́зность
- •Определение
- •Применение
- •История
53. Метод прямоугольников
— метод численного интегрированияфункции одной переменной, заключающийся в замене подынтегральной функции на многочлен нулевой степени, то есть константу, на каждом элементарном отрезке. Если рассмотреть график подынтегральной функции, то метод будет заключаться в приближённом вычислении площади под графиком суммированием площадей конечного числа прямоугольников, ширина которых будет определяться расстоянием между соответствующими соседними узлами интегрирования, а высота — значением подынтегральной функции в этих узлах.Алгебраический порядок точностиравен 0.
Если отрезок является элементарным и не подвергается дальнейшему разбиению, значение интеграла можно найти по
Формуле левых прямоугольников:
Формуле правых прямоугольников:
|
Составные квадратурные формулы
В случае разбиения отрезка интегрирования на элементарных отрезков приведённые выше формулы применяются на каждом из этих элементарных отрезков между двумя соседними узлами. В результате, получаютсясоставные квадратурные формулы
Для левых прямоугольников:
Для правых прямоугольников:
Для средних прямоугольников:
Формулу с вычислением значения в средней между двумя узлами точке можно применять лишь тогда, когда подынтегральная функция задана аналитически, либо каким-нибудь иным способом, допускающим вычисление значения в произвольной точке. В задачах, где функция задана таблицей значений остаётся лишь вычислять среднее значение между интегралами, посчитанными по формулам левых и правых прямоугольников соответственно, что приводит к составной квадратурной формуле трапеций.
Поскольку составные квадратурные формулы являются ни чем иным, как суммами, входящими в определение интеграла Римана, приони сходятся к точному значению интеграла. Соответственно, с увеличениемточность получаемого по приближённым формулам результата возрастает.
Сравнение применения различных формул прямоугольников | |||||||||||||||
|
|
|
|
|
|
|
|
|
|
Составные формулы для равномерных сеток
Равномерную сетку можно описать следующим набором формул:
где — шаг сетки.
Для равномерных сеток формулы прямоугольников можно записать в виде следующих формул Котеса:
Составная формула левых прямоугольников:
Составная формула правых прямоугольников:
Погрешность метода
Для формул правых и левых прямоугольников погрешность составляет
Для формулы прямоугольников (средних)
Для составных формул правых и левых прямоугольников на равномерной сетке:
Для составной формулы прямоугольников:
Пример реализации
Формула средних прямоугольников для аналитически заданной функции, написанная на С
#include <stdio.h>
#include <math.h>
double f(double x){ //Подынтегральная функция
return sin(x); //Например, sin(x)
}
double rectangle_integrate(double a, double b, int n, double (*f)(double) ){
double result, h;
int i;
h = (b-a)/n; //Шаг сетки
result = 0.0;
for(i=1; i <= n; i++){
result += f( a + h * (i - 0.5) ); //Вычисляем в средней точке и добавляем в сумму
}
result *= h;
return result;
}
int main(void){
double integral;
integral=rectangle_integrate(0,2,100,f);
printf("The value of the integral is: %lf \n", integral);
return 0;
}