Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Algoritma ve Programlamaya Giriş

Benzer bir sunumlar


... konulu sunumlar: "Algoritma ve Programlamaya Giriş"— Sunum transkripti:

1 Algoritma ve Programlamaya Giriş
Ders 5

2 Koşullu İfadeler – if-else yapısı
if( koşul ) { komut(lar) } if( koşul ) { komut(lar) } else {

3 İlişkisel ve Bileşik Operatörler
< Küçüktür > Büyüktür == Eşittir <= Küçük eşittir >= Büyük eşittir != Eşit değildir && and ve || or veya ! not tersi

4 Koşullu İfadeler - 1 #include<stdio.h> int main( void ) {
int girilen_sayi; printf("Lütfen bir tam sayı giriniz> "); scanf("%d",&girilen_sayi); if( girilen_sayi > 100 ) printf("Girilen sayı 100'den büyüktür\n"); return 0; }

5 Koşullu İfadeler - 2 #include<stdio.h> int main( void ) {
int girilen_sayi; printf("Lütfen bir tam sayı giriniz> "); scanf("%d",&girilen_sayi); if( girilen_sayi > 100 ) printf("Girilen sayı 100'den büyüktür\n"); else printf("Girilen sayı 100'den küçüktür\n"); return 0; }

6 Örnek // Kendisine verilen iki tam sayıyla bölme işlemi yapan program.
#include<stdio.h> int main( void ) { int bolunen, bolen; float sonuc; printf("Bölünecek sayıyı giriniz> "); scanf("%d",&bolunen); printf("Bölen sayıyı giriniz> "); scanf("%d",&bolen); // Bolenin 0 olmaması gerekiyor. if( bolen != 0 ) { sonuc = (float)bolunen / bolen; printf("Sonuc: %f\n",sonuc); } else printf("Hata: Sayı 0'a bölünemez!\n");

7 Örnek /* Girilen yaşın, 18 ile 65 arasında olup olmadığını belirler. */ #include<stdio.h> int main( void ) { int girilen_yas; printf("Lütfen yaşınızı giriniz> "); scanf("%d",&girilen_yas); if( girilen_yas >= 18 && girilen_yas <= 65 ) printf("Girilen yaş, 18 ile 65 arasındadır.\n"); //Girilen yaş 18 ile 65 arasında değilse, aşağıdaki else //bloğu çalışır. else { //Girilen yaş 18'den küçükse if( girilen_yas < 18 ) printf("Girilen yaş, 18'den küçüktür.\n"); //Girilen yaş 65'ten büyükse else printf("Girilen yaş, 65'ten büyüktür.\n"); }

8 If-else if if( koşul 1 ) { komut(lar) 1 } else if( koşul 2 ) {
. else if( koşul n ) { komut(lar) n } else { komut(lar) n+1 }

9 #include<stdio.h>
int main( void ) { int girilen_yas; printf("Lütfen yaşınızı giriniz> "); scanf("%d",&girilen_yas); if( girilen_yas < 18 ) printf("çocuk \n"); if( girilen_yas >= 18 && girilen_yas <= 30 ) printf("genc \n"); if( girilen_yas > 30 && girilen_yas <= 50 ) printf("orta yas \n"); return 0; }

10 #include<stdio.h>
int main( void ) { int girilen_yas; printf("Lütfen yaşınızı giriniz> "); scanf("%d",&girilen_yas); if( girilen_yas < 18 ) printf("cocuk \n"); else { if( girilen_yas >= 18 && girilen_yas <= 30 ) printf("genc \n"); if( girilen_yas > 30 && girilen_yas <= 50 ) printf("orta yas\n"); } return 0;

11 #include<stdio.h>
int main( void ) { int girilen_yas; printf("Lütfen yaşınızı giriniz> "); scanf("%d",&girilen_yas); if( girilen_yas < 18 ) printf(" cocuk\n"); else if( girilen_yas >= 18 && girilen_yas <= 30 ) printf(" genc\n"); else if( girilen_yas > 30 && girilen_yas <= 50 ) printf(" orta yas\n"); else printf("HATA: Girilen yaş tanımlı değildir!\n"); return 0; }

12 #include<stdio.h>
int main( void ) { int sayi_1, sayi_2, sayi_3; printf("Üç sayı giriniz> "); scanf("%d %d %d", &sayi_1, &sayi_2, &sayi_3); if( sayi_1 >= sayi_2 && sayi_1 > sayi_3 ) printf("%d en büyük sayıdır!\n", sayi_1); else if( sayi_2 >= sayi_1 && sayi_2 >= sayi_3 ) printf("%d en büyük sayıdır!\n", sayi_2); else if( sayi_3 >= sayi_1 && sayi_3 >= sayi_2 ) printf("%d en büyük sayıdır!\n", sayi_3); return 0; }

13 Switch-case switch( degisken ) { case sabit1: komut(lar) [break]
. case sabitN: default: komut(lar); }

14 #include<stdio.h>
int main( void ) { int not; printf("Lütfen notu giriniz> "); scanf("%d",&not); switch( not / 10 ) { case 10: case 9: printf("NOT: A\n"); break; case 8: printf("NOT: B\n"); break; case 7: printf("NOT: C\n"); break; case 6: printf("NOT: D\n"); break; case 5: case 4: case 3: case 2: case 1: case 0: printf("NOT: F\n"); break; default: printf("HATA: Bilinmeyen bir değer girdiniz!\n"); } return 0;

15 #include<stdio.h>
int main( void ) { int sayi_1, sayi_2; char operator_simgesi; printf("Lütfen işlem simgesi giriniz> "); scanf("%c",&operator_simgesi); printf("Lütfen birinci sayıyı giriniz> "); scanf("%d",&sayi_1); printf("Lütfen ikinci sayıyı giriniz> "); scanf("%d",&sayi_2); switch( operator_simgesi ) { case '+': printf("%d %c %d = %d\n",sayi_1,operator_simgesi, sayi_2, sayi_1 + sayi_2); break; case '-': printf("%d %c %d = %d\n",sayi_1,operator_simgesi, sayi_2, sayi_1 - sayi_2); break; case '%': printf("%d %c %d = %d\n",sayi_1,operator_simgesi, sayi_2, sayi_1 % sayi_2); break; case '*': printf("%d %c %d = %d\n",sayi_1,operator_simgesi, sayi_2, sayi_1 * sayi_2); break; case '/': printf("%d %c %d = %.2f\n",sayi_1,operator_simgesi, sayi_2, (float)sayi_1 / sayi_2);break; default: printf("HATA: Tanımsız bir operatör girdiniz!\n"); } return 0;

16 Gelişmiş Atama Operatörleri
+= , -= , *= , /= , %= 1-) j = j * ( 3 + x ) ==> j *= ( 3 + x ) 2-) a = a / ( 5 - z ) ==> a /= ( 5 - z ) 3-) x = x - 5 ==> x -= 5

17 #include <stdio.h>
main() { int a = 21; int c ; c = a; printf("c = %d\n", c ); c += a; c -= a; c *= a; c /= a; c = 200; c %= a; }

18 Özel arttırma ve azaltma operatörleri
Form Tip İsim Açıklama i++ postfix post-increment İşlem sonrası arttırma ++i prefix pre-increment İşlem öncesi arttırma i-- post-decrement İşlem sonrası azaltma --i pre-decrement İşlem öncesi azaltma

19 ++ ve -- operatörleri /* Bu programda, arttırma ve azaltma
işlemleri önce yapılacaktır. */ #include<stdio.h> int main( void ) { int i = 10, j = 60; printf("i = %d ve j = %d\n", ++i, --j); return 0; }

20 ++ ve -- operatörleri /* Bu programda, arttırma ve azaltma
işlemleri sonra yapılacaktır. */ #include<stdio.h> int main( void ) { int i = 10, j = 60; printf("i = %d ve j = %d\n", i++, j--); return 0; }

21 While döngüsü while( koşul ) { komut(lar) }

22 /* Ekrana 10 kere "Merhaba Dünya" yazan program*/
#include<stdio.h> int main( void ) { int i = 0; while( i++ < 10 ) { //2d bir tam sayının yazdırılacağını //ancak bu sayı tek basamaktan oluşsa da //2 rakamlık yer ayırılmasını belirtir. printf("%2d: Merhaba Dünya\n",i); } return 0;

23 #include<stdio.h>
int main( void ) { int i = 0, toplam_deger = 0; int n; printf("Lütfen n değerini giriniz> "); scanf("%d",&n); while( i <= n ) { toplam_deger += i*i; i++; } printf("Sonuç: %d\n",toplam_deger); return 0;

24 Do-while döngüsü do { komut(lar) } while( koşul );

25 #include<stdio.h>
int main( void ) { int i = 0; do { //Önce i'nin değeri arttırılıyor //sonra ekrana Merhaba Dünya yazdırılıyor. printf("%2d: Merhaba Dünya\n",++i); } while( i < 10 ); return 0; }

26 #include<stdio.h>
int main( void ) { int sayi_1, sayi_2; char devam_mi; do { printf("Birinci sayıyı giriniz> "); scanf("%d",&sayi_1); printf("İkinci sayıyı giriniz> "); scanf("%d",&sayi_2); printf("%d + %d = %d\n", sayi_1, sayi_2, sayi_1 + sayi_2); printf("Devam etmek ister misiniz? "); scanf("%c",&devam_mi); }while( devam_mi == '\n' ); printf("\n"); } while( devam_mi == 'E' || devam_mi == 'e' ); return 0; }

27 For döngüsü for( ilk_deger_atama; koşul; arttırma/azaltma ){
komut(lar) }

28 #include<stdio.h>
int main( void ) { int i; for( i = 0 ; i < 10; i++ ) { printf("%2d: Merhaba Dünya\n",(i+1)); } return 0;

29 #include<stdio.h>
int main( void ) { int i; i = 0; for( ; i < 10; ) { printf("%2d: Merhaba Dünya\n",(i+1)); i = i + 1; } return 0;

30 Break komutu /* 0 ile 99 arasında tesadüfi sayılar üreten bir programın, kaçıncı seferde 61 sayısını bulacağını yazan program.*/ #include<stdio.h> int main( void ) { int i,tesadufi_sayi; int deneme_sayisi = 0; //while içinde 1 olduğundan sonsuza kadar döngü çalışır. while( 1 ){ //tesadufi_sayi değişkenine, 0 ile 99 arasında //her seferinde farklı bir sayı atanır. //rand( ) fonksiyonu tesadüfi sayı atamaya yarar. //mod 100 işlemiyse, atanacak sayının 0 ile 99 //arasında olmasını garantiler. tesadufi_sayi = rand() % 100; //Döngünün kaç defa çalıştığını deneme_sayisi //değişkeniyle buluruz. deneme_sayisi++; //Eğer tesadufi sayı 61'e eşit olursa, //döngü kırılıp, sonlandırılır. if( tesadufi_sayi == 61 ) break; } printf("Toplam deneme sayısı: %d\n",deneme_sayisi); return 0;

31 Continue komutu /* Sadece tek sayıları yazdıran bir program */
#include<stdio.h> int main( void ) { int i; for( i = 0; i < 10; i++ ) { //i değişkeninin 2'ye göre modu //0 sonucunu veriyorsa, bu onun //bir çift sayı olduğunu gösterir. //Bu durumda ekrana yazdırılmaması //için döngü bir sonraki adıma geçer. if( i%2 == 0 ) continue; printf("%2d\n",i); } return 0;

32 Sonsuz Döngü #include <stdio.h> int main () { for( ; ; ) {
printf("Bu dongu sonsuza kadar calisir.\n"); } return 0;

33 #include <stdio.h>
int main () { int i, j; for(i = 2; i<100; i++) { for(j = 2; j <= (i/j); j++) if(!(i%j)) break; if(j > (i/j)) printf("%d asal sayidir\n", i); } return 0;

34 #include<stdio.h>
int main( void ) { int sayi,i; int faktoriyel = 1; printf("Sayı giriniz> "); scanf("%d",&sayi); //sayı 0'a büyük veya eşitse, faktoriyel //hesaplanır. if( sayi >= 0 ) { //Sayı 0 ise, alttaki döngü //hiç çalışmaz. for( i = sayi; i > 0; i-- ) { faktoriyel *= i; } printf("Faktoriyel = %d\n",faktoriyel); //Sayı 0'dan küçükse, değer hesaplanamaz. else printf("HATA: Sayı 0'dan küçük olamaz!\n"); return 0;

35 #include<stdio.h>
int main( void ) { int sayi; int yazilacak_rakam; printf("Sayıyı giriniz> "); scanf("%d",&sayi); printf("Sayının tersi: "); while( sayi>10 ) { //Sayının son rakamı alınıp //ekrana yazdırılıyor. yazilacak_rakam = sayi % 10; printf("%d",yazilacak_rakam); //Son rakam ekrana yazdırıldığı //için sayının son hanesi atılıyor. sayi /= 10; } printf("%d\n",sayi); return 0;

36 #include<stdio.h>
int main( void ) { int girilen_sayi_adedi = 0; int sayi_toplami = 0; int girilen_sayi; //Sonsuz döngü oluşturuyoruz. for( ; ; ) { printf("Lütfen bir sayı giriniz> "); scanf("%d",&girilen_sayi); if( girilen_sayi < 0 ) break; sayi_toplami += girilen_sayi; girilen_sayi_adedi++; } printf("Toplam %d adet sayı girilmiştir.\n",girilen_sayi_adedi); printf("Bunların toplam değeri %d olarak bulunmuştur.\n",sayi_toplami); printf("Ortalaması %.3f olarak hesaplanmıştır\n",(float)sayi_toplami/girilen_sayi_adedi); return 0;

37 #include<stdio.h>
int main( void ) { int i, j; for( i = 0 ; i < 5; i++ ) { for( j = 0; j < i+1; j++ ) { printf("* "); } printf("\n"); return 0;

38 #include<stdio.h>
int main( void ) { int i=0,j; while( i < 5 ) { j = 0; while( j < i+1 ) { printf("* "); j++; } printf("\n"); i++; return 0;


"Algoritma ve Programlamaya Giriş" indir ppt

Benzer bir sunumlar


Google Reklamları