You are on page 1of 3

Лабораторна робота № 9.

Функції
(2 завдання)
(оцінюється в 4 бали)

Завдання 1 (2 бали)
Задано текст, слова в якому розділені пробілами і розділовими знаками.
Розробити програму, яка знаходить і друкує всі слова, що входять у заданий
1.
текст по одному разу. Використати підпрограму для перевірки входження
слова в текст і підпрограму для виводу слів.
Задано масиви чисел A(n ) , n ≤ 300 і B(m) , m ≤ 400 . Розробити програму
побудови об’єднання масивів A  B і обчислення суми його елементів. (
2. A  B – множина елементів A і B , взятих по одному разу). Написати і
використати підпрограму для побудови об’єднання і підпрограму для
обчислення суми. Вивести елементи об’єднання та їх суму.
Задана матриця X (n , n ) , n ≤ 15 . Розробити програму перетворення заданої
матриці так, щоб добутки елементів рядків утворювали не спадну
3. послідовність. Написати підпрограму для перетворення матриці та
підпрограму для обчислення добутку елементів вектора і використати її для
обчислення добутків елементів рядків. Вивести отриману матрицю.
Задана матриця X (n , n ) , n ≤ 15 . Розробити програму побудови матриці Y(n, n )
за правилом: Y(i, j ) дорівнює скалярному добутку i -го рядка на j -ий
4. стовпчик матриці X . Написати підпрограму для побудови матриці та
підпрограму для обчислення скалярного добутку векторів і використати її для
обчислення скалярних добутків рядків і стовпчиків. Вивести отриману
матрицю.
Задана матриця A(n , n ) , n ≤ 15 . Розробити програму перетворення заданої
матриці так, щоб суми елементів стовпців утворювали не зростаючу
5. послідовність. Написати підпрограму для перетворення матриці та
підпрограму для обчислення суми елементів вектора і використати її для
обчислення сум елементів стовпців. Вивести перетворену матрицю.
Задана матриця X (n , n ) , n ≤ 15 . Розробити програму, яка будує вектори: A(i )
– сума елементів i -го рядка, B( j ) – сума елементів j -го стовпчика заданої
6. матриці, i , j = 1, 2 , ... , n . Написати підпрограму для побудови вектора та
підпрограму для обчислення суми елементів вектора і використати її для
обчислення сум елементів рядків і стовпців. Вивести отримані вектори.
Задано два масиви чисел A(n ), (n ≤ 300 ) і B(m) , (m ≤ 100 ) . Розробити програму

7.
обчислення суми ∑ sin x . ( A B – множина елементів
x∈ A B
A , що входять у B

і взятих по одному разу). Використати підпрограму для побудови перерізу і


підпрограму для обчислення суми. Вивести елементи перерізу та їх суму.
Задана матриця X (n , n ) , n ≤ 15 . Розробити програму, яка будує вектор B(k ) ,
(k ≤ n ) з номерів тих рядків матриці, елементи яких утворюють спадну
8. послідовність. Якщо таких рядків немає, то друкує повідомлення про це.
Використати підпрограму для побудови вектора і логічну підпрограму для
перевірки умови того, що послідовність спадна.
9. Задано текст, слова в якому розділені пробілами і розділовими знаками.
Розробити програму, яка вилучає всі повторні входження кожного слова в цей
текст. Використати підпрограму для вилучення слів і логічну підпрограму для
перевірки входження слова в текст. Вивести текст, що залишився після
вилучення слів.
Задана матриця A(n , n ) , n ≤ 15 . Розробити програму побудови вектора B(m)
(m ≤ n ) із номерів тих стовпців заданої матриці, які упорядковані за
10. спаданням. Написати підпрограму для побудови вектора та логічну
підпрограму для перевірки умови упорядкованості послідовності і
використати її для перевірки стовпців. Якщо таких рядків немає, то вивести
повідомлення про це.
Задано масиви чисел A(n ) , n ≤ 300 і B(m) , m ≤ 400 . Розробити програму
побудови симетричної різниці масивів A \ B  B \ A і пошуку її мінімального
елемента. ( A \ B  B \ A – множина елементів A , що не входять у B і
11. множина елементів B , що не входять в A і взятих по одному разу).
Використати підпрограму для побудови симетричної різниці і підпрограму
для пошуку мінімального елемента. Вивести елементи симетричної різниці та
її мінімальний елемент.
Задано два тексти, слова в яких розділені пробілами і розділовими знаками.
Розробити програму побудови нового тексту, в який входять слова першого і
12. другого текстів по одному разу, розділені пробілами. Використати
підпрограму для побудови нового тексту і підпрограму перевірки входження
слова в текст. Вивести побудований текст.
Задано два тексти, слова в яких розділені пробілами і розділовими знаками.
Розробити програму побудови нового тексту, в який входять всі слова
першого тексту, що не входять у другий текст, і всі слова другого тексту, що
13.
не входять в перший і розділені пробілами. Використати підпрограму для
побудови нового тексту і підпрограму перевірки входження слова в текст.
Вивести побудований текст.
Задано текст, слова в якому розділені пробілами і розділовими знаками.
Розробити програму, яка в словах непарної довжини цього тексту вилучає
14.
середню літеру. Використати підпрограму для перевірки довжини слова в
текст і підпрограму для видалення середньої літери.
Задано символ і текст, слова в якому розділені пробілами і розділовими
знаками. Розробити програму, яка знаходить і друкує всі слова, що містять
15.
заданий символ найбільшу кількість разів. Використати підпрограму для
підрахунку кількості входжень символу в слово і підпрограму для виводу слів.

Завдання 2 (2 бали)
Задано натуральне n . Розробити програму для обчислення заданих сум. При
обчисленні сум використати рекурсивні процедури або функції.

1. n
a k bk ( )
a 1 = 1, a k = 0.5 bk −1 + 0.5 a k −1 ,
∑ ,
=1 k !
k b1 = 1, bk = 2a k2−1 + bk −1 .
2. n
x x1 = 1, xi = 0.3xi −1 ,
∑ i

i 1+ y
=1
,
y1 = 1, yi = xi2−1 + yi −1 .
i
3. n
2k a 1 = 1, a k = 3bk −1 + 2a k −1 ,

k (1 + a
=1 + bk )
,
b1 = 1, bk = a k2−1 + bk −1 .
k

4. n
a b a 1 = 1, a k = 0.3bk −1 + 0.2a k −1 ,
∑ k k

k (k + 1)!
=1
,
b1 = 1, bk = a k2−1 + bk2−1 .
5. n
x x1 = 1, x2 = 2, x3 = 3,

i k
=1
i
! !
,
xi = xi −1 + xi − 2 + xi −3 .
6. n
ak  1  1  (− 1)k 

k (k + 1)!
, a k = 1 −  1 +  ⋅ ⋅ ⋅ 1 + .
(k + 1)! 
=1  2! 3!   
7. n
ak 1 1 1 1 1 1 1 1

k=1 3 k
, ak = + +
2 1 2 2 2 3
+ ⋅⋅⋅ +
2 k
.

8. n
(− 1)k +1 a , 1
sin 2 (a k −1 − 1) .

k =1 (2k + 1)!
k a0 = 1, ak = 5 +
3 k

9. n
(− 1)k +1 a , sin 2 (a k −1 − 1)

k=1 k !!
k a0 = 2 , ak =
k2
.

10. n
(− 1)k  ak 
k


k =m
  ,
k!  2 
a0 = 1, ak = 4a k −1 + 2 .

Завдання 2 (2 бали)
Задано натуральні n і m . Розробити програму для обчислення значень
заданих виразів. При обчисленні виразів використати рекурсивні процедури
або функції.

11. 3m
1!+ 2 !+ ⋅ ⋅ ⋅ + n !
12.
n+ (n − 1) + ⋅ ⋅ ⋅ + 1
m!!
13. um u 0 = 0, u1 = 1,
,
u m = u m−1 + u m− 2 ,
n !+ (n − 1)!+ ⋅ ⋅ ⋅ + 1!
14. 2m

1 1 1 1 1 1 1 1
+ + + ⋅⋅⋅ +
3 1! 3 2 ! 3 3 ! 3 n!
15. m!
2 n + 2 n −1 + ⋅ ⋅ ⋅ + 21

You might also like