Algoritmik Doğal Dil Nedir?
Algoritmik doğal dil, bir algoritmayı ifade etmek için günlük hayatta konuştuğumuz dili (Türkçe, İngilizce vb.) kullanma yöntemidir. Yani, bir problemi çözmek için izlenecek adımları, teknik ve karmaşık bir programlama dili yerine, anlaşılır ve sade bir dille yazmaktır. Bu, algoritma tasarlamanin ilk ve en önemli aşamasıdır.
Algoritmik Doğal Dilin Özellikleri
- Sadelik: Anlaşılır ve net ifadeler kullanılır.
- Adımsallık: İşlemler, sırayla ve numaralandırılarak yazılır.
- Belirsizlikten Kaçınma: "Şunu yap", "Biraz bekle" gibi ifadeler yerine "Ekrana 'Merhaba' yaz", "5 saniye bekle" gibi kesin ifadeler kullanılır.
- Programlama Dili İçermez: Herhangi bir programlama diline ait özel komutlar (printf, echo, cout) kullanılmaz.
Örnek Algoritma: Çay Demleme
- Su dolu çaydanlığı ocağa koy.
- Ocağı yak.
- Su kaynayana kadar bekle.
- Demliğe çayı koy.
- Kaynamış suyu demliğin üzerine dök.
- Demlik çaydanlığın üzerine kapat ve 15 dakika bekle.
- Bardaklara çayı koy ve servis et.
Örnek Sorular ve Çözümleri
Soru 1:
Klavyeden girilen iki sayının toplamını bulup ekrana yazdıran algoritmayı algoritmik doğal dille yazınız.
Çözüm:
- Başla.
- Kullanıcıdan birinci sayıyı (A) al.
- Kullanıcıdan ikinci sayıyı (B) al.
- Toplam = A + B işlemini yap.
- Toplam değerini ekrana yazdır.
- Bitir.
Soru 2:
Klavyeden girilen bir sayının tek mi çift mi olduğunu bulup ekrana yazdıran algoritmayı yazınız.
Çözüm:
- Başla.
- Kullanıcıdan bir sayı (N) al.
- Eğer N sayısının 2'ye bölümünden kalan 0 ise, "Çift" yazdır.
- Değilse, "Tek" yazdır.
- Bitir.
Soru 3:
Klavyeden girilen iki sayıdan büyük olanını bulup ekrana yazdıran algoritmayı yazınız.
Çözüm:
- Başla.
- Kullanıcıdan birinci sayıyı (X) al.
- Kullanıcıdan ikinci sayıyı (Y) al.
- Eğer X > Y ise, ekrana "Büyük olan sayı: X" yaz.
- Değilse, eğer Y > X ise, ekrana "Büyük olan sayı: Y" yaz.
- Değilse, ekrana "Sayılar birbirine eşit" yaz.
- Bitir.
Soru 4:
1'den 10'a kadar olan sayıların toplamını bulup ekrana yazdıran algoritmayı yazınız.
Çözüm:
- Başla.
- Toplam değişkenine 0 değerini ver.
- Sayac deği