]> git.piffa.net Git - sketchbook_andrea/blobdiff - programming/loops/loop_1_array_loop/loop_1_array_loop.ino
Loop e data type strutturati
[sketchbook_andrea] / programming / loops / loop_1_array_loop / loop_1_array_loop.ino
index 42871ef279b1c2192f11272cb45d3e393fc105f2..002650881e38b2eda86d2ae652831767a38c36dd 100644 (file)
@@ -1,49 +1,46 @@
 /* Knight Rider 2
  * --------------
  *
- * Reducing the amount of code using for(;;).
+ * Array e uso dei cicli iterativi.
  *
- *
- * (cleft) 2005 K3, Malmo University
- * @author: David Cuartielles
- * @hardware: David Cuartielles, Aaron Hallborg
 
 
-   Schema semplificato: 
+   Schema semplificato:
    - http://lab.piffa.net/schemi/8_led_single_res_bb.png
    - http://lab.piffa.net/schemi/8_led_single_res_schem.png
  */
 
 int pinArray[8] = {2, 3, 4, 5, 6, 7, 8, 9};
-int count = 0;
 int timer = 100;
 
-void setup(){
+void setup() {
   // we make all the declarations at once
-  for (count=0;count<9;count++) {
+  for (int count = 0; count < 9; count++) {
     pinMode(pinArray[count], OUTPUT);
   }
 }
 
 void loop() {
-  for (count=0;count<8;count++) { // 8 e' un numero magico
-   digitalWrite(pinArray[count], HIGH);
-   delay(timer);
-   digitalWrite(pinArray[count], LOW);
-   delay(timer);
+  for (int count = 0; count < 8; count++) { // 8 e' un numero magico
+    digitalWrite(pinArray[count], HIGH);
+    delay(timer);
+    digitalWrite(pinArray[count], LOW);
+    delay(timer);
   }
-  for (count=8;count>=0;count--) {
-   digitalWrite(pinArray[count], HIGH);
-   delay(timer);
-   digitalWrite(pinArray[count], LOW);
-   delay(timer);
+
+  // Ciclo inverso: dall'alto in basso
+  for (int count = 8; count >= 0; count--) {
+    digitalWrite(pinArray[count], HIGH);
+    delay(timer);
+    digitalWrite(pinArray[count], LOW);
+    delay(timer);
   }
 }
 
 /* Domande:
- 1. Come posso fare per saltare un elemento del loop? 
- 2. Come posso fare per uscire completamente dal loop? 
+
+ 1. Come posso fare per saltare un elemento del loop?
+ 2. Come posso fare per uscire completamente dal loop?
  3. 8 e' un numero magico: come posso evitarlo?
 
 .
@@ -57,12 +54,22 @@ void loop() {
 .
 .
 .
-Soluzioni: 
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+Soluzioni:
  1. utilizzare continue
  2. utilizzare break
  3. Utilizzare un variabile sarebbe gia' un inizio, ancora meglio estrarre il
     valore tramite la funzione sizeof().
-Links: 
+Links:
 - http://www.tutorialspoint.com/cprogramming/c_continue_statement.htm
 - https://www.arduino.cc/en/Reference/Sizeof
 */