Örnek 1 Algritma, Akış Şeması ve Örnek Prgram Kdu Uygulamaları Ünite-9 Klavyeden girilen A, B, C sayılarına göre; A 50'den büyük ve 70'den küçük ise; A ile B sayılarını tplayıp C inci kuvvetini alan ve snucu mesajla yazdıran, A 70 den büyük veya eşitse; A,B ve C sayılarının tplamını yapan ve snucu mesajla yazdıran, A 50 den büyük değilse; A,B ve C sayılarının çarpımını yapan ve snucu mesajla yazdıran, Prgramın algritması, akış diyagramı ve örnek VB.NT kdları aşağıdaki gibidir. Bu prblemde karşılaştırma peratörleri yardımıyla şartlar srgulanacak ve aritmetik peratöler yardımıyla işlemler sırasıyla yapılacaktır. er bir şart için ayrı ayrı srgulama yapılacaktır. Yukarıdaki bilgi ışığında gerekli lan algritma, akış şeması ve örnek kdlar aşağıdaki gibidir. Algritma A1. Başla A2. Klavyeden A sayısını gir. A3. Klavyeden B sayısını gir. A4. Klavyeden C sayısını gir. A5. A > 50 (ve) A<70 ise git A6 ya A6. Snuc=(A+B)^C git A11 e A7. A>70 +(veya) A=70 ise git A8 e A8. Snuc=A+B+C git A11 e A9. A<=50 (A!<=50) ise git A10 a A10. Snuc=A*B*C git A11 e A11. Yaz Snuc A12. Dur
Akış Diyagramı BAŞLA A,B,C A>50. A<70 A>70 + A=70 A!=50 S=(A+B)^C S=A+B+C S=A*B*C S DUR Prgram Örnek Kdu Dim snuc, A, B, C As Integer A = InputBx("1'den 100'e kadar bir tam sayı giriniz!") B = InputBx("1'den 100'e kadar bir tam sayı giriniz!") C = InputBx("1'den 100'e kadar bir tam sayı giriniz!") If A > 50 And A < 70 Then Karar yapısı ile şartları kntrl et snuc = (A + B) ^ C lseif A > 70 Or A = 70 Then snuc = A + B + C Bir üst satırdaki şartlar sağlanmazsa. Yeni şartlara bak. lseif A <= 50 Then snuc = A * B * B Bir üst satırdaki şartlar sağlanmazsa. Yeni şartlara bak. nd If MsgBx(Cnversin.CStr(snuc)) Şartları bitir snucu mesaj larak göster
Örnek 2 Klavyeden girilen A sayısına göre; A sayısı tek ise; A sayısının 2 katını alan ve snucu mesajla yazdıran, A sayısı çift ise; A sayısının yarısını alan ve snucu mesajla yazdıran, Prgramın algritması, akış diyagramı ve örnek VB.NT kdları aşağıdaki gibidir. Bir sayının tek ya da çift lduğunu kntrl etmek için sayının ikiye bölündüğünde kalan değerine bakarak anlayabiliriz. Şayet ikiye bölündüğünde sıfır kalanını veriyrsa sayı çifttir değilse tektir. Yukarıdaki bilgi ışığında gerekli lan algritma, akış şeması ve örnek kdlar aşağıdaki gibidir. Algritma A1. Başla A2. Klavyeden A sayısını gir. A3. A sayısı 2 ye bölünüdüğünde 0 kalanını veriyrsa git A5 e A4. Snuc = A * 2 git A6 ya A5. Snuc = A / 2 A6. Yaz Snuc A7. Dur
Akış Diyagramı BAŞLA A A md 2 = 0 S = A / 2 S = A * 2 S DUR Prgram Örnek Kdu Dim snuc, A As Integer A = InputBx("1'den 100'e kadar bir tam sayı giriniz!") If A md 2 = 0 Then snuc = A / 2 lse snuc = A * 2 nd If MsgBx(Cnversin.CStr(snuc))
Örnek 3 Klavyeden girilen A sayısına göre 1 ile A arasındaki sayıların küplerinin tplamını yapan ve snucu mesajla yazdıran prgramın algritması, akış diyagramı ve örnek VB.NT kdları aşağıdaki gibidir. Bu örnekte ilk önce bir sayının küpünün nasıl alındığını ve belirli bir sırayla işlemleri yapacağımızı görmemiz gerekiyr. Bir sayının küpü alınırken kendisiyle üç defa çarpma işlemi gerçekletirilir. İşlem sıramız ise baştan sna dğru ilerler veya bunun tam tersinide gerçekleştirmemiz mümkün. Ayrıca örneğimizde bir tplama işlemi söz knusu lduğu için tplama işlemine tplamanın etkisiz elemanı lan sıfır değeri ile başlamamız gerekiyr. Akabinde küpünü bulduğumuz her sayıyı tplamın üzerine ekliyruz. Yukarıdaki bilgi ışığında gerekli lan algritma, akış şeması ve örnek kdlar aşağıdaki gibidir. Algritma A1. Başla A2. Klavyeden A sayısını gir. A3. T = 0 A4. S = 1 A5. ğer S>A ise git A10 a A6. K = S * S * S A7. S = S + 1 A8. T = T + K A9. Git A5 e A10. Yaz T A11. Dur
Akış Diyagramı BAŞLA A T=0 S = 1, A, 1 K=S*S*S T = T + K T DUR Prgram Örnek Kdu Dim S, A, T, K As Integer A = InputBx("1'den A ya kadar bir tam sayı giriniz!") T = 0 Fr S = 1 T A K = S * S * S T = T + K Next MessageBx.Shw(Cnvert.TString(T))
Örnek 4 Klavyeden girilen 5 adet sayının pzitif veya negatif lma durumlarını tek tek mesajlarda yazdıran prgramın algritması, akış diyagramı ve örnek xcel kdları aşağıdaki gibidir. Bir sayının pzitif sayı labilmesi için 0 dan büyük lması gerekir. Bu örnek uygulamada klavyeden girilen her sayının 0 dan büyük lup lmadığı srgulanacaktır. Daha snra 0 dan büyük ise pzitif lduğu belirlenen sayı ekrana mesaj larak yazılacaktır. Algritma A1. Başla A2. S = 0 A3. S = S + 1 A4. Dizi(S) = Klavyeden girilen sayı A5. ğer S < 6 ise git A3 e A6. S=0 A7. S=S+1 A8. ğer S > 5 ise Git A14 e A9. ğer Dizi(S) > 0 ise A10. Yaz Dizi(S) pzitiftir. Git A7 A11. ğer Dizi(S) < 0 ise A12. Yaz Dizi(S) negatiftir. Git A7 A13. Yaz Dizi(S) pzitiftir. Git A7 A14. Dur
Akış Diyagramı BAŞLA S = 1, 5 Dizi(S)= Klavyeden Sayı gir. S = 1, 5 Dizi(S)<0 Dizi(S)>0 Dizi(S) Sıfırdır DUR Dizi(S) Negatifti r Dizi(S) Pzitifti r Prgram Örnek Kdu Dim S, Dizi(5) As Integer Fr S = 1 T 5 Dizi(S) = InputBx("Bir sayı giriniz!") Next Fr S = 1 T 5 If Dizi(S) = 0 Then MsgBx(Str(S) + ".sırada yazdığınız " + Str(Dizi(S)) + " sayısı Tamsayıdır. Fakat Negatif veya Pzitif larak sınıflandırılamaz.") lseif Dizi(S) > 0 Then MsgBx(Str(S) + ".sırada yazdığınız " + Str(Dizi(S)) + " sayısı pzitiftir.") lse MsgBx(Str(S) + ".sırada yazdığınız " + Str(Dizi(S)) + " sayısı negatiftir.") Next nd If