Algoritmik doğal dil, bilgisayar bilimleri ve matematik alanlarında kullanılan, günlük konuşma diline yakın bir şekilde algoritmaları ifade etmeye yarayan bir yöntemdir. Bu dil, karmaşık matematiksel ifadeler yerine daha anlaşılır ve sade bir anlatım sunar.
Matematiksel ifade: \( sonuç = a + b \)
Algoritmik doğal dil ile:
Soru 1: Bir algoritmik doğal dilde "Eğer hava yağmurlu ise şemsiye al, değilse şapka al" komutunu aşağıdaki seçeneklerden hangisi doğru şekilde ifade eder?
a) if (hava == "yağmurlu") {şemsiye al;} else {şapka al;}
b) while (hava = "yağmurlu") {şemsiye al;} else {şapka al;}
c) for (hava = yağmurlu) {şemsiye al;} else {şapka al;}
d) switch (hava) {case "yağmurlu": şapka al; default: şemsiye al;}
e) if (hava != "yağmurlu") {şapka al;} else {şemsiye al;}
Cevap: a) if (hava == "yağmurlu") {şemsiye al;} else {şapka al;}
Çözüm: Algoritmik dilde koşul ifadesi "if-else" yapısıyla oluşturulur. "==" operatörü eşitlik kontrolü için kullanılır.
Soru 2: "1'den 10'a kadar olan sayıların toplamını hesapla" işlemini gerçekleştiren algoritmik doğal dil ifadesi hangisidir?
a) toplam = 0; for (i=1; i<=10; i++) {toplam += i;}
b) toplam = 1; while (i<10) {toplam = toplam + i; i++;}
c) toplam = 10; for (i=10; i>0; i--) {toplam = toplam - i;}
d) toplam = 0; if (i<=10) {toplam = toplam + i; i++;}
e) toplam = 1; repeat (i=1 to 10) {toplam = toplam * i;}
Cevap: a) toplam = 0; for (i=1; i<=10; i++) {toplam += i;}
Çözüm: Döngü başlangıç değeri 1, bitiş 10 olmalı ve her adımda artış yapılmalıdır. Toplam değişkeni başta sıfırlanır.
Soru 3: Algoritmik doğal dilde "Bir sayının çift mi tek mi olduğunu kontrol et" komutunun doğru yazımı hangisidir?
a) if (sayı % 2 == 1) {yaz "Tek";} else {yaz "Çift";}
b) if (sayı / 2 == 0) {yaz "Çift";} else {yaz "Tek";}
c) case (sayı) {2: yaz "Çift"; default: yaz "Tek";}
d) while (sayı > 0) {if (sayı mod 2 == 0) yaz "Çift"; else yaz "Tek";}
e) for (i=0; i<=sayı; i++) {if (i == sayı/2) yaz "Çift"; else yaz "Tek";}
Cevap: a) if (sayı % 2 == 1) {yaz "Tek";} else {yaz "Çift";}
Çözüm: Mod alma (%) operatörü ile sayının 2'ye bölümünden kalan kontrol edilir. Kalan 1 ise tek, 0 ise çift sayıdır.