Lezione 2 – Un secondo caso

 

Difficoltà tecnica:
1-su-5

Prima di procedere ad una definizione sufficientemente formale di algoritmo vorrei portare un secondo utile esempio che ci permetterà nel seguito di comprendere a pieno le basi di questo corso.

Poniamoci un problema che non preveda troppe supposizioni per dare una risposta!

Fornite 3 misure in cm, se queste fossero le dimensioni dei lati di un triangolo, questo risulta equilatero?

Procediamo un po più velocemente rispetto alla lezione precedente: dato il problema ci dice che le misure sono esattamente 3 sappiamo che può essere un triangolo, piuttosto che un quadrilatero o un’altra qualsiasi figura geometrica di base. Unica accortezza? le misure devono essere positive e maggiori di zero, altrimenti non possiamo costruire un triangolo.

Ma perché sono andato così veloce nella prima analisi al problema? Perché la figura del triangolo è ben definita nella geometria, e proprio per questo il problema ne risulta di molto semplificato, basta prendere la definizione di triangolo e verificarne i requisiti! Abbiamo di fronte un problema di cui, tramite le definizioni geometriche, possiamo evitare molte supposizioni che invece la fisica della frenata di un automobile non prevede.

Procedendo per passi definiti, dato che il problema non richiede tre misure positive direttamente dobbiamo chiederci se effettivamente le misure date sono positive e maggiori di zero. Quindi il primo passo del nostro algoritmo sarà appunto la verifica dei dati inseriti. Se anche una sola misura è uguale o inferiore a zero possiamo già rispondere che non si può costruire un triangolo equilatero in quanto semplicemente non si può costruire un triangolo.

Veniamo ora ad un passo essenziale! La definizione di triangolo equilatero: “si definisce equilatero un triangolo in cui tutti i lati hanno la stessa misura“.

La geometria ha fatto il grosso del lavoro per noi. Adesso usiamo un poco di matematica per finire di rispondere al problema che ci è stato posto:

definiamo che le misure che ci vengono fornite sono rappresentate dai simboli A, B e C

quindi possiamo rispondere che il triangolo è equilatero se e solo se A = B, B = C e C = A.

Abbiamo quindi una risposta precisa che non necessita di ulteriori supposizioni al fine di garantire la correttezza della soluzione.

L’algoritmo in questo caso è completo e possiamo dare una risposta sempre corretta. Proviamo a simulare il nostro algoritmo con i seguenti dati:

A = 30, B = -13, C = 2

La risposta in questo caso è negativa in quanto B è una misura minore di zero e per tanto i dati non rappresentano un triangolo.

Con i seguenti dati invece:

A = 10, B = 10, C = 10

la risposta è positiva, infatti non solo sono tutti positivi e maggiori di zero, ma sono anche A = B, B = C, C = A e quindi abbiamo un triangolo equilatero!

Nella prossima lezioni inizieremo ad introdurre la definizione di algoritmo e ad applicarla direttamente. E’ anticipato che questo esempio sarà cardine nelle prossime lezioni per la sua semplicità e completezza allo stesso tempo.

Per chi avesse voglia di fare esercizio, come si potrebbe ottimizzare la soluzione? (è davvero necessario fare tre confronti di misure?, è davvero necessario verificare che tutte e tre le misure siano strettamente positive?)