>> SPEAKER 1: In tal ultima versione di sigma, ho implementato quello che chiamerei
una soluzione iterativa, per cui ho usato un ciclo avanti a contare tutte le
numeri compresi tra 1 e m, successivamente restituzione della somma.
>> Ma si scopre che possiamo usare un altro tecnica per attuare quella stessa
funzione, una tecnica conosciuta come ricorsione.
Una funzione ricorsiva, per così dire, è semplicemente uno che chiama se stessa.
Ora, in sé e per sé, che potrebbe essere un problema.
Se una funzione si chiama semplicemente che si chiede che si autodefinisce,
tale processo potrebbe bot mai fine.
Ma finché includiamo un cosiddetto caso base, una condizione che garantisce
che in alcune situazioni non ci chiamiamo noi stessi, quel processo di altrimenti
loop infinito deve cessare.
>> Vediamo ora reimplementare sigma come segue.
Se n è minore o uguale a 0, sono semplice, e un po 'arbitrariamente,
andando a restituire 0.
Altrimenti che cosa ho intenzione di fare è in realtà calcolare sigma per l'int positivo
che ho consegnato.
>> Ora, qual è sigma di m?
Ebbene, sigma di m è, naturalmente, la somma di 1 attraverso m.
Ma se ci pensiamo il contrario, è semplicemente la somma di m più m
meno 1 m più meno 2 e così via, tutta la strada fino a 1.
Quindi, in questo senso, sembra che Potrei semplicemente restituire m plus.
>> E poi ho bisogno di m meno 1 più meno di 2 m.
Ma ho una funzione che può dare Mi appunto quella risposta, vale a dire
sigma di m meno 1.
>> Ora, mi chiama in questo modo non sembrare l'idea migliore.
Perché se sigma chiama sigma che chiama sigma che chiama sigma, è
potrebbe pensare che questo processo Non potrebbe mai finire.
Ma è per questo che abbiamo avuto la cosiddetta base di caso nella parte superiore di questa funzione.
La condizione if che verifica se m è inferiore o uguale a 0 non mi va
per chiamare me.
Io invece intenzione di restituire 0, che a sua volta sta per essere aggiunto alla
numeri precedenti che ho sommando up, arrestando così il
processo altrimenti infinito.
>> Vediamo ora se questa nuova implementazione funziona.
Salviamo, compilare, e eseguire questo programma.
Fai sigma 1 punto tagliano sigma 1.
E cerchiamo di fornire con il stessi numeri prima.
2, che dovrebbe auspicabilmente mi danno 3.
Diciamo forniscono con 3, che spera, dovrebbe darmi 6.
E diciamo finalmente fornire con 50, che anzi mi dà 1.275.