Ana Sayfa · Akademi · Robotik ve Kodlama · Algoritmalar · Sıralama: Komutların Doğru Düzeni

Sıralama: Komutların Doğru Düzeni

Sıralama, bir algoritmadaki komutların doğru sonuç oluşacak biçimde hangi düzenle uygulanacağını belirler.

DERS PUSULASI

Bu sayfayı ne için kullanacaksın?

Ana fikir

Sıralama, bir algoritmadaki komutların doğru sonuç oluşacak biçimde hangi düzenle uygulanacağını belirler. Bu bölümde noktayı özellikle “Bir cümlelik özet” bağlamına uygula ve sonucu doğrulayacak ya da değiştirecek kanıtı kaydet.

Üretilecek kanıt

Aşağıdaki adımları güvenli bir sıraya koy: Frenleri kontrol et. Sürüşe başla. Kaskı tak. Lastikleri kontrol et. Güvenli rotayı belirle. Eğer bir sorun varsa yetişkinden yardım iste. Örnek çözüm: 1. Güvenli rotayı belirle 2. Kaskı tak 3. Lastikleri kontrol et 4. Frenleri kontrol et 5. Eğer bir sorun varsa yetişkinden yardım iste 6. Her şey güvenliyse sürüşe…

Kontrol tuzağı

Bir sıralama hatasını bulmak için: Beklenen sonucu yaz. Her adım sonrasında sistemin durumunu not et. İlk kez beklenmeyen durumun oluştuğu adımı bul. O adımın ihtiyaç duyduğu bilginin daha önce oluşup oluşmadığını kontrol et. Sırayı düzelt ve yeniden test et.

Sonraki bağlantı

Koşullar: Eğer, Değilse ve Karar Verme

Modül kaynakları: Python Tutorial · Arduino Learn

SeviyeBaşlangıç
Yaş10–16
Süre25–35 dk
Ön koşulAlgoritma Nedir?
İçerikStandart ders · 1.244 kelime
Son güncelleme

Bir cümlelik özet

Sıralama, bir algoritmadaki komutların doğru sonuç oluşacak biçimde hangi düzenle uygulanacağını belirler. Bu bölümde noktayı özellikle “Bir cümlelik özet” bağlamına uygula ve sonucu doğrulayacak ya da değiştirecek kanıtı kaydet.

Neden önemli?

Aynı komutları farklı sırayla uygulamak farklı sonuçlar doğurabilir. Önce ayakkabıyı bağlayıp sonra giymeye çalışmak, doğru adımları yanlış sırada kullanmaya örnektir. Bilgisayar ve robotlar komutları çoğunlukla yazdığımız sırada çalıştırdığı için her adımın yeri önemlidir.

Sıralama nedir?

Bir algoritmanın başından sonuna doğru ilerleyen komut düzenine sıralama denir. En basit programlar bile bir sıra izler:

Başla
Kullanıcıdan adını al
“Merhaba” yaz
Adı ekrana yaz
Bitir

İkinci adımı kaldırırsak veya adı almadan ekrana yazmaya çalışırsak programın kullanacağı bilgi henüz oluşmamış olur.

Günlük hayat örneği: Sandviç hazırlamak

Doğru sıra:

  1. Elleri yıka.
  2. Ekmeği hazırla.
  3. Malzemeleri ekle.
  4. Sandviçi kapat.
  5. Kullanılan malzemeleri yerine koy.

“Sandviçi kapat” adımını malzemeleri eklemeden önce uygularsak istenen sonuç oluşmaz.

Robot örneği: Hedefe gitmek

Robot başlangıçta kuzeye bakıyor ve hedef doğusunda bulunuyor.

Sağa dön
3 kare ilerle
Dur

Komutları şöyle değiştirirsek:

3 kare ilerle
Sağa dön
Dur

Robot hedefe ulaşmaz; önce kuzeye ilerler, sonra doğuya döner.

Kod örneği

Python’da iki sayının ortalamasını hesaplayalım:

birinci = 8
ikinci = 12
toplam = birinci + ikinci
ortalama = toplam / 2
print(ortalama)

ortalama hesaplanmadan önce toplam değerinin oluşturulması gerekir. Komutlar arasındaki bilgi bağı sıralamayı belirler.

Bağımlılık düşüncesi

Bir adımın uygulanabilmesi için başka bir adımın sonucu gerekiyorsa bu iki adım arasında bağımlılık vardır.

Örnek:

İyi bir algoritma yazarken şu soruyu sor:

Bu adımın çalışması için daha önce hangi bilgi veya işlem tamamlanmış olmalı?

Paralel yapılabilecek işler

Her işlem mutlaka tek sıra halinde yapılmaz. Bazı sistemlerde bağımsız görevler aynı anda yürüyebilir. Örneğin bir robot hareket ederken LED’i yanıp sönebilir. Ancak başlangıç seviyesinde önce güvenli ve anlaşılır tek sıra kurmak, sonra paralel davranışları düşünmek daha doğrudur.

Mini uygulama: Bisiklet sürüşü öncesi kontrol

Aşağıdaki adımları güvenli bir sıraya koy:

Örnek çözüm:

1. Güvenli rotayı belirle
2. Kaskı tak
3. Lastikleri kontrol et
4. Frenleri kontrol et
5. Eğer bir sorun varsa yetişkinden yardım iste
6. Her şey güvenliyse sürüşe başla

Burada yalnız sıra değil, güvenlik koşulu da önemlidir.

Hata ayıklama yöntemi

Bir sıralama hatasını bulmak için:

  1. Beklenen sonucu yaz.
  2. Her adım sonrasında sistemin durumunu not et.
  3. İlk kez beklenmeyen durumun oluştuğu adımı bul.
  4. O adımın ihtiyaç duyduğu bilginin daha önce oluşup oluşmadığını kontrol et.
  5. Sırayı düzelt ve yeniden test et.

Uygulama laboratuvarı: Sıralama: Komutların Doğru Düzeni

Sıralama: Komutların Doğru Düzeni 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 Sıralama nedir? ile Robot örneği: Hedefe gitmek 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 “Sıralama, bir algoritmadaki komutların doğru sonuç oluşacak biçimde hangi düzenle uygulanacağını belirler” 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

“Sıralama: Komutların Doğru Düzeni” ç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, Sıralama nedir? ve Robot örneği: Hedefe gitmek ilişkisini daha küçük adımlara bölerek düzelt.

Kavramı başka bir bağlama taşı

Sıralama: Komutların Doğru Düzeni yalnız bu dersteki örnekle sınırlı değildir. Aynı düşünme biçimini okul, spor, ev düzeni veya başka bir robotik çalışmada kullanabilirsin. Yeni bağlam seçerken önce değişmeyen kuralı bul: Sıralama nedir? hangi durumda aynı kalır, Robot örneği: Hedefe gitmek hangi koşulda değişir? Bu ayrım, ezberlenen örneği gerçek problem çözme becerisine dönüştürür.

Karar günlüğü

Bir tablo oluştur ve üç satır kullan: “ilk kararım”, “testte gördüğüm”, “değiştirdiğim”. Her satıra kısa ama ölçülebilir bir cümle yaz. “Daha iyi oldu” yerine “üç denemenin ikisinde doğru sonuç verdi” gibi gözlenebilir ifadeler seç. Böylece sonraki sürümde hangi değişikliğin işe yaradığını unutmazsın.

Kendi sorunu üret

Dersin sonundaki kontrol sorularından farklı bir soru yaz ve cevabını iki yolla doğrula. Birinci yol, adımları elle izlemek; ikinci yol ise kodu, devreyi veya modeli test etmektir. İki sonuç uyuşmuyorsa önce girdileri ve varsayımları karşılaştır. Bu çalışma, yalnız cevabı bulmayı değil, cevabın güvenilirliğini sorgulamayı öğretir.

Sık yapılan hatalar

Güvenlik notu

Fiziksel bir sistemde (bisiklet, motor, robot) güvenlik kontrolü her zaman harekete geçmeden önce yapılmalıdır. Motor, pil veya kesici parça içeren çalışmalarda yetişkin gözetimi gerekir ve ilk denemeler düşük hızda yapılmalıdır.

Ders özeti

Kontrol soruları

  1. Sıralama neden önemlidir?
  2. Bir adımın başka bir adıma bağımlı olması ne demektir?
  3. Robot örneğinde önce ilerleyip sonra dönmek neden yanlış sonuç verdi?
  4. Fiziksel projede güvenlik kontrolü hangi aşamada olmalıdır?
  5. Kendi günlük hayatından sırası değiştiğinde sonucu bozulan dört adımlık bir algoritma yaz.

Cevaplar

  1. Çünkü aynı komutlar farklı sırada uygulandığında farklı ve çoğu zaman yanlış sonuç oluşabilir. Bilgisayar ve robotlar komutları çoğunlukla yazıldığı sırada çalıştırır.
  2. Bir adımın çalışabilmesi için başka bir adımın sonucunun (gerekli bilgi veya işlemin) önceden üretilmiş olması gerekmesidir.
  3. Robot başlangıçta kuzeye baktığı için önce ilerlerse kuzeye gider; dönüş sonradan yapıldığında hedef doğuda kaldığından ona ulaşamaz. Önce doğru yöne dönmek gerekir.
  4. Güvenlik kontrolü herhangi bir fiziksel hareket başlamadan önce yapılmalıdır.
  5. Örnek: (1) Suyu ısıt, (2) Çayı demle, (3) Bardağa koy, (4) İç. Sıra bozulursa (örneğin demlemeden içmeye çalışmak) sonuç bozulur. Öğrencinin kendi doğru örneği de kabul edilir.

Ek doğrulama görevi

“Sıralama: Komutların Doğru Düzeni” için ikinci bir örnek oluştur: günlük görevleri öncelik sırasına koyan küçük bir planlayıcı. İlk çözümü aynen kopyalamak yerine Sıralama nedir? kavramının hangi bölümde, Robot örneği: Hedefe gitmek kavramının hangi kararda kullanıldığını işaretle. Sonucu değerlendirmek için şu iki soruya yazılı cevap ver: “Beklediğim davranış neydi?” ve “Gerçekte hangi kanıtı gördüm?”

Ardından kontrol listesinden özellikle “Adımlar açık ve tek anlamlı mı?” ve “Başka biri algoritmayı aynı sonuçla uygulayabiliyor mu?” maddelerini kullan. İlk denemede fark bulamazsan bir sınır koşulu ekle; örneğin en küçük değer, en büyük değer, boş giriş, bağlantı kaybı veya yeniden başlatma durumu. Son notunda yaptığın tek değişikliği ve bu değişikliğin sonucu nasıl etkilediğini açıkla.

Kaynak ve doğrulama notu

“Sıralama: Komutların Doğru Düzeni” dersi için doğrulama odağı Sıralama nedir? ile Robot örneği: Hedefe gitmek 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

Koşullar: Eğer, Değilse ve Karar Verme

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.