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.

1070 volume V Programmazione<br />

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

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

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

Variabile<br />

Descrizione<br />

|PERMUTA (LISTA, A, Z)<br />

|<br />

| SCAMBIO_CHIAMATA_SCAMBIO<br />

| IF K >= A<br />

| THEN<br />

| LISTA[K] :==: LISTA[Z]<br />

| SP := SP + 1<br />

| SAVEZ(SP) := Z<br />

| Z := Z - 1<br />

| PERMUTA<br />

| Z := SAVEZ(SP)<br />

| SP := SP - 1<br />

| LISTA[K] :==: LISTA[Z]<br />

| SP := SP + 1<br />

| SAVEK(SP) := K<br />

| K := K - 1<br />

| SCAMBIO_CHIAMATA_SCAMBIO<br />

| K := SAVEK(SP)<br />

| SP := SP - 1<br />

| END IF<br />

| END SCAMBIO_CHIAMATA_SCAMBIO<br />

|<br />

| IF Z > A<br />

| THEN<br />

| SP := SP + 1<br />

| SAVEK(SP) := K<br />

| K := N<br />

| SCAMBIO_CHIAMATA_SCAMBIO<br />

| K := SAVEK(SP)<br />

| SP := SP - 1<br />

| ELSE<br />

| scrivi LISTA<br />

| END IF<br />

|END PERMUTA<br />

|Listato 83.57. Soluzione in COBOL del problema delle permutazioni, con la simulazione<br />

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

HC07.cob 〉.<br />

|000600 IDENTIFICATION DIVISION.<br />

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

|000800 AUTHOR. DANIELE GIACOMINI.<br />

|000900 DATE-WRITTEN. 1985-06-19.<br />

|001000

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

Saved successfully!

Ooh no, something went wrong!