Цель: Научиться использовать процедуры пользователя при решении задач на языке Pascal.
Краткие сведения:В языке Паскаль имеется две разновидности подпрограмм - процедуры и функции.Структура любой подпрограммы аналогична структуре всей программы. Подпрограмма должна быть описана до того, как она будет использована в программе или другой подпрограмме.Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные параметры, объявленные внутри подпрограммы и доступные только ей самой, и глобальные - объявленные в основной программе и доступные как программе, так и всем ее подпрограммам. Обмен информацией между основной программой и подпрограммой может осуществляться только с помощью глобальных параметров.Подпрограмма может использовать глобальные параметры двояким образом: - непосредственно обращаясь к глобальному параметру по его имени или используя механизм формальных параметров. - подпрограмма может непосредственно использовать любые глобальные параметры за исключением тех, которые имеют те же имена, что и ее локальные параметры.
Задания:
Вариант 1.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, суммы делителей которых меньше заданного числа Х. Проверку, является ли сумма делителей данного числа меньше заданного числа Х, сделать с помощью процедуры пользователя.
2.Даны координаты четырех точек на плоскости. Найти отрезок минимальной длины. Вычисление расстояния между двумя точками оформить в виде процедуры пользователя.
3.Вычислить значение выражения y=xn+zn. Вычисление значения степени оформить в виде рекурсии.
Вариант 2.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, суммы делителей которых больше заданного числа Х. Проверку, является ли сумма делителей данного числа больше заданного числа Х, сделать с помощью процедуры пользователя.
2.Даны координаты вершин некоторого пятиугольника. Разбив его на треугольники вычислить его площадь. Вычисление площади треугольника по формуле Герона оформить в виде процедуры пользователя.
3.Вычислить значение выражения y=xn – zk. Вычисление значения степени оформить в виде рекурсии.
Вариант 3.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, суммы цифр которых равной заданному числу Х. Проверку, является ли сумма цифр данного числа равной заданному числу Х, сделать с помощью процедуры пользователя.
2.Даны три натуральных числа. Найти наименьшее общее кратное этих чисел. Вычисление наибольшего общего делителя двух чисел оформить в виде процедуры пользователя.
3.Вычислить значение выражения y=a*xn. Вычисление значения степени оформить в виде рекурсии.
Вариант 4.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, суммы цифр которых меньше заданного числа Х. Проверку, является ли сумма цифр данного числа меньше заданного числа Х, сделать с помощью процедуры пользователя.
2.Вычислить значение выражения С=А!/(К-В)! Вычисление значения факториала оформить в виде процедуры пользователя.
3.Вычислить значение выражения y=a/b+zn. Вычисление значения степени оформить в виде рекурсии.
Вариант 5.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, суммы цифр которых больше заданного числа Х. Проверку, является ли сумма цифр данного числа больше заданного числа Х, сделать с помощью процедуры пользователя.
2.Даны координаты трех точек на плоскости. Выяснить лежат ли эти точки на одной прямой. Вычисление расстояния между двумя точками оформить в виде процедуры пользователя.
3.Найти сумму N чисел Фибоначчи. Вычисление каждого члена Фибоначчи оформить в виде рекурсии.
Вариант 6.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, суммы цифр которых есть число нечетное. Проверку, является ли сумма цифр данного числа нечетной, сделать с помощью процедуры пользователя.
2. Даны три числа, могут ли эти числа быть сторонами треугольника. Если треугольник существует, то вычислить длины медиан этого треугольника. Вычисление длины медианы треугольника оформить в виде процедуры пользователя.
3.Найти такое число Фибоначчи, которое больше заданного числа Z. Вычисление каждого числа Фибоначчи оформить в виде рекурсии.
Вариант 7.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые являются степенью двойки. Проверку, является ли число степенью двойки, сделать с помощью процедуры пользователя.
2. Даны три числа А, В,С. Найти наибольший общий делитель этих чисел. Определение наибольшего общего делителя двух чисел оформить в виде процедуры пользователя.
3.На каком месте в ряду будет стоять число Фибоначчи, которое меньше заданного числа Z. Вычисление каждого члена Фибоначчи оформить в виде рекурсии.
Вариант 8.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые оканчиваются на 3. Проверку, оканчивается ли число на тройку, сделать с помощью процедуры пользователя.
2.Даны две простые дроби числитель первой А, знаменатель В, числитель второй дроби С, знаменатель D. Найти их сумму, и если можно сократить полученный результат. Определение наибольшего общего делителя двух чисел оформить в виде процедуры пользователя.
3.Вычислить значение выражения y = (n! + a!)/p. Вычисление факториала оформить в виде рекурсии.
Вариант 9.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые делятся на данное число K. Проверку, делится ли данное число на K, сделать с помощью процедуры пользователя.
2.Два отрезка на плоскости заданы координатами своих концов. Сравнить длины этих отрезков. Нахождение длины отрезка оформить в виде процедуры пользователя.
3.Вычислить значение выражения y =в/(n! + a!). Вычисление факториала оформить в виде рекурсии.
Вариант 10.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые при делении на данное число K, дают в остатке число 4. Проверку, равен ли остаток четырем при делении данного числа на K, сделать с помощью процедуры пользователя.
2. Даны координаты вершин некоторого четырехугольника. Найти его площадь. Вычисление площади одного треугольника по формуле Герона оформить в виде процедуры пользователя.
3.Вычислить значение выражения y = (z! - a!)/(k-m). Вычисление факториала оформить в виде рекурсии.
Вариант 11.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые являются делителями последнего числа В. Проверку, делится ли число В на текущее число, сделать с помощью процедуры пользователя.
2.Два отрезка выходят из начала координат. Даны координаты концов этих отрезков. Какой из отрезков длиннее? Определение длины одного отрезка оформить в виде процедуры пользователя.
3.Вычислить значение выражения y =a!/(m+n)+b!. Вычисление факториала оформить в виде рекурсии.
Вариант 12.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые в своей записи имеют цифру 7. Проверку, имеет ли данное число в своей записи цифру 7, сделать с помощью процедуры пользователя.
2.Вычислить значение выражения С=А! + В! Вычисление значения факториала оформить в виде процедуры пользователя.
3.Вычислить значение выражения y=1/xk+b. Вычисление значения степени оформить в виде рекурсии.
Вариант 13.
1.Дан натуральный отрезок чисел [A,B]. Найти количество тех чисел этого отрезка, которые в своей записи имеют две девятки. Проверку, имеет ли данное число в своей записи две девятки, сделать с помощью процедуры пользователя.
2.Даны координаты трех точек. Могут ли они быть вершинами треугольника. Если могут, то найти длины медиан этого треугольника. Вычисление расстояния между двумя точками оформить в виде процедуры пользователя.
3.Вычислить значение выражения y=(a-b)n/c. Вычисление значения степени оформить в виде рекурсии.
Вариант 14.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые в своей записи имеют только четные цифры. Проверку, имеет ли данное число в своей записи только четные цифры, сделать с помощью процедуры пользователя.
2.Даны три числа, могут ли эти числа быть сторонами треугольника. Если треугольник существует, то вычислить длины высот этого треугольника. Вычисление длины высоты треугольника оформить в виде процедуры пользователя.
3.Вычислить значение выражения y=a*xn/b. Вычисление значения степени оформить в виде рекурсии.
Вариант 15.
1.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, суммы цифр которых есть число четное. Проверку, является ли сумма цифр данного числа четной, сделать с помощью процедуры пользователя.
2. Даны три числа, могут ли эти числа быть сторонами треугольника. Если треугольник существует, то вычислить длины биссектрис этого треугольника. Вычисление длины биссектрисы треугольника оформить в виде процедуры пользователя.
3.Вычислить значение выражения y=xn/(a-b)k. Вычисление значения степени оформить в виде рекурсии.
Контрольные вопросы:
1. В чем состоит отличие процедуры от функции?
2. В чем состоит отличие параметра‑переменной от выходного параметра?
3. Каково отличие параметров‑переменных от параметров‑значений?
4. Можно ли изменить значение параметра‑константы в подпрограмме?