Turkish Tutorial for Fortran Part #6

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@canburaksimsek·
0.000 HBD
Turkish Tutorial for Fortran Part #6
[![](https://steemitimages.com/750x750/https://res.cloudinary.com/hpiynhbhq/image/upload/v1511704454/uqpzccmj0i0xtfabksp9.gif)](https://steemkr.com/utopian-io/@rosatravels/utopian-io-gif-contest-my-3rd-entry)

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
[![](https://steemitimages.com/750x750/https://i.hizliresim.com/XP7rZo.png)](https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-1)
[![](https://steemitimages.com/750x750/https://i.hizliresim.com/m2j9r4.png)](https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-2)
[![](https://steemitimages.com/750x750/https://i.hizliresim.com/rOBbma.png)](https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-3)
[![](https://steemitimages.com/750x750/https://i.hizliresim.com/5DrOo5.png)](https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-4)
[![](https://steemitimages.com/750x750/https://i.hizliresim.com/azJZj2.png)](https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-5)


# '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ı

<br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-6">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>
👍 , , , , , , ,