Algoritmalar ve Akış Diyağramları Algoritmalar ve Akış Diyağramları - 3 mhb Gazi Univ. FEF FIZ313/Fiz.Bil.Prog.1 1 Soru 18) Ax 2 + Bx + C = 0 şeklinde 2. dereceden bir denklemin köklerini bulan programın algoritmasını ve akı ş şemasını yazınız? Cvp 18) Bilgi: Sabitler, de ği şkenler, üs alma, diskriminant, kök. Algoritma : 1) Ba şla 2) A, B, C’yi oku 3) D = B**2 – 4*A*C 4) D = 0 ise 7’ye git 5) D > 0 ise adım 9’a git 6) “Gerçel kök yok” yaz adım 12’ye git 7) X = -B / (2*A) 8) “TEK KÖK VAR”, X yaz, adım 12’ye git 9) X 1 = (-B + SQRT(D)) / (2*A) 10) X 2 = (-B-SQRT(D)) / (2*A) 11) “Ç İFT KÖK VAR”, X 1 , X 2 yaz 12) DUR Akı ş Diyagramı : Ba şla A, B, C oku D= B**2-4*A*C D : 0 “Gerçel Kök Yok” Yaz X = -B/(2*A) X 1 = (-B +SQRT(D))/(2*A) X 2 = (-B - SQRT(D))/(2*A) Çift Kök Var X 1 , X 2 Yaz DUR “Tek Kök Var” X Yaz < > =mhb Gazi Univ. FEF FIZ313/Fiz.Bil.Prog.1 2 Soru 19) 10 ile 100 arasındaki tam sayılardan asal sayı olanları bulan algoritma ve akı ş şemasını olu şturunuz. Cvp 19) A I=11 TAM(I/2)*2=I TAM(I/7)*7=I I=100 TAM(I/5)*5=I TAM (I/3)*3=I I I=I+1 DUR A1. BASLA, A2. I=11 AL, A3. E ğer TAM(I/2)*2=I İSE A7. adıma git, A4. E ğer TAM(I/3)*3=I İSE A7. adıma git, A5. E ğer TAM(I/5)*5=I İSE A7. adıma git, A6. E ğer TAM(I/7)*7=I İSE A7. adıma git, A7. I de ğerini yaz, A8. E ğer I=99 İSE A9. adıma git, A9. I=I+2 AL VE A3. adıma geri dön, A10. Dur. E E E E H H H E AKI Ş ŞEMASI ALGOR İTMA H H I=99 I=I+2 A8 A8 A8 A8 A10 mhb Gazi Univ. FEF FIZ313/Fiz.Bil.Prog.1 3 Soru 20) İki pozitif tamsayının çarpma i şlemini sadece toplama i şlemi kullanarak gerçekleyen algoritmayı olu şturunuz. Cvp 20) Algoritma : 1. Ba şla 2. a ve b sayılarını oku 3. c =0 4. b<=0 ise 8 e git 5. c=c + a 6. b = b-1 7. 4’e git 8. c de ğerini yaz 9. dur Akı ş Diyagramı : a1. Ba şla a2. a ve b sayılarını oku a3. c =0 a4. b=0 ise 9 a git a5. c=c + a a6. b<0 ise b = b+1 a7. b = b-1 a8. 4’e git a9. c değerini yaz a10. dur mhb Gazi Univ. FEF FIZ313/Fiz.Bil.Prog.1 4 Soru 21) Bir okulda bulunan 10 sınıftaki 30'ar ö ğrencinin herbirinin 12 şer dersten aldıkları notların ortalamasını bulan ve ö ğrenci ismi ile not ortalamasını yazan programın algoritması ve akı ş şeması şöyledir: Cvp 21) De ği şkenler : ISS : Sınıf sayacı, IOS : Ö ğrenci sayacı, DN : Ders notu, DNS : Ders notu sayacı, DNT: Ders notlarının toplamı, DNO : Ders notlarının ortalaması, OGAD: Ö ğrencinin adı Algoritma : Adım 1-Ba şla Adım 2-SS=0 Adım 3-IOS=0 Adım 4-DNS=DNT=0 Adım 5-OGAD oku Adım 6-DN oku Adım 7-DNS=DNS+1(ders notu sayacı 1 artır. Adım 8-DNT=DNT+DN(notları topla) Adım 9-E ğer DNS<12 ise adım 6'ya git Adım 10-DNO=DNT/12(ortalamayı hesapla) Adım 11-OGAD,DNO yaz Adım 12-IOS=IOS+1(ö ğrenci sayacını bir artır) Adım 13-E ğer IOS<30 ise adım 4'e git Adım 14-ISS=ISS+1(sınıf sayacını bir artır) Adım 15-E ğer ISS<10 ise adım 3'e git. Adım 16-Dur Akı ş Diyagramı : mhb Gazi Univ. FEF FIZ313/Fiz.Bil.Prog.1 5 mhb Gazi Univ. FEF FIZ313/Fiz.Bil.Prog.1 6 Soru 22) Terimleri 0, 1, 1, 2, 3, 5, 8, 13, …. şeklinde olan diziye F İBONNAC İ dizisi denir. Fibonnaci dizisini 50 sayısına kadar olan terimleri bulup yazdıran bir algoritma ve akı ş şeması olu şturunuz. Cvp 22) Algoritma : 1. Ba şla 2. BS=0, IS=1 3. BS ve IS’yi yaz 4. TOP=BS+IS 5. E ğer TOP>=50 ise 9’a git 6. BS=IS, IS=TOP 7. TOP de ğerini yaz 8. 4’e git 9. DUR Akı ş Diyagramı : BS=0, IS=1 BS, IS TOP=BS+IS TOP<=50 TOP BS=IS, IS=TOP BS=0, IS=1 BS, IS TOP=BS+IS TOP<=50 TOP BS=IS, IS=TOP mhb Gazi Univ. FEF FIZ313/Fiz.Bil.Prog.1 7 Soru 23) NxN’lik bir matrisin elemanlarının giri şini yapan algoritma ve akı ş şemasını olu şturunuz. Cvp 23) BA ŞLA N i=1 J=1 A(i,J) J=N J=i+1 i=N DUR i=i+1 E E H AKI Ş ŞEMASI ALGOR İTMA H A1. Ba şla, A2. N'yı gir, A3. i=1 , A4. J=1 al, A5. A(i,J)'yi gir, A6. Eger J=N ise A8.adıma git, A7. J=J+1 al ve A5. adıma geri dön, A8. Eger i=N ise A10. adıma git, A9. i=i+1 al ve A4. adıma geri dön, A10. Dur.