22 Aralık 2024 Pazar

OPERATÖRLER

OPERATÖRLER

Operatörler önceden tanımlanmış birtakım matematiksel ya da mantıksal işlemleri yapmak için kullanılan özel karakter ya da karakterler topluluğudur. İşlem basamaklarımızın oluşturulmasında yeri geldikçe bazı temel operatörlerden yararlanmamız gerecektir. Örneğin iki sayının toplamını almak için, bölümden kalanını bulmak için veya üssünü hesaplamak için… Ya da iki sayıdan büyük olana karar vermek, aralarındaki eşitliği bulmak için gibi...

Operatörler gerekli işleri yapmaları için birtakım malzemeye ihtiyaç duyarlar. 

Örneğin “+” operatörünün toplama yapabilmesi için iki tane sayıya ihtiyacı olduğu gibi. Bu sayılara operand denilmektedir. (Algan, 2008)

Her operatörün farklı sayıda operandları olabilmektedir. Operand, ilgili operatör tarafından işleme katılan değerlerdir.

Programlama dillerinin destekledikleri operatörlerin değişiklik göstermesine rağmen programlama dillerinden bağımsız olarak hazırlayacağımız algoritmalarımız da kullanabileceğimiz temel operatörleri işlevlerine göre aşağıdaki gibi gruplandırabiliriz.

1. Matematiksel Operatörler

Operandları arasında temel bazı matematiksel işlemleri yerine getirebilen operatörlerdir.

a) “+” Toplama operatörü: 

Matematikteki bildiğimiz toplama işlemidir. Normalde iki operand arasında toplama yapar (işleme katılan operandlar sayısal türden iseler)

*3+5 =8,

 x=4 => x+1= 5 gibi…

!İşleme katılan operandlar alfasayısal (sayısal olmayan, yazı türünden) tipli değerler ise “+” operatörü birleştirme işlemi yapar.

*“Ali” + “Veli” = “AliVeli” gibi…

 b)“-“ Çıkartma operatörü: 

Matematikteki bildiğimiz çıkartma işlemidir İki operand arasında çıkartma yapar.

*5-3 = 2, x=4 => x-1 =3

 c)“*“ Çarpma operatörü: 

Matematikteki bildiğimiz çarpma işlemidir İki sayı arasında çarpma yapar.

*5*3 = 15, 

z=2 => z*3 = 6

!Bilgisayar dünyasında kullanılan programların çoğunda; (Programlama Dilleri, Hesap Makinesi, Excel vb.) çarpma işlemi matematikteki gibi “.” veya “x” ile ifade edilmemektedir. Onların yerine “*” kullanılmaktadır.

d)“/“ Bölme operatörü: 

Matematikteki bildiğimiz bölme işlemidir İki sayı arasında bölme yapar.

*12/3 = 4, x=4 => 12/x = 3

!Bölme işleminde dikkat etmemiz gereken nokta, ikinci sayının bir şekilde “0 (Sıfır)” olmaması gerektiğidir. Çünkü “sayı/0” ifadesi anlamsız bir sonuç üreteceğinden programımız da kararsız duruma düşebilir.

e)“^” Üs operatörü: 

Üs alma işlemidir. Taban bu operatörün soluna yazılırken üs ise sağ tarafına yazılır.

*2^3 = 8

!Bir programcının 2’nin kuvvetlerini ezbere bilmesi gerekmez fakat bir süre sonra

“2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768…” diyerek seri bir

şekilde sayabildiğinizi göreceksiniz. Bu da bilgisayar mimarisinin 2’lik sayılar üzerine

kurulmuş ve dolayısıyla da bu sayılara sıkça işimizin düşüyor olmasından kaynaklanmaktadır.

f) "%" Mod Alma Operatörü:

 Mod alma; bir sayının başka bir sayıya bölümünden kalan sayıdır
 Örneğin; 6%3=0 iken 5%3=2 sonucunu verir.

2. Karşılaştırma Operatörleri

Operandları arasında büyüklük, küçüklük, eşitlik gibi karşılaştırma işlemleri yapabilen operatörlerdir.

!Karşılaştırma işlemlerinde sonuç, ya doğrudur ya da değildir. Az doğru ya da çok yanlış gibi bir şey söz konusu değildir. Aslına bakılırsa bilgisayar dediğimiz bu çok akıllı gibi görünen alet hep bu mantık üzerine inşa edilmiştir. Doğru ya da yanlış, evet ya da hayır, “1” ya da “0” gibi…

Bilgisayar sistemlerinde ikilik sayı sisteminin kullanılıyor olması da buradan gelmektedir. Sonuçta bilginin ifade edilmesi ve bir yerden bir yere de taşınması gerekecektir.

Bilgisayar sistemlerinde bu işlem elektrik vasıtasıyla yapılmaktadır. Yine yukarıdaki mantıkla kablonun ucunda elektrik (+5 Volt) varsa “1” yoksa “0” kabul edilmesi gibi. Üçüncü bir ihtimal kullanılmamaktadır. Bu iki sayı da (“1” ve “0”) ikilik sayı sistemini oluşturmaktadır.

 “>” Büyüktür operatörü: 

Operandları arasında ki büyüklük ilişkisini yakalamaya çalışır.

! Yakalamaktan kasıt doğru sonucunu üretmesidir. Eğer ki solundaki operandın sağındakinden büyük olduğunu tespit ederse “evet, doğrudur” sonucunu üretir, aksi halde “hayır, yanlıştır” sonucunu üretir.

*5>3  Evet, doğrudur (5, 3’den büyüktür), 

x=4 ve y=8 => x>y  Hayır, yanlıştır (bu değerlere göre x, y’den büyük değildir) gibi…

 “<” Küçüktür operatörü: 

Operandları arasında ki küçüklük ilişkisini yakalamaya çalışır.

*4<5  Doğru, 

10<5  Yanlış

“==” Eşittir operatörü: 

Operandları arasında ki eşitlik ilişkisini yakalamaya çalışır.

*5==5  Doğru, 

3==6     Yanlış

!Operatörler programlama dillerinde farklı sembollerle gösterilebilmektedir. İleriki konularımızda göreceğimiz Pascal programlama dilindeki “eşittir” operatörü de mantık olarak yukarıda açıklanan “==” eşittir operatörüyle aynı işi yapmasına rağmen “=” tek eşittir işaretiyle gösterilmektedir. Bu durum diğer bazı operatörlerde de geçerlidir.

 “>=” Büyük Eşit operatörü: 

Operandları arasında ki büyüklük veya eşitlik ilişkisini yakalamaya çalışır.

*5>=4     Doğru, 

5>=10     Yanlış, 

8>=8       Doğru

“<=” Küçük Eşit operatörü: 

Operandları arasında ki küçüklük veya eşitlik ilişkisini yakalamaya çalışır.

*4<=5   Doğru, 

10<=5  Yanlış, 

8<=8    Doğru

“<>”  veya "!=" Eşit Değildir operatörü: 

Operandları arasında ki eşit olmama durumunu yakalamaya çalışır.

*5<>4  Doğru (Evet, doğru. 5, 4’e eşit değildir gibi…), 3<>3 Yanlış

3.Mantıksal Operatörler

• Programlarda, birden fazla karşılaştırma ifadesi bir anda kullanılmak istenebilir. Bu gibi durumlarda mantıksal ifadeler kullanılması zorunludur.

 • VE(AND) ( && )  “Ve” operatörü, iki veya daha fazla koşulun tümünün doğru olduğu durumlarda “doğru” sonucunu veren operatördür. Günlük hayattaki kullanımıyla aynıdır. 

 Örneğin makarna yapmak için su, tuz ve makarna gerekir. Bunlardan herhangi biri olmadan makarna yapıla maz.

 • VEYA(OR) ( || )  “Veya” operatöründe, iki veya daha fazla koşuldan en az birinin doğru olması durumunda sonuç “doğru” olur. Bu da günlük hayatta kullandığımız gibidir. 

 Örneğin bir havuzu boşaltmak için kırmızı, yeşil ve mavi renkte üç farklı musluğumuz olsun. Havuzun boşal ması için kırmızı musluğu veya yeşil musluğu veya mavi musluğu açmamız yeterli olacaktır. Dilersek iki ya da üç musluğu aynı anda açarak da havuzu boşaltabiliriz.

 • DEĞİL(NOT) “Değil” operatörü ise mantıksal bir durumu tersine çevirir. Sonucu “doğru” olan bir mantıksal sınamayı “yanlış”a, sonucu “yanlış” olan bir mantıksal sınamayı ise “doğru”ya çevirir. Günlük hayattaki olumsuzluk ifadelerine karşılık gelir. 

 Örneğin annelerimiz meyve alırken pazarcıya “Sağlamlarından ver.” diyebilir. “Çürüklerinden verme.” deseler de pazarcı yine aynı şeyi anlayacaktır. Çünkü bir meyve ya çürük ya da sağlam olur. İkinci ifadede kullanılan olum suzluk ekinin koşulu tersine çevirdiğine dikkat ediniz.

! Ve operatöründe sonucun doğru çıkması ancak bütün durumların sağlanması ile mümkündür. Günlük hayatta da aslında bu ifadeyi kullanmaktayız. Örneğin bir grup öğrenci arasından “sarışın ve gözlüklü olanları seçmeye çalıştığınızı düşünün. Seçtiğiniz öğrencilerin aynı anda iki özelliği taşımasını istediğiniz içindir ki bu iki özelliği “ve operatörüyle birbirine bağlamışsınızdır”. Bu durumda seçilen öğrenciler hem sarışındırlar hem de gözlük kullanmaktadırlar. Sarışın olup ta gözlük kullanmayan ya da gözlük kullanıp ta sarışın olmayan öğrenciler bu ifadeye göre seçilememektedir. Çünkü bütün durumların aynı anda gerçeklenmesi istenmektedir.

!Mantıksal operatörlerin sonuçları da “doğru” ya da “yanlıştır”. Üçüncü bir ihtimal söz konusu değildir.

b. “OR” Veya operatörü: ( || )

Birbirine bağladığı operandların en az bir tanesinin “doğru” olması durumunu yakalamaya çalışır. Operandlardan bir veya birden fazlası ya da hepsinin doğru olması durumunda veya operatörü “doğru” sonucunu üretir.

Diğer bir ifadeyle “veya operatörü”nde “ve” operatörünün aksine “doğru” sonucunun üretilebilmesi için şartlardan bir tanesinin bile gerçekleştirilmiş (sağlanmış) olması yeterlidir.

*(4==4) OR (1>5)  Doğru, 

Çünkü “1’in 5’ten büyük olmamasına rağmen sonucun doğru çıkması için 4’ün 4’e eşit olması yeterli olmuştur”.

*(4==4) OR (2>1)  Doğru, 

Çünkü hem “4, 4’e eşittir hem de 2, 1’den büyüktür”. Aslında bir tanesinin bile doğru olması yeterliyken bütün şartlar sağlanmıştır.

*VE ile birleştirilmiş ifadelerde eğer bütün ifadelerden ayrı ayrı 1 değeri dönüyorsa birleştirilmiş ifadeden de 1 değeri döner. Geri kalan durumlarda 0 sıfır değeri döner. 
*VEYA ile birleştirilmiş ifadelerde en az bir ifadeden 1 değeri dönüyorsa birleştirilmiş ifadeden de 1 değeri döner. Bütün ifadelerden 0 değeri dönüyorsa birleştirilmiş ifadeden de 0 değeri döner.

Örneğin: ( 5>6 &&2<=7) ifadesini incelersek 
 && →VE anlamına gelir 
 5>6 →Bu ifadeden yanlış sonucu döner 
 2<=7 →Buifadeden doğru sonucu döner 
Sonuç olarak bu ifade (yanlış VE doğru) ya da ( 0 VE 1) halini alır. Daha önce verilen doğruluk tablosuna göre bu ifadeden 0 (yanlış) sonucu döner. 

Örneğin : 
  A=5, B=18 olsun    
 (A != B &&B>5)   → 1(doğru)
 (5 == A||B<15)       → 1(doğru) 
 (4 > 6||B!=18||A>3) → 1(doğru) 
 (A == 5&&B>=18&&5%2==1) → 1(doğru)
 (B < 20&&A<6&&2%2==1) → 0(yanlış) 
 (A == B||B<5) → 0(yanlış) 

c. “NOT” Değil operatörü: 

Operandının durumunu tersine çevirir. Yani durum doğruysa sonuç “yanlış” olarak, yanlış ise de sonucun doğru olarak üretilmesini sağlar.

*NOT(1==1)  Yanlış, 

Çünkü “1’in 1’e eşit olmasına rağmen, sonuç değil operatörüyle tersine çevrilmiştir”.



KAYNAKÇA:

MEB, Bilgisayar Bilimi Kur1 Kitabı
Öğr. Gör. Erkan HÜRNALI, Algoritmalarda Kullanılan Temel Operatörler
 


Hiç yorum yok:

Yorum Gönder

2. Dönem 2. Yazılı Çalışma Soruları

 1. Ekrana 10 defa programcının adını yazan programın algoritma ve akış şemasını hazırlayınız. 2.Klavyeden bir not girilmesini isteyen ve bu...