Yrd. Doç.Dr. Nilgün GÜLER BAYAZIT

Slides:



Advertisements
Benzer bir sunumlar
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
Advertisements

Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
Döngüler.
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
BİLEŞİK ATAMA VE DÖNGÜLER
ÖMYO Nesne Tabanlı Programlama-1
Nöbetçi Kontrollü Döngü
Kontrol İfadeleri : 2.Kısım
MIT504 İnternet ve Web Programlama: Javascript programlama devam Yrd. Doç. Dr. Yuriy Mishchenko.
DÖNGÜ İFADELERİ.
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
DÖNGÜ “Şart sağlandığı sürece” içerisindeki komut satırlarını, artış değeri adedince tekrarlayan kodlardır.
switch - case Yapısı Döngü Yapıları
Kontrol Çevrimleri FOR WHILE DO-WHILE IF-ELSE SWITCH-CASE-DEFAULT
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
Bölüm 4 – Kontrol İfadeleri:1.kısım
Bölüm 5 – Kontrol İfadeleri : 2.Kısım
Bölüm 2: Program Denetimi
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
Bölüm 10 Yapılar ve Birleşimler
Karar ifadeleri ve Döngüler
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 3: Döngüler
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Bölüm 3 – Yapısal Programlama
T-SQL-2.Konu Akış Kontrolleri.
Yapısal Program Geliştirme – if, if-else
DÖNGÜLER.
Program Kontrol İfadeleri
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.
5. HAFTA
Döngü ve Koşul Komutları
~DÖNGÜLER~.
Döngü Yapıları.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Bölüm 2 – Kontrol Yapıları
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
Akış Kontrol Mekanizmaları
Kontrol Yapıları ve Döngüler
For Döngüsü Foreach Döngüsü While Döngüsü
Bilgisayar Programlama Güz 2011
DÖNGÜLER.
MATLAB’te Döngüler.
Bölüm 4 – C’de Program Kontrolü
DÖNGÜ YAPILARI.
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
PROGRAM DENETİM DEYİMLERİ
4. KONTROL VE DÖNGÜ KOMUTLARI
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN PASCAL ile Programlamaya Giriş DÖNGÜLER (Loops)
Nesne Tabanlı Programlama 2
DÖNGÜ DEYİMLERİ Programın belirli bir kesiminin birden fazla tekrarlanması işlemine DÖNGÜ denir. Bir değişken belirli bir değerden başlayıp, son değeri.
Akış Kontrolü ve Döngüler
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.
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.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
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,
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
4- OPERATÖR – koşul - döngü Nesne Yönelimli Programlama - i
Bölüm 2: Program Denetimi
Bilgisayar Bilimi Döngüler.
Sunum transkripti:

Yrd. Doç.Dr. Nilgün GÜLER BAYAZIT Döngüler Yrd. Doç.Dr. Nilgün GÜLER BAYAZIT

Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut for Komutu do-while Komutu İçiçe Döngüler break ve continue Komutları

while Komutu Döngü komutları komutların bir çok kez yeniden yürü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.

while Komutu while ( koşul_ifadesi ) komut; while döngüsünde komut’un yürütümü koşul ifadesi doğru olduğu sürece devam eder.

while Komutu Örnek: printf(“Bir pozitif sayi giriniz:”); scanf(“%d”,&n); while(n<0) printf(“En son n degeri: %d”,n);

while Komutu while Komutunun Aşamaları 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 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. #include <stdio.h> int main(void) { int sayi,max=0; /*En buyuk sayinin sifir oldugunu kabul edelim.*/ printf("Sayi giriniz: "); scanf("%d",&sayi);

while Komutu 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);

Diğer Operatörler Bileşik Atama Operatörü değişken = değişken operatör ifade; değişken operatör = ifade;

Diğer Operatörler Artırma ve Azaltma Operatörleri (++ --) sayac=sayac+1; sayac++; (son-ek) ++sayac; (ön-ek)

for Komutu for( ilk_değer_atama_komutu; kontrol_ ifadesi; güncelleme_ komutu) döngü_komutları;

for Komutu for( ilk_değer_atama_komutu; kontrol_ ifadesi; güncelleme_ komutu) döngü_komutları;

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++)

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. #include <stdio.h> 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);

for Komutu /*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);

for Komutu for Komutunun Farklı Kullanımları for(i=0,j=0; i<=4 && j>-8; i++, j--) printf(“%3d %3d\n”,i,j); toplam=0; i=1; for(; i<=10; ) { toplam+=i; i++; } toplam=0; i=1; for(; i<=10; i++) toplam+=i;

do while Komutu do komut; while (koşul_ifadesi );

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.

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 Seceneginizi belirtiniz (1, 2, 3): #include <stdio.h> #define PI 3.141592654 int main(void) { int cevap; double a,r,alan; do { /*Menunun goruntulenmesi*/ printf("\n 1. Kare"); printf("\n 2. Daire"); printf("\n 3. Bitir"); printf("\n\nSeceneginizi belirtiniz: "); scanf("%d",&cevap);

do while Komutu 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);

İçiçe Döngüler

İç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. 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 6 5 4 3 2 1 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 for( i=1; i<=8; i++) { for(j=i; j>=1;j--) printf(“%3d”,j); printf(“\n”); }

Örnek: Faktöriyel hesabı yapan program ( for döngüsü) #include <stdio.h> main() { int a,i; float faktor=1; printf(“sayiyi giriniz”); scanf(“%d”,&a); for(i=1;i<=a;i++) faktor=faktor*i; printf(“faktor=%f”,faktor); }

Örnek:verilen iki aralıktaki tek sayıların toplamını bulan program #include <stdio.h> main() { İnt a,b, toplam,i ; float ortalama; toplam=0; printf(“ilk sayıyı giriniz”); scanf(“%d”,&a); printf(“ikinci sayıyı giriniz”); scanf(“%d”,&b); for(i=a;i<=b;i++) { if( i%2==1) toplam=toplam+i; } printf(“Toplam=%d\n”, toplam);

break ve continue ifadeleri do-while, while ve for ifadelerinin icrasının belirli bir yerde kırılmasının veya bir sonraki iterasyonunun kontrolüne geçilmesinin gerektiği durumlarda break ve continue ifadeleri kullanılır.

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);

break ifadesi break ifadesi sadece do-while,while,for ve switch ifade bloğundaki işlemi belirlibir yerde kırmak için kullanılır. break’in kullanılması ile işlem sırası kırılan ifade bloğundan sonra gelen ifadeye geçer. for(başlangıç;şart;artım) { : if (sart) break; } ifade;

break kullanımına örnek #include <stdio.h> main() { float a,b, oran; for( ; ; ) { printf(“a ve b nin değerlerini girin”); scanf(“%f %f”,&a,&b); if (b==0) break; oran=a/b; printf(“a/b=%lf\n”,oran); } printf(“b=0 olduğu için a/b işlemi yapılamaz”); Örnek 2: #include <stdio.h> main() { int x=0; while(x<10) { x++; if(x==5) break; printf(“x=%d\n”, x); }

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);

continue İfadesi continue ifadesi döngüden çıkmak yerine bir sonraki iterasyon için şart testinin yapıldığı yere gidilmesini sağlar. do { : if (şart) continue; } while (şart); while (şart) { : if (şart) continue; } for (başlangıç; şart; artım) { : if (şart) continue; }

continue kullanımına örnek #include <stdio.h> main() { int x=0; while(x<10) { x++; if(x==5) continue; printf(“x=%d\n”, x); } Ekran çıktısı: x=1 x=2 x=3 x=4 x=6 x=7 x=8 x=9

Preprocessor direktifler (önişlemci tanımlamaları) Kaynak programı kolaylıkla değiştirmek ve farklı icra çevrelerinde kolaylıkla derlemek için kullanılırlar. # işareti ile başlar.

Sembolik isim tanımlama #define Sembolik_İsim Yerini_Tutacak_Text #define Pi 3.1415 Define ile sadece sembolik isim değil komut ve işlemleride tanımlamak mümkündür. #define topla(a,b) a+b

define kullanımına örnek #define Pi 3.1415 float alan, r=3; main() { alan=r*r*Pi; printf(“alan=%f”, alan); } #define topla(a,b) (a+b) main() { int x,y,z; x=12; y= 3; z=topla(x,y); /* z=(12+3) */ printf(“Toplam=%d”, z); }

include Direktifi Belirtilen dosya içindeki macro komutları, global tip tanımlamaları, fonksiyon tanımlamaları ve fonksiyon prototiplerinin program derlenmesi aşamasında hafızaya yüklenmesini ve bunların derlenmesini sağlar. #include <Dosya Ismi>

include kullanımına örnek #include <math.h> #define PI 3.1415 main() { float radyan; radyan=45*(PI/180); /* dereceye radyana çevirme */ printf(“Sonuç=%f”, sin(radyan); }