Ana Sayfa · Akademi · Robotik ve Kodlama · Algoritmalar · Değişkenler: Bilgiyi Saklamak

Değişkenler: Bilgiyi Saklamak

Bilgiyi bir isimle saklayıp güncellemeyi; sayaç ve biriktiricileri değişkenlerle kurmayı öğren.

DERS PUSULASI

Bu sayfayı ne için kullanacaksın?

Ana fikir

Değişken, bir bilgiyi bir isimle saklayıp daha sonra o ismi kullanarak bilgiye ulaşmamızı ve onu güncellememizi sağlayan bir kutudur.

Üretilecek kanıt

Bir sınıfta üç öğrencinin sınav notlarını topla ve ortalamasını bul. toplam adında bir biriktirici oluştur, başlangıç değeri 0 olsun. Üç notu sırayla toplam değişkenine ekle (örneğin 70, 85, 100). ortalama adında yeni bir değişken oluştur ve toplam ı 3'e böl. Sonucu ekrana yazdır. Kendi çözümünü yazdıktan sonra şunu dene: notları değiştir ve programın…

Kontrol tuzağı

Tanımlamadan kullanmak Bir değişkeni ilk kez kullanmadan önce ona bir değer atamalısın. Boş kutuya bakmak hataya yol açar. puan = puan + 10 # HATA: puan henüz tanımlı değil Doğrusu, önce puan = 0 yazıp kutuyu oluşturmaktır. = ile == karışıklığı Python'da = atama yapar (kutuya koy), == ise eşit mi diye sorar. Bu ikisi…

Sonraki bağlantı

Operatörler ve Karşılaştırmalar: Değişkenlerdeki değerleri toplama, çıkarma ve birbiriyle karşılaştırma yollarını öğreniyoruz.

Modül kaynakları: Python Tutorial · Arduino Learn

SeviyeBaşlangıç
Yaş10–16
Süre25–35 dk
Ön koşulDöngüler
İçerikStandart ders · 1.275 kelime
Son güncelleme

Bir cümlelik özet

Değişken, bir bilgiyi bir isimle saklayıp daha sonra o ismi kullanarak bilgiye ulaşmamızı ve onu güncellememizi sağlayan bir kutudur.

Neden önemli?

Bir programın çoğu zaman bir şeyleri hatırlaması gerekir: oyuncunun kaç puan topladığını, robotun ölçtüğü mesafeyi, kaç kez döndüğünü. Bu bilgileri saklayamazsak program her adımda her şeyi sıfırdan yapmak zorunda kalır.

Değişkenler tam da bunu çözer. Bir bilgiyi bir isme bağlarız, sonra o ismi kullanarak bilgiyi okur veya değiştiririz. Değişkenleri öğrendiğimizde, programlarımız artık sadece adım atmakla kalmaz; ne olduğunu takip eder ve buna göre karar verir.

Değişken nedir?

Bir değişkeni, üstünde bir etiket olan bir kutu gibi düşünebilirsin. Kutunun içine bir bilgi koyarız, üstüne de bir isim yazarız. Sonra o ismi söylediğimizde bilgisayar doğru kutuya bakar.

Diyelim ki bir oyun oynuyorsun ve puanını takip etmek istiyorsun. puan adında bir kutu açar, içine 0 koyarsın. Puan kazandıkça bu kutudaki sayıyı büyütürsün.

Değer atama

Bir değişkene bilgi koymaya atama denir. Türkçe sözde kodda bunu şöyle yazabiliriz:

puan ← 0

Buradaki ok, "sağdaki değeri soldaki kutuya koy" demektir. Python'da aynı iş = işaretiyle yapılır:

puan = 0

Dikkat: buradaki = bir eşitlik değil, bir atamadır. "Puan sıfıra eşittir" değil, "puan kutusuna sıfır koy" diye okumak daha doğrudur.

Değeri güncelleme

Bir kutunun içindekini istediğimiz zaman değiştirebiliriz. Yeni değer, eskisinin yerini alır.

puan ← 0
puan ← puan + 10

İkinci satır şunu söyler: "puan kutusundaki değeri al, üstüne 10 ekle, sonucu tekrar puan kutusuna koy." Yani puan artık 10 olur.

Anlamlı isimlendirme

Değişkenin ismini biz seçeriz, ama iyi bir isim çok işe yarar. İsim, kutunun içinde ne olduğunu açıkça anlatmalıdır.

Anlamlı isimlendirme tablosu
Zayıf isimDaha iyi isim
xpuan
amesafe
sydeneme_sayisi

x yazınca, üç gün sonra kendi koduna baktığında ne olduğunu hatırlamazsın. mesafe yazınca, isim kendini anlatır. İyi isimler kodu bir başkası için de, gelecekteki kendin için de okunur kılar.

Sayaç ve biriktirici

Değişkenlerin en sık kullanıldığı iki kalıp vardır. İkisi de döngülerle birlikte çalışır.

Sayaç

Sayaç, bir şeyin kaç kez olduğunu tutan bir değişkendir. Her seferinde bir artar.

sayac ← 0
5 kez tekrarla
  sayac ← sayac + 1

Döngü bitince sayac değeri 5 olur. Bir robotta bu, kaç engel gördüğünü veya kaç tur attığını saymak için kullanılabilir.

Biriktirici

Biriktirici, sayıları toplayıp biriktiren bir değişkendir. Sayaçtan farkı, her adımda 1 yerine değişen bir miktar eklemesidir.

toplam ← 0
toplam ← toplam + 8
toplam ← toplam + 12

Burada toplam sırayla 0, 8 ve 20 olur. Bir sepetteki ürünlerin fiyatını toplamak buna güzel bir örnektir.

Basit türler

Bir değişkende sadece sayı saklamak zorunda değiliz. En çok kullanılan üç tür şudur:

Doğru/yanlış türü özellikle karar vermede işe yarar: robot bir düğmeye basıldı mı, oyun bitti mi gibi durumları tutar.

Günlük hayattan örnek: Puan sayacı

Bir toplama oyunu düşün. Her yıldız 10 puan. Oyuncu 3 yıldız topluyor. Puanı bir değişkende tutalım.

puan = 0

puan = puan + 10   # birinci yıldız
puan = puan + 10   # ikinci yıldız
puan = puan + 10   # üçüncü yıldız

print("Toplam puan:", puan)

Bu program Toplam puan: 30 yazar. Aynı işi bir döngüyle daha kısa yazabiliriz:

puan = 0

for yildiz in range(3):
    puan = puan + 10

print("Toplam puan:", puan)

Burada puan bir biriktiricidir. Döngü her döndüğünde kutudaki değeri büyütür.

Robotik örneği: Ölçülen mesafeyi saklamak

Bir robotun önündeki engele olan uzaklığı ölçtüğünü düşün. Robot bu ölçümü bir değişkende saklar, sonra ona bakarak karar verir.

mesafe = 25   # sensörden okunan santimetre değeri

if mesafe < 10:
    print("Çok yakın, dur!")
else:
    print("Yol açık, ilerle.")

Sensör yeni bir ölçüm yaptığında mesafe değişkenini güncelleriz; program aynı kalır ama karar yeni değere göre verilir. Değişken sayesinde robot "gördüğünü" hatırlayabilir.

Mini uygulama

Bir sınıfta üç öğrencinin sınav notlarını topla ve ortalamasını bul.

  1. toplam adında bir biriktirici oluştur, başlangıç değeri 0 olsun.
  2. Üç notu sırayla toplam değişkenine ekle (örneğin 70, 85, 100).
  3. ortalama adında yeni bir değişken oluştur ve toplamı 3'e böl.
  4. Sonucu ekrana yazdır.

Kendi çözümünü yazdıktan sonra şunu dene: notları değiştir ve programın ortalamayı doğru güncellediğini gör.

Uygulama laboratuvarı: Değişkenler: Bilgiyi Saklamak

Değişkenler: Bilgiyi Saklamak 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 Değişken nedir? ile Değeri güncelleme 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: günlük görevleri öncelik sırasına koyan küçük bir planlayıcı. Dersin ana hedefi “Bilgiyi bir isimle saklayıp güncellemeyi; sayaç ve biriktiricileri değişkenlerle kurmayı öğ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

“Değişkenler: Bilgiyi Saklamak” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın günlük görevleri öncelik sırasına koyan küçük bir planlayıcı senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Değişken nedir? ve Değeri güncelleme ilişkisini daha küçük adımlara bölerek düzelt.

Sık yapılan hatalar

Tanımlamadan kullanmak

Bir değişkeni ilk kez kullanmadan önce ona bir değer atamalısın. Boş kutuya bakmak hataya yol açar.

puan = puan + 10   # HATA: puan henüz tanımlı değil

Doğrusu, önce puan = 0 yazıp kutuyu oluşturmaktır.

= ile == karışıklığı

Python'da = atama yapar (kutuya koy), == ise eşit mi diye sorar. Bu ikisi çok karıştırılır.

puan = 10    # atama: puan kutusuna 10 koy
puan == 10   # soru: puan 10'a eşit mi?

Bir koşulda karşılaştırma yaparken == kullanılır. Bunu bir sonraki derste daha ayrıntılı göreceğiz.

Aynı ismi farklı amaçla kullanmak

Bir değişkeni puan için açıp sonra aynı ismi mesafe için kullanırsan kafan karışır ve hata yaparsın. Her kutunun tek bir işi olsun; farklı bilgiler için farklı isimler kullan.

Ders özeti

Kontrol soruları

  1. Değişken nedir ve ne işe yarar?
  2. puan ← puan + 10 satırı ne yapar?
  3. Sayaç ile biriktirici arasındaki fark nedir?
  4. Python'da = ile == arasındaki fark nedir?
  5. mesafe = 25 satırında mesafe hangi türde bir bilgi tutar?

Cevaplar

  1. Değişken, bir bilgiyi bir isimle saklayan bir kutudur. Bilgiyi sonradan o isim üzerinden okumamızı ve güncellememizi sağlar.
  2. puan kutusundaki değeri alır, üstüne 10 ekler ve sonucu tekrar puan kutusuna koyar; yani puanı 10 artırır.
  3. Sayaç her adımda değeri birer birer artırır (kaç kez olduğunu tutar). Biriktirici ise her adımda değişen bir miktarı ekleyerek toplar.
  4. = atama yapar, yani değişkene bir değer koyar. == ise iki şeyin birbirine eşit olup olmadığını sorar (karşılaştırma).
  5. mesafe bir sayı tutar (25). Bu sayı ile işlem yapabilir, örneğin 10'dan küçük mü diye karşılaştırabiliriz.

Kaynak ve doğrulama notu

“Değişkenler: Bilgiyi Saklamak” dersi için doğrulama odağı Değişken nedir? ile Değeri güncelleme 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

Operatörler ve Karşılaştırmalar: Değişkenlerdeki değerleri toplama, çıkarma ve birbiriyle karşılaştırma yollarını öğreniyoruz.

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.