Ana Sayfa · Akademi · Robotik ve Kodlama · Algoritmalar · Operatörler ve Karşılaştırmalar

Operatörler ve Karşılaştırmalar

Aritmetik, karşılaştırma ve mantıksal operatörlerle hesap yapmayı ve koşulları birleştirmeyi öğren.

DERS PUSULASI

Bu sayfayı ne için kullanacaksın?

Ana fikir

Operatörler; sayılarla işlem yapmamızı, değerleri karşılaştırmamızı ve koşulları birleştirmemizi sağlayan küçük ama güçlü sembollerdir.

Üretilecek kanıt

Bir öğrencinin sınıfı geçip geçmediğini bulan bir kod düşün. Kural: ortalama 50 veya üzeriyse VE devamsızlık 20 günden azsa öğrenci geçer. Aşağıdaki sözde kodu kendi defterine yaz, sonra Python'a çevir: Başla İki not al ve ortalamayı hesapla Devamsızlığı al Eğer ortalama >= 50 VE devamsizlik < 20 ise "Geçti" yaz Değilse "Kaldı" yaz Bitir İpucu: Ortalamayı…

Kontrol tuzağı

= ile == karıştırmak = atama yapar, == karşılaştırır. if sayi = 5 yazmak hataya yol açar; doğrusu if sayi == 5 şeklindedir. Bu, yeni başlayanların en sık yaptığı hatadır. Tam bölme ile normal bölmeyi karıştırmak 7 / 2 sonucu 3.5 , 7 // 2 sonucu ise 3 'tür. Tam sayı sonucu beklerken / kullanırsan ondalıklı bir değer…

Sonraki bağlantı

Girdi, İşlem ve Çıktı: Kullanıcıdan bilgi alıp işleyerek anlamlı bir sonuç üreten ilk tam programını yazacaksın.

Modül kaynakları: Python Tutorial · Arduino Learn

SeviyeBaşlangıç
Yaş10–16
Süre25–35 dk
Ön koşulDeğişkenler
İçerikStandart ders · 1.361 kelime
Son güncelleme

Bir cümlelik özet

Operatörler; sayılarla işlem yapmamızı, değerleri karşılaştırmamızı ve koşulları birleştirmemizi sağlayan küçük ama güçlü sembollerdir.

Neden önemli?

Bir önceki derste değişkenlerin bilgiyi bir kutuda sakladığını gördük. Ama bilgiyi sadece saklamak yetmez; onunla bir şeyler yapmamız gerekir. İki notun ortalamasını almak, bir sayının çift olup olmadığını anlamak veya "hava soğuksa ve yağmurluysa" gibi bir kararı ifade etmek isteriz.

İşte tam burada operatörler devreye girer. Operatörler, programın hesap yapmasını ve karar vermesini sağlar. Ben de kod yazmaya başladığımda operatörleri öğrenince programların "canlandığını" fark ettim: değişkenler artık sabit kutular değil, birbirleriyle konuşan değerler oluyordu.

Aritmetik operatörler

Aritmetik operatörler, matematikteki dört işleme çok benzer. Sadece semboller biraz farklıdır.

Temel semboller

Temel semboller tablosu
İşlemSembolÖrnekSonuç
Toplama+5 + 38
Çıkarma-5 - 32
Çarpma*5 * 315
Bölme/6 / 41.5
Kalan (mod)%7 % 21

Çarpma için x değil * (yıldız) kullanırız, çünkü x çoğu zaman bir değişken adı olabilir. Bölmede ise / işareti bize ondalıklı bir sonuç verir: 6 / 4 sonucu 1.5'tir.

Kalan (mod) ve tam bölme fikri

% işareti bölmedeki kalanı verir. Örneğin 7 % 2 demek "7'yi 2'ye böldüğümde kalan kaç?" demektir; cevap 1'dir.

Bazı durumlarda ise kesirli değil, tam sonuç isteriz. Örneğin 7 şekeri 2 çocuğa dağıtırken her çocuğa kaç tam şeker düştüğünü merak ederiz. Buna tam bölme denir ve Python'da // sembolüyle yazılır:

sekerler = 7
cocuklar = 2

her_cocuga = sekerler // cocuklar   # tam bölüm: 3
artan = sekerler % cocuklar         # kalan: 1

print(her_cocuga)  # 3
print(artan)       # 1

Yani her çocuğa 3 şeker düşer, elde 1 şeker kalır.

Günlük örnek: iki notun ortalaması

Diyelim ki iki sınavdan 80 ve 90 aldın. Ortalaman şudur:

not1 = 80
not2 = 90

ortalama = (not1 + not2) / 2
print(ortalama)  # 85.0

Buradaki parantezlere dikkat et; birazdan neden gerekli olduklarını göreceğiz.

Karşılaştırma operatörleri

Karşılaştırma operatörleri iki değeri karşılaştırır ve sonuç olarak doğru (True) veya yanlış (False) üretir.

Altı temel karşılaştırma

Altı temel karşılaştırma tablosu
AnlamSembolÖrnekSonuç
Eşit mi?==5 == 5True
Eşit değil mi?!=5 != 3True
Küçük mü?<3 < 5True
Büyük mü?>3 > 5False
Küçük veya eşit mi?<=5 <= 5True
Büyük veya eşit mi?>=6 >= 7False

Buradaki en önemli nokta şudur: eşitliği kontrol etmek için tek = değil, çift == kullanırız. Tek = işareti bir değişkene değer atamak içindir.

Günlük örnek: çift mi tek mi?

Bir sayının çift olması demek, 2'ye tam bölünmesi, yani kalanının 0 olması demektir. Bunu karşılaştırma ve mod operatörünü birlikte kullanarak yazabiliriz:

Başla
Bir sayı al
Eğer sayı % 2 eşittir 0 ise
  "Çift" yaz
Değilse
  "Tek" yaz
Bitir

Python'da:

sayi = 14

if sayi % 2 == 0:
    print("Çift")
else:
    print("Tek")

Burada sayi % 2 önce kalanı hesaplar, sonra == 0 bu kalanı sıfırla karşılaştırır.

Mantıksal bağlaçlar ve öncelik

Bazen tek bir koşul yetmez; birden fazla koşulu birleştirmek isteriz. Bunun için mantıksal bağlaçları kullanırız: VE (and), VEYA (or) ve DEĞİL (not).

VE, VEYA, DEĞİL

Bunu bir doğruluk tablosu ile görmek en kolayıdır. Tabloda D = Doğru, Y = Yanlış:

VE, VEYA, DEĞİL tablosu
ABA VE BA VEYA B
DDDD
DYYD
YDYD
YYYY

Günlük örnek: koşulları birleştirmek

Diyelim ki dışarı çıkarken şemsiye alıp almayacağına karar veriyorsun. Kural şu: hava yağmurluysa VE rüzgâr çok kuvvetli DEĞİLSE şemsiye al.

yagmurlu = True
kuvvetli_ruzgar = False

if yagmurlu and not kuvvetli_ruzgar:
    print("Şemsiye al")
else:
    print("Şemsiye alma")

Rüzgâr çok kuvvetliyse şemsiye ters döner, o yüzden not ile bu durumu dışarıda bırakırız.

İşlem önceliği

Tıpkı matematikte olduğu gibi, kodda da işlemlerin bir önceliği vardır. Çarpma ve bölme, toplama ve çıkarmadan önce yapılır. Parantez ise her şeyin önüne geçer.

print(2 + 3 * 4)      # 14, çünkü önce 3*4 yapılır
print((2 + 3) * 4)    # 20, çünkü parantez önce çalışır

Karşılaştırmalar aritmetikten sonra, mantıksal bağlaçlar ise en sonra çalışır. Yani sayi % 2 == 0 ifadesinde önce %, sonra == çalışır. Emin olmadığında parantez kullanmak her zaman güvenlidir ve kodu okunaklı yapar.

Mini uygulama

Bir öğrencinin sınıfı geçip geçmediğini bulan bir kod düşün. Kural: ortalama 50 veya üzeriyse VE devamsızlık 20 günden azsa öğrenci geçer.

Aşağıdaki sözde kodu kendi defterine yaz, sonra Python'a çevir:

Başla
İki not al ve ortalamayı hesapla
Devamsızlığı al
Eğer ortalama >= 50 VE devamsizlik < 20 ise
  "Geçti" yaz
Değilse
  "Kaldı" yaz
Bitir

İpucu: Ortalamayı hesaplarken parantez kullanmayı ve eşitliği == değil, karşılaştırmayı >= ile yapmayı unutma. Farklı not ve devamsızlık değerleri deneyerek kodunun her durumu doğru yakaladığını kontrol et.

Uygulama laboratuvarı: Operatörler ve Karşılaştırmalar

Operatörler ve Karşılaştırmalar konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada Aritmetik operatörler ile Kalan (mod) ve tam bölme fikri arasındaki ilişkiyi kullanarak açık bir algoritma, sözde kod ve test tablosu hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.

Görev senaryosu

Şu senaryoyu ele al: bir robotu sınıfta güvenli biçimde hedefe götüren rota. Dersin ana hedefi “Aritmetik, karşılaştırma ve mantıksal operatörlerle hesap yapmayı ve koşulları birleştirmeyi öğren” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.

  1. Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
  2. En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
  3. Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
  4. Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
  5. Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.

Başarı ölçütleri

“Operatörler ve Karşılaştırmalar” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın bir robotu sınıfta güvenli biçimde hedefe götüren rota senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Aritmetik operatörler ve Kalan (mod) ve tam bölme fikri ilişkisini daha küçük adımlara bölerek düzelt.

Sık yapılan hatalar

= ile == karıştırmak

= atama yapar, == karşılaştırır. if sayi = 5 yazmak hataya yol açar; doğrusu if sayi == 5 şeklindedir. Bu, yeni başlayanların en sık yaptığı hatadır.

Tam bölme ile normal bölmeyi karıştırmak

7 / 2 sonucu 3.5, 7 // 2 sonucu ise 3'tür. Tam sayı sonucu beklerken / kullanırsan ondalıklı bir değer alırsın ve şaşırırsın.

Önceliği yanlış varsaymak

2 + 3 * 4 ifadesinin 20 olduğunu sanmak yaygın bir hatadır; aslında 14'tür çünkü çarpma önce yapılır. İstediğin sırayı garantilemek için parantez kullan.

Mantıksal bağlacı yanlış seçmek

"Hava soğuk VE yağmurlu" ile "soğuk VEYA yağmurlu" çok farklı sonuçlar üretir. Koşulları birleştirirken and mı yoksa or mu istediğini net düşün.

Ders özeti

Kontrol soruları

  1. 17 % 5 işleminin sonucu nedir?
  2. Bir değişkene değer atamak için hangi sembolü, iki değeri karşılaştırmak için hangi sembolü kullanırız?
  3. 7 / 2 ile 7 // 2 sonuçları arasındaki fark nedir?
  4. A = True, B = False iken A and B ve A or B ifadelerinin sonuçları nedir?
  5. 2 + 3 * 4 ifadesinin sonucu nedir ve neden?

Cevaplar

  1. 2'dir. 17'yi 5'e böldüğümüzde bölüm 3, kalan 2'dir; % kalanı verir.
  2. Atama için tek =, karşılaştırma için çift == kullanırız.
  3. 7 / 2 sonucu 3.5 (ondalıklı bölme), 7 // 2 sonucu 3'tür (tam bölüm, kesir atılır).
  4. A and B sonucu False'tur (ikisi de doğru olmalı, B yanlış). A or B sonucu True'dur (en az biri doğru, A doğru).
  5. 14'tür. Çarpma toplamadan önce yapıldığı için önce 3 * 4 = 12, sonra 2 + 12 = 14 hesaplanır.

Kaynak ve doğrulama notu

“Operatörler ve Karşılaştırmalar” dersi için doğrulama odağı Aritmetik operatörler ile Kalan (mod) ve tam bölme fikri arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Bu dersteki algoritmalar, örnek girdiler elle izlenerek ve beklenen çıktılarla karşılaştırılarak doğrulanmıştır. Sözde kod, belirli bir programlama diline bağlı kalmadan düşünme sırasını görünür kılmak için kullanılır.

Sonraki ders

Girdi, İşlem ve Çıktı: Kullanıcıdan bilgi alıp işleyerek anlamlı bir sonuç üreten ilk tam programını yazacaksın.

Quiz’i BaşlatAlgoritmalar bölümüne dön
SORU HAVUZU

Bu dersi 10 soruyla pekiştir

Bu ders için 20 soruluk bir havuz hazırlandı. Her başlangıçta 10 soru ve seçenekler yeniden karıştırılır.