Turkish Tutorial for Fortran Part #4

Words
438
Reading
2 min
Listen
Play
9y

GitHub Depo:https://github.com/wavebitscientific/functional-fortran
Fortran (FORTRAN), özellikle sayısal hesaplama ve bilimsel hesaplama için uygun olan genel amaçlı, yordamsal, zorunlu programlama dilidir.

Fortran

1954'de IBM tarafından üretilen IBM 704 için ilk sürümü John Backus ve ekibi tarafından geliştirilmiştir. Backus ve ekibi Kasım 1954'de "The IBM Mathematical FORmula TRANslating System: Fortran" isimli raporu yayınlamışlardır.

What Will I Learn?

  • I will try to give you information about the use of Fortran Programming Language. This series will proceed step by step. At the end of our project, we will have learned the Fortran Programming and Calculus Language. I will strive to give you a useful education.

Ne Öğreneceğim?

  • Bu seride sizlere Fortran Programlama Dili kullanımı hakkında bilgiler vermeye çalışacağım. Bu seri adım adım ilerleyecektir. Projemizin sonunda Fortran Programlama ve Hesaplama Dilini öğrenmiş olacağız. Sizlere faydalı bir eğitim serisi vermek için çabalayacağım.

Requirements

  • To develop and examine the concept of problem solving
  • Thinking and developing other things while solving problems
  • Force 2.0

Gereksinimler

  • Problem çözme kavramını geliştirmek ve incelemek
  • Problem çözerken başka yollar düşünmek ve geliştirmek
  • Force 2.0

Difficulty / Zorluk

  • Intermediate / Orta Düzey

Curriculum / Müfredat



Karmaşık Sayılar için Ayar ve Sınırlar

integer(kind=i4),dimension(:),allocatable :: a,b
   integer(kind=i4) :: n
   a = set(x)
   b = set(y)
   complement = arange(1_i4,0_i4)
   do concurrent (n = 1:size(a))
     if(.not. any(b == a(n)))complement = [complement,a(n)]
   enddo

bitiş işlevi complement_i4

Saf Fonksiyon complement_i8 ( x , y ) sonucu (tamamlayıcı)

  • İki diziden oluşan tamamlanmış bir 'complement' döndürür.
  • Bu özel yordam 4 baytlık 'integers' içindir.
  • Genel prosedür 'complement' ile yüklenir.
integer(kind=i8),dimension(:),intent(in) : : x ! ! İlk girdi dizisi
  integer(kind=i8),dimension(:),intent(in) : : y ! ! İkinci giriş dizisi
  integer(kind=i8),dimension(:),allocatable :: complement
  integer(kind=i8),dimension(:),allocatable :: a,b
  integer(kind=i4) :: n
  a = set(x)
  b = set(y)
  complement = arange(1_i8,0_i8)
  do concurrent (n = 1:size(a))
    if(.not. any(b == a(n)))complement = [complement,a(n)]
  enddo

bitiş işlevi complement_i8

Saf Fonksiyon complement_r4 ( x , y ) sonucu (tamamlayıcı)

  • İki diziden oluşan tamamlanmış bir 'complement' döndürür.
  • Bu özel işlem 4 baytlık 'reals' içindir.
  • Genel prosedür 'complement' ile yüklenir.
real(kind=r4),dimension(:),intent(in) : : x ! ! İlk girdi dizisi
  real(kind=r4),dimension(:),intent(in) : : y ! ! İkinci giriş dizisi
  real(kind=r4),dimension(:),allocatable :: complement
  real(kind=r4),dimension(:),allocatable :: a,b
  integer(kind=i4) :: n
  a = set(x)
  b = set(y)
  complement = arange(1._r4,0._r4)
  do concurrent (n = 1:size(a))
    if(.not. any(b == a(n)))complement = [complement,a(n)]
  enddo

bitiş işlevi complement_r4

Saf Fonksiyon complement_r8 ( x , y ) sonucu (tamamlayıcı)

  • İki diziden oluşan tamamlanmış bir 'complement' döndürür.
  • Bu özel işlem 8 baytlık 'reals' içindir.
  • Genel prosedür 'complement' ile yüklenir.
real(kind=r8),dimension(:),intent(in) : : x ! ! İlk girdi dizisi
   real(kind=r8),dimension(:),intent(in) : : y ! ! İkinci giriş dizisi
   real(kind=r8),dimension(:),allocatable :: complement
   real(kind=r8),dimension(:),allocatable :: a,b
   integer(kind=i4) :: n
   a = set(x)
   b = set(y)
   complement = arange(1._r4,0._r4)
   do concurrent (n = 1:size(a))
     if(.not. any(b == a(n)))complement = [complement,a(n)]
   enddo

bitiş işlevi complement_r8

Saf Fonksiyon complement_r16 ( x , y ) sonucu (tamamlayıcı)

  • İki diziden oluşan tamamlanmış bir 'complement' döndürür.
  • Bu özel işlem 16 baytlık 'reals' içindir.
  • Genel prosedür 'complement' ile yüklenir.
real(kind=r16),dimension(:),intent(in) : : x ! ! İlk girdi dizisi
   real(kind=r16),dimension(:),intent(in)  : : y ! ! İkinci giriş dizisi
   real(kind=r16),dimension(:),allocatable :: complement
   real(kind=r16),dimension(:),allocatable :: a,b
   integer(kind=i4) :: n
   a = set(x)
   b = set(y)
   complement = arange(1._r16,0._r16)
   do concurrent (n = 1:size(a))
     if(.not. any(b == a(n)))complement = [complement,a(n)]
   enddo

bitiş fonksiyonu complement_r16

Saf Fonksiyon complement_c4 ( x , y ) sonucu (tamamlayıcı)

  • İki diziden oluşan tamamlanmış bir 'complement' döndürür.
  • Bu özel işlem, 4 bayt karmaşık 'reals' içindir.
  • Genel prosedür 'complement' ile yüklenir.
complex(kind=r4),dimension(:),intent(in) : : x ! ! İlk girdi dizisi
 complex(kind=r4),dimension(:),intent(in)  : : y ! ! İkinci giriş dizisi
 complex(kind=r4),dimension(:),allocatable :: complement
 complex(kind=r4),dimension(:),allocatable :: a,b
 integer(kind=i4) :: n
 a = set(x)
 b = set(y)
 complement = arange(cmplx(1._r4,0._r4),cmplx(0._r4,0._r4))
do concurrent (n = 1:size(a))
  if(.not. any(b == a(n)))complement = [complement,a(n)]
 enddo

son işlevi complement_c4

Saf Fonksiyon complement_c8 ( x , y ) sonucu (tamamlayıcı)

  • İki diziden oluşan tamamlanmış bir 'complement' döndürür.
  • Bu özel işlem 8 bayt karmaşık 'reals' içindir.
  • Genel prosedür 'complement' ile yüklenir.
complex(kind=r8),dimension(:),intent(in)  : : x ! ! İlk girdi dizisi
  complex(kind=r8),dimension(:),intent(in)  : : y ! ! İkinci giriş dizisi
  complex(kind=r8),dimension(:),allocatable :: complement
  complex(kind=r8),dimension(:),allocatable :: a,b
  integer(kind=i4) :: n
  a = set(x)
  b = set(y)
  complement = arange(cmplx(1._r4,0._r4),cmplx(0._r4,0._r4))
  do concurrent (n = 1:size(a))
  if(.not. any(b == a(n)))complement = [complement,a(n)]
  enddo

son işlevi complement_c8

Saf Fonksiyon complement_c16 ( x , y ) sonucu (tamamlayıcı)

  • İki diziden oluşan tamamlanmış bir 'complement' döndürür.
  • Bu özel işlem, 16 bayt karmaşık 'reals' içindir.
  • Genel prosedür 'complement' ile yüklenir.
complex(kind=r16),dimension(:),intent(in)  : : x ! ! İlk girdi dizisi
  complex(kind=r16),dimension(:),intent(in)  : : y ! ! İkinci giriş dizisi
  complex(kind=r16),dimension(:),allocatable :: complement
  complex(kind=r16),dimension(:),allocatable :: a,b
  integer(kind=i4) :: n
  a = set(x)
  b = set(y)
  complement = arange(cmplx(1._r16,0._r16),cmplx(0._r16,0._r16))
  do concurrent (n = 1:size(a))
  if(.not. any(b == a(n)))complement = [complement,a(n)]
  enddo

bitiş işlevi complement_c16



Posted on Utopian.io - Rewarding Open Source Contributors