- •Методичні вказівки до виконання лабораторних робіт
- •Лабораторна робота № 2 Тема: логічні вирази
- •Лабораторна робота № 4 Тема : оператор вибору - Case
- •Лабораторна робота № 5
- •Лабораторна робота № 6
- •Лабораторна робота № 8
- •Лабораторна робота № 9
- •Лабораторна робота № 10
- •Лабораторна робота № 11
- •Лабораторна робота № 12
- •Лабораторна робота № 13
- •Лабораторна робота № 14
- •Лабораторна робота № 15
- •Лабораторна робота № 16
- •Лабораторна робота № 17
- •Лабораторна робота № 18
- •Лабораторна робота № 3 Тема: Умовний оператор If
- •Лабораторна робота № 5
Лабораторна робота № 5
Тема : Процедури і функції. Процедури з числовими параметрами .
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 ⋅ двох позитивних чисел 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 = 23/4 a (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). 36
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).
11.2 Функції з числовими параметрами
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·x
2
+ B·x + C = 0 (A, B, C — веще-
ственные параметри, A ? 0). З її допомогою знайти кількість коренів для
кожного з трьох квадратних рівнянь з даними коефіцієнтами. До-
личество коренів визначати за значенням дискримінанта: D = B2
– 4·A·C.
Proc18. Описати функцію Circle(R) речовинного типу, що знаходить площу
кола радіуса R (R — речовинне). За допомогою цієї функції знайти
площі трьох кіл з даними радіусами. Площа кругу радіуса R ви-
числяется по формулі S = ?·R2
. Як значення ? використовувати 3.14.
Proc19. Описати функцію Ring(R1, R2) дійсні типи, що знаходить пло-
щадь кільця, укладеного між двома окружностями з загальним центром
і радіусами R1 і R2 (R1 і R2 — дійсні, R1 > R2). З її допомогою най-
ти площі трьох кілець, для яких дані зовнішні і внутрішні радіуси.
Скористатися формулою площі кругу радіуса R: S = ?·R2
. У якості
значення ? використовувати 3.14.
Proc20. Описати функцію Triangle(a, h), що знаходить периметр равнобедрен-
ного трикутника по його підставі a і висоті h, проведеної до основа-
нию (a і h — дійсні). За допомогою цієї функції знайти периметри
трьох трикутників, для яких дані підстави і висоти. Для нахожде-
ния бічної сторони b трикутника використовувати теорему Пифагора:
b2
= (a/2)
2
+ h2
. 37
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. Використовуючи цю функцію, знайти до-
личество цифр для кожного з п'яти даних цілих позитивних чисел. 38
Proc30. Описати функцію Digit(K, N) цілого типу, що повертає N-ю циф-
ру цілого позитивного числа K (цифри в числі нумеруються праворуч на-
лево). Якщо кількість цифр у числі K менше N, то функція повертає
–1. Для кожного з п'яти даних цілих позитивних чисел K1, K2, ..., K5
викликати функцію Digit з параметром N, що змінюється від 1 до 5.