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 ''split, intersection, foldl, foldr, foldt'' #3
Saf tekrarlayan gerçek (tür = r4 ) işlevi foldr_ r4 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sağ katıyla eşdeğer. Liste boşsa,
- Sonuç 'start' olur; aksi halde 'f' ilk elemana uygulanır
- Geri kalanı katlama sonucu.
- Bu özel işlem 4 baytlık 'reals' içindir.
- Genel prosedür 'foldr' ile yüklenir.
procedure(f2_r4) :: f !! Folding function
real(kind=r4),intent(in) :: start !! Accumulator start value
real(kind=r4),dimension(:),intent(in) :: x !! Input array
if(size(x) < 1)then
res = start
else
res = f(x(1),foldr(f,start,x(2:)))
endif
bitiş fonksiyonu foldr_ r4
Saf tekrarlayan gerçek (tür = r8 ) işlev foldr_ r8 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sağ katıyla eşdeğer. Liste boşsa,
- Sonuç 'start' olur; aksi halde 'f' ilk elemana uygulanır
- Geri kalanı katlama sonucu.
- Bu özel işlem 8 baytlık 'reals' içindir.
- Genel prosedür 'foldr' ile yüklenir.
procedure(f2_r8) :: f !! Folding function
real(kind=r8),intent(in) :: start !! Accumulator start value
real(kind=r8),dimension(:),intent(in) :: x !! Input array
if(size(x) < 1)then
res = start
else
res = f(x(1),foldr(f,start,x(2:)))
endif
bitiş fonksiyonu foldr_ r8
Saf tekrarlayan gerçek (tür = r16) işlevi foldr_r16 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sağ katıyla eşdeğer. Liste boşsa,
- Sonuç 'start' olur; aksi halde 'f' ilk elemana uygulanır
- Geri kalanı katlama sonucu.
- Bu özel işlem 16 baytlık 'reals' içindir.
- Genel prosedür 'foldr' ile yüklenir.
procedure(f2_r16) :: f !! Folding function
real(kind=r16),intent(in) :: start !! Accumulator start value
real(kind=r16),dimension(:),intent(in) :: x !! Input array
if(size(x) < 1)then
res = start
else
res = f(x(1),foldr(f,start,x(2:)))
endif
bitiş işlevi foldr_r16
Saf tekrarlayan kompleks (tür = r4 ) işlevi foldr_c4 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sağ katıyla eşdeğer. Liste boşsa,
- Sonuç 'start' olur; aksi halde 'f' ilk elemana uygulanır
- Geri kalanı katlama sonucu.
- Bu özel işlem 4 baytlık 'complex reals' içindir.
- Genel prosedür 'foldr' ile yüklenir.
procedure(f2_c4) :: f !! Folding function
complex(kind=r4),intent(in) :: start !! Accumulator start value
complex(kind=r4),dimension(:),intent(in) :: x !! Input array
if(size(x) < 1)then
res = start
else
res = f(x(1),foldr(f,start,x(2:)))
endif
bitiş fonksiyonu foldr_c4
Saf tekrarlayan kompleks (tür = r8 ) fonksiyonu foldr_c8 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sağ katıyla eşdeğer. Liste boşsa,
- Sonuç 'start' olur; aksi halde 'f' ilk elemana uygulanır
- Geri kalanı katlama sonucu.
- Bu özel işlem 8 baytlık 'reals' içindir.
- Genel prosedür 'foldr' ile yüklenir.
procedure(f2_c8) :: f !! Folding function
complex(kind=r8),intent(in) :: start !! Accumulator start value
complex(kind=r8),dimension(:),intent(in) :: x !! Input array
if(size(x) < 1)then
res = start
else
res = f(x(1),foldr(f,start,x(2:)))
endif
işlev bitiş foldr_c8
Saf tekrarlanan kompleks (tür = r16) fonksiyon foldr_c16 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sağ katıyla eşdeğer. Liste boşsa,
- Sonuç 'start' olur; aksi halde 'f' ilk elemana uygulanır
- Geri kalanı katlama sonucu.
- Bu özel işlem 16 baytlık 'complex reals' içindir.
- Genel prosedür 'foldr' ile yüklenir.
procedure(f2_c16) :: f !! Folding function
complex(kind=r16),intent(in) :: start !! Accumulator start value
complex(kind=r16),dimension(:),intent(in) :: x !! Input array
if(size(x) < 1)then
res = start
else
res = f(x(1),foldr(f,start,x(2:)))
endif
bitiş işlevi foldr_c16
saf tekrarlanan tamsayı (tür = i1) işlevi foldt_i1 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sağ katıyla eşdeğer. Liste boşsa,
- Sonuç 'start' olur; aksi halde 'f' ilk elemana uygulanır
- Geri kalanı katlama sonucu.
- Bu özel işlem 1 baytlık 'integers' içindir.
- Genel prosedür 'foldr' ile yüklenir.
procedure(f2_i1) :: f !! Folding function
integer(kind=i1),intent(in) :: start !! Accumulator start value
integer(kind=i1),dimension(:),intent(in) :: x !! Input array
if(size(x) < 1)then
res = start
elseif(size(x) == 1)then
res = f(start,x(1))
else
res = foldt(f,foldt(f,start,split(x,1)),split(x,2))
endif
bitiş fonksiyonu foldt_i1
Posted on Utopian.io - Rewarding Open Source Contributors
Nice information sharing keep it up...
@canburaksimsek
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thanks @usmansukhera
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Your contribution cannot be approved because you copied the codes and the tutorials are all very similar, you repeat the examples.
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit