if(şart)
{
işlemler(komutlar)
}
Burada şart doğru olmadığı sürece ‘işlemler(komutlar)’ satırına asla geçmez. Şimdi buna ilişkin bir not hesaplama ve şart sunarak ekrana geçti/kaldı yazdıralım.
//notlar için değişkenler
double not1 = 0, not2 = 0;
double ortalama = 0;
//'not1' verisi kullanıcıdan alınıyor
Console.Write("İLk notunuzu giriniz=");
not1 = Convert.ToDouble(Console.ReadLine());
//'not2' verisi kullanıcıdan alınıyor
Console.WriteLine("İkinci notu giriniz=");
not2 = Convert.ToDouble(Console.ReadLine());
//işlem yaptırılıyor
ortalama = not1 / 2 + not2 / 2;
//ortalama verisi ekrana yazdırılıyor
Console.WriteLine("Ortalamanız={0}", ortalama);
//koşullar oluşturuluyor
if (ortalama >= 50)
{
Console.WriteLine("Geçtiniz");
}
if (ortalama < 50)
{
Console.WriteLine("Kaldınız");
}
Burada ortalamayı istediğiniz gibi aldırabilirsiniz(Ör. ortalama=not1*0.4+not2*0,6;)
if koşulumuzu türkçe’ye çevirirsek, ‘hesaplanan ‘ortalama’ 50′den büyük veya eşitse’ denmektedir. Diğer if koşulumuzda ise ’50′den küçük ise’ koşulu vardır. Başka bir olasılık olmadığı için bir if komutuna daha gerek yoktur.
Bu komut satırında iki ‘if’ komutunuda bilgisayar ayrı ayrı gözden geçirir.
2)Şimdi ‘else’ komutuna gelelim.
else’nin kelime anlamı ‘değilse’ olarak tanımlanabilir. Değilse ama ne değilse. İşte buradanda anlaşılacağı gibi else’nin önünde bir komut olması gerekir ve bu komutta ‘if’ komutudur. if’te bir şart sunulur, bu şartın doğru ve yanlış olma olasılığı vardır. Doğru olduğunda kendi içindeki komutları gerçekleştirir ama şart doğru değilse ne olacak, veee else :), else’miz devreye girecek.
Yukarıdaki Kodu ‘else’ komutuyla yapalım.
double not1 = 0, not2 = 0;
double ortalama = 0;
Console.Write("İLk notunuzu giriniz=");
not1 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("İkinci notu giriniz=");
not2 = Convert.ToDouble(Console.ReadLine());
ortalama = not1 * 0.4 + not2 * 0.6;
Console.WriteLine("Ortalamanız={0}", ortalama);
if (ortalama >= 50)
{
Console.WriteLine("Geçtiniz");
}
else
{
Console.WriteLine("Kaldınız");
}
Değişen sadece if(ortalama<50) oldu ancak yine aynı işlemi yaptı. Fark ne diyorsanız, Bilgisayar eğer ayrı ayrı if'ler olsaydı hepsini tek tek gözden geçirmek zorundadır ve bu bilgisayarın işlemcisini yorması demektir, ancak else(değilse) olduğu zaman bilgisayar ilk önce if komutuna bakar Eğer doğruysa işlemini yapar ve else komutuna atlamaz. Bunun esas görüldüğü komut 'else if' komutudur. 3)'else if' (değilse eğer) komutu öncesinde ki if komutu doğru olmadığı zaman yeni bir şart sunmak için kullanılır. Yukardaki sistemi biraz değiştirip 5 üzerinden değerlendirelim.
double not1 = 0, not2 = 0;
double ortalama = 0;
Console.Write("İLk notunuzu giriniz=");
not1 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("İkinci notu giriniz=");
not2 = Convert.ToDouble(Console.ReadLine());
ortalama = not1 * 0.4 + not2 * 0.6;
Console.WriteLine("Ortalamanız={0}", ortalama);
//koşullar oluşturuluyor
if (ortalama >= 85)
{
Console.WriteLine("Geçme notunuz=5");
}
else if(85 > ortalama >= 70)
{
Console.WriteLine("Geçme notunuz=4");
}
else if (70 > ortalama >= 55)
{
Console.WriteLine("Geçme notunuz=3");
}
else if (55 > ortalama >= 40)
{
Console.WriteLine("Geçme notunuz=2");
}
else if (40 > ortalama >= 25)
{
Console.WriteLine("Geçme notunuz=1");
}
else
{
Console.WriteLine("Geçme notunuz=0");
}
Console.WriteLine("komut satırı bitti");
'else if' komutlarını sadece 'if' te yapabilirdik ancak bunun gibi yüzlerce if olduğunu düşünürsek bilgisayar hepsini tek tek işleyeceği için yorulacak ve kasılacaktır (sizde kalaylayacaksınız tabi :)) ancak else if komutu hepsinin işlenmesini engeller. Mesela ilk 'if' komutuna bakar doğru ise işlemini yapar ve diğer 'else if' ve 'else' komutlarına bakmadan en son 'Console.WriteLine("komut satırı bitti");' koduna geçer, diyelim ilk 'if' şartı doğru değil, o zaman hemen sonraki 'else if' şartına bakar, doğru ise işlemi yapar ve 'Console.WriteLine("komut satırı bitti");' ve sonrasındaki komutlara bakar varsa devam eder yoksa programı bitirir. Eğer yine doğru değilse diğer 'else if' şartlarına bakar. Bu böyle 'else' komutuna kadar gidebilir.
Hiç yorum yok:
Yorum Gönder
Yorum Yaz...