Calculadora

Solo disponible en BuenasTareas
  • Páginas : 5 (1054 palabras )
  • Descarga(s) : 0
  • Publicado : 15 de noviembre de 2011
Leer documento completo
Vista previa del texto
Utilidad: Calculadora Natural
Esta calculadora está desarrollada con el lenguaje Natural.

Permite cálculos aritméticos, exponenciales y logarítmicos. Consta de 4 memorias y esta sujeta a todo tipo de mejoras. La utilidad reside en poder efectuar potencias basándose en el calculo logarítmico. Los fuentes se encuentran en el disco que acompaña a la revista, siendo su contenido el siguiente:JMPCALCP.TXT: listado fuente del Programa Natural. JMPCALCM.TXT: Definición del mapa invocado por el programa, y que sirve de interface a la utilidad. EJEMPLO.TXT : Contiene 2 Hardcopys de la utilidad en tiempo de ejecución.

Autor: José M. Peco Palacios

Página 1 de 7

Programa: JMPCALCP
************************************************************************ * * APLICACION : DESARROLLO *PROGRAMA : JMPCALCP * OBJETIVO : CALCULADORA * AUTOR : JMP * FECHA : 3/8/94 * ************************************************************************ * DEFINE DATA LOCAL 01 I (N3) 01 M (F8) 01 X (N15,7) 01 Y (N15,7) 01 Z (N15,7) 01 A (N15,7) 01 B (N15,7) 01 C (N15,7) 01 D (N15,7) 01 W-OPCION (A2) 01 W-ENTERO (N22) 01 W-DECIMAL (N22) 01 S-DECIMAL (N3) 01 W-MARCA (N3) * END-DEFINE ************************************************************************* * ON ERROR WRITE '--------------- ERROR ----------------' WRITE 'CODIGO ................. : ' *ERROR-NR WRITE 'PROGRAMA ............... : ' *PROGRAM WRITE 'LINEA .................. : ' *ERROR-LINE WRITE 'FECHA Y HORA ........... : ' *DATE *TIME WRITE '======================================' END-ERROR ************************************************************************* * SET KEY PF3=ON MOVE 3 TO W-MARCA * REPEAT /* SET CONTROL 'WFL55C21B2/10' INPUT MARK W-MARCA AND SOUND ALARM USING MAP 'JMPCALCM' /* IF *PF-KEY = 'PF3' MOVE 'F' TO W-OPCION END-IF /*

Autor: José M. Peco Palacios

Página 2 de 7

MOVE 3 TO W-MARCA DECIDE ON FIRST VALUE OF W-OPCION /* VALUE '+' COMPUTE Z = X + Y VALUE '-' COMPUTE Z = X - Y VALUE '*' COMPUTE Z= X * Y VALUE '/' PERFORM EXAMINAR-DIVISOR COMPUTE ROUNDED Z = X / Y /* VALUE 'A+' COMPUTE A = A + Z VALUE 'A-' COMPUTE A = A - Z VALUE 'AZ' COMPUTE A = Z VALUE 'XA' COMPUTE X = A VALUE 'AX' COMPUTE A = X VALUE 'YA' COMPUTE Y = A VALUE 'AY' COMPUTE A = Y VALUE 'A0' COMPUTE A = 0 /* VALUE 'B+' COMPUTE B = B + Z VALUE 'B-' COMPUTE B = B - Z VALUE 'BZ' COMPUTE B = Z VALUE 'XB' COMPUTE X = B VALUE'BX' COMPUTE B = X VALUE 'YB' COMPUTE Y = B VALUE 'BY' COMPUTE B = Y VALUE 'B0' COMPUTE B = 0 /* VALUE 'C+' COMPUTE C = C + Z VALUE 'C-' COMPUTE C = C - Z VALUE 'CZ' COMPUTE C = Z VALUE 'XC' COMPUTE X = C VALUE 'CX' COMPUTE C = X VALUE 'YC' COMPUTE Y = C VALUE 'CY' COMPUTE C = Y VALUE 'C0' COMPUTE C = 0 /* VALUE 'D+' COMPUTE D = D + Z VALUE 'D-' COMPUTE D = D - Z VALUE 'DZ' COMPUTE D = Z VALUE 'XD'COMPUTE X = D VALUE 'DX' COMPUTE D = X VALUE 'YD' COMPUTE Y = D VALUE 'DY' COMPUTE D = Y VALUE 'D0' COMPUTE D = 0 /* VALUE 'X' COMPUTE X = Z VALUE 'Z+' COMPUTE Z = Z + X MOVE 1 TO W-MARCA VALUE 'Y' COMPUTE Y = Z VALUE 'S' COMPUTE ROUNDED Z = SQRT(X) VALUE '1' PERFORM EXAMINAR-DIVISOR COMPUTE ROUNDED Z = 1 / Z /* VALUE 'P' COMPUTE ROUNDED M = Y * LOG(X) COMPUTE ROUNDED Z = EXP(M) /* VALUE 'R'PERFORM EXAMINAR-DIVISOR COMPUTE ROUNDED M = 1 / Y COMPUTE ROUNDED M = M * LOG(X) COMPUTE ROUNDED Z = EXP(M) /* VALUE 'F' SET CONTROL 'WB' FETCH 'MENU'

Autor: José M. Peco Palacios

Página 3 de 7

VALUE 'C' FETCH 'JMPCALCP' /* NONE VALUE REINPUT '==> OPCION NO VALIDA.' MARK *W-OPCION AND SOUND ALARM END-DECIDE END-REPEAT * ************************************************************************DEFINE SUBROUTINE EXAMINAR-DIVISOR * IF Y = 0 REINPUT '==> EL DIVISOR NO PUEDE SER 0' END-IF END-SUBROUTINE * ************************************************************************ * END

Autor: José M. Peco Palacios

Página 4 de 7

Mapa:
******************************************************************************** Ob _ Ob D CLS ATT DEL CLS ATT DEL . . T D Blnk T I ? . . A D _ A I...
tracking img