İİ PROGRAMLAMA - sakarya.edu.tr

27
BİLGİSAYAR PR Yrd. Do. Dr. B [email protected] www.beren.sakarya.edu www.beren.sakarya.edu ROGRAMLAMA Beytullah EREN 0264 295 5642

Transcript of İİ PROGRAMLAMA - sakarya.edu.tr

Page 1: İİ 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

Page 2: İİ PROGRAMLAMA - sakarya.edu.tr

�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

Page 3: İİ PROGRAMLAMA - sakarya.edu.tr

�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

Page 4: İİ PROGRAMLAMA - sakarya.edu.tr

�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İ)

Page 5: İİ PROGRAMLAMA - sakarya.edu.tr

�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

Page 6: İİ PROGRAMLAMA - 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

Page 7: İİ PROGRAMLAMA - sakarya.edu.tr

�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

Page 8: İİ PROGRAMLAMA - sakarya.edu.tr

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ışı)

Page 9: İİ PROGRAMLAMA - sakarya.edu.tr

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.

Page 10: İİ PROGRAMLAMA - sakarya.edu.tr

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.

Page 11: İİ PROGRAMLAMA - sakarya.edu.tr

Akış Diyagramları-Kullanılan Semboller

www.beren.sakarya.edu.trwww.beren.sakarya.edu.tr

Kullanılan Semboller

Page 12: İİ PROGRAMLAMA - sakarya.edu.tr

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ı

Page 13: İİ PROGRAMLAMA - sakarya.edu.tr

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ı

Page 14: İİ PROGRAMLAMA - sakarya.edu.tr

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.

Page 15: İİ PROGRAMLAMA - sakarya.edu.tr

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

Page 16: İİ PROGRAMLAMA - sakarya.edu.tr

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

Page 17: İİ PROGRAMLAMA - sakarya.edu.tr

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

Page 18: İİ PROGRAMLAMA - sakarya.edu.tr

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

Page 19: İİ PROGRAMLAMA - sakarya.edu.tr

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

Page 20: İİ PROGRAMLAMA - sakarya.edu.tr

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

Page 21: İİ PROGRAMLAMA - sakarya.edu.tr

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ı

Page 22: İİ PROGRAMLAMA - sakarya.edu.tr

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.

Page 23: İİ PROGRAMLAMA - sakarya.edu.tr

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

Page 24: İİ PROGRAMLAMA - sakarya.edu.tr

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

Page 25: İİ PROGRAMLAMA - sakarya.edu.tr

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ı

Page 26: İİ PROGRAMLAMA - sakarya.edu.tr

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ı

Page 27: İİ PROGRAMLAMA - sakarya.edu.tr

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