Bu dersimizde son iki dersimizin içeriğini konu anlatımı olarak sunuyorum. Lütfen okuyunuz yani tekrar ediniz, böylece daha iyi öğrenirsiniz:

DEĞİŞKENLER:

Değişkenler programım içinde değerini kendimizin belirleyeceği değerlerdir.

İnt: komutuyla biz programımıza şöyle diyoruz. Kardeşim ben adı i olan bir tamsayılı değişken kullanacağım. Değişkenler programcının istedikleri değerleri verebilecekleri parametrelerdir.

Mesela

int hasan; diye yazsaydım. Derleyiciye, adı Hasan olan ve içinde tamsayı saklayacağım bir değişken sipariş etmiş olacaktım.

int tamsayı, float ise ondalıklı sayı tanımlamak için kullanılır. Yani ben

float Mehmet; diye bir kullanım yapsaydım. Derleyicimiz Mehmet adında ve içeriği ondalıklı bir sayı olan bir değişken atamak niyetimde olduğumu anlayacaktı.

6.satırda da 5.satırdaki gibi bir integer yani tamsayı değer ayırmışım kendime. Bu değerime de ali dememişim de kısa olsun diye a demişim. Üstelik burada kullanmak istediğim değeri anında belirlemişim.

int a=2; diyerek derleyiciden bana “a” adında bir tamsayı çekmecesi ayırmasını istemiş bununla da yetinmeyip bu çekmeceye “2” sayısını yerleştirmesini istemişim.

Evet değişken tanımlamayı gerçekten de bir komedinin çekmeceleri olarak düşünebiliriz. Mesela;

Float pi=3,14 dediğimde ondalıklı (float) bir çekmece siparişi veriyor bu çekmeceye pi diyor ve içine de 3,14 değerini atıyorum.

WHILE Döngüsü


While (şart ifadesi)
{
Burada şart sağlandığı sürece komutlar çalıştırılır.
}


Bakınız, mesela:

i=1
While (i < 6)
{

Yazdır “fatih”
i=i+1;

}

Programında, örneğin C dilimizde “Yazdır” diye komutumuz olsaydı. Şu yukarıdaki satırlardan sonra ekranda 5 kere hasan ifadesi yazılmış olacaktı. Çünkü en başta “i” nin değeri 1 iken While döngüsü içinde her seferinde 1 artıyor, 2,3,4,5 oluyor. 6 olunca artık While döngüsünün şartı bozuluyor ve “}” (hakemin bitiş düdüğü) ifadesinin altından program devam ediyor.

While döngüsünü anlattıktan sonra Kendi programımıza geri dönersek buradaki

While(1) ifadesi parantez içindeki şartı devamlı doğru olduğundan bu sonsuz bir döngü oldu.

FOR döngüsü:

Söz dizimi:


For(başlangıç değeri; bitiş değeri; artış değeri)
{

Buraya İcra edilecek komutlar yazılır.

}


FOR döngüsü WHILE ile aynı görevi görse de daha esnek olduğundan While göre daha sık kullanılır. Yukarıdaki programdaki komutumuzu ele alalım:

for (i=1;i<129;i=i*2)

{
PORTB=i;
delay_ms(100);

}

“i” değerim 1 den başlayarak 129’dan küçük olduğu sürece aşağıdaki komutları icra et. Ve i değerini de her döndüğünde 2 ile çarp yani ikiye katla.

Aşağıdaki komutlarda ne var peki?

PORTB=i;
delay_ms(100);

i değerini PORTB’ye ata. Yani PORTB’de göster. Ve 100 mili saniye gecikme yap.

İlk başta “i” değişkenimin değeri 1 di. Yani PORTB=1 oldu. Yani PORTB=00000001 oldu Yani birinci Led yandı. Döngünün başına dönünce döngüdeki i=i*2 ifadesinden ötürü i=2 oldu. 129 dan küçük olduğundan aşağıdaki komutları yeniden icra edecek yani:

PORTB=2 oldu yani PORTB=00000010 oldu yani İkinci Led yandı.

Tekrar başa döndük. Yani FOR satırına döndük. “i” tekrar 2 ile çarpıldı. i=2 idi şimdi i=4 oldu ve 129 ile karşılaştırıldı. 129’dan küçük olduğu için şart sağlandı. Aşağıdaki komutlar tekrar icra edildi:

PORTB=4 oldu yani PORTB=00000100 oldu. Yani Üçüncü led yandı.

Böylece bu adımlar süregelecek her seferinde bir sonraki led yanacak. 2 ile çarpıla çarpıla “i” değeri en son 128 olacak. 129 ile karşılaştırıldı ve yine küçük olduğu için aşağıdaki komutlar icra edilecektir:

PORTB=128 oldu yani PORTB=10000000 oldu yani 8.pindeki led yandı.

Şart son kez sağlandığı için yani i=256 olduğu dolayısıyla 129’dan büyük hale geldiği için FOR döngüsünün bitiş düdüğü “}” çaldı. Döngüden çıktık ve aşağı satırlara devam ettik.,

TAGS: pic c while dongusu, for döngüsü

Anahtar Kelimeler: Mikrodenetleyici

peynir6 suyu tozu , 03/05/2008-19:18 Facebook'ta Paylas