İİ PROGRAMLAMA - sakarya.edu.tr
Transcript of İİ PROGRAMLAMA - sakarya.edu.tr
BİLGİSAYAR PROGRAMLAMAYrd. Do�. Dr. Beytullah EREN
[email protected] 0264 295 5642
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
BİLGİSAYAR PROGRAMLAMAYrd. Do�. Dr. Beytullah EREN
[email protected] 0264 295 5642
�rnek 5-�dev.
Bir �ğrenci bir dersten aldığısınav notunu klavyeden
giriyor. �ğrencininortalamasını hesaplayıp, 50ge�me barajına g�re“Ge�tiniz” veya “Kaldınız”mesajı veren programınalgoritmasını hazırlayınız.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Algoritma:A1. Başla A2. snv1, snv2, Ort tanımla A3. Snv1’i gir A4. Snv2’i gir A5. Ort= (Snv1 + Snv2) / 2 A6. Ort’yı ekrana yaz A7. Eğer (Ort > 50) ise A8. Ekrana “Ge�tiniz” yaz A9. Değilse “Kaldınız” yaz A10. Bitir
�rnek 6.Girilen dolar miktarını T�rk Lirasına �evirenprogramın algoritmasını oluşturunuz. Bualgoritmanın oluşumunda girişler, Dolar kuru
hesaplanacak $ miktarı, �ıkış ise verilen $'inkarşılığı olacaktır. Dolar kuru ve miktarının
pozitif girilmesi sağlanmalıdır.
Doların değeri :DoldegGirilen Dolar Miktarı :DolarTL karşılığı :tl
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Algoritma:A1. Başla A2. Doldeg, Dolar, tlA3. Doldeg'i gir A4. Doldeg<0 ise A3. adımınıtekrarlaA5. Dolar’ı gir A6. Dolar<0 ise A5.adımınıtekrarla A7. tl = Doldeg*Dolar A8. tl değerini yaz A9. Bitir
�rnek 7.’den 100’e kadar olan sayıların
toplamını hesaplayıp ekranayazan programın algoritmasınıhazırlayınız.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Algoritma 1:A1. Başla A2. Toplam T, sayılar i olsun A3. Başlangı�ta T'nin değeri 0 ve i'nin değeri 1 olsun A4. i'nin değerini T'ye ekle. A5. i'nin değerini 1 arttır. A6. Eğer i'nin değeri 100'den k���k ise A4. adımına git. A7. T'nin değerini yaz. A8. Bitir
(ALGORİTMANIN S�ZEL OLARAK İFADE EDİLMESİ)
�rnek 7.
Algoritma 2. ��z�m:A1. BaşlaA2. T, iA3. T=0, i=1A4. i'nin değerini T'ye ekle.A5. i'yi 1 arttır.A6. i<101 ise A4’e git.A7. T'nin değerini yaz.A8. Bitir
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
�rnek 8.
Girilen beş sayının toplamını veortalamasını veren programaait algoritmanın oluşturulması
Toplam adi i�in TopOrtalama adi i�in OrtGirilen sayılar i�in XArttırma i�in Sayac kullanılırsa
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
veprograma
Algoritma:A1 :BaşlaA2 : X, Top, Ort ve Sayac tanımlaA3 : Top=0, Saya�=0A4 : X'i girA5 : Top=Top+XA6 : Saya� =Saya� +1A7 : Eger Saya� <5 ise A4'ye A8 : Ort=Top/5A9: Top ve Ort değerlerini yazA10: Bitir
kullanılırsa
�rnek 8.
Verilen bir sayının fakt�riyelinihesaplayan programınalgoritmasının oluşturulması
Sayının fakt�riyeli :FakFakt�riyel değişkeni :XFakt�riyeli hesaplanacak sayı :Y
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Algoritma:A1 :BaşlaA2 :Fak=1, X=0A3 :Y'i girA4 :Y<0 ise A3. adımını tekrarlaA5 :X=X+1A6 :Fak=Fak*XA7 :X<Y ise A5. adımına geri d�nA8 :Fak değerini yazA9 :Bitir
Akış Diyagramları
• Geliştirilecek olan yazılımın geneldiyagramı adı verilir.• Akış diyagramları, yazılımı oluşturacak
par�aların birbirleri ile olan ilişkilerini• Bir bilgisayar programının oluşturulmasında
hazırlanması, algoritma oluşturma• Akış diyagramlarının algoritmadan
kutular i�inde yazılmış olması ve adımlaroklar ile g�sterilmesidir
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
yapısının şematik g�sterimine akış
oluşturacak program par�alarını ve builişkilerini belirler.
oluşturulmasında akış diyagramlarınınaşamasından sonra gelmektedir.
algoritmadan farkı, adımların simgeler seklindeadımlar arasındaki ilişkilerin (iş akışı)
Akış Diyagramları-Kullanılan Semboller
BAŞLA/DUR
SİMGE SİMGENİN ADI
İŞLEM
BİLGİ GİRİŞİ/�IKTI
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Kullanılan SembollerANLAMI
Akış diyagramının başlangı� ve bitiş yerlerini g�sterirBaşlangı� simgesinden �ıkış oku vardır. Bitiş simgesinde girişoku vardır.
Aritmetik işlemler ve değişik atama işlemlerinin temsiledilmesinde kullanılır.
Dışarıdan veri girişleri i�in ve elde edilen sonu�ların �ıkışişlemleri i�in kullanılır. Kullanılacak verilere ait değişkenlerintanımlanması i�in kullanılır.
Akış Diyagramları-Kullanılan Semboller
KARAR
SİMGE SİMGENİN ADI
İŞLEM AKIŞ Y�N�
D�NG�
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Kullanılan SembollerANLAMI
Kontrol ve karar verme işlemlerini temsil eder.
Diyagramın akış y�n�n� temsil eder
Tekrarlı yapıları (d�ng�) temsil eder.
Akış Diyagramları-Kullanılan Semboller
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Kullanılan Semboller
Akış Diyagramları-Mantıksal Yapı
• Bir bilgisayar programının geliştirilmesindene olursa olsun bu programlarınyalnız �� basit mantıksal yapı kullanılır• Bu mantıksal yapılardan en basiti sıralı• Sıralı yapı, hazırlanacak programdaki
nerede yer alması gerektiğini vurgularikinci bir ilsem başlayamaz.
Sıralı Yapıwww.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Mantıksal Yapı
geliştirilmesinde kullanılan programlama diliakış diyagramlarında genel olarak
kullanılır.sıralı yapıdır.
programdaki her işlemin mantık sırasına g�revurgular. Bu yapı sona erinceye kadar
Sıralı Yapı
Akış Diyagramları-Mantıksal Yapı
•Mantıksal yapılardan ikincisiVerme yapısıdır.• Programlama sırasında If...
Else yapısı ile tanıyacağımızmantıksal yapılar, birden fazlayapı se�eneğini kapsayanmod�llerde, hangi şartlardasıralı yapının se�ileceğini belirler
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Mantıksal Yapı
ikincisi Karar
...Then...tanıyacağımız bu
fazla sıralıkapsayan
hangibelirler.
Karar Verme Yapısı
Akış Diyagramları-Mantıksal Yapı
• ���nc� mantıksal yapı �eşidini tekrarlı• Bu yapılara programlama dilinde For
(Sekil 1.4.b), yapısı adi da verilir.• Bu yapılar şartlara g�re değişik işlem
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Mantıksal Yapı
tekrarlı yapılar oluşturmaktadır.For (Sekil 1.4.a), While ve Repeat..Until
işlem gruplarının yapılmasını sağlar.
Akis Diyagramı �rnekleri
•�rnek 1: İki sayınıntoplamını veortalamasını yapanbilgisayar programınınakis diyagramını �iziniz.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rnekleri
Akis Diyagramı �rnekleri
•�rnek 2: 1'den 100'e kadarolan sayıların toplamlarını veortalamalarını verenprogramın akis diyagramını�iziniz.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rnekleri
Akis Diyagramı �rnekleri
•�rnek 3: Ax+b=0 seklindeverilen 1.derecedenklemin ��z�m�n�veren programa ait akisdiyagramını �iziniz.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rnekleri
Akis Diyagramı �rnekleri
•�rnek 4: Ax�+Bx+C=0seklinde verilen 2. derecedenklemin k�klerini bulanprogramın akış diyagramını�iziniz.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rnekleri
Akis Diyagramı �rnekleri
•�rnek 5: 1' den 100'e kadarsayıların karelerini,karek�klerini, k�plerini, k�pk�klerini toplamlarını veortalamalarını verenprogramın akış diyagramını�iziniz.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rnekleri
Akis Diyagramı �rnekleri
•�rnek 6: �rnek 5’dekikarar mantığı yapısı ile��z�mlediğimiz problemid�ng� yapısı ile��z�mleyelim.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rnekleri
Akis Diyagramı �rnekleri
• Dışardan girilen bir sayıyı okuyup butekrar yazdıran programın akış şemasını�iziniz.
Algoritma:A1. BaşlaA2. Sayı x olsunA3. x’i girA4. x’i akrana yazA5. Bitir.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rnekleri
sayıyışemasını
Akis Diyagramı �rnekleriDışarıdan girilen iki sayıyı toplayıp sonucu
ekrana yazan programın akış şemasını �iziniz
Algoritma:1. Başla2. Sayılar sy1 ve sy2, toplam top olsunSy1’i gir4. Sy2’i gir5. Top = sy1 + sy26. Top’u ekrana yaz7. Bitir.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rneklerisonucu�iziniz.
olsun A3.
Akis Diyagramı �rnekleriYarı�ap uzunluğu girilen dairenin alanını
hesaplayıp sonucunu ekrana yazdıranprogramın akış semasını �iziniz.
Algoritma:1. Başla2. Yarı �ap r Alan al, �evre cev, pi=3,14 olsun3. r’yi gir4. al = pi * r * r5. al’ı ekrana yaz6. Bitir.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rneklerialanını
yazdıran
olsun
Akis Diyagramı �rnekleriDolar miktarı ve g�nl�k kur girildiğinde TL miktarını
hesaplayan program. Bu algoritmanınoluşumunda girişler; 1 Amerikan dolarınınkarşılığı, hesaplanacak $ miktarı, �ıkış ise verilen$'in TL karşılığı olacaktır.
Algoritma:1. Başla2. dd, dolar, tl3. dd'i gir4. dolar’ı gir5. tl=dd * dolar5. tl değerini ekrana yaz9. Bitir
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rneklerimiktarını
algoritmanındolarının TL
verilen
Akis Diyagramı �rnekleriKullanıcının klavyeden girdiği vize ve final notlarına g�re ortalamayı
hesaplayıp ekrana yazan, 60 barajına g�re “Ge�tiniz”“B�t�nlemeye Kaldınız” mesajı veren programın akış diyagramınıhazırlayınız.
Algoritma:A1. BaşlaA2. vz, fnl, Ort tanımlaA3. vz’i girA4. fnl’i girA5. Ort= (vz * 0,4) + (fnl * 0,6)A6. Ort’yı ekrana yazA7. Eğer (Ort > 60) iseA8. Ekrana “Ge�tiniz” yazA9. Değilse “Kaldınız” yazA10. Bitir
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rnekleriortalamayı
“Ge�tiniz” veyadiyagramını
Akis Diyagramı �rnekleri'den 100'e kadar olan sayıların toplamlarınıortalamalarını veren programın akış diyagramını�iziniz.
Algoritma:1: Başla2: say, top, ort3: say=0, top=04: say=say+15: top=top+say6: say<=100 ise A4’e git7: ort = top / 1008: top ve ort’u ekrana yazdır9: Bitir
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rnekleritoplamlarını ve
diyagramını
Akis Diyagramı �rnekleriKullanıcının gireceği bir sayının fakt�riyelini hesaplayan
programın algoritmasının oluşturulması.Sayının fakt�riyeli: faktFakt�riyeli hesaplanacak sayı: sayıAlgoritma:
1. Başla2. fakt = 1, sayi3. Sayi’yi gir4. fakt = fakt * sayi5. Sayi = sayi -16. sayi >= 1 ise A4’e geri d�n7. fakt değerini ekrana yaz8. Bitir.
www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr
Akis Diyagramı �rneklerihesaplayan