Algoritmi notevoli

Un algoritmo è una sequenza finita di passi per risolvere un problema.

La programmazione non è solo sintassi: è soprattutto progettare buone soluzioni.

Esempio: massimo tra elementi

numeri = [7, 3, 12, 5, 9]

massimo = numeri[0]

for numero in numeri:
    if numero > massimo:
        massimo = numero

print(massimo)

Esempio: conta occorrenze

parola = "banana"
conteggio = 0

for lettera in parola:
    if lettera == "a":
        conteggio += 1

print(conteggio)

Esempio: somma degli elementi

numeri = [1, 2, 3, 4, 5]
totale = 0

for numero in numeri:
    totale += numero

print(totale)

Cercare un elemento

numeri = [4, 8, 15, 16, 23, 42]
trovato = False

for numero in numeri:
    if numero == 15:
        trovato = True

print(trovato)

Progettare prima di scrivere

Prima di codificare conviene chiedersi:

  • quali sono i dati di partenza?
  • qual è il risultato da ottenere?
  • quali passi servono?
  • c’è un caso particolare da gestire?

Algoritmi e funzioni

Spesso un algoritmo può essere trasformato in una funzione:

def massimo_lista(lista):
    massimo = lista[0]
    for elemento in lista:
        if elemento > massimo:
            massimo = elemento
    return massimo

Python offre anche strumenti già pronti

Per esempio:

numeri = [7, 3, 12, 5, 9]
print(max(numeri))
print(sum(numeri))

Però prima è importante capire la logica dietro questi strumenti.

Ricapitoliamo

  • un algoritmo è una sequenza ordinata di passi;
  • prima si ragiona, poi si scrive il codice;
  • saper costruire algoritmi significa saper risolvere problemi;
  • Python offre strumenti comodi, ma capire la logica resta la cosa più importante.