Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Входные языки программирования

2017-12-09 437
Входные языки программирования 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

В § 2 приведен пример программы. Если читатель уде­лил ему достаточно внимания, то он, конечно, заметил, что задача, для которой составлена программа, очень проста, а работа по составлению программы довольно кропотлива и утомительна. Какова же трудность программирования в тех случаях, когда приходится составлять тысячи команд?!

Поэтому вполне естественно появилась идея некоторую и, возможно, большую часть работы по программированию делать с помощью самой ЭВМ. После довольно длительного периода проб и экспериментов сложился определенный ме­тод программирования, основанный на изложенной идее. Были разработаны различные языки, на которых гораздо легче составлять алгоритмы, чем непосредственно програм­мы. В практике в данное время получили широкое рас­пространение такие входные языки программирования, как фортран, алгол, кобол и некоторые так называемые автокоды. Это формальные языки, имеющие очень простую и четкую грамматику. Автокодами называют формальные языки, очень близкие к языкам машины, но значительно более простые для применения человеком.

Обычно в автокодах всевозможные величины обознача­ются не их адресами, как это делается в программах, а буквами или недлинными сочетаниями букв. Операции обо­значаются не сочетаниями цифр, а либо обычными знаками действий, либо краткими словами, которые лзгко можно запомнить. Мы знаем, что адреса бывают нужны не только для указания данных, но и для указания команд (например, при переходах — условном или безусловном). Для этой цели в автокоде применяют так называемые метки (метками являются целые числа).

Программа на автокоде по-прежнему состоит из при­казов. Но метки ставятся не перед каждым приказом, а только перед теми приказами, к которым производится пе­реход. Программирование обычно производится на блан­ках, состоящих из нескольких вертикальных граф.

Приведем пример программы решения уже известного нам квадратного уравнения, составленной на одном из столь простых автокодов, что читатель ее поймет даже без пояснений (а мы все же сделаем некоторые пояснения). Такая программа приведена в табл. 5.

В автокоде, пример которого мы рассмотрели, каждый приказ занимает одну или несколько (ввод и печать) строк. Приказ состоит из метки и команды или только из команды (если метка не нужна). Знак действия «на» означает переход (условный, если за «на» следуют две метки, и безусловный, если — одна). Остальное в примере понятно. Автокод такого типа, как приведенный в примере, каждый приказ которого соответствует одному определенному приказу программы, называется автокодом 1:1. Программировать на таком автокоде легче, чем на языке программ, но все же трудно.

Более сложные автокоды позволяют записывать в виде формул целые цепочки операций. Приведем пример той же программы и на более сложном автокоде (табл. 6). Подоб­ные автокоды называют автокодами 1: несколько (1 приказ автокода — несколько приказов программы). Программы для них тоже пишут на бланках, но уже состоящих только из двух граф (для метки и для команды).

Чем проще запись алгоритма на таком автокоде, тем более сложной должна быть заранее составленная про­грамма, по которой алгоритм, заданный на автокоде, будет преобразован в программе для решения задачи на ЭВМ. Специально созданные программы, предназначенные для выполнения перевода с языка программирования на язык машины, называются трансляторами.

Если мы хотим программировать на автокоде, нам не­обходим соответствующий транслятор.

Составив программу на автокоде, переносим ее на перфокарты с помощью специальных технических устройств, имеющих клавиатуру, затем вводим в центральный процессор программу-трансля­тор, а колоду перфокарт устанавливаем в устройстве вво­да. Далее" все идет автоматически.

Было бы очень хорошо, если бы программисты не со­вершали всевозможных ошибок. Эти ошибки приходится «вылавливать», производя очень тщательную проверку про­граммы.

Чаще всего допускаемые программистом ошибки полу­чаются в результате описок. При этом появляются наруше­ния грамматических правил автокода. Такие нарушения может выявлять сама ЭВМ. Для этой цели в состав транс­лятора включают подпрограмму синтаксического контроля. Вместо проверки программы, составленной на автокоде, пу­тем ее прочитывания и сопоставления ее смысла с нашим замыслом, делают синтаксический контроль, да еще с по­мощью самой ЭВМ.

Автокоды относятся к так называемым машинно-ориен­тированным входным языкам программирования.

Указанные ранее языки фортран, алгол и кобол при­надлежат к группе так называемых машинно-независимых языков.

Эти языки еще более удобны для программиста, чем автокоды, еще более экономят человеческий труд. Транс­ляторы с этих языков значительно сложнее, чем с автоко­дов. Но, в общих чертах, программирование на машинно-независимых входных языках сходно с программированием на автокоде.

Мы не будем даже пытаться познакомить читателя с эти­ми языками, так как не располагаем для этого возможнос­тями. Желающих изучить машинно-независимые языки про­граммирования и конкретные автокоды отсылаем к специ­альной литературе[22].


Поделиться с друзьями:

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

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

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.013 с.