From 8b044d16fd45748702ef847924eb9d123781471d Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Tue, 1 Dec 2015 04:01:07 +0100 Subject: [PATCH] Blinks loop errata --- .../blink_3_funzioni_argomenti.ino | 7 -- .../blink_4_1_ciclo_for.ino | 85 ++++++++++++++++++ .../blink_4_1_ciclo_for/blink_4_ciclo_for.ino | 54 ----------- .../.blink_4_ciclo_while.ino.swp | Bin 0 -> 12288 bytes .../blink_4_ciclo_while.ino | 48 +++------- 5 files changed, 99 insertions(+), 95 deletions(-) create mode 100644 basic/blinks/blink_4_1_ciclo_for/blink_4_1_ciclo_for.ino delete mode 100644 basic/blinks/blink_4_1_ciclo_for/blink_4_ciclo_for.ino create mode 100644 basic/blinks/blink_4_ciclo_while/.blink_4_ciclo_while.ino.swp diff --git a/basic/blinks/blink_3_funzioni_argomenti/blink_3_funzioni_argomenti.ino b/basic/blinks/blink_3_funzioni_argomenti/blink_3_funzioni_argomenti.ino index f4b603b..efad97e 100644 --- a/basic/blinks/blink_3_funzioni_argomenti/blink_3_funzioni_argomenti.ino +++ b/basic/blinks/blink_3_funzioni_argomenti/blink_3_funzioni_argomenti.ino @@ -1,6 +1,4 @@ -// //////////// -// Commento iniziale /* Blink v2 @@ -9,7 +7,6 @@ This example code is in the public domain. */ -// ////////////// // Dichiarazione variabili // Pin 13 has an LED connected on most Arduino boards. @@ -24,7 +21,6 @@ void setup() { pinMode(led, OUTPUT); } -// /////////////// // loop void loop() { brilla(300); @@ -32,7 +28,6 @@ void loop() { brilla(600); } -// /////////////// // Funzioni create dall'utente: void brilla(int velocita) { @@ -57,5 +52,3 @@ void brilla(int velocita) { * * Esercizi sucessivi sulle funzioni: blink_5 e 6 */ - - */ diff --git a/basic/blinks/blink_4_1_ciclo_for/blink_4_1_ciclo_for.ino b/basic/blinks/blink_4_1_ciclo_for/blink_4_1_ciclo_for.ino new file mode 100644 index 0000000..e7ef1e2 --- /dev/null +++ b/basic/blinks/blink_4_1_ciclo_for/blink_4_1_ciclo_for.ino @@ -0,0 +1,85 @@ +/* + Blink v4: for loop + + Accensione e spegnimanto di un LED utilizzando un ciclo + iterativo while per comandare il lampeggio. + + Reference: http://arduino.cc/en/Reference/for + Altri esempi: sketchbook_andrea/programming/loops/ + + */ + +const int led = 13; // Il valore non cambia + // durante l'esecuzione del programma + + +// ///////////////// +// Setup: eseguita una volta sola all'accensione della scheda +void setup() { + // initialize the digital pin as an output. + pinMode(led, OUTPUT); +} + +// /////////////// +// loop: Le istruzioni vengono eseguite all'infinito +void loop() { +for (int i = 0; i < 10; i++) { +// (Definizione iteratore, condizione di verifica, gestione dell'iteratore) +// Operatore ternario (3 elementi) +// i++ incrementa di uno la variabile + brilla(30 * i); // accende e spegne rapidamente il LED + // la pausa e' in funzione della variabile iteratore +} +} + +// Funzioni create dall'utente: +void brilla(int velocita) { + // Accende e spegne il LED accetando un argomento + // per impostare la velocita'. + + // sequenze di istruzione: accendere e spegnere il LED + digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) + delay(velocita); // wait for a second + digitalWrite(led, LOW); // turn the LED off by making the voltage LOW + delay(velocita); // wait for a second +} + + +/* Domande + +1. Che differenza c'e' nella gestione dell'iteratore tra un ciclo + while e for ? +2. In quali casi si usa un ciclo for piuttosto ch uno while? + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + Soluzioni +1. Nel ciclo for l'iteratore e tutta la sua gestione avviene al di fuori + del corpo della struttura del ciclo. Questa viene esplicitamente definita. +2. Un ciclo for e' indicato per casi in cui si conosce e si vuole controllare + il numero delle iterazioni. + Un ciclo while quando basta controllare + il perdurare di una situazione di durata indefinita ad es. lo stato + di un bottone. Es: + + while (stato_bottone = HIGH) { + digitalWrite(LED, HI); +} +*/ diff --git a/basic/blinks/blink_4_1_ciclo_for/blink_4_ciclo_for.ino b/basic/blinks/blink_4_1_ciclo_for/blink_4_ciclo_for.ino deleted file mode 100644 index 2322b56..0000000 --- a/basic/blinks/blink_4_1_ciclo_for/blink_4_ciclo_for.ino +++ /dev/null @@ -1,54 +0,0 @@ -/* - Blink v4 - Accensione e spegnimanto di un LED utilizzando un ciclo - iterativo for per comandare il lampeggio. - - */ - -// Pin 13 has an LED connected on most Arduino boards. -// give it a name: -int led = 13; -int breve = 200; // Variabile richiambile nel corso dell'esecuzione -int lunga = 1000; - -// Setup: eseguita una volta sola all'accensione della scheda -void setup() { - // initialize the digital pin as an output. - pinMode(led, OUTPUT); -} - -// loop: Le istruzioni vengono eseguite all'infinito -void loop() { - for (int i = 0, i <10, i++) { -// (Definizione iteratore, condizione di verifica, gestione dell'iteratore) -// Operatore ternario (3 elementi) - rapido(); // accende e spegne rapidamente il LED - } - - lento(); // accende e spegne lentamente il LED - // Domanda: dobbiamo preoccuparci dell'iteratore? -} - -// Funzioni create dall'utente: - -void rapido() { - // Accende e spegne rapidamente il LED - - // sequenze di istruzione: accendere e spegnere il LED - digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) - delay(breve); // wait for a second - digitalWrite(led, LOW); // turn the LED off by making the voltage LOW - delay(breve); // wait for a second -} - -void lento() { - // Accende e spegne lentamente il LED - - // sequenze di istruzione: accendere e spegnere il LED - digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) - delay(lunga); // wait for a second - digitalWrite(led, LOW); // turn the LED off by making the voltage LOW - delay(lunga); -} - - diff --git a/basic/blinks/blink_4_ciclo_while/.blink_4_ciclo_while.ino.swp b/basic/blinks/blink_4_ciclo_while/.blink_4_ciclo_while.ino.swp new file mode 100644 index 0000000000000000000000000000000000000000..cabba101114ae8add8b2ffc5224a6e03a11fe5e2 GIT binary patch literal 12288 zcmeI2&u<(x6vv$k0cj~9I8Zn};E+wA*$s(k*(C>{lmsOT5>0ZdBJYfMW5sK4XFOYy z5-JcE5Fi8xj+~Gesx%YPun8wB9sk zV~y)L5xm;usf?;kCG|#{f33}|MKV%m?d-Z#Vy}CXQkxs-GdvO$2ns-f%(jjmKg_0| zn5sEF9)09ty8piAAWcvpC=e6~3Iqj$0zrYGKu{nk@IO+(c1PHGjQ2n>=858aR{C=e6~3Iqj$0zrYGz%8f%j~Tl>%GehN;XMBTU;h1n?HpI~e;3d;;D8uY;4|x7*me6GLf`=yy5N*lxmgEa%rh$65^B!oD_?htB++H&#To$ zT2WCVew-GTR`cd)W3xn)T^F?Q{0TCx7Bx4i!#AXE`@21(EN`QBX*D;tZ%)k3zcA;$ z_=^*oDz1`by2}M6F!pip1)8MdOeXY}!0_;(O|mU%w5Su0BB5iE2ojWbMO(W|soe0e z!=RvTS0p4mU6WdlO2w%Zb!@VH1WIhiTwFP=Bk}|{bsXN^HGk@ zPKcJ4yyIja9KV}M1iDQObjc^$+bV3xUNJSwm~N$*40m0p1q`aMyXe2VyOfjGm3q;{#j;vjKK0V_squy%h!;p&$(2Nqx&>COLqZ$kDRE6E zv)#;2=FyW1oArHs+5M=O?(lrnZYfe~5CG0QKa;5o`XVaQXkEm74`-`YWJ4z`7C$7O zrK#x#*1`mC@90GNoaKVzENWcHsko2N;gZijrk?$BVED9y867g|pyfZO96a#v5)R#b z#@Wd?Zr$xw;1yzRh&*)jIf$5ZXdn^vFK;9P4V!*$spPX~>haSE?J#vNbq$eyyoG@e zmrwRT8x3@@>k^&CS;F0Bq{fhpqkLQUn?yG;?Sywa3<*EQF0nhI!3-MDD{PJm`ypwg zDdL@`l