# İlişkisel İşleçler (eşit, küçük, büyük)

Aslında ortaokuldan beri aşina olduğumuz bir konudur ilişkisel işleçler. Öncelikle, 6. sınıftan itibaren denklem çözmeyi öğrenmeye başlarız. Denklem çözerken denklemin 2 tarafın (eşitlik **=** ifadesininin sağı ve solu) birbirine eşit olduğunu kabul ederiz, denklemimizin bilinmeyenlerini bulmaya çalışırız. Sonrasında 7. ve 8. sınıfta da eşitsizlikler konusunu öğreniriz. **<**, **>**, **>=** sembollerle de eşitsizlik denklemlerini çözmeye çalışırız. Denklemlerin çözüm yolları benzerlik gösterse de, denklemler ve eşitsizlikler farklı yorumlanır. Ortaokul yıllarına kısa bir gezinti yaptıktan sonra bu ifadelerin kodlama açısından neler ifade ettiğine bakalım.

&#x20;Kodlamada **=** sembolü çok farklı bir mana ifade ediyor. **x** leri bir tarafta bırakıp **x** 'in değerini bulmak gibi bir durum kodlamada söz konusu değil! Programlamaya yeni başlayanlar bu yanılgıya maalesef çok düşüyorlar.

## Eşit "=="

İlişkisel eşitlik sembolü, sağındaki ve solundaki ifadelerin eşitliğini kontrol eder. Eğer eşitlik varsa *doğru* döndürür.

Şimdi bununla alakalı olarak bir kodlama denemesi yapalım.

\
değişken yaş = 18     \
yaş == 18&#x20;

Bir **yaş** değişkeni oluşturalım ve şu komutu deneyelim. Çalıştırdığımızda değişken değeri kısmında *doğru* veya *yanlış* şeklinde ibareler göreceğiz. Eğer **yaş** değeri 18'e eşit ise doğru diğer durumda ise yanlış yazdığını göreceğiz. Farklı değerlerle deneyelim ve bu işlecin nasıl çalıştığını anlayalım.

&#x20;İlişkisel eşitlik ise programlamada farklı bir gösterimle yapılıyor. Tek eşitlik olan = sembölü değer ataması ya da değişken tanımlamasında kullanılırken ilişkisel eşitlik için çift eşittir sembolü kullanılıyor. Yani == olarak.

## Eşit değil "!="

Bazende iki ifadenin birbirine eşit olmadığını sorgulamak isteyebiliriz. Bu durumda eşittir sembolünün sol tarafında bir "!" işareti koyarız.

Sırada ilişkisel küçük var. Burada da bir karşılaştırma söz konusu.

## Küçük "<"

Soldaki ifadenin sağdakinden küçük olup olmadığını kontrol eder. Doğru ya da yanlış değerini döndürür.

\
değişken yaş = 18     \
yaş < 18&#x20;

## Büyük ">"

Soldaki ifadenin sağdakinden büyük olup olmadığını kontrol eder. Doğru ya da yanlış değerini döndürür.

\
değişken yaş = 18     \
yaş > 18&#x20;

## İlişkisel Büyük Eşit ">=" ve Küçük Eşit "<="

Bazı durumlarda hem büyüklük hem de eşitlik önemli olabilir. Örneğin bir kişinin yaşının 18'den büyük ya da eşit olduğunu kontrol etmek istersek bunu önce küçük sonra eşittir işareti ile yapabiliriz. Şöyle:

\
değişken yaş = 18     \
yaş >= 18

## İlişkisel ifadelerin Seçme Komutları'nda kullanımı

İlişkisel komutlar tek başına doğru ya da yanlış değerini döndürür. Bu bilgi seçme ya da döngü komutlarında daha işe yarar hale bürünür. Nasıl mı? O zaman aşağıdaki örnek koda bakalım. Bu nasıl çalıştığı hakkında az bir bilgi verecektir. Bununla alakalı detaylı bilgiyi [5. Seçme Komutları](https://github.com/mehmetakifakkus/turkce-programlama-diline-giris/tree/98cd9ba318a9fb2af958648390804a1a60cefca0/islecler/secme-komutlari.md) 'nda görüyor olacağız.

\
değişken no = 21\
eğer(no > 10) // burası büyüklüğü kontrol eder\
&#x20;   no = no + 3\
değilse\
&#x20;   no = no + 1

&#x20;Kodlamadaki bütün ilişkisel işleçler doğru ya da yanlış sonucunu verirler.

Özetleyecek olursak:

| İşleç | Anlamı     |
| :---: | ---------- |
|   <   | küçük      |
|   >   | büyük      |
|   ==  | eşit       |
|   >=  | büyük eşit |
|   >=  | küçük eşit |
|   !=  | eşit değil |

\
function qsa(sel) {\
&#x20;   return Array.apply(null, document.querySelectorAll(sel));\
}\
\
//deneme ismindeki tüm editörler codemirror editorü olacak\
qsa(".deneme").forEach(function (editorEl) {\
&#x20; CodeMirror.fromTextArea(editorEl, {\
&#x20;   mode: "simplemode",\
&#x20;   readOnly: true,\
&#x20;   lineNumbers: true,\
&#x20;   theme: 'eclipse'\
&#x20; });\
});\
\
//deneme ismindeki tüm editörler codemirror editorü olacak\
qsa(".oneline").forEach(function (editorEl) {\
&#x20; CodeMirror.fromTextArea(editorEl, {\
&#x20;   mode: "simplemode",\
&#x20;   readOnly: true,\
&#x20;   lineNumbers: false,\
&#x20;   theme: 'eclipse2'\
&#x20; });\
});\\
