- •1. Основні поняття Object Pascal
- •Label { Розділ опису міток } Const { Розділ опису констант }
- •Дійсні дані зображуються в експоненціальній формі
- •Введення і виведення даних. Для введення і виведення даних використовуються процедури
- •Лабораторна робота № 1 Лінійні програми з розгалуженнями
- •2. Оператори повторень
- •Оператор for з зарезервованим словом to виконується за алгоритмом:
- •Завершення виконання оператора for.
- •Лабораторна робота № 2 Циклічні програми. Обчислення з заданою точністю
- •3. Структуровані типи даних. Масиви
- •Лабораторна робота № 3 Алгоритми обробки масивів
- •4. Алгоритми обробки багатовимірних масивів
- •Лабораторна робота № 4 Алгоритми обробки багатовимірних масивів
- •5. Упорядкування і пошук даних
- •Лабораторна робота № 5 Упорядкування і пошук даних
- •6. Структуровані типи даних. Множини
- •Лабораторна робота № 6 Множини
- •7. Символьні рядки
- •Лабораторна робота № 7 Символьні рядки
- •8. Процедури і функції
- •Лабораторна робота № 8 Процедури і функції
- •9. Процедури і функції. Процедурні типи
- •Лабораторна робота № 9 Процедурні типи
- •Теоретичні відомості для виконання лабораторної роботи
- •1. Формула середніх прямокутників
- •2. Формула трапецій
- •3. Формула Сімпсона (формула парабол)
- •Розв’язування рівнянь. Розв’язування рівнянь виду
- •10. Рекурсивні процедури і функції Рекурсія – це такий спосіб організації обчислювального процесу, при якому підпрограма під час виконання звертається сама до себе.
- •Лабораторна робота № 10 Рекурсивні процедури і функції
- •11. Динамічні структури даних
- •Дані, які використовуються у програмі, поділяються на статичні й динамічні.
- •Вказівник може бути у трьох станах:
- •Вказівники
- •Лабораторна робота № 11 Динамічні структури даних
- •12. Файли
- •Лабораторна робота № 12 Текстові файли
- •Додаток Процедури і функції Object Pascal
- •Література
- •Практикум
- •58012, Чернівці, вул. Коцюбинського, 2
Лабораторна робота № 8 Процедури і функції
Мета роботи:
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. Задана дійсна матриця , . Розробити програму, яка міняє місцями діагональний елемент з мінімальним елементом у цьому рядку. Написати процедуру перетворення матриці та функцію пошуку номера мінімального елемента у векторі і використати її для пошуку номерів мінімальних елементів у рядках матриці. Вивести побудовану матрицю.