ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.12.2023
Просмотров: 71
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Юдаев А.Н. Основы алгоритмизации и программирования
12 12.
Описать функцию IsPowerN(K, N) логического типа, возвращающую True, если целый параметр K (> 0) является степенью числа N (> 1), и False в противном случае.
Дано число N (> 1) и набор из 10 целых положительных чисел. С помощью функции
IsPowerN найти количество степеней числа N в данном наборе.
13.
Описать функцию IsPrime(N) логического типа, возвращающую True, если целый параметр N (> 1) является простым числом, и False в противном случае (число, большее 1, называется простым, если оно не имеет положительных делителей, кроме 1 и самого себя). Дан набор из 10 целых чисел, больших 1. С помощью функции IsPrime найти количество простых чисел в данном наборе.
14.
Описать функцию DigitCount(K) целого типа, находящую количество цифр целого положительного числа K. Используя эту функцию, найти количество цифр для каждого из пяти данных целых положительных чисел.
15.
Описать функцию DigitN(K, N) целого типа, возвращающую N-ю цифру целого положительного числа K (цифры в числе нумеруются справа налево). Если количество цифр в числе K меньше N, то функция возвращает –1. Для каждого из пяти данных целых положительных чисел K1, K2, …, K5 вызвать функцию DigitN с параметром N, изменяющимся от 1 до 5.
16.
Описать функцию DegToRad(D) вещественного типа, находящую величину угла в радианах, если дана его величина D в градусах (D — вещественное число, 0 < D <
360). Воспользоваться следующим соотношением: 180° = . радианов. В качестве значения. использовать 3.14. С помощью функции DegToRad перевести из градусов врадианы пять данных углов.
17.
Описать функцию RadToDeg(R) вещественного типа, находящую величину угла в градусах, если дана его величина R в радианах (R — вещественное число, 0 < R <
2·.). Воспользоваться следующим соотношением: 180° = . радианов. В качестве значения использовать 3.14. С помощью функции RadToDeg перевести из радианов в градусы пять данных углов.
18.
Описать функцию Fact(N) вещественного типа, вычисляющую значение факториала N! = 1·2·…·N (N > 0 — параметр целого типа; вещественное возвращаемое значение используется для того, чтобы избежать целочисленного переполнения при больших значениях N). С помощью этой функции найти факториалы пяти данных целых чисел.
Задание №2. Составьте алгоритм и программу по заданию.
1. Описать процедуру PowerA3(A, B), вычисляющую третью степень числа A и возвращающую ее в переменной B (A — входной, B — выходной параметр; оба параметра являются вещественными). С помощью этой процедуры найти третьи степени пяти данных чисел.
2. Описать процедуру PowerA234(A, B, C, D), вычисляющую вторую, третью и четвертую степень числа A и возвращающую эти степени соответственно в переменных
B, C и D (A — входной, B, C, D — выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти вторую, третью и четвертую степень пяти данных чисел.
3. Описать процедуру Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X + Y)/2 и среднее геометрическое GMean =
Y
X *
двух положительных чисел X и Y (X и Y — входные, AMean и GMean — выходные параметры вещественного типа). С помощью этой процедуры найти среднее арифметическое и среднее геометрическое для пар (A, B), (A, C), (A, D), если даны A, B, C, D.
Юдаев А.Н. Основы алгоритмизации и программирования
13 4. Описать процедуру TrianglePS(a, P, S), вычисляющую по стороне a равностороннего треугольника его периметр P = 3·a и площадь S =
4
/
3 2
а
(a — входной,
P и S — выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти периметры и площади трех равносторонних треугольников сданными сторонами.
5. Описать процедуру SortInc3(A, B, C), меняющую содержимое переменных A, B,
C таким образом, чтобы их значения оказались упорядоченными по возрастанию (A, B, C
— вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по возрастанию два данных набора из трех чисел:
(A1, B1, C1) и (A2, B2, C2).
6. Описать процедуру RectPS(x1, y1, x2, y2, P, S), вычисляющую периметр P и площадь S прямоугольника со сторонами, параллельными осям координат, по координатам (x1, y1), (x2, y2) его противоположных вершин (x1, y1, x2, y2 — входные, P и
S — выходные параметры вещественного типа). С помощью этой процедуры найти периметры и площади трех прямоугольников с данными противоположными вершинами.
7. Описать процедуру DigitCountSum(K, C, S), находящую количество C цифр целого положительного числа K, а также их сумму S (K — входной, C и S — выходные параметры целого типа). С помощью этой процедуры найти количество и сумму цифр для каждого из пяти данных целых чисел.
8. Описать процедуру InvertDigits(K), меняющую порядок следования цифр целого положительного числа K на обратный (K — параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры поменять порядок следования цифр на обратный для каждого из пяти данных целых чисел.
9. Описать процедуру
AddRightDigit(D,
K), добавляющую к целому положительному числу K справа цифру D (D — входной параметр целого типа, лежащий в диапазоне 0–9, K — параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры последовательно добавить к данному числу K справа данные цифры D1 и D2, выводя результат каждого добавления.
10.
Описать процедуру ShiftLeft3(A, B, C), выполняющую левый циклический сдвиг: значение A переходит в C, значение C — в B, значение B — в A (A, B, C — вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры выполнить левый циклический сдвиг для двух данных наборов из трех чисел: (A1, B1, C1) и (A2, B2, C2).
11.
Описать процедуру Swap(X, Y), меняющую содержимое переменных X и Y
(X и Y — вещественные параметры, являющиеся одновременно входными и выходными).
С ее помощью для данных переменных A, B, C, D последовательно поменять содержимое следующих пар: A и B, C и D, B и C и вывести новые значения A, B, C, D.
12.
Описать процедуру Minmax(X, Y), записывающую в переменную X минимальное из значений X и Y, а в переменную Y — максимальное из этих значений (X и Y — вещественные параметры, являющиеся одновременно входными и выходными).
Используя четыре вызова этой процедуры, найти минимальное и максимальное из данных чисел A, B, C, D.
13.
Описать процедуру SortDec3(A, B, C), меняющую содержимое переменных
A, B, C таким образом, чтобы их значения оказались упорядоченными по убыванию (A, B,
C — вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по убыванию два данных набора из трех чисел:
(A1, B1, C1) и (A2, B2, C2).
14.
Описать процедуру ShiftRight3(A, B, C), выполняющую правый циклический сдвиг: значение A переходит в B, значение B — в C, значение C — в A (A, B,
C — вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры выполнить правый циклический сдвиг для двух данных наборов из трех чисел: (A1, B1, C1) и (A2, B2, C2).
Юдаев А.Н. Основы алгоритмизации и программирования
14 15.
Описать процедуру PowerA35(A, B, C), вычисляющую третью и пятую степень числа A и возвращающую ее переменным B и С(A — входной, B, С — выходной параметр; все параметры являются вещественными). С помощью этой процедуры найти третьи и пятые степени пяти данных чисел.
16.
Описать процедуру RectPS(a, P, S), вычисляющую периметр P и площадь S квадрата со стороной а, (а — входные, P и S — выходные параметры вещественного типа). С помощью этой процедуры найти периметры и площади трех квадратов с данными противоположными вершинами.
17.
Описать процедуру AddLeftDigit(D, K), добавляющую к целому положительному числу K слева цифру D (D — входной параметр целого типа, лежащий в диапазоне 1–9, K — параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры последовательно добавить к данному числу K слева данные цифры D1 и D2, выводя результат каждого добавления.
18.
Описать процедуру DigitCountMax(K, C, M), находящую количество C цифр целого положительного числа K, а также максимальную цифру М этого числа(K — входной, C и М — выходные параметры целого типа). С помощью этой процедуры найти количество и максимальную цифру для каждого из пяти данных целых чисел.
Юдаев А.Н. Основы алгоритмизации и программирования
15
Контрольные вопросы
1.
С какой целью оформляются и где описываются процедуры и функции?
2.
В каком случае подпрограмма оформляется как процедура и в каком случае как функция?
3.
Каков синтаксис описания процедуры? Какой вид имеет заголовок процедуры?
4.
Каков синтаксис описания функции?
5.
Каковы особенности реализации функций?
6.
Как выполняются обращения к процедуре и к функции?
7.
Какие переменные подпрограмм называются локальными и какова область их действия? Какие переменные называются глобальными?
8.
Какие параметры используются для передачи данных между подпрограммами, какими способами осуществляется эта передача?
9.
Что такое формальные параметры подпрограммы и как они описываются? Что такое фактические параметры подпрограммы?
10.
Какие существуют виды формальных параметров?
11.
Как передаются в подпрограмму параметры-значения, что может использоваться в качестве фактического параметра для параметра-значения?
12.
Как передаются в подпрограмму параметры-переменные, что может использоваться в качестве фактического параметра для параметра-переменной?
13.
Как передаются в подпрограмму параметры-константы, что может использоваться в качестве фактического параметра для параметра-константы?
14.
Каким образом можно осуществить досрочный выход из подпрограммы?
15.
Существуют ли подпрограммы без параметров?
16.
Какое количество значений возвращает функция?
17.
Как определить тип значения, возвращаемый функцией?
18.
Могут ли фактические параметры быть выражениями?
19.
Сколько элементов должен содержать список фактических параметров?
20.
Сколько элементов может содержать список формальный параметров?
21.
Каково соответствие между фактическими и формальными параметрами?
22.
Могут ли фактические параметры быть именами переменных?
23.
Какие переменные называются локальными?
24.
Что такое область видимости переменной?
25.
Может ли имя локальной переменной совпадать с глобальной?
26.
Может ли в основной программе функция вызываться внутри выражений?
27.
Наличие какого оператора необходимо для возвращения значения из функции в вызывающую программу?