Составители:
Рубрика:
FOR I = 1 TO 5
READ A(I)
PRINT A(I)
NEXT
CALL MINMAX(A(), 5, AMIN, AMAX)
PRINT "AMIN= ", AMIN, "AMAX= ", AMAX
END
SUB MINMAX (A(), N, AMIN, AMAX)
AMIN = 1E+37
AMAX = -1E+37
FOR I = 1 TO N
IF A(I) < AMIN THEN AMIN = A(I)
IF A(I) > AMAX THEN AMAX = A(I)
NEXT
END SUB
Ввод/вывод
данных
Вызов п/п
Вывод
результата
П/п, A -
параметр-
массив
Результаты работы:
МАССИВ А
2
3
1
4
2
AMIN= 1 AMAX= 4
На Fortran'е соответствующие формальные параметры должны
быть описаны как массивы (см. пример предыдущего пункта).
Часто язык позволяет внутри подпрограммы определить размер
переданного массива. В QBasic'е и Фортране есть функции для оп-
ределения:
• нижней границы массива LBOUND(массив, номер_измерения);
• верхней границы массива UBOUND(массив, номер_измерения).
Если таких средств нет, то можно передать в подпрограмму
вместе с массивом и его размер.
В некоторых языках имеется возможность передавать вместо
формального параметра-массива только его часть (сечение). Это
можно сделать в Фортране 9х и старше, но такие подпрограммы
обязательно должны быть описаны в блоке интерфейса. В QBasic'е
этого сделать нельзя.
16
FOR I = 1 TO 5 Ввод/вывод
READ A(I) данных
PRINT A(I)
NEXT
CALL MINMAX(A(), 5, AMIN, AMAX) Вызов п/п
PRINT "AMIN= ", AMIN, "AMAX= ", AMAX Вывод
результата
END
SUB MINMAX (A(), N, AMIN, AMAX) П/п, A -
AMIN = 1E+37 параметр-
AMAX = -1E+37 массив
FOR I = 1 TO N
IF A(I) < AMIN THEN AMIN = A(I)
IF A(I) > AMAX THEN AMAX = A(I)
NEXT
END SUB
Результаты работы:
МАССИВ А
2
3
1
4
2
AMIN= 1 AMAX= 4
На Fortran'е соответствующие формальные параметры должны
быть описаны как массивы (см. пример предыдущего пункта).
Часто язык позволяет внутри подпрограммы определить размер
переданного массива. В QBasic'е и Фортране есть функции для оп-
ределения:
• нижней границы массива LBOUND(массив, номер_измерения);
• верхней границы массива UBOUND(массив, номер_измерения).
Если таких средств нет, то можно передать в подпрограмму
вместе с массивом и его размер.
В некоторых языках имеется возможность передавать вместо
формального параметра-массива только его часть (сечение). Это
можно сделать в Фортране 9х и старше, но такие подпрограммы
обязательно должны быть описаны в блоке интерфейса. В QBasic'е
этого сделать нельзя.
16
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »
