Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Program Dallandırma Komutları. Şartlı deyim Kullanımı: şart ? deyim 1 : deyim 2 şart: mantıksal bir deyim Eğer şart değeri doğru ise (sıfır değilse)

Benzer bir sunumlar


... konulu sunumlar: "Program Dallandırma Komutları. Şartlı deyim Kullanımı: şart ? deyim 1 : deyim 2 şart: mantıksal bir deyim Eğer şart değeri doğru ise (sıfır değilse)"— Sunum transkripti:

1 Program Dallandırma Komutları

2

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

4 Örnek: cout = 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 int Deger1, Deger2, Buyuk; Buyuk = ( (Deger1 > Deger2) ? Deger1 : Deger2 );

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

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

11 3. 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 4. 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

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. 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 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 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

28 if (YilB>=YilK) { GunFark=GunB-GunK; AyFark=AyB-AyK; YilFark=YilB-YilK; cout<<”Aradaki fark” <

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 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<>Sic; Top=Top+Sic; if (SicEnB) { EnB=Sic; EnBGun=i; }

32 Ort=Top/30; cout<<"En dusuk sicaklik: "<

33 SORULAR: 1. 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 2. Yapılan hız girildiğinde ödenmesi gereken cezayı bulan programı yazınız. HIZLAR CEZA ÜCRETİ -120 km km 100 TL km 150 TL TL TL

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

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

37 5. 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 6. İkinci derece bir denklemin köklerini bulan programı yazınız. ( sqrt() kütüphanesi math.h ) ax 2 +bx+c D=b 2 -4ac D>0 ise x 1 =-b-sqrt(D)/(2a) x 2 =-b+sqrt(D)/(2a) D=0 ise x 1 =x 2 =-b/(2a) D<0 ise kök yok

39 7. İ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 8. Girilen iki sayıdan büyük olanını if veya if-else ile bulan programı yazınız.

41

42 Kullanımı: switch ( değişken) { case Sabit 1 : KomutListesi 1 break; case Sabit 2 : KomutListesi 2 break;. case Sabit n : KomutListesi n break; default: KomutListesi n+1 }

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

44 switch deyimi çalıştırıldığında değişken değerlendirilir. değişken’in değeri case listesinde varsa KomutListesi i, 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 KomutListesi n+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 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!... 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>=90 A 80<=Ort<90 B 70<=Ort<80 C 60<=Ort<70 D Ort<60 F

51 #include 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'; break; case 7: HarfNot = 'C'; break;

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

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

55 Örnek: Basit 4 işlem yapan programı yazınız. #include 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; break; case ‘*’: sonuc = a * b; break; case ‘/’: sonuc = a / b; break; } cout << a << “ “ << islem << “ “ << b << “= “ << sonuc; getch(); }

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

58 Aynı programın farklı yazımı #include 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; break; case ‘*’: sonuc = a * b; break; case ‘/’: sonuc = a / b; break; } cout << “Sonuc: “ << sonuc; getch(); }

60 Ekran çıktısı: islem: Sonuc: 8

61 SORULAR: 1. 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)/

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 (+ - * /) girildiğinde işlemi yapıp sonucu yazan programı yazın.  Not: switch ile


"Program Dallandırma Komutları. Şartlı deyim Kullanımı: şart ? deyim 1 : deyim 2 şart: mantıksal bir deyim Eğer şart değeri doğru ise (sıfır değilse)" indir ppt

Benzer bir sunumlar


Google Reklamları