Jump to content

ФАКТ (компьютерный язык)

ФАКТ
Парадигма Процессуальный , императивный
Разработано Корпорация компьютерных наук , Honeywell
Впервые появился 1959  ( 1959 )
Под влиянием
КОБОЛ

FACT — это язык программирования , производство которого было прекращено раньше всех, созданное подразделением Datamatic компании Honeywell в Миннеаполисе для бизнес-компьютеров серии 800 в 1959 году. FACT — это аббревиатура от «Полностью автоматическая техника компиляции». [1] Это оказало влияние на разработку языка программирования COBOL .

Часть дизайна FACT была основана на лингвистическом проекте Basic English , разработанном около 1925 года К. К. Огденом .

На самом деле программное обеспечение было разработано Корпорацией компьютерных наук ( Флетчер Джонс , Рой Натт и Роберт Л. Патрик) по контракту с Ричардом Клиппингером из Honeywell.

Вклад в КОБОЛ

[ редактировать ]

FACT оказал влияние на разработку COBOL и является одним из трех языков-предшественников, упомянутых во всех руководствах по COBOL.

Несколько элементов FACT были включены в COBOL:

  • Определение данных как уровней с групповыми элементами и элементарными элементами.
  • Присвоение начальных значений данным по мере их определения ( VALUE пункт).
  • Указание ограниченного списка литеральных значений, разрешенных в определенном поле ( 88 элементы данных уровня).
  • Непроцедурный генератор отчетов, основанный на указании внешнего вида желаемого отчета (раздел «Отчет» в COBOL-66).
  • Квалификация имен данных ( IN или OF пункт).
  • Групповое перемещение одноименных элементов ( MOVE CORRESPONDING).
  • Проверка действительности процедурных утверждений ( ON ERROR пункт).
  • Встроенный SORT функция.

Реализации

[ редактировать ]

FACT был реализован в 1960-х годах: «Пять клиентов FACT пишут все свои приложения с использованием FACT» и «еще дюжина клиентов Honeywell используют FACT в разной степени». [2] сюда входили банк и система управления военными запасами . Он использовался Министерством обороны Австралии в 1960-х и 1970-х годах. [ нужны разъяснения ]

Пример программы

[ редактировать ]

Следующие примеры кода из простого приложения расчета заработной платы в спецификации FACT демонстрируют фиксированную природу FACT и его сходство с COBOL.

Контуры файла:

O   1       RU   DETAIL-FILE, (DETAIL),(D)
O   2             DATE
O   3              MONTH
O   4              DAY
O   5              YEAR
O   6            *EMPLOYEE-RECORD
O   7              EMPLOYEE-NO, (EMPLOYNO)
O   8             *NEW-EMPLOYEE,(NW)
O   9               NAME
O  10               RATE
O  11               EXEMPTIONS,(EXEMPT)
O  12               BOND-DEDUCT,(BONDEDUCT)
O  13               BOND-DENOMINATION,(BONDENOM)

O  30        I   INTERNAL-FILE1
O  31             WORKING-DATA
O  32     11 D     BATCH-SUM
O  33     11 D     BATCH-NUMBER
O  34     11 D     BATCH-COUNT   O
O  35     11 D 1   SUM-OF-HOURS
O  36     11 D     CARDS-IN-BATCH  O

Исходные утверждения:

P  85 BOND PROCEDURE.  WRITE BONDORDER AND SUBTRACT 1 FROM NUM.
P  86
P  87 NOTE.  PHASE I OF SAMPLE PROGRAM.  THE FOLLOWING PROCEDURES ARE USED TO
P  88      MAKE BATCH CHECKS DURING THE CARD READING PASS.
P  89
P  90 SUMMATION PROCEDURE.  ADD RP HOURS TO SUM-OF-HOURS.  ADD 1 TO CARDS-IN-
P  91      -BATCH.
P  92
P  93 BATCH-CHECK PROCEDURE.  IF BATCH-SUM IS NOT EQUAL TO SUM-OF-HOURS OR BATCH-
P  94      -COUNT IS NOT EQUAL TO CARDS-IN-BATCH SEE BAD-BATCH.  SET SUM-OF-HOURS
P  95      AND CARDS-IN-BATCH TO ZERO.
P  96
P  97  BAD-BATCH PROCEDURE.  REVERSE NEW-MASTER.  CLOSE PAGE OF ERROR-REPORT.
P  98
P  99            L.  PUT ZEROS INTO PRINTLINE.  SET NUM TO 8.
P 100
P 101            BUILD.  PUT EMPLOYNO AND RP HOURS INTO (NUM)TH EN AND EH. SUB-
P 102       TRACT 1 FROM CARDS-IN-BATCH AND NUM.  IF CARDS-IN-BATCH IS ZERO WRITE
P 103       ERROR-REPORT, REVERSE NEW-MASTER, LEAVE PROCEDURE.  GET NEXT GROUP.
P 104       IF NUM IS ZERO WRITE ERROR-REPORT AND GO TO L, OTHERWISE RETURN TO
P 105       BUILD. END OF PROCEDURE.

Описания отчетов:

R   1  40ERROR-REPORT
A   2 PAGE-HEADING      HDEJ 2
F   3 BATCH-NUMBER                            24BATCH NO.   ^
F   4 PAGE-NUMBER                 1           43IN ERROR    PAGE  ^
A   5 COLUMN-HEADINGS   HD   3
F   6                                         30EMP.NO. HOURS  EMP.NO.HOURS^
F   7                                         60EMP.NO. HOURS  EMP.NO.HOURS^
F   8                                         90EMP.NO. HOURS  EMP.NO.HOURS^
F   9                                        120EMP.NO. HOURS  EMP.NO.HOURS^
A  10 ERROR-LINE        OO   1
F  11 1ST EN                                   8     ^
F  12 1ST RH                                  14  .^
F  13 2ND EN                                  23     ^
F  14 2ND RH                                  29  .^
F  15 3RD EN                                  38     ^
F  16 3RD RH                                  44  .^

R 101  4OBONDORDER
A 102 BOND-HEADING      HDEJ 2
F 103 BPAGE                        1
A 104 BONDORDER-LINE    OO   1
F 105 M EMPLOYNO
F 106 M NAME

Макеты отчетов:

L   1  PAGE-HEADING                 BATCH NO.   ^ IN ERROR   PAGE ^
L   2  COLUMN-HEADING     EMP.NO. HOURS  EMP.NO. HOURS  EMP.NO. HOURS  EMP.NO. HOURS  EMP.NO. HOURS  EMP.NO. HOURS  EMP.NO. HOURS  EMP.NO. HOURS
L   3  ERROR-LINE               ^    .^        ^    .^        ^    .^        ^    .^        ^    .^        ^    .^        ^    .^        ^    .^
L   4  BOND-HEADING       BOND ORDERS  EMP. NO.     NAME           DATE       BOND    PAGE   ^
L   5  BONDORDER-LINE                        ^                ^   ^- ^- ^      . ^
L   6  DEL-HEADING        TERMINATIONS  EMP. NO.   DATE        NAME         BOND CR. TOTALS.. GROSS     TAX     FICA   INSUR    RET     PAGE  ^
L   7  DELETIONS-LINE                         ^   ^- ^- ^                ^      . ^              . ^      . ^     . ^     . ^     . ^
L   8  ERROR-HEADING      ERRORS...    EMP. NO.    DATE         TYPE         PAGE  ^
L   9  ERROR-LINE                            ^    ^- ^- ^                 ^
L  10  TITLE-LINE         PLACE CHECK FORM IN PRINTER
L  12 1PAYLINE                       ^             ^/ ^/ ^                                                 .^     ^/ ^/  ^
L  13 2PAYLINE                                                                          . ^     . ^     . ^     .^      . ^
L  14 3PAYLINE                                    ^        $****. ^                                     . ^             . ^

Источники

[ редактировать ]
  • Жан Э. Саммет (1969). ЯЗЫКИ ПРОГРАММИРОВАНИЯ: История и основы . Энглвуд Клиффс, Нью-Джерси: Прентис-Холл. стр. 316–324. LCCN   68028110 . ОЛ   5619276М .
  • ФАКТ Полностью автоматическая методика компиляции нового делового языка (PDF) . 1960. 160-2М.
  1. ^ ФАКТ: Метод полностью автоматического компиляции (PDF) . Электронная обработка данных Honeywell. 1960. ДСИ-27.
  2. ^ Клиппингер, РФ (1 августа 1962 г.). "Факт". Компьютерный журнал . 5 (2): 112–119 (118 — Опыт использования ФАКТА ). дои : 10.1093/comjnl/5.2.112 . ISSN   0010-4620 .

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e40e552121b10e9cd49be90d714165ef__1695175620
URL1:https://arc.ask3.ru/arc/aa/e4/ef/e40e552121b10e9cd49be90d714165ef.html
Заголовок, (Title) документа по адресу, URL1:
FACT (computer language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)