Rehber #5 Döngüler (Arduino)

baltazar

80+ Platinum
Katılım
2 Eylül 2020
Mesajlar
11,588
En İyi Cevap
9
Reaksiyon skoru
17,646
DÖNGÜLER


Bildiğiniz gibi loop fonksiyonu sürekli tekrar eden bir yapıdaydı. Peki ya biz bazı kodlarımızın istediğimiz
kadar tekrar etmesi veya bir koşul sağladığında başlamasını istiyorsak ne yapmalıyız? İşte bu ve benzer
soruları çözmek için döngüleri kullanıyoruz. Döngüler : "
1-
For
2-While
3-Do-While "
olarka 3'e ayrılır.


For Döngüsü:

İçerisinde tanımlanan değişken denklik koşulunu sağladığı sürece belirlediğiniz değerde arttırılır veya
azaltılır.

for(değişkeini değeri, denklik koşulu, artış-azalış miktarı){
}

Örnek vermek gerekirse;

for(int i = 0; i < 10; i++){
/*
Burası 10 kere okunacak
program buraya her uğradığında eğer i değeri 10'dan küçükse i değişkenini bir arttıracak
i değeri 10 olduğunda döngü bitecek
*/
}


While Döngüsü:

While döngüsü gebelde bir koşula bağlanır. Bu koşul sağlandığı sürece döngü devam eder.
Örnek vermek gerekirse;

int a = 0;
void setup(){
}
void loop()
{
while(a < 21){
a = a + 5;
/*
Kodun en başında a değeri 0'a eşitlenmiştir. Döngü a değeri 21'den küçük olana kadar devam edecektir.
a değeri program her uğradığında 5 artacaktır.
*/
}
}


Do-While Döngüsü:

Do-Whiel döngüsünü While döngüsünden ayıran temel fark while döngüsünde program şartın sağlanıp
sağlanmadığına bakarken, do-while döngüsünde program direk döngüye girer ve daha sonra şartı
kontrol eder. Eğer şart sağlanıyorsa döngüyü tekrar ettirir.
Örnek vermek gerekirse;

int a = 0;
void setup(){
}

void loop()
{
Serial.println("Loop dongusu basliyor"); // Ekrana yazı yazıldı.
Serial.println(a); // Ekrana a'nın değeri yazıldı.

do // döngü başladı
{
a = a + 2; // a değişkenini 2 arrtır.
}
while (a < 30); // while döngüsü
delay(1000); // 1 saniye bekle
}


1. BÖLÜM :

2. BÖLÜM :

3. BÖLÜM :

4. BÖLÜM :

"Tamamen kendi yazılı eserimdir. İznim olmadan kopyalanamaz."
 
DÖNGÜLER


Bildiğiniz gibi loop fonksiyonu sürekli tekrar eden bir yapıdaydı. Peki ya biz bazı kodlarımızın istediğimiz
kadar tekrar etmesi veya bir koşul sağladığında başlamasını istiyorsak ne yapmalıyız? İşte bu ve benzer
soruları çözmek için döngüleri kullanıyoruz. Döngüler : "
1-
For
2-While
3-Do-While "
olarka 3'e ayrılır.



For Döngüsü:

İçerisinde tanımlanan değişken denklik koşulunu sağladığı sürece belirlediğiniz değerde arttırılır veya
azaltılır.

for(değişkeini değeri, denklik koşulu, artış-azalış miktarı){
}

Örnek vermek gerekirse;

for(int i = 0; i < 10; i++){
/*
Burası 10 kere okunacak
program buraya her uğradığında eğer i değeri 10'dan küçükse i değişkenini bir arttıracak
i değeri 10 olduğunda döngü bitecek
*/
}



While Döngüsü:

While döngüsü gebelde bir koşula bağlanır. Bu koşul sağlandığı sürece döngü devam eder.
Örnek vermek gerekirse;

int a = 0;
void setup(){
}
void loop()
{
while(a < 21){
a = a + 5;
/*
Kodun en başında a değeri 0'a eşitlenmiştir. Döngü a değeri 21'den küçük olana kadar devam edecektir.
a değeri program her uğradığında 5 artacaktır.
*/
}
}



Do-While Döngüsü:

Do-Whiel döngüsünü While döngüsünden ayıran temel fark while döngüsünde program şartın sağlanıp
sağlanmadığına bakarken, do-while döngüsünde program direk döngüye girer ve daha sonra şartı
kontrol eder. Eğer şart sağlanıyorsa döngüyü tekrar ettirir.
Örnek vermek gerekirse;

int a = 0;
void setup(){
}

void loop()
{
Serial.println("Loop dongusu basliyor"); // Ekrana yazı yazıldı.
Serial.println(a); // Ekrana a'nın değeri yazıldı.

do // döngü başladı
{
a = a + 2; // a değişkenini 2 arrtır.
}
while (a < 30); // while döngüsü
delay(1000); // 1 saniye bekle
}


1. BÖLÜM :

2. BÖLÜM :

3. BÖLÜM :

4. BÖLÜM :

"Tamamen kendi yazılı eserimdir. İznim olmadan kopyalanamaz."
C dili de mi?
 
Arduino IDE üzerinden gidiyorum. O da C ile yazılmış bir dil. Mantık aynı. Yavaş yavaş projelere başlayacağım.
Mesaj otomatik olarak birleştirildi:

Hocam rehber güzel, arkadaşın eksikleri yok değil ama yine de bilgilendirici bir rehber olmuş.
Hocam gördüğünüz büyük bir eksik varsa değiştireyim.
Yazıya dönüştürünce biraz eksiklikler veya kendini anlatamama olabiliyor, hata yaptıysam affola.
 
Arduino IDE üzerinden gidiyorum. O da C ile yazılmış bir dil. Mantık aynı. Yavaş yavaş projelere başlayacağım.
Mesaj otomatik olarak birleştirildi:


Hocam gördüğünüz büyük bir eksik varsa değiştireyim.
Yazıya dönüştürünce biraz eksiklikler veya kendini anlatamama olabiliyor, hata yaptıysam affola.
Yok processing kısmını sorduğunuz için dedim yoksa bilgiler başlangıç seviyesi öğrenmek isteyen kişi için çok bile.
 
Arduino IDE üzerinden gidiyorum. O da C ile yazılmış bir dil. Mantık aynı. Yavaş yavaş projelere başlayacağım.
Hoca ödev vermişti bir tane sonsuz döngü oluştırmam lazımdı. Bende hem for hem de while ile döngü oluşturdum ama bir tane printf'i ilk doğru gösteriyor sonra 2 tane yazmaya başlıyor ayrıca en altta da 10 değeri çıkıyor. Neyden kaynaklıdır?
Kodların içinde scanf de var.
 
Hoca ödev vermişti bir tane sonsuz döngü oluştırmam lazımdı. Bende hem for hem de while ile döngü oluşturdum ama bir tane printf'i ilk doğru gösteriyor sonra 2 tane yazmaya başlıyor ayrıca en altta da 10 değeri çıkıyor. Neyden kaynaklıdır?
Kodların içinde scanf de var.
Hoca kodu görmem lazım ama onun kolayı var
for(int i = 0 ; ; i++)
 
Geri
Top