Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica Parte ii - IIS Marconi Latina - Area didattica
1064 volume V Programmazione | CF := Z | | WHILE TRUE # ciclo senza fine. | | WHILE TRUE | | # sposta I a destra | | IF (LISTA[I] > LISTA[A]) OR I >= CF | THEN | BREAK | ELSE | I := I + 1 | END IF | | END WHILE | | WHILE TRUE | | # sposta CF a sinistra | | IF (LISTA[CF]
Programmare in COBOL 1065 |QSORT | IF Z > A | THEN | PART | SP := SP + 1 | SAVEZ(SP) := Z | Z := CF - 1 | QSORT | # SP := SP - 1 | # SP := SP + 1 | SAVEA(SP) := A | A := CF + 1 | QSORT | A := SAVEA(SP) | SP := SP - 1 | END IF |END QSORT |Listato 83.51. Soluzione in COBOL del problema del Quicksort, con la simulazione della ricorsione. Si osservi che ‘CF’ è una parola riservata del linguaggio, pertanto viene sostituita con ‘C-F’. Una copia di questo file dovrebbe essere disponibile presso 〈allegati/ cobol/HC06.cob 〉. |000600 IDENTIFICATION DIVISION. |000700 PROGRAM-ID. HC06. |000800 AUTHOR. DANIELE GIACOMINI. |000900 DATE-WRITTEN. 1984-08-22. |001000 |001100 |001200 ENVIRONMENT DIVISION. |001300 |001400 |001500 DATA DIVISION. |001600 |001700 |001800 WORKING-STORAGE SECTION. |001900 |002000 01 RECORD-STACKS. |002100 02 SAVEA OCCURS 100 TIMES PIC 999. |002200 02 SAVEZ OCCURS 100 TIMES PIC 999. |002300 |002400 01 STACK-POINTER. |002500 02 SP PIC 999. |002600 |002700 01 VARIABILI-SCALARI. |002800 02 C-F PIC 999. |002900 02 A PIC 999. |003000 02 Z PIC 999. |003100 02 TEMP PIC X(15). |003200 02 I PIC 999. |003300 02 J PIC 999. |003400 |003500 01 RECORD-TABELLA.
- Page 167 and 168: Programmare in COBOL 1013 Paragrafo
- Page 169 and 170: Programmare in COBOL 1015 |000900*
- Page 171 and 172: Programmare in COBOL 1017 |002500*-
- Page 173 and 174: Programmare in COBOL 1019 |002800 P
- Page 175 and 176: Programmare in COBOL 1021 |001900*-
- Page 177 and 178: Programmare in COBOL 1023 |001000 W
- Page 179 and 180: Programmare in COBOL 1025 |001400*
- Page 181 and 182: Programmare in COBOL 1027 |002500 0
- Page 183 and 184: Programmare in COBOL 1029 |003500 C
- Page 185 and 186: Programmare in COBOL 1031 |004300 T
- Page 187 and 188: Programmare in COBOL 1033 |002500*
- Page 189 and 190: Programmare in COBOL 1035 |000400 D
- Page 191 and 192: Programmare in COBOL 1037 |004300 S
- Page 193 and 194: Programmare in COBOL 1039 |007500 T
- Page 195 and 196: Programmare in COBOL 1041 83.3.9 AG
- Page 197 and 198: Programmare in COBOL 1043 83.3.10 A
- Page 199 and 200: Programmare in COBOL 1045 |003500 0
- Page 201 and 202: Programmare in COBOL 1047 |005300 E
- Page 203 and 204: Programmare in COBOL 1049 |009400 D
- Page 205 and 206: Programmare in COBOL 1051 83.3.15 A
- Page 207 and 208: Programmare in COBOL 1053 |009600 P
- Page 209 and 210: Programmare in COBOL 1055 |020200 I
- Page 211 and 212: Programmare in COBOL 1057 83.4.3 Pr
- Page 213 and 214: Programmare in COBOL 1059 | SAVEN
- Page 215 and 216: Programmare in COBOL 1061 |007200*
- Page 217: Programmare in COBOL 1063 | END WHI
- Page 221 and 222: Programmare in COBOL 1067 |008900 O
- Page 223 and 224: Programmare in COBOL 1069 |PERMUTA
- Page 225 and 226: Programmare in COBOL 1071 |001100 |
- Page 227 and 228: Programmare in COBOL 1073 |011700 M
- Page 229 and 230: Programmare in COBOL 1075 83.5 Rife
1064 volume V Programmazione<br />
| CF := Z<br />
|<br />
| WHILE TRUE # ciclo senza fine.<br />
|<br />
| WHILE TRUE<br />
|<br />
| # sposta I a destra<br />
|<br />
| IF (LISTA[I] > LISTA[A]) OR I >= CF<br />
| THEN<br />
| BREAK<br />
| ELSE<br />
| I := I + 1<br />
| END IF<br />
|<br />
| END WHILE<br />
|<br />
| WHILE TRUE<br />
|<br />
| # sposta CF a sinistra<br />
|<br />
| IF (LISTA[CF]