Топ питань
Часова шкала
Чат
Перспективи
MATH-MATIC
мова програмування у інформатиці З Вікіпедії, вільної енциклопедії
Remove ads
MATH-MATIC це торгова назва для AT-3 (алгебраїчний перекладач 3) компілятор, рання мова програмування для UNIVAC I і UNIVAC II.
Ця стаття є сирим перекладом з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (серпень 2020) |
MATH-MATIC написано починаючи з 1955 року командою під керівництвом Чарльза Каца і Ґрейс Гоппер. Попередній посібник[1] був випущений в 1957 році і підсумковий посібник[2] наступного року. Синтаксично, MATH-MATIC була схожою на сучасну бізнес-орієнтовану мову Univac, FLOW-MATIC, що відрізняє забезпеченістю висловлювань алгебраїчного стилю та арифметичними операціями з плаваючою комою і масивами а не записними структурами.
Remove ads
Відомі функції
Вирази в MATH-MATIC можуть містити числові показники, у тому числі десяткові та дрібні, введені за допомогою спеціальної друкарської машинки.[3]
MATH-MATIC програми можуть включати в себе асемблерні вставки розділи кодів ARITH-MATIC і машинні коди UNIVAC.[4]
UNIVAC I мав лише 1000 символів пам'яті, а наступником у 2000 році був UNIVAC II. MATH-MATIC дозволив більші програми, автоматично генеруючи код для читання overlay сегментів з UNISERVO стрічки, як потрібно. Компілятор намагався уникнути розщеплення циклів по сегментах.[4]
Remove ads
Вплив
У пропозиції співпраці з ACM, який привів до ALGOL 58, Товариство прикладної математики і механіки написало, що вважало MATH-MATIC найближчою доступною мовою для неї.[5]
На відміну від Джона Бекуса FORTRAN, MATH-MATIC не підкреслив швидкість виконання складених програм. Машини UNIVAC не мали апаратне забезпечення для введення чисел з рухомою комою, і MATH-MATIC був переведений на A-3 (ARITH-MATIC) псевдоасемблерний код, не безпосередньо на машинний код UNIVAC, обмежуючи його корисність.[6]
Remove ads
MATH-MATIC: приклад програми
Узагальнити
Перспектива
Зразок програми MATH-MATIC:[7]
(2) TYPE-IN ALPHA . (2A) READ A B C SERVO 4 STORAGE A IF SENTINEL JUMP TO SENTENCE 8 . (3) READ D F SERVO 5 . (4) VARY Y 1 (0.1) 3 SENTENCE 5 THRU 6 . (5) X1 = (7*10<sup>3</sup>*Y*A*SIN ALPHA)<sup>3</sup> / (B POW D+C POW E) . (6) WRITE AND EDIT A Y D E X1 SERVO 6 . (7) JUMP TO SENTENCE 2A . (8) CLOSE-INPUT AND REWIND SENTENCE 3 . (9) CLOSE-OUTPUT SENTENCE 6 . (10) READ F G H N SERVO 4 STORAGE A IF SENTINEL JUMP TO SENTENCE 20 . (11) EXECUTE SENTENCE 3 . (12) X2 = (3 ROOT (E-G)+LOG (D+N)) / (F<sup>2.6</sup>*EXP H) . (13) WRITE EDIT F D F X2 SERVO 6 . (16) JUMP TO SENTENCE 10 . (20) STOP .
Примітки
Список літератури
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads