Dersin Adı:ALGORİTMA GELİŞTİME TEKNİKLERİ Dersin Kodu:YBS506 Konu:Kontrol Yapıları(if / if-else) 2.HAFTA
Dikkat edilmesi gerekenler Programı yazmadan önce Problemi anlamaya çalışın Çözümün algoritmasını kafanızda dikkatli bir şekilde oluşturun. Programı yazarken Hangi yapıları kullanacağınızı bilin Program prensiplerine uyun
Algoritmalar Tüm hesaplama problemleri Belirli bir düzende yapılan işlemlerin uygulanmasıyla yapılır Algoritma Hangi işlemlerin yapılacağını İşlemlerin hangi sırayla yapılacağını belirler Programın Kontrolü Hangi işlemin yapılacağı kararını belirler
Kontrol yapıları Sırasına göre işlem yapma Satırları yazılış sırasına göre derler Sıralı olmayan işlem yapma Derlenecek satır bir sonraki satır olmayabilir
Kontrol yapıları Üç temel kontrol yapısı vardır 1. Sıralı yapı Satırları baştan sona yorumlar 2. Seçimli yapı C++ da üç tür seçme yapısı vardır if, if-else ve switch 3. Tekrarlı yapı C++ da üç tür tekrarlı yapı vardır while, do-while, for.
UYARI! C++ daki anahtar kelimeler değişken ismi olarak kullanılamaz(if, else, for, int, char vb.)
İf yapısı İf şartı doğru ise if bloğundaki satırları derler İf şartı yanlış ise if bloğundaki satırları derlemez Örnek: Öğrencinin notu 50 den büyük ise geçti küçük ise kaldı yazdıralım if(notu>=50) {cout<<“Geçti”;}
İf yapısı doğru yanlış notu >= 50 “Geçti” yaz sıfır - false Sıfır değilse - true örnek: is true
İf, if-else yapısı İf yapısı şartta doğru(true) olduğunda istenen işlem yapılır İf-else yapısında ise şartın doğru(true) ve yanlış(false) olma durumlarında işlem yapılır if(notu>=50) {cout<<“geçti”;} else {cout<<“kaldı”;} İf ve else den sonra gelen sadece bir satır olduğu için {} süslü parantezleri kullanmayabilirdik
10 if-else yapısı Doğru(true) Yanlış(false) “kaldı” yaz“geçti” yaz notu >= 50
İf-else yapısı İf-else yapısını iç içe geçmiş bir şekilde kullanabilir. İf(notu>=90) cout<<“Harf notu:A”; else if(not>=80) cout<<“Harf notu:B”; else if(not>=70) cout<<“Harf notu:C”; else cout<<“Harf notu:D”; İf ve else den sonra gelen sadece bir satır olduğu için {} süslü parantezleri kullanmadık
1.#include "stdafx.h" 2.#include 3.using namespace std; 4.int _tmain(int argc, _TCHAR* argv[]) 5.{ 6.int notu; 7.cout<<"Notunuzu girin ="; 8.cin>>notu; 9.if(notu>100) 10.{cout<<"\n Girdiginiz deger gecersiz";} getchar();getchar(); 13.return 0; 14.} Örnek-1 Girilen notun geçerliliğini kontrol eden program.
1.#include "stdafx.h" 2.#include 3.using namespace std; 4. 5.int _tmain(int argc, _TCHAR* argv[]) 6.{ 7.int notu; 8.cout<<"Notunuzu girin ="; 9.cin>>notu; if(notu>100) 12.{cout<<"\n Girdiginiz deger gecersiz";} 13.if(notu<0) 14.{cout<<"\n Girdiginiz deger gecersiz";} getchar();getchar(); 18.return 0; 19.} Örnek-2 Girilen notun geçerliliğini iki yönden kontrol eden program.
1.#include "stdafx.h" 2.#include 3.using namespace std; 4. 5.int _tmain(int argc, _TCHAR* argv[]) 6.{ 7.int a,b; 8.cout<<"Bir deger girin"; 9.cin>>a; 10.b=a%5; 11.if(b) 12.{ 13.cout<<"Sayi 5'e bolunemez"; 14.}else 15.cout<<"Sayi 5'e bolunebilir"; 16.getchar();getchar(); 17.return 0; 18.} Örnek-3 Girilen sayısal değerin 5’e bölünüp bölünmediğini kontrol eden program. Parantez içindeki değer sıfır (0) ise yanlış, sıfırda farklı bir değer ise doğru kabul edilir
1.#include "stdafx.h" 2.#include 3.using namespace std; 4. 5.int _tmain(int argc, _TCHAR* argv[]) 6.{ 7.int a,b; 8.cout<<"Bir deger girin"; 9.cin>>a; 10.b=a%5; 11.if(b==0) 12.{cout<<"Sayi 5'e bolunebilir"; }else 15.cout<<"Sayi 5'e bolunemez"; 16.getchar();getchar(); 17.return 0; 18.} Örnek-4 Farklı bir yaklaşımla girilen sayısal değerin 5’e bölünüp bölünmediğini kontrol eden program.
1.#include "stdafx.h" 2.#include 3.using namespace std; 4. 5.int _tmain(int argc, _TCHAR* argv[]) 6.{ 7.int a; 8.cout<<"Bir deger girin ="; 9.cin>>a; if(a%5==0&a%3==0)//buraya if(a%15==0) da yazabilirdik {cout<<"15'e bolunebilir";} getchar(); getchar(); 16.return 0; 17.} Örnek-5 Girilen sayısal değerin 15’e bölünüp bölünmediğini kontrol eden program.
1.#include "stdafx.h" 2.#include 3.#include 4.using namespace std; int _tmain(int argc, _TCHAR* argv[]) 8.{ 9.string isim,sifre; cout<<"Lutfen isim giriniz ="; 13.cin>>isim; 14.cout<<"\nLutfen sifreyi giriniz="; 15.cin>>sifre; if(isim=="serkan"&sifre=="srkn123")//burada şifremi ve kullanıcı adımı kontrol ediyorum 18.{ 19.cout<<"isim ve sifre onaylandi"; 20.}else 21.{ cout<<"Hatali giris"; 24.} getchar(); getchar(); 28.return 0; 29.} Örnek-6 Kullanıcı adı ve şifreyi kontrol eden program Visual Studio da çalışıyorsam ve string değişken tipi kullanacaksam eğer kütüphanesini eklemeliyim