Операторный язык
Операторный язык– это такой способ кодирования алгоритма, в результате которого получается понятная для компьютера запись алгоритма - программа. Этот способ требует, как минимум, знания правил записи выражений средствами того или иного языка программирования.
Эволюция языков программирования показательна с точки зрения того, как менялась технология кодирования алгоритмов, упрощая труд программистов:
1. первые языки программирования – это машинные коды –аналог машинных команд. Структура команды включает код операции (как правило, числовой) и список операндов. Программирование требовало от программиста распределение переменных и команд по доступным адресам памяти, для чего необходимо было знать требуемые объемы команд и переменных. Для вычислений также использовался специальный регистр процессора - сумматор. В качестве операндов выступали не переменные, а их адреса. Например, пусть память компьютера, которой располагает программист, содержит адреса от 1 до 100, по каждому из которых доступен байт памяти. Нужно запрограммировать вычисление переменной z по формуле: z = a + b, причем a = 8, b = 10. Пусть имеется набор двухадресных машинных команд, включающий, в частности, команды:
Код операции | Объем операции | Действие |
3б | сложить операнды, результат – в сумматоре | |
2б | поместить содержимое сумматора по адресу | |
3б | поместить константу по адресу |
Программист распределяет переменные (с учетом размера их значений) по адресам:
Переменная | Требуемый объем памяти | Адрес |
a | 1б | |
b | 1б | |
z | 1б |
Тогда вся программа будет выглядеть следующим образом:
адрес памяти | содержимое памяти | комментарий |
- | для переменной a | |
- | для переменной b | |
- | для переменной z | |
126 8,1 | константа 8 помещается по адресу 1, т.е. вычисляется a = 8. После этого действия содержимое памяти по адресу 1 становится равным 8 | |
126 10,2 | константа 10 помещается по адресу 2, т.е. вычисляется b = 10. После этого действия содержимое памяти по адресу 2 становится равным 10 | |
124 1,2 | содержимое адресов 1 и 2 складывается, т.е. вычисляется a+b. Результат – в сумматоре | |
125 3 | содержимое сумматора размещается по адресу 3, т.е. выполняется присваивание z=a+b. После этого действия содержимое памяти по адресу 3 становится равным 18 |
В настоящее время машинные коды как средство кодирования алгоритма программистом используются для узко специализированных ЭВМ. В то же время машинные коды являются результатом трансляции программы, написанной на более развитом языке программирования, на внутренний язык компьютера.
2. автокодыявились развитием машинных кодов, когда числовые коды операций заменились мнемоническими обозначениями, по которым можно восстановить смысл операции, а в адресной части можно было использовать имена переменных, а не их адреса. Например, числовые коды операций 124 и 125 из предыдущего примера заменились мнемоническими кодами, соответственно, ADD (сложить, англ.) и MOVE (поместить, англ.). Тогда предыдущая задача для двухадресного кода запишется так:
Дата добавления: 2015-03-03; просмотров: 890;