Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
bb:redbook:107 [2017/08/30 14:43] prospero78 [8. Заключение] |
bb:redbook:107 [2017/12/26 07:51] иван_денисов удалено |
Как видно из текста модуля, процедура ''Старт'' стала существенно короче. Кроме того, константа ''_конст'' успешно передаётся в процедуру. Это говорит о том, что компилятор **КП** автоматически присвоил ей тип ''INTEGER'' (мы тип этой константы не описали). Кроме того, ни модуль, ни процедура ''Старт'' не подозревают о наличии переменной ''вРезульт'' внутри процедуры ''Вещ Вычисл''. А значит ни одна процедура модуля (и сам модуль) не могут испортить её значение. Так достигается сокрытие информации. | Как видно из текста модуля, процедура ''Старт'' стала существенно короче. Кроме того, константа ''_конст'' успешно передаётся в процедуру. Это говорит о том, что компилятор **КП** автоматически присвоил ей тип ''INTEGER'' (мы тип этой константы не описали). Кроме того, ни модуль, ни процедура ''Старт'' не подозревают о наличии переменной ''вРезульт'' внутри процедуры ''Вещ Вычисл''. А значит ни одна процедура модуля (и сам модуль) не могут испортить её значение. Так достигается сокрытие информации. |
==== 7. Экспорт процедуры ==== | ==== 7. Экспорт процедуры ==== |
Самые внимательные читатели уже обратили внимание на то, что за именем процедуры ''Старт'' стоит символ (*). Этот символ как раз и указывает компилятору сделать //экспорт// процедуры из модуля. Попробуйте уберите звёздочку и скомпилируйте — вы не сможете вызвать процедуру ''Старт''. После экспорта, указанная процедура может быть вызвана извне модуля. Именно поэтому её можно запустить на выполнение через ''КОММАНДЕР''. Тема экспорта //очень важна//, и в этом разделе получила лишь минимальное освещение, о других особенностях экспорта речь ещё пойдёт дальше. | Самые внимательные читатели уже обратили внимание на то, что за именем процедуры ''Старт'' стоит символ //звёздочка//. Этот символ как раз и указывает компилятору сделать //экспорт// процедуры из модуля. Попробуйте уберите звёздочку и скомпилируйте — вы не сможете вызвать процедуру ''Старт'' . После экспорта, указанная процедура может быть вызвана извне модуля. Именно поэтому её можно запустить на выполнение через ''КОММАНДЕР''. Тема экспорта //очень важна//, и в этом разделе получила лишь минимальное освещение, о других особенностях экспорта речь ещё пойдёт дальше. |
==== 8. Заключение ==== | ==== 8. Заключение ==== |
В этой части учебника были рассмотрены в первом приближении очень важные положения **КП** процедурного стиля: | В этой части учебника были рассмотрены в первом приближении очень важные положения **КП** процедурного стиля: |