Algoritmo

in informatica e matematica, il termine algoritmo indica un procedimento che risolve un determinato problema / Da Wikipedia, l'enciclopedia libera

Caro Wikiwand AI, Facciamo breve rispondendo semplicemente a queste domande chiave:

Puoi elencare i principali fatti e statistiche su Algoritmo?

Riassumi questo articolo per un bambino di 10 anni

MOSTRA TUTTE LE DOMANDE

In matematica e informatica un algoritmo è la specificazione di una sequenza finita di operazioni (dette anche istruzioni) che consente di risolvere tutti i quesiti di una stessa classe o di calcolare il risultato di un'espressione matematica. Un algoritmo deve essere

  • finito: è costituito da un numero finito di istruzioni e deve sempre terminare;
  • deterministico: partendo dagli stessi dati in ingresso, si devono ottenere i medesimi risultati;
  • non ambiguo: le operazioni non devono poter essere interpretate in modi differenti;
  • generale: deve essere applicabile a tutti i problemi della classe a cui si riferisce, o ai casi dell'espressione matematica.

Il termine deriva dalla trascrizione latina del nome del matematico persiano al-Khwarizmi,[1] vissuto nel IX secolo d.C., che è considerato uno dei primi autori ad aver fatto riferimento a questo concetto scrivendo il libro Regole di ripristino e riduzione.[2]

Le prime nozioni di algoritmo si trovano in documenti risalenti al XVII secolo a.C., conosciuti come i papiri di Ahmes, noti anche come papiri di Rhind,[3] che contengono una collezione di problemi con relativa soluzione comprendendo un problema di moltiplicazione che lo scrittore dichiara di aver copiato da altri papiri anteriori di 12 secoli.

L'algoritmo è un concetto fondamentale dell'informatica, anzitutto perché è alla base della nozione teorica di calcolabilità: un problema è calcolabile quando è risolvibile mediante un algoritmo. Inoltre, l'algoritmo è un concetto cardine anche nella fase di programmazione dello sviluppo di un software: preso un problema da automatizzare, la programmazione costituisce essenzialmente la traduzione o codifica di un algoritmo per tale problema in programma, scritto in un certo linguaggio, che può essere quindi effettivamente eseguito da un calcolatore rappresentandone la logica di elaborazione.