HTML Diff
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