- •Методичні вказівки до виконання лабораторних робіт
- •Індивідуальні завдання на лабораторні роботи
- •Перший триместр Лабораторна робота № 1
- •Лабораторна робота № 2
- •Лабораторна робота № 3
- •Лабораторна робота № 4
- •Лабораторна робота № 5
- •Лабораторна робота № 6
- •Лабораторна робота № 7
- •Лабораторна робота № 8
- •Лабораторна робота № 9
- •Лабораторна робота № 10
- •Лабораторна робота № 11
- •Лабораторна робота №12
- •Лабораторна робота № 13
- •Лабораторна робота № 14
- •Лабораторна робота № 15
- •Лабораторна робота № 16
- •Лабораторна робота № 17
- •Лабораторна робота № 18
- •Лабораторна робота № 19
- •Лабораторна робота № 20
- •Лабораторна робота № 21
- •Лабораторна робота № 22
Лабораторна робота № 11
Тема: Процедури та функції.
Для кожного варіанта в обов'язковому порядку передбачити використання процедури та функції. Процедура та функція повинні виконувати тільки одну логічно завершену дію і бути універсальною (розв’язувати клас задач). Наприклад, якщо піднести до 5-ї ступені ряд чисел, то процедура повинна підносити до 5 ступені одне число, а викликатися N разів.Масиви ініціалізувати як константи.
Знак ‘^’ означає ‘у ступеню’.
Одновимірний масив містить трійки чисел, які визначають сторони трикутника. Визначити сумарну площу всіх трикутників.
Для кавуна задані: діаметр та товщина шкарлупи (дані визначені в одновимірному масиві). Визначити відсоток м’якоті кавуна.
Прямокутний ящик заповнен циліндричними цвяхами. Визначити відсоток заповнення ящику металом. Для спрощення задачі рахувати, що цвяхи не мають гострого кінця та шляпки.
В одновимірному масиві задано ряд координат вершин трикутника, визначити його площу.
Тіло кинуто вертикально угору із швидкістю V0 , вивести на екран координати Y тіла через кожну секунду (або долі секунди), та максимальну висоту підьому.
Тіло кинуто під кутом до горизонту α із швидкістю V0, вивести на екран координати (х, у) тіла через кожну секунду.
Ємність у вигляді паралелепіпеду заповнена кульками. Визначити відсоток заповнення об’єму ємності в залежності від сторін паралелепіпеду і діаметру кульки.
Обрахувати периметр трикутника, якщо відомі координати його вершин (координати ініціалізувати у одновимірному масиві для декількох трикутників).
Підрахувати ординату центра ваги площі круга радіуса R з діркою в
нім з радіусом r = R/2, розташованою у нижній частині круга.
Підрахувати ординату центра ваги площі квадрата зі стороною A, у якому в правому нижньому куті зроблена дірка у формі кола з радіусом D = A/2.
Одновимірний масив містить декілько пар чисел (основа та висота трикутника). Підрахувати суму площ трикутників.
Підрахувати суму площ двох прямокутників, для яких задані їх сторони (сторони ініціалізувати у одновимірному масиві для декількох прямокутників).
Одновимірний масив містить радіуси декількох кіл. Підрахувати суму площин двох кругів, для яких задані їх радіуси.
Одновимірний масив містить 5 цілих чисел. Підрахувати суму кубів п'ятьох дійсних чисел x = a3 + b3 + c^3 + d^3+ e^3.
Обрахувати функцію (a - 1)^3 + (b - 1)^3
y = --------------------------.
(c - 1)^3 + (d - 1)^3
Підрахувати площину трикутника, якщо відомі координати його вершин.
Підрахувати об'єм двох куль з радіусами R і r.
Лабораторна робота №12
Тема : Процедури і функції. Процедури з числовими параметрами .
Proc1. Описати процедуру Power3(A, B), що обчислює третій ступінь числа A і повертає її в змінну B (A — вхідний, B — вихідний париметр; обидва параметри є дійсними). За допомогою цієї процедуры знайти треті ступені п'яти даних чисел, які ініціалізовані у масиві.
Proc2. Описати процедуру Power234(A, B, C, D), що обчислює другу, третью і четвертий ступені числа A і повертає ці ступені відповідно в змінні B, C і D (A — вхідний, B, C, D — вихідні параметри; усі параметри є дійсними). За допомогою цієї процедури знайти другий, третій і четвертий ступінь п'яти даних чисел.
Proc3. Описати процедуру Mean(X, Y, AMean, GMean), що обчислює середнє арифметичне AMean = (X + Y)/2 і середнє геометричне GMean = (XY)0,5 двох позитивних чисел X і Y (X і Y — вхідні, AMean і GMean — вихідні параметри дійсного типу). За допомогою цієї процедури знайти середнє арифметичн і середн геометричне для пара (A, B), (A, C), (A, D), якщо дані A, B, C, D.
Proc4°. Описати процедуру TrianglePS(a, P, S), що обчислює по стороні a рівностороннього трикутника його периметр P = 3•a і площу S = а2( ¾)0,5 (a — вхідний, P і S — вихідні параметри; усі параметри є вещественными). За допомогою цієї процедури знайти периметри і площі трьох рівносторонніх трикутників з даними сторонами.
Proc5. Описати процедуру RectPS(x1, y1, x2, y2, P, S), що обчислює периметр P і площа S прямокутника зі сторонами, рівнобіжними осям координат, по координатах (x1, y1), (x2, y2) його протилежних вершин (x1, y1, x2, y2 — вхідні, P і S — вихідні параметри дійсного типу).
За допомогою цієї процедури знайти периметри і площі трьох прямокосинців з даними протилежними вершинами.
Proc6. Описати процедуру DigitCountSum(K, C, S), що знаходить кількість C цифр цілого позитивного числа K, а також їхню суму S (K — вхідний, C і S — вихідні параметри цілого типу). За допомогою цієї процедури знайти кількість і суму цифр для кожного з п'яти даних цілих чисел. 35
Proc7. Описати процедуру InvertDigits(K), що змінює порядок проходження цифр цілого позитивного числа K на зворотний (K — параметр цілого типу, що є одночасно вхідним і вихідним). За допомогою цієї процедури поміняти порядок проходження цифр на зворотний для кожного з п'яти даних цілих чисел.
Proc8°. Описати процедуру AddRightDigit(D, K), що додає до цілого додатього числа K праворуч цифру D (D — вхідний параметр цілого типу, що належить діапазону 0–9, K — параметр цілого типу, що є одночасно і вхідним і вихідним). За допомогою цієї процедури последовно додати до заданого числа K праворуч задані цифри D1 і D2, виводячи результат кожного додавання.
Proc9. Описати процедуру AddLeftDigit(D, K), що додає до цілого додатньго числа K ліворуч цифру D (D — вхідний параметр цілого типу, що належить діапазону 1–9, K — параметр цілого типу, що є одночасно і вхідним і вихідним). За допомогою цієї процедури послідовно додати до заданого числа K ліворуч задані цифри D1 і D2, виводячи результат кожного додавання.
Proc10. Описати процедуру Swap(X, Y), що змінює вміст перемінних X і Y (X і Y — дійсні параметри, що є одночасно вхідними і вихідними). З її допомогою для даних перемінних A, B, C, D послідовно поміняти вміст наступних пар: A і B, C і D, B і C і вивести нові значення A, B, C, D.
Proc11. Описати процедуру Minmax(X, Y), що записує в перемінну X мінімальне зі значень X і Y, а в перемінну Y — максимальне з цих значень (X і Y — дійсні параметри, що є одночасно вхідними і вихідними). Використовуючи чотири виклики цієї
процедури, знайти мінімальне і максимальне з даних чисел A, B, C, D.
Proc12. Описати процедуру SortInc3(A, B, C), що змінює вміст змінних A, B, C таким чином, щоб їхні значення виявилися упорядкованими по зростанню (A, B, C — дійсні параметри, що є одночасно і вхідними і вихідними). За допомогою цієї процедури упорядкувати по зростанню два даних набори з трьох чисел: (A1, B1, C1) і (A2, B2, C2).
Proc13. Описати процедуру SortDec3(A, B, C), що змінює вміст змінних A, B, C таким чином, щоб їхні значення виявилися упорядкованими по зменшенню (A, B, C — дійсні параметри, що є одночасно вхідними і вихідними). За допомогою цієї процедури упорякувати по зменшенню два даних набори з трьох чисел: (A1, B1, C1) і (A2, B2, C2).
Proc14. Описати процедуру ShiftRight3(A, B, C), що виконує правий циклічний зсув: значення A переходить у B, значення B — у C, значення C — у A (A, B, C — дійсні параметри, що є одночасно вхідними і вихідними). За допомогою цієї процедури виконати правий циклічний зсув для двох даних наборів із трьох чисел: (A1, B1, C1) і (A2, B2, C2).
Proc15. Описати процедуру ShiftLeft3(A, B, C), що виконує лівий циклічний зсув: значення A переходить у C, значення C — у B, значення B — у A (A, B, C — дійсні параметри, що є одночасно вхідними і вихідними). За допомогою цієї процедури виконати лівий циклічний зсув для двох даних наборів із трьох чисел: (A1, B1, C1) і (A2, B2, C2).
Функції з числовими параметрами
Proc16. Описати функцію Sign(X) цілого типу, що повертає для дійсного числа X наступні значення:
–1, якщо X < 0; 0, якщо X = 0; 1, якщо X > 0.
За допомогою цієї функції знайти значення вираження Sign(A) + Sign(B) для даних дійсних чисел A і B.
Proc17. Описати функцію RootsCount(A, B, C) цілого типу, що визначає кількість коренів квадратного рівняння A*x2+ B*x + C = 0 (A, B, C — дйсні параметри, A ≠0). З її допомогою знайти кількість коренів для кожного з трьох квадратних рівнянь з даними коефіцієнтами. Кількість коренів визначати за значенням дискримінанта: D = B2- 4*A*C.
Proc18. Описати функцію Circle(R) дійсного типу, що знаходить площу кола радіуса R (R — дійсне значення). За допомогою цієї функції знайти площі трьох кіл з даними радіусами.
Proc19. Описати функцію Ring(R1, R2) дійсні типи, що знаходить площу кільця, що утворюється між двома колами з загальним центром і радіусами R1 і R2 (R1 і R2 — дійсні, R1 > R2). З її допомогою знайти площі трьох кілець, для яких дані зовнішні і внутрішні радіуси.
Скористатися формулою площі кругу радіуса R: S = π•R2 .
Proc20. Описати функцію Triangle(a, h), що знаходить периметр равнобедренного трикутника по його основі a і висоті h, проведеної до основи(a і h — дійсні). За допомогою цієї функції знайти периметри трьох трикутників, для яких дані основи і висоти. Для нахождения бічної сторони b трикутника використовувати теорему Пифагора: b2= (a/2)2+h2.
Proc21. Описати функцію SumRange(A, B) цілого типу, що знаходить суму всіх цілих чисел від A до B включно (A і B — цілі). Якщо A > B, то функція повертає 0. За допомогою цієї функції знайти суми чисел від A до B і від B до C, якщо дані числа A, B, C.
Proc22. Описати функцію Calc(A, B, Op) дійсного типу, що виконує над ненульовими дійсними числами A і B одну з арифметичних операцій і повертає її результат. Вид операції визначається цілим параметром Op: 1 — вирахування, 2 — множення, 3 — діленяя, інщі значення — додавання. За допомогою Calc виконати для даних A і B операції, обумовлені даними цілими N1, N2, N3.
Proc23. Описати функцію Quarter(x, y) цілого типу, що визначає номер координатной чверті, у якій знаходиться Точка з ненульовими дійснгими координатами (x, y). За допомогою цієї функції знайти номера координатних чвертей для трьох точок з даними ненульовими координатами.
Proc24. Описати функцію Even(K) логічного типу, що повертає True, якщо цілий параметр K є парним, і False у противному випадку. З її допомогою знайти кількість парних чисел у наборі з 10 цілих чисел.
Proc25. Описати функцію IsSquare(K) логічного типу, що повертає True, якщо цілий параметр K (> 0) є квадратом деякого цілого числа, і False у противному випадку. З її допомогою знайти кількість квадратів у наборі з 10 цілих позитивних чисел.
Proc26. Описати функцію IsPower5(K) логічного типу, що повертає True, якщо цілий параметр K (> 0) є ступенем числа 5, і False у протином випадку. З її допомогою знайти кількість ступенів числа 5 у наборі з 10 цілих позитивних чисел.
Proc27. Описати функцію IsPower(K, N) логічного типу, що повертає True, якщо цілий параметр K (> 0) є ступенем числа N (> 1), і False у противному випадку. Задано число N (> 1) і набір з 10 цілих додатніх чисел. За допомогою функції IsPower знайти кількість ступенів числа N у заданому наборі.
Proc28. Описати функцію IsPrime(N) логічного типу, що повертає True, якщо цілий параметр N (> 1) є простим числом, і False у противному випадку (число, більше 1, називається простим, якщо воно не має додатніх дільників, крім 1 і самого себе). Задано набір з 10 цілих чисел, більших за 1. За допомогою функції IsPrime знайти кількість простих
чисел у заданому наборі.
Proc29. Описати функцію DigitCount(K) цілого типу, що знаходить кількість цифр цілого позитивного числа K. Використовуючи цю функцію, знайти кількість цифр для кожного з п'яти даних цілих позитивних чисел.
Proc30. Описати функцію Digit(K, N) цілого типу, що повертає N-у цифру цілого позитивного числа K (цифри в числі нумеруються праворуч наліво). Якщо кількість цифр у числі K менше N, то функція повертає –1. Для кожного з п'яти даних цілих позитивних чисел K1, K2, ..., K5
викликати функцію Digit з параметром N, що змінюється від 1 до 5.