0% found this document useful (0 votes)
3 views23 pages

Hafta 4

Uploaded by

faruk1212ata
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views23 pages

Hafta 4

Uploaded by

faruk1212ata
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

EEM-103

Bilgisayar Programlama
2022-2023 Güz

Hafta 4
Aritmetik Operatörler

Toplama Operatörü; + ; örneğin a+3


Çıkarma Operatörü; - ; örneğin a-3
Çarpma Operatörü; * ; örneğin a*3
Bölme Operatörü; / ; örneğin a/3
Modülüs Operatörü; mod (a,3) 3 ile bölümünden kalan

10/10/2018 2
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” mantıksal ya da karşılaştırma operatörleri


kullanılarak oluşturulur.

if koşul
{
}
end

Eger “koşul” “true” ise parantez içindeki (gövdedeki) deyimler


işletilir.

“false” ise eğer gövdedeki deyimler işletilmez ve program sağ


parantezden sonraki bölüme atlar.

10/10/2018 3
Mantıksal ve Karşılaştırma Operatörleri

 Mantıksal
 Eşittir == x==y x eşittir y
 Eşit Değildir != x!=y x eşit değildir y

 Karşılaştırma
 Büyüktür > x>y “x” “y” den büyüktür
 Küçüktür < x<y “x” “y” den küçüktür
 Büyüktür Eşittir >= x>=y “x” “y” den büyüktür ya da eşittir
 Kücüktür Eşittir <= x<=y “x” “y” den kücüktür ya da eşittir

10/10/2018 4
10/10/2018 5
ve/ veya /değil

 if((isim== "Deniz") && (yas>=30))

 if((donemOrtalamasi>=90)||(finalSinavi>=90))

 if((secenek == 'A')||(secenek == 'a'))

 Matematiksel olarak 3<x<7 (3<x && x<7)

 if(!(rakam==bitisDegeri)) ya da if(rakam!=bitisDegeri)

10/10/2018 6
“if” Karar Yapısı

if(sinavNot>=60)
cout<<“gecti”;

true “gecti”
sinavNot >= 60 yazdir

false

“if” Karar Yapısı Akış Diyagramı (flowchart)

10/10/2018 7
#include <iostream>
using namespace std;
int main()
{
int sinavNotu;
cout<<"Lutfen ogrencinin sinav notunu giriniz: ";
cin>>sinavNotu;
if(sinavNotu >= 60)
cout<<"GECTI";
return 0;
}

10/10/2018 8
“if/else” Karar Yapısı
if(sinavNot >=60)
cout<<“gecti”;
else
cout<<“kaldi”;

“kaldi” false true “gecti”


sinavNot >= 60
yazdir yazdir

“if/else” Karar Yapısı Akış Diyagramı (flowchart)


10/10/2018 9
#include <iostream>
using namespace std;
int main()
{
int sinavNotu;
cout<<"Lutfen ogrencinin sinav notunu giriniz: ";
cin>>sinavNotu;
if(sinavNotu >= 60)
cout<<"GECTI";
else
cout<<"KALDI";
return 0;
}

10/10/2018 10
“if/else if /else” Karar Yapısı

if(sinavNot >= 90)


cout<<“AA”;
else if (sinavNot >= 80)
cout<<“BB”;
else if (sinavNot >= 70)
cout<<“CC”;
else if (sinavNot >= 60)
cout<<“DD”;
else
cout<<“FF”;

10/10/2018 11
#include <iostream>
using namespace std;
int main()
{
int sinavNotu;
cout<<"Lutfen ogrencinin sinav notunu giriniz: ";
cin>>sinavNotu;
if(sinavNotu >= 90)
cout<<" AA ile gecti";
else if (sinavNotu >= 80)
cout<<" BB ile gecti";
else if (sinavNotu >= 70)
cout<<" CC ile gecti";
else if (sinavNotu >= 60)
cout<<" DD ile gecti";
else
cout<<"kaldi";
return 0;
}
10/10/2018 12
Girilen iki sayı arasındaki ilişkiyi (<,>,=) yazan program
#include <iostream>
using namespace std;
int main()
{
int sayi1, sayi2;
cout<<"Lutfen iki sayi giriniz"<<" ben size iliskilerini soyleyeyim : ";
cin>>sayi1>>sayi2;
if(sayi1 == sayi2)
cout<<sayi1<<" esittir "<<sayi2<<endl;
if(sayi1 != sayi2)
cout<<sayi1<<" esit degildir "<<sayi2<<endl;
if(sayi1 < sayi2)
cout<<sayi1<<" kucuktur "<<sayi2<<endl;
if(sayi1 > sayi2)
cout<<sayi1<< " buyuktur "<<sayi2<<endl;
return 0;
}

10/10/2018 13
Girilen 10 sınav notunun ortalamasını ekrana yazan program
#include <iostream>
using namespace std;
int main()
{
double toplam, notSayaci, sinavNotu,ortalama;
toplam = 0;
notSayaci = 0;
while(notSayaci < 10)
{
cout<<"\nOgrencinin aldigi puani girin: ";
cin>>sinavNotu;
toplam = toplam + sinavNotu;
notSayaci = notSayaci + 1;
}
ortalama = toplam/notSayaci;
cout<<"Sinif ortalamasi : "<<ortalama<<endl;
return 0;
}

10/10/2018 14
Sayaç 1 den başladı
#include <iostream>
using namespace std;
int main()
{
double toplam, notSayaci, sinavNotu,ortalama;
toplam = 0;
notSayaci = 1;
while(notSayaci < 11)
{
cout<<"\nOgrencinin aldigi puani girin: ";
cin>>sinavNotu;
toplam = toplam + sinavNotu;
notSayaci = notSayaci + 1;
}
ortalama = toplam/(notSayaci-1);
cout<<"Sinif ortalamasi : "<<ortalama<<endl;
return 0;
}

10/10/2018 15
Bir ö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.

while(not != -1) //bitis degeri= -1


{
toplam=toplam+not;
notSayaci=notSayaci+1;
cout<<“Notu gir ya da -1 yazarak cik : ”;
cin>>not;
}

10/10/2018 16
#include <iostream>
using namespace std;
int main()
{
double toplam, notSayaci, sinavNotu,ortalama;
toplam=0;
notSayaci=0;
while(sinavNotu != -1)
{
toplam = toplam + sinavNotu;
cout<<"\nOgrencinin aldigi notu giriniz veya -1 yazarak cikis yapiniz: ";
cin>>sinavNotu;
notSayaci = notSayaci + 1;
}
ortalama = toplam / (notSayaci-1);
cout<<"Sinif ortalamasi : "<<ortalama<<endl;
return 0;
}

10/10/2018 17
#include <iostream>
using namespace std;
int main()
{
double toplam, notSayaci, sinavNotu,ortalama;
toplam=0;
notSayaci=0;
while(sinavNotu != -1)
{
cout<<"\nOgrencinin aldigi notu giriniz veya -1 yazarak cikis yapiniz: ";
cin>>sinavNotu;
notSayaci = notSayaci + 1;
toplam = toplam + sinavNotu;

}
ortalama = toplam / (notSayaci-1);
cout<<"Sinif ortalamasi : "<<ortalama<<endl;
return 0;
}
Girilen -1 de toplama eklendi, hatalı sonuç

10/10/2018 18
#include <iostream>
using namespace std;
int main()
{
double toplam, notSayaci, sinavNotu,ortalama;
toplam=0;
notSayaci=0;
while(sinavNotu != -1)
{
toplam = toplam + sinavNotu;
cout<<"\nOgrencinin aldigi notu giriniz veya -1 yazarak cikis yapiniz: ";
cin>>sinavNotu;
notSayaci = notSayaci + 1;

}
ortalama = toplam / notSayaci;
cout<<"Sinif ortalamasi : "<<ortalama<<endl;
return 0;
}
Sayaç değeri döngüden çıkarken artırılmıştı, hatalı sonuç

10/10/2018 19
“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 (varolsa bile)
değerlendirmeye alınmadılar.

Bu yüzden buna izin veren double değişkeni kullanmalıyız


ortalama için.

10/10/2018 20
Sonucu ondalıklı sayı istiyorsak

#include <iostream>
#include <iomanip> //setprecision kullanimi icin
using namespace std;
//toplam degiskeni “integer”
//notSayaci degiskeni “integer”
double ortalama;
ortalama=static_cast<double>(toplam)/notSayaci;
cout<<“Sinif Ortalamasi”<<setprecision(3)<<ortalama;

10/10/2018 21
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
int toplam, notSayaci, sinavNotu;
double ortalama;
toplam=0;notSayaci=0;
while(sinavNotu != -1)
{ toplam = toplam + sinavNotu;
cout<<"\nOgrencinin aldigi notu giriniz veya -1 yazarak cikis yapiniz: ";
cin>>sinavNotu;
notSayaci = notSayaci + 1; }
ortalama = static_cast <double>(toplam) / (notSayaci-1);
//cout<<"Sinif ortalamasi : "<<setprecision(3)<<ortalama<<endl;
cout<<"Sinif ortalamasi : "<<setprecision(5)<<ortalama<<endl;
return 0;}

10/10/2018 22
1-100 arası çift sayıların ortalaması
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
double ortalama;
int toplam,i,sayac;
toplam =0;
sayac=0;
for(i=0;i<=100;i=i+2)

{
toplam = toplam + i;
sayac=sayac+1;
}

ortalama =static_cast<double> (toplam)/(sayac-1);


cout<<"ortalama:"<<setprecision(5)<<ortalama<<endl;
return 0;

}
10/10/2018 23

You might also like