Для чего используются подпрограммы какими они бывают

Подпрограмма

Подпрограмма (англ. subroutine ) — поименованная или иным образом идентифицированная часть компьютерной программы, содержащая описание определённого набора действий. Подпрограмма может быть многократно вызвана из разных частей программы. В языках программирования для оформления и использования подпрограмм существуют специальные синтаксические средства.

Содержание

Назначение подпрограмм.

Подпрограммы изначально появились как средство оптимизации программ по объёму занимаемой памяти — они позволили не повторять в программе идентичные блоки кода, а описывать их однократно и вызывать по мере необходимости. К настоящему времени данная функция подпрограмм стала вспомогательной, главное их назначение — структуризация программы с целью удобства её понимания и сопровождения.

Механизм подпрограмм, их описание и вызов

В простейшем случае (в ассемблерах) подпрограмма представляет собой последовательность команд (операторов), отдельную от основной части программы и имеющую в конце специальную команду выхода из подпрограммы. Обычно подпрограмма также имеет имя, по которому её можно вызвать, хотя ряд языков программирования допускает использование и неименованных подпрограмм. В языках высокого уровня описание подпрограммы обычно состоит по меньшей мере из двух частей: заголовка и тела. Заголовок подпрограммы описывает её имя и, возможно, параметры, то есть содержит информацию, необходимую для вызова подпрограммы. Тело — набор операторов, который будет выполнен всякий раз, когда подпрограмма будет вызвана.

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

В следующем примере на языке Паскаль подпрограмма subprog вызывается из основной программы трижды:

Результатом выполнения такой программы станет вывод строки «Hello» и трёх строк «Bye».

Некоторые языки программирования (например, Паскаль, Ада, Модула-2) допускают описание вложенных подпрограмм, то есть помещение подпрограмм внутрь других подпрограмм. Такие вложенные подпрограммы могут использоваться только в той подпрограмме, в которой они описаны. В иных случаях (например, в языке Си) вложение подпрограмм не допускается. Никаких принципиальных преимуществ вложение подпрограмм не даёт, но может быть удобно для более логичной структуризации программы (если какая-то подпрограмма используется только в некоторой другой подпрограмме, логично поместить первую во вторую).

Параметры подпрограмм

Назначение параметров

Подпрограммы часто используются для многократного выполнения стереотипных действий над различными данными. Подпрограмма обычно имеет доступ к объектам данных, описанным в основной программе (по крайней мере, к некоторым из них), поэтому для того, чтобы передать в подпрограмму обрабатываемые данные, их достаточно присвоить, например, глобальным переменным. Но такой путь не особенно удобен и чреват ошибками.

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

В приведённом примере параметр Line подпрограммы subprog в каждом вызове получает различное значение, благодаря чему выводятся не одинаковые строки, а разные.

Формальные и фактические параметры

Способ передачи параметров в подпрограмму

Существует несколько способов передачи параметров в подпрограмму.

Язык программирования может предоставлять возможность передавать параметры в подпрограммы либо только по значению (так сделано в языке Си), либо по значению и по ссылке (это реализовано в Паскале, Аде, C++), либо по имени и значению (это реализовано в языках Алгол и Алгол 68). В последних двух случаях для различения способов передачи параметра используются отдельные синтаксическая конструкции (в Паскале это ключевое слово var при описании параметра). В действительности, если язык содержит понятие ссылки (указателя), то можно обойтись и без передачи параметра по ссылке (её всегда можно смоделировать, описав параметр типа «ссылка»), но эта возможность удобна, так как позволяет работать с формальным параметром-ссылкой без разыменования, а также повышает надёжность и безопасность программы.

На параметры, передаваемые по ссылке, накладываются естественные ограничения: фактический параметр, подставляемый на место такого параметра при вызове, обязан быть переменной (то есть иметь адрес), а в языках со строгой типизацией — ещё и иметь в точности такой же тип данных.

Виды подпрограмм

В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.

Подпрограммы, входящие в состав классов в объектных языках программирования, обычно называются методами. Этим термином называют любые подпрограммы-члены класса, как функции, так и процедуры; когда требуется уточнение, говорят о методах-процедурах или методах-функциях.

Источник

Подпрограммы

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

4.1 Общие сведения о подпрограммах. Локальные и глобальные переменные

Для правильного определения области действия идентификаторов (переменных) необходимо придерживаться следующих правил:

4.2 Формальные и фактические параметры. Передача параметров в подпрограмму

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

Механизм передачи параметров обеспечивает обмен данных между формальными и фактическими параметрами, что позволяет выполнять подпрограмму с различными данными. Между фактическими параметрами в операторе вызова и формальными параметрами в заголовке подпрограммы устанавливается взаимно однозначное соответствие. Количество, типы и порядок следования формальных и фактических параметров должны совпадать.

Формальные параметры процедуры можно разделить на два класса: параметры-значения и параметры-переменные.

При передаче данных через параметры-значения в подпрограмму передаются значения фактических параметров, и доступа к самим фактическим параметрам из подпрограммы нет. При передаче данных параметры-переменные заменяют 1 Реально в подпрограмму передаются адреса фактических параметров. формальные параметры, и, следовательно, в подпрограмме есть доступ к значениям фактических параметров. Любое изменение параметров-переменных в подпрограмме приводит к изменению соответствующих им формальных параметров. Следовательно, входные данные следует передавать через параметры-значения, для передачи изменяемых в результате работы подпрограммы данных следует использовать параметры-переменные.

От общетеоретических положений перейдём к практическому использованию подпрограмм при решении задач. Изучение подпрограмм начнем с процедур.

4.3 Процедуры

Описание процедуры имеет вид:

procedure name_1( r : real; i : integer; c : char );

Однотипные параметры могут быть перечислены через запятую:

procedure name_2( a, b : real; i, j, k : integer );

Список формальных параметров необязателен и может отсутствовать:

Если в заголовке процедуры будут применяться параметры-переменные, то перед ними необходимо указывать служебное слово var :

procedure name_4( x, y : real; var z : real );

Для обращения к процедуре необходимо использовать оператор вызова:

Фактические параметры в списке оператора вызова отделяются друг от друга запятой:

a : = 5. 3; k : = 2; s := ’ a ’;

Если в описании процедуры формальные параметры отсутствовали, то и при вызове их быть не должно:

Алгоритм решения этой задачи был подробно описан в задаче 3.3 (рис. 3.14). Однако там не была рассмотрена ситуация некорректного ввода значений коэффициентов. Например, если пользователь введёт Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают, то уравнение из квадратного превратится в линейное. Алгоритм решения линейного уравнения тривиален: Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают, при условии, что Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают. Чтобы не усложнять уже составленный алгоритм решения квадратного уравнения, запишем его в виде подпрограммы-процедуры. Далее приведён фрагмент программы с комментариями:

Источник

Процедура (программирование)

Подпрограмма (англ. subprogram ) — поименованная или иным образом идентифицированная часть компьютерной программы, содержащая описание определённого набора действий. Подпрограмма может быть многократно вызвана из разных частей программы. В языках программирования для оформления и использования подпрограмм существуют специальные синтаксические средства.

Содержание

Назначение подпрограмм.

Подпрограммы изначально появились как средство оптимизации программ по объёму занимаемой памяти — они позволили не повторять в программе идентичные блоки кода, а описывать их однократно и вызывать по мере необходимости. К настоящему времени данная функция подпрограмм стала вспомогательной, главное их назначение — структуризация программы с целью удобства её понимания и сопровождения.

Механизм подпрограмм, их описание и вызов

В простейшем случае (в ассемблерах) подпрограмма представляет собой последовательность команд (операторов), отдельную от основной части программы и имеющую в конце специальную команду выхода из подпрограммы. Обычно подпрограмма также имеет имя, по которому её можно вызвать, хотя ряд языков программирования допускает использование и неименованных подпрограмм. В языках высокого уровня описание подпрограммы обычно состоит по меньшей мере из двух частей: заголовка и тела. Заголовок подпрограммы описывает её имя и, возможно, параметры, то есть содержит информацию, необходимую для вызова подпрограммы. Тело — набор операторов, который будет выполнен всякий раз, когда подпрограмма будет вызвана.

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

В следующем примере на языке Паскаль подпрограмма subprog вызывается из основной программы трижды:

Результатом выполнения такой программы станет вывод строки «Hello» и трёх строк «Bye».

Некоторые языки программирования (например, Паскаль, Ада, Модула-2) допускают описание вложенных подпрограмм, то есть помещение подпрограмм внутрь других подпрограмм. Такие вложенные подпрограммы могут использоваться только в той подпрограмме, в которой они описаны. В иных случаях (например, в языке Си) вложение подпрограмм не допускается. Никаких принципиальных преимуществ вложение подпрограмм не даёт, но может быть удобно для более логичной структуризации программы (если какая-то подпрограмма используется только в некоторой другой подпрограмме, логично поместить первую во вторую).

Параметры подпрограмм

Назначение параметров

Подпрограммы часто используются для многократного выполнения стереотипных действий над различными данными. Подпрограмма обычно имеет доступ к объектам данных, описанным в основной программе (по крайней мере, к некоторым из них), поэтому для того, чтобы передать в подпрограмму обрабатываемые данные, их достаточно присвоить, например, глобальным переменным. Но такой путь не особенно удобен и чреват ошибками.

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

В приведённом примере параметр Line подпрограммы subprog в каждом вызове получает различное значение, благодаря чему выводятся не одинаковые строки, а разные.

Формальные и фактические параметры

Способ передачи параметров в подпрограмму

Существует несколько способов передачи параметров в подпрограмму.

Язык программирования может предоставлять возможность передавать параметры в подпрограммы либо только по значению (так сделано в языке Си), либо по значению и по ссылке (это реализовано в Паскале, Аде, C++), либо по имени и значению (это реализовано в языках Алгол и Алгол 68). Во последних двух случаях для различения способов передачи параметра используются отдельные синтаксическая конструкции (в Паскале это ключевое слово var при описании параметра). В действительности, если язык содержит понятие ссылки (указателя), то можно обойтись и без передачи параметра по ссылке (её всегда можно смоделировать, описав параметр типа «ссылка»), но эта возможность удобна, так как позволяет работать с формальным параметром-ссылкой без разыменования, а также повышает надёжность и безопасность программы.

На параметры, передаваемые по ссылке, накладываются естественные ограничения: фактический параметр, подставляемый на место такого параметра при вызове, обязан быть переменной (то есть иметь адрес), а в языках со строгой типизацией — ещё и иметь в точности такой же тип данных.

Виды подпрограмм

В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.

Подпрограммы, входящие в состав классов в объектных языках программирования, обычно называются методами. Этим термином называют любые подпрограммы-члены класса, как функции, так и процедуры; когда требуется уточнение, говорят о методах-процедурах или методах-функциях.

Источник

Применение подпрограмм при программировании

Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают

Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают

Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают

Алгоритм, выполняющий некоторую относительно автономную, законченную часть основной задачи, называют вспомогательным алгоритмом, а соответствующую «вспомогательную программу” — подпрограммой (или процедурой).

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

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

Главное назначение подпрограмм — структуризация программы с целью удобства
её понимания и сопровождения:

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

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

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

Классификация подпрограмм. В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.

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

Процедура — это любая подпрограмма, которая не является функцией. Подпрограммы, входящие в состав классов в объектных языках программирования, обычно называются методами. Этим термином называют любые подпрограммы-члены класса, как функции, так и процедуры; когда требуется уточнение, говорят о методах-процедурах или методах-функциях.

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

Ячейки памяти, в которых хранятся адреса возврата из подпрограмм называются стеком. Логически эти ячейки памяти организованы так, чтобы считывание последнего записанного адреса производилось первым, а первого записанного адреса производилось последним.

Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают

Для вызова подпрограммы без параметров нужно поместить перед ее именем символ &. Вызов подпрограммы без аргументов означает, что ей передается текущее состояние массива.

Подпрограммы также делятся по способу передачи параметров в подпрограмму: по имени, по значению, по ссылке, через стек.

Возможны также подпрограммы, которые вызывают сами себя. Они называются рекурсивными.

Библиотечные подпрограммы выполняют большое количество различных задач. Ниже перечислены подпрограммы, а также включаемые файлы, в которых они объявлены, разбитые на несколько общих категорий по выполняемым задачам.

Подпрограммы классификации. Данные подпрограммы классифицируют символы ASCII как буквы, управляющие символы, знаки пунктуации, символы верхнего регистра и т.д.

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

Подпрограммы управления директориями. Эти подпрограммы манипулируют директориями и именами пути доступа.

Диагностические подпрограммы. Эти подпрограммы реализуют встроенные средства поиска ошибки.

Графические подпрограммы. Эти подпрограммы позволяют создавать экранные графические представления с текстовой частью.

Подпрограммы ввода/вывода. Эти подпрограммы реализуют средства ввода/вывода на уровне потоков и DOS.

Подпрограммы интерфейса (DOS, BIOS). Эти подпрограммы реализуют обращения к средствам DOS, BIOS и специфичным средствам данного компьютера.

Подпрограммы манипуляции. Эти подпрограммы обрабатывают строки и блоки памяти: копирование, сравнение, преобразования и поиск.

Математические подпрограммы. Эти подпрограммы выполняют математические вычисления и преобразования.

Подпрограммы управления памятью. Эти подпрограммы обеспечивают динамическое распределение памяти для моделей данных small и large

Подпрограммы управления процессами. Эти подпрограммы запускают и завершают выполнение одних процессов из других.

Разные подпрограммы.Эти подпрограммы предоставляют средства перехода за пределы локального контекста, различные звуковые эффекты и локальные эффекты и другие подпрограммы.

Библиотека стандартных подпрограмм— это совокупность подпрограмм, составленных на одном из языков программирования и удовлетворяющих определенным единым требованиям к структуре, организации их входов и выходов, описаниям подпрограмм и т.п.

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

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

Источник

Подпрограммы

Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают

Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают

Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают

Методология структурного программирования основывается на использовании подпрограмм и независимых структур данных.

Подпрограмма (англ. subprogram) — поименованная или иным образом идентифицированная часть компьютерной программы, содержащая описание определённого набора действий. Подпрограмма может быть многократно вызвана из разных частей программы.

Назначение подпрограмм. Подпрограммы изначально появились как средство оптимизации программ по объёму занимаемой памяти — они позволили не повторять в программе идентичные блоки кода, а описывать их однократно и вызывать по мере необходимости. К настоящему времени данная функция подпрограмм стала вспомогательной, главное их назначение — структуризация программы с целью удобства её понимания и сопровождения

Выделение набора действий в подпрограмму и вызов её по мере необходимости позволяет логически выделить целостную подзадачу, имеющую типовое решение. Такое действие имеет ещё одно (помимо экономии памяти) преимущество перед повторением однотипных действий: любое изменение (исправление ошибки, оптимизация, расширение функциональности), сделанное в подпрограмме, автоматически отражается на всех её вызовах, в то время как при дублировании каждое изменение необходимо вносить в каждое вхождение изменяемого кода.

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

В простейшем случае (в ассемблерах) подпрограмма представляет собой последовательность команд (операторов), отдельную от основной части программы и имеющую в конце специальную команду выхода из подпрограммы. Обычно подпрограмма имеет имя, по которому её можно вызвать, хотя ряд языков программирования допускает использование и неименованных подпрограмм. В языках высокого уровня описание подпрограммы обычно состоит по меньшей мере из двух частей: заголовка и тела. Заголовок подпрограммы описывает её имя и, возможно, параметры, то есть содержит информацию, необходимую для вызова подпрограммы. Тело — набор операторов, который будет выполнен всякий раз, когда подпрограмма будет вызвана.

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

Формальные и фактические параметры.Чтобы отличать параметры подпрограммы, описанные в её заголовке и теле, от параметров, указываемых при вызове подпрограммы, первые принято называть формальными параметрами, вторые — фактическими параметрами.

Подпрограмма – это блок кода между операторами Sub и End Sub или Function и end Function.

Виды подпрограмм. В языках программирования высокого уровня используется два типа подпрограмм: процедуры и функции.

Подпрограмма-процедура – это блок кода, заключенный между операторами Sub и End Sub. Обычно подпрограмму-процедуру принято называть процедурой.

При написании программы нужно учесть одно правило: «Внутри одной процедуры не может быть описана другая процедура».

Процедура — это любая подпрограмма, которая не является функцией.

Подпрограмма-функция– это блок кода, заключенный между операторами Function и End Function. Она выполняет какую-то операцию, но при этом обязательно возвращает какое-нибудь значение. Значение возвращается через имя функции.

Функция — это подпрограмма специального вида, которая, кроме получения параметров, выполнения действий и передачи результатов работы через параметры имеет ещё одну возможность — она может возвращать результат. Вызов функции является, с точки зрения языка программирования, выражением, он может использоваться в других выражениях или в качестве правой части присваивания. Подробнее см. в статье Функция (программирование).

Подпрограммы, входящие в состав классов в объектных языках программирования, обычно называются методами. Этим термином называют любые подпрограммы-члены класса, как функции, так и процедуры; когда требуется уточнение, говорят о методах-процедурах или методах-функциях.

Для чего используются подпрограммы какими они бывают. Смотреть фото Для чего используются подпрограммы какими они бывают. Смотреть картинку Для чего используются подпрограммы какими они бывают. Картинка про Для чего используются подпрограммы какими они бывают. Фото Для чего используются подпрограммы какими они бывают

6.2.4 Принцип проектирования программ сверху-вниз и снизу–вверх.

Программирование «сверху вниз», или нисходящее программирование– это методика разработки программ, при которой разработка начинается с определения целей решения проблемы, после чего идет последовательная детализация, заканчивающаяся детальной программой. Является противоположной методике программирования «снизу вверх».

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

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

Программирование «снизу вверх», или восходящее программирование – это методика разработки программ, начинающаяся с разработки подпрограмм (процедур, функций), в то время когда проработка общей схемы не закончилась. Является противоположной методике программирования «сверху вниз».

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

Программирование «сверху вниз», или пошаговая детализация. Суть метода заключается в разбиении исходной задачи на последовательность нескольких меньших подзадач. Эти подзадачи, в свою очередь, тоже распадаются на подзадачи и т. д. до тех пор, пока не останутся только элементарные алгоритмы.

Пример. Чтобы написать число 512, сначала пишут цифру 5, затем 1 и, наконец, 2. При этом цифры рисуют, последовательно прорисовывая линии, из которых они состоят. Принтер напечатает это число точками.

При разработке программы пошагово, методом «сверху вниз» сначала пишется текст основной программы, в котором, вместо каждого связного логического фрагмента текста, вставляется вызов подпрограммы, которая будет выполнять этот фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставляются «заглушки», которые ничего не делают. Полученная программа проверяется и отлаживается. После того, как программист убедится, что подпрограммы вызываются в правильной последовательности (то есть общая структура программы верна), подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы. Разработка заканчивается тогда, когда не останется ни одной «затычки», которая не была бы удалена. Такая последовательность гарантирует, что на каждом этапе разработки программист одновременно имеет дело с обозримым и понятным ему множеством фрагментов, и может быть уверен, что общая структура всех более высоких уровней программы верна. При сопровождении и внесении изменений в программу выясняется, в какие именно процедуры нужно внести изменения, и они вносятся, не затрагивая части программы, непосредственно не связанные с ними. Это позволяет гарантировать, что при внесении изменений и исправлении ошибок не выйдет из строя какая-то часть программы, находящаяся в данный момент вне зоны внимания программиста.

В теории и практике программирования наиболее популярны стратегии «сверху вниз» и «снизу вверх». Такие полярные варианты взаимодействия процессов проектирования и реализации оказываются применимыми только для программ небольшого или среднего размера. Создание же крупной программы обычно связано с поиском разумного компромисса между этими вариантами. Существует и еще одно решение – программирование «вширь».

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *