Professional Documents
Culture Documents
Çevrimsel işlem veya tekrarlı işlem(iterasyon,İng. iteration) bilgisayarı aynı işlemler grubunu
belirli bir koşul sağlanana kadar tekrar tekrar yapmak için yönlendirir. Python dilinde çevrim
yapısını oluşturmak için 2 deyim mevcuttur:
• while deyimi
• for deyimi
WHILE DEYİMİ
while ifade:
Deyim;
veya
while ifade:
Deyim1;
Deyim2;
...
Deyim_n;
Önce ifade hesaplanır. İfade true(doğru) ise deyim icra edilir. Deyim icra edildikten sonra,
programın kontrolü while deyiminin başına geçer ve işlem tekrarlanır yani ifade yeniden
hesaplanarak sonucuna göre işlem yapılır. Bu işlem, ifadenin değeri false(yanlış) olana kadar
kadar sürer. Bu durumda program deyimi izleyen noktaya gider.
İfadenin değeri true(doğru) olduğu sürece while bir sonsuz çevrim(infinite loop) oluşturur.
Deyim yerinde genellikle bir deyimler grubu bulunur;bu durumda while yapısının ifadeden
sonra aynı sütundan başlayan deyimler grubundan oluşması beklenir.İkinci şekli de benzer
biçimde çalışır;ifade tekrar tekrar hesaplanır;ifadenin değeri true olduğu sürece bir sonsuz
çevrim oluşur ve bunun her adımında Deyim1,Deyim2,..Deyim_n ile belirtilen deyimler
grubu yeniden icra edilir.
While çevrim yapısı ile,çevrim içindeki deyim grubu ya da işlem grubunun,kontrol edilen bir
koşula bağlı olarak tekrarlanabilmesi olanağı mevcuttur.
Böylece,işlemlerin ne kadar tekrarlanacağının önceden belli olmadığı fakat değeri değişen bir
değişken ya da ifadenin değerinin kontrol edilmesi ile belirlenebildiği uygulamalarda bu
çevrim yapısını kullanmak uygun olacaktır.
Aşağıda,while çevrimi ile ilişkili çeşitli uygulamalar verilmiştir:
İŞLEMLERİN,BİLGİSAYARA GİRİLEN BELİRLİ ÖZELLİKTEKİ BİR VERİ İLE DURDURULDUĞU
UYGULAMALARDA WHILE ÇEVRİMİNİ KULLANMAK
PROGRAMIN ÇIKTISI
PYTHON PROGRAMI
fakt=1
i=2;
while fakt<720:
fakt=fakt*i;
i=i+1
print("\n FAKTÖRYEL=",fakt);
print("\n i=",i);
PROGRAMIN ÇIKTISI
Bu yöntem ile ,mesela,10 sayısının kare kökü için(x=10)ilk tahmin değeri r0=5 olacak ve
izleyen adımlar,
R1=1/2(5+10/5)=3.5
R2=1/2(3.5+10/3.5) şeklinde hesaplanacaktır.
Her hangi bir aşamadaki kök tahmin değeri r ise ve
| x-r2|≤0.0001 ise işlem durdurularak r’nin köke yeteri kadar yakın olduğu kabul
edilecektir.Bu işlemi gerçekleştirecek bir Python programı yazınız.
x=float(x)
eps=input("HASSASİYET...eps..")
eps=float(eps)
import math
r0=x/2;
r=r0;
while math.fabs(x-r*r)>eps:
r0=r;
r=1.0/2.0*(r0+x/r0);
PROGRAMIN ÇIKTISI
Çevrimdeki tekrar sayısının önceden belli olduğu uygulamalarda,for yapısını kullanmak daha
uygundur fakat while yapısı kullanılarak ta bu tip problemler çözülebilir.
ÖRNEK:
PROGRAMIN ÇIKTISI
else sözcüğü if dışında while ile de kullanılır.Aşağıdaki örnek bu konuda bir fikir verecektir:
PROGRAMIN ÇIKTISI
for DEYİMİ
for i in range(başlangıç,son):
Deyim ya da deyimler;
ya da
for i in range(başlangıç,son,artım):
Deyim ya da deyimler;
şeklindedir.
İkinci formda ise parametre her adımda artım kadar arttırılarak deyim ya da deyimler son-1’e kadar
icra edilir.
ÖRNEKLER:
I)
PROGRAM:
for x in range(1,9):
print("x=",x)
ÇIKTISI:
II)
PROGRAM:
for x in range(1,9,2):
print("x=",x)
ÇIKTISI:
III)
PROGRAM:
for x in range(-10,0,3):
print("x=",x)
ÇIKTISI:
for deyiminin sayısal artımlar dışında başka kullanım biçimleri de mevcuttur.Aşağıdaki örnekleri
inceleyiniz:
IV)
PROGRAM:
ÇIKTISI:
V)
PROGRAM:
sehir=["paris","londra","istanbul","viyana","roma"]
for x in range(len(sehir)):
print(x+1," ",sehir[x])
ÇIKTISI:
VI)for else YAPISI:
PROGRAM:
ÇIKTISI:
VII)
PROBLEM: 1+2+....n TOPLAMINI for ÇEVRİMİ İLE BULAN BİR PROGRAM YAZINIZ
son ise, n+1’dir.i değişkeninin değeri n+1’den küçük olduğu sürece çevrim sürecektir.
Başlangıç,çevrim 0
öncesi
1 1 1
2 2 3 (1+2)
3 3 6 (1+2+3)
4 4 10 (1+2+3+4)
5 5 15 (1+2+3+4+5)
PROGRAM:
n=int(n)
top=0;
for i in range(1,n+1):
top=top+i;
print("\n1+2+3+..",n,"=", top);
print("i=",i)
PROGRAMIN ÇIKTISI:
VIII)
ÖRNEK:FAKTÖRYEL HESABI
for çevrimini kullanacağımız diğer bir örnek program ise faktöryel hesabı programı
olacaktır.Matematikte faktöryel,bilindiği gibi,
n!=1.2.3...n
şeklinde tanımlanır;yani n sayısının faktöryeli 1’den n’e kadar tam sayıların çarpımına
FAKTÖRYEL PROGRAMI:
PROGRAMIN ÇIKTISI:
i fakt n
Çevrim öncesi 1 5
1 1 5
2 2(1*2) 5
3 6(1*2*3) 5
4 24(1*2*3*4) 5
5 120(1*2*3*4*5) 5
ÖRNEK:
1.2/(3.4)-5.6/(7.8)+9.10/(11.12)-13.14/(15.16)
p=1;
x=1.0;
for i in range(1,5):
s=s+(x*(x+1))/((x+2)*(x+3))*p;
x=x+4;
p=-p;
print("TOPLAM=",s)
PROGRAMIN ÇIKTISI:
i x s p
(7.8)
(7.8) +(9.10)/
(11.12)
4 13.0 (1.2)/ (3.4) -(5.6)/ -1
(7.8) +(9.10)/
(11.12) -(13.14)/
(15.16)
AÇIKLAMA:
Sadece 4 terim olduğu için for çevrimi 1’den 4’e kadar çalıştırılmıştır.ilk terim 1.2/(3.4) ve
ikinci terim 5.6/(7.8) olduğu için, x değişkeni ilk terimdeki ilk sayıyı temsil etmek üzere
kanıtlanabilir.İkinci terimde ilk sayı 5 ,3.terimde ilk sayı 9 olduğuna göre x,her seferinde 4
de yazabilirsiniz.
Seri alterne seri olduğuna göre,yani terimlerin işaretleri +,-,+,- şeklinde değiştiğine göre,p
çevrim içine konulan p=-p;ifadesi ise bir sonraki işareti -,bir sonrakini + ve onu izleyeni –
İÇ İÇE ÇEVRİMLER
Bir çevrim yapısının içine başka bir çevrim yapısının yerleştirilmesi ile elde edilen yapıya iç
içe çevrim(nested loop) adı verilir.
Python dilinde, if deyimlerini her hangi bir derinliğe kadar iç içe kullanmak nasıl
mümkünse, çevrim deyimlerini de iç içe kullanmak mümkün olacaktır. İç içe çevrimlerde
hatırlanacak anahtar bilgi, önce içteki çevrimlerin tamamlanması gerektiğidir.Bu konuda
aşağıdaki kural iç içe çevrimler için daima geçerlidir:
break deyiminin Python programları içinde iki bir çevrim(loop) yapısı içinden ,çevrimi
kontrol eden koşul ifadesini beklemeksizin hemen çevrim dışına çıkmak amacı ile kullanılır.
Break deyimi bir çevrim içinde yer almışsa bu durumda break deyimi ile karşılaşılır
ÖRNEK PROGRAM:
PROGRAMIN ÇIKTISI:
continue DEYİMİ
continue deyimi,çevrim içinde,belirli bir koşulun kontrolü ile,bir sonraki çevrim adımına
gidilmesini gerçekleştirir.
ÖRNEK:
Aşağıdaki programda,for çevriminin parametresi olan i değişkeni 3 ile tam bölünemeyen bir
değer alınca bu değer ile işlem yapılmayıp bir sonraki adıma geçilmesi continue deyimi
ile sağlanmaktadır.Böylece program,kullanıcı tarafından girilen bir üst limite kadar,3 ile
PROGRAMIN LİSTESİ
PROGRAMIN ÇIKTISI