2. ÜNİTE – KODLAMAYA GİRİŞ

Bu ünitede öğrencilerin robotik kodlama uygulamasının önemli bir aşaması olan algoritma kavramını tüm bileşenleri ile öğrenmeleri ve günlük hayatta karşılaşılan sorunların çözümüne yönelik geliştirilen algoritmalara uygun akış diyagramları oluşturmaları amaçlanmaktadır.

KAZANIMLAR

RK.1.2.1. Algoritma

RK.1.2.1.1. Algoritma kavramını tanımlar.
RK.1.2.1.2. Algoritmanın işlem adımlarından oluştuğunu fark eder.
RK.1.2.1.3. Algoritmanın işlem adımlarının sırasının önemini fark eder.

RK.1.2.2. Karar Yapıları

RK.1.2.2.1. Karar yapılarının tanımını yapar.
RK.1.2.2.2. Karar yapılarının kullanım alanlarını açıklar.

RK.1.2.3. Döngü Yapıları

RK.1.2.3.1. Döngü kavramının tanımını yapar.
RK.1.2.3.2. Döngü kavramının kullanım alanlarını açıklar.

RK.1.2.4. Veri Türleri

RK.1.2.4.1. Veri türlerini açıklar.

RK.1.2.5. Değişken Kavramı

RK.1.2.5.1. Değişken kavramının tanımını yapar.

RK.1.2.6. Akış Diyagramı

RK.1.2.6.1. Akış diyagramı kavramını açıklar.
RK.1.2.6.2. Akış diyagramında kullanılan sembollerin anlamlarını açıklar.
RK.1.2.6.3. Bir problemin çözümüne yönelik akış diyagramı oluşturur.

😊 Bu ders akışı, Sıfırbir Yayınları Robotik Kodlama kitabından faydalanılarak oluşturulmuştur.

ALGORİTMA NEDİR?

Bir problemi çözmek veya bir işi yapmak için sırayla takip edilen adımlara algoritma denir. Aslında günlük hayatımızda birçok yerde algoritmalarla karşılaşırız. Örneğin:

✅ Yeni aldığımız bir mobilyayı kurarken kullandığımız talimatlar bir algoritmadır.
✅ Bir yemeğin tarifinde sırasıyla yapılan işlemler bir algoritmadır.
✅ Origami yaparken takip ettiğimiz katlama adımları da bir algoritmadır.

Algoritmalar Nasıl Yazılır?

Bir algoritma yazarken dikkat edilmesi gereken bazı kurallar vardır:

Herkesin anlayabileceği şekilde yazılmalıdır.
Karışık olmamalı, açık ve net olmalıdır.
Adımlar sırayla ve numaralandırılarak yazılmalıdır.
Başlangıç ve bitiş noktası belli olmalıdır.

Bu kurallara uyduğumuzda, algoritmalar sayesinde problemleri daha kolay çözebiliriz!

Günlük Hayattan Algoritmalar

🍕 Pizza yaparken belli bir sıraya göre işlem yapmamız gerekir. Bu da aslında bir algoritmadır! Şimdi pizza yapma adımlarını bir algoritma şeklinde yazalım:

1️⃣ Başla
2️⃣ Malzemeleri hazırla (un, su, tuz, maya, sos, peynir, sucuk, mantar vb.)
3️⃣ Hamuru yoğur
4️⃣ Sosu hazırla
5️⃣ Hamuru aç
6️⃣ Hamurun üzerine sosu sür
7️⃣ Sucuk, mantar gibi malzemeleri ekle
8️⃣ Üzerine rendelenmiş peynir serpiştir
9️⃣ Fırını 200 dereceye ayarla ve pizzayı pişir
🔟 Pizzayı fırından çıkar
1️⃣1️⃣ Pizzayı dilimle
1️⃣2️⃣ Servis yap
1️⃣3️⃣ Bitir

İşte bu kadar! Şimdi, sen de günlük hayatta karşılaştığın bir problem için algoritma yazmayı dene.

Algoritma Örnekleri

ETKİLEŞİMLİ ETKİNLİK

ETKİNLİK: Nasıl Gideceğim?

Aşağıdaki görseli kullanarak paragrafta yer alan durumu çözmek için bir günlük yaşam algoritması oluşturunuz.

günlük yaşam algoritması harita görseli

Fıstık Park’ta dinlenen üniversite öğrencisi Elmas’ın, dersine yetişmesi için Karadeniz Üniversitesi’ne yürüyerek gitmesi gerekiyor. Haritaya göre nasıl gideceğinin algoritmasını yön belirterek yazınız.

VERİ, SABİT VE DEĞİŞKEN

Veri, çevremizde gördüğümüz ve yaşadığımız her şey hakkında küçük bilgi parçalarıdır. Örneğin:

✅ Bir oyun oynarken aldığın puan,
✅ Sınavda yaptığın doğru cevapların sayısı,
✅ Bir koşuda parkuru kaç saniyede tamamladığın.

Bilgisayarlar için veri, dijital ortama aktarılan ham bilgilerdir. Örneğin:

🖥️ Klavyeden yazılan yazılar,
📷 Kamera ile çekilen fotoğraflar,
🎤 Mikrofondan kaydedilen sesler,
📡 Sensörlerin çevreden aldığı bilgiler.

Bilgisayarlar bu verileri işleyerek hayatımızı kolaylaştırır. Örneğin, telefonlarımızda hava durumunu kontrol edebilir, robotlar çevreyi algılayarak hareket edebilir ve yapay zeka bize önerilerde bulunabilir

Veriler ikiye ayrılır: Sabit ve Değişken

🔹 Sabit Veri: Her zaman aynı kalan ve değişmeyen bilgilerdir.
Örnek:
✅ Dünya’nın Güneş etrafında dönme süresi
✅ Suyun 100°C’de kaynaması

🔹 Değişken Veri: Zamanla değişebilen bilgilerdir.
Örnek:
✅ Havanın sıcaklığı
✅ Bir maçın sonucu

💻 Bilgisayarlarda Değişken Kullanımı:
Bilgisayarda değişkenler, bilgileri saklamak için kullanılır. Biz bu değişkenlere isimler veririz ve o isimlerle veriyi çağırabiliriz.
Örneğin: Sayi1, Skor, Toplam, A gibi değişken isimleri kullanabiliriz. Bilgisayar bu değişkenleri hafızasında saklar ve ihtiyacımız olduğunda onları kullanmamızı sağlar!

ETKİNLİK: Sabit Mi? Değişken Mi?

Ahmet ve arkadaşları bir futbol maçı izlemeye gitmiştir. Maç sırasında Ahmet bazı verileri not almıştır. Şimdi bu verilerin sabit mi yoksa değişken mi olduğuna karar verelim ve doğru sütunu işaretleyelim.

VerilerSabitDeğişken
Futbol sahasının uzunluğu
Maçın toplam süresi (90 dakika)
İlk yarıda atılan gol sayısı
Seyirci sayısı
Yapılan tezahüratlar
Bir takımdaki oyuncu sayısı
Havanın sıcaklığı

Bu etkinliği tamamladıktan sonra, sabit ve değişken verileri daha iyi anlamış olacağız! 🎯

VERİ TÜRLERİ

Bilgisayarlar, farklı türde bilgileri anlayabilir ve kullanabilir. Program yazarken, hangi türde bilgilerle çalışacağımızı bilmek çok önemlidir. Çünkü bilgisayar, verilen bilgiyi anlamak ve doğru şekilde işlemek için veri türlerini kullanır.

Şimdi, üç temel veri türünü birlikte inceleyelim!

SAYISAL VERİ

Bilgisayarlarda sayılarla yapılan işlemler çok önemlidir. Yaşımız, boyumuz, sınav notumuz gibi veriler sayısal veri olarak adlandırılır.

Bilgisayarlar sayılarla işlem yaparken özel işlem sembolleri (operatörler) kullanır. İşte bu operatörler ve anlamları:

OperatörAçıklama
+Toplama yapar. (Örneğin: 5 + 3 = 8)
Çıkarma yapar. (Örneğin: 10 – 4 = 6)
*Çarpma yapar. (Örneğin: 6 * 2 = 12)
/Bölme yapar. (Örneğin: 8 / 2 = 4)
=Değişkene değer atar. (Örneğin: yaş = 12)
modBölme işleminin kalanını bulur. (Örneğin: 10 mod 3 → kalan 1)

Bu operatörleri kullanarak bilgisayarda matematik işlemleri yapabiliriz!

📌 Algoritma:
1️⃣ Başla
2️⃣ “1. sayıyı girin” → S1 değişkenine kaydet
3️⃣ “2. sayıyı girin” → S2 değişkenine kaydet
4️⃣ S1 ve S2’yi topla → sonucu Toplam değişkenine kaydet
5️⃣ Ekrana Toplam değişkenini yaz
6️⃣ Bitir

Bu algoritmada:
S1 ve S2, girilen sayıları saklar.
Toplam, bu iki sayının sonucunu saklar.
✅ Bilgisayar değişkenler sayesinde verileri işler ve ekrana sonucu yazar.

💡 Değişkenler sayesinde bilgisayar aynı algoritmayı farklı sayılar için tekrar tekrar kullanabilir!

KARAKTER DİZİSİ VERİLER

Sayılar dışında, harf, kelime, sembol veya rakam içeren verilere karakter dizisi veri denir. Örneğin:
📌 Cep telefonundan gönderilen mesaj
📌 En sevdiğin renk
📌 Abonelik için belirlenen parola

Metinsel veriler, sayılar gibi matematiksel işlemlere giremez. Genellikle çift tırnak (” “) içinde yazılır.

💡 Örnekler:
📌 Şehir = “BURSA”
📌 Kullanıcı Adı = “sıfırBir16”

Metinsel veriler, bilgisayar programlarında isimleri, açıklamaları veya mesajları saklamak için kullanılır.

MANTIKSAL VERİ

Bilgisayar, bazı durumlarda evet-hayır, doğru-yanlış, 1-0 gibi kararlar vermelidir. Bu tür verilere mantıksal veri denir.

📌 Örneğin:

  • “Bugün hava yağmurlu mu?”Evet veya Hayır
  • “Kamera hareket algıladı mı?”Evet veya Hayır
  • “Parola doğru mu?”Doğru veya Yanlış

Bilgisayarın bu kararları verebilmesi için karşılaştırma işlemleri yapması gerekir. İşte karar vermek için kullanılan bazı operatörler:

OperatörAdıAçıklama
<KüçüktürSayı1 < Sayı2 → Sayı1, Sayı2’den küçük mü?
<=Küçük EşittirSayı1 <= Sayı2 → Sayı1, Sayı2’den küçük veya eşit mi?
>BüyüktürSayı1 > Sayı2 → Sayı1, Sayı2’den büyük mü?
>=Büyük EşittirSayı1 >= Sayı2 → Sayı1, Sayı2’den büyük veya eşit mi?
=EşittirSayı1 = Sayı2 → Sayı1 ile Sayı2 eşit mi?
<> FarklıdırSayı1 <> Sayı2 → Sayı1 ile Sayı2 farklı mı?

Bu operatörler, programların karar vermesine ve doğru işlem yapmasına yardımcı olur.

Eğer, Değilse ve Daha Fazlası!

Bilgisayarda bir program yazarken bazen karar vermemiz gerekir. Yani bir koşulu kontrol ederiz ve bu koşula göre ne yapılacağına karar veririz. İşte buna Karar Yapıları diyoruz.

Diyelim ki bir oyun yapıyoruz. Oyunun kuralı şöyle:

🕒 2 dakika içinde
🎯 En az 150 puan toplarsan
🏆 Oyunu kazanıyorsun!

Süre dolunca program şu soruyu soruyor:

👉 “Skor 150 veya daha fazla mı?”

Eğer evet dersek:
🟢 “Tebrikler oyunu kazandın!” mesajı çıkıyor.

Eğer hayır dersek:
🔴 “Bir daha denemek için oyunu yeniden başlatın!” mesajı çıkıyor.

Algoritmayı yazalım.

  1. Başla
  2. Oyun çalışsın
  3. Süre 2 dakika (120 saniye) olana kadar bekle
  4. Eğer skor ≥ 150 ise “Tebrikler oyunu kazandın!” yaz
    Değilse “Bir daha denemek için oyunu yeniden başlatın!” yaz
  5. Bitir

💡 “Eğer” Nasıl Çalışır?

Eğer” kelimesi programlamada çok önemlidir. Şartlı ifadeler bu şekilde başlar. İki şekilde kullanılabilir:

  • Eğer (koşul) ise: → Koşul doğruysa sadece bir işlem yapılır.
  • Eğer (koşul) ise … değilse: → Koşul doğruysa bir işlem, yanlışsa başka bir işlem yapılır.

Gerçek Hayattan Karar Yapısı Örnekleri

🌧️ Otomatik Cam Sileceği Örneği

  1. Başla
  2. Yağmur sensörünü kontrol et
  3. Eğer yağmur yağıyorsa → Silecekleri çalıştır
  4. Bitir

Burada yağmur varsa sistem karar verir ve silecekleri çalıştırır.

🔐 Apartman Girişindeki Şifreli Kapı Örneği

  1. Başla
  2. “Şifreyi giriniz”
  3. Eğer girilen şifre doğruysa → Kapıyı aç
    Değilse “Dıt dıt” sesi çıkar ve tekrar şifre iste
  4. Bitir

Bu sistem de girilen şifreye göre karar verir: Doğruysa aç, yanlışsa tekrar denet.


💡 Birden Fazla Koşul Olduğunda Ne Olur?

Bazen karar verirken birden fazla koşula bakmamız gerekebilir. Bu durumda iki önemli bağlayıcı kullanırız:

VE (AND) Operatörü

Bu, iki koşul da doğruysa çalışır.
Örnek:

📌 “Yağmur yağmıyorsa VE ödevini bitirdiysen parkta oynayabilirsin.”

Yani:

  • Hava güzel olmalı
  • Ödevler bitmiş olmalı

İkisi de doğruysa parka çıkabilirsin.

VEYA (OR) Operatörü

Bu operatörde bir koşul bile doğruysa çalışır.
Örnek:

📌 “Süre bittiyse VEYA en az 100 altın toplandıysa oyun bitsin.”

Yani:

  • Süre bitmiş olabilir.
  • 100 altın toplanmış olabilir.

Biri bile doğruysa oyun biter.

Bilgisayarda bir şeyler yaparken, bazen bir durumu kontrol etmemiz gerekir. Bu duruma göre karar veririz. İşte bu yüzden Karar Yapıları programlamada çok önemlidir. Hayatımızda da olduğu gibi, programlarda da “Eğer böyleyse şunu yap, değilse bunu yap” gibi kurallar koymamız gerekebilir.


💡 Unutma:
Karar yapıları sayesinde programlar akıllı hale gelir ve farklı durumlara göre doğru tepkiler verebilir!

Bilgisayar programlarında bazı işlemleri tekrar tekrar yapmak gerekebilir. Her defasında aynı komutu yazmak yerine, döngüler kullanırız.

💡 Döngü, bir işlemi belirli sayıda ya da belli bir koşul gerçekleşene kadar otomatik olarak tekrar eden yapıdır.

Günlük Hayattan Bir Örnek

  • Belirli sayıda tekrar eden döngü: “5 defa zıpla” dediğimizde 5 kere zıplarız, sonra dururuz.
  • Koşula bağlı döngü: “Yağmur durana kadar şemsiyeyi kapatma” dediğimizde yağmurun bitmesini bekleriz, sonra şemsiyeyi kapatırız.

Bilgisayarlar da tıpkı bizim gibi bu tür tekrar eden işleri döngüler sayesinde yapar.


1. Belirli Sayıda Tekrar Eden Döngü (FOR Döngüsü)

Bu döngü, bir işlemin kaç defa tekrarlanacağını önceden bildiğimiz durumlarda kullanılır.

Örnek Durum:

Bir robotun önündeki yolu süpürmesi gerekiyor. Ona “10 adım süpür” komutunu verdiğimizde, robot tam 10 adım süpürür ve durur.

Örnek Algoritma: 1’den 10’a kadar sayıları yazdırma

  1. Başla
  2. Sayı = 1
  3. 1’den 10’a kadar tekrar et:
    • Sayıyı ekrana yaz
    • Sayıyı 1 artır
  4. Bitir

Bu algoritma çalıştığında ekranda şu görünür:
1 2 3 4 5 6 7 8 9 10


2. Koşula Bağlı Döngü (WHILE Döngüsü)

Bu döngüde kaç kez tekrar edileceği belli değildir. İşlem, belirli bir koşul sağlanana kadar devam eder.

Örnek Durum:

Bir robotun “duvara ulaşana kadar yürü” komutunu aldığını düşünelim. Robot, duvara çarpana kadar yürür. Kaç adım atacağını bilmez, sadece koşul gerçekleşene kadar yürümeye devam eder.

Örnek Algoritma: Doğru şifre girilene kadar deneme yapma

  1. Başla
  2. Kullanıcıdan şifreyi iste
  3. Eğer şifre yanlışsa:
    • Uyarı ver
    • Tekrar şifre iste (2. adıma dön)
  4. Şifre doğru ise kapıyı aç
  5. Bitir

Kısacası…

  • For DöngüsüKaç defa tekrar edileceği belli olan durumlarda.
  • While DöngüsüKoşul sağlanana kadar devam eden durumlarda.

Bilgisayarlar unutmaz, sıkılmaz, yorulmaz — ama biz bazen yorulabiliriz. İşte bu yüzden döngüler çok işimize yarar!

📚 Öğretmene Not:

🎯 Derste benzer etkinlikler veya materyaller kullanıyorsanız, deneyimlerinizi ve kaynaklarınızı benimle paylaşarak bu sürece katkıda bulunabilirsiniz. Birlikte daha zengin içerikler oluşturabilir ve öğrencilerimize daha etkili bir öğrenme deneyimi sunabiliriz!

Emrah

1981 Samsun doğumlu ve Gazi Üniversitesi, Bilgisayar ve Öğretim Teknolojileri Eğitimi mezunu. Bilişim Teknolojileri Öğretmeni, Yazar, WebMaster, Blogger, SEO eğitmeni. Araştırmacı, sinema sever, fitness yapar, farklı doğal güzellikleri keşfetmeye bayılır.

Yorum Yap