Azerbaijani Tutorial for Fortran Part #1

in utopian-io •  7 years ago  (edited)

Hello friends, 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.Tutorial language Azerbaijani. I will strive to give you a useful education.
Salam dostlar, Fortran Proqramlaşdırma Dilinin istifadəsi haqqında sizə məlumat verməyə çalışacağam. Bu seriya addım-addım olacaqdır. Layihamızın sonunda Fortran Proqramlaşdırma və Riyaziyyat dilini öyrəndik. Mən sizə faydalı bir təhsil seriyası verməyə çalışacağam.
DQmQDt7D8TL65jPz7MoQK5au58Ujq16vasU1Ep2a92vgnoZ_700x700.jpg
GitHub:https://github.com/wavebitscientific/functional-fortran
Fortran (FORTRAN) ədədi hesablama və elmi hesablama üçün xüsusilə uyğun olan ümumi məqsəd, prosedur, məcburi proqramlaşdırma dili.
IBM tərəfindən hazırlanmış IBM 704-in ilk versiyası 1954-cü ildə John Backus və onun komandası tərəfindən hazırlanmışdır. Backus və qrupu 1954-cü ilin noyabrında "IBM Matematiksel FORMULA TRANslating Sistemi: Fortran" adlı bir hesabat yayımladı.

Fortran Qaydaları:
Fortran.io PHP kimidir: FastCGI HTML strings çıxardır bir script çalışır.
Link http://force.lepsch.com/p/download.html

U5dsq2oxaC2MG4JbKkhAQ9BzHQN7sJi_1680x8400.png
Aşağıda verdiyim kodu çalıştırarak Fortran quraşdırma çalıştırabilirsiniz.
mod_functional istifadə edin
Hesablama zamanı aşağıdakı funksiyalara ehtiyac vardır. İndi onları tapaq ...

arange - ardıcıl olaraq bir sıra döndürür
tamamlayır - iki array olan tamamlayıcı dəsti qaytarır
boş - boş bir array qaytarır
filter - mantıksal giriş funksiyasından istifadə edərək bir simli süzgəc
qovluq - simli ardıcıl olaraq sola birləşmək üçün bir giriş funksiyasından istifadə edin
foldr - sağa bir ardıcıllıqla qoşulmaq üçün bir giriş funksiyasından istifadə edin
qat - bir giriş funksiyasını istifadə edərək, bir ardıcıl olaraq qatır
baş - bir sıra elementinin qaytarılması
init - son elementdən gələn hər şeyi qaytarır
insert - sərhəddən təhlükəsiz bir sıra bir element əlavə edir
intersection - iki array kəsişməsini qaytarır
iterfold - Bir giriş funksiyasından istifadə edərək, ardıcıllığı azaldın
last - endeksin son elementini qaytarır
limit - yuxarı və aşağı sərhədlərə bir skalayı və ya array məhdudlaşdırır
map - bir sıra bir giriş funksiyası xəritələr
set - bir giriş simli qaytarır
reverse - diz tərs istiqamətdə döndürün
sort - ikili ağac pivotunu istifadə edərək, təkrarlanan sürətlə təmin edir
split - bir indexun birinci və ya ikinci yarısını qaytarır
subscript - hüdudlardan kənarda vektor alt ikonunun təhlükəsiz tətbiqi
tail - İlk maddə xaricində hər şeyi döndürün
unfold - bir giriş funksiyasını açır
union - iki array birləşməsini qaytarır
Yuxarıdaki funksiyaların hamısı standart Fortran 2008 ile uyğun olan int8, int16, int32, int64, real32, real64, real128, complex(real32), complex(real64), ve complex(real128) .

Bir və ya iki arqumentdə fəaliyyət göstərən funksiyalar sırasıyla tək və ya ikili operatorlar kimi mövcuddur. Bunlar: .complement, .head, .init, .intersection, .last., .reverse, .set, .sort, .tail, və .union ..

İndi bəzi nümunələrlə izah etsin;

'' arange '', başlanğıc ve son değerleri giriş bağımsız değişkenleri olaraq eşit aralıklı diziler yaratmaq üçün istifadə olunur:
write(,)arange(1,5)
1 2 3 4 5
'' arange '' də gerçək nömrələrlə işləyir:
write(,)arange(1.,5.)
1.00000000 2.00000000 3.00000000 4.00000000 5.00000000
Üçüncü arqument, '' arange '' (isteye bağlı);
write(,)arange(1,15,3)
1 4 7 10 13
Mənfi artımlar gözlənildiyi kimi işləyir:
write(,)arange(3,1,-1)
3 2 1
'tail' kataloqun ilk elementindən başqa bir şey qaytarır:
write( * , * ) tail ([ 1 , 2 , 3 ])
2 3
Aşağıdakı '' insert '' istifadə edərək elementə simli əlavə edə və əlavə edə bilərsiniz:
! insert a 5 at position 0 to prepend:
write ( * , * ) insert ( 5 , 0 , [ 1 , 2 , 3 ])
5 1 2 3

! insert a 5 at position 4 to append:
write ( * , * ) insert ( 5 , 4 , [ 1 , 2 , 3 ])
1 2 3 5

! insert a 2 at position 2:
yaz ( * , * ) ekleme ( 2 , 2 , [ 1 , 3 , 4 ])
1 2 3 4
'' split '' indeksin birinci və ya ikinci yarısını qaytarmaq üçün istifadə edilə bilər:
write ( * , * ) split (arange ( 1 , 5 ), 1 )
1 2

! return first half of the array
write ( * , * ) split (aralık ( 1 , 5 ), 2 )
3 4 5
Yuxarıda təkrarlanan ikili ağac üçün axtarış və ya sıralama üçün faydalıdır, məsələn, bu kitabxanadakı '' sort '' tətbiqinə baxın.
'' sort '' ardıcıl olaraq ardıcıl sıraya qaytarılacaq:
real,dimension(5) :: x
call random_number(x)
write ( * , * ) x
0.997559547 0.566824675 0.965915322 0.747927666 0.367390871
write ( * , * ) sort(x)
0.367390871 0.566824675 0.747927666 0.965915322 0.997559547
'limit' funksiyası bir dəyər, bir ölçək və ya bir sıra, məsələn aşağı və yuxarı həddi məhdudlaşdırmaq üçün istifadə edilə bilər, məsələn:
! limit a scalar (5) within bounds 1 and 4
write(,)limit(5,1,4)
4

! flipping the bounds works just as well
write(,)limit(5,4,1)
4
Dostları gördüyünüz kimi, funksiyaları istifadə edərək çox şeylər etdik. Bu sayısal hesablamaları tez bir zamanda tapmağımı təmin edir. Sistemimizi və funksiyalarımızı bol nümunələrlə istifadə etməyə davam edəcəyik ... İndi yaxşı işimizi davam etdirəcəyik ... Hormetler ...



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:  

Your contribution cannot be approved because it is a duplicate. It is very similar to a contribution that was already accepted here.

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

Hey @sedatyildiz, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!

You got a 0.55% upvote from @postpromoter courtesy of @yusifm! Want to promote your posts too? Check out the Steem Bot Tracker website for more info. If you would like to support development of @postpromoter and the bot tracker please vote for @yabapmatt for witness!