Algoritmi

18.04.2023

Come risolviamo un problema?

Possiamo affrontare un problema in due diverse modalità: 

  • euristica: cerchiamo una soluzione all'interno dello spazio di soluzione;
  • algoritmica: applico elementi e passi per ottenere una soluzione.                                                             

DEFINIZIONE DI ALGORITMO: insieme di passi finiti che consentono di trovare la soluzione ad un problema. 

L' algoritmo deve rispondere ad alcune regole base:

  1. non ambiguo (interpretabile in un solo modo); 
  2. completo;
  3. deterministico (deve poter risolvere problemi della stessa tipologia),
  4. finito;
  5. generale (deve risolvere tutti i problemi di diversa classe).

Approcci alla soluzione dei problemi:

TOP DOWN: divido il problema in tanti piccoli problemi e cerco una soluzione per ciascuno.

BUTTOM UP: parto dalla soluzione e cerco di capire come ci sono arrivato.

Definizione di MODELLO: astrazione della realtà che permette di visualizzare gli elementi di quella realtà in una modalità diversa. 

Ogni volta che abbiamo un problema, per risolverlo, devo astrarlo dalla sua realtà creando un modello. 

Nella modalità euristica se il modello è sbagliato, sbaglio tutto.

Nella modalità algoritmica il modello non è mai sbagliato. 

Questo modello deve essere riconoscibile da tutti, per questo è nato il FLOW CHART (diagramma di flusso). 

Bisogna usare inoltre simboli grafici universalmente riconosciuti, come:

  • l'inizio e la fine (START E END) che sono unici;
  • il PARALLELOGRAMMA, che permette l'ingresso o l'uscita (input o output) di dati e informazioni nell'algoritmo;
  • il RETTANGOLO, che permette di svolgere le operazioni,
  • il ROMBO, condizione che può essere true o false (i rami sono chiamati BRANCH);
  • EDGE, archi orientati, fecce che indicano il percorso dell'informazione nell'algoritmo.

Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia