Analisi, strategia risolutiva, algoritmo, sottoproblema, pseudocodifica, codifica, top-down
Pagina 40 – Somma dei numeri da 1 a n
Versione corta…
1 2 3 |
n=int(input("n = ")) # n ← 5 somma=n*(n+1)/2 # somma ← 5*6/2 = 15 print(n, somma) # 5 15 |
In Python è disponibile la funzione predefinita sum()
1 2 3 |
n=int(input("n = ")) # n ← 5 somma=sum(range(1,n+1)) # somma ← sum(1,2,3,4,5) = 15 print(n, somma) # 5 15 |
Versione iterativa…
1 2 3 4 5 |
n=int(input("n = ")) # n ← 5 somma=0 # somma ← 0 for i in range(1,n+1): # i ← 1, 2, 3, 4, 5 somma=somma+i # somma ← 1, 3, 6, 10, 15 print(n, somma) # 5 15 |
Pagina 43 – Fattura di 3 prodotti
Dati 3 imponibili, inseriti da tastiera, calcola
- l’imponibile netto
- l’IVA
- l’imponibile lordo
1 2 3 4 5 6 7 8 9 10 11 12 13 |
ALIQUOTA_IVA=22 # Costante imp1=float(input("Inserisci il 1° imponibile : ")) # Input imp2=float(input("Inserisci il 2° imponibile : ")) imp3=float(input("Inserisci il 3° imponibile : ")) importoNetto=imp1+imp2+imp3 # Elaborazione importoIVA =importoNetto*ALIQUOTA_IVA/100 importoLordo=importoNetto+importoIVA print("Imponibile = %6.2f", importoNetto) # Output print("Importo IVA = %6.2f", importoIVA ) print("Importo lordo = %6.2f", importoLordo) |
Pagina 45 – Fattura di 4 prodotti
…
Pagina 46 – 2 – Da secondi a ore/minuti/secondi
1 2 3 4 5 6 7 8 9 10 11 12 |
n=10000 #------------------------ senza variabili ausiliarie ed espressioni "complesse" secondi=n%60 # secondi=40 minuti =n//60 # minuti =166 ore =minuti//60 # ore =2 minuti =minuti%60 # minuti =46 #------------------------ oppure con una riga in meno... ore =n//3600 # ore =2 minuti =(n//60)%60 # minuti =46 secondi=n%60 # secondi=40 #------------------------ output formattato print("%02i:%02i:%02i") # 02:46:40 |
Pagina 46 – 7 – Le cifre separate di un numero
1 2 3 4 5 6 7 8 9 10 11 12 13 |
n=4567 # Da 1000 a 9999, sono sicuramente 4 cifre #------------------------- m=n//1000 # m=4, estrae migliaia c=(n%1000)//100 # c=5, elimina migliaia, estrae centinaia d=(n%100)//10 # d=6, elimina centinaia, estrae decine u=n%10 # u=7, estrae unità #------------------------- m=n//1000 # m=4, estrae migliaia c=(n//100)%10 # c=5, estrae 2 cifre, estrae una cifra d=(n//10)%10 # d=6, elimina unità, estrae decine u=n%10 # u=7, estrae unità #------------------------- print(m,c,d,u) # 4 5 6 7 |