Справочное руководство по языку Fortran 95
Глава 2.Алфавитный справочник
Функция ASIN
Description r = asin(.5) ! r is assigned the value 0.523599 Оператор Assigned GOTO (устаревшее)Оператор присваиваемого GOTO определяет передачу управления оператору-преемнику, указываемому переменной, получившей значение метки в операторе ASSIGN. Если присутствует заключенный в скобки список меток, variable должна получить в качестве значения одну из перечисленных меток. Syntax GOTO assign-variable [[ , ] (labels)] где: assign-variable есть скалярная переменная типа INTEGER, получившая значение в операторе ASSIGN. labels есть список меток, разделенных запятыми. Замечания В момент выполнения оператора GOTO assign-variable должна быть определена и иметь значение метки перехода в той же самоцй единице видимости. Example assign 100 to i goto i 100 continue Оператор ASSIGN (устаревшее)
Description assign 100 to i goto i 100 continue Оператор присваивания AssignmentПрисваивает значение выражения справа от знака равенства переменной слева от знака равенства. Syntax variable = expression Здесь: variable есть скалярная переменная, массив или переменная производного типа. expression есть выражение, результат которого конвертируем с variable. Замечания
Численной переменной можно присваивать только численное значение;
переменной CHARACTER ---только значение CHARACTER той же самой разновидности;
переменной LOGICAL можно присваивать только LOGICAL; переменной производного
типа можно присваивать только значение того же производного типа.
Вычисление expression производится перед присваиванием. Если разновидность
выражения отлична от разновидности переменной, значение выражения подвергается
неявному преобразованию типа к типу и разновидности variable. При этом точность
может быть потеряна.
Если expression имеет значением массив, переменная тоже должна быть массивом.
Если expression есть скаляр, а переменная есть массив, всем элементам
variable присваиваются значение expression. Если переменная есть указатель,
она должна быть ассоциирована с назначением. Назначению присваивается
значение expression. Если variable и expression имеют тип CHARACTER
с разными длинами, значение expression усекается, если оно длиннее чем
variable, иди дополняется справа пробелами, если оно короче чем variable. real :: a=1.5, b(10) integer :: i=2, j(10) character (len = 5) :: string5 = "abcde" character (len = 7) :: string7 = "cdefghi" type person integer :: age character (len = 25) :: name end type person type (person) :: person1, person2 i = a ! i получает int(a) i = j ! ошибка j = i ! каждому элементу в j присваивается ! значение 2 j = b ! каждому элементу в j присваивается ! соответствующее значение в b ! конвертированое к целому string5 = string7 ! string5 получает значение "cdefg" string7 = string5 ! string7 получает значение "abcde " person1 % age = 5 person1 % name = "john" person2 = person1 ! каждой компоненте в person2 присваивается ! значение соответствующей ! компоненты в person1 Функция ASSOCIATED
Description real, pointer :: a, b, e real, target :: c, f logical :: l a => c b => c e => f l = associated (a) ! l получает значение true l = associated (a, c) ! l получает значение true l = associated (a, b) ! l получает значение true l = associated (a, f) ! l получает значение false l = associated (a, e) ! l получает значение false Функция ATAN
Description a = atan(.5) ! a получает значение 0.463648 Функция ATAN2Арктангенс от y/x (главное значение аргумента комплексного числа (x,y)). Syntax ATAN2 (y, x) Arguments y должен быть типа REAL. x должен быть той же разновидности, что и y. Если y имеет значение ноль, x не должен иметь значением ноль. Result Результат имеет ту же разновидность, что и x. Его значение есть REAL-представление в радианах аргумента комплексного числа (x,y). Пример x = atan2 (1, 1) ! x получает значение .785398 Оператор BACKSPACE
Description backspace 10 ! продвигается назад файл в устройстве 10 backspace (10, err = 100) ! продвигается назад файл в устройстве 10 ! при ошибке переход по метке 100
Функция BIT_SIZE
Описание integer :: i, m integer, dimension (2) :: j, n m = bit_size (i) ! m получает значение 32 n = bit_size (j) ! n получает значение [32 32] Оператор BLOCK DATA
Описание block data mydata common /d/ a, b, c data a/1.0/, b/2.0/, c/3.0/ end block data mydata Функция BTEST
Описание l = btest (1, 0) ! l получает значение true l = btest (4, 1) ! l получает значение false l = btest (32, 5) ! l получает значение true Оператор CALL
Description
Если присутствует keyword = то фактический аргумент передается фиктивному,
имя которого совпадает с keyword. Если keyword = отсутствует, фактический
аргумент передается фиктивному в сответствующей позиции списка фиктивных
аргументов. keyword = должен появиться с некоторым actual-arg , если никаких
предыдущих keyword = не появлялось в actual-arg-list. keyword = может появиться
только при явном интерфейсе процедуры в единице видимости. Фактический
аргумент может быть опущен, если соответствующий фиктивный аргумент имеет
атрибут OPTIONAL. Каждый фактический аргумент должен ассоциироваться с
соответствующим фиктивным аргументом.
Объекты данных как аргументы:
При вызове сабрутины фиктивный указатель получает статус, ассоциированный с
соответствующим фактическим аргументом. При окончании сабрутины фактический
аргумент получает статус указателя, ассоциированного с фиктивным аргументом.
Если фактический аргумент имеет атрибут TARGET, всякие указатели,
ассоцированные с ним, остаются ассоциированными с фактическим аргументом.
Если фиктивный аргумент имеет атрибут TARGET, любой указатель,
ассоциированный с ним, становится неопределенным по завершении сабрутины.
Ранги фиктивных аргументов и соответствующих фактических аргументов должны
быть согласованы, за исключением случаев, когда фактический аргумент есть
элемент массива, который не есть массив предполагаемой формы или указатель
на массив, или подцепочка такого элемента.
Если фиктивный аргумент есть фиктивная процедура, соответствующий фактический
аргумент должен быть специальным именем внешней, модульной, фиктивной или
встроенной процедуры. Встроенные функции AMAX0, AMAX1, AMIN0, AMIN1, CHAR,
DMAX1, DMIN1, FLOAT, ICHAR, IDINT, IFIX, INT, LGE, LGT, LLE, LLT, MAX0, MAX1,
MIN0, MIN1, REAL и SNGL не допускаются в качестве фактических аргументов.
Если фиктивный аргумент есть звездочка, то соответствующий фактический
аргумент должен быть alternate-return-spec. Метка в alternate-return-spec
должна помечать выполнимый конструкт в единице видимости, содержащей ссылку на
процедуру. ... call alpha (x, y) ... subroutine alpha (a, b) implicit none real, intent(in) :: a real, intent(out) :: b ... end subroutine alpha
Функция CARG
Description |
<<< | Оглавление | Страницы: 7 8 | >>> |