Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика Учебник НГТУ Семестр 2.docx
Скачиваний:
95
Добавлен:
27.03.2015
Размер:
4 Мб
Скачать
☆

33.6.3. Параметры процедуры

↑ Наверх

Если некоторая последовательность операций применяется к различным операндам в разных частях программы, то такая последовательность оформляется как процедура, а ее операнды становятся параметрами.

Идентификаторы, введенные в заголовке процедуры для обозначения операндов, называются формальными параметрами.

Они используются только в теле процедуры и локальны по отношению к ней.

Объекты, подставляемые вместо формальных пapaметров при вызове процедуры, называются фактическими параметрами.

Они задаются в каждом операторе процедуры или указателе функции. Тип фактического параметра определяется типом формального параметра, который специфицируется в заголовке процедуры. Помимо спецификации типа параметра необходимо также указать желаемый способ подстановки, поскольку вместо формального параметра можно подставить текущее значение либо имя фактической переменной или выражение. Наиболее часто используют два способа подстановки параметров.

  1. Фактический параметр вычисляется, и полученное значение подставляется вместо соответствующего формального параметра. Этот способ называется подстановкой значения и имеет наибольшее распространение.

  2. Фактический параметр есть переменная. Определенная таким образом переменная заменяет соответствующий формальный параметр. Этот способ называется подстановкой переменной (ссылки) и используется в тех случаях, когда параметр вычисляется в процедуре и является ее результатом.

Пример: Описание процедуры с параметрами (33.9)

var a, b: integer; //глобальные переменные

procedure P(var r,q: integer); //формальные параметры-переменные r,q; они же – локальные переменные процедуры.

var t: integer; //локальная переменная

begin t := r; r := q; q := t end;

begin

P(a,b); //Вызов процедуры с фактическими параметрами a,b.

end.

В этом примере приведено описание процедуры P с двумя формальными параметрами-переменными r, q и локальной переменной t. Эта процедура вызывается в разделе операторов и на места формальных параметров подставляются по ссылке (по адресу) глобальные переменные a, b. При выполнении кода процедуры операции будут выполняться над переменными a, b. Поэтому после её завершения результат её работы останется в переменных a, b. Они обменяются значениями.

На Рис. 33.5 представлен пример функции с двумя формальными параметрами-значениями n, p.

При вызове функции, как показано ниже ей передаются в качестве фактических параметров копии значений глобальных переменных a,b. Результат работы функции при первом вызове будет выведен на монитор, при втором – сохранён в глобальной переменной s.

← 33.5. Проектирование и тестирование программы

34.1. Методология объектно-ориентированного... →

↑ Наверх

34.1. Методология объектно-ориентированного программирования

← 33.6. Подпрограммы, процедуры и функции

34.2. Объектно-ориентированные методы анализа... →

Методология объектно-ориентированного программирования пришла на смену структурному программированию, когда стало очевидно, что традиционные методы структурного программирования не способны справиться ни с растущей сложностью программ и их разработкой, ни с повышением их надежности. Во второй половине 1980-х годов возникла настоятельная потребность в новой методологии программирования, которая бы позволила решить весь этот комплекс проблем. Такой методологией стало объектно-ориентированное программирование (ООП).

Объектно-ориентированное программирование (ООП, Object-Oriented Programming) - совокупность принципов, технологий, а также инструментальных средств для создания программных систем на основе архитектуры взаимодействия объектов [27].

В отличие от структурного подхода, основанного на функциональной декомпозиции программ, в объектно-ориентированном подходе в качестве отдельных структурных единиц программы рассматриваются не процедуры и функции, а классы и объекты с соответствующими свойствами и методами. Как следствие, программа перестала быть последовательностью предопределенных на этапе кодирования действий, а преобразовалась в событийно управляемую. Последнее обстоятельство доминирует и при разработке широкого круга современных приложений. В этом случае каждая программа представляет собой бесконечный цикл ожидания заранее определенных событий. Инициаторами событий могут быть другие программы или пользователи, а при наступлении отдельного события программа выходит из состояния ожидания и реагирует на это него вполне адекватным образом [27].

Объектно-ориентированная методология включает в себя:

  • объектно-ориентированный анализ (OOA),

  • объектно-ориентированное проектирование (OOD),

  • объектно-ориентированное программирование (OOP).

Объектно-ориентированный анализ направлен на создание моделей, более близких к реальности, с использованием объектно-ориентированного подхода; это методология при которой требования формируются на основе понятий классов и объектов, составляющих словарь предметной области.

Предметная область – часть реального мира, которая имеет существенное значение или непосредственное отношение к процессу функционирования программы.

Объектно-ориентированное проектирование – это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приёмы представления как логической и физической, так статической и динамической моделей проектируемой системы.

Объектно-ориентированное программирование – это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определённого класса, а классы образуют иерархию на принципах наследуемости [25].

← 33.6. Подпрограммы, процедуры и функции

34.2. Объектно-ориентированные методы анализа... →