Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи гр.101-104.doc
Скачиваний:
1
Добавлен:
14.11.2019
Размер:
237.57 Кб
Скачать

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

Тема: Процедури та функції.

Для кожного варіанта в обов'язковому порядку передбачити використання процедури та функції. Процедура та функція повинні виконувати тільки одну логічно завершену дію і бути універсальною (розв’язувати клас задач). Наприклад, якщо піднести до 5-ї ступені ряд чисел, то процедура повинна підносити до 5 ступені одне число, а викликатися N разів.Масиви ініціалізувати як константи.

Знак ‘^’ означає ‘у ступеню’.

  1. Одновимірний масив містить трійки чисел, які визначають сторони трикутника. Визначити сумарну площу всіх трикутників.

  2. Для кавуна задані: діаметр та товщина шкарлупи (дані визначені в одновимірному масиві). Визначити відсоток м’якоті кавуна.

  3. Прямокутний ящик заповнен циліндричними цвяхами. Визначити відсоток заповнення ящику металом. Для спрощення задачі рахувати, що цвяхи не мають гострого кінця та шляпки.

  4. В одновимірному масиві задано ряд координат вершин трикутника, визначити його площу.

  5. Тіло кинуто вертикально угору із швидкістю V0 , вивести на екран координати Y тіла через кожну секунду (або долі секунди), та максимальну висоту підьому.

  6. Тіло кинуто під кутом до горизонту α із швидкістю V0, вивести на екран координати (х, у) тіла через кожну секунду.

  7. Ємність у вигляді паралелепіпеду заповнена кульками. Визначити відсоток заповнення об’єму ємності в залежності від сторін паралелепіпеду і діаметру кульки.

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

  9. Підрахувати ординату центра ваги площі круга радіуса R з діркою в

нім з радіусом r = R/2, розташованою у нижній частині круга.

  1. Підрахувати ординату центра ваги площі квадрата зі стороною A, у якому в правому нижньому куті зроблена дірка у формі кола з радіусом D = A/2.

  2. Одновимірний масив містить декілько пар чисел (основа та висота трикутника). Підрахувати суму площ трикутників.

  3. Підрахувати суму площ двох прямокутників, для яких задані їх сторони (сторони ініціалізувати у одновимірному масиві для декількох прямокутників).

  4. Одновимірний масив містить радіуси декількох кіл. Підрахувати суму площин двох кругів, для яких задані їх радіуси.

  5. Одновимірний масив містить 5 цілих чисел. Підрахувати суму кубів п'ятьох дійсних чисел x = a3 + b3 + c^3 + d^3+ e^3.

  6. Обрахувати функцію (a - 1)^3 + (b - 1)^3

y = --------------------------.

(c - 1)^3 + (d - 1)^3

  1. Підрахувати площину трикутника, якщо відомі координати його вершин.

  2. Підрахувати об'єм двох куль з радіусами 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.