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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Programmare in COBOL 1059<br />

| SAVEN È il vettore utilizzato per conservare il valore di ‘N’.<br />

| SAVEP1 È il vettore utilizzato per conservare il valore di ‘P1’.<br />

| SAVEP2 È il vettore utilizzato per conservare il valore di ‘P2’.<br />

| SP È l’indice dei vettori usati per salvare i valori (stack pointer).<br />

Variabile<br />

Descrizione<br />

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

| IF N > 0<br />

| THEN<br />

| SP := SP + 1<br />

| SAVEN(SP) := N<br />

| SAVEP2(SP) := P2<br />

| N := N - 1<br />

| P2 := 6 - P1 - P2<br />

| HANOI<br />

| N := SAVEN(SP)<br />

| P2 := SAVEP2(SP)<br />

| SP = SP - 1<br />

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

| SP := SP + 1<br />

| SAVEN(SP) := N<br />

| SAVEP1(SP) := P1<br />

| N := N - 1<br />

| P1 := 6 - P1 - P2<br />

| HANOI<br />

| N := SAVEN(SP)<br />

| P1 := SAVEP1(SP)<br />

| SP = SP - 1<br />

| END IF<br />

|END HANOI<br />

|Listato 83.44. Soluzione in COBOL del problema della torre di Hanoi, con la simulazione<br />

della ricorsione. Una copia di questo file dovrebbe essere disponibile presso 〈allegati/cobol/<br />

HC04.cob 〉.<br />

|000600 IDENTIFICATION DIVISION.<br />

|000700 PROGRAM-ID. HC04.<br />

|000800 AUTHOR. DANIELE GIACOMINI.<br />

|000900 DATE-WRITTEN. 1984-08-18.<br />

|001000<br />

|001100<br />

|001200 ENVIRONMENT DIVISION.<br />

|001300<br />

|001400<br />

|001500 DATA DIVISION.<br />

|001600<br />

|001700<br />

|001800 WORKING-STORAGE SECTION.

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

Saved successfully!

Ooh no, something went wrong!