Di seguito il codice sorgente di un algoritmo utile per calcolare le formule di un triangolo isoscele (realizzato da Erin Rustani con supersione Fabio Ferraro).
Il codice è realizzato per apprendere sia la sintassi del linguaggio che la logica della programmazione, per queesto il seguente codice può essere di sicuro migliorato siamo sempre
felici di ricevere i vostri suggerimenti.
Partiremo dal macroschema :
AB = int(input('Che valore vuoi dare alla base del triangolo? \n'))
BC = CA = int(input('Che valore vuoi dare al lato obliquo \n'))
print('I dati da te inseriti sono:')
print('AB =', AB,'cm')
print('BC =', BC,'cm')
print('CA =', CA,'cm')
import time
time.sleep(1)
print('Il perimetro del triangolo si calcola sommando AB, BC e CA')
time.sleep(1)
print('Il perimotro misura',AB+BC+CA,'cm')
time.sleep(1)
print('Per calcolare l\'area del triangolo dobbiamo prima trovare l\'altezza usando il teorema di Pitagora')
time.sleep(2.5)
import math
#calcoliamo il quadrato del lato obliquo
b2 = BC**2
#calcoliamo il quadrato della metà della base
a2 = (AB/2)**2
#calcoliamo la differenza dei quadrati
c = b2 - a2
#calcoliamo la radice quadrata della differenza
h = math.sqrt(c)
print('L\'altezza misura:', h,'cm')
print('L\'area si calcola moltiplicando la base per l\'altezza e dividendo il prodotto per 2')
time.sleep(2.5)
#calcoliamo l'altezza
area = AB*h/2
print('L\'area misura:', area,'cm²')
time.sleep(1)
#calcoliamo la media
media = (AB+BC+CA)/3
print('Per calcolare la media dei 3 numeri li sommiamo e dividiamo la somma per quanti lati sono, in quest caso diviso 3')
time.sleep(2.5)
print('La media dei tre lati è:')
print(media,'cm')
time.sleep(1)
#analizziamo i dati e vediamo quanti di essi sono pari e quanti sono dipari
if AB % 2 == 0 and BC % 2 == 0:
print('Tutti e tre i lati sono pari')
elif AB % 2 == 1 and BC % 2 == 1:
print('Nessun lato ha valore pari')
elif AB % 2 == 0:
print('Solo la base ha un valore pari')
time.sleep(1)
print('Quindi i lati con valori dispari sono 2')
elif BC % 2 == 0:
print('I due lati obliqui hanno valori pari')
time.sleep(1)
print('Quindi di lati con valori dispari abbiamo solo la base')