Manuale VB.Net

Follow on Facebook  Share on Twitter  Share on Google  Share on Linkedin  Share on Blogger  Share on Flipboard  Share on Tumblr 

Una procedura si dice "ricorsiva" quando al suo interno (o dentro un'altra procedura chiamata al suo interno) contiene una chiamata a se stessa.

Vediamo come si può presentare una procedura ricorsiva:

Sub nomeProcedura()
    codice
    nomeProcedura()
End Sub

Oppure

Sub nomeProcedura()
	codice
	altraProcedura()
End Sub 

Sub altraProcedura()
	codice
    nomeProcedura()
End Sub

Consideriamo il classico esempio del calcolo di un fattoriale ed applichiamo ad esso una metodologia di programmazione ricorsiva che viene spesso adottata e che si chiama metodologia RS (ricorsiva-strutturale).
Questa è formata da cinque fasi: specifica, base, ipotesi ricorsiva, passo e integrazione.
Vediamo le fasi nel dettaglio, in funzione dell'esempio:

Specifica

Prima di definire la funzione è necessario specificare in modo completo e preciso il risultato che
si vuole ottenere La specifica potrà essere costituita da una o più relazioni espresse in modo
formale, o da un testo in linguaggio naturale.
Vogliamo una funzione che calocoli il fattoriale di un numero n, la definizione del fattoriale è la seguente: n! = n*(n-1)*(n-2)*...*1

Base

La base di una ricorsione è il caso non ricorsivo.
Nel nostro caso vale che 0! = 1 e 1! = 1

Ipotesi ricorsiva

A questo punto, assumiamo per ipotesi che la funzione operi già correttamente caso più semplice

Passo

E' il punto più importante. Utilizzando come punto di partenza l'ipotesi ricorsiva, occorre capire come ottenere il valore della funzione inizialmente specificata.
Nel nostro esempio scopriamo che n! = n*(n-1)!

Integrazione

Consista nel mettere insieme le informazioni precedenti per scrivere la definizione complessiva.
Nel nostro caso
Se numero <= 1 allora fattoriale = 1
altrimenti fattoriale = numero*fattoriale

Vediamo quindi come sfruttare il ragionamento effettuato.

Module modCalcoloFattoriale
    Sub Main()
        Dim numero As Long = 0
        Dim risultato As Long = 0
        Console.Write("Inserisci un intero positivo: ")
        numero = Convert.ToSingle(Console.ReadLine)
        risultato = Fattoriale(numero)
        Console.WriteLine("Il fattoriale è: " & risultato)
    End Sub
    
    Function Fattoriale(ByVal numero As Long) As Long
        If numero <= 1 Then 
        	Return 1
        Else
        	Return numero*Fattoriale(numero - 1)
        End If
    End Function
End Module

Manuale VB.Net

 

A colpo d'occhio

  • Script C#

    Script C# per tutte le esigenze: database, sessioni, file, contatori, stringhe, date, e-mail, e tanto altro

  • Manuale C#

    Manuale completo di C# per principianti e non

  • Script VB.Net

    Script VB.Net Visual Basic .net: database, sessioni, file, contatori, stringhe, date, e-mail, e tanto altro

  • Manuale SQL

    Manuale di SQL con particolare attenzione a T-SQL di Microsoft SQL Server

  • Seo

    Tecniche di posizionamento indicizzazione e ottimizzazione dei siti web per nei motori di ricerca

  • Manuale CSS

    Manuale completo sui CSS per principianti e non

Be Responsive

HTML 5

HTML 5

HTML 5 è un linguaggio di markup utilizzato per la strutturazione e il contenuto delle pagine Web.

CSS 3

CSS 3

CSS 3 è l'ultima evoluzione dei fogli di stile CSS. Contiene molte novità come angoli arrotondati, ombre, sfumature, transizioni o animazioni.

jQuery

jQuery

jQuery è una libreria JavaScript cross-platform progettata per semplificare lo scripting lato client.