ALGORİTMA Algoritma, herhangi bir sorunun çözümü için izlenecek
Transkript
ALGORİTMA Algoritma, herhangi bir sorunun çözümü için izlenecek
ALGORİTMA Algoritma, herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Çözüm için yapılması gereken işlemler hiçbir alternatif yoruma izin vermeksizin sözel olarak ifade edilir. Diğer bir deyişle algoritma verilerin bilgisayara hangi çevre biriminden girileceğinin, problemin nasıl çözüleceğinin, hangi basamaklardan geçirilerek sonuç alınacağının, sonucun nasıl ve nereye yazılacağının sözel olarak ifade edilmesi biçiminde tanımlanabilir. Algoritma hazırlanırken, çözüm için yapılması gerekli işlemler, öncelik sıraları göz önünde bulundurularak ayrıntılı bir biçimde tanımlanmalıdırlar. Aşağıda algoritma hazırlanmasına ilişkin örnekler yer almaktadır. ÖRNEK 1:Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır. Adım 1-Başla Adım 2-Birinci sayıyı oku Adım 3-İkinci sayıyı oku Adım 4-İki sayıyı topla Adım 5-Toplam sonucunu ekrana yaz Adım 6-Dur Algoritmaya dikkat edilirse işlemlerin sıralanmasında, işlem önceliklerinin göz önünde bulundurulduğu görülür. Ayrıca algoritma yazımı sorun çözümünün başladığını gösteren "BAŞLA" ifadesi ile başlamakta ve işlemlerin bittiğini belirten "DUR" ifadesi ile sona ermektedir. ÖRNEK 2:Aşağıda verilen algoritmanın ne iş yaptığını belirtiniz? Adım 1- BAŞLA Adım 2- Sayi1=15 Adım 3- Sayi2=30 Adım 4- Yaz Sayi1, Sayi2 Adım 5- Gecici=Sayi1 Adım 6- Sayi1=Sayi2 Adım 7- Sayi2=Gecici Adım 8- Yaz Sayi1, Sayi2 Adım 9- DUR ÖRNEK 3: Kullanıcı tarafından girilen mil değerinin metreye dönüştürülerek akrana yazılmasını sağlayan algoritmayı yazınız? Adım 1- Başla Adım 2- Mil değerini oku Adım 3- Mil değerini 1609 ile çarp Adım 4- Çarpım sonucunu ekrana yaz Adım 5- Dur ÖRNEK 4: Yarıçap değeri kullanıcı tarafından girilen bir dairenin alanını ve çevresini bularak ekrana gösteren algoritmayı yazınız? Adım 1- Başla Adım 2- Yarıçap değerini gir Adım 3- Dairenin alanını hesapla Alan=pi*yaricap*yaricap Adım 4- Dairenin çevresini hesapla Çevre=2*pi*yaricap Adım 5- Alan sonucunu ekrana yaz Adım 6- Çevre sonucunu ekrana yaz Adım 7- Dur Örnek 5: Bir ücretlinin sicil numarası, çalışma saati ve saat ücreti bilgisayara giriş olarak veriliyor. Ücretlinin bu bilgilerle maaşını hesaplayan algoritmayı yazınız. Adım 1- Başla Adım 2- Sicil numarası, çalışma saati ve saat ücreti değerlerini gir Adım 3- Maaş = Çalışma saati x Saat ücreti Adım 4- Sicil numarası ve Maaş değerlerini ekrana yaz Adım 5- Dur Örnek 6: Örnek 5’ deki işçiden %14 SSK, %15 gelir vergisi kesildiğini hesaba katarak net maaşı, sicil numarasını, SSK primini ve vergi miktarını ekrana yazdıran algoritmayı yazınız? (Prim ve vergi maaş üzerinden hesaplanır. Net maaş maaş-(prim+vergi) şeklinde hesaplanır) Adım 1- Başla Adım 2- Sicil numarası, çalışma saati ve saat ücreti değerlerini gir Adım 3- Maaş = Çalışma saati x Saat ücreti Adım 4- Prim = Maaş x 0.14 Adım 5- Vergi = Maaş x 0.15 Adım 6- Net Maaş = Maaş-(Prim+Vergi) Adım 7- Sicil numarası, Net Maaş, Vergi ve Prim değerlerini ekrana yaz Adım 8- Dur AKIŞ ŞEMALARI Akış diyagramı (flow chart), bir algoritmanın adımlarının mantıksal sırasını, adımların birbiri ile bağlantısını, bir işlemden diğerine nasıl gidileceğini belirten kontrol mekanizmalarını, özel bazı şekil ve sembollerle anlatan bir ifade biçimidir. Aşağıda bu semboller görülmektedir: Programın başlangıç ve bitişi için kullanılır. Bilgi giriş çıkışı için kullanılır. Aktarma, aritmetik hesaplama, işlem Karar alma için kullanılır. Döngü Birleştirme çizgileri Yazdır Bağlantı ALGORİTMALARI YUKARIDA VERİLEN PROBLEMLERİN AKIŞ ŞEMALARI AŞAĞIDA YER ALMAKTADIR. Örnek 1: Örnek 2: Örnek 3: Örnek 4: Örnek 5: Örnek 6: ÖDEV SORULARI Soru 1: Bir müşteri Millet bankasına para yatırmak istemektedir. Bankanın faiz oranı 1.25’ tir. Buna göre Günlük faiz getirisini, aylık faiz getirisini ve yıllık faiz getirisini hesaplayan ve ekrana gösteren algoritmayı yazınız? Akış şemasını çiziniz ve C programını yazınız? NOT: Faiz oranıyla anaparanızın belirttiğiniz gün sayısı süresince faiz getirisi aşağıdaki formülle hesaplanır. Günlük Faiz Getirisi = (Ana Para / 100) X (Faiz Oranı / 365) X Gün Sayısı Aylık Faiz Getirisi = (Ana Para / 100) X (Faiz Oranı / 12) X Ay Sayısı Yıllık Faiz Getirisi = (Ana Para / 100) X (Faiz Oranı) X Yıl Sayısı Soru 2: Vadesi 1 yıldan kısa olan, çıkaran kurum tarafından öngörülen vade sonunda belli bir bedelin ödenmesinin taahhüt edildiği menkul kıymetlere Bono adı verilmektedir. Hazine Müsteşarlığı tarafından çıkarılan bir yıldan kısa vadeli ihraçlar, Hazine Bonosu adı altında işlem görmektedir. Buna göre bir müşteri anaparasını bonoya yatırmak istemektedir. Bu müşterinin belirlenen gün ve basit faiz oranı ile elde edeceği bono getirisini hesaplamaya yarayan algoritmayı yazınız? Akış şemasını çiziniz ve C programını yazınız? NOT: Bono Getirisi = (Ana Para / 100) X (Basit Faiz / 365) X Gün Sayısı Örnek hesaplama: Vadeye Kalan Gün sayısı: 287 gün Ana Para: 5000 Basit Faiz: 15.50% Bono Getirisi = (5000 / 100) X (15.5 / 365) X 287 = 609.38 Soru 3: Devletin 1 yıl, anonim ortaklıkların en az 2 yıl ve daha uzun vadeyle, ödünç para bulmak amacıyla, itibari kıymetleri eşit ve ibareleri aynı olmak üzere çıkardıkları borç senetlerine Tahvil adı verilmektedir. Buna göre bir müşteri anaparasını ile tahvil almak istemektedir. Bu müşterinin belirlenen gün ve basit faiz oranı ile elde edeceği tahvil getirisini hesaplamaya yarayan algoritmayı yazınız? Akış şemasını çiziniz ve C programını yazınız? NOT: Tahvil Getirisi = (Ana Para / 100) X (Basit Faiz / 365) X Gün Sayısı Örnek hesaplama: Vadeye Kalan Gün sayısı: 652 gün Ana Para: 5000 Basit Faiz: 15.50% Tahvil Getirisi = (5000 / 100) X (15.5 / 365) X 652 = 1384.38