Primi passi con le funzioni

di il
3 risposte

Primi passi con le funzioni

Ho imparato a creare le funzioni e a chiamarle

quindi volevo creare un programmino visto e rivisto di poche righe per poter vedere i risultati immediatamente, il calcolo dei numeri di fibonacci
conosco la logica del calcolo e volevo inserirla in python senza sbirciare in codici già compilati e mi è uscito questo:
def fibonacci():
	fib1=0
	fib2=1
	n=input("finoa a che numero vuoi contare? ")
	while fib2 <= n: 
		print fib1 
		print fib2
		fib1=fib1+fib2
		fib2=fib1+fib2
	if fib1 == n:
		print fib1
fibonacci()
sono strasicuro che si può migliorare ma vorrei un parere da voi per sapere se ho scritto delle "inutilità", premetto che è il risultato migliore che mi è uscito fuori prima di questo ricevevo dal programma solo la tabella del 2 .-.

3 Risposte

  • Re: Primi passi con le funzioni

    Allora:

    1) ora modifca il codice in modo da stampare sullo schermo la differenza tra due numeri di fibonacci scelti dall'utente. ATTENZIONE: il codice risultante DEVE essere piu' corto di quanto hai gia' scritto (e' mooolto facile !)

    2) tu hai usato l'approccio iterativo nel calcolo del numero di fibnacci. Ora passa all'aproccio ricorsivo.

    Come si fa? Devi partire dalla sua definizione:

    fib(0) = 1
    fib(n) = fib(n-1) + fib(n-2)

    Da implementare! (E' mooooolto facile)

    3) ora va su wikipedia.it e cerca "numero di fibonacci": li trovi anche la formula per calcolarli. MA la formula quanto e' precisa?

    4) ora confronta i tempi di calcolo con n=1..10.100..1000.10000.. ecc per tutte le implementazioni, e fatti un diagramma n/tempo. Ne scoprirai delle belle.
    E dovresti anche dare una spiegazione del perche' i tempi sono quelli che sono.

    Non ti dico di piu' senno' che divertimento sarebbe'!

    Se ci riesci, avrai toccato con mano alcuni concetti fondamentali nel settore della computer science:

    a) riutilizzo del codice
    b) funzioni ricorsive
    c) complessita' computazionale
    d) algoritmi approssimati

    Ti assicuro che, benche' sia solo il calcolo del numero di fibonacci, le problematiche con cui avrai a che fare sono argomento di seri corsi di laurea.

    Non male per un semplice giochino, no?

    Ripeto: e' tutto moooolto facile.
  • Re: Primi passi con le funzioni

  • Re: Primi passi con le funzioni

    È molto più complicato di quanto pensassi... .-.
Devi accedere o registrarti per scrivere nel forum
3 risposte