BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler

Slides:



Advertisements
Benzer bir sunumlar
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Advertisements

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
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ı
Bölüm 2: Program Denetimi
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Karar ifadeleri ve Döngüler
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 3: Döngüler
Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Hazırlayan : Nuri AVCI
DÖNGÜ İFADELERİ.
Yapısal Program Geliştirme – if, if-else
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.
Fonksiyonlar.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 5: Fonksiyonlar
BPR152 ALGORİTMA VE PROGRAMLAMA - II
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
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 2: Koşula Göre İşlem Yapma
MATLAB’te Döngüler.
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
PROGRAM DENETİM DEYİMLERİ
C++ Ders Notları 4.Ders (Kontrol ve Döngüler)
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.
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.
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.
Bilgisayar Programlama Güz 2011
Bölüm 2 C Diline Genel Bir Bakış. 1/29 /* Örnek1- toplama.c Klavyeden girilen iki tamsayının toplamını bulup ekrana yazar. Erkan Yasan */ #include.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Fonksiyonlar
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
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.
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.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
İnternet Programlama-I
Fonksiyonlar.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
1 Değişken alanları Geçici değişkenler Birleşik ifadeler(bloklar) ve değişkenler Değişken Depolama Süresi ve Alanı –Local ve global değişkenler –Static.
BİLGİSAYAR PROGRAMLAMA Ders 4: Koşula Göre İşlem Yapma Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
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ö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:
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,
O R T L G İ M A A Ve Akış şemaları.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Algoritma ve Programlamaya Giriş Ders 5. C Programlama Dili - 2.
Algoritma ve Akış Şemaları
Bilgisayar Programlama BIL 107
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
BİLGİSAYAR PROGRAMLAMA Ders 8: Fonksiyonlar
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 5: Fonksiyonlar
Bölüm 2: Program Denetimi
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Döngüler.
WHILE DÖNGÜSÜ while (şart) { ifade 1; ifade 2; }
Diziler(Arrays).
Sunum transkripti:

BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği

Döngüler Belirli bir sayıda ya da belirli bir koşul sağlanana kadar arka arkaya yapılması gereken işlemler için döngüler kullanılır. Böylece bilgisayarın sürekli yapacağı işlemler için aynı komutları tekrar tekrar yazmak zorunda kalmayız. IF ve GOTO komutlarının birlikte kullanımı ile de döngü kurulabilir, fakat en doğru yol belirli bir sayıda işlem yapmak için FOR, belirli bir koşul sağlanana kadar işleme devam etmek için ise WHILE döngülerini kullanmaktır.

FOR Döngüsü for ( int i = A ; i <= B ; i = i + C ) { ... } Örn: 1 ile 100 arasındaki tam sayıları görüntüleme: for ( int i = 1 ; i <= 100 ; i = i + 1 ) { printf("%d\n", i); Başlangıç Değeri Bitiş Değeri Artım Değeri Döngüde kontrol amaçlı kullanılan değişken i değişkeni döngü dışında geçerli olmayacaktır i++ yada i+=1 yazılabilir. 100’den 1’e görüntüleme: for (i = 100 ; i >= 1 ; i--)

1 ile 100 arasındaki sayıların toplamını hesaplayıp görüntüleyen program main() { int toplam = 0; for (int i = 1; i <= 100; i += 1) toplam += i; } printf("Toplam = %d", toplam); i değişkeninin for döngüsü içinde tanımlanması C++ dilinde mümkündür. Program kodunuz cpp değil de c uzantılı kaydedildi ise derleme C dilinde yapılacak ve hata verecektir. Döngüde tek komut yer aldığı için { ve } (blok başı ve sonu simgeleri) kullanılmayabilirdi.

Girilen 15 sayıdan pozitif olanların adedini bulup görüntüleyen program main() // AKIŞ ŞEMASI: HAFTA 2, ÖRNEK 7 { int sayi, adet = 0; for (int i = 1; i <= 15; i++) printf("%d. sayi : ", i); scanf("%d", &sayi); if (sayi >= 0) adet++; } printf("Pozitif adedi = %d", adet);

Girilen 10 sayıdan en büyüğünü bulan ve görüntüleyen program main() // AKIŞ ŞEMASI: HAFTA 2, ÖRNEK 14 { int sayi, eb = 0; for (int i = 1; i <= 10; i++) printf("%d. sayi : ", i); scanf("%d", &sayi); if (sayi > eb) eb = sayi; } printf("En buyuk sayi = %d", eb); Kullanıcı tüm sayıları negatif girerse ne olur?

50 öğrencinin notlarının ortalamasını hesaplayıp görüntüleyen program main() // AKIŞ ŞEMASI: HAFTA 2, ÖRNEK 8 { int notu, ort, toplam = 0; for (int i = 1; i <= 50; i++) printf("%d. not : ", i); scanf("%d", &notu); toplam += notu; } ort = toplam / 50; printf("Notlarin ortalamasi = %d", ort); "ort" değişkeni olmasaydı: printf("Notlarin ortalamasi = %d", toplam / 50);

Faktöriyel Programı main() // AKIŞ ŞEMASI: HAFTA 2, ÖRNEK 9 { int sayi, fakt = 1, i; printf("Faktoriyeli bulunacak sayi:"); scanf("%d", &sayi); for (i = 2; i <= sayi; i++) fakt = fakt * i; printf("%d! = %d", sayi, fakt); }

Verilen koşul doğru olduğu sürece döngü devam eder. WHILE Döngüsü while ( koşul ) { ... if ( koşul ) break; } Verilen koşul doğru olduğu sürece döngü devam eder. Döngüden çıkmak için döngü içinde break ifadesi kullanılabilir (hem FOR hem de WHILE için geçerli). Eğer break bir if koşulu içinde kullanılmadıysa döngü bloğu içinde o satırın altındaki tüm satırlar gereksiz olacaktır.

WHILE ile Faktöriyel Programı main() // AKIŞ ŞEMASI: HAFTA 2, ÖRNEK 9 { int sayi, fakt = 1, i = 2; printf("Faktoriyeli bulunacak sayi:"); scanf("%d", &sayi); while (i <= sayi) { fakt = fakt * i; i++; } printf("%d! = %d", sayi, fakt); Döngü sayısı belli olduğuna göre FOR döngüsü kullanmak daha mantıklıydı. for (i = 2; i <= sayi; i++)

Koşulu döngü sonunda vermek Eğer döngüye koşul aranmadan girilmesi istenirse, döngünün sonunda da koşul kontrolü yapılabilir: do { ... } while ( koşul );

Kullanıcı hatalı giriş yaptığı sürece tekrar giriş istenmesi döngüsü char i; printf("1) Toplama, 2) Cikarma, "); printf("3) Carpma, 4) Bolme, 5) Cikis"); do { printf("Islemi seçin [1-5]: "); i = getchar(); if (i == '5') exit(0); } while (i < '1' || i > '5'); NOT: Geçen hafta 4 işlem programında GoTo kullanmak yerine bu kodu kullanabilirdik.

WHILE ile Asal Sayı Bulma main() { int sayi, i = 2; printf("Sayiyi giriniz : "); scanf("%d", &sayi); while (i <= sayi/2) { if (sayi % i == 0) break; // bölen bulundu i++; } if (i > sayi/2) printf("Sayi asal\n"); else printf("Sayi asal degil\n"); Bu programda kullanıcının girdiği sayının 2’den büyük ve sayı/2’den küçük olan tüm sayılara tam bölünüp bölünmediği kontrol edilir.

FOR ile Asal Sayı Bulma main() { int sayi, i; printf("Sayiyi giriniz : "); scanf("%d", &sayi); for (i = 2; i <= sayi/2; i++) { if (sayi % i == 0) break; // bölen bulundu } if (i > sayi/2) printf("Sayi asal\n"); else printf("Sayi asal degil\n");

GOTO ile Asal Sayı Bulma main() { int sayi, i = 2; printf("Sayiyi giriniz : "); scanf("%d", &sayi); dongu: if (sayi % i == 0) goto son; // bölen bulundu if (i <= sayi/2) { i++; goto dongu; } son: if (i > sayi/2) printf("Sayi asal\n"); else printf("Sayi asal degil\n"); } 2. hafta "Kontrol İfadesiyle" ibaresi ile verilen akış şemaları GOTO ile döngü kurmanın örnekleriydi. Fakat GOTO yerine FOR yada WHILE kullanmak daha geçerli çözümdür.

Ödevler İngiliz alfabesindeki büyük ve küçük harfleri yan yana listeleyen programı yazınız. NOT: ASCII kod tablosunda büyük harfler 65-90 aralığında, küçük harfler 97-122 aralığında yer alır Daha az sayıda döngü adımı ile asal sayı bulabilen bir algoritma geliştiriniz. 1 ile 1000 arasındaki asal ve mükemmel sayıları bulan ve ekranda görüntüleyen programı yazınız. (Mükemmel sayı: bölenlerinin toplamı kendisine eşit olan sayı... 28 = 1+2+4+7+14).

Ödevler Kullanıcıdan 2 sayı alıp bu sayıların en büyük ortak bölenini ve en küçük ortak katını bulan programı yazınız. Fibonacci serisi 0 ve 1 ile başlayıp, bir elemanın değerinin kendisinden önceki iki elemanın toplanması ile oluşturulduğu bir seridir: Kullanıcının klavyeden girdiği sayıda Fibonacci serisi elemanını gösteren programı yazınız.