"Информатика", Горячев А.В., Суворова Н.И.
Алгоритм с параметром — это описание действий, в котором некоторые данные можно менять при каждом запуске. Благодаря этому один и тот же алгоритм подходит для похожих задач: не требуется заново записывать команды, достаточно передать другое значение. В заголовке используют имя формального параметра, а при вызове указывают фактический параметр. Главное — понимать связь между ними и видеть, как выбранное значение изменяет результат работы.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Алгоритм с параметром — алгоритм, в котором отдельные действия зависят от значения указанного параметра. Он описывает общий способ решения, подходящий для нескольких похожих случаев. Поэтому команды не приходится переписывать при каждом новом исходном значении.
Параметр — величина, значение которой задают при выполнении алгоритма и которая влияет на его работу. Это может быть число символов, длина стороны или расстояние между фигурами. Параметр нужен, чтобы управлять результатом, сохраняя общий порядок действий.
Формальный параметр — имя величины, записанное в заголовке алгоритма и используемое внутри него. Например, в записи ПостроитьКвадрат(a) буква a является формальным параметром. Она служит обозначением неизвестного заранее значения, с которым будут выполняться команды.
Фактический параметр — конкретное значение или величина, передаваемые алгоритму при его вызове. В вызове ПостроитьКвадрат(5) числовое значение 5 — фактический параметр. Именно оно определяет, какого размера получится квадрат в данном запуске.
Один и тот же алгоритм удобно использовать в похожих ситуациях, потому что меняется только исходное значение, а способ действия остаётся прежним. Например, вывод десяти символов и вывод пяти символов требуют одинаковой последовательности команд. Если число символов сделать параметром, достаточно изменить вызов, а не переписывать весь алгоритм.
Параметр записывают в заголовке алгоритма, обычно после его имени, например Вывести(n). В теле алгоритма имя n используется там, где нужно учитывать переданное число. Такая запись отделяет общий способ решения от конкретных данных и делает описание понятным для разных запусков.
При вызове алгоритма указывают фактический параметр, например Вывести(7). Переданное значение связывается с формальным параметром n, поэтому внутри алгоритма n воспринимается как 7. После связывания исполнитель последовательно выполняет команды тела с этим значением.
Выбор другого фактического параметра может изменить результат, хотя сами команды и их порядок остаются прежними. При вызовах Вывести(3) и Вывести(8) алгоритм действует одинаковым способом, но выдаёт разное количество символов. Это позволяет избежать повторения одинаковых действий и хранить один универсальный алгоритм вместо нескольких почти одинаковых.
| Что сравниваем | Формальный параметр | Фактический параметр |
|---|---|---|
| Где указывается | В заголовке алгоритма | При вызове алгоритма |
| Какую роль выполняет | Обозначает данные внутри алгоритма | Задаёт конкретное значение для запуска |
| Как выглядит в примере | n в Вывести(n) | 5 в Вывести(5) |
| Когда получает значение | При вызове связывается с фактическим параметром | Передаётся алгоритму сразу при вызове |
Таблицу удобно читать слева направо: сначала определить имя в описании, затем найти значение, переданное при запуске. Например, n — формальный параметр, а 5 — фактический. Если параметров несколько, каждому имени должно соответствовать своё переданное значение.
Условие. Нужно составить алгоритм, который выводит одинаковый символ заданное число раз, а затем выполнить его для нескольких значений. Количество повторений заранее не фиксируем, потому что оно должно меняться от вызова к вызову.
Ответ. Первый вызов выведет четыре символа, второй — семь. Команды алгоритма остались одинаковыми, изменилось только переданное количество.
Условие. Дан алгоритм построения квадрата, длина стороны которого задаётся параметром. Нужно вызвать его для двух разных длин стороны и проследить связь параметров.
Ответ. В первом случае получится квадрат со стороной 3, во втором — со стороной 6. Последовательность команд построения не изменилась, а размер фигуры определило фактическое значение.
Условие. Нужно составить алгоритм рисования ряда из заданного числа фигур с заданным промежутком между ними. Здесь понадобятся два параметра, потому что количество фигур и расстояние управляют разными частями результата.
Ответ. Первый вызов создаст три фигуры с промежутком 2, второй — пять фигур с промежутком 4. Каждый фактический параметр изменяет только ту часть результата, за которую отвечает его формальный параметр.
Формальный параметр путают с фактическим: называют числовое значение именем параметра или считают имя уже готовым числом. Так происходит, если не различать описание алгоритма и его запуск. Проверьте себя: имя ищите в заголовке, а конкретное значение — в записи вызова.
Иногда забывают передать фактический параметр или передают значение неподходящего типа. Без нужного значения алгоритм не знает, как выполнить зависимые команды, а неверный тип может сделать выполнение невозможным. Перед запуском проверьте число параметров и соответствие каждого значения его назначению.
Другая ошибка — записать внутри алгоритма конкретное число вместо формального параметра. Тогда алгоритм будет работать только для одного случая и перестанет быть универсальным. Замените постоянное значение именем из заголовка и мысленно проверьте два разных вызова.
Изменение параметра иногда ошибочно принимают за изменение самого алгоритма. На самом деле команды и их порядок сохраняются, меняются только данные, с которыми они выполняются. Для проверки сравните записи двух вызовов и убедитесь, что тело алгоритма осталось прежним.
До изучения алгоритмов с параметрами нужно понимать, что такое алгоритм, команда и исполнитель. Также потребуется представление о величине, ведь параметр хранит некоторое значение. Эти знания помогают отличать общий порядок действий от данных, которыми он управляет.
Алгоритмы с параметрами связаны с процедурами и подпрограммами — отдельными частями программы, которые можно вызывать повторно. Параметры делают такие части гибкими и пригодными для разных входных данных. Поэтому этот способ описания часто используют при создании и повторном применении программных решений.
Зачем алгоритму нужен параметр?
Параметр позволяет применять один алгоритм к разным исходным данным. Благодаря этому не приходится создавать отдельный набор команд для каждого нового значения.
Чем формальный параметр отличается от фактического?
Формальный параметр — это имя, записанное в заголовке алгоритма и используемое внутри его команд. Фактический параметр — конкретное значение, которое передают алгоритму при вызове.
Где указывают формальный параметр?
Формальный параметр указывают в заголовке алгоритма. Его имя затем используют в командах тела алгоритма вместо конкретного числа или другого значения.
Что происходит с параметром при вызове алгоритма?
Переданное фактическое значение связывается с соответствующим формальным параметром. После этого команды алгоритма выполняются так, будто формальный параметр получил это значение.
Можно ли передать алгоритму несколько параметров?
Да, алгоритм может иметь несколько параметров. При вызове каждому формальному параметру передают своё фактическое значение, например число фигур и расстояние между ними.
§ 4. Алгоритм с параметрами