Page 6

for (αρχικοποίηση ; συνθήκη ; μεταβολή) { … }

Με τη for μπορούμε να επαναλάβουμε μια ομάδα εντολών πολλές φορές. Ο αριθμός των επαναλήψεων εξαρτάται από τη συνθήκη που περιγράφεται μέσα στα ορίσματα. Συνήθως αρχικοποιούμε μια μεταβλητή που στη συνέχεια ελέγχει την δομή της επανάληψης μέχρι να πάψει να ικανοποιείται η συνθήκη. Η μεταβλητή αυτή αυξάνεται ή μειώνεται στην μεταβολή, ενώ εκτελούνται όλες οι εντολές που είναι ανάμεσα στο ζευγάρι των αγκυλών. Παράδειγμα for(x=0;x<10;x++) { // εντολές που επαναλαμβάνεται η εκτέλεσή τους }

Στο παραπάνω παράδειγμα η μεταβλητή x αρχικοποιείται παίρνοντας την τιμή 0 μόνο την πρώτη φορά που εκτελείται και στη συνέχεια ελέγχεται η συνθήκη x<10. Οσο η συνθήκη αυτή είναι αληθής η εκτέλεση του προγράμματος συνεχίζεται στο εσωτερικό της for που καθορίζεται από τις αγκύλες. Μετά το τέλος της εκτέλεσης αυτών των εντολών εκτελείται και πάλι η for πρώτα αυξάνοντας το x κατά 1 (x++) και μετά ελέγχεται και πάλι η συνθήκη. Αν δεν ισχύει, ο έλεγχος του προγράμματος μεταφέρεται στην πρώτη εντολή μετά τις αγκύλες, ενώ αν ισχύει επαναλαμβάνεται η διαδικασία. Φυσικά, το μέγεθος της αύξησης ή μείωσης της τιμής της μεταβλητής που ελέγχει την επανάληψη μπορεί να είναι διαφορετική από το ένα. Θα πρέπει τότε να δείξουμε ακριβώς πόσο κάνοντας χρήση της x+=2 αν θέλουμε να αυξήσουμε κατά 2 ή άλλη τιμή και αντίστοιχα x-=2 αν θέλουμε να μειώσουμε κατά 2. Παράδειγμα void setup() { pinMode(13,OUTPUT); }

void loop() { for(int x=0;x<6;x+=2) { digitalWrite(13,HIGH); delay(500); digitalWrite(13,LOW); delay(500); } delay(5000); }

Σε αυτό το παράδειγμα αρχικοποιούμε το pin 13 ως εξόδου (εκεί υπάρχει ενσωματωμένο led που μπορούμε να χρησιμοποιήσουμε) και μέσα στη loop χρησιμοποιούμε τη for που επαναλαμβάνει τις εντολές των αγκυλών τρεις φορές. Η πρώτη επανάληψη εκτελείται για x=0, η δεύτερη για x=2, η τρίτη για x=4 και στη συνέχεια η τιμή του x καθώς αυξάνει κατά δυο γίνεται 6 και δεν ικανοποιείται η συνθήκη με αποτέλεσμα να εξέλθουμε της επαναληπτικής δομής. Πετυχαίνουμε έτσι να αναβοσβήνει το led τρεις φορές με εναλλαγή κάθε μισό δευτερόλεπτο και στη συνέχεια με αναμονή πέντε δευτερολέπτων αρχίζει και πάλι η διαδι-

12

Σημειώσεις arduino kales  
Σημειώσεις arduino kales  
Advertisement