Logo NEXUS

NEXUS didattica

← Torna indietro
Informatica / Lezione Teorica

Il Concetto di Algoritmo

Definizione formale, proprietà fondamentali (finitezza, non ambiguità, determinatezza), diagrammi di flusso e pseudocodice.

1. Che cos'è un Algoritmo?

Il termine algoritmo deriva dalla latinizzazione del nome del matematico persiano del IX secolo al-Khwarizmi. In informatica, un algoritmo rappresenta una sequenza finita di istruzioni non ambigue che trasformano un insieme di dati di input in un insieme di dati di output, risolvendo un problema specifico in un numero finito di passi.

2. Le Proprietà Fondamentali

Affinché una procedura possa essere definita formalmente un algoritmo, deve soddisfare requisiti imprescindibili:

Rappresentazione dei Algoritmi:

Prima di essere tradotti in un linguaggio di programmazione (es. C++, Python), gli algoritmi vengono progettati attraverso strumenti di astrazione logica:

  • Diagrammi di flusso (Flowchart): Rappresentazione grafica basata su blocchi geometrici interconnessi.
  • Pseudocodice (Linguaggio di Progetto): Notazione testuale strutturata che unisce il linguaggio naturale ai costrutti logici dei linguaggi di programmazione.

3. Costrutti Fondamentali della Programmazione

Secondo il teorema di Böhm-Jacopini, qualsiasi algoritmo può essere implementato combinando tre soli costrutti di controllo strutturato:

  1. Sequenza: Esecuzione lineare delle istruzioni una dopo l'altra.
  2. Selezione (o Condizionale): Bivio logico basato sulla verifica di una condizione booleana (es. se/altrimenti).
  3. Iterazione (o Ciclo/Loop): Ripetizione di un blocco di istruzioni finché una determinata condizione risulta vera.

4. Simulatore Interattivo: Valutatore di Proprietà e Test Logico

Seleziona un esempio di sequenza logica per verificare se possiede i requisiti formali di un algoritmo e simularne l'esecuzione.

algo-eval@nexus-core:~# Algorithm Properties & Logic Simulator
> In attesa di selezione per la verifica formale dell'algoritmo...