Диапазон - изменение - индекс - Большая Энциклопедия Нефти и Газа, статья, страница 2
Торопить женщину - то же самое, что пытаться ускорить загрузку компьютера. Программа все равно должна выполнить все очевидно необходимые действия и еще многое такое, что всегда остается сокрытым от вашего понимания. Законы Мерфи (еще...)

Диапазон - изменение - индекс

Cтраница 2


Обратите внимание на то, что V, как видно из описания, относится к массиву, но при этом не указано число размерностей массива и диапазон изменения индекса. Эта информация передается в дескрипторе массива во время выполнения программы вместе с фактическим параметром.  [16]

Допускается размерность массивов до семи. Нижняя граница изменения индекса у переменной с индексами не обязательно равна 1, и в качестве индекса массива допускаются отрицательные и нулевые целые константы, переменные и выражения, а диапазон изменения индекса при описании массива можно задавать граничной парой вида I: J, где I, J - соответственно нижний и верхний пределы изменения индекса.  [17]

Допускается размерность массивов до семи. Нижняя граница изменения индекса у переменной с индексами не обязательно равна 1, и в качестве индекса массива допускаются отрицательные и нулевые целые константы, переменные и выражения, а диапазон изменения индекса при описании массива можно задавать граничной парой вида I: J, где I, J - соответственно нижний и верхний пределы изменения индекса.  [18]

Доступ к элементам вектора управляется индексом, значение которого может вычисляться во время выполнения программы. Например, если А это имя вектора, то A [ J ] обозначает элемент вектора А, позиция которого определяется значением /, вычисляемым во время выполнения программы. Ситуация осложняется произвольностью нижней границы диапазона изменения индекса. Например, для вектора А из десяти элементов диапазон изменения индекса может быть определен от 0 до 9 или от - 4 до 5, и тогда в результате А [3] обозначает четвертый или восьмой элементы вектора соответственно.  [19]

Типы простых переменных и массивов описываются в начале блока. Размер массивов может динамически зависеть от данных, поэтому память для массивов не может быть выделена до начала выполнения программы. Массив может иметь произвольное число размерностей; верхняя и нижняя границы диапазона изменения индексов задаются программистом.  [20]

Массивы и переменные могут быть созданы при входе в блок и уничтожены при выходе из него путем их описания в начале блока ( операция уничтожения не задается явно), при условии что описание не включает спецификацию own. Всякий раз, когда массив создается, может меняться его размер, но не его тип или число размерностей. Размер массива перевычисляется каждый раз при его создании, если описание диапазона изменения индексов содержит переменные.  [21]

Элементарные инфиксные и префиксные операторы могут применяться к операндам, являющимся массивами, и давать в результате массивы с тем ограничением, что эти массивы должны быть идентичны по числу размерностей и диапазонам изменения индексов. Типы элементов массивов могут различаться при условии, что могут быть выполнены соответствующие преобразования типа. Например, если А и В - два массива с идентичными размерностями и диапазонами изменения индексов, то A - f - В дает в результате массив той же размерности, каждый элемент которого является суммой соответствующих элементов А и В.  [22]

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

Доступ к элементам вектора управляется индексом, значение которого может вычисляться во время выполнения программы. Например, если А это имя вектора, то A [ J ] обозначает элемент вектора А, позиция которого определяется значением /, вычисляемым во время выполнения программы. Ситуация осложняется произвольностью нижней границы диапазона изменения индекса. Например, для вектора А из десяти элементов диапазон изменения индекса может быть определен от 0 до 9 или от - 4 до 5, и тогда в результате А [3] обозначает четвертый или восьмой элементы вектора соответственно.  [24]

В таких языках, как Алгол и ПЛ / I, требования к декларациям данных ослаблены в тех случаях, когда при небольшой потере в эффективности выполнения можно получить значительный выигрыш в гибкости. Хранение и обработку массивов можно организовать наиболее эффективно при наличии в декларациях массивов полной информации о типе, числе размерностей и диапазоне изменения индекса для каждой размерности, как это делается, например, в Фортране. Однако от такой полной фиксации структуры массива сильно страдает гибкость. Например, программист, пишущий на Фортране, часто вынужден определять массивы в расчете на наихудшие входные данные, отводя под них гораздо больше памяти, чем может в действительности понадобиться. Другой крайностью являются массивы АПЛ, вообще не требующие деклараций; они могут создаваться динамически, когда понадобятся, и могут быть переформированы в любой момент. Это соглашение дает большую гибкость, но поскольку приходится непрерывно проверять дескриптор, выполнение программы замедляется. Алгол представляет собой золотую середину между этими двумя крайностями. В программе на Алголе необходимо описать тип и число размерностей массива, но не обязательно задавать размер массива или диапазоны изменения индексов. Зная тип массива и число размерностей, компилятор Алгола способен скомпилировать весьма эффективные последовательности команд для обработки массива. Во время выполнения программы должны существовать простые дескрипторы, задающие диапазон изменения индекса для каждой раз мерности; дескриптор должен проверяться и обрабатываться каждый раз, когда происходит обработка массива. Потеря в скорости при таком подходе незначительна, зато программист получает важное средство - массивы, у которых размеры и диапазоны изменения индексов могут определяться динамически во время выполнения программы. Язык ПЛ / I, в частности, содержит многочисленные примеры средств, предусмотренных специально для достижения разумного баланса между противоречивыми требованиями эффективности выполнения и гибкости.  [25]

В таких языках, как Алгол и ПЛ / I, требования к декларациям данных ослаблены в тех случаях, когда при небольшой потере в эффективности выполнения можно получить значительный выигрыш в гибкости. Хранение и обработку массивов можно организовать наиболее эффективно при наличии в декларациях массивов полной информации о типе, числе размерностей и диапазоне изменения индекса для каждой размерности, как это делается, например, в Фортране. Однако от такой полной фиксации структуры массива сильно страдает гибкость. Например, программист, пишущий на Фортране, часто вынужден определять массивы в расчете на наихудшие входные данные, отводя под них гораздо больше памяти, чем может в действительности понадобиться. Другой крайностью являются массивы АПЛ, вообще не требующие деклараций; они могут создаваться динамически, когда понадобятся, и могут быть переформированы в любой момент. Это соглашение дает большую гибкость, но поскольку приходится непрерывно проверять дескриптор, выполнение программы замедляется. Алгол представляет собой золотую середину между этими двумя крайностями. В программе на Алголе необходимо описать тип и число размерностей массива, но не обязательно задавать размер массива или диапазоны изменения индексов. Зная тип массива и число размерностей, компилятор Алгола способен скомпилировать весьма эффективные последовательности команд для обработки массива. Во время выполнения программы должны существовать простые дескрипторы, задающие диапазон изменения индекса для каждой раз мерности; дескриптор должен проверяться и обрабатываться каждый раз, когда происходит обработка массива. Потеря в скорости при таком подходе незначительна, зато программист получает важное средство - массивы, у которых размеры и диапазоны изменения индексов могут определяться динамически во время выполнения программы. Язык ПЛ / I, в частности, содержит многочисленные примеры средств, предусмотренных специально для достижения разумного баланса между противоречивыми требованиями эффективности выполнения и гибкости.  [26]

В таких языках, как Алгол и ПЛ / I, требования к декларациям данных ослаблены в тех случаях, когда при небольшой потере в эффективности выполнения можно получить значительный выигрыш в гибкости. Хранение и обработку массивов можно организовать наиболее эффективно при наличии в декларациях массивов полной информации о типе, числе размерностей и диапазоне изменения индекса для каждой размерности, как это делается, например, в Фортране. Однако от такой полной фиксации структуры массива сильно страдает гибкость. Например, программист, пишущий на Фортране, часто вынужден определять массивы в расчете на наихудшие входные данные, отводя под них гораздо больше памяти, чем может в действительности понадобиться. Другой крайностью являются массивы АПЛ, вообще не требующие деклараций; они могут создаваться динамически, когда понадобятся, и могут быть переформированы в любой момент. Это соглашение дает большую гибкость, но поскольку приходится непрерывно проверять дескриптор, выполнение программы замедляется. Алгол представляет собой золотую середину между этими двумя крайностями. В программе на Алголе необходимо описать тип и число размерностей массива, но не обязательно задавать размер массива или диапазоны изменения индексов. Зная тип массива и число размерностей, компилятор Алгола способен скомпилировать весьма эффективные последовательности команд для обработки массива. Во время выполнения программы должны существовать простые дескрипторы, задающие диапазон изменения индекса для каждой раз мерности; дескриптор должен проверяться и обрабатываться каждый раз, когда происходит обработка массива. Потеря в скорости при таком подходе незначительна, зато программист получает важное средство - массивы, у которых размеры и диапазоны изменения индексов могут определяться динамически во время выполнения программы. Язык ПЛ / I, в частности, содержит многочисленные примеры средств, предусмотренных специально для достижения разумного баланса между противоречивыми требованиями эффективности выполнения и гибкости.  [27]



Страницы:      1    2