Структура команды ЭВМ в простейшем случае включает в себя две части: операционную и адресную. Операционная часть содержит код операции (сложить, вычесть, …). Адресная часть содержит адреса ячеек памяти; в них хранятся значения операндов, с которыми надо выполнить заданную операцию. В зависимости от числа адресов, указанных в команде, различают одно-, двух-, трехадресные команды.

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

Как показала в дальнейшем практика общения с компьютером, такой язык громоздок и неудобен. При пользовании им легко допустить ошибку, записав не в той последовательности 1 или 0. Программу очень трудно контролировать. Кроме того, при программировании в машинных кодах надо хорошо знать внутреннюю структуру ЭВМ, принцип работы каждого блока. И самое плохое в таком языке, что программирование в машинных кодах требует от программиста много времени, труда, повышенного внимания.

Это привело к необходимости найти такое средство, которое позволит более просто наладить общение человека и компьютера. И такое средство было найдено: различные символические языки и соответствующие им трансляторы (системы программирования).

Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере.

Для автоматизации программирования разрабатывался для каждой ЭВМ свой автокод (или Ассемблер). Этот язык в полной мере повторяет набор команд машинного языка и появился лишь для упрощения программирования на машинном коде (рис. 6.1).

Пример программы на Ассемблере

Рис. 6.1. Пример программы на Ассемблере Дальнейшее развитие языковых средств шло по пути создания машинно-независимых языков, позволяющих писать программы на любой доступной ЭВМ с предусмотренной возможностью переноса на более совершенную архитектуру.

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

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

• машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);

• машинно-ориентированные языки (computer-oriented language) -языки программирования, которые отражают структуру конкретного типа компьютера (Ассемблеры);

• алгоритмические языки (algorithmic language) - не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);

Основы информатики и вычислительной техники-стр.40 | Основы информатики и вычислительной техники | Основы информатики и вычислительной техники-стр.42