spamsink: (Default)
[personal profile] spamsink posting in [community profile] besm6
Напишем программу на Фортране:
      program main
      dimension ia(9,9)
      do 1 i=1,9
      do 1 j=1,9
   1  ia(i,j)=10*i+j
      print 2,(ia(i,i),i=1,9)
   2  format(9i6)
      e=2.718281828
      pi=3.14159265
      i=ia(e,pi)
      j=ia(pi,e)
      print 2,i,j
      end


Что эта программа делает? Она объявляет целый массив 9х9, заполняет его числами от 11 до 99, печатает диагональ для проверки, а потом обращается к элементам массива с нецелыми индексами, чтобы посмотреть, как разные Фортран-компиляторы себя ведут.

У нас в системе "Дубна" есть 3 компилятора: Фортран БЭСМ-6 (переписанный из CDC-шного), Фортран-ГДР и Форекс ИПМ АН СССР.

Сумрачное германское изделие говорит
 Ф O P T P A H - Г Д P
      (24.04.81)
  001               PROGRAM MAIN
  002               DIMENSION IA(9,9)
  003               DO 1 I=1,9
  004               DO 1 J=1,9
  005            1  IA(I,J)=10*I+J
  006               PRINT 2,(IA(I,I),I=1,9)
  007            2  FORMAT(9I6)
  008               E=2.718281828
  009               PI=3.14159265
  010               I=IA(E,PI)
  011               J=IA(PI,E)
  012               PRINT 2,I,J
  013               END


          BESM FORTRAN DIAGNOSTIC RESULTS

          ERRORS: 2     WARNINGS: 0

 ERROR 054 IN 00011 SUBSCRIPT OF ARRAY  HAS NOT INTEGER TYPE
 ERROR 054 IN 00010 SUBSCRIPT OF ARRAY  HAS NOT INTEGER TYPE


Форекс более покладист: компилирует и печатает
    11    22    33    44    55    66    77    88    99
    23    32

как люди и ожидают.

А вот Фортран-Дубна, согласно с принципом "Вы этого хотели, вот вам", печатает
    11    22    33    44    55    66    77    88    99
    33    92


Такие дела.

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 13th, 2026 06:16 am
Powered by Dreamwidth Studios