Bu yazıda, basit seviye, orta seviye ve zor seviye algoritma ve akış şeması örnekleri derlenmiştir. Algoritma örnekleri ve akış diyagramları ile ilgili diğer örneklere de site içerisinden ulaşabilirsiniz.
Etiketler: Algoritma soru ve Cevapları, Akış şeması Soru ve Cevapları, Akış Şeması Örnekleri, Programlama Temelleri, Bilişim Teknolojileri
ALGORİTMA ÖRNEKLERİ VE CEVAPLARI
Algoritma Örnekleri 1 : Girilen iki sayının ortalamasını hesaplayan algoritma ve akış şeması
Algoritması
A1 Başla
A2 Birinci sayıyı gir (a)
A3 İkinci sayıyı gir (b)
A4 İki sayıyı toplayıp sonucu toplam değişkenine ata (toplam = a + b)
A5 Toplam değişkenini 2’ye böl ve sonucu ortalama değişkenine ata (ortalama = toplam / 2)
A6 Ortalama değişkenini ekrana yaz
A7 Dur
Akış Şeması
Algoritma Örnekleri 2 : Girilen bir sayının pozitif mi negatif mi olduğunu ekrana yazdıran algoritma ve akış şeması
Algoritması
A1 Başla
A2 Sayıyı gir (sayı)
A3 Eğer sayı = 0 ise Adım 2’ye geri dön
A4 Eğer sayı < 0 ise ekrana, “girilen sayı negatiftir” yaz ve Adım 6’ya git
A5 Eğer sayı > 0 ise ekrana, “girilen sayı pozitiftir” yaz
A6 Dur
Akış Şeması
Algoritma Örnekleri 3 : Bir kenar uzunluğu ve o kenara ait yüksekliği girilen üçgenin alanını hesaplayan algoritma ve akış şeması
Algoritması
A1 Başla
A2 Kenar uzunluğunu (ku) gir
A3 Yüksekliği (y) gir
A4 Kenar uzunluğu ile yüksekliği çarpıp 2’ye böl ve sonucu alan (a) değişkenine ata (a=ku*y/2)
A5 Alan değişkenini ekrana yaz
A6 Dur
Akış Şeması
Algoritma Örnekleri 4 : Girilen iki sayıdan hangisinin daha küçük olduğunu ekrana yazdıran algoritma ve akış şeması
Algoritması
A1 Başla
A2 Birinci sayıyı gir (a)
A3 İkinci sayıyı gir (b)
A4 Eğer a < b ise ekrana “Birinci sayı daha küçüktür” yaz
A5 Eğer a < b değil ise ekrana “İkinci sayı daha küçüktür” yaz
A6 Dur
Akış Şeması
Algoritma Örnekleri 5 : Bir öğrencinin almış olduğu vize notu ile final notunun ortalamasını hesaplayan algoritma ve akış şeması (Vize notunun %30’unu final notunun %70’ini alarak hesaplama yapınız)
Algoritması
A1 Başla
A2 Vize notunu gir (vize)
A3 Final notunu gir (final)
A4 Vize notunun %30’unu, final notunun %70’ini al ve ikisini toplayıp sonucu ortalama değişkenine ata (ort = 0.3*vize + 0.7*final)
A5 Ortalama değişkenini ekrana yaz
A6 Dur
Akış Şeması
Algoritma Örnekleri 6 : Yarıçapı girilen dairenin çevresini ve alanını hesaplayan algoritma ve akış şeması (pi sayısını 3.14 olarak alınız)
Algoritması
A1 Başla
A2 Dairenin yarıçapını gir (r)
A3 Pi sayısını 3.14 olarak al
A4 Pi sayısı ile yarıçapı çarpıp iki katını al ve çevre değişkenine ata (cevre = 2*pi*r)
A5 Pi sayısı ile yarıçapın karesini çarp ve alan değişkenine ata (alan = pi*r*r)
A6 Çevre ve alan değişkenlerini ekrana yaz
A7 Dur
Akış Şeması
Algoritma Örnekleri 7 : 1 ile 1000 arasındaki sayıları ekrana yazdıran algoritma ve akış şeması
Algoritması
A1 Başla
A2 sayi değişkenine 0 (sıfır) değerini ata
A3 Eğer sayi değişkeni 999’dan büyük ise adım 6’ya git
A4 sayi değişkenine 1 ekle ve sonucu tekrar sayi değişkenine ata (sayi = sayi+1)
A5 sayi değişkenini ekrana yaz ve adım 3’e geri dön
A6 Dur
Akış Şeması
Algoritma Örnekleri 8 : Girilen pozitif bir tamsayının faktöriyelini hesaplayan algoritma ve akış şeması
Algoritması
A1 Başla
A2 N sayısını gir
A3 Faktoriyel değişkenine 1 (sıfır) ata
A4 Sayac değişkenine 0 (sıfır) ata
A5 Eğer sayac > n-1 ise adım 8’e git
A6 Sayac değerini 1 arttır (sayac = sayac + 1)
A7 Faktoriyel değişkeni ile sayac değişkenini çarparak sonucu faktoriyel değişkenine ata ve adım 5’e dön (faktoriyel = faktoriyel * sayac)
A8 Faktoriyel değişkenini yaz
A9 Dur
Akış Şeması
Algoritma Örnekleri 9 : 1’den N’e kadar olan tamsayıların toplamını hesaplayan algoritma ve akış şeması
Algoritması
A1 Başla
A2 N sayısını gir
A3 Toplam değişkenine 0 (sıfır) ata
A4 Sayac değişkenine 0 (sıfır) ata
A5 Eğer sayac > n-1 ise adım 8’e git
A6 Sayac değerini 1 arttır (sayac = sayac + 1)
A7 Toplam değişkeni ile sayac değişkenini toplayarak sonucu toplam değişkenine ata ve adım 5’e dön (toplam = toplam + sayac)
A8 Toplam değişkenini yaz
A9 Dur
Akış Şeması
Algoritma Örnekleri 10 : Derece cinsinden girilen bir açıyı, Radyan ve Grad cinsine çeviren algoritma ve akış şeması
Algoritması
A1 Başla
A2 Derece cinsinden açıyı gir (d)
A3 Girilen açıyı pi sayısı ile çarp, 180’e böl ve Radyan değişkenine ata (r=d*pi/180)
A4 Girilen açıyı pi sayısı ile çarp, 200’e böl ve Grad değişkenine ata (g=d*pi/200)
A5 Radyan ve Grad değişkenlerini ekrana yaz
A6 Dur
Akış Şeması
Algoritma Örnekleri 11 : Girilen bir sayının tek mi çift mi olduğunu hesaplayan ve sonucu ekrana yazdıran algoritma ve akış şeması
Algoritması
A1 Başla
A2 N sayısını gir
A3 N sayısının 2’ye göre modunu al ve mod değişkenine ata (mod = n%2)
A4 Eğer mod değişkeni 0’a (sıfıra) eşitse, ekrana “N çift sayıdır” yaz ve Adım 6’ya git
A5 Eğer mod değişkeni 0’a (sıfıra) eşit değilse, ekrana “N tek sayıdır” yaz
A6 Dur
Akış Şeması
Algoritma Örnekleri 12 : Girilen bir sayının mutlak değerini hesaplayan ve sonucu ekrana yazdıran algoritma ve akış şeması
Algoritması
A1 Başla
A2 N sayısını gir
A3 Eğer N sayısı 0’dan küçük ise N sayısını (-1) ile çarp, sonucu ekrana yazdır ve Adım 5’e git
A4 Eğer N sayısı 0’dan küçük değil ise N sayısını ekrana yazdır
A5 Dur
Akış Şeması
Algoritma Örnekleri 13 : Girilen bir x sayısının yine girilen bir y sayısına tam bölünüp bölünmediğini ekrana yazdıran algoritma ve akış şeması
Algoritması
A1 Başla
A2 X ve Y sayılarını gir
A3 Eğer X’in Y’ye göre modu 0’a (sıfıra) eşitse, ekrana “X sayısı Y sayısına tam bölünüyor” yaz ve Adım 5’ya git
A4 Eğer X’in Y’ye göre modu 0’a (sıfıra) eşit değilse, ekrana “X sayısı Y sayısına tam bölünmüyor” yaz
A5 Dur
Akış Şeması
Algoritma Örnekleri 14 : 1’den N’e kadar olan tek tamsayıların toplamını hesaplayan algoritma ve akış şeması
Algoritması
A1 Başla
A2 N sayısını gir
A3 sayac = 1
A4 toplam = 0
A5 Eğer sayac değişkeni N sayısından küçük değilse, toplam değişkenini ekrana yazdır ve Adım 10‘a git.
A6 Eğer sayac değişkeni N sayısından küçük ise, sayac değişkeninin 2’ye göre modunu al ve mod değişkenine ata (mod = sayac%2)
A7 mod değişkeni 0’a (sıfıra) eşitse Adım 9‘a git
A8 toplam = toplam + sayac işlemini yap
A9 sayac = sayac + 1 işlemini yap ve Adım 5’e geri dön
A10 Dur
Akış Şeması
Algoritma Örnekleri 15 : 1’den N’e kadar olan çift tamsayıların toplamını hesaplayan algoritma ve akış şeması
Algoritması
A1 Başla
A2 N sayısını gir
A3 sayac = 1
A4 toplam = 0
A5 Eğer sayac değişkeni N sayısından küçük değilse, toplam değişkenini ekrana yazdır ve Adım 10‘a git.
A6 Eğer sayac değişkeni N sayısından küçük ise, sayac değişkeninin 2’ye göre modunu al ve mod değişkenine ata (mod = sayac%2)
A7 mod değişkeni 0’a (sıfıra) eşit değilse Adım 9‘a git
A8 toplam = toplam + sayac işlemini yap
A9 sayac = sayac + 1 işlemini yap ve Adım 5’e geri dön
A10 Dur
Akış Şeması
Algoritma Örnekleri 16 : Kısa kenarı ve uzun kenarı girilen dikdörtgenin çevresini hesaplayan algoritma ve akış şeması
Algoritması
A1 Başla
A2 Kısa kenarı gir
A3 Uzun kenarı gir
A4 Kısa kenar ile uzun kenarı topla. Toplam sonucunu 2 ile çarpıp sonucu cevre değişkenine ata
A5 cevre değişkenini ekrana yaz
A6 Dur
Akış Şeması
Algoritma Örnekleri 17 : Kısa kenarı ve uzun kenarı girilen dikdörtgenin alanını hesaplayan algoritma ve akış şeması
Algoritması
A1 Başla
A2 Kısa kenarı gir
A3 Uzun kenarı gir
A4 Kısa kenar ile uzun kenarı çarp ve alan değişkenine ata
A5 alan değişkenini ekrana yaz
A6 Dur
Akış Şeması
Algoritma Örnekleri 18 : Girilen bir fiyatın KDV (%18) eklendikten sonraki KDV’li fiyatını ekrana yazdıran algoritma ve akış şeması
Algoritması
A1 Başla
A2 Fiyatı gir
A3 Fiyatı, 1.18 ile çarpıp sonucu kdvFiyat değişkenine ata.
A4 kdvFiyat değişkenini ekrana yaz
A5 Dur
Akış Şeması
Algoritma Örnekleri 19 : İki dik kenarı girilen dik üçgenin hipotenüsünü hesaplayan algoritma ve akış şeması (Pisagor Teoremi)
Algoritması
A1 Başla
A2 Birinci dik kenarı gir
A3 İkinci dik kenarı gir
A4 hipotenus = (birinciDK^2 + ikinciDK^2)^(1/2)
A5 hipotenus değişkenini ekrana yaz
A6 Dur
Akış Şeması
Algoritma Örnekleri 20 : Yarıçapı girilen kürenin alanını hesaplayan algoritma ve akış şeması
Algoritması
A1 Başla
A2 Yarıçapı gir
A3 alan = 4*piSayisi*yariCap^2
A4 alan değişkenini ekrana yaz
A5 Dur
Akış Şeması
Algoritma Örnekleri 21 : Yarıçapı girilen kürenin hacmini hesaplayan algoritma ve akış şeması
Algoritması
A1 Başla
A2 Yarıçapı gir
A3 hacim = (4*piSayisi*yariCap^3)/3
A4 hacim değişkenini ekrana yaz
A5 Dur
Akış Şeması
Algoritma Örnekleri 22 : Girilen pozitif bir tamsayının tam bölenlerini bulup ekrana yazdıran algoritmanın akış şeması
Akış Şeması
Algoritma Örnekleri 23 : Katsayı değerleri girilen birinci dereceden denklemin kökünü hesaplayan algoritma ve akış şeması (ax + b = c)
Algoritması
A1 Başla
A2 Birinci katsayıyı gir (a)
A3 Eğer a = 0 ise Adım 2’ye geri dön
A4 İkinci katsayıyı gir (b)
A5 Üçüncü katsayıyı gir (c)
A6 kok = (c-b) / a
A7 kok değişkenini ekrana yaz
A8 Dur
Akış Şeması
Algoritma Örnekleri 24 : A≠0 olmak üzere katsayıları girilen ikinci dereceden (ax² + bx + c = 0) denklemin köklerini hesaplayan algoritmanın akış şeması
Not : İkinci dereceden denklemin köklerini hesaplamak için öncelikle diskriminant hesaplaması yapmamız gerekiyor. Daha sonra diskriminantın durumuna göre kökler hesaplanır. (Diskriminant = b² – 4ac)
Akış Şeması
Algoritma Örnekleri 25 : Girilen kilo ve boy bilgilerine göre Beden kitle/kütle indeksini hesaplayan aynı zamanda bu sonuca göre kişinin ideal kilo durumunu ekrana yazdıran akış şeması
Not 1 : Beden kitle/kütle indeksi = Kilo / Boy * Boy
Not 2 : Kilo => kg, Boy => m
Not 3 :
- Beden kitle/kütle indeksi < 18,5 ise Zayıf
- 18,5 < Beden kitle/kütle indeksi < 24,9 ise Normal
- 25 < Beden kitle/kütle indeksi < 29,9 ise Fazla kilolu
- 30 < Beden kitle/kütle indeksi < 34,9 ise I. derece obez
- 35 < Beden kitle/kütle indeksi < 39,9 ise II. derece obez
- Beden kitle/kütle indeksi > 40 ise III. derece obez
Akış Şeması
güzel ve detaylı örnekler.
14. Soruda sayac
Fonksiyonlu matrisli örnekler olsa daha iyi olurdu biraz basit gibi bunlar.
a) Aşağıda sözde kodu verilen algoritmanın çalışma süresini gösteren iteratif denklem nedir?
b) Master teoremi kullanılarak asimptotik gösterimde bu tekrarlanan denklem nedir?
c) Özyineleme ağacı yöntemi kullanılarak asimptotik gösterimde aynı yinelenen denklem nedir?
for i=1 ton
do
j = 1;
while (j < n)
do
j = j * 2;