Функции с числовыми параметрами
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—
вещественные параметры, A6= 0). С ее помощью найти количество корней
для каждого из трех квадратных уравнений с данными коэффициентами.
Количество корней определять по значению дискриминанта:
D = B2 − 4·A·C.
Proc18. Описать функцию CircleS(R) вещественного типа, находящую пло-
щадь круга радиуса R (R — вещественное). С помощью этой функции
найти площади трех кругов с данными радиусами. Площадь круга ради-
уса R вычисляется по формуле S = π·R2. В качестве значения π использо-
вать 3.14.
Proc19. Описать функцию RingS(R1, R2) вещественного типа, находящую пло-
щадь кольца, заключенного между двумя окружностями с общим центром
и радиусами R1и R2(R1и R2— вещественные, R1> R2). С ее помощью
найти площади трех колец, для которых даны внешние и внутренние ра-
диусы. Воспользоваться формулой площади круга радиуса R: S = π·R2. В
качестве значения π использовать 3.14.
Proc20◦. Описать функцию TriangleP(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) целого типа, определяющую номер
координатной четверти, в которой находится точка с ненулевыми веще-
40
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6
ственными координатами (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. Описать функцию IsPowerN(K, N ) логического типа, возвращающую
TRUE, если целый параметр K (> 0) является степенью числа N (> 1), и
FALSE в противном случае. Дано число N (> 1) и набор из 10 целых по-
ложительных чисел. С помощью функции IsPowerN найти количество
степеней числа N в данном наборе.
Proc28. Описать функцию IsPrime(N ) логического типа, возвращающую TRUE,
если целый параметр N (> 1) является простым числом, и FALSE в против-
ном случае (число, большее 1, называется простым, если оно не имеет
положительных делителей, кроме 1 и самого себя). Дан набор из 10 це-
лых чисел, больших 1. С помощью функции IsPrime найти количество
простых чисел в данном наборе.
Proc29. Описать функцию DigitCount(K ) целого типа, находящую количество
цифр целого положительного числа K. Используя эту функцию, найти ко-
личество цифр для каждого из пяти данных целых положительных чисел.
Proc30. Описать функцию DigitN(K, N ) целого типа, возвращающую N -ю циф-
ру целого положительного числа K (цифры в числе нумеруются справа
налево). Если количество цифр в числе K меньше N, то функция возвра-
щает −1. Для каждого из пяти данных целых положительных чисел K1,
K2, . . ., K5вызвать функцию DigitN с параметром N, изменяющимся от 1
до 5.
Proc31. Описать функцию IsPalindrom(K), возвращающую TRUE, если целый
параметр K (> 0) является палиндромом (то есть его запись читается оди-
Процедуры и функции
наково слева направо и справа налево), и FALSE в противном случае. С
ее помощью найти количество палиндромов в наборе из 10 целых поло-
жительных чисел. При описании функции можно использовать функции
DigitCount и DigitN из заданий Proc29 и Proc30.
Proc32. Описать функцию DegToRad(D) вещественного типа, находящую ве-
личину угла в радианах, если дана его величина D в градусах (D — веще-
ственное число, 0 < D < 360). Воспользоваться следующим соотношением:
180º = π радианов. В качестве значения π использовать 3.14. С помощью
функции DegToRad перевести из градусов в радианы пять данных углов.
Proc33. Описать функцию RadToDeg(R) вещественного типа, находящую ве-
личину угла в градусах, если дана его величина R в радианах (R — веще-
ственное число, 0 < R < 2·π). Воспользоваться следующим соотношением:
180°= π радианов. В качестве значения π использовать 3.14. С помощью
функции RadToDeg перевести из радианов в градусы пять данных углов.
Proc34. Описать функцию Fact(N ) вещественного типа, вычисляющую зна-
чение факториала N ! = 1·2·. . .·N (N > 0 — параметр целого типа; веще-
ственное возвращаемое значение используется для того, чтобы избежать
целочисленного переполнения при больших значениях N ). С помощью
этой функции найти факториалы пяти данных целых чисел.
Proc35. Описать функцию Fact2(N ) вещественного типа, вычисляющую двой-
ной факториал:
N !! = 1·3·5·. . .·N, если N — нечетное;
N !! = 2·4·6·. . .·N, если N — четное
(N > 0 — параметр целого типа; вещественное возвращаемое значение ис-
пользуется для того, чтобы избежать целочисленного переполнения при
больших значениях N ). С помощью этой функции найти двойные факто-
риалы пяти данных целых чисел.
Proc36. Описать функцию Fib(N ) целого типа, вычисляющую N -й элемент
последовательности чисел Фибоначчи FK, которая описывается следую-
щими формулами:
F1= 1,
F2= 1,
FK= FK-2+ FK-1, K = 3, 4, . . . .
Используя функцию Fib, найти пять чисел Фибоначчи с данными номе-
рами N 1, N 2 , . . ., N 5 .
42
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6