Algoritmi: esercitazioni con diagrammi di flusso

Algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi elementari. Il termine deriva dalla trascrizione latina del nome del matematico persiano al-Khwarizmi.

  1. i passi costituenti devono essere "elementari", ovvero non ulteriormente scomponibili (atomicità);
  2. i passi costituenti devono essere interpretabili in modo diretto e univoco dall'esecutore, sia esso umano o artificiale (non ambiguità);
  3. l'algoritmo deve essere composto da un numero finito di passi e richiedere una quantità finita di dati in ingresso (finitezza)
  4. l'esecuzione deve avere termine dopo un tempo finito (terminazione);
  5. l'esecuzione deve portare a un risultato univoco (effettività).

Il diagramma di flusso (in inglese flow chart) è una rappresentazione grafica delle operazioni da eseguire per l'esecuzione di un programma. Ogni singolo passo è visualizzato tramite una serie di simboli standard.

Si usano 5 blocchi fondamentali:



Alcune esercitazioni di algoritmi e diagrammi di flusso.


Esempio dell'algoritmo per aprire il portone di casa e del relativo diagramma di flusso:

Algortimo
1) Cerca la chiave nelle tue tasche
2) Se hai trovato la chiave vai al punto 5, altrimenti vai al punto 3
3) Suona il campanello e attendi
4) Se qualcuno ti apre vai al punto 6, altrimenti torna al punto 3
5)Inserisci la chiave nella serratura e girala in senso antiorario
6) Spingi la porta ed entra


Diagramma di flusso



Esempio algoritmo per cercare la chiave giusta in un mazzo di chiavi per aprire un lucchetto

Algoritmo
1) Seleziona una chiave non marcata dal mazzo e segnala con un pennarello
2) Prova ad aprire il lucchetto con la chiave marcata,
3) Se funziona vai al punto 6, altrimenti vai al punto 4
4) Se ci sono altre chiavi non marcate vai al punto 1, altrimenti vai al punto 5
5) Non ci sono chiavi che aprono il lucchetto e vai al punto 6
6) Fine della ricerca

Diagramma di flusso




Scrivi un algoritmo e poi disegna un diagramma di flusso per programmare le seguenti azioni:
  1. Attraversare la strada 
  2. Cucinare un piatto di spaghetti
  3. Preparare lo zaino di scuola
  4. Prendere l'autobus
  5. Fare la raccolta differenziata (carta, vetro, plastica, indifferenziata)
  6. Calcolare l'area di un rettangolo dato
  7. Trovare il maggiore di due numeri dati

Esercitati per imparare le basi del linguaggio di programmazione utilizzando code.org
Poi realizza animazioni, giochi e piccoli programmi con Scratch
Esempi di programmi realizzati con Scratch