
Хід роботи
Виконати свій варіант завдання 1 та завдання 2.
Записати її як файл в бібліотеку.
Відкомпелірувати її і запустити на виконання для кількох значень, щоб перевірити всі описані варіанти значення функції.
Записати відкоректовану програму, вихідні данні та результати роботи.
Контрольні питання.
Дати поняття оператора процедури.
Визначити поняття формальних параметрів. Локальні і глобальні об’єкти.
Описати конструктор процедур.
Визначити поняття фактичних параметрів.
Описати конструктор функцій.
Описати процес застосування рекурсивно-визначених функцій.
Переваги і недоліки рекурсивних алгоритмів.
Завдання 1.
Описати процедури додавання і множення nn матриць, що складаються із дійсних чисел. За допомогою цих процедур запрограмувати обчислення матриці B=AХ+ХA+E по даним А та Х.
Описати процедуру пошуку найбільшого та найменшого елементу масиву. За допомогою цієї процедури скласти програму, яка визначає чи співпадають найбільший і найменший елементи двох масивів A[1..n], B[1..n].
Описати процедури пошуку середнього по величині елементу масиву A[1..2n+1] і середнього арифметичного елементів цього масиву. За допомогою цих процедур скласти програму яка порівнює середнє за величиною і середнє арифметичне в масиві A[1..99].
Описати процедуру обчислення НОД і НОК двох чисел. За допомогою цієї процедури складіть програму, яка обчислює НОД і НОК масиву натуральних чисел.
Описати процедуру пошуку найбільшого та найменшого елементу масиву A[1..n]. за допомогою цієї процедури складіть програму, яка визначає координати вершин найменшого прямокутника зі сторонами, паралельними осям координат і який містить у собі множину точок T(x1, y1), … , T(xn, yn).
Описати процедуру порівняння двох слів. Скласти програму, яка друкує прізвища людей з даним іменем.
Описати процедуру перевірки розкладу натурального числа в суму двох квадратів. Скласти програму яка вибирає з даного масиву ті і тільки ті числа, які розкладуються в суму двох квадратів.
Описати процедуру перевірки простоти числа. Описати процедуру перевірки числа на розкладеність в суму виду 1+2а. Скласти програму, яка вибирає з даного масиву чисел ті, які задовільняють двом вимогам.
Опишіть процедуру заміни підслова p на слово r в слові q. Скласти програму, яка робить пошук і заміну підслова p на слово r в слові q до тих пір, поки це можливо.
Описати процедуру вирізки зі слова і склейки слів. Складіть програму, яка з даного масиву слів вибирає ті, які мають непарну довжину і вирізає з них 2k-1 середніх букв, а ліву та праву частини, які залишились, міняє місцями.
Описати процедуру читання слова з файлу INPUT. Описати процедуру вирізки закінчення слова. Скласти програму яка з даного файлу слов вибирає слова, що починаються з даного початку і друкує їх закінчення.
Описати процедуру вирізки початку слова. Скласти програму яка з масиву слів вибирає слова, що закінчуються даним словом і друкує їх початок.
Описати процедуру обернення слова, порівняння слів. Скласти програму, яка в даному наборі слів шукає і друкує обернені слова.
Опишіть процедуру переводу цілого числа з десятиричної системи в 8-ричну систему счислення. Опишіть процедуру переводу правильного десятичного дробу в 8-ричну з заданою кількістю розрядів. Скласти програму переводу довільного дійсного числа з 10- ричної в 8-ирчну систему счислення.
Опишіть процедуру розпізнавання повних квадратів. Скласти програму, яка в даній послідовності чисел знаходить найбільшу довжину підпослідовності членів, що ідуть підряд і є повними квадратами.
Опишіть процедуру додавання матриць А і В. опишіть процедуру транспонування матриці А. Опишіть процедуру перемноження матриць А і В. скласти програму обчислення матриці М=АВ+АВ+ВА+ВА.
Опишіть процедуру сортування масиву дійсних чисел. Опишіть процедуру перестановки стовбців матриці. Складіть програму яка в матриці А переставляє стовбці так, щоб елементи першого рядку були впорядковані за зростанням.
Описати процедуру одночасної перестановки рядків матриці. Описати процедуру перестановки стовпців матриці. Скласти програму перестановки рядків та стовпців матриці так, щобщоб в отриманій матриці головна діагональ складалась з діагональних елементів вихідної матриці, впорядкованих по зростанню.
Завдання 2.
Описати функцію f(x) – пошуку меншого власного дільника числа х. Скласти програму розкладу числа N на прості множники.
Описати функцію y=arcsin(x). Скласти програму розв’язку рівняння sin(ax+b)=c.
Описати функцію y=arccos(x). Скласти програму розв’язку рівняння cos(аx+b)=c.
Описати функції f(x)=max(sin(x), cos(x)) i g(x)=min(sin(x), cos(x)). Скласти програму табуляції функції y= f(x)+ g(x).
Описати функцію знаходження медіани трикутника. Скласти програму пошуку всіх медіан трикуитника, заданого сторонами a, b, c.
Описати функцію f(x) – число, яке складається з цифр, з яких починається слово х. Наприклад: f(’23 жовтня’)=23; f(’січень 1998’)=0. Скласти програму яка друкує числа, з яких починається слово в послідовності слів.
Описати функцію f(x) – кількість різних простих дільників числа х. Скласти програму пошуку всіх чисел, що мають k різних простих дільників.
Описати функцію f(x) – дробова частина (х). Скласти програму пошуку числа з найбільшою дробовою частиною з даного набору чисел.
Описати функцію f(x) – число, яке можна отримати з натурального числа х перестановкою цифр в оберненому порядку. Скласти програму, яка друкує симетричні числа з набору натуральних чисел.
Описати функцію f(x) – число, яке складається з усіх непарних цифр натурального числа х. (Якщо всі цифри числа х парні, f(x)=0 ).скласти програму, яка друкує значення функції f(x1), …, f(xn) для набору чисел.
Описати функцію f(x) – кількість непарних цифр натурального числа х. Скласти програму, яка роздруковує значення функції f(x1), …, f(xn).
Описати функції d1(x, y), fi(x, y), які визначаються формулами
d1(x, y)=|x+iy|, fi(x, y)=arg(x+iy).
Скласти програму переводу набору чисел z1, …, zn , де zi=xi+i*yi , в тригонометричну форму.
Описати фнукцію f(x, y) – кількість букв х у слові y . Скласти програму, яка знаходить слово, що містить найбільшу кількість входжень даної букви.
Описати функцію f(x, n) – округлення дійсного числа х з точністю
.
Описати функцію y=arcsec(x). Скласти програму розв’язку рівняння
через функцію arcsec.
Описати функцію y=arcсоsec(x). Скласти програму розв’язку рівняння
через функцію arcсоsec.
Описати функцію f(x, y), яка перевіряє, чи можливо переставивши букви в слові х отримати слово y.
Два натуральних числа називаються дружніми, якщо кожне з них дорівнює сумі всіх дільників іншого, за виключенням його самого (наприклад, числа 220 і 284). Описати процедуру перевірки пари чисел на “дружність”. Скласти програму друкування всіх “дружніх ” чисел, що не перевищують заданого натурального числа.