ISSN 0236-235X (P)
ISSN 2311-2735 (E)
1

16 Марта 2024

Опыт перевода статистического программного обеспечения из среды ФОРТРАН-4 ОС РВ в среду ФОРТРАН-77 MS/DOS на примере ППП САНД-МИКРО


Снастин А.А. () - , Бондарчук А.Ф. () - , Сидорова И.В. () - , Кузнецова Л.Б. () -
Ключевое слово:
Ключевое слово:


     

Разработка статистического программного обеспечения (СПО) для персональных компьютеров типа IBM PC является актуальной задачей. Именно благодаря широкому распространению персональных компьютеров мощные вычислительные ресурсы и возможности проведения квалифицированного статистического анализа данных уже в ближайшее время получат миллионы пользователей. Готов ли отечественный рынок СПО удовлетворить пользователей персональных компьютеров? На наш взгляд, нет. На зарубежном рынке СПО имеются программные средства A-STAT, ISA, MICRO-STAT, микроверсия MINITAB, версия библиотеки IMSL на БЕЙСИКе и т. д. Рынок ПС в СССР в настоящее время имеет ППП «АРМ для статистической обработки данных» и ППП САНД-МИКРО, прототипом которого является ППП САНД, реализованный в среде ФОРТРАН-IV ОС РВ.

ППП САНД-МИКРО предназначен для решения задач статистического анализа данных в подсистемах автоматизированных систем научных исследований и автоматизированного проектирования.

Программные модули проекта выполняют следующие функции:

   вычисление элементарных статистик;

•   корреляционный и регрессионный анализы;

•   планируемый анализ;

•   дискриминантный анализ;

•   факторный анализ;

•   анализ временных рядов;

•   генерация случайных чисел;

•   вычисление функций распределения;

•   вычисление непараметрических статистик.

Пакет функционирует в двух режимах: режим пользователя (компиляции) и диалоговый. В режиме компиляции пользователь составляет и отлаживает основную программу, используя при этом операторы обращения к подпрограммам пакета. В диалоговом режиме связь между пользователем и библиотеками пакета обеспечивает управляющая программа DIALOG. При этом пользователь задает формат и размерность исходных и выходных данных, готовит исходную информацию для ввода, назначает алгоритм решения задачи. В диалоговом режиме пользователь освобождается от составления и отладки основной программы. В состав пакета САНД-МИКРО входят и вспомогательные модули, включающие в себя подпрограммы для выполнения операций с матрицами, вывода графиков, реализации подпрограмм — примеров написания функции и организации ввода-вывода данных.

Поскольку языки ФОРТРАН-IV и ФОРТРАН-77, а также ОС РВ и MS/DOS имеют некоторые различия, то при переводе па кета САНД из среды ОС РВ в среду MS/DOS было решено несколько взаимосвязанных задач:

•   устранение различных описаний «по умолчанию» в версиях ФОРТРАН-IV ОС РВ (3.0) и ФОРТРАН-77 (2.40) MS/DOS (3.10). Целые переменные (INTEGER) «по умолчанию» в ФОРТРАНе-77 имеют длину 4 байта, в ФОРТРАНе-IV — два байта. Поэтому в программы на ФОРТРАНе-77 перед описанием переменных добавляется оператор IMPLICIT INTE-GER*2(I-N).

В версии 2.40 ФОРТРАНа-77 отсутствуют переменные типа HOLLERIT и LOGICAL. Эти переменные в программе на ФОРТРАНе-77 заменяются на переменные типа CHARACTER соответствующей длины.

•   Устранение в различии описаний открытия файлов. Если в ОС РВ для связи логического файла с физическим файлом на внешнем носителе имеется стандартная подпрограмма ASSIGN (которая вызывается как CALL ASSIGN (4,IFORM,14)), то в MS/DOS для этого же действия необходимо применить следующий оператор:

OPEN(UNIT=4, FILE='FILE.DAN', STATUS=OLD).

•   В библиотеке стандартных подпрограмм MS/DOS отсутствует подпрограмма «Генератор случайных чисел», поэтому была написана и отлажена соответствующая подпрограмма:

REAL FUNCTlONllRAND (R)

  IMPUCIT INTEGER-2 (Ь-N)

DOUBLE PRECISION HALEM

REAL S

DOUBLE PRECISION DATAN, DSQHT

DATA M2/0/, FTWO/2/

IF(M.GT.O) GOTO 28

M=l

10M2=M

M=rTWO*M2

IF{M.GT.M2) GOTO 10

HALEM=M2

IA=8*IDINT(HALEM-DATAN(1 .DO) /B.DQ)+5

IC=2*IDINT(HALEM*(0.5DO-DSQRT(3.DO)/6.DO))+1

MIC=(M2-IC)+M2

S=0.5/HALEM

20 IY=IY'IA

IF(IY.GT.MIC) IY=(IY-M2)-M2

IY=IY+IC

IF(IY/2.GT.M2) IY=(IY-M2)~M2

IF(IY.LT.O) IY=(IY+M2)+M2

URAND=FLOAT(IY)'S

RETURN

END

В операционной системе MS/DOS отсутствует подпрограмма ERRTST, которая в ходе выполнения пользовательской программы позволяет следить за типом обнаруженных ошибок. Поэтому в каждом месте программы, где возможно возникновение ошибок, был предусмотрен выход на соответствующие операторы обработки прерываний, вызванных этими ошибками. Например, во всех операторах ввода READ предусмотрен параметр ERR-метка, который в случае возникновения ошибки ввода передает управление операторам обработки этого прерывания.

Пакет прикладных программ САНД-МИКРО — одно из первых на рынке программных средств СПО для персональных компьютеров. В настоящее время в НПО « Центрпрограммсистем »          разрабатывается несколько проектов по ПС СПО: ПАРИСМИКРО, МАВР-МИКРО, МГУА-МИКРО. Дальнейшее развитие ПС СПО для ПК пойдет по пути упрощения процедур общения с ППП с целью снижения «порога» квалификации пользователей в области математической статистики, а также за счет развития «интеллектуальных» возможностей ППП и создания статистических экспертных систем. В этой связи опыт перевода ППП САНД-МИКРО из среды ФОРТРАН-IV ОС РВ в среду ФОРТРАН-77 MS/DOS представляет определенный практический интерес.



http://swsys.ru/index.php?id=1490&lang=.&page=article


Perhaps, you might be interested in the following articles of similar topics: