Fortranda Operatorlar
Operator, istifadəçiyə spesifik riyazi və ya məntiqi əməliyyatlar etməyi bildirən simvoldur. Fortran aşağıdakı operator növlərini təqdim edir:
- Riyazi Operatorlar
- Əlaqə Operatorları
- Məntiqi Operatorlar
Gəlin bu operator növlərinə bir-bir nəzər salaq.
Riyazi Operatorlar
Aşağıdakı cədvəl, Fortran tərəfindən dəstəklənən bütün riyazi operatorları göstərir. Tutaq ki, A dəyişəni 5, B dəyişəni isə 3 saxlayır, beləliklə:
| Operator | Təsvir | Nümunə |
|---|---|---|
+ | Cəm Operatoru, iki operandı(toplananları) cəmləyir. | A + B 8 nəticəsini verir |
- | Çıxma Operatoru, ikinci operandı(çıxanı) birini operanddan(çıxılandan) çıxarır. | A - B 2 nəticəsini verir |
* | Vurma Operatoru, iki operandı(vuruğu) bir-birinə vurur. | A * B 15 nəticəsini verir |
/ | Bölmə Operatoru, birinci operandı(bölünəni) ikinci operanda(bölənə) bölür. | A / B 1 nəticəsini verir |
** | Qüvvətə Qaldırma Operatoru, bir operandı digərinin qüvvətinə qaldırır. | A ** B 125 nəticəsini verir |
Əlaqə Operatorları
Aşağıdakı cədvəl, Fortran tərəfindən dəstəklənən bütün əlaqə operatorlarını göstərir. Tutaq ki, A dəyişəni 10, B dəyişəni isə 20 saxlayır, beləliklə:
| Operator | Ekvivalent | Təsvir | Nümunə |
|---|---|---|---|
== | .eq. | İki operandın dəyərlərinin bərabər olub-olmamasını yoxlayır. Əgər bərabərsə, şərt doğru olur. | (A == B) doğru deyil. |
/= | .ne. | İki operandın dəyərlərinin bərabər olub-olmamasını yoxlayır. Əgər bərabər deyilsə, şərt doğru olur. | (A != B) doğrudur. |
> | .gt. | Sol operandın dəyərinin sağ operandın dəyərindən böyük olub-olmamasını yoxlayır. Əgər böyüksə, şərt doğru olur. | (A > B) doğru deyil. |
< | .lt. | Sol operandın dəyərinin sağ operandın dəyərindən kiçik olub-olmamasını yoxlayır. Əgər kiçikdirsə, şərt doğru olur. | (A < B) doğrudur. |
>= | .ge. | Sol operandın dəyərinin sağ operandın dəyərindən böyük və ya bərabər olub-olmamasını yoxlayır. Əgər böyüksə və ya bərabərsə, şərt doğru olur. | (A >= B) doğru deyil. |
<= | .le. | Sol operandın dəyərinin sağ operandın dəyərindən kiçik və ya bərabər olub-olmamasını yoxlayır. Əgər kiçikdirsə və ya bərabərdirsə, şərt doğru olur. | (A <= B) doğrudur. |
Məntiqi Operatorlar
Fortranda məntiqi operatorlar yalnız .true. və .false. məntiqi dəyərlər üzərində işləyir.
Aşağıdakı cədvəl, Fortran tərəfindən dəstəklənən bütün məntiqi operatorları göstərir. Tutaq ki, A dəyişəni .true. saxlayır, B dəyişəni isə .false. saxlayır, beləliklə:
| Operator | Təsvir | Nümunə |
|---|---|---|
.and. | Məntiqi VƏ operatoru olaraq çağırılır. Əgər hər iki operand sıfırdan fərqli olarsa, şərt doğru olur. | (A .and. B) yanlışdır. |
.or. | Məntiqi VƏYA operatoru olaraq çağırılır. Əgər hər hansı bir operand sıfırdan fərqli olarsa, şərt doğru olur. | (A .or. B) doğrudur. |
.not. | Məntiqi TƏRS operatoru olaraq çağırılır. Operandının məntiqi vəziyyətini əksinə çevirir. Əgər şərt doğru olsa, Məntiqi TƏRS operatoru onu yalnışa çevirir. | !(A .and. B) doğrudur. |
.eqv. | Məntiqi BƏRABƏRDİR operatoru olaraq çağırılır. İki məntiqi dəyərin bərabərliyini yoxlayır. | (A .eqv. B) yanlışdır. |
.neqv. | Məntiqi BƏRABƏRSİZDİR operatoru olaraq çağırılır. İki məntiqi dəyərin bərabərsizliyini yoxlayır. | (A .neqv. B) doğrudur. |
Fortranda Operatorların Üstünlük Dərəcəsi
Operatorların üstünlük dərəcəsi ifadədəki terminlərin qruplaşdırılmasını müəyyən edir. Bu, ifadənin necə qiymətləndirildiyini təsir edir. Bəzi operatorların üstünlük dərəcəsi digərlərindən yüksəkdir; məsələn, vurma operatorunun üstünlük dərəcəsi toplama operatorundan yüksəkdir.
Məsələn, x = 7 + 3 * 2 ifadəsində, burada x 13-ə təyin olunur, 20-yə yox, çünki * operatorunun üstünlük dərəcəsi +-dan yüksəkdir. Buna görə, əvvəlcə 3 * 2 vurulur, sonra isə 7-yə əlavə edilir.
Burada, ən yüksək üstünlük dərəcəsinə malik operatorlar cədvəlin yuxarısında göstərilir, ən aşağı üstünlük dərəcəsinə malik olanlar isə aşağıda. Bir ifadə daxilində, yüksək üstünlük dərəcəsinə malik operatorlar əvvəlcə qiymətləndirilir.
| Kateqoriya | Operator | Assosiativlik |
|---|---|---|
| Məntiqi TƏRS və mənfi işarə | .not., (-) | Soldan sağa |
| Qüvvətə qaldırma | ** | Soldan sağa |
| Vurma və bölmə | *, / | Soldan sağa |
| Cəm və çıxma | +, - | Soldan sağa |
| Əlaqə Operatorları | <, <=, >, >= | Soldan sağa |
| Bərabərlik | ==, /= | Soldan sağa |
| Məntiqi VƏ | .and. | Soldan sağa |
| Məntiqi VƏYA | .or. | Soldan sağa |
| Təyin etmə | = | Sağdan sola |