Команда комментарии
MOVE 8,a константа 8 помещается в переменную а.
MOVE 10,b константа 10 помещается в переменную b.
ADD b,a содержимое переменных a и b складывается.
MOVE z результат помещается в переменную z.
Автокоды современных ЭВМ образуют группу языков, которые называются ассемблерами. И автокоды, и машинные коды являются машинно-зависимыми языками программирования: состав и структура команд полностью соответствует составу и структуре команд ЭВМ.
3. машинно-независимыеязыки (или универсальные). Позволяют выполнять программы на любых ЭВМ. Они приближены к естественному языку, что облегчает их изучение программистом и чтение готовых текстов программ. Примером таких языков может служить Бэйсик или Турбо-Паскаль. Например, на Турбо-Паскале предыдущая задача выглядит следующим образом:
var integer a,b,z;
a:=8; b:=10;
z:=a+b; .
Запись средствами Бэйсика еще проще, так как он не требует предварительного описания переменных и констант:
a=8
b=10
z=a+b .
Преимущества более развитых языков очевидны, однако их использование требует перевода программы в машинные коды – это внутреннее представление алгоритма, которое по сей день применяется компьютерами. Такой перевод выполняется специальными программами, которые называются трансляторами (рассматриваются ниже).
Написание программы – это одновременно и наука, и искусство, которому обучаются в рамках дисциплин, связанных с программированием, а потому сам процесс составления программы не является предметом рассмотрения в настоящем разделе. Упомянем лишь некоторые моменты, связанные с этим процессом и определяющие критерии хорошей программы:
1. при написании программы надо учитывать особенности распределения памяти под переменные и константы, в силу чего рациональнее использовать индексированные переменные, а не множества разноименных переменных;
2. программа в процессе работы ясно анализируется за счет выдачи промежуточных результатов, что поясняет окончательный результат;
3. рекомендуется снабжать текст программы комментариями в количестве 1 комментарий на 2 – 3 строки текста (в среднем);
4. использование машинно-независимых языков предпочтительнее ассемблеров, поскольку первые легче читаются;
5. минимальное использование оператора безусловной передачи управления, поскольку он затрудняет отладку и понимание программы;
6. мнемоничность имен переменных, констант, подпрограмм, меток, поскольку это облегчает ориентацию в программе. Здесь рекомендуется применять так называемую венскую запись, когда то или иное имя определяет семантику описываемого объекта (современные языки программирования позволяют использовать очень длинные имена для переменных, констант и прочих объектов);
7. свойство гибкости программы определяет простоту ее изменения, расширения, модификации в процессе эксплуатации. Это достигается простотой стиля программирования и применением прогрессивных методов проектирования алгоритмов.