Download - BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)
![Page 1: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/1.jpg)
BM-104 Nesneye Yönelik Programlama
Bahar 2013(2. Sunu)
(Yrd. Doç. Dr. Deniz Dal)
![Page 2: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/2.jpg)
Konsol Üzerinde Türkçe Karakterler Görebilmek İçin…
![Page 3: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/3.jpg)
İlişkisel Operatörler
İlişkisel operatörler test ettikleri durumun sonucuna göre 1 (true) veya 0 (false) değerini üretirler.
İşlev Operatör Örnek AnlamEşit Mi? == 3==5 3 eşittir 5 mi?
Eşit Değil Mi? != 3!=5 3 eşit değildir 5 mi?
Büyük Mü? > 3>5 3 5 den büyük mü?
Küçük Mü? < 3<5 3 5 den küçük mü?
Büyüktür Eşittir Mi? >= 3>=5 3 5 den büyük veya 5 e eşit mi?
Küçüktür Eşittir Mi? <= 3<=5 3 5 den küçük veya 5 e eşit mi?
![Page 4: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/4.jpg)
Karar Verme (Basit “if” Yapısı)if yapısı kullanılarak (bir koşul test edilerek - condition)
bir program karar verebilir ve farklı işlemler yapabilir. Bu “koşullar” bir sonraki slide ta görülebileceği gibi ilişkisel operatörler kullanılarak oluşturulur.
if(koşul) {
}
Eger “koşul” “true” ise parantez içindeki (gövdedeki) deyimler işletilir. “false” ise eğer gövdedeki deyimler işletilmez ve programın akışı kapanan parantezden sonraki satıra atlar.
Gövde tek bir deyimden oluşuyorsa parantezlerin kullanımı zorunlu değildir.
![Page 5: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/5.jpg)
“if” Şartlı Deyimi (Karar Yapısı)
if(not>=60) cout<<"gecti";
not >= 60 “gecti” yazdir
true
false
“if” Karar Yapısı Akış Diyagramı (flowchart)
![Page 6: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/6.jpg)
Dikkat!!!!!
int a=3;if(a=6)
cout<<"Bora"<<endl;
Yukarıdaki kod parçasında if deyiminin koşulu olarak a==6 ilişkisel testi yerine sehven yapılan bir hata neticesinde a=6 atama deyimi kullanılmıştır.
Atama deyimleri her zaman true olarak değerlendirilen bir işlem gerçekleştirirler. Dolayısıyla bu örnek için, yaptığımız hata yüzünden, if bloğunun içerisine girmiş oluruz. (Aynı zamanda da a değişkeninin değerini 6 olarak güncellemiş oluruz.)
![Page 7: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/7.jpg)
if Şartlı Deyimi ve İlişkisel Operatörler
![Page 8: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/8.jpg)
UYGULAMA
Kullanıcıdan klavye yoluyla alacağı 3 tam sayının en büyüğünü bularak ekrana yansıtacak bir C++ konsol uygulaması yazınız.
![Page 9: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/9.jpg)
“if-else” Karar Yapısı if(not>=60) cout<<"gecti"; else cout<<"kaldi";
not >= 60“kaldi” yazdırtruefalse
“if/else” Karar Yapısı Akış Diyagramı (flowchart)
“gecti” yazdır
![Page 10: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/10.jpg)
“if-else” Deyimi Yerine Soru İşareti (?) ve İki Nokta Üst Üste (:) Operatörlerinin
Birlikte Kullanımı
if(sayi1<sayi2)enKucuk=sayi1;
elseenKucuk=sayi2;
enKucuk=sayi1<sayi2?sayi1:sayi2;
![Page 11: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/11.jpg)
“if-else if-else” Örnekleri if(not >= 90) cout<<"A"; else if(not >= 80) cout<<"B"; else if(not >= 70) cout<<"C"; else if(not >= 60) cout<<"D"; else cout<<"F";
if(not >= 60) cout<<"Dersi Gectiniz.\n"; //tek deyimelse{ cout<<"Kaldiniz.\n"; //çoğul cout<<"Bu dersi tekrar almalisiniz.\n"; //deyim}
![Page 12: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/12.jpg)
Sayaç Kontrollü (counter-controlled) Döngü Esasları
Böyle bir döngü için gerekli olanlar:1. Kontrol değişkeni (sayaç veya loop counter)2. Kontrol değişkeninin ilk ve son değerleri3. Döngünün sona erişini test edecek durum
(condition)4. Döngü değişkeninin her seferinde artırılması ya
da azaltılması
![Page 13: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/13.jpg)
while Döngüsü ile Sayaç Kontrollü Tekrar
//while Döngüsü İle Sayaç Kontrollü Tekrar#include <iostream>using namespace std;int main(){
int sayac=1; //Deklarasyon ve İlk Değer Atama while(sayac<=10) //Tekrarlama Şartı
{ cout<<sayac<<endl;
sayac=sayac+1; //Artım Miktarı } return 0;}
![Page 14: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/14.jpg)
“while” Döngüsü Akış Diyagramı (Flowchart)
sayac<=10true
false
cout<<sayac <<endl;
sayac=1
sayac=sayac+1;
Kontrol değişkenine ilk değerini ata
Döngünün gövdesi Kontrol değişkenini 1 artır
![Page 15: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/15.jpg)
“while” Örneği
![Page 16: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/16.jpg)
Örneğe DevamBir önceki örneğimizde not sayacı olarak 10 değerini kullandık ve kullanıcıyı 10 adet not girmeye zorladık. Kullanıcının istediği kadar not girmesini ve bunların ortalamasını bulan bir program yazmak isteseydik eğer, bir “bitiş değeri” (sentinel value) kullanarak kullanıcının sisteme artık daha fazla veri girişi yapmak istemediğini belirtmesine izin vermemiz gerekirdi.
cout<<"Notu Gir ya da -1 Yazarak Cik: "; cin>>not; while(not != -1)//Bitiş Değeri=-1 {
toplam=toplam+not; notSayaci=notSayaci+1; cout<<"Notu Gir ya da -1 Yazarak Cik: "; cin>>not; }
![Page 17: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/17.jpg)
Düzenlenmiş “while” Örneği
![Page 18: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/18.jpg)
“static_cast<>” OperatörüOrtalamalar çoğu kez integer değere sahip olmazlar. 7.21 ya da 8.397 gibi ondalık kısma da sahip olabilirler. Bizim bir önceki örneğimizde ortalama değerini depolayan değişken bir integer olduğu için ondalık kısımlar (var olsa bile) değerlendirmeye alınmadılar. Bu yüzden buna izin veren double değişkeni kullanmalıyız ortalama için.
#include <iostream> //cout ve cin Kullanımı İçin #include <iomanip> //setprecision Kullanımı İçin using namespace std; int toplam; int notSayaci; double ortalama; ortalama=static_cast<double>(toplam)/notSayaci; //ortalama=(double)toplam/notSayaci; cout<<"Sinif Ortalamasi"<<setprecision(3)<<ortalama;
![Page 19: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/19.jpg)
Daha da Düzenlenmiş “while” Örneği
![Page 20: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/20.jpg)
Bileşik Atama Deyimleri
toplam=toplam+sayac;ya da
toplam+=sayac;“+=“ operatörü sağındaki değişkeni solundaki
değişkenin değeri ile toplar ve sonucu yine solundaki değişkene atar.
c+=7; d-=4; e*=5; f/=3; g%=9;
![Page 21: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/21.jpg)
1 Artırma ve 1 Azaltma OperatörleriOPERATÖR ANLAMI AÇIKLAMA++ 1 Artırma Operatörü
(increment)
-- 1 Azaltma Operatörü (decrement)
++a Önce 1 Artır (pre-increment) Operatörü
(a değişkeninin değerini 1 artır ve sonra a değişkeninin yeni değerini kullan.)y=++x; ise x=x+1; ve sonra y=x;
a++ Sonra 1 Artır (post-increment) Operatörü
(a değişkeninin mevcut değerini kullan ve sonra değerini 1 artır.)y=x++; ise y=x; ve sonra x=x+1;
--b Önce 1 Azalt (Pre-decrement) Operatörü
b-- Sonra 1 Azalt (Post-decrement) Operatörü
![Page 22: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/22.jpg)
Örnek//Önce 1 Artır ve Sonra 1 Artır Operatörleri#include <iostream>using namespace std;int main(){ int c; c=5; cout<<c<<endl; //Ekrana 5 Yazdır cout<<c++<<endl; //Ekrana 5 Yazdır ve Sonra c yi 1 Artır cout<<c<<endl<<endl; //Ekrana 6 Yazdır c=5; cout<<c<<endl; //Ekrana 5 Yazdır cout<<++c<<endl; //c yi 1 Artır ve Ekrana 6 Yazdır cout<<c<<endl; //Ekrana 6 Yazdır return 0;}
![Page 23: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/23.jpg)
4 Farklı 1 Artırma Deyimi
a=a+1;ya da a+=1; ya da a++; ya da ++a;
![Page 24: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/24.jpg)
“for” Döngüsü
//for Döngüsü ile Sayaç Kontrollü Tekrar//İlk Değer Atama, Tekrarlama Şartı ve Artım Miktarı for //Yapısının İçinde#include <iostream>using namespace std;int main(){ for(int sayac=1;sayac<=10;sayac++) cout<<sayac<<endl; return 0;}
![Page 25: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/25.jpg)
“for” Döngüsü “while” Döngüsüne Dönüştürülebilir (Ya da Tam Tersi)
for(int sayac=1;sayac<=10;sayac++){ cout<<sayac<<endl;}
int sayac=1; while(sayac<=10){
cout<<sayac<<endl;sayac++;
}
![Page 26: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/26.jpg)
“for” Döngüsü ÖrnekleriKontrol değişkenini 1’den 100’e kadar tek tek artıran “for” döngüsü for(int i=1;i<=100;i++)Kontrol değişkenini 100’den 1’e kadar tek tek azaltan “for” döngüsü for(int i=100;i>=1;i--)Kontrol değişkenini 7’den 77’ye kadar 7’şer artıran “for” döngüsü for(int i=7;i<=77;i+=7)
![Page 27: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/27.jpg)
“break” ve”continue” Deyimleri
Döngü içlerinde programın akış kontrolünü değiştirmek için bu deyimleri kullanırız.
“break” deyimi while, for veya switch yapılarının içinde kullanıldığında bu yapılar ani bir şekilde sonlandırılır.
“continue” deyimi for döngüsü içerisinde kullanıldığında bu deyimden sonra gelen komutlar atlanır ve döngü bir sonraki iterasyona başlar.
![Page 28: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/28.jpg)
Soru: Aşağıdaki program ekrana ne yazdırır?for(int i=1;i<=10;i++){
if(i==5)break;
cout<<i<<" ";}
Soru: Aşağıdaki program ekrana ne yazdırır?for(int i=1;i<=10;i++){
if(i==5)continue;
cout<<i<<" ";}
![Page 29: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/29.jpg)
Sonsuz Döngü (1. Versiyon)
#include <iostream>using namespace std;int main(){ while(true)//Sonsuz Döngü
{ ……….
if(…….)//Kullanıcı Doğru Tahminde Bulunduysa break;
} return 0;
}
![Page 30: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/30.jpg)
Sonsuz Döngü (2. Versiyon)
#include <iostream>using namespace std;int main(){
bool devamEt=true; while(devamEt)//Sonsuz Döngü
{ ……….
if(…….)//Kullanıcı Doğru Tahminde Bulunduysa devamEt=false;
} return 0;
}
![Page 31: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/31.jpg)
Sonsuz Döngü (3. Versiyon)
#include <iostream>using namespace std;int main(){ for(;;)//Sonsuz Döngü
{ ……….
if(…….)//Kullanıcı Doğru Tahminde Bulunduysa break;
} return 0;
}
![Page 32: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/32.jpg)
“switch-case” ile Çoklu Seçimcin>>secenek; secenek= toupper(secenek); switch(secenek) { case 'A': FunctionA(); break; case 'B': FunctionB(); break; case 'C': break; //Hiçbir Şey Yapma default: //Beklenen Bir Karakter Girilmediyse cout << "Uzgunum, " <<secenek<< " hicbir fonksiyona uymuyor. Lutfen
tekrar dene.\n\n"; }
if(secenek=='A') FunctionA();else if(secenek=='B') FunctionB();else if(secenek=='C') ;else cout<< "Uzgunum";
![Page 33: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/33.jpg)
Mantıksal OperatörlerBazı karar verme durumlarında ilişkisel
testlerin gerçekleştirebildiklerinden daha kompleks testlere ihtiyaç duyabiliriz ve bu basit testleri mantıksal operatörler yardımıyla birleştirerek amacımıza ulaşırız.
Bu mantıksal operatörler:1. Mantıksal VE (AND) (&&)2. Mantıksal VEYA (OR) (||)3. Mantıksal DEĞİL (NOT) (!)
Mantıksal operatörler test ettikleri durumun sonucuna göre 1 (true) veya 0 (false) değerini üretirler.
![Page 34: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/34.jpg)
MANTIKSAL VE (&&) Doğruluk Tablosu
İFADE 1 İFADE2 İFADE1&&İFADE2false false false false true falsetrue false falsetrue true true
![Page 35: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/35.jpg)
MANTIKSAL VEYA (||) Doğruluk Tablosu
İFADE 1 İFADE2 İFADE1||İFADE2false false false false true truetrue false truetrue true true
![Page 36: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/36.jpg)
MANTIKSAL DEĞİL (!) Doğruluk Tablosu
İFADE ! İFADE false true true false
![Page 37: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/37.jpg)
Örnekler
if((isim=="Deniz") && (yas>=30)) if((donemOrtalamasi>=90)||(finalSinavi>=90)) if((secenek=='A')||(secenek=='a')) Matematiksel olarak 3<x<7 C++ dilinde (3<x && x<7) if(!(rakam==bitisDegeri)) ya da if(rakam!=bitisDegeri)
![Page 38: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/38.jpg)
Scope (Sıkop) (Faaliyet/Kapsam/Geçerlilik Alanı-Ömür)
![Page 39: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/39.jpg)
Scope (Sıkop) (Faaliyet/Kapsam/Geçerlilik Alanı-Ömür)
![Page 40: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/40.jpg)
Scope (Sıkop) (Faaliyet/Kapsam/Geçerlilik Alanı-Ömür)
![Page 41: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/41.jpg)
Scope (Sıkop) (Faaliyet/Kapsam/Geçerlilik Alanı-Ömür)
![Page 42: BM-104 Nesneye Yönelik Programlama Bahar 201 3 ( 2 . Sunu ) ( Yrd . Do ç . Dr. Deniz Dal)](https://reader033.vdocuments.pub/reader033/viewer/2022061612/56816150550346895dd0d9c7/html5/thumbnails/42.jpg)
SORULAR
1. Kullanıcıdan klavye yoluyla aldığı bir sayının bölenlerini veya çarpanlarını bularak ekrana basan bir C++ programı yazınız.
2. Kullanıcıdan klavye yoluyla aldığı bir sayının ASAL sayı olup olmadığını belirleyen ve eğer ASAL sayı ise ASAL çarpanlarını ekrana basan bir C++ programı yazınız.
3. Kullanıcıdan klavye yoluyla aldığı belirli bir aralık içerisindeki bütün ASAL sayıları ve bu ASAL sayıların sayısını ekrana basan bir C++ programı yazınız.
4. Kullanıcıdan klavye yoluyla aldığı iki sayının aralarında ASAL olup olmadığını bulan bir C++ programı yazınız. (4 ve 15 aralarında asaldır örneğin.)
5. Kullanıcıdan klavye yoluyla aldığı 3 sayının En Büyük Ortak Bölenini (EBOB) bulacak bir C++ programı yazınız.
6. Kullanıcıdan klavye yoluyla aldığı 3 sayının En Küçük Ortak Katını (EKOK) bulacak bir C++ programı yazınız. (15 sayısının katları: 15 30 45 60 75 ve 20 sayısının katları: 20 40 60 tır. Dolayısıyla EKOK(15,20)=60 tır.)
7. Kullanıcıdan klavye yoluyla aldığı 2 rasyonel sayıyı toplayıp en sade haliyle ekrana basacak bir C++ programı yazınız.