Разработка программного обеспечения решения нелинейных уравнений — страница 4

  • Просмотров 2723
  • Скачиваний 208
  • Размер файла 79
    Кб

неэквивалентным типам данных относят данные, которые невозможно свести друг к другу с помощью имеющихся языковых средств. Рассматриваемые алгоритмические языки различаются не только типами, а также заданиями длины отдельных элементов данных. Длина элеметов данных может указываться явно или неявно (по умолчанию). Кроме того, необходимо отметить следующие организационные особенности каждого языка: 1) обратное расположение

массивов (в языке ФОРТРАН массив располагается в памяти по столбцам, а в языке ПЛ/1 - по строкам); 2) наличие информационного вектора для переменных в языке ПЛ/1 [поскольку в языке ПЛ/1 память под данные может выделяться динамически, компилятор генерирует информационный вектор, который содержит сведения о переменных, строках и массивах (адрес, длина, количество элементов и пр.)] и имеет различный вид для различных структур данных; 3)

выравнивание полей, которое определяется тем, что компилятор располагает данные в соответствии с описаниями, выравнивая их, если необходимо, на границы слов и полуслов. /1/ 1.1.4. Обмен данными Наиболее распространен способ обмена данных с помощью операторов CALL и LINK. При этом осуществляется формирование списка передаваемых данных и списка их адресов. Адрес списка адресов передается вызываемой программе через регистр 1. Другим

распространенным способом обмена данными является использование общих областей - статически распределеных участков памяти, к которым может обращаться любой модуль независимо от того, на каком языке он написан. Память под общую область отводит редактор связей во время создания загрузочной программы из совокупности общих областей отдельных модулей. Каждый из рассматриваемых языков имеет средства для описания общих областей:

в языке ФОРТРАН - оператор COMMON, в языке ПЛ/1 - оператор STATIC EXTERNAL, в языке ассемблера - оператор COM. /1/ 1.1.5. Информационный адаптер С учетом вешеизложенного для осуществления универсального информационного интерфейса необходимо: 1) произвести контроль наличия исходных данных для каждого отдельного модуля; 2) задать недостающие исходные данные; 3) проверить соответствие типов, структур и последовательности данных аналогичным

характеристикам данных, принятым в вызываемом модуле; 4) преобразовать данные в случае несоответствия типов; 5) обеспечить передачу данных вызываемому модулю в соответствии с типом обмена; 6) организовать среду, определяемую языком программирования модуля; 7) проверить резулбтаты; 8) выполнить обратное преобразоавание данных в вид, принятый для хранения промежуточных результатов; 9) сохранить результаты работы модуля для