Faultless
#08
29 ноября 1997 |
|
Вычисления - организация математических вычислений.
ОРГАНИЗАЦИЯ МАТЕМАТИЧЕСКИХ ВЫЧИСЛЕНИЙ. Способы формирования и изменения значе- ний числовых параметров. Исходные данные,промежуточные и оконча- тельные результаты вычислений составляют тот набор значений , который приходится размещать и в течение некоторого времени хранить в соответствующих переменных. Для форомирования заранее известных зна чений в числовых переменных обычно при- бегают к процедуре ввода нужной информа- ции,которая может быть прочитана из буфе ра клавиатуры,из файла данных,расположен ного на гибком или жестком магнитном дис ке,из блока данных ,предварительно сфор- мированного в оперативной памяти. Если значение переменной должно быть по лучено в результате вычеслений по ариф- метической формуле, то его запись в об- ласть оперативной памяти, выделенную для хранения переменной, производится с по- мощью оператора присвоения. Блок числовых данных можно представить себе как одновременный массив,располо- женный в оперативной памяти.Последнее обстоятельство является основанием наз- вать этот блок внутренним. Запоминание указанного массива ведется в процессе предварительной обработки текста исход- ной программы до ее запуска на счет.Как только в программе встречается оператор DATA,то все константы , перечисленные в его теле, переносятся в специально от- веденную область памяти. Порядок их раз- мещения в блоке данных в точности пов- торяет порядок их следования в списке оператора DATA: DATA C1,C1,...,Cn. Первая константа C1 становится первым элементом блока данных ,вторая константа C2 - вторым элементом и т.д. В программе может встретиться не один оператор DATA,и тогда очередная число- вая опрция заносится в блок данных вслед за предшествующей.Порядок переноса таких опрций соответствует последовательности расположения операторов DATA в тексте программы.Сформированный т аким образом блок данных может быть использован в ка- честве поставщика числовых значений пе- ременных арифметического типа во время выполнения программы.Сами же операторы DATA относятся к декларативным,и во вре- мя работы программы их обходят.Характер- ной особенностью блока данных является последовательный доступ к его элементам. В момент запуска программы на счет в сос тояние готовновсти приводится числовое значение,которое попало в блок данных первым.Иными словами,это - первая конс- танта самого первого оператора DATA.Пос- ле выборки этого значения доступной ста- новится следующая константа и т.д. Для извлечения числовых значений из блока данных предназначен оператор READ: READ V1,V2,...,Vn. Он последовательно удовлетворяет пере- менные своего списка , ивлекая очередное значение из блока данных и перемещая его в область памяти , отведенную для хранения переменной.Выполнение этой про- цедуры при необходимости может сопровож- даться преобразованием машинного формата числовой константы к тому виду,который соответствует типу переменной. Попытка извлечь из блока данных хотя бы еще одно значение после того,как уже бы- ла прочитана последняя константа,расце- нивается как ошибка периода выполнения и приводит к аварийному завершению прог- раммы. Третьим оператором, который участвует в обслуживании блока данных,является опе- ратор RESTORE: RESTORE {N}. Без операнда N этот оператор приводит блок данных в первоночальное состояние, при котором очередным доступным значе- нием становится самая первая константа. Если операнд задан ,то им может быть но- мер программной строки ,в которой нахо- дится оператор DATA.После выполнения такого оператора RESTORE очередным дос- тупным значением становится первая конс- танта числовой порции указанного опера- тора DATA. Оператор RESTORE может быть применен на любой стадии "опустошения" блока данных, даже если мы из блока данных еще ни од- ного значения и не извлекали.
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября