Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторные работы П2.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
895.03 Кб
Скачать

Решение задач на процедуры и функции

Цель: Научиться использовать процедуры пользователя при решении задач на языке 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. Вычисление значения степени оформить в виде рекурсии.