Реферат: Шпаргалки по Fortrany

Автоматические массивы

В процедуре может быть задан локальный массив, размеры которого могут меняться при разных вызовах процедуры.

Такие массивы, так же как и локальные строки переменной длины (разд. 10.4), относятся к автомати­ческим объектам.

Рекурсивные процедуры

Фортран поддерживает рекурсивные вызовы внешних, модульных и внутренних процедур.

Процедура называется рекурсивной, если она обраща­ется сама к себе или вызывает другую процедуру, которая, в свою очередь,

вызывает первую процедуру. В первом случае рекурсия называется прямой, во втором - косвенной.

Оператор объявления рекурсивной процедуры должен предваряться префиксом RECURSIVE. Внутри рекурсивной

процедуры интерфейс к этой процедуре является явным (см. разд. 16.4.3).

Пример. Разработать подпрограмму subst, которая в данной строке заме­няет все вхождения подстроки sub1

на подстроку sub2. Так, если дана стро­ка 'abc1abc2abc3' и sub1 = 'abc', a sub2 = ' d', то результатом должна быть строка ' dl d2 d3'.

program stgo

character(len = 20) :: st = 'abc1abc2abc3'

call subst(st, 'abc', d') ! subst содержит прямую

write(*, *) st ! рекурсию d1 d2 d3

end

recursive subroutine subst(st, subl, sub2)

character(len = *) st, sub1, sub2 ! Длина каждой строки определяется
integer ip ! длиной соответствующего
ip = index(st, sub1) ! фактического параметра
if(ip > 0) then

st = st(:ip - 1) // sub2 // st(ip + len(subl):)

call subst(st, subl, sub2) ! Рекурсивный вызов подпрограммы
endif ! выполняется до тех пор, пока

end ! не выполнены все замены subl на sub2

Если функция содержит прямую рекурсии, то есть непосредственно вы­зывает сама себя, результату необходимо дать имя,

отличное от имени Функции. Это выполняется путем добавления в заголовок функции пред­ложения RESULT.

В случае косвенной рекурсии имя результирующей пе-Ременнрд и имя функции могут совпадать.

Символьные типы данных

Символьный тип данных позволяет задать объект, состоящий из последовательности символов.

Такую последовательность мы будем строкой. Символьный тип данных могут иметь объекты: переменные,

константы и функции. Символьный тип является встроенным типом данных для него существует одна

встроенная операция - операция конкатенации (обозначается двумя слешами //), позволяющая выполнять

объединение отдельных строк или подстрок символов. Объявление символьных.данных выполняется

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 586
Бесплатно скачать Реферат: Шпаргалки по Fortrany