Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bilgisayar Bilimi Döngüler.

Benzer bir sunumlar


... konulu sunumlar: "Bilgisayar Bilimi Döngüler."— Sunum transkripti:

1 Bilgisayar Bilimi Döngüler

2 1. Döngü Yapıları prin t(1) print(2) Ekran Çıktısı print(3) print(4)
Döngüler, sıralı bir kod blokunun istenilen sayıda tekrarlanmasıdır. Döngü ve karar yapıları, algoritma oluşturma ve programlamada birçok problemin çözümünde kullanılır. Aşağıdaki kod bloku 1’den 5’e kadar sayıları ekrana yazar. prin t(1) print(2) print(3) print(4) print(5) Ekran Çıktısı 1 2 3 4 5 Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

3 2. For Döngüsü For döngüleri 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 artım miktarına göre istenilen sayıda tekrar yapar. Yukarıdaki örnek çıktı for döngüsüyle yapılmak istenseydi yazılması gereken kodlar şu şekilde olurdu: for n in range(1,6) print(n) Örnek Kullanım for n in range(1, 11): Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

4 2.1. For Döngüsü İçin Söz Dizimi
Başlangıç değeri: Döngü değişkeninin alacağı ilk değerdir. Eğer boş bırakılırsa 0 olarak belirlenir. Son değer: Döngü değişkeninin bitiş değeridir. Boş bırakılmamalıdır. Artırma/azaltma değeri: Döngü değişkeninin artırma veya azaltma miktarını belirler. Eğer boş bırakılırsa, 1 olarak belirlenir. Başlangıç, bitiş, artırma ve azaltma değerlerinin hepsi tam sayı olmalıdır. Ondalıklı değerler veya diğer veri türleri kullanılmaz. Bunun dışında range ifadesi esnek kullanıma sahiptir: for n in range(21, 0, -3): print(n, end=” “) Ekran Çıktısı Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

5 2.1. For Döngüsü İçin Söz Dizimi
end parametresi: print() içerisinde kullanılan end, bir parametre olarak görev yapar. İşlevi ise yazdırılmak istenen ifadelerin sonuna hangi karakterin geleceğini belirler. Varsayılan olarak “\n” karakteri ile birlikte gelir. Yani yazılan ifade bitince bir alt satıra geçer. Başka bir örnek top= 0 for i in range(1, 100): # burada döngü değişkeni olarak i kullanılmıştır. top+= i print(top) Ekran Çıktısı 4950 range(1000) denildiğinde 999’a kadar olan sayıların toplamı işlemini yapar ve ekrana 4950 yazar. Çünkü range() komutunda bitiş değeri döngüye dahil değildir. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

6 2.2. For Döngüsü İçin Farklı Örnekler
range(10) → 0,1,2,3,4,5,6,7,8,9 range(1, 10) → 1,2,3,4,5,6,7,8,9 range(1, 10, 2) → 1,3,5,7,9 range(10, 0, -1) → 10,9,8,7,6,5,4,3,2,1 range(10, 0, -2) → 10,8,6,4,2 range(2, 11, 2) → 2,4,6,8,10 range(-5, 5) → −5,−4,−3,−2,−1,0,1,2,3,4 range(1, 2) → 1 range içerisinde 1 değer varsa bitiş değerini gösterir. 0’dan başlayıp birer artarak çalışır. range içerisinde 2 değer varsa başlangıç ve bitiş değerini simgeler ve birer artarak ilerler. 3 değer varsa başlangıç, bitiş ve artma miktarını ifade eder. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

7 2.2. For Döngüsü İçin Farklı Örnekler
format() metodu: print() komutunda çıktı verilirken yazdırılmak istenilen değerlerde hizalama, ekranda istenildiği yere yazdırma gibi biçimlendirme işlemlerinde kullanılan bir metotdur. Örnek >>> print(“{} {}”yi seviyor!”.format(“Ali”, “Ayşe”)) “Ali Ayşe”yi seviyor!” >>> print(“{} {} yaşında bir {}dur”.format(“Ahmet”, “18”, “futbolcu”)) “Ahmet 18 yaşında bir futbolcudur” Örnek for i in range(10): print(i, end=” “) if i == 5: i = 20 print(“({})”.format(i), end=” “) print() Ekran Çıktısı 0 (0) 1 (1) 2 (2) 3 (3) 4 (4) 5 (20) 6 (6) 7 (7) 8 (8) 9 (9) Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

8 3. İç İçe Döngüler İf ifadelerinde olduğu gibi while ve for blokları, başka döngü yapılarını içerebilir. İç içe döngülerin çalışma mantığını anlayabilmek için programın bir çarpım tablosu ürettiğini varsaymak gerekir. Benzer şekilde satır ve sütun değerleri olan bir tablo gibi de düşünülebilir. Örnek # Satır oluşturmak için sayi = int(input(“Lütfen tablo ölçüsünü giriniz: “)) for satir in range(1, sayi + 1): print(“Satır #”, satir) Ekran Çıktısı Lütfen tablo ölçüsünü giriniz: 10 Satır # 1 Satır # 2 Satır # 3 Satır # 4 Satır # 5 Satır # 6 Satır # 7 Satır # 8 Satır # 9 Satır # 10 Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

9 3. İç İçe Döngüler İç içe döngülerde önemli olan, döngü dışında kalacak kod satırlarının belirlenmesidir. Hangi satırların bir kere, hangi satırların döngü içerisinde olacağını belirlemek gerekir. İç içe döngüde satır (satir) dıştaki kontrol döngüsü olup sütun (sutun) döngüsü ise içteki döngüdür. İçteki döngü, dıştaki döngünün her tekrarında en baştan son bitiş değerine ulaşıncaya kadar kendini yineler. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

10 4. İç İçe 3’lü Döngü # ABC harflerinin farklı permütasyonu:
for ilk in “ABC”: for ikinci in “ABC”: if ikinci != ilk: for ucuncu in “ABC”: if ucuncu != ilk and ucuncu != ikinci: print(ilk + ikinci + ucuncu) Ekran Çıktısı ABC ACB BAC BCA CAB CBA Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

11 5. While Döngüsü sayac = 1 # Başlangıç değeri kontrol değişkenine atanır. while sayac <= 5: #İstenilen değere ulaşıp ulaşmadığını kontrol eder. print(sayac) # Sayaç değerini ekrana yazar. sayac+= 1 # Sayaç değerini 1 arttırır. While ifadesi, aşağıdaki ifadeleri 5 kere tekrar eder. >>>print(sayac) >>>sayac += 1 Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

12 5. While Döngüsü Sayac değişkeninin değerini sürekli olarak ekrana yazar. Yazma işlemi sonrasında değişkenin değerini 1 artırır. Bu işlemden sonra sayac değerinin 5’ten küçük veya eşit olması durumuna göre yazma işlemine devam eder. Şart sağlanmadığında ilgili kod blokunun tekrarlanması duracaktır. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

13 5.1. While Döngüsü İçin Söz Dizimi
While ifadesi, ilgili kod satırlarının çalıştırılıp çalıştırılmayacağını belirler. Şart doğru olduğu sürece kod blokunu tekrar tekrar çalıştırır. Şart yanlış olduğunda ise döngü sonlanır. While için söz diziminde ilk önce while ifadesi yazılır. Şart ifadesi sonrasında : işareti ile yazılmalı ve bu şarta bağlı olarak çalışacak kod satırları alt alta yazılmalıdır. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

14 5.2. While Döngüsü İçin Akış Şeması
Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

15 5.2. While Döngüsü İçin Örnek Soru
Dışarıdan negatif sayı girilinceye kadar sayıları toplayan while döngüsü sayi = 0 toplam = 0 print(“Bir sayı giriniz, negatif sayı döngüyü sonlandırır:”) while sayi >= 0: sayi= int(input()) toplam += sayi print(“Toplam=”, toplam) Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

16 5.2. While Döngüsü İçin Örnek Soru
Çalışmayan bir bilgisayar için sorun çözme adımlarını gösteren while döngüsü Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

17 6. Belirli ve Belirsiz Döngüler
Döngünün tekrar sayısının bilindiği veya bilinmediği durumlar olabilir. Belirli döngülerde döngünün kaç defa döneceği, kaç kere çalışacağı kestirilebilir. Çünkü şart ifadesi bu konuda bilgi verir. Ancak bu durumun aksine kullanıcı girişine göre değişiklik gösteren ve farklı sayıda çalışan döngüler olabilir. Böyle durumlarda kullanılan döngülere de belirsiz döngü denir. Belirli döngü örneği 1 n = 1 while n <= 10: print(n) n += 1 Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

18 6. Belirli ve Belirsiz Döngüler
Belirli döngü örneği 2 n = 1 karar= int(input()) while n <= karar: print(n) n += 1 Belirsiz döngü örneği 3 karar = False while not karar: giris = int(input()) if giris == 999: karar = True else: print(giris) Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

19 7. Döngü’den Çıkma Komutları
While döngüsü, şart sağlandığı sürece ilgili kod satırlarını çalıştırır. Benzer şekilde for döngüsü de aralık içerisinde ilgili işlemleri gerçekleştirir. Ancak bazı değerler için döngü yapısından çıkmak, başka bir deyişle döngü işleyişinde değişiklik yapmak mümkündür. Bunun için break ve continue komutları kullanılabilir. giris = 0 toplam = 0 print(“Lütfen bir sayı giriniz, negatif sayılar döngüyü sonlandırır:”) while True: giris = int(input()) if giris < 0: break # Döngüden çıkılıyor toplam += giris print(“Toplam =”, toplam) Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

20 7. Döngü’den Çıkma Komutları
Örnek # Metin içerisindeki sesli harfleri bulma kelime = input(“Lütfen bir metin giriniz (Çıkış için X / x): “) sesliHarfSayisi = 0 for c in kelime: if c == “A” or c == “a” or c == “E” or c == “e” \ or c == “I” or c == “ı” or c == “O” or c == “o”\ or c == “U” or c == “u” or c == “Ö” or c == “ö”\ or c == “Ü” or c == “ü” or c == “İ” or c==”i”: print(c, “,”, end=” “, sep=” “) sesliHarfSayisi += 1 elif c == “X” or c ==”x”: break print(” (“, sesliHarfSayisi, ” adet sesli harf)”, sep=””) Ekran Çıktısı Lütfen bir metin giriniz (Çıkış için X / x): AaEeIıİiOoÖöUuÜü A, a, E, e, I, ı, İ, i, O, o, Ö, ö, U, u, Ü, ü, (16 adet sesli harf) Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

21 8. Continue İfadesi Break ifadesi kullanıldığında ilgili kod satırları çalıştırılmadan atlanırken continue ifadesi kullanıldığında döngü başı yapılarak bir sonraki yeni değer için işlem yapılır. Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

22 8. Continue İfadesi Ekran Çıktısı
Örnek # 999 girilene kadar girilen pozitif sayıların toplamını alan program # < girilen negatif sayılar işleme alınmayacaktır. > toplam = 0 durum = False while not durum: deger = int(input(“Lütfen pozitif tam sayı giriniz (Çıkış için 999):”)) if deger < 0: print(“Negatif değer girildi, “, deger, “degeri işleme alınmadı”) continue if deger != 999: print(“Eklenen değer”, deger) toplam += deger else: durum = (deger == 999) print(“Toplam =”, toplam) Ekran Çıktısı Lütfen pozitif tam sayı giriniz (Çıkış için 999):1 Eklenen değer 1 Lütfen pozitif tam sayı giriniz (Çıkış için 999):2 Eklenen değer 2 Lütfen pozitif tam sayı giriniz (Çıkış için 999):3 Eklenen değer 3 Lütfen pozitif tam sayı giriniz (Çıkış için 999):6 Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni

23 9. While/else ve for/else
Python döngüler için opsiyonel else bloku kullanımını destekler. Break ifadesine rağmen döngünün terkedilmediği durumlarda döngüye ait else ifadesi kullanılabilir. While / else # Girilen 5 sayının ortalamasını alan program # Negatif sayı girildiğinde program sonlandırılır sayac = toplam = 0 print(“Lütfen Ortalama hesaplamak için 5 pozitif sayı giriniz”) while sayac < 5: sayi = float(input(“Sayı giriniz: “)) if sayi < 0: print(“Negatif sayılar kabul edilmemektedir. Çıkılıyor”) break sayac += 1 toplam += sayi else: print(“Ortalama =”, toplam/sayac) Ekran Çıktısı Lütfen Ortalama hesaplamak için 5 pozitif sayı giriniz Sayı giriniz: 6 Sayı giriniz: 7 Sayı giriniz: 8 Sayı giriniz: 5 Ortalama = 6.4 Mehmet ÇOLAK - Bilişim Teknolojileri Öğretmeni


"Bilgisayar Bilimi Döngüler." indir ppt

Benzer bir sunumlar


Google Reklamları