Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Програмування

.pdf
Скачиваний:
60
Добавлен:
23.02.2016
Размер:
1.99 Mб
Скачать

©Караванова Т.П., Любарщук Є.А., Скутар І.Д.

a)яка заробітна платня працівника з найбільшим стажем роботи (якщо їх кілька — вивести інформацію про всіх таких працівників);

b)який стаж у працівника з найбільшою заробітною платнею (якщо їх кілька вивести інформацію про всіх таких працівників);

c)кількість працівників з найбільшою заробітною платнею і їхні порядкові номери в масиві;

d)кількість працівників з найбільшим стажем роботи і їхні порядкові номери в масиві;

e)упорядкувати за зростанням інформацію про заробітну платню і відповідно до цього зробити зміни в масиві, який містить інформацію про стаж роботи працівників;

f)упорядкувати за спаданням інформацію про стаж роботи працівників підприємства і відповідно до цього зробити зміни в масиві, який містить інформацію про заробітну платню.

17.У деяких видах спортивних змагань виступ кожного спортсмена незалежно оцінюється кількома суддями, потім з усієї сукупності оцінок вилучаються найвища та найнижча, а для тих оцінок, що залишилися, визначається середнє арифметичне, яке і йде у залік спортсмену. Якщо найвищу оцінку виставило кілька суддів, то з сукупності оцінок вилучається лише одна така оцінка (аналогічно поводяться з найнижчими оцінками). Нехай n (n≥3) суддів виставили одному зі спортсменів відповідні оцінки: a1, a2, …, an. Визначити, яка остаточна оцінка піде в залік цьому спортсмену.

18.Дано одновимірний масив цілих чисел [ ], де = 1,2, … , та 0 < [ ] ≤ . Надрукувати елементи масиву за таким правилом:

a)першим елементом завжди є A[1];

b)значення поточного виведеного елемента масиву є порядковим номером наступного елемента цього масиву.

Процес завершується тоді, коли буде надруковано останній елемент масиву, або ж порядковий номер виведеного елемента дорівнюватиме його значенню.

19.Визначити довжину інтервалу, на який припадають значення членів цілочислової послідовності x1, x2, …, xn (n>1, ціле).

20.Дано дійсні числа K,L(K≤L), натуральне число n та послідовність цілих чисел a1,a2,…,an. Визначити, які цілі числа з інтервалу [K,L] є членами послідовності a1,a2,…,an.

21.Дано натуральне число n та послідовність цілих чисел a1,a2,…,an. Визначити в порядку зростання всі цілі числа з відрізка [K,L], що не входять в послідовність a1,a2,…,an, якщо K мінімальне значення цієї послідовності, а L відповідно максимальне значення.

11

©Караванова Т.П., Любарщук Є.А., Скутар І.Д.

22.Дано натуральне число n та послідовність дійсних чисел a1, a2, …, an. З’ясувати, чи буде ця послідовність неспадною, якщо в ній замінити всі відємні члени їх модулями.

23.Дано непарне ціле n (n<1) та дві послідовності чисел a1,a2,…,an, b1,b2,…,bn. Визначити, в якій з цих послідовностей після впорядкування посередині буде стояти більший член.

24.Дано натуральне число n та послідовність дійсних чисел a1,a2,…,an. Після впорядкування цієї послідовності за спаданням визначити:

a)скільки членів заданої послідовності залишилося стояти на своїх місцях;

b)порядкові номери членів заданої послідовності, які перемістилися на інше місце;

c)на якому місці в заданій послідовності знаходився член, що стоїть тепер на k-му місці.

25.Дано натуральне число n, дійсні числа x, a1,a2,…,an (a1≤a2≤ …≤an).

a)Визначити індекси членів послідовності a1,a2,…,an, між якими необхідно поставити число x таким чином, щоб не порушити її неспадання.

b)Утворити послідовність b1,b2,…,bn+1, членами якої є числа x, a1, a2, …, an і для якої виконується умова b1≤b2≤ …≤bn+1.

26.Дано натуральні n, m (n<m) та дійсні числа a1,a2,…,an, b1, b2, …, bm.

Визначити:

a)члени, які належать обом послідовностям;

b)сукупність значень членів, з яких складаються обидві послідовності;

c)чи всі члени послідовності a1,a2,…,an входять у послідовність b1, b2, …, bm;

d)які члени послідовності a1,a2,…,an не входять у послідовність b1, b2, …, bm;

e)які члени послідовності b1,b2,…,bm не входять у послідовність a1, a2, …, an.

27.Дано натуральне число n та послідовність дійсних чисел a1, a2, …, an. Визначити:

a)усі числа, що входять у послідовність по одному разу;

b)числа, взяті по одному з кожної групи однакових чисел;

c)кількість груп однакових членів послідовності;

d)кількість різних членів послідовності;

e)кількість членів, що входить до послідовності більше одного разу.

12

©Караванова Т.П., Любарщук Є.А., Скутар І.Д.

Завдання 5.

Розробити дві програми для задачі згідно варіанту. Перший програма з використанням локальних (статичних) масивів. Друга програма з використанням динамічних масивів, які створювати за допомогою функцій або операторів. При розв’язуванні використати змінну(або декілька змінних) типу вказівник, яка би вказувала поточний елемент масиву(або на деякий елемент масиву).

1.Дано натуральні числа n, m та випадкові дійсні числа, що утворюють прямокутну таблицю A[i,j], де i=1,2,…,n; j=1,2,…,m. Роздрукувати

1)елементи таблиці, розташувавши їх по рядках та стовпчиках відповідно один під одним;

2)у рядок елементи, розташовані в першому стовпчику;

3)у рядок елементи, розташовані в останньому стовпчику;

4)у рядок елементи, розташовані на головній діагоналі (обидва індекси яких співпадають);

5)у рядок елементи, розташовані на бічній діагоналі;

6)елементи головної діагоналі, розташувавши їх на своїх місцях у таблиці і залишивши місця для інших елементів порожніми;

7)елементи бічної діагоналі, розташувавши їх на своїх місцях у таблиці і залишивши місця для інших елементів порожніми;

8)елементи, розташовані по зовнішньому контуру таблиці, залишивши місця для інших елементів порожніми.

2.Дано натуральні числа n, m та матриці цілих чисел A[i,j], B[i,j], де i=1,2,…,n; j=1,2,…,m. Обчислити значення елементів матриці C[i,j], якщо відомо що:

1)

 

= + ;

2)

 

= ( + ) + ( 2 + 2);

3)

 

= + .

3.Дано таблицю B[i,j], де i=1,2,…,n, j=1,2,…,m. Надрукувати:

1)суму елементів кожного стовпчика;

2)середнє арифметичне кожного стовпчика.

4.Дано квадратну дійсну таблицю порядку n. Усі максимальні елементи заданої таблиці замінити нулями.

5.Елементи цілочислової прямокутної матриці розміром n*m задано випадковим чином. Надрукувати пари індексів:

1)першого максимального елемента;

2)останнього мінімального елемента;

3)всіх максимальних елементів.

6.Дано прямокутну цілочислову таблицю порядку 10*n. Визначити середнє арифметичне максимального та мінімального її значень.

13

©Караванова Т.П., Любарщук Є.А., Скутар І.Д.

7.Дано квадратну дійсну таблицю розмірності n. Обчислити кількість:

1)входжень заданого елемента x;

2)максимальних елементів;

3)мінімальних елементів.

8.Дано цілочислова прямокутна таблиця порядку n*m. Усі елементи таблиці, менші за середнє арифметичне її значень, замінити на 1, більші на 1.

9.Дано таблицю B[i,j], де i,j=1,2,…,n. За допомогою заданої таблиці знайти елементи масиву Cj, (j=1,2,…,n), значення яких дорівнюють:

1)сумі елементів відповідних рядків таблиці;

2)сумі елементів відповідних стовпчиків таблиці;

3)мінімальним елементам відповідних стовпчиків таблиці;

4)сумі максимального та мінімального значень відповідних рядків таблиці;

5)сумі першого і останнього елементів відповідних стовпчиків таблиці.

10.У даній дійсній матриці розмірністю 6*9 знайти суму елементів рядка, що містить найбільший елемент. Вважається, що такий елемент в матриці єдиний.

11.Дано таблицю A[i, j], де i = 1,2,…,n; j = 1,2,…,m. У цій таблиці поміняти місцями елементи:

1)першого та останнього рядків;

2)першого та останнього стовпчиків;

3)k-го та l-го рядків;

4)k-го рядка та l-го стовпчика.

12.Дано квадратну матрицю розмірності n. Надрукувати:

1)індекси елементів, що розташовані на бічній діагоналі;

2)суму елементів бічної діагоналі;

3)елементи бічної діагоналі у порядку зростання.

13.Знайти різницю між найменшим та найбільшим значенням елементів головної діагоналі квадратної матриці розмірністю n.

14.Розклад руху N маршрутів автобусів по M зупинках міста протягом однієї години записаний в таблицю розміром N*M. Вважатимемо, що кожний автобус може побувати на деякій зупинці лише один раз, а значення 0 в таблиці означає, що даний автобус на цій зупинці протягом цього часу не зупиняється. Визначити:

1)чи є маршрути, на яких не зустрінеться жодна пара автобусів;

2)автобуси яких маршрутів зустрінуться на одній зупинці (якщо такі є);

3)на яких зупинках не зупиниться жоден автобус;

4)автобуси яких маршрутів не ходять протягом цього часу;

14

©Караванова Т.П., Любарщук Є.А., Скутар І.Д.

5)на якій зупинці зупиняється найбільше автобусів (якщо їх кілька — вказати всі);

6)на якій зупинці зупиняється найменше автобусів (якщо їх кілька — вказати всі).

15.Відомо, що в школі N класів (15≤N≤20) і в кожному класі навчається по 30 учнів. Підсумковий результат з математики (сума всіх оцінок за семестр) учнів всієї школи виписаний у вигляді таблиці розміром N*30, де кожний рядок це підсумкові оцінки учнів даного класу з математики відповідно до списку в класному журналі. Визначити порядкові номери учнів у кожному класі, які мають найкращі та найгірші підсумкові бали з математики. Визначити також найкращих та найгірших учнів по всій школі.

16.Таблицю футбольного чемпіонату задано квадратною матрицею порядку n,

вякій всі елементи, що належать головній діагоналі, дорівнюють нулеві, а кожний елемент, що не належить головній діагоналі, дорівнює 2, 1 або 0 (кількості очок, що набрані в грі: 2 — виграш, 1 — нічия, 0 — програш). Визначити:

1)кількість команд, які мають більше перемог, ніж поразок;

2)номери команд, що пройшли чемпіонат без поразок;

3)чи є хоча б одна команда, що виграла більше половини ігор.

17.Дано натуральне число n≥2 та елементи дійсного двовимірного масиву , де i, j = 1,2,..,n. Побудувати послідовність b1,b2,…,bn, що складається з нулів та одиниць, в якій = 1 тоді і тільки тоді, коли:

1)елементи i-го рядка утворюють зростаючу послідовність;

2)елементи i-го рядка утворюють зростаючу або спадну послідовність.

18.Дано натуральне число n та дійсні елементи квадратної матриці порядку n. Вважатимемо рядок матриці позначеним, якщо елемент цього рядка, що належить головній діагоналі, додатний. Для кожного позначеного рядка обчислити:

1)максимальний елемент;

2)різницю між першим та останнім елементом;

3)середнє арифметичне елементів.

19.Дано натуральні числа n, m та дійсні числа, що утворюють прямокутну таблицю порядку n*m. У таблиці впорядкувати за зростанням елементи:

1)в кожному рядку;

2)в кожному стовпчику.

20.Вважатимемо рядок квадратної матриці порядку n позначеним, якщо перший елемент цього рядка — нульовий. Вивести елементи заданої матриці в такому вигляді: в кожному позначеному рядку — впорядковані за зростанням, а в інших — за спаданням.

15

©Караванова Т.П., Любарщук Є.А., Скутар І.Д.

21.Дано двовимірний квадратний масив чисел розмірністю n. Повернути його за годинниковою стрілкою на 90°, 180°, 270°.

22.Дано квадратну матрицю розмірністю n. Вважатимемо, що ця таблиця умовно розбита на такі частини:

a)

 

б)

 

в)

 

 

 

 

 

 

 

 

 

 

 

 

 

Знайти:

1)середнє арифметичне кожної з частин;

2)максимальне значення кожної з частин;

3)мінімальне значення кожної з частин.

Примітка. У пункті в) діагональні елементи не враховуються.

23.Дано ціле непарне n (n > 0). Розташувати в квадратній таблиці розміром n послідовність натуральних чисел 1,2,..., 2 таким чином, щоб найменше число знаходилось в центрі, а всі наступні заповнювали таблицю

послідовно по контурах, починаючи з верхнього лівого кута кожного наступного контуру. Наприклад, для n=5:

10

11

12

13

14

25

2

3

4

15

24

9

1

5

16

23

8

7

6

17

22

21

20

19

18

24.Дано ціле n (n > 0). Розташувати в квадратній таблиці розміром n послідовність натуральних чисел 1, 2, ..., 2 таким чином, щоб найменше число було в лівому нижньому куті, найбільше — у правому верхньому, а інші заповнювали квадрат по діагоналях з лівого верхнього кута до правого нижнього. Наприклад, для n=3:

4 7 9

2 5 8

1 3 6

25.Дано таблицю A[i,j], де i=1,2,…,n; j=1,2,…,m. Серед всіх найменших елементів кожного рядка цієї таблиці визначити найбільший і вказати його індекси.

26.Визначити суму елементів, що розташовані по зовнішньому контуру таблиці A[i,j], де i=1,2,…,n; j=1,2,…,m.

27.Дано дві таблиці A[i,j], де i=1,2,…,n; j=1,2,…,m та B[k,l], де k=1,2,…,m; l=1,2,…,n.

Знайти елементи таблиці C[i,j], i=1,2,…,n; j=1,2,…,m, які дорівнюють сумам поелементних добутків рядків таблиці A на відповідні стовпчики таблиці

B.

16

©Караванова Т.П., Любарщук Є.А., Скутар І.Д.

28.Дано дві таблиці A[i,j], де i=1,2,…,n; j=1,2,…,m та B[i,j], де i=1,2,…,m; j=1,2,…,n.

Створити таблицю, елементи якої є сумою елементів таблиць A та B із співпадаючими індексами.

17

©Караванова Т.П., Любарщук Є.А., Скутар І.Д.

Лабораторна робота №12

Створення і використання функцій

Завдання 1.

 

 

 

 

 

 

1.

Задано многочлен Pn x

степеня n 100 ,

коефіцієнти якого містяться у

 

дійсному масиві A n 1 ,

та

дійсні

числа

x1, x2 ,..., xm , m 15 . Розробити

 

програму обчислення коефіцієнтів многочлена Pn

x і значень многочленів

 

Pn x та Pn x у точках xi , i 1,2,..., m . Написати і використати функцію для

 

обчислення коефіцієнтів і функцію для обчислення значення многочлена.

 

Надрукувати обчислені коефіцієнти і таблицю значень многочленів, у

 

кожному рядку якої розмістити значення xi , Pn xi

, Pn xi .

2.

Задано масиви чисел A n , n 300

і

B m , m 400 . Розробити програму

 

побудови об’єднання масивів

A B

і

обчислення

суми його елементів.

 

( A B – множина елементів

A і B , взятих по одному разу). Написати і

використати функцію для побудови об’єднання і функцію для обчислення суми. Надрукувати елементи об’єднання та їх суму.

3.Задана матриця X n, n , n 15 . Розробити програму перетворення заданої матриці так, щоб добутки елементів рядків утворювали неспадну послідовність. Написати функцію для перетворення матриці та функцію

для обчислення добутку елементів вектора і використати її для обчислення добутків елементів рядків. Надрукувати перетворену матрицю по рядках.

4. Задана матриця X n, n ,

n 15 . Розробити програму побудови матриці

Y n, n за правилом: Y i, j

дорівнює скалярному добутку i -го рядка на

j -ий

стовпчик матриці X .

Написати функцію для побудови матриці

та

функцію для обчислення скалярного добутку векторів і використати її для обчислення скалярних добутків рядків і стовпчиків. Надрукувати отриману матрицю по рядках.

5.Задана матриця A n, n , n 15 . Розробити програму перетворення заданої матриці так, щоб суми елементів стовпців утворювали незростаючу послідовність. Написати функцію для перетворення матриці та функцію для обчислення суми елементів вектора і використати її для обчислення сум елементів стовпців. Надрукувати перетворену матрицю по рядках.

6.Задана матриця X n, n , n 15 . Розробити програму, яка будує вектори: A i

– сума елементів i -го рядка, B j – сума елементів j -го стовпчика заданої матриці, i, j 1,2,...,n . Написати функцію для побудови векторів та функцію для обчислення суми елементів вектора і використати її для обчислення

18

©Караванова Т.П., Любарщук Є.А., Скутар І.Д.

сум елементів рядків і стовпців. Надрукувати отримані вектори по п’ять елементів у рядку.

7.На площині задані множина n точок, n 200 і множина m точок, m 100 . За означенням віддаль між множинами точок це віддаль між найближче розміщеними точками цих множин. Розробити програму обчислення віддалі між заданими множинами і визначення координат найближче розміщених точок (якщо таких пар точок декілька, то взяти одну із них). Для обчислення віддалі між множинами та визначення координат найближче розміщених точок та для обчислення віддалі між точками використати функції.

8.Задано два масиви чисел A n , n 300 і B m , m 100 . Розробити програму

обчислення

суми sin x, x A B – перерізу масивів. ( A B – множина

елементів

A , що входять у B і взятих по одному разу). Використати

функцію для побудови перерізу і функцію для обчислення суми. Надрукувати елементи перетину та їх суму.

9.На площині задано множину n точок, n 300 , і окрему точку d . Розробити програму, яка підраховує кількість різних точок a, b, c із заданої множини таких, що чотирикутник abcd є квадратом і обчислює площу найменшого з них. Використати функцію для підрахунку кількості точок і обчислення площі найменшого квадрата і логічну функцію для перевірки умови, що точки abcd утворюють квадрат.

10. Задана матриця X n, n , n 15 . Розробити програму, яка будує вектор B k ,k n з номерів тих рядків матриці, елементи яких утворюють спадну послідовність. Якщо таких рядків немає, то друкує повідомлення про це. Використати функцію для побудови вектора і логічну функцію для перевірки умови того, що послідовність спадна. Надрукувати вектор по п’ять елементів у рядок.

11.Задано текст, слова в якому розділені пробілами і розділовими знаками. Розробити програму, яка вилучає всі повторні входження кожного слова в цей текст. Використати функцію для вилучення слів і логічну функцію для перевірки входження слова в текст. Надрукувати текст, що залишився після вилучення слів.

12.Задано масиви чисел A n , n 300 і B m , m 400 . Розробити програму побудови симетричної різниці масивів A \ B B \ A і пошуку її мінімального

елемента. ( A \ B B \ A

– множина елементів

A , що не входять

у B і

множина елементів B ,

що не входять в A

і взятих по одному

разу).

Використати функцію для побудови симетричної різниці і функцію для пошуку мінімального елемента. Надрукувати елементи симетричної різниці та її мінімальний елемент.

19

©Караванова Т.П., Любарщук Є.А., Скутар І.Д.

13. Задано два тексти, слова в яких розділені пробілами і розділовими знаками. Розробити програму побудови нового тексту, в який входять слова першого і другого текстів по одному разу, розділені пробілами. Використати функцію для побудови нового тексту і функцію перевірки входження слова в текст. Надрукувати побудований текст.

14.Задана матриця A n, n , n 15 . Розробити програму побудови вектора B mm n із номерів тих стовпців заданої матриці, які упорядковані за

спаданням. Написати функцію для побудови вектора та логічну функцію для перевірки умови упорядкованості послідовності і використати її для перевірки стовпців. Надрукувати вектор по десять елементів у рядку.

15. Задано дійсну

матрицю X n, n ,

n 20 . Розробити програму побудови

вектора Y i , i

1, 2,..., n , за правилом: Y i дорівнює добутку квадратів тих

елементів i -го рядка матриці, модулі яких належать проміжку a, b , якщо таких елементів немає, то Y i 0 . Використати функцію побудови вектора і функцію для обчислення добутку квадратів елементів. Надрукувати вектор по п’ять елементів у рядку.

16.Задана матриця X n, n , n 10 . Розробити програму, яка упорядковує за зростанням ті рядки, в яких міститься максимальний елемент матриці (максимальних елементів може бути декілька). Написати функцію упорядкування вектора і використати її для упорядкування рядків та функцію для пошуку максимального елемента матриці. Надрукувати перетворену матрицю по рядках.

17.Задано два тексти, слова в яких розділені пробілами і розділовими знаками. Розробити програму побудови нового тексту, в який входять всі слова першого тексту, що не входять у другий текст, і всі слова другого тексту, що не входять в перший і розділені пробілами. Використати функцію для побудови нового тексту і функцію перевірки входження слова в текст. Надрукувати побудований текст.

18.Задано масиви чисел A n , n 300 і B m , m 400 . Розробити програму

обчислення суми модулів

елементів

перерізу

масивів

A B . ( A B

множина елементів A , які

містяться

в B і

взятих

по одному разу).

Використати функцію для побудови перерізу і функцію для обчислення суми модулів його елементів. Надрукувати елементи перерізу та їх суму модулів.

19. Задана матриця X n, n , n 20 . Назвемо слідом матриці суму елементів головної діагоналі. Розробити програму обчислення слідів матриць X , X 2 . Написати і використати функцію множення матриць та функцію обчислення сліду матриці. Надрукувати матриці X , X 2 по рядках та їх сліди.

20.Задана матриця A n, n , n 15 . Характеристикою рядка матриці назвемо суму модулів його від’ємних елементів. Розробити програму перетворення

20