Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ospk-1_v21.doc
Скачиваний:
25
Добавлен:
08.11.2019
Размер:
5.82 Mб
Скачать

Лабораторная работа № 10 Тема: «Разработка алгоритмов, использующих подпрограммы»

Цель работы – изучить принцип построения алгоритмов, использующих подпрограммы.

Теоретические сведения

Часто в алгоритме имеются сходные алгоритмические структуры, отличающиеся только набором входных данных, к которым этот алгоритм применяется. Для записи таких схожих алгоритмических структур применяют подпрограммы (или вспомогательный алгоритм).

Вспомогательный алгоритм является аналогом языковой подпрограммы. Он имеет имя и может иметь параметры, которые называются формальными параметрами. Имя служит для того, чтобы отличить его от других алгоритмов, а формальные параметры, которые напоминают переменные математических функций, выполняют роль входных и выходных параметров.

Формальные параметры должны быть выбраны таким образом, чтобы ими был исчерпан весь набор необходимых входных и выходных величин. Нередко один и тот же параметр может оказаться входным и выходным одновременно. Например, на вход такого алгоритма может быть подан массив для обработки, а на выходе процедуры он может предстать в измененном виде как выходной параметр.

Пример вызова подпрограммы приведен на рис.10.1.

Рисунок 10.1 – Блок вызова подпрограммы

На рис.10.2а представлен пример оформления алгоритма подпрограммы, включающий имя процедуры Warn и один формальный параметр i. Программа рис.10.2б обращается к подпрограмме рис.10.2а.

а) б)

Рисунок 10.2 – Пример определения процедуры (а) и ее вызова (б)

Индивидуальные задания

  1. Создайте алгоритм поиска большего из четырех чисел с использованием подпрограммы поиска большего из двух чисел.

  2. Даны координаты вершин многоугольника (x1, y1,x2,y2,…x10,y10). Создайте алгоритм вычисления его периметра (вычисление расстояния между вершинами оформить подпрограммой).

  3. Создайте алгоритм вычисления числа сочетаний из N по M. Число сочетаний определяется по формуле N!/(M!*(N-M)!, где N – количество элементов перебора. Используйте подпрограмму вычисления факториала.

  4. Создайте алгоритм определения НОД трех натуральных чисел, используя подпрограмму.

  5. Даны действительные числа s, t. Создайте алгоритм вычисления выражения f(t, -2s, 1.17) + f(2.2, t, s-t), где f(a,b,c) = (2a – b – sin(c)) / (5 + |c|), используя подпрограмму.

  6. Даны натуральные m и n (m<n). Создайте алгоритм, сокращающую дробь m/n, используя подпрограмму.

  7. Создайте алгоритм вычисления суммы квадратов простых чисел, лежащих в интервале (M,N), используя подпрограмму.

  8. Создайте алгоритм подсчета числа четных цифр, используемых в записи N-значного числа M, используя подпрограмму.

  9. Создайте алгоритм вычисления суммы трехзначных чисел, в десятичной записи которых нет четных цифр, используя подпрограмму.

  10. Создайте алгоритм вывода на экран всех натуральных чисел, не превосходящих N и делящихся на каждую из своих цифр, используя подпрограмму.

  11. Создайте алгоритм нахождения наименьшего натурального N-значного числа X (X>=10), равного утроенному произведению своих цифр, используя подпрограмму.

  12. Создайте алгоритм подсчета числа всех натуральных чисел, меньших М, квадрат суммы цифр которых равен X, используя подпрограмму.

Контрольные вопросы

1) Дайте определение понятиям процедура и функция.

2) Укажите основные отличия процедур от функций.

3) Как отображаются процедуры и функции при описании алгоритмов?

4) Приведите пример использования процедуры.