Cтраница 2
Даны внешние процедуры языка ПЛ / 1: А1, А2, A3, А4 и А5 ( А1 - главная процедура), отперфорированные на картах. [16]
Описания внешних процедур следуют за описанием модуля, а за ними в свою очередь следуют модульные структуры данных. Сами процедуры следуют за заголовком модуля в том порядке, в котором они следуют в описании модуля. [17]
Среди внешних процедур программы всегда должна присутствовать процедура, объединяющая все другие в единый комплекс и определяющая последовательность их выполнения. Эта процедура называется главной и отличается от остальных первым оператором. [18]
Рассмотрим две внешние процедуры, описанные в предыдущем примере. Учитывая, что во внешнем процедурном блоке PU вычисляется значение только одной переменной К, опишем ее в форме процедуры-функции. [19]
Рассмотрим две внешние процедуры, описанные в предыдущем параграфе. [20]
Рассмотрим две внешние процедуры. [21]
Рассмотрим две внешние процедуры, описанные в предыдущем параграфе. [22]
ТР находит внешние процедуры в библиотеке в их исходном виде и после компиляции включает их в объектную строку. В библиотеки процедур включены процедуры двух типов - привилегированные и непривилегированные. Привилегированные программы отличаются от обычных тем, что они могут содержать привилегированные операторы прямой работы с памятью, использующие операторы УП. Защита памяти осуществляется за счет проверки привилегированного статуса программ пользователя и программ, к которым они могут обращаться. Непривилегированные программы имеют высокую степень защиты по памяти как от других программ, так и от самих себя, благодаря аппаратному управлению памятью и алгоритмам центрального процессора. Программы, использующие привилегированные one раторы, в какой-то мере теряют свою защищенность. Общей защиты памяти вполне достаточно для многотерминальной работы, так как существует контроль за выборкой привилегированных программ и методом их использования. [23]
Рассмотрим две внешние процедуры PRO и РЕ. [24]
Слово PROCEDURE внешней процедуры располагается с одним отступом от самой левой позиции. [25]
При вызове внешней процедуры в списке параметров указываются не формальные параметры, которые объявлялись в описании процедуры, а действительные, которые объявлены в вызывающей программе. Действительные параметры при вызове процедуры заменяют формальные и фактически будут участвовать как операнды в выполнении процедуры. Поэтому последовательность написания действительных параметров и их типы должны строго соответствовать списку и типам формальных параметров, дабы избежать ошибок в результатах. [26]
Оператор заголовка внешней процедуры FCT имеет следую-щийвид. [27]
В программах, внешние процедуры которых протранслированы ПЛ1ОП и которые выполняются не под управлением ПЛЮТ, нельзя использовать средства муль-тизадачности, так как ПДО не поддерживает такой режим работы. Однако во внешних процедурах, протранслированных ПЛ1ОП, но выполняющихся под управлением ПЛЮТ, такие элементы языка обрабатываются так, как если бы эти процедуры были протранслированы ПЛЮТ. [28]
Однако транслятором каждая внешняя процедура обрабатывается отдельно. Результатом обработки является объектный модуль соответствующей внешней процедуры. Если программа состоит только из одной внешней процедуры, то она должна быть записана как главная процедура. [29]
Для описания таких внешних процедур средствами фортрана служат модули-процедуры, которые должны входить в состав общей программы. [30]