Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Екзамен. Програмування -l-.doc
Скачиваний:
7
Добавлен:
13.03.2016
Размер:
411.65 Кб
Скачать

Білет № 8

  1. Масиви. Одновимірні, двовимірні та багатовимірні масиви. Динамічні масиви. Операції над масивами та елементами. Алгебраїчні операції над векторами та матрицями.

  2. Чисельні методи знаходження похідних. Перша похідна. Метод двох точок.

    1. Масив - це впорядкований набір фіксованої кількості однотипних елементів, що зберігаються в

послідовно розташованих комірках оперативної пам'яті, мають порядковий номер і спільне ім'я, що надає користувач. Характеристики:

 Розмірність — кількість індексів елемента (одновимірний, двовимірний, багатовимірний)

 Розмір — загальна кількість елементів у масиві.

За типом поділяється на числовий та символьний.

Елементи масиву нумеруються з 0 до 4, оскільки перший індекс масиву завжди 0. Як і звичайний тип даних масив повинен бути оголошений перед використанням. Типовий формат оголошення масиву наступний:

назва_типу ім’я [розмір];

Доступ до окремих елементів масиву і операції з ними здійснюються так ніби це звичайна змінна, яку можна модифікувати і зчитувати. Формат доступу до n-го елементу масиву виглядає так:

array[n]

Багатомірні масиви можна описати як "масиви масивів". Наприклад, двомірний масив можна розглядати як таблицю елементів, які мають однаковий тип даних. Приклад оголошення масиву розміром 3 на 5 виглядатиме так:

int array [3][5];

Доступ до елементів аналогічний одномірному масиву, але задаватися буде порядковий номер у кожному вимірі. Багатовимірні масиви не мають обмежень у кількості вимірів, їх може бути більше ніж два.

Динамічним називають такий масив, розмір якого можна змінювати під час виконання програми. Динамічні масиви надають змогу більш гнучко працювати з даними, оскільки дозволяють вводити довільний розмір.

Багатовимірні масиви — це по-суті масив з масивів. Наприклад, двовимірний масив можна передати через одновимірний масив, кожний елемент якого є масивом. Часто двовимірні масиви використовують, як таблиці.

Приклад створення двовимірного масиву:

int N, M;

cin >> N >> M; //зчитування змінних(розмірів масиву)

int **p = new int *[N];//створення масиву вказівників на одновимірні підмасиви

for(int i = 0; i < N; i++)

{

p[i] = new int[M]; // створення одновимірного підмасиву

}

//Операції над масивом

// . . .

for(int i = 0; i < N; i++)

{

delete [] p[i]; //Видалення підмасивів

}

delete [] p; //Видалення масиву вказівників

Переваги та недоліки:

  • Можливість задавати розмір масиву під час виконання програми

  • Можливість додавати елементи

  • Засмічення пам'яті

Операції над масивами бувають математичними та іншими.

Математичні операції над масивами виконуються поелементно. Створюється новий масив, який заповнюється результатами дії оператора. Для цього, природно, масиви повинні бути однакових розмірів.

Також можна робити математичні операції між масивом і числом. У цьому випадку до кожного елементу додається (або інші операції) це число.

Також в масиві можна переставляти елементи (їх значення) – сортування. Масив можна аналізувати, відбирати якесь одне значення – максимальне, мінімальне, мода тощо.

Над масивом можна проводити всі ті дії що й над звичайними числами або ж символами.

Матриця — математичний об'єкт, записаний у вигляді прямокутної таблиці чисел (чи елементів кільця), він допускає операції (додавання, віднімання, множення та множення на скаляр). Зазвичай матриці представляються двовимірними (прямокутними) таблицями. Іноді розглядають багатовимірні матриці або матриці непрямокутної форми. Окремим випадком є вектор.

дві матриці таназиваються рівними, якщо рівні їх відповідні елементи, тобто.

Якщо дано дві матриці m-на-n A і B, можемо визначити їх суму A + B як матрицю m-на-n, що утворюється додаванням відповідних елементів, тобто, (A + B)[i, j] = A[i, j] + B[i, j]. Наприклад,

Якщо дано матрицю A і число c, можемо означити множення на скаляр cA як (cA)[i, j] = cA[i, j]. Наприклад,

Множення двох матриць має сенс лише тоді, коли число стовпчиків першої матриці дорівнює числу рядків другої матриці. Якщо A — матриця m-на-n (m рядків, n стовпчиків), а B — матриця n-на-p (n рядків, p стовпчиків), їх добуток AB є матрицею m-на-p (m рядків, p стовпчиків), що розраховується за формулою:

(AB)[i, j] = A[i, 1] * B[1, j] + A[i, 2] * B[2, j] + ... + A[i, n] * B[n, j] для кожної пари i та j.

    1. Зміст похідної. В практичних задачах, часто подаються певні результати експериментів у вигляді

табличних значень. Наприклад виміри певного процесу зроблені з певним інтервалом в часі. Тоді пошук похідної по даних в таблиці значеннях можна здійснити двома способами. Перший спосіб - це знаходження певної приблизної функції, яка б замінила би табличні значення. Другий спосіб - це знаходження похідної за сусідніми точками, що грунтується на фізичному змісті похідної, а саме що перша похідна - це швидкість. Тобто, знаходження похідної дозволяє оцінити миттєву швидкість певного процесу в різні моменти часу, таким чином ми отримуємо певну характеристику нашого процесу.

Існує багато різних методів знаходження похідної. Основні з них це:

  • Двоточкові методи

  • Трьохточкові методи

  • Використання першої інтерполяційної формули Ньютона для обчислення похідних функції

Длядвоточкових методів при обчисленні похідних використовується значення функції у двох точках. Приріст аргументу задається трьома способами, відкладаючи Δx = h вправо, вліво і в обидві сторони від досліджуваної точки. Відповідно виходить три двоточкових методу чисельного диференціювання:

метод 1

метод 2

метод 3


Суть зазначених методів проілюстрована на малюнку. Чисельне значення тангенса кута α утвореного дотичної до графіка y (x) і віссю абсцис, показує точне значення похідної (геометричний зміст похідної). Тангенси кутів α 1, α 2, α 3 відповідають наближеним значеннями похідних, визначених методами 1,2,3 відповідно.