Бесплатные рефераты


В мире
Календарь новостей
« Дек.2017»
Пн.Вт.Ср.Чт.Пт.Сб.Вс.
    123
45678910
11121314151617
18192021222324
25262728293031
ВНИМАНИЕ!!!
УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ!!!
Сайт поменял владельца и на нём грядут большие перемены.
Убедительная просьба не пользоваться покупкой рефератов через смс.
ДАННЫЙ СЕРВИС БОЛЬШЕ НЕ РАБОТАЕТ
Стоит вопрос об его удалении, дабы сделать рефераты бесплатными. Извините за неудобство и спасибо за понимание
Поиск реферата

Реферат, курсовая, контрольная, доклад на тему: Шпаргалки по Fortrany

ВНИМАНИЕ! Работа на этой странице представлена для Вашего ознакомления в текстовом (сокращенном) виде. Для того, чтобы получить полностью оформленную работу в формате Word, со всеми сносками, таблицами, рисунками (вместо pic), графиками, приложениями, списком литературы и т.д., необходимо скачать работу.

Автоматические массивы
В процедуре может быть задан локальный массив, размеры которого могут меняться при разных вызовах процедуры.
Такие массивы, так же как и локальные строки переменной длины (разд. 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.
В случае косвенной рекурсии имя результирующей пе-Ременнрд и имя функции могут совпадать.
Символьные типы данных
Символьный тип данных позволяет задать объект, состоящий из последовательности символов.
Такую последовательность мы будем строкой. Символьный тип данных могут иметь объекты: переменные, константы и функции. Символьный тип является встроенным типом данных для него существует одна встроенная операция - операция конкатенации (обозначается двумя слешами
//), позволяющая выполнять объединение отдельных строк или подстрок символов. Объявление символьных.данных выполняется оператором CHARACTER, например: character :: ch = 'а' ! Символьная переменная длиной в 1 символ character(len = 20) st ! Символьная переменная из 20 символов st = 'Example' ! Присвоим значение символьной переменной st == st // '_' // ch ! Возвращает: Example_a
Оператор CHARACTER содержит в скобках данные о длине символьного объекта.
Если длина не задана, то по умолчанию она принимается равной единице.

ВНИМАНИЕ! Работа на этой странице представлена для Вашего ознакомления в текстовом (сокращенном) виде. Для того, чтобы получить полностью оформленную работу в формате Word, со всеми сносками, таблицами, рисунками (вместо pic), графиками, приложениями, списком литературы и т.д., необходимо А можно заказать оригинальный реферат
Опубликовано: 20.08.10 | [ + ]   [ - ]  
Просмотров: 125
Загрузок: 0
Рекомендуем
{dnmbottom}
БАНК РЕФЕРАТОВ содержит более 70 000 рефератов, курсовых, контрольных работ, сочинений и шпаргалок.