Morpheusweb.it - Risorse per webmaster: script, ASP.NET, C#, Visual Basic .Net, tutorial, asp, javascript, css, php, html, java, ADO, VBScript, forms, frames, Active Server Pages, Dynamic HTML, database, gratis per webmaster e webdesigner

La ricorsione con Visual Basic .Net

Ricorsione


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() 'chiamata ricorsiva
End Sub


Oppure

Sub nomeProcedura()
  'codice
  altraProcedura() 'chiamata ad altra funzione
End Sub

Sub
altraProcedura()
  'codice
  nomeProcedura() 'chiamata ricorsiva
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
      'siamo nel caso base
      Return 1
    Else
      'chiamata ricorsiva
      Return numero*Fattoriale(numero - 1)
    End If
  End Function

End Module



Stampa la pagina


 

Inizio pagina

risorse per webmaster

vb.net


corso manuale istruzioni manuali programmazione net usare tutorial vb dot dotnet tutorial vb net dataset vbnet guida guida vb net in vb net tutorial manuale vb net vb net tutorial visual basic asp net vb net code c# c# vb net vb vb net database vb net vb net array download vb net vb net pdf tutorial vb net data vb net report vb net excel vb net vb net sample vb net project visualbasic vb net mysql datagrid vb net asp net vb vb net application vb net xml web vb net vb net asp net vb net source component vb net vb net listview string vb net visualbasic net vb net dll vb net email microsoft vb net sql vb net timer vb net vb net help vb net ftp vbnet vb net server directory vb net file vb net forum vb net vb net db format vb net line vb net classe vb net client vb net datareader vb net date in vb net directshow vb net ftp vb net global variable vb net interface vb net listview vb net manuale vb net mysql vb net rete vb net split vb net using vb net vb net collections vb net contextmenu vb net databinding vb net datagrid vb net download vb net excel vb net pop vb net standard vb net string vb net text vb net tutorial vb net write windows form vb net microsoft visual basic net visual basic dot net visual basic net datagrid net visual basic visual basic net 2003 microsoft vb net code visual basic net visual basic net standard visual basic net download microsoft visual basic net 2003 visual basic net tutorial net visual basic sample visual basic vb net visual basic net access visual basic net source visual basic c# visual basic net example visual basic 6 net database visual basic net microsoft visual basic net standard visual basic net ado programming microsoft visual basic net visual basic net crystal report visual basic net treeview visual basic net array a visual basic net ado net visual basic api visual basic net con visual basic net database in visual basic net download visual basic net file visual basic net files visual basic net in visual basic net manuale visual basic net of visual basic net treeview visual basic net tutorial visual basic net visual basic dotnet visual basic net visual basic net 2005 visual basic net crystal visual basic net database visual basic net open visual basic net resource visual basic net resource kit visual basic net user with visual basic net

visual basic .net


ASP.NET, guida, Tutorial,




Vai nel sito Morpheusweb.it - Risorse per Webmaster
asp.net, vb.net, dotnet

Vai nel sito Morpheusweb.it - Risorse per Webmaster
asp, ASP.NET

Morpheusweb.it - corso vb net, manuale vb net, istruzioni vb net, manuali vb net, programmazione vb net, net, usare vb, tutorial , vbnet, dot, dotnet, tutorial vb net, dataset, guida, guida vb net, manuale vb, vb net tutorial, visual basic, asp net, vb net code, vb, vb net, database vb net, vb net array, data vb net, excel vb net, vb net sample, vb net project, visualbasic, vb net mysql, datagrid vb net, asp net vb, vb net application, vb net xml, web vb net, vb net asp net, vb net listview, string vb net, visualbasic net, vb net dll, vb net email, sql vb net, directory vb net, file vb net, vb net db, datareader vb net, date in vb net, mysql vb net, using vb net, vb net collections, vb net databinding, vb net datagrid, vb net excel, microsoft visual basic net, visual basic dot net, visual basic net datagrid, microsoft vb net, programming microsoft visual basic net, ado net visual basic, con visual basic net, file visual basic net, manuale visual basic net, tutorial visual basic net, visual basic dotnet, visual basic net