F (язык программирования) - F (programming language)
Парадигма | процедурный , модульный |
---|---|
Разработчик | Компания 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
.