If...Then...Else

guclusat

Tanınmış Üye
Süper Moderatör
Öncelikle kelimelerin anlamlarını ögrenelim;
If : eğer.
Then : ise.
Else : değilse.

İkinci olarak yapısını ögrenelim;
if ŞART then KOMUT VEYA İŞLEM
örn/ if yas<18 then write('Ehliyet alamaz');

Şimdi ise tamamını yani if...then...else nasıl kullanılır onu ögrenelim
Yapısı:
if yas<18 then write('Ehliyet alamaz')
else write('Ehliyet alabilir');

NOT: Dikkat ettinizmi bilmiyorum ama else var ise elseden önce ";" kullanılmaz.

Örnek:

uses crt;
var
y1,y2,y3,soz:integer;
ort::real;
begin
writeln('1.yazılı notunu giriniz'); readln(y1);
writeln('2.yazılı notunu giriniz'); readln(y2);
writeln('3.yazılı notunu giriniz'); readln(y3);
writeln('Sözlü notunu giriniz'); readln(soz);
ort : = (y1+y2+y3+soz)/4;
if ort<45 then writeln('Başarısız');
else writeln('Başarılı');
readln;
end.
 
if Koşul Yapısı

if Koşul Yapısı

if Nedir? ile başlayalım.

if programın akışında bazı durumlar gerçekleştiğinde gerekli işlemleri yapmamızı sağlayan bir yapıdır. if verilen koşula göre işlem yapar. if'in işlem yapabilmesi için koşulun her zaman true değerini göndermesi gerekmektedir. Eğer true değeri dönmez ise dönen değer false'dur. false değeri içinde if yapısının bir parçası olan else yapısı çalıştırılır.

if Yapısının Kullanımı;

if yapısı birçok şekilde kullanılabilir. Ben burada tek satırlı işlemlerdeki kullanımı ve çok satırlı işlemlerde kullanımı olmak üzere 2'ye ayırıyorum.

Kullanımına geçmeden önce bool kosul = true; olan bir değişkenimiz olsun.

Tek satırlı işlemlerdeki kullanım şekli şöyle;

1.

if (kosul == true) MessageBox.Show("Koşul doğru");


2.

if (kosul == true)
MessageBox.Show("Koşul doğru");


3.

if (kosul == true)
MessageBox.Show("Koşul doğru");
else
MessageBox.Show("Koşul yanlış");


4.

if (kosul == true)
MessageBox.Show("Koşul doğru...");
else if (kosul != true)
MessageBox.Show("Koşul yanlış...");
else
MessageBox.Show("Değerde sorun oluştu...");


4 kullanım şekli de doğrudur. Burada kosul == true olduğu sürece işlemimiz gerçekleşecektir. 3. İşlemde koşul sağlanmıyorsa else komutu döndürülerek koşulun sağlanmadığı zamanda da işlem yaptırabiliriz. 4. İşlemde else if komutu ile ard arda birden fazla koşul da belirtebiliriz. else if komutu birden fazla da olabilir. Bu çok sık kullanılan bir işlem değildir. Bunun yerine genellikle select yapısı kullanılır.

Çok satırlı işlemlerdedeki kullanımı ise tek kullanım farkı "{ }" parantezleridir.

1.

if (kosul == true)
{
MessageBox.Show("Koşul doğru");
kosul = false;
}

2.
if (kosul == true)
{
MessageBox.Show("Koşul doğru");
kosul = false;
}
else
{
MessageBox.Show("Koşul yanlış");
kosul = true;
}

3.
if (kosul == true)
{
MessageBox.Show("Koşul doğru...");
}
else if (kosul != true)
{
MessageBox.Show("Koşul yanlış...");
}
else
{
MessageBox.Show("Değerde sorun oluştu...");
}

Görüldüğü gibi if yapısının en basit kullanım şekilleri şu şekildedir.

Uygulama 1

// Burada kullanıcıya MessageBox ile bir soru soruyoruz.
// Mesaj penceresi Evet ve Hayır butonları olan bir diyalog kutusu şeklindedir.
// Kullanıcı eğer(if) Evet butonunu tıklarsa ilk komutu değilse(else) ikinci komutu çalıştıracaktır.
if (MessageBox.Show("if Yapısının Kullanımını Anladınız mı?", "if Yapısı", MessageBoxButtons.YesNo) == DialogResult.Yes)
MessageBox.Show("İlerleme kaydetmişsiniz...");
else
MessageBox.Show("Biraz daha çalışmalısınız...");
// MessageBox metodunda MessageBoxButtons.YesNo no ile Evet ve Hayır butonlarını ekledik. DialogResult.Yes komutu ile de cevabın Evet olup olmadığını kontrol ettik.

Uygulama 2


// Bu örnekde de 5 ile 3'ü çarptık sonuç 15 çıkıyorsa uyarı olarak veriyoruz.
// Değilsede işlem sonucunun eşit olmadığını gösteriyoruz.
if ((5 * 3) == 15)
MessageBox.Show("Doğru bir işlem...");
else
MessageBox.Show("İşlem sonucu 15 değil...");

Uygulama 3

int a = 5;
int b = 9;
// Burada a ile b eşit ise MessageBox komutuyla belirtiyoruz.
if (a == b)
{
MessageBox.Show("Sayılar eşit...");
}
// Burada ikinci koşulumuzu belirtiyoruz birinci koşulumuz gerçekleşmiyorsa ikinci koşulumuz kontrol edilir.
else if (a != b)
{
MessageBox.Show("Sayılar eşit değil...");
}
// 2 koşulunda sağlanmadığı durumda else komutu çalıştırılır.
else
{
MessageBox.Show("Girilen değerlerde yanlışlık var");
}
 
Visual basic 6 ile if komutu kullanımı

Visual Basic'de Kontrol Komutları
Kontrol komutları programcılar tarafından sıkca kullanılan belirli ifadeleri kontrol etmek veya bazı şartların gerçekleşip gerçekleşmedigini kontrol etmek amacıyla kullanılan komutlardır. Biz burada en çok kullanılan komutların üzerinde duracagız.


If Kontrol Yapısı :
Genel olarak bu komut yapısı şu şekilde yazılır.

If Kosul Then

Kosul dogru ise yapılması istenen işlemler.
Endif

Kullandıgımız her If kontrolu için mutlaka bir Endif kullanmalıyız. Bu kontrol yapısının sonlandıgını belirtir.
Örnek:


If ad="FATIH" Then
Maas=10000000
Endif

Eger koşul gerçekleşmemiş ise yapılması istenen bazı işlemler varsa o zaman şu şekilde bir kontrol yapısını kullanabiliriz.

If Kosul Then

Kosul dogru ise yapılması istenen işlemler.
Else

Kosul yanlış ise yapılması istenen işlemler.
Endif
Aynı anda bir kaç koşul için karşılaştırma yapılmak isternirse;

If Kosul Then

Kosul dogru ise yapılması istenen işlemler.
Elseif Kosul1 Then

Kosul1 dogru ise yapılması istenen işlemler.
Elseif Kosul2 Then

Kosul2 dogru ise yapılması istenen işlemler.
Else

Bütün kosullar yanlış ise yapılması istenen işlemler.
Endif
yapısı kullanılır. Bu yapıda mutlaka Else blogunun bulunmasına gerek yoktur. Burada eger Kosul dogru ise ilk Then’den sonraki satırlar çalıştırılarak Elseif ifadesine kadar icra edilirler. Daha sonra Endif ifadesinden sonraki satır icra edilir.Eger Kosul yanlış ise Kosul1 ifadesi kontrol edilir.Dogru ise buradaki then den sonraki satırlar çalıştırılır. Yanlış ise Kosul2’ye bakılır. Eger bu kosulda yanlıs ise Else ifadesinden sonraki satırlar çalıştırılır.
Örnek :

If Isım=”Ali” Then
Maas=Maas * 1.2
Elseif Isım=”Murat” Then
Maas=Maas * 1.4
Elseif Isım=”Kemal” Then
Maas=Maas * 1.1
Endif

Örnek :

If Bolen=0 Then
Msg.Text=” Bolen sayı sıfır olamaz."
Else
Sonuc= Sayı / Bolen
Msg.Text = Sonuc
Endif

Ornek :

If name="Ali" AND no="1301920035"
Not=4
ElseIf name="Ahmet" AND no="1301940023" Then
Not=3
ElseIf name="Hakan" AND no="1301930045" Then
Not=2
ElseIf name="Hatice" AND no="1301940005" Then
Not=7
Endif
 
Geri
Yukarı