Лабораторный практикум по программированию на языке Паскаль. Найханова Л.В - 76 стр.

UptoLike

76
ЛАБОРАТОРНАЯ РАБОТА N 11
Тема: "Процедуры и функции"
Цель работы
1. Приобретение практических навыков в программировании процедур и функций.
2. Изучение механизма передачи параметров.
3. Знакомство с локальными и глобальными переменными.
Краткие сведения из теории
Процедуры и функции являются мощным средством языка программирования. Это средство
удобно применять в тех случаях, когда при решении задачи возникает необходимость в
программе некоторую совокупность операторов повторять несколько раз. Так например,
может возникнуть необходимость один и тот же цикл использовать в нескольких местах
программы.
Функцию или процедуру можно сравнить с мини-программой, именно поэтому их называют
иногда одним общим именем - "подпрограмма (ПП)". ПП оформляется подобно программе:
в начале записывается заголовок ПП, затем следует декларативная часть ПП и после
процедурная. В декларативной части описываются все данные, область действия
которых ограничена телом данной ПП. Эти данные называются локальными
. Данные,
объявленные в основной (главной) программе, называются глобальными
и они могут
использоваться в любой ПП, входящей в основную программу. В процедурной части
описывается тело ПП, реализующее алгоритм решения, и которое заключается в
операторные скобки BEGIN, END.
ПП помещается сразу же после объявления всех переменных. Заголовок ПП для
подпрограмм-функций начинается с ключевого слова FUNCTION, для подпрограмм-
процедур с ключевого слова PROCEDURE. Эти ключевые слова играют роль признаков,
которые распознает компилятор. Так как ПП исполняется не сразу и возможно не один раз,
то компилятор, встретив тело ПП, должен его пропустить.
11.1. Функции
Общая схема функции следующая:
FUNCTION < идентификатор функции >(<параметр: тип параметра> [,<параметр: тип
параметра>, ...]) : <тип результата функции>;
< декларативная часть (разделы LABEL, CONST, TYPE, VAR ) -объявление
локальных данных >
BEGIN
< процедурная часть функции - тело функции >
END;
В теле основной программы функция вызывается по имени, это значит, что после
FUNCTION необходимо записать идентификатор функции, а затем в круглых скобках
перечислить все параметры функции. Так как язык Паскаль сильно типизирован, то он
требует, чтобы после каждого параметра был указан его тип. Результатом вычисления
функции всегда получается одно значение. Поэтому после круглых скобок в заголовке
функции необходимо указать тип результата, вычисляемого функцией.
Ко всем функциям обращаются одинаково: в любом предложении программы они играют
роль переменной.
Самым простым и наглядным примером использования функций являются стандартные
функции, например, функция LENGTH(St). Эта функция может применяться в программе
всякий раз, когда необходимо вычислить длину стринга, в данном случае стринга St. Все
стандартные функции входят в состав компилятора, то есть они описаны в теле самого
компилятора. LENGTH - это идентификатор функции, St - аргумент функции. Заголовок
этой функции может быть следующий:
                         ЛАБОРАТОРНАЯ РАБОТА N 11
                           Тема: "Процедуры и функции"
Цель работы
1. Приобретение практических навыков в программировании процедур и функций.
2. Изучение механизма передачи параметров.
3. Знакомство с локальными и глобальными переменными.
Краткие сведения из теории
Процедуры и функции являются мощным средством языка программирования. Это средство
удобно применять в тех случаях, когда при решении задачи возникает необходимость в
программе некоторую совокупность операторов повторять несколько раз. Так например,
может возникнуть необходимость один и тот же цикл использовать в нескольких местах
программы.
Функцию или процедуру можно сравнить с мини-программой, именно поэтому их называют
иногда одним общим именем - "подпрограмма (ПП)". ПП оформляется подобно программе:
в начале записывается заголовок ПП, затем следует декларативная часть ПП и после
процедурная. В декларативной части описываются все данные, область действия
которых ограничена телом данной ПП. Эти данные называются локальными. Данные,
объявленные в основной (главной) программе, называются глобальными и они могут
использоваться в любой ПП, входящей в основную программу. В процедурной части
описывается    тело ПП, реализующее алгоритм решения, и которое заключается в
операторные скобки BEGIN, END.
ПП помещается сразу же после объявления всех переменных. Заголовок ПП для
подпрограмм-функций начинается с ключевого слова FUNCTION, для подпрограмм-
процедур с ключевого слова PROCEDURE. Эти ключевые слова играют роль признаков,
которые распознает компилятор. Так как ПП исполняется не сразу и возможно не один раз,
то компилятор, встретив тело ПП, должен его пропустить.
11.1. Функции
Общая схема функции следующая:
FUNCTION < идентификатор функции >(<параметр: тип параметра> [,<параметр: тип
параметра>, ...]) : <тип результата функции>;
      < декларативная часть (разделы LABEL, CONST, TYPE, VAR ) -объявление
локальных данных >
      BEGIN
              < процедурная часть функции - тело функции >
      END;
В теле основной программы функция вызывается по имени, это значит, что после
FUNCTION необходимо записать идентификатор функции, а затем в круглых скобках
перечислить все параметры функции. Так как язык Паскаль сильно типизирован, то он
требует, чтобы после каждого параметра был указан его тип. Результатом вычисления
функции всегда получается одно значение. Поэтому после круглых скобок в заголовке
функции необходимо указать тип результата, вычисляемого функцией.
Ко всем функциям обращаются одинаково: в любом предложении программы они играют
роль переменной.
Самым простым и наглядным примером использования функций являются стандартные
функции, например, функция LENGTH(St). Эта функция может применяться в программе
всякий раз, когда необходимо вычислить длину стринга, в данном случае стринга St. Все
стандартные функции входят в состав компилятора, то есть они описаны в теле самого
компилятора. LENGTH - это идентификатор функции, St - аргумент функции. Заголовок
этой функции может быть следующий:
                                                                                   76