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 1065<br />

|QSORT<br />

| IF Z > A<br />

| THEN<br />

| PART<br />

| SP := SP + 1<br />

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

| Z := CF - 1<br />

| QSORT<br />

| # SP := SP - 1<br />

| # SP := SP + 1<br />

| SAVEA(SP) := A<br />

| A := CF + 1<br />

| QSORT<br />

| A := SAVEA(SP)<br />

| SP := SP - 1<br />

| END IF<br />

|END QSORT<br />

|Listato 83.51. Soluzione in COBOL del problema del Quicksort, con la simulazione<br />

della ricorsione. Si osservi che ‘CF’ è una parola riservata del linguaggio, pertanto viene<br />

sostituita con ‘C-F’. Una copia di questo file dovrebbe essere disponibile presso 〈allegati/<br />

cobol/HC06.cob 〉.<br />

|000600 IDENTIFICATION DIVISION.<br />

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

|000800 AUTHOR. DANIELE GIACOMINI.<br />

|000900 DATE-WRITTEN. 1984-08-22.<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.<br />

|001900<br />

|002000 01 RECORD-STACKS.<br />

|002100 02 SAVEA OCCURS 100 TIMES PIC 999.<br />

|002200 02 SAVEZ OCCURS 100 TIMES PIC 999.<br />

|002300<br />

|002400 01 STACK-POINTER.<br />

|002500 02 SP PIC 999.<br />

|002600<br />

|002700 01 VARIABILI-SCALARI.<br />

|002800 02 C-F PIC 999.<br />

|002900 02 A PIC 999.<br />

|003000 02 Z PIC 999.<br />

|003100 02 TEMP PIC X(15).<br />

|003200 02 I PIC 999.<br />

|003300 02 J PIC 999.<br />

|003400<br />

|003500 01 RECORD-TABELLA.

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

Saved successfully!

Ooh no, something went wrong!