- •Кафедра програмного забезпечення
- •Лабораторна робота № 2 програми із розгалуженням
- •Лабораторна робота № 3
- •Зміною аргумента
- •Лабораторна робота № 4
- •Лабораторна робота № 5. Процедури і функції
- •Лабораторна робота № 6. Одно- і двовимірні масиви
- •Лабораторна робота № 7. Обробка текстів
- •Лабораторна робота № 8. Файли
Лабораторна робота № 5. Процедури і функції
Частина 5.1 Процедури
При складанні програм з використанням процедур необхідно:
- скласти графічний алгоритм розв’язання задачі з використанням процедури, передбачити введення вихідних даних, звертання до процедури, виведення вихідних даних задачі і результатів обчислень;
- скласти окремо графічний алгоритм процедури і навести опис формальних параметрів;
- скласти головну програму, в якій передбачити звернення до процедури. Процедуру-програму можна використати як внутрішню, так і зовнішню (за рекомендацією викладача);
- скласти програму самої процедури;
- розв’язати задачу в діалоговому режимі.
В умовах більшості задач не задані цифрові значення вихідних даних, студентові надається можливість самому задатися необхідними числовими значеннями для тестування складеної програми.
5.1.1. Дано квадратну матрицю А розміром nxn. Скласти програму нормування матриці, поділивши вС елементи кожного рядка на максимальний елемент за модулем цього рядка. Пошук максимального елемента рядка оформити у вигляді прцедури.
5.1.2. Дано три одновимірні масиви різної розмірності. Скласти прграму формування одновимірного вектора D, елементами якого є відмінні від нуля мінімальні елементи за модулем заданих масивів. Пошук мінімального елемента за абсолютним значенням виконати у вигляді процедури.
5.1.3. Оформити у вигляді прграми обчислення функції
ex=1+x+x2/2!+x3/3!+...
і порівняти одержаний результат зі значенням, отриманим при використанні стандартної функції EXP(X), для х=2.3; 8.5.
5.1.4. Дано двохвимірний масив. Відсортувати масив по стовпцях у спаданні. Перестановку чисел виконати у вигляді підпрограми.
5.1.5. Дано два одновимірні масиви, які складаються не більш як з 30 елементів кожний. Використавши підпрограму пошуку максимального елемента, знайти півсуму максимальних елементів заданих масивів.
5.1.7. Дано два трикутники зі сторонами a, b, c i d, e, f. Використавши підпрограму, визначити, чи ці трикутники є прямокутні чи ні?
5.1.8. Дано сторони двох трикутників: a, b, c та d, e, f. Знайти, на скільки площа одного трикутника більша від другого. Площа трикутника ABC зі сторонами A, B, C обчислюється за формулою Герона
де R - півпериметр трикутника ABC. Обчислення площі трикутників оформити у вигляді прцедури.
5.1.9. Дано три квадратні матриці. Сформувати вектор, який складається з мінімальних елементів кожної матриці, відмінних від нуля. Пошук мінімального елемента виконати у вигляді процедури.
5.1.5.1. Дана прямокутна матриця. Сформувати вектор, який складається з максимальних елементів кожного стовпця (рядка) матриці. Пошук максимального елемента в стовпці (рядку) виконати у вигляді підпрограми.
5.1.11. Використовуючи підпрограму обчислення значення однієї функції, обчислити і надрукувати таблицю значень таких функцій:
Аргумент х змінюється від початкового значення 2.8 з кроком 0.15 до кінцевого 3.7.
5.1.12.
Використовуючи підпрограму, обчислити
значення функції
Для значень х, які містяться в проміжку [-1.5;1.5] з кроком х=0.5, =0, і для значень х, які містяться в проміжку [-2.5;3] з кроком 0.6; =0.1. Передбачити недопустимість ділення на 0.
5.1.13. Скласти прграму знаходження суми стовпців матриці розміром mxn рузельтат записати у вигляді вектора.
5.1.14. Обчислити значення перших n (n<30) елементів гео-метричної прогреСї з допомогою підпрограми, якщо відомий перший елемент прогреСї а та знаменник пргреСї q. Кожний наступний елемент геометричної прогреСї утворюється множенням попереднього на знаменник прогреСї. Для розміщення в пам’яті обчислених елементів їх слід оголосити як одновимірний масив.
5.1.15. Обчислити сполучення з n елементів по m (n<m)
Обчислення факторіала виконати у вигляді підпрограми.
5.1.16. Дано декартові координати 8 точок. Підрахувати, скільки точок належить площині, обмеженій колом з радіусом R і центром в точці (0,0). Провірку належності оформити у вигляді підпрограми.
5.1.17. Дано координати 5 точок. Обчислити і вивести на друк полярні координати. Полярний радіус і полярний кут обчислюються так:
де х, у - декартові координати точок. Переведення в полярні координати виконати у вигляді підпрограми.
5.1.18. Дано декартові координати 6 точок і координати базової точки. Визначити сумарну віддаль між базовою і рештою точок, а також максимальну віддаль. Обчислення віддалі між двома точками оформити у вигляді процедури.
5.1.19. Дано дві квадратні матриці одного порядку А і В. Показати, що для них вірний асоціативний закон, тобто А*В=В*А. У випадку стверджувальної відповіді вивести на друк повідомлення “АСОЦІАТИВНИЙ ЗАКОН ВИКОНУЄТЬСЯ”,в противному випадку - “АСОЦІАТИВНИЙ ЗАКОН НЕ ВИКОНУЄТЬСЯ”. Обчислення добутку двох матриць виконати у вигляді підпрограми.
5.1.20. Дано експерементальні значення чотирьох випадкових величин, кожна з яких має не більше 8 значень. Обчислити дисперСю випадкової величини ri=1, 2, 3, 4, вважаючи її експериментальними значеннями, математичне сподівання заданих випадкових величин. Математичне сподівання і дисперСя випадкової величини Х обчислюється так:
Обчислення математичного сподівання оформити у вигляді процедури.
5.1.21. Дано три прямокутні матриці. Знайти слід кожної матриці і вивести на друк значення найменшого за модулем сліду. Обчислення сліду матриці оформити у вигляді підпрограми. Слідом матриці називається сума елементів головної діагоналі.
5.1.22. Дано три вектори. Визначити максимальний парний елемент кожного вектора і упорядкувати їх за спаданням. Пошук максимального елемента вектора виконати у вигляді підпрограми.
5.1.23. Дано дві прямокутні матриці. Розв’язати рівняння px+q=0, де p - мінімальний за модулем елемент першої матриці; q - мінімальний за модулем елемент другої матриці. Пошук мінімального за модулем елемента матриці оформити у вигляді процедури.
5.1.24. Дано координати точок х1, y1; x2, y2; x3, y3; x4, y4. Визначити і вивести на друк координати точок, для яких кут між віссю абсцис і променем, що з’єднує точку з початком координат, є максимальним. Обчислення величини кута між віссю абсцис і променем, що з’єднує точку з початком координат, оформити у вигляді підпрограми.
5.1.25. Обчислити наближено площу фігури, яка обмежена віссю Х, прямими Х=а і Х=b (a<b) і кривою Y=Y(X)=X2/(1+X). Інтервал зміни Х поділити на 10 частин і підсумувати площі десяти прямокутників з основою 0.2; висота прямокутника дорівнює значенню функції на лівій границі його основи. Обчислення площі оформити у вигляді підпрограми. Для значень a=3; b=5; a=7; b=9.
Частина 5.2 Підпрограми-функції
5.2.1. Скласти процедуру-функцію,яка обчислює значення х аргумента монотонної функції,при якому f(x)=0, згідно формули:
Очевидно:
5.2.2. Скласти процедуру-функцію, яка визначає довжину відрізка на площині за заданими полярними координатами його вершин згідно формули :
Використовуючи цю процедуру,скласти програму, яка вводить полярні координати вершин трикутника і друкує його периметр.
Вершини:
.
5.2.3.
Оформити у вигляді процедури-функції
обчислення бінома
:
де
із заданою точністю
.
5.2.4. Нехай функція y(x) задана таблицею:
-
Xi
X1
X2
X3
X4
...
X20
Yi
Y1
Y2
Y3
Y4
...
Y20
Скласти
опис процедури-функції для обчислення
значення цієї функції в довільній точці
згідно
формули лінійної
інтерполяції:
,
де
.
5.2.5. Скласти програму для обчислення означеного інтегралу:
згідно
методу трапецій
,
де
-крок інтегрування, а=2,b=3,n-число
інтервалів;
-підінтегральна
функція.Обчислення підінтегральної
функції оформити як процедуру-функцію.
5.2.6 Задані дійсні a i b. Отримати
,
де
.
Обчислення функції f(x;y) оформити у вигляді процедури-функції.
5.2.7. Обчислити ймовірність появи випадкової події рівно m разів в n незалежних дослідах згідно формули Бернуллі:
,
де
,
q=1-p, m ,n - цілі додатні числа, р -дійсне
додатнє число з інтервалу (0;1) . Знаходження
факторіалу оформити у вигляді
підпрограми-функції.
5.2.8. Оформити обчислення значення інтегральної функції Ф(x), використовуючи наближену формулу (x>0):
у вигляді процедури-функції.
5.2.9. Отримати послідовнісь п'ятнадцяти псевдовипад-кових чисел в інтервалі (0;1) згідно формули:
де
F{ } - символ
взяття дробової частини від виразу у
фігурних
дужках. За
взяти будь-який десятковий дріб.
Знаходження
чергового
k
(k=1,2,...) оформити у вигляді процедури-функції.
5.2.10. Описати процедуру-фнкцію для обчислення
Число n , дійсні U, V і елементи дійсного вектора А вибрати самостійно. Скласти програму для обчислення величини
.
5.2.11.
Скласти програму обчислення розміщення
згідно наближеної формули:
.
Обчислення ln(x!) оформити у вигляді процедури-функції.
5.2.12. Знайти значення величини
,
де |z|, |y|<1
При цьому обчислення arcsin(x) оформити у вигляді підпрограми-функції згідно формули:
5.2.13. Скласти програму для визначення величини
,
де
а=1, b=32.
с
Oбчислення інтегралу оформити у вигляді підпрограми-функції , використовуючи метод Смпсона:
,
де h=(b-a)/n=0.5.
5.2.14.
Нехай А -
двовимірний
масив розміром nxn.
Описати
як функцію-процедуру
обчислення суми абсолютних значень
елементів k-го
рядка
, виключивши
при цьому діагональний елемент
, тобто
.
Величину n i елементи матриці А вибрати самостійно.
5.2.15. Майстерня отримала замовлення на виготовлення циліндричних бочок різної висоти, але діаметр основи кожної з них d=80 см. Скласти програму для визначення кількості бляхи (в квадратних одиницях ); потрібної для випуску 10 бочок висотою 1м, 15 бочок - 0.9м, 20 бочок - 0.7м. Повна поверхня циліндра дорівнює:
,
де R
- радіус основи.
Обчислити як процедуру-функцію.
5.2.16. В змаганнях з баскетболу приймають участь 5 команд, в кожній з них - 10 спортсменів. Зріст кожного юнака задано. Сформувати команду в яку входитимуть найвищі баскетболісти від кожного колективу. Їх вибір здійснити, використовуючи процедуру-функцію. У випадку однакового зросту, заявити будь-кого.
5.2.17.
Взимку 8 дітей ліпили снігові кулі.
Скільки снігу (в м3
) необхідно для підготовки кожної з
них, якощо процес їх виготовлення
припинявся, коли куля ставала за висотою
рівною зросту дитини. Кількість снігу
визначати як процедуру-функцію. Об'єм
сфери дорівнює:
.
5.2.18. Заипсати програму обчислення величини
Обчислення
кореня кубічного згідно ітераційної
формули
оформити у вигляді процедури-функції.
X=5,
Y0
=2.
5.2.19. Скласти програму обчислення
,
де
Обчислення
функції
(синус інтегральний) з точністю
офор-мити
у
вигляді
процедури-функції.
.
5.2.20. Задано дві матриці A(3,3) i B(4,4). Знайти суму добутків додатніх елементів кожної матриці, які лежать нижче головної діагоналі. Обчислення такого добутку оформити у вигляді процедури-функції.
5.2.21. Написати програму для обчислення
де
QJ
-кількисть елементів векторів X(15) i
Y(19), які
кратні числу 3. Знаходження Q (j=1.2)
оформити у вигляді процедури-функції.
5.2.22. Визначити суму мінімальних серед додатніх елементів в стовпцях масиву B(А,А). Обчислення такого мінімального елемента в стовпці оформити у вигляді процедури-функції.
5.2.23. Обчислити
,
,
де X
змінюється від Xn
=0 до XK
=1.57 з кроком h=0.1. Обчислення функції
sh(x) виконати у вигляді процедури-функції,
використовуючи формулу
.
5.2.24. Записати процедуру-функцію для обчислення скалярного добутку двох векторів. Використовуючи її,скласти програму для знаходження добутків:
.
5.2.25. Обчислити значення величини
,
де
.
При цьому обчислення arccosX оформити у вигляді підпрограми-
функції згідно формули
.
