Turkish Tutorial for Fortran Part #6

in utopian-io •  7 years ago  (edited)

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





'empty' İçin Birim Testleri

program test_empt

  • yalnızca iso_fortran_env kullanın : int8, int16, int32, int64, real32, real64, real128
  • yalnızca mod_testing'i kullanın : assert, initialize_tests, report_tests
  • sadece mod_functional kullanın : empty
logical,dimension(:),allocatable :: tests
logical :: test_failed
integer :: n,norder,ntests
integer,parameter :: stdout = 6
n = 1
ntests = 10
call initialize_tests(tests,ntests)
tests(n) = assert(size(empty(1_int8)) == 0,'empty, int8')
n = n + 1
tests(n) = assert(size(empty(1_int16)) == 0,'empty, int16')
n = n + 1
tests(n) = assert(size(empty(1_int32)) == 0,'empty, int32')
n = n + 1
tests(n) = assert(size(empty(1_int64)) == 0,'empty, int64')
n = n + 1
tests(n) = assert(size(empty(1._real32)) == 0,'empty, real32')
n = n + 1
tests(n) = assert(size(empty(1._real64)) == 0,'empty, real64')
n = n + 1
tests(n) = assert(size(empty(1._real128)) == 0,'empty, real128')
n = n + 1
tests(n) = assert(size(empty(cmplx(1._real32,0._real32))) == 0,'empty, complex32')
n = n + 1
tests(n) = assert(size(empty(cmplx(1._real64,0._real64))) == 0,'empty, complex64')
n = n + 1
tests(n) = assert(size(empty(cmplx(1._real128,0._real128))) == 0,'empty, complex128')
n = n + 1
test_failed = .false.
call report_tests(tests,test_failed)
if(test_failed)stop 1

son programı test_empty

Karmaşık Sayılar için 'map' ve 'filter' ve ünite testleri

public :: operator(.sort.)
public :: operator(.tail.)
public :: operator(.union.)

  • Arayüz aralığı
 module procedure :: arange_i1,arange_i2,arange_i4,arange_i8
   module procedure :: arange_r4,arange_r8,arange_r16
   module procedure :: arange_c4,arange_c8,arange_c16

uç arayüz aralığı

  • Arabirim tamamlayıcı
module procedure :: complement_i1,complement_i2,complement_i4,complement_i8
   module procedure :: complement_r4,complement_r8,complement_r16

bitiş arayüzü tamamlayıcı

  • Arayüz operatörü ( .complement. )
module procedure :: complement_i1,complement_i2,complement_i4,complement_i8
   module procedure :: complement_r4,complement_r8,complement_r16

bitiş arabirimi

  • Arayüz filtresi
module procedure :: filter_i1,filter_i2,filter_i4,filter_i8
   module procedure :: filter_r4,filter_r8,filter_r16
 module procedure :: filter_c4,filter_c8,filter_c16

endinterface filter

  • ara katlama
module procedure :: foldl_i1,foldl_i2,foldl_i4,foldl_i8
   module procedure :: foldl_r4,foldl_r8,foldl_r16

uç ara birim katlama

  • Ara birim foldr
module procedure :: foldr_i1,foldr_i2,foldr_i4,foldr_i8
   module procedure :: foldr_r4,foldr_r8,foldr_r16

uç ara birim foldr

  • ara birim foldt
module procedure :: foldt_i1,foldt_i2,foldt_i4,foldt_i8
   module procedure :: foldt_r4,foldt_r8,foldt_r16

son ara birim foldt

  • arayüz operatörü ( .head. )
module procedure :: head_i1,head_i2,head_i4,head_i8
   module procedure :: head_r4,head_r8,head_r16
   module procedure :: head_c4,head_c8,head_c16

bitiş ara birimi

  • uç ara birim operator(.head.)
module procedure :: head_i1,head_i2,head_i4,head_i8
   module procedure :: head_r4,head_r8,head_r16
   module procedure :: head_c4,head_c8,head_c16

son uç ara birim

  • Ara birim girişi
module procedure :: init_i1,init_i2,init_i4,init_i8
   module procedure :: init_r4,init_r8,init_r16
   module procedure :: init_c4,init_c8,init_c16

uç ara birim girişi

  • Ara birim kavşağı
module procedure :: init_i1,init_i2,init_i4,init_i8
   module procedure :: init_r4,init_r8,init_r16
   module procedure :: init_c4,init_c8,init_c16

uç arayüz kavşağı

  • Arayüz insert
module procedure :: insert_i1,insert_i2,insert_i4,insert_i8
   module procedure :: insert_r4,insert_r8,insert_r16

son arayüz insert

  • Arayüz operatörü (. intersection. )
module procedure :: intersection_i1,intersection_i2,intersection_i4,intersection_i8
   module procedure :: intersection_r4,intersection_r8,intersection_r16

bitiş arabirimi

  • Ara yüz operator(.intersection.)
module procedure :: intersection_i1,intersection_i2,intersection_i4,intersection_i8
   module procedure :: intersection_r4,intersection_r8,intersection_r16

son ara yüz

  • Arayüzü tekrar et
module procedure :: iterfold_i1,iterfold_i2,iterfold_i4,iterfold_i8
   module procedure :: iterfold_r4,iterfold_r8,iterfold_r16

son arayüzü tekrar et

  • Son ara birim
module procedure :: last_i1,last_i2,last_i4,last_i8
   module procedure :: last_r4,last_r8,last_r16
   module procedure :: last_c4,last_c8,last_c16

son arayüz son

  • Ara birim operatörü ( .lst. )
module procedure :: last_i1,last_i2,last_i4,last_i8
   module procedure :: last_r4,last_r8,last_r16
   module procedure :: last_c4,last_c8,last_c16

bitiş ara birimi

  • Ara birim sınırı
module procedure :: limit_i1,limit_i2,limit_i4,limit_i8
   module procedure :: limit_r4,limit_r8,limit_r16

uç ara birim sınırı

  • Ara birim haritası
module procedure :: map_i1,map_i2,map_i4,map_i8
   module procedure :: map_r4,map_r8,map_r16
  module procedure :: map_c4,map_c8,map_c16

uç arabirim haritası



Posted on Utopian.io - Rewarding Open Source Contributors

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

@canburaksimsek, Like your contribution, upvote.

thank you @steemitstats

uzun zamandır "fortran" kelimesini duymamıştım ;)

tarihin tozlu sayfalarının arasından çıkartayım dedim bende hocam :)

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Thank you :) @sedatyildiz

Unvoted for breaking the Utopian Rules https://utopian.io/rules