0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Подпрограмма - это…</a><ul><li><a>Форма и особенности</a></li>
1
<ul><li><a>Подпрограмма - это…</a><ul><li><a>Форма и особенности</a></li>
2
<li><a>Для чего нужны</a></li>
2
<li><a>Для чего нужны</a></li>
3
</ul></li>
3
</ul></li>
4
<li><a>Механизмы, описание, вызов</a></li>
4
<li><a>Механизмы, описание, вызов</a></li>
5
<li><a>О параметрах</a><ul><li><a>Формальные и фактические параметры</a></li>
5
<li><a>О параметрах</a><ul><li><a>Формальные и фактические параметры</a></li>
6
</ul></li>
6
</ul></li>
7
<li><a>Способы передачи</a></li>
7
<li><a>Способы передачи</a></li>
8
<li><a>Виды подпрограмм</a></li>
8
<li><a>Виды подпрограмм</a></li>
9
<li><a>Методы</a></li>
9
<li><a>Методы</a></li>
10
<li><a>Константы</a></li>
10
<li><a>Константы</a></li>
11
<li><a>Параметр-значения</a></li>
11
<li><a>Параметр-значения</a></li>
12
<li><a>Параметры-переменные</a></li>
12
<li><a>Параметры-переменные</a></li>
13
<li><a>Как лучше разобраться в теме</a></li>
13
<li><a>Как лучше разобраться в теме</a></li>
14
</ul><p>Разработка ПО - процесс, требующий определенного спектра навыков, знаний и умений. Особую роль, особенно для новичков, здесь играет ключевая терминология. Перед тем, как создавать контент для устройств, программист должен хорошо понимать, что такое параметры, методы, процедуры, а также подпрограммы.</p>
14
</ul><p>Разработка ПО - процесс, требующий определенного спектра навыков, знаний и умений. Особую роль, особенно для новичков, здесь играет ключевая терминология. Перед тем, как создавать контент для устройств, программист должен хорошо понимать, что такое параметры, методы, процедуры, а также подпрограммы.</p>
15
<p>В данной статье речь зайдет о соответствующих понятиях. Это - база, без которой дальнейшее изучение информационных технологий и основ разработки будет затруднено.</p>
15
<p>В данной статье речь зайдет о соответствующих понятиях. Это - база, без которой дальнейшее изучение информационных технологий и основ разработки будет затруднено.</p>
16
<h2>Подпрограмма - это…</h2>
16
<h2>Подпрограмма - это…</h2>
17
<p>Подпрограмма - записанный отдельно и поименованный алгоритм, необходимый для решения конкретной задачи. В соответствующий компонент можно передавать различные данные для их дальнейшей обработки.</p>
17
<p>Подпрограмма - записанный отдельно и поименованный алгоритм, необходимый для решения конкретной задачи. В соответствующий компонент можно передавать различные данные для их дальнейшей обработки.</p>
18
<p>Подпрограмма - фундаментальное средство структурного программирования. Носит название "процедуры". Подпрограммы выполняют те или иные операции, но никаких значений они не возвращают.</p>
18
<p>Подпрограмма - фундаментальное средство структурного программирования. Носит название "процедуры". Подпрограммы выполняют те или иные операции, но никаких значений они не возвращают.</p>
19
<h3>Форма и особенности</h3>
19
<h3>Форма и особенности</h3>
20
<p>Подпрограмма - обобщенный алгоритм, написанный по специальным правилам. Самостоятельно он не выполняется. Вызывается подпрограмма для обработки информации. Соответствующий алгоритм, предназначенный для работы с данными, называется. Он не будет самостоятельным - рассматриваемый компонент должен вызываться извне.</p>
20
<p>Подпрограмма - обобщенный алгоритм, написанный по специальным правилам. Самостоятельно он не выполняется. Вызывается подпрограмма для обработки информации. Соответствующий алгоритм, предназначенный для работы с данными, называется. Он не будет самостоятельным - рассматриваемый компонент должен вызываться извне.</p>
21
<p>К ключевым особенностям изучаемого элемента относят:</p>
21
<p>К ключевым особенностям изучаемого элемента относят:</p>
22
<ol><li>Возможность уменьшения объема исходного кода. Это позволяет ускорить и облегчить тестирование и отладку контента.</li>
22
<ol><li>Возможность уменьшения объема исходного кода. Это позволяет ускорить и облегчить тестирование и отладку контента.</li>
23
<li>Снижение ошибок в будущем приложении.</li>
23
<li>Снижение ошибок в будущем приложении.</li>
24
<li>Повышение читабельности кода программы. В некоторых проектах смогут разобраться даже новички.</li>
24
<li>Повышение читабельности кода программы. В некоторых проектах смогут разобраться даже новички.</li>
25
<li>Ускорение разработки схожих программных продуктов. Достигается за счет того, что рассматриваемый компонент может использоваться "готовым блоком" для будущих проектов.</li>
25
<li>Ускорение разработки схожих программных продуктов. Достигается за счет того, что рассматриваемый компонент может использоваться "готовым блоком" для будущих проектов.</li>
26
<li>Возможность абстрагироваться от деталей при применении подпрограмм вместо крупных алгоритмов в основной программе.</li>
26
<li>Возможность абстрагироваться от деталей при применении подпрограмм вместо крупных алгоритмов в основной программе.</li>
27
</ol><p>Соответствующий элемент - важная и очень удобная для разработчика часть в программировании.</p>
27
</ol><p>Соответствующий элемент - важная и очень удобная для разработчика часть в программировании.</p>
28
<h3>Для чего нужны</h3>
28
<h3>Для чего нужны</h3>
29
<p>Рассматриваемый элемент - это средство оптимизации программ по объему занимаемой памяти. В исходном коде с его помощью удалось избежать повторений одинаковых блоков - теперь они описываются однократно. Вызываются по мере необходимости.</p>
29
<p>Рассматриваемый элемент - это средство оптимизации программ по объему занимаемой памяти. В исходном коде с его помощью удалось избежать повторений одинаковых блоков - теперь они описываются однократно. Вызываются по мере необходимости.</p>
30
<p>Сейчас изучаемый компонент - это вспомогательное средство. Ключевое его назначение - помощь структуризации для упрощения понимания и сопровождения:</p>
30
<p>Сейчас изучаемый компонент - это вспомогательное средство. Ключевое его назначение - помощь структуризации для упрощения понимания и сопровождения:</p>
31
<ol><li>Выделение набора действий с его последующим вызовом по мере надобности дает возможность логически выделить целостную подзадачу, которая имеет типовое решение.</li>
31
<ol><li>Выделение набора действий с его последующим вызовом по мере надобности дает возможность логически выделить целостную подзадачу, которая имеет типовое решение.</li>
32
<li>Однократное применение тоже оправдано. Оно дает возможность сократить объем целостного блока кода.</li>
32
<li>Однократное применение тоже оправдано. Оно дает возможность сократить объем целостного блока кода.</li>
33
</ol><p>Главное - разобраться в принципах составления компонента и его параметрах.</p>
33
</ol><p>Главное - разобраться в принципах составления компонента и его параметрах.</p>
34
<h2>Механизмы, описание, вызов</h2>
34
<h2>Механизмы, описание, вызов</h2>
35
<p>В элементарном случае подпрограмма - это последовательность команд (операторов), отделенная от основной части приложения. Имеет специальную команду для выхода, имя процедуры для вызова.</p>
35
<p>В элементарном случае подпрограмма - это последовательность команд (операторов), отделенная от основной части приложения. Имеет специальную команду для выхода, имя процедуры для вызова.</p>
36
<p>В языках высокого уровня рассматриваемый элемент состоит из заголовка и тела. Заголовок - это описание имени. Иногда - параметров. Он отражает данные, необходимые для вызова. Тело - набор операторов, выполняемый при вызове подпрограммы.</p>
36
<p>В языках высокого уровня рассматриваемый элемент состоит из заголовка и тела. Заголовок - это описание имени. Иногда - параметров. Он отражает данные, необходимые для вызова. Тело - набор операторов, выполняемый при вызове подпрограммы.</p>
37
<p>Чтобы активировать тот или иной "блок кода", нужно использовать специальную команду вызова, а также имя подпрограммы. Чтобы сохранить и восстановить контекст выполненного элемента, компилятор будет формировать для каждой процедуры специальные последовательности команд. Они носят название "пролог" и "эпилог" процедуры.</p>
37
<p>Чтобы активировать тот или иной "блок кода", нужно использовать специальную команду вызова, а также имя подпрограммы. Чтобы сохранить и восстановить контекст выполненного элемента, компилятор будет формировать для каждой процедуры специальные последовательности команд. Они носят название "пролог" и "эпилог" процедуры.</p>
38
<p>Некоторые языки в программировании позволяют создавать вложенные подпрограммы - когда одни "процессы" включены в другие. Они применяются только в подпрограммах, где описаны. Существенных преимуществ такой подход не имеет - он просто упрощает разработку.</p>
38
<p>Некоторые языки в программировании позволяют создавать вложенные подпрограммы - когда одни "процессы" включены в другие. Они применяются только в подпрограммах, где описаны. Существенных преимуществ такой подход не имеет - он просто упрощает разработку.</p>
39
<h2>О параметрах</h2>
39
<h2>О параметрах</h2>
40
<p>Рассматриваемый компонент обычно используется для того, чтобы выполнять стереотипные манипуляции над информацией. Он имеет доступ к объектам данных, описанным в основном приложении (или к некоторым из них). Для того, чтобы передавать обработанные электронные материалы, их нужно присвоить. Пример - глобальные переменные. Это - не лучшее решение. Оно часто приводит к ошибкам и сбоям.</p>
40
<p>Рассматриваемый компонент обычно используется для того, чтобы выполнять стереотипные манипуляции над информацией. Он имеет доступ к объектам данных, описанным в основном приложении (или к некоторым из них). Для того, чтобы передавать обработанные электронные материалы, их нужно присвоить. Пример - глобальные переменные. Это - не лучшее решение. Оно часто приводит к ошибкам и сбоям.</p>
41
<p>Рекомендуется задействовать механизм параметров. Они описываются в описании (заголовке). Они могут использоваться внутри процедуры подобно переменным. При вызове значения каждого параметра прописываются в соответствующей команде.</p>
41
<p>Рекомендуется задействовать механизм параметров. Они описываются в описании (заголовке). Они могут использоваться внутри процедуры подобно переменным. При вызове значения каждого параметра прописываются в соответствующей команде.</p>
42
<p>Выше - наглядный пример кода. В нем параметр Line будет при вызове получать разные значения. Этот прием помогает отобразить разные строчки.</p>
42
<p>Выше - наглядный пример кода. В нем параметр Line будет при вызове получать разные значения. Этот прием помогает отобразить разные строчки.</p>
43
<h3>Формальные и фактические параметры</h3>
43
<h3>Формальные и фактические параметры</h3>
44
<p>Существуют разные типы (виды) параметров в процедурах. Они могут быть:</p>
44
<p>Существуют разные типы (виды) параметров в процедурах. Они могут быть:</p>
45
<ul><li>формальными;</li>
45
<ul><li>формальными;</li>
46
<li>фактическими.</li>
46
<li>фактическими.</li>
47
</ul><p>Формальные параметры - это параметры, описанные в заголовке процедуры. Список формальных параметров - перечень условных переменных. Он помогает описывать информацию, которая должна передаваться в процедуру.</p>
47
</ul><p>Формальные параметры - это параметры, описанные в заголовке процедуры. Список формальных параметров - перечень условных переменных. Он помогает описывать информацию, которая должна передаваться в процедуру.</p>
48
<p>Список формальных параметров определяет:</p>
48
<p>Список формальных параметров определяет:</p>
49
<ul><li>типы параметров;</li>
49
<ul><li>типы параметров;</li>
50
<li>порядок;</li>
50
<li>порядок;</li>
51
<li>количество параметров.</li>
51
<li>количество параметров.</li>
52
</ul><p>Это - последовательность объявлений, разделенных между собой.</p>
52
</ul><p>Это - последовательность объявлений, разделенных между собой.</p>
53
<p>Фактические параметры - параметры, записанные непосредственно в вызове процедуры или подпрограммы. Это - абстракции. Они должны реально существовать. Представлены списками конкретных значений, которые передаются в процедуру и обрабатываются заданными алгоритмами.</p>
53
<p>Фактические параметры - параметры, записанные непосредственно в вызове процедуры или подпрограммы. Это - абстракции. Они должны реально существовать. Представлены списками конкретных значений, которые передаются в процедуру и обрабатываются заданными алгоритмами.</p>
54
<p>Список фактических параметров - выражения, разделенные запятыми. Их значения подставляются последовательно вместо формальных параметров.</p>
54
<p>Список фактических параметров - выражения, разделенные запятыми. Их значения подставляются последовательно вместо формальных параметров.</p>
55
<h2>Способы передачи</h2>
55
<h2>Способы передачи</h2>
56
<p>Передавать значения в процессы можно несколькими способами:</p>
56
<p>Передавать значения в процессы можно несколькими способами:</p>
57
<ol><li>По значению. Формальный вариант получает значение фактического. Он будет содержать копию второго.</li>
57
<ol><li>По значению. Формальный вариант получает значение фактического. Он будет содержать копию второго.</li>
58
<li>По ссылке. Формальный параметр размещается в фактическом. Реализация чаще всего происходит через помещение ссылки на фактическое значение.</li>
58
<li>По ссылке. Формальный параметр размещается в фактическом. Реализация чаще всего происходит через помещение ссылки на фактическое значение.</li>
59
<li>По имени. Формальный параметр получает произвольное выражение. Все необходимые вычисления будут выполнены внутри процесса. Это происходит тогда, когда необходимо получить то или иное значение.</li>
59
<li>По имени. Формальный параметр получает произвольное выражение. Все необходимые вычисления будут выполнены внутри процесса. Это происходит тогда, когда необходимо получить то или иное значение.</li>
60
<li>Через стеки. Вид передачи "по значению" с ручным приводом. Тут все данные размещаются на стеке. Их типы, количество и порядок не подлежит компиляторскому контролю.</li>
60
<li>Через стеки. Вид передачи "по значению" с ручным приводом. Тут все данные размещаются на стеке. Их типы, количество и порядок не подлежит компиляторскому контролю.</li>
61
</ol><p>Языки программирования позволяют настраивать особенности передачи параметров только одним способом: по значению, ссылке, имени и значению.</p>
61
</ol><p>Языки программирования позволяют настраивать особенности передачи параметров только одним способом: по значению, ссылке, имени и значению.</p>
62
<h2>Виды подпрограмм</h2>
62
<h2>Виды подпрограмм</h2>
63
<p>Подпрограммы бывают разными. Обычно это - процедуры и функции:</p>
63
<p>Подпрограммы бывают разными. Обычно это - процедуры и функции:</p>
64
<ol><li>Функция - готовый блок кода специального вида. Всегда возвращает тот или иной результат. Ее вызов в программировании является выражением. Он применяется в других операциях. Примеры - при присваивании в правой части.</li>
64
<ol><li>Функция - готовый блок кода специального вида. Всегда возвращает тот или иной результат. Ее вызов в программировании является выражением. Он применяется в других операциях. Примеры - при присваивании в правой части.</li>
65
<li>Процедура - независимая именованная часть программы. После однократного описания может использоваться бесконечное число раз. Вызов производится по имени из последующих блоков кода. Нужна для выполнения тех или иных действий.</li>
65
<li>Процедура - независимая именованная часть программы. После однократного описания может использоваться бесконечное число раз. Вызов производится по имени из последующих блоков кода. Нужна для выполнения тех или иных действий.</li>
66
</ol><p>В некоторых языках программирования подпрограмма - это всегда одна или несколько функций. Пример - в СИ-подобных приложениях. Процедура реализуется как функция типа void - имеющая пустой тип. Это позволяет не возвращать никакого значения.</p>
66
</ol><p>В некоторых языках программирования подпрограмма - это всегда одна или несколько функций. Пример - в СИ-подобных приложениях. Процедура реализуется как функция типа void - имеющая пустой тип. Это позволяет не возвращать никакого значения.</p>
67
<h2>Методы</h2>
67
<h2>Методы</h2>
68
<p>Метод - функция или процедура, которая принадлежит к тому или иному классу/экземпляру класса. Включает в себя некоторые операторы, которые требуют для реализации заданного набора входных аргументов.</p>
68
<p>Метод - функция или процедура, которая принадлежит к тому или иному классу/экземпляру класса. Включает в себя некоторые операторы, которые требуют для реализации заданного набора входных аргументов.</p>
69
<p>Методы предоставляют пользователю любой интерфейс, при помощи которого можно получить доступ к данным объекта того или иного класса. Они способствуют обеспечению инкапсуляции информации.</p>
69
<p>Методы предоставляют пользователю любой интерфейс, при помощи которого можно получить доступ к данным объекта того или иного класса. Они способствуют обеспечению инкапсуляции информации.</p>
70
<p>Метод может предоставлять различный уровень доступа. Опираясь на него, можно выделить такие интерфейсы:</p>
70
<p>Метод может предоставлять различный уровень доступа. Опираясь на него, можно выделить такие интерфейсы:</p>
71
<ul><li>public - общий;</li>
71
<ul><li>public - общий;</li>
72
<li>protected - внутренний;</li>
72
<li>protected - внутренний;</li>
73
<li>private - закрытый.</li>
73
<li>private - закрытый.</li>
74
</ul><p>Все это позволяет сохранить интерфейс неизменным и открытым. Внутренняя реализация предусматривает возможность внесения корректировок.</p>
74
</ul><p>Все это позволяет сохранить интерфейс неизменным и открытым. Внутренняя реализация предусматривает возможность внесения корректировок.</p>
75
<h2>Константы</h2>
75
<h2>Константы</h2>
76
<p>Parameters могут быть константами. Относятся к формальному типу. Используют в большинстве языков программирования ключевое слово const. Его тип - совместимый. В виде фактического значения допускается использование выражения.</p>
76
<p>Parameters могут быть константами. Относятся к формальному типу. Используют в большинстве языков программирования ключевое слово const. Его тип - совместимый. В виде фактического значения допускается использование выражения.</p>
77
<p>Параметр-константа будет вести себя подобно локальной константе. Он схож со значениями. В теле процедуры изменить соответствующий компонент не получится. И передать ее в другую операцию в виде параметра-переменной - тоже.</p>
77
<p>Параметр-константа будет вести себя подобно локальной константе. Он схож со значениями. В теле процедуры изменить соответствующий компонент не получится. И передать ее в другую операцию в виде параметра-переменной - тоже.</p>
78
<p>Константы помогают оптимизировать код. Приложение самостоятельно решит, как передать любую const.</p>
78
<p>Константы помогают оптимизировать код. Приложение самостоятельно решит, как передать любую const.</p>
79
<h2>Параметр-значения</h2>
79
<h2>Параметр-значения</h2>
80
<p>Это - формальный вариант, который объявляется без ключевого слова. Тип - совместимый. В виде фактического parameter выступает то или иное выражение.</p>
80
<p>Это - формальный вариант, который объявляется без ключевого слова. Тип - совместимый. В виде фактического parameter выступает то или иное выражение.</p>
81
<p>Здесь нужно запомнить следующее:</p>
81
<p>Здесь нужно запомнить следующее:</p>
82
<ol><li>Поведение параметра-значения - как у локальной переменной, поэтому она инициализируется значением, передаваемым при вызове процедуры.</li>
82
<ol><li>Поведение параметра-значения - как у локальной переменной, поэтому она инициализируется значением, передаваемым при вызове процедуры.</li>
83
<li>Если передается переменная, компилятор создаст ее копию. Процедура будет работать с "дубликатом".</li>
83
<li>Если передается переменная, компилятор создаст ее копию. Процедура будет работать с "дубликатом".</li>
84
<li>Корректировки копии никак не влияют на исходную переменную.</li>
84
<li>Корректировки копии никак не влияют на исходную переменную.</li>
85
<li>При обработке компонента происходит выделение памяти на устройстве.</li>
85
<li>При обработке компонента происходит выделение памяти на устройстве.</li>
86
</ol><p>Как только процедура заканчивается, копия переменной или выделенная область памяти освобождаются. Это помогает оптимизировать расход ресурсов устройства.</p>
86
</ol><p>Как только процедура заканчивается, копия переменной или выделенная область памяти освобождаются. Это помогает оптимизировать расход ресурсов устройства.</p>
87
<h2>Параметры-переменные</h2>
87
<h2>Параметры-переменные</h2>
88
<p>Параметр-переменная - формальный вариант. В Pascal он объявляется при помощи ключевого слова var. Тип - идентичный. В виде фактического parameter может быть задействована только переменная.</p>
88
<p>Параметр-переменная - формальный вариант. В Pascal он объявляется при помощи ключевого слова var. Тип - идентичный. В виде фактического parameter может быть задействована только переменная.</p>
89
<p>В первую очередь нужно запомнить - данный элемент ведет себя подобно указателю на переменную, выступающую фактическим parameter. Все операции, которые производятся процедурой, будут осуществляться над переменной. Возможно изменение соответствующего значения.</p>
89
<p>В первую очередь нужно запомнить - данный элемент ведет себя подобно указателю на переменную, выступающую фактическим parameter. Все операции, которые производятся процедурой, будут осуществляться над переменной. Возможно изменение соответствующего значения.</p>
90
<h2>Как лучше разобраться в теме</h2>
90
<h2>Как лучше разобраться в теме</h2>
91
<p>Процедуры в программировании - это неотъемлемая часть разработки. "База", на которой держится все приложение. Чтобы лучше разбираться в подпрограммах и их компонентах, можно воспользоваться всевозможными туториалами и<a>видео уроками</a>.</p>
91
<p>Процедуры в программировании - это неотъемлемая часть разработки. "База", на которой держится все приложение. Чтобы лучше разбираться в подпрограммах и их компонентах, можно воспользоваться всевозможными туториалами и<a>видео уроками</a>.</p>
92
<p>Но есть и более верное, быстрое, надежное решение - это прохождение специальных образовательных дистанционных онлайн курсов. Программы рассчитаны на срок от нескольких месяцев до года. Пользователь сможет проходить их тогда, когда ему удобно - достаточно иметь под рукой устройство с выходом в интернет.</p>
92
<p>Но есть и более верное, быстрое, надежное решение - это прохождение специальных образовательных дистанционных онлайн курсов. Программы рассчитаны на срок от нескольких месяцев до года. Пользователь сможет проходить их тогда, когда ему удобно - достаточно иметь под рукой устройство с выходом в интернет.</p>
93
<p>Это - лучшее решение для тех, кто не имел опыта в разработке, но хочет разобраться в том, что собой представляют подпрограммы и иные элементы кода. На курсах гарантируют:</p>
93
<p>Это - лучшее решение для тех, кто не имел опыта в разработке, но хочет разобраться в том, что собой представляют подпрограммы и иные элементы кода. На курсах гарантируют:</p>
94
<ul><li>интересные домашние задания;</li>
94
<ul><li>интересные домашние задания;</li>
95
<li>кураторство;</li>
95
<li>кураторство;</li>
96
<li>своевременную обратную связь;</li>
96
<li>своевременную обратную связь;</li>
97
<li>постоянную практику - пользователи научатся писать программы и подпрограммы с нуля на выбранном языке;</li>
97
<li>постоянную практику - пользователи научатся писать программы и подпрограммы с нуля на выбранном языке;</li>
98
<li>помощь в трудоустройстве и формировании портфолио.</li>
98
<li>помощь в трудоустройстве и формировании портфолио.</li>
99
</ul><p>Также клиент сможет быстро освоить любую IT-профессию, пользующуюся спросом в 21 веке. Курсы легко совмещаются с основной работой, а также домашними делами и семьей. В конце выдается электронный сертификат, который поможет подтвердить документально полученный спектр навыков, умений и знаний. Подобрать курс удастся как новичкам, так и опытным программистам. При желании можно освоить сразу несколько направлений в IT.</p>
99
</ul><p>Также клиент сможет быстро освоить любую IT-профессию, пользующуюся спросом в 21 веке. Курсы легко совмещаются с основной работой, а также домашними делами и семьей. В конце выдается электронный сертификат, который поможет подтвердить документально полученный спектр навыков, умений и знаний. Подобрать курс удастся как новичкам, так и опытным программистам. При желании можно освоить сразу несколько направлений в IT.</p>
100
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
100
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
101
101