Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP_LAB_Part_1_Osnovy_progr_C++_new.doc
Скачиваний:
14
Добавлен:
03.05.2019
Размер:
2 Мб
Скачать
☆

Лабораторна робота № 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. , де а=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 оформити у вигляді підпрограми-

функції згідно формули

.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]