Cтраница 2
Обычно в языках процедурного типа переменные и присваиваемые им значения имеют одинаковый тип. В процессе выполнения программы значения, присваиваемые переменным, изменяются. [16]
Обычно в языках процедурного типа основными операторами манипулирования массивами являются операторы присваивания и цикла. Оператор присваивания уже был рассмотрен ранее. [17]
Синтаксические диаграммы для процедурных типов показаны на рис. А. Объявление процедурного типа достаточно просто. Оно начинается со слова PROCEDURE, за которым следует список типов формальных параметров. Если имеется процедура-функция, то в объявление включается тип результата. [18]
В Delphi могут определяться процедурные типы и переменные этих типов. Они соответствуют заголовкам процедур и функций с определенным набором параметров и определенным типом возвращаемого значения. [19]
Имена параметров в объявлении процедурного типа чисто декоративные - они не воздействуют на смысл объявления. [20]
Тип указатель метода подобен процедурному типу, но является типом, указывающим на метод. Технически тип указатель метода - процедурный тип, имеющий явный параметр Self. Иначе говоря, переменная процедурного типа, хранящая адрес вызова функции, предоставляемая им, имеет данный набор параметров. При вызове кода метода с помощью указателя метода адрес экземпляра объекта представлен как Self внутри тела метода. [21]
Сложнее обстоит дело с процедурными типами Delphi Language, которые, по сути, представляют собой указатели на методы или функции. NET роль указателей на функции играют делегаты. NET оператор возвращает экземпляр класса Delegate из пространства имен System. Листинг 1.27 иллюстрирует различия в работе с делегатами. [22]
В секции описания модуля определены процедурные типы TFuncProc и TOutPutProc, представляющие собой шаблоны для функций правых частей и функций печати результатов при решении задачи интегрирования систем обыкновенных дифференциальных уравнений. Далее определена процедура RungeKutta, реализующая непосредственно метод численного интегрирования Рунге-Кутты, где в качестве формальных параметров наряду с интервалом интегрирования, шагом и начальными условиями указаны процедуры FuncProc и OutPutProc соответствующих процедурных типов. В секции реализации в теле процедуры RungeKutta происходит вызов данных процедур с подстановкой текущих фактических параметров. [23]
СписокФормТипов обозначает список типов параметров процедурного типа. [24]
Такая система использует языки программирования процедурного типа. [25]
Типизированная константа не может иметь файловый или процедурный тип. [26]
Поэтому ниже будут рассмотрены главным образом языки процедурного типа. Основная цель состоит не в рассмотрении типов данных некоторого языка, а в разъяснении понятий, общих для большого числа языков программирования. В связи с этим следует обратить внимание на то, что приводимые ниже примеры фрагментов программ взяты только для пояснения излагаемого материала. [27]
Если реализовать оба эти действия с помощью переменных процедурных типов, то можно будет иметь дело только с индексами массива, непосредственно не работая с его элементами, тип которых заранее неизвестен. Таким образом, нам требуются, во-первых, процедура сравнения элементов. Эта процедура должна в качестве параметров получать индексы элементов массива, а возвращать булевское значение. Во-вторых, необходима процедура обмена двух элементов массива. Эта процедура в качестве параметров получает индексы двух элементов массива и меняет эти элементы местами. [28]
Эта команда проверяет принадлежность выражения ехрг к процедурному типу. [29]
Обратите внимание на то, что в описании переменной процедурного типа указываются только типы параметров, в то время как при описании процедуры - еще и их имена. [30]