You are on page 1of 21

BLGSAYAR PROGRAMLAMA

DERS

5. DERS NOTU
Konu: Dng Yaplar
Hazrlayan: Yrd. Do. Dr. Ahmet DUMLU
DNG YAPILARI

Birok uygulamada baz ilemlerin tekrar tekrar gerekletirilmesi gerekir. Bizlere bu imkan
salayan programlama yaplarna dng denir. MATLABde dng oluturmak amacyla
kullanlan for ve while adnda 2 tekrarlama deyimi bulunmaktadr.

Birinci Blm Hatrlaynz: Bardak hacminin %90n dolana kadar su


doldurma ilemine devam et.
Dng Oluturma Kurallar:
1. Dng deikeninin balang deeri belirlenir.
2. Dng deikeninin biti deeri belirlenir.
3. Dng deikeninin biti deerine ulap ulamad test edilir.
4. stenen ilem gerekletirilir.
5. Dng deikeni, dng iinde adm miktar kadar artrlr yada
azaltlr.

Birinci Blm Hatrlaynz: Bardak doldurma ileminde saya deikeni


bir dng deikeni olarak tanmlanabilir. Saya deeri balangta 0
olarak alnrken biti deerinin 4 olmas istenebilir. Su doldurma ilemi
esnasnda saya deeri test edilir. Saya deeri 4e ulatnda ilem bitirilir
(Dngden klr).
3
Matlabde Otomatik Saya Oluturma

sayac= balang:biti (Art miktar otomatik olarak 1 atanr.)

sayac= balang:art miktar:biti


for DNGS

for dng deikeni = balang:biti Dng deikenini balang deerinden


komutlar biti deerine kadar birer admlarla artr ve
end her artmda komutlar gerekletir.

Dng deikenini balang


for dng deikeni = balang:art miktar:biti deerinden biti deerine kadar
komutlar art miktar kadar artr ve her
end artmda komutlar gerekletir.
Uygulama 1: input komutuyla kullancdan ald say kadar kullanc ismini ekrana yazan
bir Matlab program yaznz.
Uygulama 2: 1den 20ye kadar saylarn toplamn bulan bir Matlab program yaznz.
Uygulama-3: 1 says ile klavyeden girilen herhangi bir say arasndaki ardk saylarn
toplamn for dngs kullanarak hesaplayan ve ekrana yazan bir MATLAB program
yaznz.
Uygulama-4: Ekrandan girilen bir sayya kadar olan saylarn toplamn ve arpmn bulan bir
Matlab program yaznz.
Bala

Uygulama-5: =0
fonksiyonunun deeri 'in ald deerlere gre
Evet
aada verilmitir. 'in deeri 0-20 arasnda 0.5 02 =
aralklarla arttna gre her bir deeri iin Hayr
fonksiyonunu hesaplayan bir Matlab programn Evet
yaznz. 2<3 = 3 22

Hayr
0<= x <= 2 f=x Evet
3<4 = 2 2 + 13
2< x <= 3 f=x-x3-22
Hayr
3< x <=4 f=x2-2x+13 = 4 3 2 43
4< x f=x4-3x2-43
Ekrana ve deerlerini yazdr

= + 0,5

20
Hayr Evet
Bitir
while Dngs
nceden belirlenmi belli bir durum gerekleinceye kadar gerekli sayda tekrar yapan dngdr.

while koul
ilem_1
Koul doru (Mantk 1) iken ilem_1 i, ilem_2 yi
ilem_2 ilemn i yap.

ilem_n
end
Uygulama-1: Ekrana adnz ve soyadnz 10 kez yazan bir MATLAB programn while
dngs kullanarak oluturunuz.
Uygulama: Klavyeden girilen bir saynn faktriyelini hesaplayan bir Matlab program yaznz.
Blm-1 Hatrlatma

Matematiksel

olarak problemin zm:
5
! = rnein n=5 ise 5! = =1 = 1 2 3 4 5 = 120
=1

Bu problemin zm iin aadaki mantksal yaklam kullanalm.


Yukardaki rnekte gsterildii gibi; faktriyel ilemi bir serinin elemanlarnn arpm
yntemiyle gerekletirilmektedir (! = =1 ). k deikeni faktriyeli hesaplanacak
olan n saysna ulaana kadar kendisini bir artrmakta (saya) ve her artm ileminin
ardndan bir nceki deeriyle arplmaktadr.
Dolasyla faktriyeli hesaplanacak olan sayya n deikeni ad verelim. Saya kullanmamz
gerektiinden bir sayac deikeni tanmlayalm ve deeri ise balangta 1 olsun. Son
olarak hesaplama sonucunda ortaya kacak deikene ise sonuc deikeni ad verelim ve
balangta deeri 1 olsun.
sayac=1 ve sonuc=1

= ! =
=1

Adm1: Bala
Adm2: sonuc =1; sayac =1
Adm3: nyi gir
Adm4: Eer n<0 ise 3. adma git
Adm5: Eer sayac>n ise adm 8 e git
Adm6: sonuc=sonuc*sayac
Adm7: sayac =sayac+1 yap ve adm 5 e git
Adm8: sonuc degerini ekrana yaz
Adm9: Bitir
Uygulama: = 2 ve = 3 olarak veriliyor. Bu saylarn toplam 20den byk olana kadar
says srekli olarak iki kat alnyor. saysnn ka kez iki kat alndn ekrana yazan
program kodlaynz.
break komutu
FOR ve WHILE dnglerine ilaveten bir program akn kontrol edebilmenin dier bir yolu
break ifadesini kullanmaktr. Break ifadesini dng gvdesi ierisinde kullanmak, dngnn
durmasn ve dngden sonra gelen ilk ifade veya komutun iletilmesini salar.

Program Durdurmak in
break ifadesiyle program sonlandrmak
Bu program altrldnda ekran kts ne olur? (Program Matlabe yazmadan
zihninizde altrnz.)
ie olan for dngleri
Bu program altrldnda ekran kts ne olur? (Program Matlabe yazmadan
zihninizde altrnz.)
dev: arpm tablosunu ekrana aadaki gibi yazacak bir MATLAB program yaznz.

You might also like