DIVIDE con REMAINDER en COBOL
Un solo DIVIDE llena las cajas y la canasta: cociente y resto en un mismo verbo.
IDENTIFICATION DIVISION.
PROGRAM-ID. DIVIDE-REMAINDER.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 EGG-COUNT PIC 9(3) VALUE 157.
01 BOX-SIZE PIC 99 VALUE 12.
01 FULL-BOXES PIC 99.
01 LEFT-OVER PIC 99.
PROCEDURE DIVISION.
DIVIDE EGG-COUNT BY BOX-SIZE
GIVING FULL-BOXES REMAINDER LEFT-OVER
ON SIZE ERROR DISPLAY "box math overflowed"
END-DIVIDE
DISPLAY EGG-COUNT " eggs fill " FULL-BOXES " boxes"
DISPLAY LEFT-OVER " stay in the basket"
STOP RUN.
Cómo funciona
DIVIDE ... GIVING FULL-BOXES REMAINDER LEFT-OVERnombra los dos resultados.ON SIZE ERRORprotege la aritmética;END-DIVIDEcierra el alcance.- 157 huevos por docena: 13 cajas y un huevo que se queda en la canasta.
Palabras clave y builtins usados aquí
DATADISPLAYDIVIDEDIVISIONIDENTIFICATIONPROCEDURESECTIONSTOP
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 453
- Tokens
- 61
- Ritmo de tres estrellas
- 40 tpm
Al ritmo de tres estrellas de 40 tokens por minuto, este intento toma unos 92 segundos.
Paso 3 de 3 en Aritmética; paso 12 de 27 en Fundamentos del lenguaje.