F (язык программирования) - F (programming language)

F язык
Парадигма процедурный , модульный
Разработчик Компания Fortran
Печатная дисциплина статический , манифест
Под влиянием
Фортран 95

F - это модульный компилируемый числовой язык программирования, разработанный для научного программирования и научных вычислений. F был разработан как современный Фортран , что сделало его подмножеством Фортрана 95 . Он сочетает в себе числовые функции и функции абстракции данных из этих языков. F также обратно совместим с Fortran 77 , что позволяет вызывать программы на Fortran 77 . F был впервые включен в компилятор g95 .

Обзор

F разработан как минимальное подмножество Fortran, содержащее всего около сотни внутренних процедур. Ключевые слова языка и внутренние имена функций - это зарезервированные ключевые слова в F, и никакие другие имена не могут принимать эту точную форму. Р содержит один и тот же набор символов , используемый в Fortran 90 / 95 с пределом 132 символов. Зарезервированные слова всегда пишутся строчными буквами. В символьной константе может присутствовать любая заглавная буква. Имена переменных не имеют ограничений и могут включать символы верхнего и нижнего регистра.

Операторы

F поддерживает многие стандартные операторы, используемые в Фортране. Операторы, поддерживаемые F:

  • Арифметические операторы: +, -, *, /,**
  • Реляционные операторы: <, <=, ==, /=, >,>=
  • Логические операторы: .not., .and., .or., .eqv.,.neqv.
  • конкатенация символов: //

Оператор присваивания обозначается знаком равенства =. Кроме того, присвоение указателя обозначается =>. Комментарии обозначаются !символом:

variable = expression ! assignment 
pointer => target ! pointer assignment

Типы данных

Подобно Фортрану , спецификация типа состоит из типа, списка атрибутов для объявленных переменных и списка переменных. F предоставляет все те же типы, что и Fortran, за единственным исключением double :

! type [,attribute list] :: entity declaration list
real :: x, y ! declaring variables of type real x,y without an attribute list
integer (kind = long), dimension (100) :: x ! declaring variable of type big integer array with the identifier x
character (len = 100) :: student_name ! declaring a character type variable with len 100

F не имеет встроенной поддержки объектно-ориентированного программирования , но допускает записи :

type, public :: City
     character (len = 100) :: name
     character (len = 50) :: state
end type City

За объявлениями переменных следует список атрибутов. Атрибуты являются разрешенными parameter, public, private, allocatable, dimension, intent, optional, pointer, saveи target. За списком атрибутов следует ::, что является частью синтаксиса. F также допускает необязательную инициализацию в списке объектов. Все элементы в списке будут иметь одинаковые атрибуты в данном операторе объявления типа. Кроме того, объявления ориентированы на атрибуты, а не на сущности.

Заявление и поток управления

F поддерживает 3 заявления для потока управления : if, базовое Условное , case, а переключатель заявление , и do, условное время цикла . return, stop, cycle, И exitзаявление от Fortran может быть использовано для проникновения потока управления.

real :: x

do i = 100
   x += i
   print i
   cycle
end do

max : do
   if (x > y) then
      exit max:
   end if
   x = y;
end max
stop

if (x < y) then
     x = x + y;
else if ( x > y) then
     x = y - x;
end if

select case (maximum):
     case (0)
         x = 0
     case (1)
         x = 1
     case (5)
         x = 5
     case default 
         x = 10
end select

F уделяет большое внимание модульному программированию . Модули в F называются «программами»:

program main
    ! Insert code here
end program main

Размещение процедур вне модуля запрещено. F поддерживает большинство модулей и подпрограмм стандартной библиотеки Fortran 95. Все процедуры в F по умолчанию являются внешними и требуют предложения результата, которое возвращает значение функции. F поддерживает рекурсию .

Все встроенные процедуры , найденных в Fortran 95 может использоваться в F, с исключениями achar, iachar, lge, lgt, lle, llt, transfer, dble, dim, dprod, и mod.

использованная литература

внешние ссылки