
- •Алгебра и геометрия
- •I.1. Матрицы и операции над ними. Обратная матрица.
- •I.2. Линейные преобразования и их матрицы. Собственные значения и собственные векторы.
- •I.3. Основная теорема алгебры и её следствия.
- •I.4. Векторы, операции над ними (сложение, умножение на число, скалярное, векторное и смешанное произведения), коллинеарность и компланарность векторов.
- •I.5. Линейная зависимость системы векторов.
- •I.6. Взаимное расположение прямых и плоскостей в пространстве.
- •II.1. Формула нахождения обратной матрицы.
- •II.2. Критерий совместности системы линейных уравнений.
- •II.3. Соотношения между размерностями ядра и образа линейного оператора в конечномерном пространстве.
- •II.4. Экстремальное свойство проекции вектора на линейное подпространство.
- •I.1. Определение множества. Операции над множествами. Равенство множеств. Включение, строгое включение. Свойства.
- •I.2. Отношения, декартово произведение, отношение эквивалентности. Операции над отношениями. Способы задания отношений.
- •I.3. Рекуррентные последовательности. Последовательность чисел Фибоначчи.
- •I.4. Булевы функции от двух переменных. Способы задания булевых функций.
- •I.5. Основные замкнутые классы во множестве булевых функций.
- •II.1. Биномиальная формула:
- •II.2. Перестановки, размещения и сочетания с повторениями.
- •II.3. Перестановки, размещения и сочетания без повторений.
- •II.4. Рекуррентные соотношения. Решение линейных рекуррентных соотношений второго порядка.
- •II.5. Эйлеровы графы. Критерий эйлеровости графов.
- •I.1. Постановка задачи Коши для оду n-го порядка. Достаточные условия разрешимости
- •I.2. Линейные уравнения n-го порядка. Фундаментальная система решений. Структура общего решения. Определитель Вронского. Система линейных уравнений.
- •I.3. Первая краевая задача для лоу 2-го порядка. Функция Грина.
- •I.4. Устойчивость по Ляпунову. Теорема Ляпунова об устойчивости по первому приближению.
- •II.1. Гильберта разрешимости 1 краевой задачи для обыкновенного дифференциального уравнения 2-го порядка.
- •II.2. Теорема о структуре общего решения лин-го ду n-го порядка.
- •II.3.Теорема Пикара и Пеано.
- •I.1. Производная, дифференцируемость и дифференциал. Правила дифференцирования.
- •I.2. Неопределённый интеграл. Основные методы интегрирования.
- •I.3. Числовой ряд. Сходимость.
- •I.4. Криволинейный интеграл. Формула Грина.
- •I.5. Формулы и ряд Тейлора.
- •I.6. Примеры разложения функции в ряд Тейлора.
- •I.7. Интеграл Римана и его свойства.
- •I.8. Тригонометрический ряд. Ряд Фурье.
- •I.9. Двойной интеграл. Вычисление интеграла.
- •I.10. Функциональный ряд. Точечная и равномерная сходимости.
- •II.1. Непрерывные функции. Свойства функций непрерывных на компакте.
- •II.2. Локальный экстремум функций одной переменной. Необходимые условия. Достаточные условия.
- •II.3. Интеграл Римана. Формула Ньютона-Лейбница.
- •II.4. Дифференцируемость функции нескольких переменных. Необходимые условия. Достаточные условия.
- •II.5. Формула Тейлора. Ряд Тейлора. Необходимые и достаточные условия представления функции рядом Тейлора.
- •I.1. План злп. Опорный план.
- •I.2. Канонический вид злп.
- •I.3. Двойственная злп.
- •I.4. Методы возможных направлений.
- •II.1. Теоремы двойственности в линейном программировании.
- •II.2. Теорема об оптимальности в симплекс-методе.
- •I.1. Переменные, массивы и указатели базовых и производных типов, инициализация, допустимые операции над ними.
- •I.2. Циклы, вложенные циклы, операторы циклов, подготовка и изменение переменных в циклах.
- •I.3. Функции, их определение, формальные параметры, прототипы. Методы передачи информации в функцию и из функции. Проектирование и составление программ модульной структуры.
- •I.4. Классы, секции доступа. Данные-члены, функции-члены, дружественные функции.
- •I.5. Объекты, их массивы, указатели на них.
- •I.6. Конструкторы и деструкторы.
- •I.7. Полиморфизм в программировании. Перегрузка функций, знаков операций. Действия над объектами.
- •II.1. Методика проектирования и составления программ модульной структуры.
- •II.2. Выражения, операции над величинами базовых типов.
- •II.3. Методика программирования простых и вложенных типов.
- •Численные методы
- •I.1. Задача теории интерполирования функции. Система функций Чебышева.
- •I.2. Интерполяционные квадратурные формулы Ньютона-Котеса.
- •I.3. Методы итераций для нелинейного ур-ия (хорд и Ньютона).
- •I.4. Методы итераций для систем лин. Ур-ий. Условия сходимости.
- •I.5. Задача Коши для оду. Методы Рунге-Кутта (принцип построения, пример).
- •II.1. Интерполяционный многочлен Лагранжа. Геометр-ий смысл.
- •II.2. Вывод простой и обобщённой формулы трапеции. Погрешность формулы.
- •II.3. Метод хорд для решения нелинейных уравнений. Условие применимости метода, сходимость.
- •II.4. Метод касательных для решения нелинейных уравнений, условие применимости метода.
- •II.5. Метод итераций для решения систем линейных алгебраических уравнений. Сходимость метода.
- •II.6. Одношаговые методы решения задач Коши. Метод Эйлера.
- •II.7. Одношаговые методы решения задачи Коши. Формулы Рунге-Кутта.
II.2. Теорема об оптимальности в симплекс-методе.
Пусть
ЗЛП поставлена на min
и х
– опорный невырожденный план. Тогда
если
то
план х
– оптимальный.
Докво.
Выберем
произвольный план y=(y1,y2,…,yn)T
и пусть z
- значение целевой функции на план у:
и
пусть
Покажем, что zzo.Т.к.
у
доставляет
функции значение z,
то, в соответствии с условием теоремы,
можем записать:
Т.к.
у
– план, то можно записать:
При
этом, т.к. х
– опорный невырожденный план, то:
И
т.к. P1,…,Pm
–
линейно независимы, то разложения (2) и
(3) совпадают, а
Подставим
(4) в (1):
что
в силу произвольности выбора плана у
доказывает теорему
I.1. Переменные, массивы и указатели базовых и производных типов, инициализация, допустимые операции над ними.
Переменная – это поимен-ая часть памяти для хранения значений величины, т.е. k перем-ой соотв-ет поле памяти, кот-ое хар-ся адресом нач-го байта (адресом переменной) и кол-вом байт. После компиляции программы имена переменных заменяются их адресами, устанав-ся форма представления значений переменных в соответствии с их типом. Описание переменной должно производится до ее использования:
Класс_памяти тип а1=х1, а2=х2,……. аn=хn;
Описыв-ые переменные м.б. локальными (auto – для автоматич-их переменных, register – для регистровых, static – для статических) и внешними (extern или static). Если класс памяти для лок. переменных не указан, то они по умолчанию считаются локальными. Если он не указан для внешних переменных, то они доступны только в данном файле после своего описания. Использ-ия спецификатора extern приводит к распростр-ию описания переменной на все файлы программы, а static для внешних величин говорит о том, что эта величина доступна в файле после своего описания и расширять область ее видимости невозможно.
Тип переменной указывается спецификатором типа. Они запис-ся в виде: для переменных целого типа – short (или short int), int, long (или long int); для символьных переменных – char, для переменных с плавающей точкой – float, double, long double.
Нач-ые значения для внешних и стат. переменных м.б. константами или конст-ми выражениями, а для автом. и регистровых – выражениями, содержащими ранее определённые величины.
Если нач-ое значение в описании переменной отсутствует, то инициализация автом. и регистровых переменных не производится, а статические и внешние инициализ-ся 0 (целые – 0; символьные - \0; с плавающей точкой – 0.0). при этом инициал-ия стат. (лок.) и внешних переменных производится один раз, до начала выполнения программы, а автом. и регистровых – внутри блока, в месте их описания при выполнении программы.
Перед спецификатором типа могут приводиться также модификаторы типа памяти const или volatile. const делает переменную неизменной, volatile требует обязательного выделения для переменной памяти и запрещает компилятору при оптимизациях программы использовать эту переменную как регистровую.
Описания переменных в блоке могут располагаться в месте, но она доступна лишь после своего описания.
Массив – это упорядоченная совокуп-ть величин одинакового типа, приводимых в программе под одним именем. Его эл-ты распол-ся в последов-ых полях компа друг за другом. Нач-ый эл-т имеет номер 0, следующий 0 1 и т.д. Например, x[0], x[2], x[k+4]. Для удобства использования эл-ты массива можно разбивать на группы, подгруппы и т.д., создавая многомерные массивы. Номера групп и подгрупп также начинаются с 0. Например, эл-ты 2мерного массива у имеют вид: y[0][2], а 3мерного массива z: z[1][1][2]. Эл-ты многомерного массива распол-ся в последов-ых полях памяти, образуя упоряд-ую последов-ть.
Тип элементов массива, его имя, размерность и размеры измерений указ-ся в описании массива, где за его именем приводятся размеры измерений (k в своих квадратных скобках), а также список нач. значений эл-ов, если таковой есть. Например, int x[4]={3,4,2,3}, y[2][4]={1,2,3,4,5,6,7,8}, double r[2] = {4.0,7.0}, z[10][5].
Класс памяти опред-ся как у переменных, но массивы не м.б. регистровыми. Если класс памяти не указан, то лок. массивы являются автомат., внешние доступны в файле своего описания.
Размеры измерений массивов в описаниях могут задаваться только целочисленными константами или конст. выражениями. Списки нач-ых значений эл-ов массива задаются как последов-ти констант соотв. типа, отделяющиеся друг от друга запятыми. Кол-во констант в списках не может превышать соотв. размера измерения. Списки нач. значений могут содержать один эл-нт или отсутствовать.
Если списки нач-ых значений в описании массива отсутствуют, то инициализация элементов автом. массива не производится, а эл-ты стат. и внешних массивов инициал-ся 0. инициал-ия внешних и стат. массивов производится на этапе загрузки программы. Автом. массивы инициал-ся в блоке при k встрече их описания.
Для массивов может использ-ся модификатор const, кот-ый делает эл-ты массива неизменными, а массив статическим. В определении массива должны приводиться значения элементов.
Указатель – это переменная для хранения адресов данных соотв. типа. Задание адресов переменных и эл-ов массивов ося с помощью предшествующей операции взятия адреса &. Так, если s–переменная,–одномерный массив, то &s – это адрес переменной s, &x[0] и &x[k] – соотв-но адреса нач-го и k-го элементов массива x.
Доступ к данному s возможен непосредственно с помощью имени s или с помощью указателя p с предшествующей *, т.е. s и *p обозначают одно и то же – значение переменной s. * носит название разыменования.
Указатели в программе до их использ-ия должны описыв-ся. Приводится класс и тип памяти, а затем имя указателя, перед кот-ым ставится *. Напр., опред-ны переменная s, указатели *p и *q типа float:
float *p, s, *q ;
Для работы с указателем ему нужно присвоить адрес опред-ой величины с помощью операции присваивания “=”. Напр., char *p=&x[20], *q=&u;
Инициализация указателя может приводиться и явным заданием адреса константы, напр.: int *p = (int*)12;
В описании указателей может использ-ся модификатор const, обозначающий от его места неизменный указатель, неизменное данное или и то, и другое.
В указателе могут храниться адреса данных, адреса других указателей (указатель на указатель). Их описание и использование производится таким же образом, как и указателей на данные, но в описании указателя на указатель вместо * ставятся **, а при использ-ии либо * (работа с адресом в указателе) либо **(работа с данным).
Широкое применение имеют массивы, элементами кот-ых являются указатели. При описании таких массивов перед их именами ставится *. Например, int *d[3]; k эл-нт явл-ся указателем на тип целый.