Структурное программирование IG1123

Подпрограмма самостоятельный фрагмент программы, реализующий определенный алгоритм и допускающий многократное обращение к нему из различных частей программы.  В языке Турбо-Паскаль существует большой набор стандартных (библиотечных) процедур и функций.  Процедуры и функции содержатся в стандартных модулях  и   подключаются к любой программе либо с помощью предложения  Uses (например: CRT, GRAPH и др.)  либо автоматически (например, System). Принципы хорошего стиля программирования требуют широкое использование собственных подпрограмм, которые составляются и используются также как и библиотечные. Применение подпрограмм позволяет использовать современные технологии конструирования программ: структурное, модульное, объектное. А также  использовать  современные  методы проектирования т.н. нисходящее проектирование. При этом сложная задача разбивается на ряд подзадач,  для каждой из которых составляется набор подпрограмм, из которых компонуется общая программа. Язык Турбо-Паскаль содержит два типа подпрограмм: Процедуры. Функции.   Процедуры в Паскале. Структура процедуры аналогична структуре программы и состоит из заголовка и блока (тела процедуры).            PROCEDURE <имя><сп. форм. пар.>;                 <блок> где      PROCEDURE – зарезервированное слово процедура; <имя>             — имя процедуры, является уникальным, выбирается по общим пра- вилам, желательно чтобы оно отражало смысл процедуры; <сп. форм. пар.>   — список формальных параметров т.е. список имен обозначаю- щих  исходные данные и результат работы процедуры с указани- ем их типов;        <блок>            — тело процедуры представляющее разделы описаний и раздел операторов,  представляющий составной оператор (совокупность операторов,  заключенных в операторные скобки BEGIN END). Разделы описаний процедуры содержат те же разделы что и основная программа, в том числе описания подпрограмм низшего уровня (вложенных). Глобальные объекты – это объекты, описанные в разделах описаний основной программе. Областью их действия является программа и все, содержащиеся в ней подпрограммы. Локальные объекты – это объекты, описанные в разделах описаний подпрограммы. Областью их действия является подпрограмма и все содержащиеся в ней подпрограммы низшего уровня. Локальные описания отменяют глобальные. Оператор вызова процедуры активизирует процедуру. Он имеет вид: <имя><сп. факт. пар.>; где:       <имя> — имя процедуры;       <сп. факт. пар.> — список фактических параметров. Это список конкретных значений, имен и выражений подставляемых вместо формальных параметров и передаваемых в подпрограмму, а так же возвращаемые  результаты обработки. Список фактических параметров может отсутствовать. Между формальными и фактическими параметрами существует взаимно  — однозначное соответствие по количеству, порядку следования и типу.   Виды параметров в Паскале Различают четыре вида параметров: — параметры- значения;    — параметры- переменные;    — параметры- процедуры;    — параметры- функции. Параметры- значения – используются для передачи исходных данных в подпрограмму. Формальные параметры при этом записываются через запятую с указанием их типов. Они получают значения фактических параметров, но не могут передавать свои значения фактическим параметрам. Параметры- переменные – играют роль как входных, так и выходных (возвращаемых) параметров процедуры. В списке формальных параметров они перечисляются после слова  Var с  указанием их типов. Параметры- процедуры – указываются после слова Procedure. Параметры- функции — . указываются после слова Function.   Функции в Паскале Структура описания и механизм использования функции аналогичен  процедуре с учетом некоторых особенностей. Описание состоит из заголовка и блока (тела функции).            FUNCTION <имя><сп. форм. пар.>:<тип>;                 <блок>; где:  FUNCTION  – зарезервированное слово функция; <имя> — имя функции, является уникальным, выбирается по общим                                правилам, желательно чтобы оно отражало смысл   функции;     <сп. форм. пар.>  — список формальных параметров т.е. список имен обозначающих исходные данные функции с указанием их типов;     <тип> -  тип результата возвращаемого функцией и присваиваемого имени функции;    <блок> — тело процедуры представляющее разделы описаний и раздел операторов, представляющий составной оператор  (совокупность операторов,  заключенных в операторные  скобки BEGIN END).      Разделы описаний функции содержат те же разделы что и основная программа, в том числе описания подпрограмм низшего уровня (вложенных). В содержательной части функции ее имени должен быть присвоен результат работы функции. Вызов функции представляет собой операнд (указатель функции) в отличии от процедуры обращение к которой представляет оператор. Он имеет вид: <имя><сп. факт. пар.>; где:      <имя> — имя функции (указатель);      <сп. факт. пар.> — список фактических параметров. Это список конкретных значений, имен и выражений подставляемых вместо формальных параметров и передаваемых в функцию.   Отличие процедуры от функции Функция в отличие от процедуры возвращает единственное скалярное значение Результат вычисления функции присваивается имени, а процедуре входит в список параметров. Имя функции имеет тип. Обращение к функции представляет операнд, а процедуры оператор.

 

 

Обсудить у себя 0
Комментарии (0)
Чтобы комментировать надо зарегистрироваться или если вы уже регистрировались войти в свой аккаунт.
накрутить лайки
Екатерина
Екатерина
Было на сайте никогда
Читателей: 1 Опыт: 0 Карма: 1
все 0 Мои друзья