За наличие подпрограмм как средства структурирования программ язык программирования Паскаль называется процедурно-ориентированным.
Подпрограмма — последовательность операторов языка, предназначенных для решения некоторой подзадачи. Каждая подпрограмма имеет имя, по которому можно к ней обратиться.
- позволяет сократить объем программы;
- улучшает структуру программы с точки зрения ее читаемости и наглядности;
- уменьшает вероятность ошибок и облегчает процесс отладки.
Подпрограммы в языке Паскаль реализованы посредством процедур и функций. Имея один и тот же смысл и аналогичную структуру, процедуры и функции различаются назначением и способом их использования.
Функция передает в точку вызова единственный результат как значение этой функции. Имя функции может входить в выражение как операнд.
Процедура может возвращать в вызывающую программу несколько значений или не одного. Процедура не может выступать как операнд в выражении.
Смещение системы координат по программе.
Параметры процедур и функций
Для процедур и функций общим является наличие списка параметров, приводимого в скобках после имени процедуры или функции.
Подпрограмма реализует некоторый частный алгоритм, который вызывается в основной программе. Для реализации алгоритма подпрограмме могут понадобиться некоторые данные из основной программы. Обработав эти данные, подпрограмма возвращает результат основной программе, если в этом есть необходимость. Передавать информацию из основной программы в подпрограмму и наоборот мы можем только через переменные, которые носят специальное название — параметры.
Результат выполнения процедуры — это одно или несколько значений. Результат передается в основную программу через ее выходные параметры.
Схематично это можно изобразить следующим образом:
Переменные, с помощью которых передается информация из основной программы в подпрограмму, называются входными параметрами. Переменные, через которые информация поступает из подпрограммы в основную программу, называются выходными.
Передача параметров
Параметры, указываемые при описании подпрограммы, называются формальными. Параметры, указываемые при вызове подпрограммы, называются фактическими.
Если формальный параметр описан со служебным словом var, то его называют параметром-переменной и говорят, что он передается по ссылке. Если же параметр описан без слова var, то его называют параметром-значением и говорят, что он передается по значению.
Если параметр передается по значению, то при вызове подпрограммы значения фактических параметров (т. е. их копии) присваиваются соответствующим формальным параметрам. При этом подпрограмма работает не с объектом, а с его копией. Изменение формального параметра внутри подпрограммы никак не влияет на значение фактических параметров в основной программе.
Бесплатная программа «Снабженец»
Если параметр передается по ссылке, то при вызове подпрограммы фактический параметр заменяет собой в теле подпрограммы соответствующий ему формальный параметр (в подпрограмму передается адрес фактического параметра). В итоге любые изменения формального параметра- переменной внутри подпрограммы приводит к соответствующим изменениям фактического параметра.
В качестве фактического параметра-значения можно указать выражение. В качестве фактического параметра-переменной можно указать только переменную.
Глобальные и локальные переменные
В программе все переменные делятся на глобальные и локальные.
Глобальные переменные — это те переменные, которые объявляются в описании основной программы.
Локальные переменные — это те, которые описаны в процедурах и функциях. Эти переменные помещаются в стек при вызове подпрограммы и удаляются из него при возвращении в точку вызова. Таким образом, локальные переменные существуют только тогда, когда работает подпрограмма, появляются при вызове и исчезают при завершении работы.
Все процедуры и функции языка Паскаль делятся на две группы: встроенные (стандартные) и определенные пользователем. Первые входят в состав языка и вызываются по строго фиксированному имени. Вторые разрабатываются и именуются самим пользователем.
В следующем уроке Вы научитесь создавать и использовать пользовательские процедуры и функции.
Источник: gospodaretsva.com
Параметры, указываемые в момент вызова подпрограммы из основной программы, называются
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Познавательно:
ВЫПИСКА, ХРАНЕНИЕ И ПРИМЕНЕНИЕ ЛЕКАРСТВЕННЫХ СРЕДСТВ План: 1. Выписка и получение лекарственных средств в ЛПУ. 2. Характеристика лекарственных средств. 3. Требования к хранению.
Классификация нормативно-правовых актов Нормативно-правовые акты классифицируются по различным основаниям.
ЗАДАЧА 2. Фельдшер вызван на дом к больному К., 57 лет Фельдшер вызван на дом к больному К., 57 лет. Жалобы на головную боль в затылочной области, рвоту, головокружение, мелькание мушек.
Газорегуляторные пункты (ГРП) и установки (ГРУ) Назначение и схемы ГРП (ГРУ). Оборудование и параметры его настройки. Основное назначение ГРП (ГРУ) — снижение (дросселирование).
Алгоритм транспортировки тяжелобольного внутри учреждения на каталке (носилках) I. Подготовка к транспортировке: 1. Представиться пациенту, объяснить, как себя вести при транспортировке (если пациент без сознания.
Источник: studopedia.ru
Структурное программирование
Структурное программирование – это методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков (программирование «сверху — вниз», по- другому это программирование без GoTo).
В соответствии с данной методологией:
- Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
- последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
- ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
- цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается.
- Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы. При использовании подпрограмм нет необходимости добиваться минимального количества операторов. Передача входных данных при вызове подпрограммы происходит с помощью параметров. Параметры, указываемые в момент вызова подпрограммы из основной программы, называются фактическими.
- Разработка программы ведётся пошагово, методом «сверху вниз».
Сначала пишется текст основной программы, в котором, вместо каждого связного логического фрагмента текста, вставляется вызов подпрограммы, которая будет выполнять этот фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставляются «заглушки», которые ничего не делают. Полученная программа проверяется и отлаживается.
После того, как программист убедится, что подпрограммы вызываются в правильной последовательности (то есть общая структура программы верна), подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы. Разработка заканчивается тогда, когда не останется ни одной «заглушки», которая не была бы удалена. Такая последовательность гарантирует, что на каждом этапе разработки программист одновременно имеет дело с обозримым и понятным ему множеством фрагментов, и может быть уверен, что общая структура всех более высоких уровней программы верна. При сопровождении и внесении изменений в программу выясняется, в какие именно процедуры нужно внести изменения, и они вносятся, не затрагивая части программы, непосредственно не связанные с ними. Это позволяет гарантировать, что при внесении изменений и исправлении ошибок не выйдет из строя какая-то часть программы, находящаяся в данный момент вне зоны внимания программиста.
Источник: studfile.net