mercoledì 1 maggio 2013

Per poter migliorare il nostro robottino dobbiamo imparare un nuovo elemento di programmazione. Fino ad ora abbiamo incontrato gli elementi di inizio e fine, il blocco che contiene "le cose da fare" e quello che invece contiene una domanda.
Con questi elementi siamo riusciti a far percorrere al nostro robottino un percorso "quadrato", ma per farlo abbiamo dovuto ripetere più volte gli stessi gruppi di istruzioni:



Sarebbe carino se potessimo dire al nostro robottino di ripetere una o più istruzioni una o più volte. Ebbene questo è possibile mediante il concetto di "ciclo" (in inglese "loop"). Con questo nuovo elemento il nostro programma si semplifica come segue:

Nel caso del percorso quadrato basta ripetere le stesse istruzioni 3 volte. In altre situazioni il "loop" potrebbe essere ripetuto all'infinito.

@@@@@@@

Il nostro robottino può fare già un po' di cose, ma non ha alcuna possibilità di "interagire" con quanto lo circonda: per fare questo occorre aggiungere i sensori e complicare i nostri programmi per utilizzarli.

Il primo sensore che aggiungiamo è quello di contatto, che equivale al nostro senso del "tatto". Da un punto di vista costruttivo è molto semplice: si tratta infatti di un interruttore.



La prima prova che facciamo è quella di collegare un sensore di contatto al "robottino" e di fargli emettere un suono quando il sensore viene toccato:


Ora che abbiamo capito come funziona, facciamo qualcosa di più complesso: una sorta di telecomando che ci permetta di controllare i movimenti del nostro "robottino". Montiamo 2 sensori di contatto su di un telaio e li colleghiamo al "robottino" e scriviamo un programma che si comporti come segue:
- se nessun sensore è premuto il "robottino" sta fermo;
- se si premono entrambi i sensori, allora il "robottino" va avanti;
- se si preme il sensore di destra, il "robottino" gira a destra;
- se si preme il sensore di sinistra, il "robottino" gira a sinistra;

dopo aver costruito il diagramma di flusso, il programma risultante è:



Bene, la lezione è finita. La prossima volta incontreremo nuovi sensori e daremo maggiore "intelligenza" al nostro amico digitale.