WikiDer > КОМТРАН

COMTRAN
КОМТРАН
РазработчикБоб Бемер
Впервые появился1957 (1957)
Под влиянием
ПОТОК-MATIC
Под влиянием
КОБОЛ

КОМТРАН (КОММЕРЧЕСКИЙ ТРАНСЛЯТОР) - ранний язык программирования разработан в IBM. Он был задуман как эквивалент бизнес-программирования научного языка программирования. FORTRAN (FORmula TRANslator). Он был одним из предшественников КОБОЛ язык. Разработан Боб Бемер, в 1957 году в этом языке впервые появился элемент языка программирования, известный как пункт о картинках.

Вклад в COBOL

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

  • Пункт с изображением.
  • Разбиение на абзацы: разделение кода на абзацы (разрывы строк не имеют значения).
  • Названия абзацев. Присвоение имен абзацам и переходам (ИДТИ Кs) относятся к имени абзаца, а не к номеру строки.
  • В КОНЦЕ пункт об операциях ввода файла.
  • Образная постоянная ВЫСОКАЯ СТОИМОСТЬ.
  • Передача числового значения (КОД ВОЗВРАТА) обратно в операционную систему, когда программа прекращается.

Пункт с изображением

Элемент предложения изображения определяет длину любого заданного элемента данных, так же как словарь определяет слова. В частности, предложение изображения определяет, содержит ли датум буквы и цифры, а также другие характеристики данных, включая формат, размер и тип данных.

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

Это пример программы COMTRAN, выполняющей расчет заработной платы.[1]

 01001 *ПРОЦЕДУРА 01002 ВЫЗОВ (НАЕМНЫЙ РАБОЧИЙ.НОМЕР)  EMPLOYNO, 01003      (СВЯЗЬ)     BONDEDUCT, 01004      (БОНДЕНМИНАЦИЯ)  БОНДЕНОМ, 01005      (БОНДАКУМУЛЯЦИЯ) БОНДАККУМ, 01006      (СТРАХОВАНИЕ.PREM)   INSPREM, 01007      (ОТСТАВКА.PREM)  RETPREM, 01008      (ОТДЕЛЕНИЕ.Общий) DPT.  01009 НАЧНИТЕ. ОТКРЫТО ВСЕ ФАЙЛЫ.  01010 ПОЛУЧАТЬ.ВЛАДЕЛЕЦ. ПОЛУЧАТЬ ВЛАДЕЛЕЦ, В КОНЕЦ ДЕЛАТЬ КОНЕЦ.ИЗ.МАСТЕРА.  01011 ПОЛУЧАТЬ.ДЕТАЛИ. ПОЛУЧАТЬ ДЕТАЛИ, В КОНЕЦ ИДТИ К КОНЕЦ.ИЗ.ДЕТАЛИ.  01012 СРАВНИВАТЬ.НАЕМНЫЙ РАБОЧИЙ.ЧИСЛА. ИДТИ К Вычислить.ПЛАТИТЬ КОГДА ДЕТАЛИ EMPLOYNO 01013       ЯВЛЯЕТСЯ РАВНЫЙ К ВЛАДЕЛЕЦ EMPLOYNO, НИЗКИЙ.ДЕТАЛИ КОГДА ДЕТАЛИ 01014       EMPLOYNO ЯВЛЯЕТСЯ МЕНЬШЕ ЧЕМ ВЛАДЕЛЕЦ EMPLOYNO.  01015 ВЫСОКО.ДЕТАЛИ. ДВИГАТЬСЯ 'М' К ВЛАДЕЛЕЦ КОД ОШИБКИ, ФАЙЛ ВЛАДЕЛЕЦ В 01016       ОШИБКА.ФАЙЛ.  01017         ПОЛУЧАТЬ ВЛАДЕЛЕЦ, В КОНЕЦ ДЕЛАТЬ КОНЕЦ.ИЗ.МАСТЕРА.  01018         ИДТИ К СРАВНИВАТЬ.НАЕМНЫЙ РАБОЧИЙ.ЧИСЛА.  02001 НИЗКИЙ.ДЕТАЛИ. ДВИГАТЬСЯ 'D' К ДЕТАЛИ КОД ОШИБКИ, ФАЙЛ ДЕТАЛИ В 02002        ОШИБКА.ФАЙЛ.  02003          ИДТИ К ПОЛУЧАТЬ.ДЕТАЛИ.  02004 КОНЕЦ.ИЗ.МАСТЕРА. ЕСЛИ ДЕТАЛИ EMPLOYNO = ВЫСОКО.ЦЕНИТЬ ТОГДА ИДТИ К 02005         КОНЕЦ.ИЗ.ПРОБЕГ ИНАЧЕ НАБОР ВЛАДЕЛЕЦ EMPLOYNO = ВЫСОКО.ЦЕНИТЬ.  02006 КОНЕЦ.ИЗ.ДЕТАЛИ. ЕСЛИ МАСТЕРЕМПЛОЙНО = ВЫСОКО.ЦЕНИТЬ ТОГДА ИДТИ К 02007         КОНЕЦ.ИЗ.ПРОБЕГ ИНАЧЕ НАБОР ДЕТАЛИ EMPLOYNO = ВЫСОКО.ЦЕНИТЬ, ИДТИ 02008         К СРАВНИВАТЬ.НАЕМНЫЙ РАБОЧИЙ.ЧИСЛА.  02009 КОНЕЦ.ИЗ.ПРОБЕГ. ДВИГАТЬСЯ СООТВЕТСТВУЮЩИЙ ГРАНД.ОБЩИЙ К PAYRECORD, ФАЙЛ 02010        PAYRECORD, ЗАКРЫТЬ ВСЕ ФАЙЛЫ. 02011          ОСТАНОВКА 1234.  02012 Вычислить.ПЛАТИТЬ. ЕСЛИ ДЕТАЛИ ЧАСЫ ЯВЛЯЕТСЯ БОЛЬШЕ ЧЕМ 40 ТОГДА НАБОР ДЕТАЛИ 02013        ВАЛОВОЙ = (ДЕТАЛИ ЧАСЫ - 40) * ВЛАДЕЛЕЦ СТАВКА * 1.5.  02014        НАБОР ДЕТАЛИ ВАЛОВОЙ = ДЕТАЛИ ВАЛОВОЙ + ВЛАДЕЛЕЦ СТАВКА * 40, ДЕЛАТЬ 02015      FICA.РУТИНА, ДЕЛАТЬ УДЕРЖАНИЕ.НАЛОГ.РУТИНА.  02016        ЕСЛИ ВЛАДЕЛЕЦ BONDEDUCT ЯВЛЯЕТСЯ НЕТ РАВНЫЙ К НУЛЬ ТОГДА ДЕЛАТЬ 02017      СВЯЗЬ.РУТИНА.  02018        ДЕЛАТЬ ПОИСК ЗА ИНДЕКС = 1(1)12.  02019 СЕТЬ. НАБОР PAYRECORD NETPAY = ДЕТАЛИ ВАЛОВОЙ - ДЕТАЛИ FICA - ДЕТАЛИ 02020        WHT -ДЕТАЛИ ОТСТАВКА - ДЕТАЛИ СТРАХОВАНИЕ - ДЕТАЛИ 02021        BONDEDUCT.

Рекомендации

дальнейшее чтение

  • Ранние компьютеры IBMЧарльз Баш, Лайл Джонсон, Джон Палмер и Эмерсон Пью, 1986, MIT Press, ISBN 0-262-02225-7.

внешняя ссылка