BİLGİSAYAR PROGRAMLAMA DERSİ 5. DERS NOTU Konu: Döngü Yapıları
DÖNGÜ YAPILARI Birçok uygulamada bazı işlemlerin tekrar tekrar gerçekleştirilmesi gerekir. Bizlere bu imkanı sağlayan programlama yapılarına döngü denir. MATLAB’de döngü oluşturmak amacıyla kullanılan for ve while adında 2 tekrarlama deyimi bulunmaktadır. Birinci Bölümü Hatırlayınız: Bardak hacminin %90’nı dolana kadar su doldurma işlemine devam et.
Döngü Oluşturma Kuralları: Döngü değişkeninin başlangıç değeri belirlenir. Döngü değişkeninin bitiş değeri belirlenir. Döngü değişkeninin bitiş değerine ulaşıp ulaşmadığı test edilir. İstenen işlem gerçekleştirilir. Döngü değişkeni, döngü içinde adım miktarı kadar artırılır yada azaltılır. Birinci Bölümü Hatırlayınız: Bardak doldurma işleminde sayaç değişkeni bir döngü değişkeni olarak tanımlanabilir. Sayaç değeri başlangıçta 0 olarak alınırken bitiş değerinin 4 olması istenebilir. Su doldurma işlemi esnasında sayaç değeri test edilir. Sayaç değeri 4’e ulaştığında işlem bitirilir (Döngüden çıkılır).
Matlab’de Otomatik Sayaç Oluşturma sayac= başlangıç:bitiş (Artış miktarı otomatik olarak 1 atanır.) sayac= başlangıç:artış miktarı:bitiş
for DÖNGÜSÜ for döngü değişkeni = başlangıç:bitiş komutlar end Döngü değişkenini başlangıç değerinden bitiş değerine kadar birer adımlarla artır ve her artımda komutları gerçekleştir. Döngü değişkenini başlangıç değerinden bitiş değerine kadar artış miktarı kadar artır ve her artımda komutları gerçekleştir. for döngü değişkeni = başlangıç:artış miktarı:bitiş komutlar end
Uygulama 1: input komutuyla kullanıcıdan aldığı sayı kadar kullanıcı ismini ekrana yazan bir Matlab programı yazınız.
Uygulama 2: 1’den 20’ye kadar sayıların toplamını bulan bir Matlab programı yazınız.
Uygulama-3: 1 sayısı ile klavyeden girilen herhangi bir sayı arasındaki ardışık sayıların toplamını for döngüsü kullanarak hesaplayan ve ekrana yazan bir MATLAB programı yazınız.
Uygulama-4: Ekrandan girilen bir sayıya kadar olan sayıların toplamını ve çarpımını bulan bir Matlab programı yazınız.
Ekrana ‘𝑥’ ve ‘𝑓’ değerlerini yazdır Başla Uygulama-5: 𝑓 fonksiyonunun değeri 𝑥'in aldığı değerlere göre aşağıda verilmiştir. 𝑥'in değeri 0-20 arasında 0.5 aralıklarla arttığına göre her bir 𝑥 değeri için 𝑓 fonksiyonunu hesaplayan bir Matlab programını yazınız. 0<= x <= 2 f=x 2< x <= 3 f=x-x3-22 3< x <=4 f=x2-2x+13 4< x f=x4-3x2-43 𝑥=0 0≤𝑥≤2 Evet 𝑓=𝑥 Hayır 2<𝑥≤3 Evet 𝑓=𝑥− 𝑥 3 −22 Hayır Evet 3<𝑥≤4 𝑓= 𝑥 2 −2𝑥+13 Hayır 𝑓= 𝑥 4 −3 𝑥 2 −43 Ekrana ‘𝑥’ ve ‘𝑓’ değerlerini yazdır 𝑥=𝑥+0,5 𝑥≥20 Hayır Evet Bitir
while Döngüsü Önceden belirlenmiş belli bir durum gerçekleşinceye kadar gerekli sayıda tekrar yapan döngüdür. while koşul işlem_1 işlem_2 işlem_n end Koşul doğru (Mantık 1) iken işlem_1’ i, işlem_2’ yi … işlem’n’ i yap.
Uygulama-1: Ekrana adınızı ve soyadınızı 10 kez yazan bir MATLAB programını while döngüsü kullanarak oluşturunuz.
Matematiksel olarak problemin çözümü: Uygulama: Klavyeden girilen bir sayının faktöriyelini hesaplayan bir Matlab programı yazınız. Bölüm-1 Hatırlatma Matematiksel olarak problemin çözümü: 𝑛!= 𝑘=1 𝑛 𝑘 Örneğin n=5 ise 5!= 𝑘=1 5 𝑘 =1∗2∗3∗4∗5=120 Bu problemin çözümü için aşağıdaki mantıksal yaklaşımı kullanalım. Yukarıdaki örnekte gösterildiği gibi; faktöriyel işlemi bir serinin elemanlarının çarpımı yöntemiyle gerçekleştirilmektedir (𝑛!= 𝑘=1 𝑛 𝑘 ). k değişkeni faktöriyeli hesaplanacak olan n sayısına ulaşana kadar kendisini bir artırmakta (sayaç) ve her artım işleminin ardından bir önceki değeriyle çarpılmaktadır. Dolasıyla faktöriyeli hesaplanacak olan sayıya n değişkeni adı verelim. Sayaç kullanmamız gerektiğinden bir sayac değişkeni tanımlayalım ve değeri ise başlangıçta 1 olsun. Son olarak hesaplama sonucunda ortaya çıkacak değişkene ise sonuc değişkeni adı verelim ve başlangıçta değeri 1 olsun. sayac=1 ve sonuc=1
Adım4: Eğer n<0 ise 3. adıma git 𝑠𝑜𝑛𝑢𝑐=𝑛!= 𝑠𝑎𝑦𝑎𝑐=1 𝑛 𝑠𝑎𝑦𝑎𝑐 Adım1: Başla Adım2: sonuc =1; sayac =1 Adım3: n’yi gir Adım4: Eğer n<0 ise 3. adıma git Adım5: Eğer sayac>n ise adım 8 e git Adım6: sonuc=sonuc*sayac Adım7: sayac =sayac+1 yap ve adım 5 e git Adım8: sonuc degerini ekrana yaz Adım9: Bitir
Uygulama: 𝑎=2 ve 𝑏=3 olarak veriliyor Uygulama: 𝑎=2 ve 𝑏=3 olarak veriliyor. Bu sayıların toplamı 20’den büyük olana kadar 𝑎 sayısı sürekli olarak iki katı alınıyor. 𝑎 sayısının kaç kez iki katı alındığını ekrana yazan programı kodlayınız.
break komutu FOR ve WHILE döngülerine ilaveten bir program akışını kontrol edebilmenin diğer bir yolu break ifadesini kullanmaktır. Break ifadesini döngü gövdesi içerisinde kullanmak, döngünün durmasını ve döngüden sonra gelen ilk ifade veya komutun işletilmesini sağlar. Programı Durdurmak İçin
break ifadesiyle programı sonlandırmak
Bu program çalıştırıldığında ekran çıktısı ne olur Bu program çalıştırıldığında ekran çıktısı ne olur? (Programı Matlab’e yazmadan zihninizde çalıştırınız.)
İç içe olan for döngüleri Bu program çalıştırıldığında ekran çıktısı ne olur? (Programı Matlab’e yazmadan zihninizde çalıştırınız.)
Ödev: Çarpım tablosunu ekrana aşağıdaki gibi yazacak bir MATLAB programı yazınız.
Kaynaklar: Ahmet Dumlu ders notlari