М.Э. Абрамян - Programming Taskbook (1157415), страница 8
Текст из файла (страница 8)
Э. Абрамян. Электронный задачник Programming Taskbook 4.6шения является число 0. Для каждого набора выполнить следующее действие: если элементы набора возрастают, то вывести 1; если элементынабора убывают, то вывести −1; если элементы набора не возрастают ине убывают, то вывести 0.Series39. Дано целое число K, а также K наборов ненулевых целых чисел.Каждый набор содержит не менее трех элементов, признаком его завершения является число 0. Найти количество пилообразных наборов (определение пилообразного набора дано в задании Series23).Series40. Дано целое число K, а также K наборов ненулевых целых чисел.Каждый набор содержит не менее трех элементов, признаком его завершения является число 0. Для каждого набора выполнить следующее действие: если набор является пилообразным (см.
задание Series23), то вывести количество его элементов; в противном случае вывести номер первогоэлемента, который не является зубцом.Процедуры и функцииПроцедуры с числовыми параметрами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 (X и Y — входные,AMean и GMean — выходные параметры вещественного типа). С помощьюэтой процедуры найти среднее арифметическое и среднее геометрическоедля пар (A, B), (A, C), (A, D), если даны A, B, C, D.Proc4◦ . Описать процедуру TrianglePS(a, P, S), вычисляющую по стороне√ a2равностороннего треугольника его периметр P = 3·a и площадь S = a · 3/4Процедуры и функции37(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 ), записывающую в переменную X38М.
Э. Абрамян. Электронный задачник 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 , C 1 ) и(A2 , B2 , C 2 ).Proc13. Описать процедуру SortDec3(A, B, C), меняющую содержимое переменных A, B, C таким образом, чтобы их значения оказались упорядоченными по убыванию (A, B, C — вещественные параметры, являющиесяодновременно входными и выходными). С помощью этой процедуры упорядочить по убыванию два данных набора из трех чисел: (A1 , B1 , C 1 ) и(A2 , B2 , C 2 ).Proc14.
Описать процедуру ShiftRight3(A, B, C), выполняющую правый циклический сдвиг: значение A переходит в B, значение B — в C, значение C— в A (A, B, C — вещественные параметры, являющиеся одновременновходными и выходными). С помощью этой процедуры выполнить правыйциклический сдвиг для двух данных наборов из трех чисел: (A1 , B1 , C 1 ) и(A2 , B2 , C 2 ).Proc15. Описать процедуру ShiftLeft3(A, B, C), выполняющую левый циклический сдвиг: значение A переходит в C, значение C — в B, значение B— в A (A, B, C — вещественные параметры, являющиеся одновременновходными и выходными).
С помощью этой процедуры выполнить левыйциклический сдвиг для двух данных наборов из трех чисел: (A1 , B1 , C 1 ) и(A2 , B2 , C 2 ).Функции с числовыми параметрамиProc16. Описать функцию Sign(X ) целого типа, возвращающую для вещественного числа X следующие значения:−1, если X < 0;0, если X = 0;1, если X > 0.С помощью этой функции найти значение выражения Sign(A) + Sign(B)для данных вещественных чисел A и B.Процедуры и функции39Proc17. Описать функцию RootsCount(A, B, C) целого типа, определяющуюколичество корней квадратного уравнения A·x2 + B·x + C = 0 (A, B, C —вещественные параметры, A 6= 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операции, определяемые данными целыми N 1 , N 2 , N 3 .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.