Hi There;
In this lesson we will teach the function of 'if-elseif-else-end' commands by taking another step after the 'if-else-end' commands from the query. The 'elseif' command tells us other conditions after the condition.
Herkese Merhabalar;
Bu dersimizde sorgulama yapılarından olan ' if-else-end ' komutlarının ardından bir adım daha atarak ' if-elseif-else-end ' komutlarının işlevini öğreteceğim. ' elseif ' komutu bizlere koşuldan sonraki diğer koşulları belirtir.
Bir önceki dersimizde ' if-else-end ' komutlarındaki işlevi belirttim. Bir başka adım olan ' if-elseif-else-end ' sorgu yapımız aslında bütün bu önceki iki ders için ' if ' sorgu yapısına göre en ayrıntı isteyen ama en çok işimize yarayacak olan sorgu yapılarından biridir. Bu sorgu yapısındaki kodlardan ' if ' , ' else ' , ' end ' komutlarını artık öğrendiniz. Şimdi ise yeni bir kod girişi olan ' elseif ' kodumuzu kısaca açıklayacak olursak, sorgulama ayrıntı istediği için birden fazla sorgulama işlemi gerçekleştirilir. Bu ise bize şart belirtmemiz gerektiğinde sadece ' if ' komutuyla şartı belirtmemiz gerekmediğini ve bu şartlara göre programımızın cevap verme işlemini gerçekleştirebileceğimizi gösteriyor.
İsteyen arkadaşlar önceki iki dersin içeriğine bu adreslerden ulaşabilirler;
LESSON 5
LESSON 4
1.ADIM
Bu adımımızda önceki derslerimizde olduğu gibi öncelikle basit bir giriş yaparak mantığını kavrayalım daha sonrasında detaylı bir kod yazımı gerçekleştirelim. Tabiki de öncelikle her zamanki gibi değişken girişlerimizi yapmalıyız. 0-100 arası not ortalamalarının harf notuna dönüşme işlemini gerçekleştirelim. Gereken işleme başlayalım;
vize=input('Vize Notunuzu Giriniz = ');
final=input('Final Notunuzu Giriniz = ');
not=(vize*0.45+final*0.55);
disp([not],'Ortalama Sonucu Notunuz : ');
if(not<=25)
disp('FF');
elseif(not<=36)
disp('FD');
elseif(not<=44)
disp('DD');
elseif(not<=56)
disp('DC');
elseif(not<=63)
disp('CC');
elseif(not<=74)
disp('CB');
elseif(not<=85)
disp('BB');
elseif(not<=90)
disp('BA');
elseif(not<=100)
disp('AA');
else
disp('Lütfen 100 Puandan Fazla Giriş Yapmayanız.');
disp('Böyle Bir Durum Söz Konusu Olamaz.');
end
Şeklinde SCILAB yazılım programımıza girişlerimizi yapmamızın ardından ekrandaki görüntümüz;
Tamamlayıp kaydettikten sonra çalıştırmaya başlayalım ve vize, final notlarımızın girişini tamamladıktan sonra programımızın cevabını öğrenelim. Vize notumuz ' 46 ', final notumuz ise ' 83 ' olsun. Programımıza girişlerini tamamladıktan sonra ekranda oluşan görüntümüz;
Şeklinde hesaplayarak ortalama notumuzu ve harf notumuzun değerini bize cevaplamıştır.
2.ADIM
Küçük bir ayrıntıya değinecek olursam önceki dersimizden öğrettiğim bilgiye dayanarak ' else ' komutumuz bize sorgu koşullarını sağlamadığı takdirde programın bize cevap verdiği durumlarda işlev görür demiştik. Peki şimdi ise 100 üzeri bir not girişi yaparsak ne olur hep birlikte görelim. Vize notumuz ' 96 ' final notumuz ise ' 115 ' olarak girişini tamamlarsak ekrandaki görüntümüz;
Gördüğümüz üzere kodumuzda ' else ' komutundan sonra yazdığımız ' disp ' girişleri 100 den fazla bir not ortalamasına sahip olunduğunda karşımıza çıkmasını istediğimiz cevapları bize sunmuş oldu.
3.ADIM
Bu adımımızda belirttiğim üzere şimdi daha detaylı bir yazılım işlemi gerçekleştirelim. ' LESSON 5 ' dersimizde radar hız kontrolü sonucunda uygulanak para cezası işlemi gerçekleştirmiştik. Bu işlemimizi ' elseif ' komutuyla daha da detaylandıralım.
Yine şehiriçi hız limitimiz 50 km/h olarak belirlensin ve bu sefer bu 50 km/h hız limitini her %20 artışta para cezası %15 artışa geçsin. Önceki dersimizde 50 km/h hız limitini aşan sürücülere 110 TL para cezası kesiliyordu. Yine 50 km/h hızın ilk %20'lik kısmı 110 TL olarak kesilmeye başlansın ve artış miktarı göz önünde bulundurularak en son limit 100 km/h ten sonra para cezası sabit olarak değerlendirilsin. Tabi ki de şehir içinde 100 km/h hızı aşanlar için de ayriyeten bir cezai işlem uygulansın. Gereken kodlarımız şu şekildedir;
hızdegeri=input('Lütfen Sürücü Hız Değerini Giriiniz : ');
hızdegeri1=(50*0.2+50);
hızdegeri2=(hızdegeri1*0.2+hızdegeri1);
hızdegeri3=(hızdegeri2*0.2+hızdegeri2);
hızdegeri4=100;
if hızdegeri<50
disp('Sürücü Şehiriçi Hız Limitini Aşmamaktadır.');
elseif(hızdegeri<hızdegeri1)
disp('Sürücü Şehiriçi Hız Limitini Aşmış Bulunmaktadır.');
disp('Sürücüye Uygulanması Gereken Para Cezası 110 TL ');
elseif(hızdegeri<hızdegeri2)
disp('Sürücü Şehiriçi Hız Limitini Aşmış Bulunmaktadır.');
disp('Sürücüye Uygulanması Gereken Para Cezası 116.50 TL ');
elseif(hızdegeri<hızdegeri3)
disp('Sürücü Şehiriçi Hız Limitini Aşmış Bulunmaktadır.');
disp('Sürücüye Uygulanması Gereken Para Cezası 133.97 TL ');
elseif(hızdegeri<hızdegeri4)
disp('Sürücü Şehiriçi Hız Limitini Aşmış Bulunmaktadır.');
disp('Sürücüye Uygulanması Gereken Para Cezası 154.06 TL ');
else(hızdegeri>hızdegeri4)
disp('Sürücü Şehiriçi Hız Limitini Aşmış Bulunmaktadır.');
disp('Sürücüye Uygulanması Gereken Para Cezası 177.16 TL ');
disp('Araç Durdurulup Sürücüye Alkol Testi Yapınız!');
end
Yazmamızın ardından ekrandaki görüntümüz;
4.ADIM
Şimdi ise birer hız değerleri girerek kodumuzun doğru çalıştığına emin olalım. İlk olarak 50 km/h hız değerinden düşük bir değer girelim;
Şeklinde hız limitini aşmadığımızı belirtti şimdi ise 50 km/h hızı %10 daha fazlası olan 60 km/h hız değerinden daha yüksek bir hız değerinin girişini yapalım;
Şimdi ise 100 km/h hızı aşan bir hız değeri girişini yapalım;
Yazılımımızı bu şekilde güvenle teslim etmiş oluruz.
Bu dersimizde ' if-elseif-else-end ' komutlarının yardımıyla sayısal not girişinden harf notu belirleme ve radar hız kontrol sonucu verilerine dayanarak girişi yapılan sayısal hız değerlerinin para cezası karşılığının cevaplarını almış olduk. Umarım faydalı bir anlatım olmuştur. Soru ve görüşlerinizi yorum kısımlarından yayınlayarak bana ulaştırabilirsiniz. Koşula bağlı sorgu yapılarımızın son bir dersini daha işledikten sonra sorgulama yapıları dersimizi bitireceğiz. Herkese iyi çalışmalar dilerim.
Son olarak bu dersimizde yazdığımız komutların cevabını yayınlıyorum;
Posted on Utopian.io - Rewarding Open Source Contributors
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey @safakcoban I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit