Module: (Python) Subroutine. ricorsione


Problem

2/12

Ricorsione. Simulazione del ciclo

Theory Click to read/hide

Ricorsione come sostituzione del ciclo

Abbiamo visto che la ricorsione è l'esecuzione ripetuta di istruzioni contenute in una subroutine. E questo, a sua volta, è simile al lavoro del ciclo. Esistono linguaggi di programmazione in cui il costrutto loop è del tutto assente. Ad esempio, Prolog. 
Proviamo a simulare il lavoro del ciclo for
Il ciclo for contiene una variabile contapassi. In una subroutine ricorsiva, tale variabile può essere passata come parametro.
# Procedura LoopImitation() con due parametri
# Primo parametro – contapassi, secondo parametro – numero totale di passi
def LoopImitation(i, n):
    print("Ciao N", i) # Istruzione da ripetere per qualsiasi valore di i
    se io < n: # Finché il contatore del ciclo non raggiunge il valore n,
        LoopImitation(i + 1, n) # chiama una nuova istanza della procedura,
                                # con parametro i+1 (vai al valore successivo i)

Problem

Studia il programma sottostante e organizza nel programma principale una chiamata di procedura con i parametri i = 1, n = 10.