SMALL BASIC

6.Ders:If Komutu ( Koşullar)

Merhaba! Bu yazımızda sizlerle birlikte belki  de program yazmanın en önemli bileşenlerinden olan koşul ve dallanmalardan bahsedeceğiz. Yapay zeka kavramını duymuşsunuzdur. Hani şu bilgisayarların insan gibi düşünebilmelerini sağlayan bilgisayar programları! Gerçi daha tam anlamıyla  insan gibi düşünebilen programlar geliştirilemedi ama oldukça başarılı olanları var. İşte yapay zeka tarzı bu programlarda çok sayıda koşul ve dallanma mevcut.

Geliştirdiğiniz programın , farklı durumlara göre işlemler yapmasını istiyorsak , programımızın akışını koşullara göre şekillendirmemiz gerekiyor. Aslına bakarsanız gerçek hayatımızda koşullara göre şekillenmiyor mu? Mesela hava yağmurluysa şemsiye alırız değilse almayız. Hava kararınca ışığı açarız , aydınlanınca ışı kapatırız gibi…

İşte bizde bu yazımızda belirlediğimiz şartlara göre bilgisayara işlemler yaptıracağız. Bunun için kullanacağımız komut İf komutudur. Genel olarak İf komutunun yazılışını şöyle formülize edebiliriz.

if ( Şartımız ) Then 

Şart sağlandığında yapılacak işlem

Endif

Gördüğünüz üzere üç satırda yazılacak bir formül. Siyah ile yazdığım kısımlar if komutunda değişmeyen bölümler. Renkli yazdığım kısımlar ise şartımıza ve yaptıracağımız işleme göre değişiklik gösteren bölümlerdir. Şimdi bu formülü örneklerle tanımaya çalışalım.

ÖRNEK

Uygulama çalıştırıldığında ;

  1. Kullanıcıdan bir sayı girmesini istesin.
  2. Kullanıcının girdiği sayı 10’dan küçük ise Tek basamaklı Sayı diye ekrana mesaj yazsın .

Örneği incelersek ilk basamak için TextWindow.Read komutunu kullanarak kullanıcının girdiği sayıyı bir değişkene atamasını sağlamalıyız. Bu değişkene Sayi adını verelim. İkinci adımda bir şart ve şartın sağlanması durumunda yapılması gereken bir işlem var. Şartımız sayının 10’dan küçük olması , şart sağlandığında yapılması gereken ise ekrana Tek basamaklı Sayı yazdırmak. Şart olduğu için İf komutuyla bu işlemi yapacağız. Aşağıdaki kodları inceleyebilirsiniz.

KODLAR EKRAN GÖRÜNTÜSÜ

Ekran görüntüsüne baktığınızda 1234 sayısını girince kullanıcı hiçbir mesaj yazılmamış çünkü girilen sayı 10’dan küçük değil şart sağlanmamış. Ama sayı olarak 9 girildiğinde girilen sayı 10’dan küçük olduğu ve şartı sağladığı için ekrana mesaj yazılmış.

Peki  şartlarımız birden fazla olursa ne yapacağız. O zaman her şart için bir if komutu kullanmamız gerekiyor. Hadi bunun içinde bir örnek yapalım.

ÖRNEK

Uygulama çalıştırıldığında ;

  1. Kullanıcıdan hava sıcaklığını girmesi istenecek.
  2. Kullanıcının girdiği sayı 20’den küçük ise “Hava Soğuk ” diye ekrana mesaj yazsın
  3. Kullanıcının girdiği sayı 20′ ise “Hava Sıcaklığı Normal  ” diye ekrana mesaj yazsın
  4. Kullanıcının girdiği sayı 20’den büyük ise “Hava Sıcak ” diye ekrana mesaj yazsın

Örneği incelersek ilk basamak için TextWindow.Read komutunu kullanarak kullanıcının girdiği sayıyı bir değişkene atamasını sağlamalıyız. Bu değişkene hava adını verelim. Sonraki adımları incelerseniz üç tane şart ve  şartın sağlanması durumunda yapılması gereken  işlemlerin olduğunu görürsünüz. Bu da her şart için bir İf komutu kullanmamız gerektiği anlamına gelir. Hadi aşağıdaki kodları bir inceleyin ve örneğin çözümünü anlamaya çalışın.

KODLAR EKRAN GÖRÜNTÜSÜ

Bu örnekte dikkat etmeniz gereken şey her şart için ayrı bir if kullanmanız ve diğer if komutuna geçmeden endif ile bir önceki if komutuna son vermenizdir.

İki koşuldan birinin doğru olduğu durumlarda ikinci defa İf komutu yazmak yerine Else özel kelimesini kullanarak da kodumuzu yazabiliriz. Böylece yazdığımız kod satır sayısı biraz daha azalmış olur ve programımız daha az karmaşık olur. Peki Else ‘yi nasıl kullanacağız.

if ( Şartımız ) Then 

Şart sağlandığında yapılacak işlem

Else

Şart sağlanmadığında yapılacak işlem

Endif

Hadi bir örnekle kodun nasıl yazıldığını öğrenelim.

ÖRNEK

Uygulama çalıştırıldığında ;

  1. Kullanıcıdan yaşını  girmesi istenecek.
  2. Kullanıcının girdiği sayı 18 ve 18’den büyük ise “Ehliyet Alabilirsin ” diye ekrana mesaj yazsın değilse “Ehliyet Alamazsın “diye ekrana mesaj yazsın.

Örneği incelersek ilk basamak için TextWindow.Read komutunu kullanarak kullanıcının girdiği sayıyı bir değişkene atamasını sağlamalıyız. Bu değişkene yas adını verelim. Sonraki adımları incelerseniz iki tane şart ve  şartın sağlanması durumunda yapılması gereken  işlemlerin olduğunu görürsünüz. iki şartımız olduğu için if-Else yapısını kullanabiliriz. Aşağıdaki kodları inceleyebilirsiniz.

KODLAR EKRAN GÖRÜNTÜSÜ

Bazen de  çok sayıda şart vardır ve şartların sağlanması halinde birden fazla işlem de yapmamız gerekebilir. O zaman yine İf-Else yapısını iç içe bir şekilde kullanabiliriz. Haydi bir örnekle bu uygulamaya da bakalım.

ÖRNEK

Uygulama çalıştırıldığında ;

  1. Kullanıcıdan tuttuğu takımın adını tam ve büyük harflerle   girmesi istenecek.
  2. Kullanıcının girdiği Fenerbahçe ise arkaplan rengi lacivert ,yazı rengi sarı olacak şekilde “Fenerbahçe sen bizim herşeyimizsin ” diye ekrana mesaj yazsın
  3. Kullanıcının girdiği Galatasaray ise arkaplan rengi kırmızı ,yazı rengi sarı olacak şekilde “En Büyük Cimbombom ” diye ekrana mesaj yazsın
  4. Kullanıcının girdiği Beşiktaş ise arkaplan rengi siyah, yazı rengi beyaz olacak şekilde “Kara Kartal Oley! ” diye ekrana mesaj yazsın
  5. Kullanıcının girdiği bu üç takımdan biri değilse  “EN BÜYÜK “+ kullanıcının girdiği takım adı diye ekrana mesaj yazsın.

Örneği incelersek ilk basamak için TextWindow.Read komutunu kullanarak kullanıcının girdiği takım adını  bir değişkene atamasını sağlamalıyız. Bu değişkene takim adını verelim. Sonraki adımları incelerseniz 4 tane şart ve  şartın sağlanması durumunda yapılması gereken  işlemlerin olduğunu görürsünüz. 4 şartımız olduğu için  if-Else yapısını şartların hepsi bitene kadar iç içe  kullanabiliriz. Aşağıdaki kodları inceleyebilirsiniz. Endif yapısına özellikle dikkat edin.

KODLAR EKRAN GÖRÜNTÜSÜ

Bazen de  şartlar bir sayı aralığı gibi olabilir.  O zaman yine İf-Else yapısını iç içe bir şekilde kullanılır ve şartlar yazılırken <= ve aralığın en büyük değeri yazılır. Haydi bir örnekle bu uygulamaya da bakalım.

ÖRNEK

Uygulama çalıştırıldığında ;

  1. Kullanıcıdan dersten aldığı notu   girmesi istenecek.
  2. Kullanıcının girdiği not ; 0-44 arasında ise “Başarısız ” diye ekrana mesaj yazsın
  3. Kullanıcının girdiği not ; 45-54 arasında ise “Geçer ” diye ekrana mesaj yazsın
  4. Kullanıcının girdiği not ; 55-69 arasında ise “Orta ” diye ekrana mesaj yazsın
  5. Kullanıcının girdiği not ; 70-84 arasında ise “İyi ” diye ekrana mesaj yazsın
  6. Kullanıcının girdiği not ; 85-100 arasında ise “Pekiyi ” diye ekrana mesaj yazsın
  7. Kullanıcının girdiği not ; yukarıdaki aralıktaki bir sayı değilse  “Yanlış Not Girdiniz ” diye ekrana mesaj yazsın.

Örneği incelersek ilk basamak için TextWindow.Read komutunu kullanarak kullanıcının girdiği sayıyı  bir değişkene atamasını sağlamalıyız. Bu değişkene not adını verelim. Sonraki adımları incelerseniz 6 tane şart ve  şartın sağlanması durumunda yapılması gereken  işlemlerin olduğunu görürsünüz. 6 şartımız olduğu için  if-Else yapısını şartların hepsi bitene kadar iç içe  kullanabiliriz. Şartlarda sayı aralığı olduğu için <= ve aralığın en büyük değerini kullanacağız. Mesela 0-44 arasında ise şartımızı not<=44 olarak yazacağız. Aşağıdaki kodları inceleyebilirsiniz.

KODLAR

 

Hadi bakalım bu yazıda anlatılanları ne kadar anladınız. Kendinizi denemeye ne dersiniz?

SIRA SİZDE!
Uygulama çalıştırıldığında ;

  1. Kullanıcıdan yaşını  girmesi istenecek.
  2. Kullanıcının girdiği yaş ; 0-2 arasında ise “Bebek ” diye ekrana mesaj yazsın
  3. Kullanıcının girdiği not ; 3-17 arasında ise “Çocuk ” diye ekrana mesaj yazsın
  4. Kullanıcının girdiği not ; 18-29 arasında ise “Genç ” diye ekrana mesaj yazsın
  5. Kullanıcının girdiği not ; 30-49 arasında ise “Orta Yaşlı ” diye ekrana mesaj yazsın
  6. Kullanıcının girdiği not ; 50-100 arasında ise “Yaşlı” diye ekrana mesaj yazsın
  7. Kullanıcının girdiği not ; yukarıdaki aralıktaki bir sayı değilse  “Yanlış Bir Sayı Girdiniz ” diye ekrana mesaj yazsın.
Bizi takip edin:
Pin Share

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir