
- •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. Задана дійсна матриця , . Розробити програму, яка міняє місцями діагональний елемент з мінімальним елементом у цьому рядку. Написати процедуру перетворення матриці та функцію пошуку номера мінімального елемента у векторі і використати її для пошуку номерів мінімальних елементів у рядках матриці. Вивести побудовану матрицю.