Процедуры с числовыми параметрами
Proc1. Описать процедуру PowerA3(A, B), вычисляющую третью степень чис-
ла A и возвращающую ее в переменной B (A — входной, B — выходной
параметр; оба параметра являются вещественными). С помощью этой
процедуры найти третьи степени пяти данных чисел.
Proc2. Описать процедуру PowerA234(A, B, C, D), вычисляющую вторую,
третью и четвертую степень числа A и возвращающую эти степени со-
ответственно в переменных B, C и D (A — входной, B, C, D — выходные
параметры; все параметры являются вещественными). С помощью этой
процедуры найти вторую, третью и четвертую степень пяти данных чисел.
Proc3. Описать процедуру Mean(X ,Y ,AMean ,GMean), вычисляющую
среднее арифметическое AMean = (X +Y )/2 и среднее геометрическое
GMean= двух положительных чисел 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=a2 /4
Процедуры и функции
(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 — выходные параметры целого типа). С помощью этой процедуры
найти количество и сумму цифр для каждого из пяти данных целых чисел.
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
38
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
минимальное из значений 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).