Esercizi¶
Negli esercizi seguenti useremo il modulo test con la funzione testEqual
.
In particolare dopo avere importato con from test import testEqual
, la chiamata testEqual(x, y)
stampa “Pass” se x è uguale a y, altrimenti comunica che x è diverso da y generando un errore di esecuzione.
Alcuni IDE Python non permettono l’uso del pacchetto test. In tal caso, il comportamento del pacchetto test può essere simulato scrivendo:
def testEqual(x, y):
if x == y:
print("Pass")
else:
print("Not Passing")
#qui stiamo stampando invece di generare un'eccezione e interrompere l'esecuzione
Scrivere una funzione
sumTo(n)
che ritorna la somma di tutti i numeri interi fino a n (incluso). Per cuisumTo(10)
corrisponde a1+2+3...+10
ovvero 55. Usare l’equazione (n * (n + 1)) / 2. Per vedere l’output della funzione ricordiamoci che la funzione va invocata.
Scrivere una funzione areaOfCircle(r) che ritorna l’area del cerchio di r, usando il modulo math.
Riscrivere la funzione
sumTo(n)
che ritorna la somma dei numeri fino a n incluso usando l’iterazione (accumulazione).
Scrivere una funzione chiamata
mySqrt
che approssima la radice quadrata di un numero n usando l’algoritmo di Newton. L’algoritmo di Newton raffina l’approssimazione iterativamente: l’approssimazione iniziale è n/2 e l’approssimazione successiva (newguess) è ottenuta da quella precedente usando la seguente formula: newguess = (1/2) * (oldguess + (n/oldguess)).
Scrivere una funzione chiamata
myPi
che ritorna un’approssimazione di PI (3.14159...), usando l’approssimazione di Leibniz <http://en.wikipedia.org/wiki/Leibniz_formula_for_%CF%80>.
Scrivere una funzione che prende in input 10 numeri e calcola il minimo, la somma, il massimo e la media.
Note
Puoi usare la finestra sotto per fare le tue prove.