
- •Потужність множини. Зчисленні та незчисленні множини. Їх властивості.
- •2.Поняття моделі. Поняття інформаційної моделі. Поняття математичної моделі.
- •Приклади лінійних просторів
- •2.Алгоритм. Способи опису алгоритмів. Словесна та графічна форми подання алгоритмів.
- •1. Похідна функції однієї змінної, її геометричний та механічний зміст. Основні правила диференціювання.
- •3. Похідна складної функції.
- •1. Диференційовані функції однієї змінної, критерій диференційованості. Диференціал в точці, його геометричний зміст, застосування до наближених обчислень.
- •2. Програма. Поняття мови програмування. Поняття про середовище програмування
- •1. . Основні теореми диференціального числення. Теорема Лагранжа. Умови сталості та монотонності функції.
- •2. . Трансляція та її види: інтерпретація, компіляція. Їх особливості. Поняття системи програмування.
- •1. Екстремум функції. Необхідні умови екстремуму. Достатні умови екстремуму.
- •1. Максимум і мінімум функції в точці.
- •2. Основні принципи технології структурного програмування. Метод покрокової деталізації.
- •1. Структурне програмування
- •1.1. Принцип модульності
- •1. Первісна функція та неозначений інтеграл. Інтегрування підстановкою та частинами.
- •2. Основні принципи технології об’єктно-орієнтованого програмування. Поняття про об’єкт (клас).
- •1. Означений інтеграл. Необхідна умова інтегровності. Критерій інтегровності. Інтегровність неперервної функції.
- •Стандартні функції мови с
- •Аргументи функції
- •1. Квадровні фігури. Застосування означеного інтеграла до обчислення площ плоских фігур.
- •2. Алгоритми обробки масивів. Алгоритм послідовного пошуку. Пошук максимального (мінімального) елемента. Масиви даних
- •Одновимірні масиви (вектори)
- •1. Спрямлювані криві та їх довжини. Теорема Жордана. Обчислення довжини кривої за допомогою означеного інтеграла.
- •1. Застосування визначеного інтеграла до обчислення об’ємів тіл обертання та площ поверхонь обертання.
- •Задача про перевезення (транспортна задача)
- •1. Додатні числові ряди, властивості збіжних рядів, критерій збіжності. Теореми про порівняння рядів. Ознака Даламбера та інтегральна ознака Коші.
- •2. Метод штучного базису відшукання початкового базисного розв’язку злп. М-метод розв’язування злп.
- •1) Методи відшукання початкового базисного розв’язку
- •2) Описання м-методу розв’язування злп.
- •1Знакозмінні ряди. Ознака Лейбніца. Абсолютно і умовно збіжні ряди.
- •2. Двоїсті злп та їх властивості. Теореми двоїстості. Двоїстий симплекс-метод.
- •1. Функціональні послідовності і ряди. Збіжність, область збіжності. Рівномірна збіжність. Ознака Вейєрштраса.
- •2. Транспортна задача (тз). Властивості тз. Деякі методи відшукання початкового базисного розв’язку тз. Метод потенціалів розв’язування тз.
- •§2. Деякі властивості транспортної задачі.
- •§3. Базисні розв’язки транспортної задачі.
- •§4. Деякі методи відшукання базисного розв’язку транспортної задачі.
- •4.1. Метод північно-західного кута.
- •4.2. Метод мінімального елемента
- •§5. Метод потенціалів розв’язування транспортної задачі.
- •1. Метричні простори. Відкриті та замкнуті множини, їх властивості.
- •2. Потоки та мережі. Постановка задачі. Задача про найкоротший шлях. Метод Мінті. Задача про максимальний потік. Метод Форда-Фалкерсона.
- •3. Задача про максимальний потік. Метод Форда–Фалкерсона
- •1. Векторний добуток двох векторів, його властивості та застосування.
- •2. Поняття границі числової послідовності, її властивості. Теорема про границю монотонної числової послідовності. Теорема Больцано-Вейєрштраса
- •1.Еліпс, означення та канонічне рівняння. Дослідження форми еліпса за канонічним рівнянням.
- •Оптимальні чисті стратегії
- •§ 3. Оптимальні змішані стратегії
- •1. Означення детермінанта n-го порядку. Властивості детермінантів.
- •2. Правила суми і добутку. Розміщення, перестановки, комбінації (без повторень та з повтореннями).
- •2. Алгоритми обробки масивів. Сортування елементів масиву методом "бульбашки". Масиви даних
- •Одновимірні масиви (вектори)
- •1. Площини та прямі в просторі.
- •2. Теорема множення ймовірностей. Незалежність подій.
- •1. Поверхні другого порядку. Еліпсоїди, параболоїди, гіперболоїди, гіперболічний параболоїд.
- •Запишемо рівняння поверхні обертання, утвореної обертанням еліпса
- •Записуючи рівняння параболоїда обертання (6) у вигляді
- •На закінчення розглянемо
- •2. Формула повної ймовірності та формули Байєса.
- •1. Формула повної ймовірності та формули Байєса.
- •49.3. Матриця лінійного оператора. Приклади.
- •2. Опис рядків у мові програмування с. Операції над рядками, функції для обробки рядків Рядки
- •Функції обробки символів та рядків
- •Функції, що стосуються рядків, які розглядаються як послідовність байт.
- •Функції, що обробляють рядки
- •1. Множини та відношення. Основні види бінарних відношень. Розбиття множини на класи.
- •1. Лінійні диференціальні рівняння першого порядку та рівняння Бернуллі.
- •Рівняння в повних диференціалах
- •2. . Канонічні (нормальні) форми булевих функцій. Алгебра Жегалкіна.
- •1. Лінійні однорідні диференціальні рівняння n-го порядку із змінними коефіцієнтами. Фундаментальна система розв’язків. Детермінант Вронського. Загальний розв’язок.
- •2. Комбінаторні конфігурації. Біноміальна та поліноміальна теореми.
- •1. Розв’язування диференціальних рівнянь та їх систем.
- •2. Повнота і замкненість систем булевих функцій. Теорема (критерій) Поста.
- •1. Інтерполювання функцій многочленами Лагранжа.
- •Інтерполювання функцій многочленами Ньютона. Сплайни.
- •Скінченні різниці
- •Перша інтерполяційна формула Ньютона
- •Друга інтерполяційна формула Ньютона
- •1. Лінійна та нелінійна кореляція. Метод найменших квадратів. Побудова емпіричних формул.
- •2. . Опукле програмування. Функція Лагранжа. Теорема Куна-Таккера-1. Теорема Куна-Таккера-2. Задача опуклого квадратичного програмування. Квадратичний симплекс-метод. Задачі опуклого програмування.
- •Функція Лагранжа. Теореми Куна-Таккера.
2. Алгоритми обробки масивів. Алгоритм послідовного пошуку. Пошук максимального (мінімального) елемента. Масиви даних
Масивом називається впорядкована скінченна послідовність однотипних даних, які розташовуються один за одним і мають одне і те ж ім’я називаються елементами масиву. Тип даних може бути довільним. Порядок елементів в масиві задається набором індексів – чисел, що однозначно визначають місце елемента в масиві та забезпечують прямий доступ до його елементів.
Індекс – це порядковий номер елемента в масиві; індекс першого елемента ЗАВЖДИ 0, далі йдуть натуральні числа (1, 2, …).
Масиви в програмі оголошуються як і звичайні змінні, але після імені ставляться квадратні дужки, в яких може бути константа або константний вираз, який задає кількість елементів масиву.
<тип масиву> <ім’я масиву> [вираз, що задає кількість елементів];
Масив характеризується іменем, типом даних, його утворюють, вимірністю (кількістю індексів) та максимальним значенням кожного індексу. За вимірністю розрізняють одновимірні (один індекс), двовимірні (два індекси) масиви т.д.
Для звертання до масиву досить вказати його для доступу до його елемента вказують масиву та, у квадратних дужках, через кому, значення відповідних індексів даного елемента. Наприклад, B[1] – перший елемент масиву B, Y1[i] – i-й елемент масиву Y1, SS[5,2] – елемент двовимірного масиву SS, який стоїть на перетині п’ятого рядка та другого стовпчика.
Одновимірні масиви (вектори)
Приклади опису одновимірних масивів змінних:
float array[12]; //Масив array, що складається з 12 елементів типу float
int Nums[3*10]; // Масив Nums, що складається з 30 елементів цілого типу
int count = 15, double[count]; /*Помилковий запис, оскільки змінна не може задавати розмір масиву */
Константний вираз, що визначає розмір масиву, НЕ МОЖЕ приймати нульове значення!
Як і звичайні змінні, масиви при оголошенні можуть бути явно проініціалізовані. Для цього при оголошенні поміщається список початкових значень елементів, написаних в фігурних дужках:
char array[5] = {‘A’, ‘E’, ‘4’, ‘0’, ‘U’);
Тут оголошений масив з п’яти елементів, всі елементи цього масиву проініціалізовані відповідними значеннями. Кількість ініціалізаторів елементів масиву не повинно перевищувати його розмірність, інакше буде видано повідомлення про помилку. Наступний приклад оголошення показує, що ініціалізувати можна не всі елементи, а будь-яка кількість перших:
int array[15] = {3, 5, 10, 16};
Всі інші одинадцять елементів будуть проініціалізовані нулями.
Порядок роботи з масивом:
1) оголосити про масив у описів, вказавши його розмір тип елементів, що в нього входять (тобто приготувати місце в пам'яті, де будуть зберігатися значення елементів);
2) заповнити необхідними значеннями масив для розв'язування задачі;
3) якщо треба, вивести масив на екран для зорової перевірки роботи з ним;
4) робота з даним масивом;
5) виведення отриманих результатів.
Методи заповнення одновимірного масиву:
1) за формулою:
for (int i=0; i<10; i++)
nums[і] = i * i - 10 {або будь-яка інша формула};
2) з клавіатури:
for (int i=0; i<10; i++)
{
printf(“Введіть М[%d]: “, i);
scanf(“%d”, &nums[i]);
}
3) випадковим чином (генератором випадкових чисел) проміжку [А, В]:
for (int i=0; i<10; i++)
nums[і] = rand(B-A)+A;
Методи виведення елементів одновимірного масиву на екран
1) виведення у стовпчик:
for (int i=0; i<10; i++)
printf(“nums [%d]=%d\n“, i, nums[i]);
2) виведення у рядок із табулюванням:
for (int i=0; i<10; i++)
printf(“nums [%d]=%d\t“, i, nums[i]);
Розглянемо сортування обміном (метод "Бульбашки").
Сортування обміном - метод, при якому всі сусідні елементи масиву попарно порівнюються один з одним і міняються місцями в тому випадку, якщо попередній елемент більше подальшого. В результаті цього максимальний елемент поступово зміщується вправо і, врешті-решт, займає
праве місце в масиві, після чого він виключається з подальшої обробки.
Потім процес повторюється і своє місце займає другий за величиною елемент, який також виключається з подальшого розгляду. Так продовжується до тих пір, поки вся послідовність не буде впорядкована.
Якщо послідовність сортованих чисел розташувати вертикально ( перший елемент - внизу ) і прослідити за переміщеннями елементів , то можна побачити, що великі елементи, подібно бульбашкам повітря у воді, "впливають" на відповідну позицію. Тому "сортування" таким чином
називають ще сортуванням методом "бульбашки", або "бульбашковим сортуванням".
Класичний приклад застосування методу – бінарний пошук в упорядкованому масиві. Масив розбивається на дві рівні частини Використовуючи потім два порівняння, алгоритм або знаходить елемент, або визначає ту половину, у якій варто шукати – тобто зводить задачу розміру n до задачі розміром n/2. Задача2. Бінарний пошук в упорядкованому масиві. Дано: yпорядкований масив A[1..n] і елемент b. Необхідно відповісти на питання: присутній чи ні елементі b у масиві A. Задача пошуку істотнo спрощується, якщо елементи масиву упорядковані. Стандартний метод пошуку в упорядкованому масиві – це метод розподілу відрізка навпіл, причому відрізком є відрізок індексів елементів масиву – 1..n. Розв’язування:
Крок бінарного пошуку полягає у порівнянні шуканого елемента із середнім елементом A[1..m], де m - деякий індекс (k<1). На першому кроці алгоритму k=1, l=n.
Якщо шуканий елемент bA[m] – праворуч від m, тобто на відрізку m+1..l.
Для того, щоб кількість обчислень була однакова, індекс m потрібно вибирати так, щоб довжини відрізків k..m, m..l були (приблизно) рівними, тобто m:=(k+1) div2.
Якщо на будь-якому кроці алгоритму виконується умова A[m]=b, це означає, що елемент b є присутнім у масиві, і його індекс дорівнює m.
Якщо не на жодному з кроків алгоритму не виконалась умова A[m]=b і значення змінних l і k стали такі, що l
Лінійний пошук - алгоритм послідовного пошуку знаходження заданого значення довільної функції на деякому її відрізку. Цей алгоритм є найпростішим алгоритмом пошуку і на відміну, наприклад, від двійкового пошуку, не накладає жодних обмежень на функцію і має просту реалізацію. Пошук значення функції здійснюється простим порівнянням чергового розглянутого значення (як правило пошук відбувається зліва направо, тобто від менших значень аргументу до більших) і, якщо значення збігаються (з тією або іншою точністю), то пошук вважається завершеним
Білет10