Vai al contenuto

Analisi del problema

In questa lezione impari a

  • capire che cos'è un algoritmo
  • analizzare un problema con il modello IPO (Input, Processing, Output)
  • riconoscere il significato di ogni simbolo di Flowgorithm
  • tracciare un diagramma con carta e penna

Prima di disegnare un diagramma bisogna capire il problema. In questo modulo non serve ancora il computer: bastano carta e penna.

Che cos'è un algoritmo

Un algoritmo è una sequenza finita e ordinata di istruzioni che risolve un problema. Non è per forza informatico: anche una ricetta di cucina o le istruzioni per montare un mobile sono algoritmi.

Un buon algoritmo deve essere:

  • chiaro: ogni passo si capisce;
  • finito: prima o poi finisce;
  • eseguibile: chi lo segue può davvero farlo.

Il modello IPO

Ogni problema, prima di diventare un diagramma, si scompone in tre parti:

Input Processing Output
Cosa entra nel programma? Quali dati servono? Cosa si calcola con quei dati? Cosa mostra il programma alla fine?

Esempio: calcolare l'area di un rettangolo.

  • Input: base, altezza
  • Processing: area = base × altezza
  • Output: area
Main
Input base, altezza
area = base × altezza
Output area
End

Davanti a qualsiasi problema, prima di aprire Flowgorithm, scrivi su un foglio le tre colonne Input, Processing e Output. Il diagramma verrà quasi da solo.

I simboli di Flowgorithm

FormaNomeSignificato
MainTerminaleInizio e fine del programma
I/OInput / OutputChiede un dato all'utente o mostra un risultato
=Dichiarazione / AssegnazioneCrea una variabile o le assegna un valore
?Se (If)Prende una decisione: due percorsi, Vero e Falso
↻Mentre / Per (While / For)Ripete un gruppo di blocchi più volte

Tracciare un diagramma a mano

Prima di usare il computer è utilissimo saper "eseguire" un diagramma con carta e penna, tenendo una tabella di traccia con il valore delle variabili passo dopo passo. Aiuta a capire, e a correggere, un algoritmo senza nemmeno aprire Flowgorithm.

Esempio svolto. Questo diagramma calcola il doppio di un numero e lo mostra:

Main
Input numero
doppio = numero × 2
Output doppio
End

Se l'utente inserisce 7, la tabella si compila così, una riga per ogni blocco eseguito:

Passo numero doppio Output
Input numero 7 — —
doppio = numero × 2 7 14 —
Output doppio 7 14 14

Il trattino "—" significa "valore non ancora calcolato a questo punto". Ogni riga aggiunge solo quello che produce il suo blocco: la tabella si riempie un pezzo alla volta.

Esercizi

⭐ Facile

Esercizio 1 – Il triplo. Questo diagramma triplica un numero. Se l'utente inserisce 5, completa sul quaderno la tabella di traccia.

Main
Input numero
triplo = numero × 3
Output triplo
End
PassonumerotriploOutput
Input numero
triplo = numero × 3
Output triplo

⭐ Facile

Esercizio 2 – Input, elaborazione, output. Per ogni problema scrivi le tre colonne IPO: area di un rettangolo; media di tre voti; da euro a dollari.

⭐⭐ Medio

Esercizio 3 – La ricetta del tè. Scrivi in linguaggio naturale, con passi numerati, l'algoritmo per preparare una tazza di tè. Sottolinea almeno una decisione ("se…") e una ripetizione ("finché…").

⭐⭐ Medio

Esercizio 4 – I simboli giusti. Con la tabella dei simboli, indica quale useresti per: chiedere l'età; calcolare il doppio; stampare il risultato; controllare se è maggiorenne.

⭐⭐⭐ Sfida

Esercizio 5 – Lo sconto. Disegna a mano il diagramma: si inserisce una spesa; se supera 50 € si applica lo sconto del 10%; si stampa il totale. Poi traccialo con 40 € e con 80 €.