Текущий архив: 2002.11.21;
Скачать: CL | DM;
ВнизПомогите понять строчку на фортране! Найти похожие ветки
← →
PVOzerski (2002-11-03 04:32) [0]Попросили тут меня помочь разобраться с программкой... Ну не силен я в фортране.
И вот, например, с таким справиться пока не могу (IOUT,I,NA,M - целочисленные переменные):
WRITE(IOUT,600) (I,I=NA,M)
...
600 FORMAT(1H0/2X,10(7X,I5))
Кто помнит фортран-77, отзовитесь, помогите, пожалуйста - экспериментированием
заниматься уж очень не хочется...
← →
Юрий Зотов (2002-11-03 09:10) [1]Насколько помню, это означает вот что.
> WRITE(IOUT,600) (I,I=NA,M)
Вывести на устройство IOUT значение I в цикле от NA до M с шагом 1 по формату, заданному оператором FORMAT с меткой 600.
> 600 FORMAT(1H0/2X,10(7X,I5))
600 - метка оператора.
1H0 - так называемая константа Холлерита. Это строковая константа вида <длина>H<тело>. В данном случае - символ "0".
/ - перевод строки (CR+LF)
2X - 2 пробела
10 - коэффициент повторения конструкции (7X,I5). Аналогично тому, что мы бы записали: 7X,I5,7X,I5,7X,I5... (10 раз).
7X - 7 пробелов
I5 - 5 целочисленных позиций (выравнивание вправо).
Вывод начинается с новой строки, а результат зависит от NA и M. Если список вывода заканчивается раньше списка форматов, остаток списка форматов игнорируется. Если же список форматов заканчивается раньше списка вывода, то список форматов сканируется с начала, а вывод продолжается с новой строки.
Скажем, при NA=-11 и M=1 получим следующее (пробелы обозначены точками):
0
...........-11.........-10..........-9..........-8 (и до -2)
0
............-2..........-1...........0...........1
← →
Юрий Зотов (2002-11-03 09:16) [2]Sorry, последняя строка такая:
..........-1...........0...........1
Страницы: 1 вся ветка
Текущий архив: 2002.11.21;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c