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 'map' ve 'filter' ve ünite testleri #2
Saf tekrarlı tamsayı (tür = i1) işlevi foldl_i1 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sol katıyla eşdeğer. Dizi boşsa,
- Sonuç 'start' olur; aksi takdirde derhal tekrarlarız;
- Başlangıç değeri, eski başlangıç değerinin birleştirilmesinin sonucu
- x'in ilk elemanı ile.
- Bu özel yordam 1 baytlık 'integers' içindir.
- Genel prosedürle 'foldl' 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
else
res = foldl(f,f(start,x(1)),x(2:))
endif
bitiş fonksiyonu foldl_i1
Saf tekrarlanan tam sayı (tür = i2) işlevi foldl_i2 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sol katıyla eşdeğer. Dizi boş ise,
- Sonuç 'start' olur; aksi takdirde derhal tekrarlarız;
- Başlangıç değeri, eski başlangıç değerinin birleştirilmesinin sonucu
- x'in ilk elemanı ile.
- Bu özel yordam 2 baytlık 'integers' içindir.
- Genel prosedürle 'foldl' ile yüklenir.
procedure(f2_i2) :: f !! Folding function
integer(kind=i2),intent(in) :: start !! Accumulator start value
integer(kind=i2),dimension(:),intent(in) :: x !! Input array
if(size(x) < 1)then
res = start
else
res = foldl(f,f(start,x(1)),x(2:))
endif
bitiş fonksiyonu foldl_i2
Saf özyinelemeli tamsayı (tür = i4) işlevi foldl_i4 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sol katıyla eşdeğer. Dizi boşsa,
- Sonuç 'start' olur; aksi takdirde derhal tekrarlarız;
- Başlangıç değeri, eski başlangıç değerinin birleştirilmesinin sonucu
- x'in ilk elemanı ile.
- Bu özel yordam 4 baytlık 'integers' içindir.
- Genel prosedürle 'foldl' ile yüklenir.
procedure(f2_i4) :: f !! Folding function
integer(kind=i4),intent(in) :: start !! Accumulator start value
integer(kind=i4),dimension(:),intent(in) :: x !! Input array
if(size(x) < 1)then
res = start
else
res = foldl(f,f(start,x(1)),x(2:))
endif
bitiş fonksiyonu foldl_i4
Saf tekrarlanan tamsayı (tür = i8) işlevi foldl_i8 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sol katıyla eşdeğer. Dizi boşsa,
- Sonuç 'start' olur; aksi takdirde derhal tekrarlarız;
- Başlangıç değeri, eski başlangıç değerinin birleştirilmesinin sonucu
- x'in ilk elemanı ile.
- Bu özel yordam 8 baytlık 'integers' içindir.
- Genel prosedürle 'foldl' ile yüklenir.
prosedür (f2_i8) :: f ! ! Katlama işlevi
procedure(f2_i8) :: f !! Folding function
integer(kind=i8),intent(in) :: start !! Accumulator start value
integer(kind=i8),dimension(:),intent(in) :: x !! Input array
if(size(x) < 1)then
res = start
else
res = foldl(f,f(start,x(1)),x(2:))
endif
bitiş fonksiyonu foldl_i8
Saf tekrarlı gerçek (tür = r4 ) işlevi foldl_ r4 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sol katıyla eşdeğer. Dizi boşsa,
- Sonuç 'start' olur; aksi takdirde derhal tekrarlarız;
- Başlangıç değeri, eski başlangıç değerinin birleştirilmesinin sonucu
- X'in ilk elemanı ile.
- Bu özel işlem 4 baytlık gerçekler içindir.
- Genel prosedürle 'foldl' ile yüklenir.
prosedür (f2_ r4 ) :: f ! ! Katlama işlevi
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 = foldl(f,f(start,x(1)),x(2:))
endif
bitiş fonksiyonu foldl_ r4
Saf tekrarlanan gerçek (tür = r8 ) işlevi foldl_ r8 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sol katıyla eşdeğer. Dizi boşsa,
- Sonuç 'start' olur; aksi takdirde derhal tekrarlarız;
- Başlangıç değeri, eski başlangıç değerinin birleştirilmesinin sonucu
- x'in ilk elemanı ile.
- Bu özel işlem 8 baytlık 'reals' içindir.
- Genel prosedürle 'foldl' 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 = foldl(f,f(start,x(1)),x(2:))
endif
bitiş fonksiyonu foldl_ r8
Saf tekrarlanan gerçek (tür = r16) işlev foldl_r16 (f, başlangıç, x) sonucu (res)
- 'X' dizisinin elemanları boyunca, 'f' fonksiyonunu yinelemeli olarak uygular.
- Haskell'in sol katıyla eşdeğer. Dizi boşsa,
- Sonuç 'start' olur; aksi takdirde derhal tekrarlarız;
- Başlangıç değeri, eski başlangıç değerinin birleştirilmesinin sonucu
- x'in ilk elemanı ile.
- Bu özel işlem 8 baytlık gerçekler içindir.
- Genel prosedürle 'fodl' 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 = foldl(f,f(start,x(1)),x(2:))
endif
bitiş fonksiyonu foldl_r16
Saf tekrarlanan tamsayı (tür = i1) işlev foldr_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 ve
- geri kalanı katlama sonucu.
- Bu özel yordam 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
else
res = f(x(1),foldr(f,start,x(2:)))
endif
işlev bitiş foldr_i1
Saf tekrarlanan tam sayı (tür = i2) işlevi foldr_i2 (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 ve
- geri kalanı katlama sonucu.
- Bu özel yordam 2 baytlık 'integers' içindir.
- Genel prosedür 'foldr' ile yüklenir.
procedure(f2_i2) :: f !! Folding function
integer(kind=i2),intent(in) :: start !! Accumulator start value
integer(kind=i2),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_i2
Posted on Utopian.io - Rewarding Open Source Contributors
hallo canburaksimsek, your post very intersting
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
The contribution should not have been approved because it contains code copied from a different site and the tutorial is not original.
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Unvoted for breaking the Utopian Rules https://utopian.io/rules
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit