Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BİLGİSAYAR programlama II

Benzer bir sunumlar


... konulu sunumlar: "BİLGİSAYAR programlama II"— Sunum transkripti:

1 BİLGİSAYAR programlama II
Program Dallandırma Komutları BİLGİSAYAR programlama II

2 şartli deyİm

3 Şartlı deyim Kullanımı: şart ? deyim1 : deyim2 şart: mantıksal bir deyim Eğer şart değeri doğru ise (sıfır değilse) sonuç olarak deyim1 verilir, eğer şart değeri yanlış ise (sıfırsa) sonuç olarak deyim2 verilir.

4 Örnek: cout << ( (Ortalama >= SinirDeger) ? “Gecer” : “Kalir” ); Eğer (Ortalama >= SinirDeger) şartı doğru (1) ise ekrana şunu yazacaktır: Gecer Eğer (Ortalama >= SinirDeger) şartı yanlış (0) ise ekrana şunu yazacaktır: Kalir

5 Örnek: cout << “\nKirlilik degeri = “ << Deger << “: “; if (Deger < Limit) cout << “Guvenli durum.\n”; else cout << “Zararli durum!\n”;

6 Aynı programın şartlı deyim ile yazımı
cout << “\nKirlilik degeri = “ << Deger << “: “ << ((Deger < Limit) ? “Guvenli durum.\n” : “Zararli durum!\n”);

7 Örnek: Girilen sayının tersini hesaplama
Tersi = (x == 0) ? 0 : 1/x; x değeri 0 olduğunda 1/x hesaplanamayacağından yukarıdaki ifade güvenlidir, dolayısıyla “divide-by-zero” hatasına neden olmaz.

8 Örnek: Girilen iki sayıdan büyük olanın bulunması
int Deger1, Deger2, Buyuk; if (Deger1 > Deger2) Buyuk = Deger1; else Buyuk = Deger2; veya Buyuk = ( (Deger1 > Deger2) ? Deger1 : Deger2 );

9 Örnek: İki sayıdan büyüğünü bulan program.
#include <iostream.h> #include <conio.h> #define max(x,y) (x>y) ? x : y main() { int a=7, b=9; int c = max(a, b); cout << c; getch(); }

10 SORULAR Klavyeden girilen iki sayı arasındaki mutlak farkı şartlı deyim kullanarak hesaplayan programı yazın. Klavyeden girilen iki sayıdan, büyük olandan küçük olanı çıkararak sonucu ekrana yazan programı yazın.

11 Klavyeden girilen iki sayıdan ilkini sonrakine bölerek sonucu ekrana yazan programı yazın. (Sıfıra bölme hatası vermemesi için şartlı deyim kullanılacaktır.)

12 Bir akaryakıt istasyonu alınan akaryakıt miktarı 20 litre ve üstünde olduğunda indirim %10 indirim yapmaktadır. Alınan yakıt miktarı (lt) ve yakıt litre fiyatı (TL) girildiğinde ödenmesi gereken tutarı hesaplayan programı ŞARTLI DEYİM kullanarak yazınız. KDV oranı %18’dir.

13 If-else

14 Koşula bağlı olarak programın bir parçasını aktif hale getirir.
Kullanımı: if (koşul) deyim #1; else deyim #2; Koşul doğru ise deyim #1 aktif hale gelir, yanlış ise deyim #2 aktif hale gelir.

15 Veya if (koşul) { deyimler #1; } else deyimler #2; Koşul doğru ise 1
Veya if (koşul) { deyimler #1; } else deyimler #2; Koşul doğru ise 1. bloktaki komutlar (deyimler #1) aktif hale gelir, yanlış ise 2. bloktaki (deyimler #2) aktif hale gelir.

16 Örnek: if (ortalama >= 65) cout << “ gecti”;
else cout <<”kaldi”; if (ortalama >= 50 && ortalama <= 65) cout <<” CC aldi”

17 Örnek: Klavyeden bilgisayara vize ve final notları girildiğinde, vizenin %40’ını, finalin %60’ını alarak başarı notunu hesaplayan, başarı notu 50 ve üzerinde ise ekrana geçti, aksi halde kaldı yazan program yazınız.

18 #include <iostream. h> #include <conio
#include <iostream.h> #include <conio.h> main() { int vize, final, ortalama; cout << "vizeyi girin= "; cin>>vize; cout << "finali girin= "; cin >> final; ortalama = 0.4 * vize * final; cout << "ortalama= " << ortalama << endl; if (ortalama >= 50) cout << "gecti"; else cout << "kaldi"; getch(); }

19 Not: Program sonunda kullanılan getch() komutu, klavyeden bir tuşa basılmasını ve basılan tuşun okunabilmesini sağlayan komuttur. conio.h kütüphanesinde bulunmaktadır. Burada kullanılmasının nedeni, program sona erdiğinde program çalışma ekranının kapanmadan önce ekranı görebilmek içindir.

20 Örnek: Gün, ay ve yıl olarak girilen iki tarih arasındaki farkı yine gün, ay ve yıl olarak hesaplayan program. Not: 1 ay 30 gün kabul edilecektir.

21 Programı yazmadan önce iki tarih arasındaki fark nasıl hesaplanır inceleyelim: Örnek olarak büyük olan tarih olsun. Önceki (küçük olan) tarih ise olsun.

22 İki tarih arasındaki farkı hesaplarken önce günler, sonra aylar ve sonra yıllar arasındaki farklar hesaplanır. Dolayısıyla tersten yazmak gerekir:

23 Büyük tarih: Küçük tarih: Görüldüğü gibi 12 den 25 çıkmaz, aylardan (09) bir alınarak günlere (30 gün olarak) eklenir:

24 Büyük tarih: Küçük tarih: Sıra ay farklarına geldiğinde aynı durum söz konusu. 8 den 12 çıkmaz, yıl bir azaltılarak aylara 12 eklenir.

25 Büyük tarih: Küçük tarih: Fark 8 yıl, 8 ay, 17 gündür. Program yazılırken de bu kontrollerin yapılması gerekmektedir. Program şu şekildedir:

26 #include<iostream. h> #include<conio
#include<iostream.h> #include<conio.h> main() { int GunB,AyB,YilB; int GunK,AyK,YilK; int GunFark,AyFark,YilFark; cout<<”Buyuk Tarih (gg aa yyyy): ”; cin >> GunB >> AyB >> YilB; cout<<”Kucuk Tarih (gg aa yyyy): ”; cin >> GunK >> AyK >> YilK;

27 if (GunB<GunK) { GunB=GunB+30; AyB=AyB-1; } if (AyB<AyK)
if (AyB<AyK) AyB=AyB+12; YilB=YilB-1;

28 if (YilB>=YilK) { GunFark=GunB-GunK; AyFark=AyB-AyK; YilFark=YilB-YilK; cout<<”Aradaki fark” <<GunFark<<”gun,”; cout<<AyFark <<”ay, ”; cout <<YilFark<<”yildir…”; } else cout<< ”Bu fark hesaplanamaz…”; getch();

29 Örnek: Bir ayın her bir gününe ait sıcaklık değerleri girildiğinde (30 ün), aylık ortalama sıcaklığı hesaplayan, o aya ait en düşük ve en yüksek sıcaklık değerlerini ait oldukları günle birlikte belirleyen ve bu bilgileri ekrana yazan program.

30 #include<iostream. h> #include<conio
#include<iostream.h> #include<conio.h> void main() { int i,Sic,Top; int EnK,EnB; int EnKGun,EnBGun; float Ort; clrscr(); Top=0; EnK=99; EnB=-99;

31 for (i=1; i<=30; i++) { cout<<i<<" . gun sicaklik degeri: "; cin>>Sic; Top=Top+Sic; if (Sic<EnK) { EnK=Sic; EnKGun=i; } if (Sic>EnB) { EnB=Sic; EnBGun=i;

32 Ort=Top/30; cout<<"En dusuk sicaklik: "<<EnK<<endl;
cout<<"Gunu: "<<EnKGun<<endl; cout<<"En yuksek sicaklik: "<<EnB<<endl; cout<<"Gunu: "<<EnBGun<<endl; cout<<"Ortalama sicaklik: "<<Ort; getch(); }

33 SORULAR: Başarı notu girildiğinde aşağıdaki tabloya göre, notlara karşılık gelen harf cinsinden notu ekrana yazdıran programı yazınız. FF DD DC CC CB BB BA AA

34 Yapılan hız girildiğinde ödenmesi gereken cezayı bulan programı yazınız.
HIZLAR CEZA ÜCRETİ -120 km km TL km TL TL TL

35 Gelir bilgisi girildiğinde ödenecek vergi ve net ücreti bulan programı yazınız.
TL ye kadar %18 – %25 – %30 – %35 %45

36 Klavyeden girilen iki sayıyı seçiminize göre toplayan, farkını hesaplayan, çarpan, bölümünü bulan programı yazın.

37 Bir araç kiralama şirketi 50 TL’lik sabit ücret üzerine 100 km’ye kadar her bir km için 50 kuruş, 100 km’den uzun kullanımlar için her bir km için 40 kuruş ek ücret almaktadır. Seyahat edilecek uzaklık km cinsinden girildiğinde ödenmesi gerekli ücreti hesaplayan programı yazın.

38 İkinci derece bir denklemin köklerini bulan programı yazınız.
( sqrt() kütüphanesi math.h ) ax2+bx+c D=b2-4ac D>0 ise x1=-b-sqrt(D)/(2a) x2=-b+sqrt(D)/(2a) D=0 ise x1=x2=-b/(2a) D<0 ise kök yok

39 İlk endeks, son endeks ve abone türü girildiğinde ödenmesi gereken elektrik faturasını hesaplayan programı yazınız. Birim ücretler: Ev türü için 1,5 TL/kWh İşyeri için 1,75 TL/kWh KDV oranları: Ev için %18 İşyeri için %9

40 Girilen iki sayıdan büyük olanını if veya if-else ile bulan programı yazınız.

41 switch

42 { case Sabit1 : KomutListesi1 break; case Sabit2 : KomutListesi2 .
Kullanımı: switch ( değişken) { case Sabit1 : KomutListesi1 break; case Sabit2 : KomutListesi2 . case Sabitn : KomutListesin default: KomutListesin+1 }

43 değişken, tamsayı veya tamsayı uyumlu değişken
Sabiti, tamsayı veya tamsayı uyumlu bir değer default, seçeneğe bağlı (olması zorunlu değil) KomutListesii, komutlar dizisi

44 switch deyimi çalıştırıldığında değişken değerlendirilir
switch deyimi çalıştırıldığında değişken değerlendirilir. değişken’in değeri case listesinde varsa KomutListesii, break deyimine, return deyimine veya switch deyimi sonuna kadar çalıştırılır. değişken’in değeri case listesinde yoksa default deyimindeki KomutListesin+1 çalıştırılır. default deyimi bulunmuyorsa çalıştırma işlemi switch bloğundan sonra devam eder.

45 Örnek: Herhangi bir ayın numarası girildiğinde (1-12) o ayın adını yazan program.
#include <iostream.h> #include <conio.h> main() { int AyNo; cout<<"Kacinci ay: "; cin>>AyNo;

46 switch (AyNo) { case 1: cout<<"Ocak"; break; case 2: cout<<"Subat"; break; case 3: cout<<"Mart"; break; case 4: cout<<"Nisan"; break; case 5: cout<<"Mayis"; break; case 6: cout<<"Haziran"; break; case 7: cout<<"Temmuz"; break; case 8: cout<<"Agustos"; break; case 9: cout<<"Eylul"; break; case 10: cout<<"Ekim"; break; case 11: cout<<"Kasim"; break; case 12: cout<<"Aralik"; break; default: cout<<"Yanlis giris!..."; } getch();

47 Ekran çıktısı: Kacinci ay: 5 Mayis

48 Yukarıdaki programda switch bloğu aşağıdaki gibi (break komutları unutulmuş olsun) yazılmış olsun.
switch (AyNo) { case 1: cout<<"Ocak"; case 2: cout<<"Subat"; case 3: cout<<"Mart"; case 4: cout<<"Nisan"; case 5: cout<<"Mayis"; case 6: cout<<"Haziran"; case 7: cout<<"Temmuz"; case 8: cout<<"Agustos"; case 9: cout<<"Eylul"; case 10: cout<<"Ekim"; case 11: cout<<"Kasim"; case 12: cout<<"Aralik"; default: cout<<"Yanlis giris!..."; }

49 Bu durumda ekran çıktısı: Kacinci ay: 10 EkimKasimArlikYanlis giris
Bu durumda ekran çıktısı: Kacinci ay: 10 EkimKasimArlikYanlis giris!... Case 1: case 2: Case 3: cout << ‘’***’’;

50 Örnek: Öğrencinin ortalama notu (0-100) girildiğinde harf cinsinden karşılık gelen notunu bulup yazan program. Ortalama Harf Ort>= A 80<=Ort< B 70<=Ort< C 60<=Ort< D Ort< F

51 #include <iostream.h>
#include <conio.h> main() { float Ort; char HarfNot; cout<<"Ortalama not: "; cin>>Ort;

52 switch ( int (Ort/10) ) // Sonucu int yapmak icin { case 10: case 9: HarfNot = 'A'; break; case 8: HarfNot = 'B'; case 7: HarfNot = 'C';

53 case 6: HarfNot = 'D'; break; default: HarfNot = 'F'; } cout<<"Harf not: "<<HarfNot; getch();

54 Ekran çıktısı: Ortalama not: 78 Harf not: C

55 Örnek: Basit 4 işlem yapan programı yazınız.
#include <iostream.h> #include <conio.h> main() { float a, b, sonuc; char islem; cout << “1. sayi: “; cin >> a; cout << “2. sayi: “; cin >> b; cout << “Istenen islem (+, -, *, /): “; cin >> islem;

56 switch( islem ) { case ‘+’: sonuc = a + b; break; case ‘-’: sonuc = a - b; case ‘*’: sonuc = a * b; case ‘/’: sonuc = a / b; } cout << a << “ “ << islem << “ “ << b << “= “ << sonuc; getch();

57 Istenen işlem (+, -, /, *): + 3 + 5= 8
Ekran çıktısı: 1. sayi: 3 2. sayi: 5 Istenen işlem (+, -, /, *): + 3 + 5= 8

58 Aynı programın farklı yazımı
#include <iostream.h> #include <conio.h> main() { float a, b, sonuc; char islem; cout << “islem: “; cin >> a >> islem >> b;

59 switch( islem ) { case ‘+’: sonuc = a + b; break; case ‘-’: sonuc = a - b; case ‘*’: sonuc = a * b; case ‘/’: sonuc = a / b; } cout << “Sonuc: “ << sonuc; getch();

60 Ekran çıktısı: islem: 3 + 5 Sonuc: 8

61 SORULAR: Fahrenheit’ten Celsius’a, Celsius’tan Fahrenheit’a, Fahrenheit’tan Kelvin’e, Kelvin’den Fahrenheit’e, Celsius’tan Kelvine’e veya kelvin’den Celsius’a sıcaklık dönüşümü yapan bir program yazınız. Not: switch kullanılacak ve aşağıdaki ekran çıktısı görümüne sahip olacak.

62 Ekran: Dönüştürmek istediğiniz sıcaklık değeri: 212 Seçenekler: A- Fahrenheit’tan Celsius’a B- Celsius’tan Fahrenheit’a C- Fahrenheit’tan Kelvin’e D- Kelvin’den Fahrenheit’a E- Kelvin’den Celsius’a F- Celsius’tan Kelvine’e Seçiminiz: A Dönüştürülen sıcaklık: 100

63 Dönüşümler: C = (F-32) / 1.8 C = K – 273; K = (F-32)/1.8 + 273

64 Girilen bir sayının pozitif, negatif veya sıfır olup olmadığını bildiren programı yazın.
Not: switch kullanılacaktır.

65 İki sayı ve istenen işlemden biri (+ -
İki sayı ve istenen işlemden biri (+ - * /) girildiğinde işlemi yapıp sonucu yazan programı yazın. Not: switch ile


"BİLGİSAYAR programlama II" indir ppt

Benzer bir sunumlar


Google Reklamları