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.
(ex_f1)
(q_f1)
Scrivere una funzione areaOfCircle(r) che ritorna l’area del cerchio di r, usando il modulo math.
(ex_f2)
Riscrivere la funzione
sumTo(n)
che ritorna la somma dei numeri fino a n incluso usando l’iterazione (accumulazione).
(ex_5_13)
(q13_answer)
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)).
(ex_f3)
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>.
(ex_f4)
(ex_f5)
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.
(scratch_f)