Мегаобучалка Главная | О нас | Обратная связь


Лекция №8 Модульное программирование



2015-12-14 793 Обсуждений (0)
Лекция №8 Модульное программирование 0.00 из 5.00 0 оценок




План

Процедуры и функции

Неявная передача данных в подпрограммы

Явная передача данных в подпрограммы

Открытые массивы и строки

Большие программы обычно разрабатывают и отлаживают по частям. Целесообразно при. этом, чтобы каждая такая часть, называемая подпрограммой, была оформлена так, чтобы ее можно было использовать при решении аналогичной подзадачи в той же программе или даже при решении других задач. В Borland Pascal реализованы два типа подпрограмм: процедуры и функции.

Процедуры и функции

Процедуры и функции представляют собой относительно самостоятельные фрагменты программы, соответствующим образом оформленные и снабженные именем (программные блоки). По правилам Borland Pascal программные блоки – такие же ресурсы, как типы и переменные. Соответственно, они также должны быть описаны перед использованием в разделе описаний программного блока, который их использует (основной программы или вызывающей подпрограммы). Каждый блок имеет такую же структуру, как основная программа, т.е. включает заголовок, раздел описаний и раздел операторов, но заканчивается не точкой, а точкой с запятой (рис. 5.1).

Заголовок блока определяет форму вызова подпрограммы. В разделе описаний блока объявляют внутренние локальные ресурсы блока (переменные, типы, внутренние подпрограммы). Раздел операторов содержит инструкции подпрограммы в операторных скобках begin...end.

Заголовки процедур и функций описываются по-разному. В отличие от процедуры функция всегда возвращает в точку вызова скалярное значение, адрес или строку. Тип возвращаемого результата описывается в заголовке функции (рис. 5.2).

Данные для обработки процедуры и функции получают из вызвавшей их основной программы или подпрограммы. Для размещения рабочих полей подпрограммы могут объявлять новые типы и переменные в собственном разделе описаний. Результаты же они обычно должны возвращать вызвавшей программе или подпрограмме.

Из основной программы данные могут быть получены:

· неявно - с использованием глобальных констант и переменных;

· явно - через параметры.

Неявная передача данных в подпрограммы.

Каждой подпрограмме доступны все ресурсы программного блока, в разделе описаний которого эта подпрограмма объявлена. Ресурсы же основной программы доступны в любой подпрограмме. Они получили название глобальных.

В свою очередь локальные ресурсы, объявленные в разделе описаний подпрограммы, из программного блока, в разделе описания которого она определена, не доступны. В том случае, если в подпрограмме объявляется ресурс, имя которого совпадает с именем глобального ресурса, соответствующий глобальный ресурс в подпрограмме становится недоступным, «перекрывается».

Например, на рис. 5.3 в разделе описаний основной программы объявлена подпрограмма А, в разделе описаний которой объявлена подпрограмма В. Переменная х доступна в обеих подпрограммах, так как она не перекрывается. Переменная z основной программы в подпрограмме А не доступна, так как эта подпрограмма перекрывает глобальную переменную z локальной. В подпрограмме В используется значение z, определенное в подпрограмме А.

Опыт показывает, что неявная передача данных в подпрограммы обычно приводит к большому количеству ошибок, которые достаточно сложно искать, так как неизвестно, какая подпрограмма с какими глобальными ресурсами работает. Кроме того, подпрограммы, использующие глобальные данные, невозможно перенастроить на работу с другими значениями, что сокращает возможности их применения. Поэтому желательно использовать явную передачу значений - через параметры.

 



2015-12-14 793 Обсуждений (0)
Лекция №8 Модульное программирование 0.00 из 5.00 0 оценок









Обсуждение в статье: Лекция №8 Модульное программирование

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (793)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)