avatar
✔️ Cevaplandı • Doğrulandı

10. Sınıf Algoritma Nedir ve Nasıl Oluşturulur?

Algoritma oluşturmak için adımları sıralarken zorlanıyorum. Bir problemi çözmek için nereden başlamam gerektiğini ve hangi adımları takip etmem gerektiğini tam olarak kavrayamadım. Örnekler üzerinden görmek benim için daha faydalı olur.
2 CEVAPLARI GÖR
✔️ Doğrulandı
0 kişi beğendi.
avatar
emirtrbl
538 puan • 0 soru • 33 cevap

Algoritma Nedir?

Algoritma, bir sorunu çözmek veya bir görevi yerine getirmek için izlenen adım adım yöntemler bütünüdür. Günlük hayatta farkında olmadan birçok algoritma kullanırız. Örneğin, çay demlemek veya bir yemek tarifi uygulamak birer algoritmadır. Bilgisayar biliminde ise algoritmalar, bir bilgisayar programının temelini oluşturur.

Algoritmanın Temel Özellikleri

  • Girdi (Input): Sıfır veya daha fazla değer alabilir.
  • Çıktı (Output): En az bir değer üretmelidir.
  • Açıklık: Her adım net ve anlaşılır olmalıdır.
  • Sonluluk: Algoritma sonsuz döngüye girmemeli, belirli bir adımdan sonra durmalıdır.
  • Etkinlik: Her adım, bilgisayar tarafından gerçekleştirilebilir (yürütülebilir) olmalıdır.

Algoritma Nasıl Oluşturulur?

Algoritma oluşturmak, bir problemi parçalara ayırarak çözmektir. İşte bu sürecin adımları:

1. Problemi Anlama

Çözmek istediğiniz problemi çok iyi anlamanız gerekir. Problemin ne istediğini, girdilerin ve çıktıların neler olacağını tam olarak belirleyin.

Örnek: "Kullanıcının girdiği iki sayının toplamını bulan bir program" yazmak istiyorsak:

  • Girdi: İki sayı (örneğin, 5 ve 3)
  • Çıktı: Bu iki sayının toplamı (örneğin, 8)

2. Algoritmayı Tasarlama (Planlama)

Problemi çözmek için izleyeceğiniz mantıksal adımları sıralayın. Bu adımları akış şeması (flowchart) veya sözde kod (pseudocode) ile ifade edebilirsiniz.

Sözde Kod (Pseudocode) Örneği:

  • BAŞLA
  • Birinci sayıyı oku (a)
  • İkinci sayıyı oku (b)
  • toplam = a + b
  • toplam değerini ekrana yazdır
  • BİTİR

3. Algoritmayı Test Etme

Oluşturduğunuz adımları, farklı senaryolar için kağıt üzerinde deneyin. Örneğin, yukarıdaki algoritmayı a=5, b=3 için deneyip sonucun 8 çıkıp çıkmadığını kontrol edin. Bu adım, olası hataları önceden bulmanızı sağlar.

4. Programlama Diline Dönüştürme

Doğru çalıştığından emin olduğunuz algoritmayı, bir programlama dili (Python, Java, C++ gibi) kullanarak yazılım haline getirirsiniz.

Basit Bir Örnek: İki Sayının Toplamı

Problemi Anlama: Kullanıcıdan iki sayı al ve toplamlarını ekrana yazdır.

Algoritma (Sözde Kod):

  • BAŞLA
  • sayi1'i oku
  • sayi2'yi oku
  • sonuc = sayi1 + sayi2
  • "Sonuç: " + sonuc yazdır
  • BİTİR

Python Koduna Dönüşümü:

sayi1 = int(input

✔️ Doğrulandı
0 kişi beğendi.
avatar
sibel.koc
640 puan • 0 soru • 36 cevap

10. Sınıf Algoritma Çözümlü Test Soruları

Soru 1: Bir kütüphane otomasyonu için kitap arama algoritması tasarlanacaktır. Kullanıcı, kitabın adını girdiğinde sistem, önce "Son Eklenenler" listesini, ardından "Yazar Kataloğu"nu ve en son "Genel Depo"yu tarayacaktır. Kitap bulunduğu anda arama işlemi sonlanacak ve kitabın raf bilgisi kullanıcıya gösterilecektir. Bu durum için en uygun akış şeması sembolü ve açıklaması aşağıdakilerden hangisidir?
a) Veri Girişi - Kullanıcıdan kitap adının alınması
b) Karar - Kitabın bulunup bulunmadığının kontrol edilmesi
c) Başla/Bitir - Algoritmanın başlangıç ve bitiş noktaları
d) İşlem - Kitabın raf bilgisinin ekrana yazdırılması
e) Döngü - Listelerin sırayla taranması işlemi
Cevap: b) Karar - Kitabın bulunup bulunmadığının kontrol edilmesi
Çözüm: Algoritmanın kritik noktası, her bir tarama adımından sonra "Kitap bulundu mu?" sorusunu sormak ve cevaba göre ya sonuç göstermek ya da bir sonraki aşamaya geçmektir. Bu mantıksal sorgulama, bir karar (diamond/elmas) sembolü ile temsil edilir.

Soru 2: Bir öğrenci, klavyeden girilen iki sayının birbirine tam bölünüp bölünemediğini kontrol eden bir algoritma yazmak istiyor. Algoritma, bölüm sonucunu ekrana yazdıracak ve eğer tam bölünmüyorsa kalanı da gösterecek. Aşağıdaki adımlardan hangisi bu algoritmanın temel yapı taşlarını doğru sıralamıştır?
I. Kalanı Hesapla (Sayı1 mod Sayı2)
II. Sayı1 ve Sayı2'yi Oku
III. Kalan 0 ise "Tam Bölünür" yaz, değilse "Kalan: [kalan]" yaz
IV. Bölümü Hesapla (Sayı1 / Sayı2)
a) II - I - IV - III
b) II - IV - I - III
c) I - II - III - IV
d) IV - II - I - III
e) II - III - I - IV
Cevap: b) II - IV - I - III
Çözüm: Algoritmalarda öncelikle girdiler alınır (II). Ardından, sonucu etkilemeyecek olsa dahi bölüm hesaplanabilir (IV). Ancak karar vermek için kalanın hesaplanması (I) şarttır. En son ise karara bağlı olarak çıktı verilir (III). Sıra, girdi-işlem-çıktı mantığına uygundur.

Soru 3: Bir gişedeki işlem süresini azaltmak için müşterilerin numara alarak sıraya girdiği bir sistem düşünün. Gelen müşteriye sıradaki en küçük bir sonraki numara verilir ve gişedeki memur her "Sıradaki!" dediğinde en küçük numaralı müşteri işlemini yaptırmaya gider. Bu sistem aşağıdaki veri yapılarından hangisini örneklemektedir ve bu yapının temel çalışma prensibi nedir?
a) Yığın (Stack) - Son Giren İlk Çıkar (LIFO)
b) Kuyruk (Queue) - İlk Giren İlk Çıkar (FIFO)
c) Bağlı Liste (Linked List) - Rastgele Erişim
d) Ağaç (Tree) - Hiyerarşik Erişim
e) Grafik (Graph) - Çok yönlü ilişki
Cevap: b) Kuyruk (Queue) - İlk Giren İlk Çıkar (FIFO)
Çözüm: Bu senaryoda, işleme alınacak

Yorumlar