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.