- •Понятие информационной системы. Классификация ис.
- •Классификация автоматизированных систем
- •Основные понятия баз данных. Субд Microsoft Access, основные возможности программы.
- •Базовые объекты субд Access. Способы создания базовых объектов субд Access. Использование мастера и конструктора.
- •Структура таблицы в ms Access, типы данных.
- •1.3. Файл данных.
- •1.4. Типы полей.
- •Свойства полей в субд Access. Ввод и редактирование данных в таблицах и формах.
- •Поиск, сортировка и отбор данных в таблицах и формах ms Access.
- •Организация данных. Создание связей между таблицами в бд. Целостность данных.
- •Типы связей
- •Формирование запросов ms Access. Сложные запросы.
- •Создание многотабличных пользовательских форм и отчетов в ms Access.
- •Способы построения многотабличной формы
- •Использование элементов управления в отчетах и формах субд Access. Создание вычисляемых полей.
- •Понятие алгоритма, его свойства. Основные виды алгоритмов.
- •Понятие алгоритма. Этапы решения задач на компьютере.
- •Язык программирования Паскаль. Основные понятия я/п Паскаль
- •Понятие типа. Иерархия типов.
- •Стандартные данные и вычисления в я/п тр
- •Структура Паскаль-программы. Разделы модулей, меток, констант, типов
- •Структура Паскаль-программы. Разделы переменных, процедур и функций, раздел операторов.
- •Операторы языка программирования Паскаль. Простые операторы: оператор присваивания, оператор безусловного перехода.
- •Простые операторы
- •Оператор присваивания
- •Оператор безусловного перехода goto. Использование меток
- •Операторы языка программирования Паскаль. Структурные операторы. Составной оператор
- •Структурные операторы. Условные операторы в я/п тр. Оператор if.
- •Структурные операторы. Оператор варианта case.
- •Операторы цикла в я/п тр. Цикл с параметром.
- •Оператор цикла с параметром в языке Паскаль
- •Операторы цикла в я/п тр. Цикл с предусловием.
- •Оператор цикла с предусловием в Паскале
- •Операторы цикла в я/п тр. Цикл с постусловием.
- •Оператор цикла с постусловием в языке Паскаль
- •Обработка массивов в я/п тр. Одномерные массивы.
- •Обработка массивов в я/п тр. Двумерные массивы.
- •Описание двумерного массива Паскаля.
Обработка массивов в я/п тр. Двумерные массивы.
Двумерный массив в Паскале трактуется как одномерный массив, тип элементов которого также является массивом (массив массивов). Положение элементов в двумерных массивах Паскаля описывается двумя индексами. Их можно представить в виде прямоугольной таблицы или матрицы.
Рассмотрим двумерный массив Паскаля размерностью 3*3, то есть в ней будет три строки, а в каждой строке по три элемента:
Каждый элемент имеет свой номер, как у одномерных массивов, но сейчас номер уже состоит из двух чисел – номера строки, в которой находится элемент, и номера столбца. Таким образом, номер элемента определяется пересечением строки и столбца. Например, a 21 – это элемент, стоящий во второй строке и в первом столбце.
Описание двумерного массива Паскаля.
Мы уже умеем описывать одномерные массивы, элементы которых могут иметь любой тип, а, следовательно, и сами элементы могут быть массивами. Рассмотрим следующее описание типов и переменных:
Пример описания двумерного массива Паскаля
Type
Vector = array [1..5] of <тип_элементов>;
Matrix= array [1..10] of vector;
Var m: matrix;
Мы объявили двумерный массив Паскаля m, состоящий из 10 строк, в каждой из которых 5 столбцов. При этом к каждой i -й строке можно обращаться m [ i ], а каждому j -му элементу внутри i -й строки – m [ i , j ].
Определение типов для двумерных массивов Паскаля можно задавать и в одной строке:
Type
Matrix= array [1..5] of array [1..10] of < тип элементов >;
или еще проще:
type
matrix = array [1..5, 1..10] of <тип элементов>;
Обращение к элементам двумерного массива имеет вид: M [ i , j ]. Это означает, что мы хотим получить элемент, расположенный в i -й строке и j -м столбце. Тут главное не перепутать строки со столбцами, а то мы можем снова получить обращение к несуществующему элементу. Например, обращение к элементу M [10, 5] имеет правильную форму записи, но может вызвать ошибку в работе программы.
28. 29. Нелинейные уравнения. Способы решения. Этапы решения уравнений итерационным методом. Метод половинного деления. Метод хорд. Метод Ньютона.
Уравнение типа F(x)=0 или x=f(x) называется нелинейным. Решить уравнение это значит найти такое x, при котором уравнение превращается в тождество. В общем случае уравнение может иметь 0; 1; 2;...∞ корней. Рассмотренные ниже численные методы решения нелинейных уравнений позволяют находить один корень на заданном интервале [a,b]. При этом на интервале должен существовать только один корень. Рассмотрим несколько методов решения нелинейных уравнений.
Метод перебора. Метод половинного деления. Метод хорд. Метод касательных. Метод хорд-касательных. Метод итераций.
Метод итераций (последовательных приближений) для уточнения корней нелинейных уравнений
Одним из наиболее распространенных методов решения нелинейных уравнений является метод итераций.
Основное его приемущество - однотипность, выполняемых на каждом шаге операций, что в значительной степени облегчает составление программ для ЭВМ
Пусть дано f(x)=0 (уравнение 1), где f(x) - непрерывная на отрезке [a,b] функция, которая обращается в ноль хотя бы в одной точке.Требуется найти вещественный корень уравнения 1.
Заменим уравнение (1) эквивалентным уравнением (2).x=u(x) В этом уравнении искуственно любым способом оставляют слева x, перенося все остальное вправо
Уравнение (2) называют уравнением приведенным к виду, удобному для итерации. Уравнение (2) имеет те же корни, что и уравнение (1).
Представление функции в виде u(x) может быть установленно бесчисленным множеством способов. Кроме того вид u(x) оказывает существенное влияние как на сам факт сходимости, так и на ее скорость. Выберем каким либо образом грубо начальное приближение x0 (можно графически или используя формулу x0=(a+b)/2) и подставим его в правую часть уравнения (2). Тогда получим некоторое число x1, которое равно u(x0). Далее полученное значение x1 вновь подставляем в правую часть уравнения (2) и получим некоторое значение x2 и т.д. Каждое новое приближение корня уравнения вычисляется по формуле xn+1=u(xn), n>0. Получим последовательность приближений x0, x1, ... ,xn
Возможны два случая:
1. последовательность сходится, т.е. имеет предел и тогда этот предел является корнем уравнения (2), а следовательно и уравнения (1);
2. последовательности расходится, т.е. не имеет предела.
Метод половинного деления. При решении нелинейного уравнения методом половинного деления задаются интервал [a,b], на котором существует только одно решение, и желаемая точность ε. Затем определяется середина интервала с=(а+b)/2 и проверяется условие F(a)∙F(c)<0. Если указанное условие выполняется, то правую границу интервала b переносим в среднюю точку с (b=c). Если условие не выполняется, то в среднюю точку переносим левую границу(a=c). Деление отрезка пополам продолжается пока |b-a|>ε. Структограмма решения нелинейных уравнений методом половинного деления приведена на рисунке.
Пока |b-a|>ε |
|
c=(a+b)/2 F(a)∙F(c)<0 |
|
|
|
да |
нет |
b=c |
a=c |
Метод хорд. При решении нелинейного
уравнения методом хорд задаются интервал
[a,b], на котором существует только одно
решение, и точность ε. Затем через две
точки с координатами (a,F(a)) и (b,F(b)) проводим
отрезок прямой линии (хорду) и определяем
точку пересечения этой линии с осью
абсцисс (точка c). Если при этом F(a)∙F(c)<0,
то правую границу интервала переносим
в точку с (b=c). Если указанное условие не
выполняется, то в точку c переносится
левая граница интервала (а=с). Поиск
решения прекращается при достижении
заданной точности |F(c)|< ε. Для определения
точки пересечения хорды с осью абсцисс
воспользуемся следующей формулой
(попытайтесь
получить формулу самостоятельно).Структограмма
метода хорд показана на рисунке.
Пока |F(c)|>ε |
|
F(a)∙F(c)<0 |
|
|
|
да |
нет |
b=c |
a=c |
Геометрический смысл метода Ньютона состоит в том, что дуга кривой y=f(x) заменяется касательной к этой прямой, откуда следует второе название этого метода - метод касательных
Пусть корень уравнения f(x)=0 отделен на отрезке [a,b], причем первая и вторая производные непрерывны и сохраняют постоянные знаки на отрезке [a,b]. Как и при уточнении корней методом хорд, в методе Ньютона возможны два случая, которые зависят от формы графика исходной функции на отрезке [a,b].
1I. f'(x)f"(x)>0
Для этого случая характерны графики, представленные не рис.1 и рис.2
Если провести касательную к кривой y=f(x) в точке А, то она пересечет координатную ось ОХ в точке не принадлежащей интервалу [a,b]. Это означает, что точка А будет неподвижной, а начальное приближение корня будет определяться точкой пересечения касательной, проведенной из точки B с координатной осью OY.
|
|
Рис.1 |
Рис.2 |
Проведем касательную к кривой y=f(x) в точке B0(b;f(b)) и найдем абсциссу точки пересечения касательной с координатной осью ОХ (точка x1). Это значение можно вычислить использую формулу (1), которая вытекает из уравнения касательной к графику функции y=f(x) в точке B0. Найденное значение будет первым приближением корня . В общем случае формулу (1) можно записать в виде формулы (2), которая подходит для вычисления всех последующих приближений корня .
|
(1) |
|
x0=b (2) |
Таким образом получаем последовательность приближенных значений, каждый член которой ближе к корню чем предыдущий, однако все xn>, следовательно xn+1 приближенное значение корня с избытком.
2II. f'(x)f"(x)<0
Для этого случая характерны графики функций, представленные на рис.3 и рис.4
Если провести касательную к кривой f(x)=0 в точке B, то она пересекет координатную ось ОХ в точке не принадлежащей отрезку [a,b]
|
|
Рис.3 |
Рис.4 |
Проведем касательную к кривой y=f(x) в точке А0(a;f(a)) и найдем абсциссу точки пересечения касательной с координатной осью OX. Это значаение вычисляется по формуле (3), которая следует из уравнения касательной к графику функции y=f(x) в точке A0 и является первым приближением корня . В общем случае для вычисления остальных приближений можно воспользоваться формулой (4), которая является общей формулой для нахождения n+1 приближения корня .
|
(3) |
|
x0=a (4) |
При выборе начального приближения корня можно руководствоваться правилом
За исходную точку x0 следует выбирать тот конец отрезка [a,b] на котором знак функции совпадает со знаком второй производной от этой функции.
Процесс вычисления продолжается до тех пор, пока модуль разности между двумя соседними приближениями не станет меньше заданной погрешности вычисления , т.е. |xn+1-xn|<. За приближенное значение корня при этом следует взять xn+1 приближение.
