Структура команды ЭВМ в простейшем случае включает в себя две части: операционную и адресную. Операционная часть содержит код операции (сложить, вычесть, …). Адресная часть содержит адреса ячеек памяти; в них хранятся значения операндов, с которыми надо выполнить заданную операцию. В зависимости от числа адресов, указанных в команде, различают одно-, двух-, трехадресные команды.
Физические принципы работы электронных устройств ЭВМ таковы, что компьютер может воспринимать команды, состоящие только из единиц и нулей, т.е. машинный код. На начальной стадии развитая ЭВМ человеку было необходимо составлять программы на языке, понятном компьютеру, в машинных кодах. Каждая команда состояла из кода операций и адресов операндов, выраженных в виде различных сочетаний единиц и нулей.
Как показала в дальнейшем практика общения с компьютером, такой язык громоздок и неудобен. При пользовании им легко допустить ошибку, записав не в той последовательности 1 или 0. Программу очень трудно контролировать. Кроме того, при программировании в машинных кодах надо хорошо знать внутреннюю структуру ЭВМ, принцип работы каждого блока. И самое плохое в таком языке, что программирование в машинных кодах требует от программиста много времени, труда, повышенного внимания.
Это привело к необходимости найти такое средство, которое позволит более просто наладить общение человека и компьютера. И такое средство было найдено: различные символические языки и соответствующие им трансляторы (системы программирования).
Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере.
Для автоматизации программирования разрабатывался для каждой ЭВМ свой автокод (или Ассемблер). Этот язык в полной мере повторяет набор команд машинного языка и появился лишь для упрощения программирования на машинном коде (рис. 6.1).
Рис. 6.1. Пример программы на Ассемблере Дальнейшее развитие языковых средств шло по пути создания машинно-независимых языков, позволяющих писать программы на любой доступной ЭВМ с предусмотренной возможностью переноса на более совершенную архитектуру.
2. Классификация языков программирования В мире насчитывается несколько сотен символических языков программирования различных структур и возможностей, которые могут быть классифицированы по различным признакам.
Если в качестве признака классификации взять синтаксис образования конструкций языков программирования, то их можно условно разделить на следующие классы:
• машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
• машинно-ориентированные языки (computer-oriented language) -языки программирования, которые отражают структуру конкретного типа компьютера (Ассемблеры);
• алгоритмические языки (algorithmic language) - не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);
⇐Основы информатики и вычислительной техники-стр.40 | Основы информатики и вычислительной техники | Основы информатики и вычислительной техники-стр.42⇒