BİLGİSAYAR PROGRAMLAMA DERSİ 2. DERS NOTU Konu: Algoritma ve Akış Şeması Uygulamaları
A5: toplam=toplam+sayac A6: Eğer sayac 100’e eşit değilse Adım 4’e git Ödev-1’in Çözümü: 1’den 100’e kadar olan sayıların (100 dahil) toplamını ve ortalamasını bulan algoritmayı geliştirmiş bulunmaktayız. Geliştirmiş olduğumuz bu algoritmanın akış şemasını çiziniz. Başla Adım 1 sayac=0 Adım 2 Algoritma: A1: Başla A2: sayac=0 A3: toplam=0 A4: sayac=sayac+1 A5: toplam=toplam+sayac A6: Eğer sayac 100’e eşit değilse Adım 4’e git A7: ortalama=toplam/sayac A8: Yaz toplam, ortalama A9: Bitir toplam=0 Adım 2 sayac=sayac+1 Adım 4 toplam=toplam+sayac Adım 5 𝑠𝑎𝑦𝑎𝑐=100 Hayır Adım 6 Evet ortalama=toplam/sayac Adım 7 Adım 8 Ekrana ‘toplam’ ve ‘ortalama’ değerlerini yazdır Bitir Adım 9
Ekrana ‘enBuyuk’ değerlerini yazdır Uygulama: Dışarıdan girilen 3 sayıdan en büyüğünü bulan programın algoritmasını ve akış diyagramını çiziniz. Başla sayi1, sayi2, sayi3 sayılarını kullanıcıdan al Algoritma: enBuyuk=sayi1 A1 : Başla A2 : sayi1, sayi2 ve sayi3 sayılarını dışarıdan gir A3 : enBuyuk=sayi1 A4 : Eğer sayi2>enBuyuk ise enBuyuk=sayi2 yap A5 : Eğer sayi3>enBuyuk ise enBuyuk=sayi3 yap A6 : enBuyuk değerini ekrana yaz A7 : Bitir sayi2>enBuyuk Evet enBuyuk=sayi2 Hayır sayi3>enBuyuk Evet enBuyuk=sayi3 Hayır Ekrana ‘enBuyuk’ değerlerini yazdır Bitir
Matematiksel olarak problemin çözümü: Uygulama: Dışarıdan girilen bir sayının faktöriyelini hesaplayan programın algoritmasını geliştiriniz. Matematiksel olarak problemin çözümü: 𝑛!= 𝑘=1 𝑛 𝑘 Örneğin n=5 ise 5!= 𝑘=1 5 𝑘 =1∗2∗3∗4∗5=120 Bu problemin çözümü için aşağıdaki mantıksal yaklaşımı kullanalım. Yukarıdaki örnekte gösterildiği gibi; faktöriyel işlemi bir serinin elemanlarının çarpımı yöntemiyle gerçekleştirilmektedir (𝑛!= 𝑘=1 𝑛 𝑘 ). k değişkeni faktöriyeli hesaplanacak olan n sayısına ulaşana kadar kendisini bir artırmakta (sayaç) ve her artım işleminin ardından bir önceki değeriyle çarpılmaktadır. Dolasıyla faktöriyeli hesaplanacak olan sayıya n değişkeni adı verelim. Sayaç kullanmamız gerektiğinden bir sayac değişkeni tanımlayalım ve değeri ise başlangıçta 1 olsun. Son olarak hesaplama sonucunda ortaya çıkacak değişkene ise sonuc değişkeni adı verelim ve başlangıçta değeri 1 olsun. sayac=1 ve sonuc=1
Faktöriyeli Hesaplanacak Sayı: n Girilen Sayının Faktöriyeli: sonuc 𝑠𝑜𝑛𝑢𝑐=𝑛!= 𝑠𝑎𝑦𝑎𝑐=1 𝑛 𝑠𝑎𝑦𝑎𝑐 Faktöriyeli Hesaplanacak Sayı: n Girilen Sayının Faktöriyeli: sonuc Faktöriyel Değişkeni: sayac Adım1: Başla Adım2: sonuc =1; sayac =1 Adım3: n’yi gir Adım4: Eğer n<0 ise 3. adıma git Adım5: Eğer sayac>n ise adım 8 e git Adım6: sonuc=sonuc*sayac Adım7: sayac =sayac+1 yap ve adım 5 e git Adım8: sonuc degerini ekrana yaz Adım9: Bitir
Ekrana ‘𝑥’ ve ‘𝑓’ değerlerini yazdır Başla 𝑥=0 Uygulama: 𝑓 fonksiyonunun değeri 𝑥'in aldığı değerlere göre aşağıda verilmiştir. 𝑥'in değeri 0-20 arasında 0.5 aralıklarla arttığına göre her bir 𝑥 değeri için 𝑓 fonksiyonunu hesaplayan programın akış diyagramını çiziniz. 0<= x <= 2 f=x 2< x <= 3 f=x-x3-22 3< x <=4 f=x2-2x+13 4< x f=x4-3x2-43 0≤𝑥≤2 Evet 𝑓=𝑥 Hayır 2<𝑥≤3 Evet 𝑓=𝑥− 𝑥 3 −22 Hayır Evet 3<𝑥≤4 𝑓= 𝑥 2 −2𝑥+13 Hayır 𝑓= 𝑥 4 −3 𝑥 2 −43 Ekrana ‘𝑥’ ve ‘𝑓’ değerlerini yazdır 𝑥=𝑥+0,5 𝑥≥20 Hayır Evet Bitir
Uygulama: Kenar uzunlukları dışarıdan girilen bir ABC üçgenini kenar uzunluklarına göre inceleyen programın algoritmasını kurunuz. A1: Başla A2: A,B,C değerlerini gir A3: A=B ise A4’e git değilse A5’e git A4: B=C ise A6’ya git değilse A8’e git A5: A=C ise A8’e git değilse A7’e git A6: ‘Üçgen Eşkenardır’ yazdir ve A10’a git A7: B=C ise A8’e git, değilse A9’a git A8: ‘Üçgen İkizkenardır’ yazdir ve A10’a git A9: ‘Üçgen Çeşitkenardır’ yazdir A10: Bitir
A1 Başla Eşkenar : A=B=C İkizkenar: A=B veya A=C veya B=C A2 A,B,C Gir Çeşitkenar: A=B=C A3 H A=B E A5 A4 A6 H A=C E H B=C E Eşkenar A7 A8 H B=C E İkizkenar A9 Çeşitkenar Bitir A10
Kaynaklar: Ahmet Dumlu ders notlari