Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica Parte ii - IIS Marconi Latina - Area didattica

iismarconi.net
from iismarconi.net More from this publisher
24.01.2014 Views

1008 volume V Programmazione Il programma si arresta perché incontra l’istruzione ‘STOP RUN’. Paragrafo ‘SOMMA’ Inizialmente viene decrementato di una unità il contenuto della variabile ‘B’, quindi viene sommato al contenuto di ‘C’ il valore di ‘A’. Una copia di questo file dovrebbe essere disponibile presso 〈allegati/cobol/ELM0300.cob 〉. |000100 IDENTIFICATION DIVISION. |000200 PROGRAM-ID. ELM0300. |000300 AUTHOR. DANIELE GIACOMINI. |000400 DATE-WRITTEN. 1985-04-13. |000500* |000600 ENVIRONMENT DIVISION. |000700* |000800 DATA DIVISION. |000900* |001000 WORKING-STORAGE SECTION. |001100 01 A PIC 9(7). |001200 01 B PIC 9(7). |001300 01 C PIC 9(14) VALUE ZERO. |001400* |001500 PROCEDURE DIVISION. |001600*------------------------- LIVELLO 0 ----------------------------- |001700 MAIN. |001800 DISPLAY "MOLTIPLICAZIONE DI DUE NUMERI". |001900 DISPLAY "INSERISCI IL PRIMO ELEMENTO". |002000 ACCEPT A. |002100 DISPLAY "INSERISCI IL SECONDO ELEMENTO". |002200 ACCEPT B. |002300 PERFORM SOMMA UNTIL B = 0. |002400 DISPLAY C. |002500* |002600 STOP RUN. |002700*------------------------- LIVELLO 1 ----------------------------- |002800 SOMMA. |002900 COMPUTE B = B - 1. |003000 COMPUTE C = C + A. |003100* 83.2.4 ELM0400: prodotto tra due numeri « Variabili ‘A’ è il moltiplicando; ‘B’ è il moltiplicatore; ‘C’ è il risultato; ‘EOJ’ quando assume il valore 1 il programma si arresta; ‘RISPOSTA’ è la variabile che riceve la risposta, un ‘SI’ o un ‘NO’, per la continuazione o meno con un altro calcolo.

Programmare in COBOL 1009 Descrizione Il calcolo viene eseguito sommando alla variabile ‘C’ la variabile ‘A’ per ‘B’ volte. Per ogni esecuzione di tale somma, la variabile ‘B’ viene diminuita di una unità, cosicché il ciclo delle somme viene arrestato quando ‘B’ è ormai a zero. Il programma si arresta solo se gli viene dato un comando apposito, altrimenti continua a richiedere altri dati per l’esecuzione di un altro prodotto. Paragrafo ‘MAIN’ Vengono ricevuti dall’esterno i valori per le variabili ‘A’ e ‘B’ tramite il paragrafo ‘INSERIMENTO-DATI’. Viene eseguito il paragrafo ‘LAVORO’ ripetutamente, terminando il ciclo quando la variabile ‘EOJ’ contiene il valore uno. Il programma si arresta perché incontra l’istruzione ‘STOP RUN’. Paragrafo ‘LAVORO’ Viene eseguito tramite l’istruzione ‘PERFORM’ il paragrafo ‘SOMMA’ ripetutamente, terminando il ciclo quando la variabile ‘B’ contiene il valore zero. A quel punto, la variabile ‘C’ contiene il risultato del prodotto, che viene visualizzato con l’istruzione ‘DISPLAY’. Il programma riceve dall’esterno una parola: un ‘SI’ o un ‘NO’; se viene fornita la stringa ‘SI’ (scritta con lettere maiuscole) il programma azzera il contenuto della variabile ‘C’ ed esegue il paragrafo ‘INSERIMENTO-DATI’, altrimenti, viene messo il valore uno nella variabile ‘EOJ’. Paragrafo ‘INSERIMENTO-DATI’ Il paragrafo riceve dall’esterno i valori per le variabili ‘A’ e ‘B’. Paragrafo ‘SOMMA’ Inizialmente viene decrementato di una unità il contenuto della variabile ‘B’, quindi viene sommato al contenuto di ‘C’ il valore di ‘A’. Una copia di questo file dovrebbe essere disponibile presso 〈allegati/cobol/ELM0400.cob 〉. |000100 IDENTIFICATION DIVISION. |000200 PROGRAM-ID. ELM0400. |000300 AUTHOR. DANIELE GIACOMINI. |000400 DATE-WRITTEN. 1985-02-14. |000500* |000600 ENVIRONMENT DIVISION. |000700* |000800 DATA DIVISION. |000900* |001000 WORKING-STORAGE SECTION. |001100 01 A PIC 9(7). |001200 01 B PIC 9(7). |001300 01 C PIC 9(14) VALUE ZERO. |001400 01 EOJ PIC 9 VALUE ZERO. |001500 01 RISPOSTA PIC XX. |001600* |001700 PROCEDURE DIVISION. |001800*------------------------- LIVELLO 0 ----------------------------- |001900 MAIN.

1008 volume V Programmazione<br />

Il programma si arresta perché incontra l’istruzione ‘STOP RUN’.<br />

Paragrafo ‘SOMMA’<br />

Inizialmente viene decrementato di una unità il contenuto della variabile ‘B’, quindi viene<br />

sommato al contenuto di ‘C’ il valore di ‘A’.<br />

Una copia di questo file dovrebbe essere disponibile presso 〈allegati/cobol/ELM0300.cob 〉.<br />

|000100 IDENTIFICATION DIVISION.<br />

|000200 PROGRAM-ID. ELM0300.<br />

|000300 AUTHOR. DANIELE GIACOMINI.<br />

|000400 DATE-WRITTEN. 1985-04-13.<br />

|000500*<br />

|000600 ENVIRONMENT DIVISION.<br />

|000700*<br />

|000800 DATA DIVISION.<br />

|000900*<br />

|001000 WORKING-STORAGE SECTION.<br />

|001100 01 A PIC 9(7).<br />

|001200 01 B PIC 9(7).<br />

|001300 01 C PIC 9(14) VALUE ZERO.<br />

|001400*<br />

|001500 PROCEDURE DIVISION.<br />

|001600*------------------------- LIVELLO 0 -----------------------------<br />

|001700 MAIN.<br />

|001800 DISPLAY "MOLTIPLICAZIONE DI DUE NUMERI".<br />

|001900 DISPLAY "INSERISCI IL PRIMO ELEMENTO".<br />

|002000 ACCEPT A.<br />

|002100 DISPLAY "INSERISCI IL SECONDO ELEMENTO".<br />

|002200 ACCEPT B.<br />

|002300 PERFORM SOMMA UNTIL B = 0.<br />

|002400 DISPLAY C.<br />

|002500*<br />

|002600 STOP RUN.<br />

|002700*------------------------- LIVELLO 1 -----------------------------<br />

|002800 SOMMA.<br />

|002900 COMPUTE B = B - 1.<br />

|003000 COMPUTE C = C + A.<br />

|003100*<br />

83.2.4 ELM0400: prodotto tra due numeri<br />

«<br />

Variabili<br />

‘A’ è il moltiplicando;<br />

‘B’ è il moltiplicatore;<br />

‘C’ è il risultato;<br />

‘EOJ’ quando assume il valore 1 il programma si arresta;<br />

‘RISPOSTA’ è la variabile che riceve la risposta, un ‘SI’ o un ‘NO’, per la continuazione<br />

o meno con un altro calcolo.

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

Saved successfully!

Ooh no, something went wrong!