Newsgroup: it.comp.java
Titolo: ricorsione

In questi giorni sono venuto a stretto (e faticoso anzi, direi stremante) 
contatto con la ricorsione.
Ho l' impressione che la ricorsione sia una procedimento non naturale per 
il nostro modo di ragionare, sia al limite delle nostre capacità.
Ovviamente non mi riferisco al programmino per calcolare il fattoriale ma a 
problemi più complessi.
Vorrei sapere che peso ha per voi nella porgrammazione la ricorsione e se 
trovate le difficoltà che  incontro io.
                                                                Ciao e grazie!

 trovate le difficoltà che  incontro io.
peso in che senso?
Considera cmq sempre che ogni programma ricorsivo può essere simulato
con un programma iterativo (mantenendo completezza e correttezza)
sempre e comunque magari probabilmente a discapito della legibilità e
comprensione del codice.
Magari utilizzando linguaggi funzionali (come ML) ti viene poi più spontaneo
ragionare ricorsivo...
Ovvio che dipende dall'argomento che devi affrontare, se è una funzione
matematica
allora magari ti viene più spontaneo proprio pensarla già ricorsiva e
avresti
più difficoltà se ti dovessero dire di implementarla iterativa.
ciao

 ha scritto nel messaggio
news:1pZt9.73266$%M1.18...@twister2.libero.it...

per quanto riguarda java non ho avuto ancora 'piacere' di utilizzarla..
invece per altri linguaggi di programmazione devo ammettere che l'approccio
alla ricorsione è arduo immaginare che il programma lasci uno stato in
sospeso per eseguire le stesse operazioni in un altro stato e poi riprenda
quello sospeso... non è facile abituarsi!!
Cmq dopo un po' di pratica, dove non si fanno più tanti giri di parole, la
ricorsione viene da sè..

 wrote in message
news:1pZt9.73266$%M1.18...@twister2.libero.it...
| Ho l' impressione che la ricorsione sia una procedimento non naturale per
| il nostro modo di ragionare, sia al limite delle nostre capacità.
Beh, qualche volta ti capita di scrivere una funzioncina e poi di renderti
conto che e' ricorsiva..ma non l'hai fatto "volontariamente", ma ti e'
venuta cosi' "naturalmente".
Credo che molto dipenda dall'idea di soluzione che ti viene in mente, se e'
"naturalmente" esprimibile in modo ricorsivo, ti verra' piu' semplice e
spontaneo implementarla in tal modo...vale ovviamente il viceversa!
| Ovviamente non mi riferisco al programmino per calcolare il fattoriale ma
a
| problemi più complessi.
Neppure io! :)
Implementare un algoritmo ricorsivo solitamente aiuta in situazioni
"complesse" che ti si risolvono "come per magia"
| Vorrei sapere che peso ha per voi nella porgrammazione la ricorsione e se
| trovate le difficoltà che  incontro io.
All'inizio (nel capirne la reale implementazione a livello di stack & C.) ci
si puo' trovare un attimo smarriti, ma secondo me e' molto piu' semplice
nella vita reale metterla in atto senza stare troppo a pensare a cosa c'e'
dietro...se una funzione ti nasce ricorsiva ti nasce ricorsiva e basta :) (a
meno di stringenti problemi di prestazioni e/o memoria disponibile)
Cmq l'argomento credo non sia IT, x maggiori dettagli prova su
it.comp.programmare o it.scienza.informatica.
|                                                                 Ciao e
grazie!
prego!
--
^I^caro


Vi sono problemi e strutture dati che sono per loro stessa 
natura definiti in modo ricorsivo (un esempio per tutti: 
gli alberi). In questi casi l'utilizzo di algoritmi ricorsivi 
permette di produrre codice compatto, elegante e facilmente
manutenibile.
E' difficile utilizzare la ricorsione quando il problema da
risolvere non e' stato correttamente espresso in modo ricorsivo,
ammesso che sia conveniente farlo. A questo proposito, ti faccio
notare che il calcolo del fattoriale utilizzando la ricorsione
e' uno dei classici esempi accademici che non trovano
applicazione pratica nella realta': usare un normale ciclo 
iterativo e' sicuramente piu' efficiente, sia in termini di 
velocita' che di impiego della memoria.
Questo in breve
Saluti
Roberto
-- 
+----------------------------------+
| Roberto Bagnoli                  |
| Sistemi Informativi e Telematici |
| Comune di Modena                 |
| 
robe...@comune.modena.it
        |
+----------------------------------+