Bölüm 5 Döngü Komutları while Komutu while Komutu Diğer Operatörler (Bileşik atama, artırma ve azaltma operatörleri ) Diğer Operatörler (Bileşik atama,

Slides:



Advertisements
Benzer bir sunumlar
Yrd. Doç.Dr. Nilgün GÜLER BAYAZIT
Advertisements

Bölüm 2: Program Denetimi
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Soru1: Kullanıcıdan iki tam sayı girmesini isteyen ve daha sonra büyük olan sayı ile beraber ‘en büyüktür’ ifadesi yazan, ancak sayılar birbirine eşitse.
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
PROGRAM DENETİM DEYİMLERİ
The if statement. if Şartlı kontrol Koşul değimi doğru (1) yada yanlış (0) değeri üretir. Şartın doğru olması durumunda if satırından sonraki değimler.
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
3. HAFTA 3. Hafta.
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
BİLGİSAYAR PROGRAMLAMA Ders 2: Algoritma ve Akış Şemaları
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
1 Bölüm 5 Döngü Komutları Alıştırmalar Bu bölümdeki problemler “C Dersi Çözümlü Problem Kitabı”, N. E. Ça ğ ıltay, C. E. Selbes, G. Tokdemir, ve Ç. Turhan,
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
Örnek 1 Kullanıcının girdiği bir sayının karesini hesaplayan bir program yazınız.
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
Bölüm 4 Seçme Komutları Alıştırmalar
Örnek Sorular Bilgisayar Programlama BIL 107. Soru 1: Ekran çıktısında 66 yazması için boşlukları doldurunuz ______ i = 'A'; printf(____, i__); CEVAP:
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
ÇOK BOYUTLU SİNYAL İŞLEME
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
1 Bölüm 3 Atama ve Girdi/Çıktı Komutları Alıştırmalar Bu bölümdeki problemler “C Dersi Çözümlü Problem Kitabı”, N. E. Ça ğ ıltay, C. E. Selbes, G. Tokdemir,
1 Bölüm 2 C Dilinin Temelleri Alıştırmalar Bu bölümdeki problemler “C Dersi Çözümlü Problem Kitabı”, N. E. Ça ğ ıltay, C. E. Selbes, G. Tokdemir, ve Ç.
Bölüm 2 C Dilinin Temelleri
BİLGİSAYAR PROGRAMLAMA DERSİ
Bilgisayar Programlama BIL 107
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
Algoritma ve Programlamaya Giriş
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H05
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Algoritma ve Programlamaya Giriş
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
C PROGRAMLAMADA AKIŞ KONTROLÜ
Algoritma ve Programlamaya Giriş
NBP103 Programlama Temelleri Öğr. Gör. Mahmut Kılıçaslan
BİLGİSAYAR PROGRAMLAMA Ders 4: Koşula Göre İşlem Yapma
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Bilgisayar Mühendisliğine Giriş
PINAR KARTALO Ğ LU.  Belirli sayıda i ş lemlerin tekrarlanması için kullanılan döngülerdir. for döngüleri ba ş langıç ve biti ş de ğ erleri arasında.
PARAMETRİK HİPOTEZ TESTLERİ
Bölüm 7 İfadeler ve atamalar.
BİLGİSAYAR programlama II
BİLGİSAYAR programlama II
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
YAPISAL PROGRAMLAMA Hafta-4
Bölüm 2: Program Denetimi
Bilgisayar Bilimi Koşullu Durumlar.
BİL 112 Programlamaya Giriş
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
?: KARŞILAŞTIRMA OPERATÖRÜ
NİŞANTAŞI ÜNİVERSİTESİ
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
Bilgisayar Bilimi Fonksiyon Yazma.
Değerler ve Değişkenler
WHILE DÖNGÜSÜ while (şart) { ifade 1; ifade 2; }
NİŞANTAŞI ÜNİVERSİTESİ
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
İleri Algoritma Analizi
Diziler(Arrays).
Sunum transkripti:

Bölüm 5 Döngü Komutları while Komutu while Komutu Diğer Operatörler (Bileşik atama, artırma ve azaltma operatörleri ) Diğer Operatörler (Bileşik atama, artırma ve azaltma operatörleri ) for Komutu for Komutu do-while Komutu do-while Komutu Bileşik Komut Bileşik Komut İçiçe Döngüler İçiçe Döngüler break ve continue Komutları break ve continue Komutları Döngülerde Yapılan Temel Hatalar Döngülerde Yapılan Temel Hatalar

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 2Giriş Döngü komutları komutların bir çok kez yeniden yürütülmesini sağlayan, programlamada kullandığımız önemli yapılardan biridir. C dilinde bize bu özelliği sağlayan komutlar  while  for  do-while komutlarıdır.

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 3 while ( koşul_ifadesi ) komut; while Komutu while döngüsünde komut’un yürütümü koşul ifadesi doğru olduğu sürece devam eder.

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 4 while Komutu printf(“Bir pozitif sayi giriniz:”); scanf(“%d”,&n); while(n<0) scanf(“%d”,&n); printf(“En son n degeri: %d”,n); Örnek:

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 5 while Komutu sayac=1; → İlk değer atama aşaması while(sayac<=10) → Kontrol aşaması { printf(“%3d”,sayac); sayac=sayac+1; → Güncelleme aşaması } while Komutunun Aşamaları

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 6 while Komutu Örnek : Pozitif sayıların girildiği ve girilen bu pozitif sayıların en büyüğünün bulunduğu programı yazınız. Programda sayı girme işlemi negatif bir sayı girilinceye kadar devam etmelidir. –

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 7 while Komutu #include int main(void) { int sayi,max=0; /*En buyuk sayinin sifir oldugunu kabul edelim.*/ printf("Sayi giriniz: "); scanf("%d",&sayi); while(sayi>0) { /*Eger girilen sayi max da bulunan buyuk sayidan daha buyukse yeni girilen sayi max degiskenine atanir*/ if(sayi>max) max=sayi; printf("Sayi giriniz: "); scanf("%d",&sayi); } printf("En buyuk pozitif sayi: %d",max); return(0); }

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 8 Diğer Operatörler Bileşik Atama Operatörleri: +=, -=, *=, /=, %= değişken = değişken operatör ifade; değişken operatör = ifade;

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 9 Diğer Operatörler Artırma ve Azaltma Operatörleri: ++, -- sayac=sayac+1; sayac++; (son-ek) ++sayac; (ön-ek)

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 10 int i=20, k=2, bul; printf (“bul=%d”, bul=++i + 5 – k--); Yukarıdaki program parçası çalıştırıldığında ekranda görülecek değer nedir? ÇIKTI: bul=24 Diğer Operatörler

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 11 for Komutu for ( ilk_değer_atama_komutu ; kontrol_ ifadesi ; güncelleme_ komutu) döngü_komutları;

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 12 for Komutu for ( ilk_değer_atama_komutu ; kontrol_ ifadesi ; güncelleme_ komutu) döngü_komutları;

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 13 for Komutu while döngüsü sayac=1; while(sayac<=10) { printf(“%3d”,sayac); sayac++; } Eşdeğer for döngüsü for(sayac=1; sayac<=10; sayac++) printf(“%3d”,sayac);

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 14 for Komutu Örnek: Pozitif bir n sayısını ve bu n sayısı kadar da tamsayıyı girdi olarak alan programı yazınız. Ayrıca, bu programda girilmiş olan n tane tamsayının kaçının negatif, pozitif ve sıfır olduğunu hesaplayıp ekranda gösteriniz.

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 15 for Komutu #include int main(void) { int pos=0,neg=0,sifir=0,n,sayi,i; printf("Kac tane sayi gireceksiniz: "); scanf("%d",&n); /*Dongu icinde n tane sayinin girilmesi ve islenmesi*/ for(i=1;i<=n; i=i+1) { printf("%d. sayi: ",i); scanf("%d",&sayi); /*Girilen sayinin pozitif, negatif veya sifir olup olmadiginin belirlenmesi*/ if(sayi>0) pos++; else if(sayi<0) neg++; else sifir++; } /*Sonuclarin gosterilmesi*/ printf("\n%d adet pozitif sayi.\n",pos); printf("%d adet negatif sayi.\n",neg); printf("%d adet sifir sayisi.\n",sifir); return(0); }

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 16 for Komutu for(i=0,j=0; i -8; i++, j--) printf(“%3d %3d\n”,i,j); toplam=0; i=1; for(; i<=10; i++) toplam+=i; toplam=0; i=1; for(; i<=10; ) { toplam+=i; i++; } for Komutunun Farklı Kullanımları

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 17 do-while Komutu do komut; while (koşul_ifadesi );

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 18 do-while Komutu while ve for komutlarında koşul ifadesi, döngünün başında kontrol edilirken, do-while komutunda kontrol işlemi döngünün sonunda yapılır. Dolayısıyla, do-while komutunun diğerlerinden en büyük farkı, içerisindeki komut ya da komutların (koşul ifadesi doğru olsa da olmasa da) en az bir kere çalışacak olmasıdır.

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 19 do-while Komutu Örnek : Aşağıdaki seçenekleri görüntüleyecek ve seçeneklere göre aşağıda tanımlanan seçeneğin alanını bulacak bir C programı yazınız. 1. Kare 2. Daire 3. Bitti

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 20 do-while Komutu #include #define PI int main(void) {int cevap; double a,r,alan; do { /*Menunun goruntulenmesi*/ printf("\n1. Kare"); printf("\n2. Daire"); printf("\n3. Bitir"); printf("\n\nSeceneginizi belirtiniz: "); scanf("%d",&cevap); switch(cevap) { case 1: /*Karenin alaninin hesaplanmasi*/ printf("\nKarenin kenar uzunlugunu giriniz: "); scanf("%lf",&a); alan=a*a; printf("Karenin alani:%.2f\n",alan); break; case 2: /* Dairenin alaninin hesaplanmasi*/ printf("\nDairenin yaricap uzunlugunu giriniz: "); scanf("%lf",&r); alan=PI*r*r; printf("Dairenin alani:%.2f\n",alan); } while(cevap!=3); return(0); }

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları bölümde anlatılan bileşik komut döngülerde de kullanılır. Ayrıca, bileşik komutların if komutları, else komutları ve döngülerde kullanımı dışında farklı kullanımları da söz konusudur. Bileşik Komut

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 22 İçiçe Döngüler

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 23 İçiçe Döngüler Örnek : Bir başka örnek olarak aşağıdaki çıktıyı veren program parçasını içiçe döngüler kullanarak yazalım for( i=1; i<=8; i++) { for(j=i; j>=1;j--) printf(“%3d”,j); printf(“\n”); }

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 24 İçiçe Döngüler Örnek: Pozitif bir tamsayı olan n değerini girdi olarak alan ve n sayısına kadar olan bütün asal sayıları bulup ekranda gösteren bir C programı yazınız. Örnek Çıktı: Pozitif tamsayi giriniz: arasindaki butun asal sayilar: Örnek: Pozitif bir tamsayı olan n değerini girdi olarak alan ve n sayısına kadar olan bütün asal sayıları bulup ekranda gösteren bir C programı yazınız. Örnek Çıktı: Pozitif tamsayi giriniz: arasindaki butun asal sayilar:

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 25 #include int main(void) {int n; int num,bayrak,i; printf("Pozitif tamsayi giriniz: "); scanf("%d",&n); printf("\n 1-%d arasindaki butun asal sayilar:",n); printf("\n \n"); for (num=2 ; num<=n ; num=num+1) { bayrak=1; i=2; while ((i<num) && (bayrak==1)) { if((num%i)==0) bayrak=0; i=i+1; } if (bayrak==1) printf("%3d",num); } printf("\n"); system("pause"); return 0; } 25 İçiçe Döngüler

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 26 İstediğiniz döngü çeşitlerini içiçe kullanabilirsiniz. İstediğiniz kadar döngü içiçe kullanabilirsiniz. Not: Gereksiz döngülerden kaçınmanız programın verimliliğini artıracaktır. Unutmayınız!! İstediğiniz döngü çeşitlerini içiçe kullanabilirsiniz. İstediğiniz kadar döngü içiçe kullanabilirsiniz. Not: Gereksiz döngülerden kaçınmanız programın verimliliğini artıracaktır. Unutmayınız!! İçiçe Döngüler

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 27 break ve continue Komutları break komutu herhangi bir döngü komutu içinde kullanıldığında döngüden çıkılmasını sağlar. for( i=1; i<=10;i++) { printf(“Sayi giriniz:”); scanf(“%d”,&sayi); if(sayi<=0) break; } printf(“%d pozitif sayi girildi.”,i-1);

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 28 break ve continue Komutları Döngünün herhangi bir aşamasında continue komutuna gelindiğinde, o turun yürütümü o noktada kesilir ve yürütüm bir sonraki tur ile devam eder. toplam=0; for( i=1; i<=5;i++) { printf("Sayi giriniz:"); scanf("%d",&sayi); if(sayi<=0) { i--; continue;} toplam+=sayi; } printf(“Toplam: %d”,toplam);

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 29 Döngülerde Yapılan Temel Hatalar ‘{’ ve ‘}’ ayraçlarının unutulması. toplam=0; carpim=1; for (i=1;i<n;i++) toplam +=i; carpim+=i; printf(“Toplam=%d Carpim=%d\n”,toplam,carpim);

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 30 Döngülerde Yapılan Temel Hatalar ‘;’ hatalı kullanımı. toplam=0; for (i=1;i<n;i++); toplam+=i; printf(“Toplam=%d\n”,toplam);

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 31 Döngülerde Yapılan Temel Hatalar Yapısal hatalar. Örnek: toplam=0; i=1; while(1) { if(i<=100) { toplam+=i; ++i; } else break; } printf(“Toplam=%d\n”,toplam); toplam=0; i=1; while(i<=100) { toplam+=i; ++i; } printf(“Toplam=%d\n”,toplam); toplam=0; i=1; while(i<=100) { toplam+=i; ++i; } printf(“Toplam=%d\n”,toplam); Yürütüm süresi (Execution time) azaltılır. Daha okunabilir ve anlaşılabilir yapı elde edilebilir. Yürütüm süresi (Execution time) azaltılır. Daha okunabilir ve anlaşılabilir yapı elde edilebilir.

C DERSİ Programlamaya Giriş Bölüm 5 Döngü Komutları 32 Okuma ve Alıştırma Ödevi “C Dersi Programlamaya Giriş”, N. E. Çağıltay, C. E. Selbes, G. Tokdemir, ve Ç. Turhan, 5. Baskı, Ada Matbaacılık Ltd. Şti., 2013 ders kitabının 5. bölümünü evde okuyunuz ve bölüm sonundaki problemleri çözünüz.