Мета роботи:
1. Засвоєння структури процедур і функцій, звернення до процедур і функцій, структур параметрів та способів їх передачі.
2. Отримання практичних навичок розроблення програмних засобів з використанням процедур і функцій.
Завдання:
1. Задано многочлен
степеня
, коефіцієнти якого містяться у дійсному масиві
, та дійсні числа
. Розробити програму обчислення коефіцієнтів многочлена
і значень многочленів
та
у точках
,
. Написати і використати процедуру для обчислення коефіцієнтів і функцію для обчислення значення многочлена. Вивести обчислені коефіцієнти і таблицю значень многочленів, у кожному рядку якої розмістити значення
,
,
.
2. Задано масиви чисел
,
і
,
. Розробити програму побудови об’єднання масивів
і обчислення суми його елементів. (
– множина елементів
і
, взятих по одному разу). Написати і використати процедуру для побудови об’єднання і функцію для обчислення суми. Вивести елементи об’єднання та їх суму.
3. Задана матриця
,
. Розробити програму перетворення заданої матриці так, щоб добутки елементів рядків утворювали неспадну послідовність. Написати процедуру для перетворення матриці та функцію для обчислення добутку елементів вектора і використати її для обчислення добутків елементів рядків. Вивести отриману матрицю.
4. Задана матриця
,
. Розробити програму побудови матриці
за правилом:
дорівнює скалярному добутку
-го рядка на
-ий стовпчик матриці
. Написати процедуру для побудови матриці та функцію для обчислення скалярного добутку векторів і використати її для обчислення скалярних добутків рядків і стовпчиків. Вивести отриману матрицю.
5. Задана матриця
,
.. Розробити програму перетворення заданої матриці так, щоб суми елементів стовпців утворювали незростаючу послідовність. Написати процедуру для перетворення матриці та функцію для обчислення суми елементів вектора і використати її для обчислення сум елементів стовпців. Вивести перетворену матрицю.
6. Задана матриця
,
. Розробити програму, яка будує вектори:
– сума елементів
-го рядка,
– сума елементів
-го стовпчика заданої матриці,
. Написати процедуру для побудови векторів та функцію для обчислення суми елементів вектора і використати її для обчислення сум елементів рядків і стовпців. Вивести отримані вектори.
7. На площині задані множина
точок,
і множина
точок,
. За означенням віддаль між множинами точок - це віддаль між найближче розміщеними точками цих множин. Розробити програму обчислення віддалі між заданими множинами і визначення координат найближче розміщених точок (якщо таких пар точок декілька, то взяти одну із них). Для обчислення віддалі між множинами та визначення координат найближче розміщених точок використати процедуру, а для обчислення віддалі між точками – функцію.
8. Задано два масиви чисел
і
. Розробити програму обчислення суми
. (
– множина елементів
, що входять у
і взятих по одному разу). Використати процедуру для побудови перерізу і функцію для обчислення суми. Вивести елементи перерізу та їх суму.
9. На площині задано множину
точок,
, і окрему точку
. Розробити програму, яка підраховує кількість різних точок
із заданої множини таких, що чотирикутник
є квадратом і обчислює площу найменшого з них. Використати процедуру для підрахунку кількості точок і обчислення площі найменшого квадрата і логічну функцію для перевірки умови, що точки
утворюють квадрат.
10. Задана матриця
,
. Розробити програму, яка будує вектор
,
з номерів тих рядків матриці, елементи яких утворюють спадну послідовність. Якщо таких рядків немає, то друкує повідомлення про це. Використати процедуру для побудови вектора і логічну функцію для перевірки умови того, що послідовність спадна.
11. Задано текст, слова в якому розділені пробілами і розділовими знаками. Розробити програму, яка вилучає всі повторні входження кожного слова в цей текст. Використати процедуру для вилучення слів і логічну функцію для перевірки входження слова в текст. Вивести текст, що залишився після вилучення слів.
12. Задано масиви чисел
,
і
,
. Розробити програму побудови симетричної різниці масивів
і пошуку її мінімального елемента. (
– множина елементів
, що не входять у
і множина елементів
, що не входять в
і взятих по одному разу). Використати процедуру для побудови симетричної різниці і функцію для пошуку мінімального елемента. Вивести елементи симетричної різниці та її мінімальний елемент.
13. Задано два тексти, слова в яких розділені пробілами і розділовими знаками. Розробити програму побудови нового тексту, в який входять слова першого і другого текстів по одному разу, розділені пробілами. Використати процедуру для побудови нового тексту і функцію перевірки входження слова в текст. Вивести побудований текст.
14. Задана матриця
,
. Розробити програму побудови вектора
із номерів тих стовпців заданої матриці, які упорядковані за спаданням. Написати процедуру для побудови вектора та логічну функцію для перевірки умови упорядкованості послідовності і використати її для перевірки стовпців. Якщо таких рядків немає, то вивести повідомлення про це.
15. Задано дійсну матрицю
,
. Розробити програму побудови вектора
,
, за правилом:
дорівнює добутку квадратів тих елементів
-го рядка матриці, модулі яких належать проміжку
, якщо таких елементів немає, то
. Використати процедуру побудови вектора і функцію для обчислення добутку квадратів елементів. 16. Задана матриця
,
. Розробити програму, яка упорядковує за зростанням ті рядки, в яких міститься максимальний елемент матриці (максимальних елементів може бути декілька). Написати процедуру упорядкування вектора і використати її для упорядкування рядків та функцію для пошуку максимального елемента матриці. Вивести перетворену матрицю.
17. Задано два тексти, слова в яких розділені пробілами і розділовими знаками. Розробити програму побудови нового тексту, в який входять всі слова першого тексту, що не входять у другий текст, і всі слова другого тексту, що не входять в перший і розділені пробілами. Використати процедуру для побудови нового тексту і функцію перевірки входження слова в текст. Вивести побудований текст.
18. Задано масиви чисел
,
і
,
. Розробити програму обчислення суми модулів елементів перерізу масивів
. (
– набір елементів
, які містяться в
і взятих по одному разу). Використати процедуру для побудови перерізу і функцію для обчислення суми модулів його елементів. Вивести елементи перерізу та їх суму модулів.
19. Задана матриця
,
. Назвемо слідом матриці суму елементів головної діагоналі. Розробити програму обчислення слідів матриць
. Написати і використати процедуру множення матриць та функцію обчислення сліду матриці. Вивести матриці
та їх сліди.
20. Задана матриця
,
. Характеристикою рядка матриці назвемо суму модулів його від’ємних елементів. Розробити програму перетворення цієї матриці перестановкою рядків так, щоб вони розміщувалися у порядку неспадання їх характеристик. Написати процедуру перетворення матриці і функцію для обчислення суми модулів від’ємних елементів вектора і використати її для обчислення характеристик рядків. Вивести перетворену матрицю.
21. Задано текст, слова в якому розділені пробілами і розділовими знаками. Розробити програму, яка вилучає із заданого тексту слова, в яких повторюються букви. Використати процедуру перетворення тексту і функцію перевірки повторення букв у слові. Вивестивати текст, що залишився після вилучення слів.
22. Задана дійсна матриця
,
,
та дійсні числа
,
. Розробити програму обчислення значень полінома
, у точках
,
; де
– перший по порядку додатний елемент
-го рядка матриці. Якщо в
-му рядку немає додатних елементів, то
. Використати процедуру обчислення коефіцієнтів та функцію обчислення значень полінома. Надрукувати обчислені коефіцієнти і таблицю значень полінома, у кожному рядку якої розмістити значення
,
.
23. Задана цілочислова матриця
,
. Розробити програму побудови вектора
,
, за правилом:
дорівнює кількості різних елементів
-го рядка матриці
. Написати процедуру побудови вектора та функцію для підрахунку кількості різних елементів вектора і використати її для підрахунку кількості різних елементів у рядку матриці.
24. Задана цілочислова матриця
,
. Розробити програму побудови вектора
,
із номерів рядків матриці, елементи яких є симетричними послідовностями виду 1,2,3,3,2,1 або 1,2,3,5,3,2,1. Написати і використати процедуру побудови вектора і функцію для розпізнавання симетричних послідовностей. Надрукувати вектор по сім елементів у рядку.
25. Задано дійсну матрицю
,
. Розробити програму побудови вектора
,
, за правилом:
дорівнює середньому арифметичному значенню елементів
-го рядка матриці. Використати процедуру побудови вектора і функцію для обчислення середнього арифметичного.
26. Задано дійсні матриці
. Назвемо слідом матриці суму діагональних елементів. Розробити програму обчислення слідів матриць
і
. Використати процедуру обчислення добутку матриць і функцію обчислення сліду. Вивести матриці і значення їх слідів.
27. Задано масиви чисел
і
. Розробити програму обчислення добутку елементів симетричної різниці масивів
. (
– набір елементів
, що не входять у
, і набір елементів
, що не входять в
, взятих по одному разу). Використати процедуру для побудови симетричної різниці і функцію для обчислення добутку. Вивести елементи симетричної різниці та їх добуток.
28. Задана матриця
,
. Назвемо характеристикою стовпчика суму модулів його від’ємних непарних елементів. Розробити програму перетворення цієї матриці перестановкою стовпчиків так, щоб вони розміщувалися у порядку незростання їх характеристик. Використати процедуру перетворення матриці і функцію для обчислення характеристик. Вивести перетворену матрицю.
29. Задана дійсна матриця
,
. Назвемо сусідами елемента матриці
елементи
з індексами
,
,
. Розробити програму, яка будує матрицю
за правилом:
є середнім арифметичним значенням усіх сусідів елемента
,
. Написати і використати процедуру для побудови матриці
і функцію для обчислення середнього арифметичного значення сусідів. Вивести побудовану матрицю.
30. Задана дійсна матриця
,
. Розробити програму, яка міняє місцями діагональний елемент з мінімальним елементом у цьому рядку. Написати процедуру перетворення матриці та функцію пошуку номера мінімального елемента у векторі і використати її для пошуку номерів мінімальних елементів у рядках матриці. Вивести побудовану матрицю.