Este artículo incluye una lista de referencias generales , pero permanece en gran parte sin verificar porque carece de suficientes citas en línea correspondientes . ( Enero de 2014 ) |
Paradigma | Procesal , imperativo |
---|---|
Diseñada por | Corporación de Ciencias de la Computación , Honeywell |
Apareció por primera vez | 1959 |
Influenciado | |
COBOL |
FACT es uno de los primeros lenguajes de programación de computadoras descontinuados , creado por la División Datamatic de Minneapolis Honeywell para sus computadoras comerciales modelo 800 de la serie en 1959. FACT era un acrónimo de "Técnica de compilación totalmente automática". [1] Influyó en el diseño del lenguaje de programación COBOL .
Parte del diseño de FACT se basó en el proyecto lingüístico Basic English , desarrollado alrededor de 1925 por CK Ogden .
En realidad, el software fue diseñado por Computer Sciences Corporation (Fletcher Jones, Roy Nutt y Robert L. Patrick) bajo contrato con Richard Clippinger de Honeywell.
FACT influyó en el diseño de COBOL y es uno de los tres lenguajes predecesores acreditados en todos los manuales de COBOL.
Se incorporaron varios elementos de FACT en COBOL:
VALUE
cláusula).88
elementos de datos de nivel).IN
o OF
cláusula).MOVE CORRESPONDING
).ON ERROR
cláusula).SORT
incorporada.No está claro si Honeywell lanzó alguna vez una versión funcional de FACT. Se diseñó el lenguaje y se publicó una especificación detallada (ver referencias), pero decía que "Computer Sciences Corporation también tiene el contrato para implementar FACT", lo que implica que todavía estaban trabajando en una implementación en ese momento. Aproximadamente en ese momento, el comité de corto alcance comenzó a desarrollar COBOL, y Roy Nutt, uno de los 3 directores de CSC, comenzó a trabajar con ese comité en COBOL. No está claro si alguna vez volvió a implementar FACT o si Honeywell concentró su esfuerzo de programación en un compilador COBOL.
FACT se implementó, [2] sin embargo, estaba siendo utilizado por el Departamento de Defensa de Australia en la década de 1960 y principios de la de 1970. [ aclaración necesaria ] [ aclaración necesaria ]
Los siguientes ejemplos de código de la aplicación de nómina simple en la especificación FACT muestran la naturaleza de forma fija de FACT y sus similitudes con COBOL.
Esquemas de archivo:
O 1 RU DETALLE-FILE , ( DETALLE ), ( D ) O 2 FECHA O 3 MES O 4 DÍA O 5 AÑO O 6 * EMPLEADOS-RECORD O 7 EMPLEADOS-NO , ( EMPLOYNO ) O 8 * NUEVO-empleado , ( NW ) O 9 NOMBRE O 10 TARIFAO 11 EXENCIONES , ( EXENTAS ) O 12 BONO-DEDUCCIÓN , ( BONDEDUCT ) O 13 BONO-DENOMINACIÓN , ( BONO )O 30 I ARCHIVO INTERNO1 O 31 DATOS DE TRABAJO O 32 11 D SUMA DE LOTE O 33 11 D NÚMERO DE LOTE O 34 11 D CUENTA DE LOTE O O 35 11 D 1 SUMA DE HORAS O 36 11 D TARJETAS ENTRADAS -LOTE O
Declaraciones de fuente:
P 85 PROCEDIMIENTO DE ADHESIÓN . ESCRIBA BONDORDER Y RESTE 1 DE NUM . P 86 P 87 NOTA . FASE I DEL PROGRAMA DE MUESTRA . LOS SIGUIENTES PROCEDIMIENTOS SON UTILIZADOS PARA P 88 HAGA BATCH CONTROLES DURANTE LA TARJETA DE LECTURA PASS . P 89 P 90 PROCEDIMIENTO DE RESUMEN . AGREGAR RP HORAS A SUMA DE HORAS . AÑADIR 1 A LA ENTRADA DE TARJETAS - P 91 - LOTE . P 92 P 93 PROCEDIMIENTO DE COMPROBACIÓN DE LOTES . SI LA SUMA DE LOTE NO ES IGUAL A LA SUMA DE HORAS O EL LOTE - P 94 - EL RECUENTO NO ES IGUAL A LAS TARJETAS EN LOTE VER LOTE MAL . AJUSTE SUMA DE HORAS P 95 Y TARJETAS EN LOTE A CERO . P 96 P 97 PROCEDIMIENTO DE LOTE INCORRECTO . REVERSO NUEVO MAESTRO . CIERRE LA PÁGINA DEL INFORME DE ERRORES . P 98 P 99 L . PONER LOS CEROS EN LA LÍNEA DE IMPRESIÓN . AJUSTE NUM EN 8 . P 100 P 101 CONSTRUIR . PUT EMPLOYNO Y RP HORAS EN ( NUM )TH EN Y EH . SUB - P 102 TRACT 1 DE TARJETAS EN LOTE Y NUM . SI LAS TARJETAS EN LOTE ES CERO, ESCRIBIR P 103 INFORME DE ERROR , INVERTIR NEW-MASTER , DEJAR EL PROCEDIMIENTO . CONSIGUE EL PRÓXIMO GRUPO . P 104 SI NUM ES CERO ESCRIBA INFORME DE ERRORES Y VAYA A L , DE LO CONTRARIO RETURN TO P 105 BUILD . FIN DEL PROCEDIMIENTO .
Descripciones de informes:
R 1 40 INFORME DE ERROR A 2 TÍTULOS DE PÁGINA HDEJ 2 F 3 LOTE-NÚMERO 24 LOTE NO . ^ F 4 NÚMERO DE PÁGINA 1 43 EN PÁGINA DE ERROR ^ A 5 TÍTULOS DE COLUMNA HD 3 F 6 30 EMP . NO . HORAS EMP . NO . HORAS ^ F 7 60 EMP . NO . HORAS EMP . NO . HORAS ^ F 8 90 EMP . NO . HORAS EMP . NO . HORAS ^ F 9 120 EMP . NO . HORAS EMP . NO . HORAS ^ A 10 ERROR-LINE OO 1 F 11 1 ST EN 8 ^ F 12 1 ST RH 14 . ^ F 13 2 ND EN 23 ^ F 14 2 ND RH 29 . ^ F 15 3 RD EN 38 ^ F 16 3 RD RH 44 . ^R 101 4 OBONDORDER A 102 BOND-HEADING HDEJ 2 F 103 BPAGE 1 A 104 BONDORDER-LINE OO 1 F 105 M EMPLOYNO F 106 M NAME
Diseños de informes:
L 1 LOTE DE TÍTULOS DE PÁGINA NO . ^ EN ERROR PÁGINA ^ L 2 COLUMNA-ENCABEZAMIENTO EMP . NO . HORAS EMP . NO . HORAS EMP . NO . HORAS EMP . NO . HORAS EMP . NO . HORAS EMP . NO . HORAS EMP . NO . HORAS EMP . NO . HORASL 3 LÍNEA DE ERROR ^ . ^ ^ . ^ ^ . ^ ^ . ^ ^ . ^ ^ . ^ ^ . ^ ^ . ^ L 4 ENLACE-ENCABEZAMIENTO BOND ÓRDENES EMP . NO . NOMBRE FECHA BOND PAGE ^ L 5 BONDORDER-LINE ^ ^ ^ - ^ - ^ . ^ L 6 BORRANDO TERMINACIONES EMP . NO . FECHA NOMBRE BONO CR . TOTALES ... IMPUESTO BRUTO FICA INSUR RET PAGE ^ L 7 SUPRESIONES-LINE ^ ^ - ^ - ^ ^ . ^ . ^ . ^ . ^ . ^ . ^ L 8 ERRORES DE ENCABEZADO DE ERRORES ... EMP . NO . FECHA ESCRIBA PÁGINA ^ L 9 LÍNEA DE ERROR ^ ^ - ^ - ^ ^ L 10 LÍNEA DE TÍTULO COLOCAR FORMULARIO DE VERIFICACIÓN EN LA IMPRESORA L 12 1 LÍNEA DE PAGO ^ ^ / ^ / ^ . ^ ^ / ^ / ^ L 13 2 LÍNEA DE PAGO . ^ . ^ . ^ . ^ . ^ L 14 3 LÍNEA DE PAGO ^ $ **** . ^ . ^ . ^