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



Benzer belgeler
Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ. GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur.

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

Bölüm 4 C de Program Kontrolü

Diziler (Arrays) Çok Boyutlu Diziler

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

ALGORİTMA VE PROGRAMLAMA I

Fonksiyonlar (Altprogram)

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI

Döngü ve Koşul Deyimleri

Program Akış Kontrol Yapıları

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

NOT: Bu kodlar çeşitli internet siteleri, üniversite siteleri ve ders kitaplarından derlenerek hazırlanmıştır.

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

İnternet Programcılığı Dersi 2.Dönem Ders Notu

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

PROGRAMLAMAYA GİRİŞ DERS 2

Bölüm 3 Yapısal Programlama

Döngü blokunda tek bir deyim varsa {} yazılmayabilir.

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

MATLAB/Programı Dallandıran İfadeler

Temel Bilgisayar Bilimleri Ders Notu #2

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

Nesne Yönelimli Programlama

Dr. Fatih AY Tel: fatihay@fatihay.net

BİLGİSAYAR PROGRAMLAMA

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2. Dereceden Denklemin Köklerini Bulan Program

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

BMT 101 Algoritma ve Programlama I 8. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Hafta 12 Karakter Tutan Diziler

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Java da İşleçler, Ders #3 (4 Kasım 2009)

Sınav tarihi : Süre : 60 dak.

BİL-142 Bilgisayar Programlama II

İNTERNET PROGRAMCILIĞI - I

Bil 105 Laboratuvar (1. Hafta Problemleri)

Ders 6: Karşılaştırma Deyimleri

ALGORİTMA VE PROGRAMLAMA I

BİL1001 Bilgisayar Bilimlerine Giriş 1

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Bölüm 2 - C ile Programlamaya Giriş

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI

BİLG Dr. Mustafa T. Babagil 1

HSancak Nesne Tabanlı Programlama I Ders Notları

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

BLM 111 Algoritma ve Programlama I Güz 2018

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Giris {\} /\ Suhap SAHIN Onur GÖK

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

1 PROGRAMLAMAYA GİRİŞ

Program AkıĢ Kontrol Yapıları

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

YUVARLAMA FONKSİYONLARI

Adım Adım C. Dr. Hidayet Takcı

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

Klavyeden girilen metnin karakter uzunluğu bulan C programı. Klavyeden girilen metin içerisindeki küçük ve büyük harf sayısını bulan C programı

5. Atlama, Karar ve Çevrim Kontrol Deyimleri

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

// Aşağıdaki programın çıktısı nedir?

Bu amaçla, if ve switch gibi karar verme deyimleri, for, while, do..while gibi döngü deyimleri kullanılır.

C++ Operatörler (Operators)

Bil Hafta Çalışma Soruları (Yanıtlar)

/* Çember alanını hesaplar */

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Final Sınavı Örnek Soruları Güz 2018 Süre: 90 Dakika

Transkript:

Döngüler

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) scanf( %d,&n); printf( En son n degeri: %d,n);

while Komutu while Komutunun Aşamaları sayac=1; while(sayac<=10) { printf( %3d,sayac); sayac=sayac+1; İlk değer atama aşaması Kontrol aşaması 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);

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) Diğer Operatörler

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

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

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

/*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 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; i++) toplam+=i; toplam=0; i=1; for(; i<=10; ) { toplam+=i; i++;

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

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

switch(cevap) { case 1: /*Karenin alaninin hesaplanmasi*/ printf("\nkarenin kenar uzunlugunu "); "); while(cevap!=3); return(0); do while Komutu 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);

İç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 İçiçe Döngüler 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 Örnek 1: #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 do { : continue ifadesi döngüden çıkmak yerine bir sonraki iterasyon için şart testinin yapıldığı yere gidilmesini sağlar. 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);