E' un procedimento per raggiungere un determinato scopo attraverso un numero finito di passi elementari, chiari e non ambigui.
Proprietà fondamentali degli algoritmi:
i passi costituenti devono essere "elementari", ovvero non ulteriormente scomponibili (atomicità);
i passi costituenti devono essere interpretabili in modo diretto e univoco dall'esecutore, sia esso umano o artificiale (non ambiguità);
l'algoritmo deve essere composto da un numero finito di passi e richiedere una quantità finita di dati in ingresso (finitezza)
l'esecuzione deve avere termine dopo un tempo finito (terminazione), a meno che non si tratti di un programma per il controllo continuo di una variabile;
l'esecuzione deve portare a un risultato univoco (effettività).
Qualunque algoritmo può essere implementato utilizzando tre sole strutture:
la sequenza (esempio: apri la porta --> entra --> chiudi la porta)
la selezione: (esempio: la porta è aperta? Se SI' --> entra; se NO --> suona il campanello)
il ciclo o iterazione: (esempio: RIPETI 10 VOLTE [attraversa la porta --> ruota a destra di 180°]
E' una rappresentazione grafica delle operazioni da eseguire per l'esecuzione di un algoritmo.
Condizioni di validità:
dal blocco iniziale deve essere possibile raggiungere ogni blocco
da ogni blocco dev'essere possibile raggiungere il blocco finale (se esiste questo blocco)
blocco I/O (Input/Output) e blocco di elaborazione: ogni blocco di questi due tipi ha una sola freccia uscente
blocco decisonale o test: ogni blocco di questo genere ha una sola freccia entrante e due frecce uscenti
ogni freccia deve entrare in un blocco
visiona il materiale qui sopra
trova un'idea: può essere un progetto utile oppure artistico o anche totalmente inutile
scegli un titolo accattivante per il progetto
apri un documento di testo (ad esempio con https://docs.google.com/document/) e descrivi brevemente il funzionamento, elencando le variabili del tuo progetto (luce, temperatura...), i sensori, e gli attuatori ed eventuali altri materiali che servono per la realizzazione
disegna il diagramma di flusso dell'algoritmo (regole - software - esempio )
stima il costo per la realizzazione del tuo progetto (puoi trovare i prezzi su internet)
ATTENTO: prima di consegnare il compito mettiti d'accordo con un compagno, scambiatevi la descrizione e l'algoritmo e aiutatevi a migliorare il vostro progetto.
Apri e compila il file Progetto Arduino, poi caricalo qui (non spedirlo via mail).
Apri il link diagrams.net (o un altro software di disegno) e disegna l'algoritmo, caricalo qui in formato .pdf o .png (non spedirlo via mail).
Se per qualche motivo ti fosse impossibile lavorare al computer, puoi scrivere il progetto e l'algoritmo sul tuo quaderno di matematica o di scienze (non su fogli volanti!), ma dovrai fotografarli e caricarli qui.
Apri un account su Tinkercad (https://www.tinkercad.com/login).
Sul menu di sinistra scegli: Circuiti > Crea nuovo circuito.
Dalla barra di ricerca del menu dei componenti a destra cerca e trascina sullo spazio di lavoro i seguenti oggetti:
batteria 1.5 V, breadboard mini, LED, resistenza, multimetro.
Collega i componenti per accendere un LED, misurando contemporaneamente col multimetro la corrente che attraversa il LED.
Premi "Avvia simulazione" e verifica se il LED si accende. Se non funziona, ricordati che puoi variare sia il numero di batterie (e quindi il voltaggio) sia la resistenza.
Usa il tasto condividi per scaricare un'immagine del circuito in funzione.
disegna in modo chiaro l'oggetto e i collegamenti dei sensori e degli attuatori con arduino
Scrivi il codice con Tinkercad
Realizza il progetto con Arduino a scuola! Servirà:
un portatile per gruppo, con batteria carica e Arduino già installato (https://www.arduino.cc/en/software)
credenziali account Google istituzionale (scritte sul diario!)
credenziali account Tinkercad (scritte sul diario!)
codice pronto e funzionante su Tinkercad