24.01.2014 Views

Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1058 volume V Programmazione<br />

|Figura 83.39. Confronto tra una procedura ricorsiva e la sua trasformazione non ricorsiva,<br />

attraverso la pseudocodifica.<br />

È bene precisare che la tecnica è valida solo se all’interno di una procedura ricorsiva tutte le<br />

iterazioni che contengono una chiamata (diretta o indiretta) alla stessa procedura sono a loro<br />

volta espresse in forma ricorsiva (si veda il problema delle permutazioni).<br />

«<br />

83.4.5 Torre di Hanoi<br />

Segue la descrizione dell’algoritmo attraverso la pseudocodifica in forma ricorsiva.<br />

sezione 72.5.3 viene descritto il problema della torre di Hanoi.<br />

Variabile<br />

Descrizione<br />

| N È la dimensione della torre espressa in numero di anelli: gli<br />

anelli sono numerati da 1 a ‘N’.<br />

| P1 È il numero del piolo su cui si trova inizialmente la pila di ‘N’<br />

anelli.<br />

| P2 È il numero del piolo su cui deve essere spostata la pila di<br />

anelli.<br />

| 6-P1-P2 È il numero dell’altro piolo. Funziona così se i pioli sono<br />

numerati da 1 a 3.<br />

Nella<br />

|HANOI (N, P1, P2)<br />

| IF N > 0<br />

| THEN<br />

| HANOI (N-1, P1, 6-P1-P2)<br />

| scrivi: "Muovi l’anello" N "dal piolo" P1 "al piolo" P2<br />

| HANOI (N-1, 6-P1-P2, P2)<br />

| END IF<br />

|END HANOI<br />

Segue la descrizione della trasformazione in modo tale da simulare la ricorsione.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!