- •Лабораторна робота №1 Тема: створення та обробка динамічних масивів
- •Короткі теоретичні відомості
- •Приклади до виконання лабораторної роботи
- •Варіанти індивідуальних завдань
- •Лабораторна робота №2 Тема: створення та обробка рядків
- •Короткі теоретичні відомості
- •Приклад до виконання лабораторної роботи
Варіанти індивідуальних завдань
Уведено логічний вектор А={ai} і дійсний Х={хi} і=1.. n. Скласти функцію для перетворення вектора Х за правилом: якщо ai=1, то хi помножити на 7/10, інакше – розділити на -10/7. Потім збільшити вектор Х найбільшим серед додатних і найменшим серед від’ємних елементами.
Скласти функцію для обчислення матриці B={bij}, яка є добутком числа g на матрицю А={aij} розмірності n n. Число g – найменьший елемент заданого вектора Z. Потім у матриці В замінити діагональні елементи найбільшими елементами кожного стовпця відповідно.
“Життя” – це багатоклітинна істота, яка населяє прямокутну пустелю. Пустеля розбита на комірка, подібні до клітин шахівниці. Комірка може бути порожньою або вміщати одну клітинку життя. У цьому світі “життя” розвивається за кроками. За один крок в одних комірках клітини гинуть, а в інших- зароджуються. Зміна поколінь “життя” відбувається за такими правилами:
- сусідами клітини називаються клітини, що знаходяться у восьми комірках, дотичних з осередком, що містить клітину;
- якщо клітина має двох або трьох сусідів, то вона зберігає себе на наступному такті “життя”;
- якщо клітина має більше ніж три або менше ніж два сусіди – вона гине. У першому випадку – від перенаселеності, у другому – від “самотності”;
- якщо у клітині немає “життя”, але у неї рівно три сусідні клітини, то у ній зароджується “життя”.
Необхідно написати програму, що дозволяє визначати стан “життя” через вказану кількість кроків. Питання про розміри пустелі та її заповнення вирішити самостійно.
Скласти функцію для обчислення вектора Z={zi}, i=1..m, що дорівнює добутку матриці А={aij} розмірності m n на вектор Х={хj}, елементи якого обчислюють за формулою
Перевірити, чи являються елементи
вектора Z упорядкованими за збільшенням.
Якщо ні, то показати перший елемент, що
порушив порядок, а також номер цього
елемента.
5 Скласти функцію для підрахунку елементів матриці С={cij}, розмірності m g, що являється добутком матриць А={aij} розмірності m n і B={bij} розмірності n g. У масиві В поміняти місцями рядки, які вибирає користувач.
Задано матрицю А={aij} розмірності mn. Скласти функцію для побудови логічного вектора B={bi} за наступним правилом: якщо у рядку з номером k кількість додатних елементів більша ніж кількість від’ємних, то bk=1(true), інакше bk=0(false). Потім необхідно розташувати елементи кожного стовпця масиву А у порядку збільшення.
7. У масиві А={aij} розмірності n n знайти різницю між сумою і добутком елементів масиву. Потім у кожному рядку знайти найбільший елемент і впорядкувати всі елементи у правильному порядку відносно до найбільшого, тобто якщо існує рядок {1.2; 0.5; 7.0; 2.6; 5.0}, то після впорядкування має вийти рядок {0.5; 1.2; 7.0; 5.0; 2.6}”.
8. Скласти функцію для підрахунку елементів матриці С={cij}, розмірності m g, що являється добутком матриць А={aij} розмірності m n і B={bij} розмірності n g. У масиві В поміняти місцями рядки, які вибирає користувач
Задано матрицю А={aij} розмірності nn. Скласти функцію для побудови вектора B={bi} за наступним правилом: якщо aii0, то bi узяти таким, що дорівнює сумі елементів і - го рядка, інакше – суму абсолютних величин і - го стовпця. Потім у матриці А розташувати елементи кожного рядка у порядку зростання.
У масиві А={aij} розмірності n n знайти різницю між сумою і добутком елементів масиву. Потім у кожному рядку знайти найбільший елемент і впорядкувати всі елементи після найбільшого.
Задано матрицю А={aij} розмірності nn. Скласти функцію для побудови вектора B={bi} за наступним правилом: якщо aii0, то bi узяти таким, що дорівнює сумі елементів і - го рядка, інакше – суму абсолютних величин і - го стовпця. Потім у матриці А розташувати елементи кожного рядка у порядку зростання.
Написати програму, яка будує матрицю А розмірності nn з компонентами, визначуваними за формулою: aij= tg(i+j)*x, i,j=1..n, x – довільна дійсна величина. Потім у кожному рядку А замінити найменьший елемент абсолютною величиною діагонального елемента, а від’ємні елементи замінити їх кубами.
Задано дві матриці А={aij} розмірності nn і B={bij} розмірності mg. Для кожної з них поміняти місцями другий і третій стовпці та елементи рядка, який містить найбільший елемент матриці, замінити нулями. Підрахувати значення найбільшого мінора для матриць А і В.
Задано дві матриці А={aij} розмірності nn і B={bij} розмірності mg. Для кожної з них поміняти місцями другий і третій стовпці та елементи рядка, який містить найбільший елемент матриці, замінити нулями.
Скласти функцію для підрахунку елементів матриці С={cij}, розмірності m g, що являється добутком матриць А={aij} розмірності m n і B={bij} розмірності n g. У масиві В поміняти місцями рядки, які вибирає користувач.
Скласти функцію для обчислення елементів матриці С={cij}, яка є сумою матриць А={aij} і B={bij} розмірності n n. Причому матриця А може бути задана довільно, а елементи матриці B визначаються наступним чином:
Потім у матриці А замінити всі від’ємні елементи найменшим у кожному рядку відповідно, а додатні- замінити залишком від ділення елемента на 2.
Скласти функцію для обчислення елементів вектора Z={zi}, i=1..m, що дорівнює добутку матриці А={aij} розмірності m n на вектор Х={хj}, елементи якого обчислюють за формулою Перевірити, чи являються елементи вектора Z упорядкованими за зменшенням. Якщо ні, то показати перший елемент, що порушив порядок зменшування, а також номер цього елемента, виправити порушення, тобто розташувати елементи у порядку зменшування.
Вибір початкового опорного рішення транспортної задачі методом Фогеля. Теоретичний матеріал див. у методичних вказівках щодо виконання семестрової роботи з дисципліни “Методи оптимізації”
Є n міст, зв'язаних мережею шосейних доріг. Відома відстань між містами, якщо вони зв'язані дорогою. Необхідно знайти довжини найкоротших шляхів між будь-якими двома відомими містами. Для вирішення поставленої задачі необхідно використати метод Шимбела, розглянутий в розділі “Теорія графів: задачі пошуку найкоротших шляхів” дисципліна “Дискретна математика”.
Скласти функцію, яка у заданій матриці А розмірності mn знаходить число R - найменше з позитивних відношень, де s – номер стовпця, у якому елемент ais є негативним. У масиві А замінити елементи стовпця знайменшим значенням нулями.
Написати програму, яка будує матрицю А розмірності nn з компонентами, визначуваними за формулою: aij= sin(i+j)x, i,j=1..n, x – довільна дійсна величина. Потім у кожному рядку А замінити найбільший елемент абсолютною величиною діагонального елемента, а від’ємні елементи замінити їх кубами. Далі розташувати елементи кожного рядка у порядку зростання.
Задано три послідовності: U(розмірності n), X(розмірності m), Y(розмірності r). Враховуючи, що послідовність U – універсальна множина, послідовності X і Y – підмножини універсальної множини, необхідно знайти:
- об'єднання множин X і Y;
- перетин множин X і Y;
- різниця множин X і Y, Y і X;
- доповнення множин X і Y;
- прямий добуток множин X і Y.
Передбачити можливість некоректного вводу елментів множин U, X, Y.
Існує n груп 2-го і 3-го курсів, які необхідно розподілити в n комп'ютерних класів для проведення лабораторних занять. На підставі наявних статистичних досліджень визначено продуктивність кожної групи у кожному комп'ютерному класі. Необхідно так розподілити групи по класах, щоб сумарна продуктивність на заняттях з програмування була максимальною. Для вирішення поставленої задачі використати довільний мтод розв'язку задачі про призначення (задача вибору) (наприклад, угорський метод дивись в методичних вказівках щодо виконання семестрової роботи з дисципліни “Методи оптимізації” ).
В масиві А={aij} розмірності n n знайти різницю між сумою і добутком елементів масиву. Потім у кожному рядку знайти найбільший елемент і впорядкувати всі елементи у правильному порядку відносно до найбільшого, тобто якщо існує рядок {1.2; 0.5; 7.0; 2.6; 5.0}, то після впорядкування має вийти рядок {0.5; 1.2; 7.0; 5.0; 2.6}.
Скласти функцію для обчислення матриці B={bij}, яка є добутком числа g на матрицю А={aij} розмірності n n. Число g – найбільший елемент заданого вектора Z. Потім у матриці В замінити діагональні елементи найбільшими елементами кожного стовпця відповідно.
Створіть матрицю А={aij} розмірності n n. Скласти функції для обчислення векторів B={bi} і С={ci}. Вектор В складається з елементів того рядка матриці А, у якому розташовано найбільший елемент матриці, вектор С складається з елементів того стовпчика матриці А, у якому знаходиться найменший елемент матриці. Потім упорядкувати елементи знайдених векторів у порядку зростання елементів.
Задано дві матриці А={aij} розмірності nn і B={bij} розмірності mg. Для кожної з них визначити добуток від’ємних елементів і їх кількість. Упорядкувати елементи рядків у матриці А і стовпців матриці В у порядку зростання лінійним швидким сортуванням.
Задано матрицю А={aij} розмірності mn. Скласти функцію для побудови логічного вектора B={bi} за наступним правилом: якщо у рядку з номером k кількість додатних елементів більша ніж кількість від’ємних, то bk=1, інакше bk=0. Потім необхідно розташувати елементи кожного стовпця масиву А у порядку зменшення лінійним сортуванням.
Задано матрицю А={aij} розмірності nn. Скласти функцію для побудови вектора B={bi} за наступним правилом: якщо aii0, то bi узяти таким, що дорівнює сумі елементів і - го рядка, інакше – суму абсолютних величин і - го стовпця. Потім у матриці А розташувати елементи кожного рядка у порядку зростання.
Уведено матрицю А={aij} розмірності mn. Скласти функцію для побудови логічного вектора B={bi} за наступним правилом: якщо і - ий рядок матриці А утворює зростаючу послідовність елементів, то bk=1, інакше bk=0. Потім у матриці А для кожного рядка визначити номери найменших елементів і добуток елементів, що йдуть за ними.
Уведено логічний вектор А={ai} і дійсний Х={хi} і=1.. n. Скласти функцію для перетворення вектора Х за правилом: якщо ai=1(true), то хi помножити на 10, інакше – розділити на -10. Потім у векторі Х замінити додатні елементи найбільшим серед додатних, а від’ємні – найменшим серед від’ємних.
