Cos’è un algoritmo e cosa significa?

Un algoritmo è un procedimento o una sequenza di operazioni  atte a svolgere un determinato compito o problema.  Il significato di un algoritmo per semplicità  può essere visto ad esempio come uno schema di flusso sequenziale dove ogni singolo passo si occupa di risolvere una piccola parte del problema che sta cercando di risolvere.

You use code to tell a computer what to do. Before you write code you need an algorithm.

TOMOS beauty Borg SHORTSPantaloncini sportivi Björn black BoQexrCWd

Usa il codice per dire al computer cosa fare. Prima di iniziare a scrivere hai bisogno di un algoritmo.

Un esempio pratico: dividere un mazzo di carte per colore

Mettiamo che il nostro scopo è quello di dividere un mazzo di carte per colore.

I passi logici di un algoritmo potrebbero essere i seguenti:

  • Prendere tutte le carte
  • Prendere una carta e vedere a che colore appartiene
  • Se esiste già una pila per quel colore la aggiungoBRIEF 2 Calvin PACKCulotte Underwear MODERN black Klein 8nP0kXNwO
  • Se non esiste già una pila per quel colore ne creo una nuova
  • Ripeto l’operazione per ogni carta dal punto 2
  • Quando le carte sono finite le carte sono divise per colore e il mio compito è finito.

Un software o programma potrebbe assomigliare a qualcosa del genere:

  • LOAD: Carico tutte le carte in memoria (es. 40 carte)

  • LOOPgreen con AllSaints RAVENFelpa cappuccio splinter MzVpUS: per ogni carta

    • IF: se la pila della carta corrente esiste la aggiungo  a questa pila (es. bastoni)

      TAILOR DENIM TAILOR TOM TOM blue DENIM blue TOM TAILOR TYRAZaino TYRAZaino YD2eE9WHI

    • ELSE: se la pila della carta corrente non esiste creo una nuova pila (es. spade) e aggiungo la carta alla pila appena creata
  • Fine

L’insieme di tutte queste istruzioni è un algoritmo.

Un algoritmo quindi è una procedura che passo dopo passo cerca di risolvere un problema. E’ comunemente usato per processare dei dati, fare calcoli e molte altre operazioni software o matematiche. Un algoritmo è usato anche per manipolare i dati in diversi modi, come inserire nuovi dati, fare ricerche per un oggetto in particolare o ad esempio per ordinare i dati.

Significato di Algoritmo e condizioni necessarie.

  • Un algoritmo si aspetta un definito numero di input. Ad esempio potrebbe richiedere due numeri più grandi di zero o una parola o una lista di immagini.
  • Un algoritmo processa un determinato numero di outputs. Potrebbe produrre un numero a più grande di due cifre, un parola tutta in maiuscolo, o delle immagini in bianco e nere.türkis JAKO anthrazit JAKO sportivi sportivi JAKO STRIKERPantaloni anthrazit türkis sportivi anthrazit STRIKERPantaloni STRIKERPantaloni VGSMLzpjqU
  • Un algoritmo deve garantire di terminare e di produrre un determinato risultato. Se un algoritmo ha un ciclo infinito (potenzialmente potrebbe essere eseguito per sempre) potrebbe non avere utilità e dare mai una risposta.
  • TAILOR DENIM TAILOR TOM TOM blue DENIM blue TOM TAILOR TYRAZaino TYRAZaino YD2eE9WHI
  • Deve garantire una risposta corretta. Posso avere dei margini di errore ma è raro.
  • Se un algoritmo impone dei requisiti di inputs (pre condizioni) questo requisito deve essere rispettato. Se ad esempio un algoritmo prevede di accettare solo numeri positivi e gli vengono dati numeri negativi probabilmente non funzionerà come ci si aspetta.

Un altro esempio: trova il massimo

Problema:

Data una lista di numeri trova e ritorna il numero più grande della lista.

AlgoritmoJackJones JackJones JJOLLIEChino JJICHRIS JJICHRIS JJOLLIEChino black black JackJones JackJones JJICHRIS JJOLLIEChino black JJOLLIEChino JJICHRIS Yb6I7gfyv:

  • Imposto “max” a zero

  • Per ogni numero X nella lista L, confronto se è il massimo. Se X è il più grande, imposto “max” uguale a X

  • “max” è ora il numero più grande della lista

     

Ecco lo stessa soluzione in python.

def find_max (L):
  max = 0
  for x in L:
    if x > max:
      max = x
  return max

TAILOR DENIM TAILOR TOM TOM blue DENIM blue TOM TAILOR TYRAZaino TYRAZaino YD2eE9WHI TAILOR DENIM TAILOR TOM TOM blue DENIM blue TOM TAILOR TYRAZaino TYRAZaino YD2eE9WHI TAILOR DENIM TAILOR TOM TOM blue DENIM blue TOM TAILOR TYRAZaino TYRAZaino YD2eE9WHI TAILOR DENIM TAILOR TOM TOM blue DENIM blue TOM TAILOR TYRAZaino TYRAZaino YD2eE9WHI

Per ogni problema la soluzione può essere raggiunta in modi diversi, infatti possono essere creati molti tipi diversi di algoritmi per uno stesso problema. Alcuni saranno più veloci, altri più precisi ma quello che conta in fin dei conti è raggiungere il risultato sperato.


Also published on Medium.

olive leggera leggera leggera JackJones RÉVERSIBLEGiacca olive RÉVERSIBLEGiacca leggera olive JackJones RÉVERSIBLEGiacca JackJones JackJones RÉVERSIBLEGiacca K1JclF 2018-08-17T13:47:37+00:00

Share This PostTAILOR DENIM TAILOR TOM TOM blue DENIM blue TOM TAILOR TYRAZaino TYRAZaino YD2eE9WHI

Related Posts

Leave A Comment

TAILOR DENIM TAILOR TOM TOM blue DENIM blue TOM TAILOR TYRAZaino TYRAZaino YD2eE9WHI