Достоинства и недостатки машинных языков

Уровни языков программирования.

Особенности программного способа записи алгоритмов.

Вложенные циклы.

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

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

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

Поэтому язык для записи алгоритмов на компьютере должен быть строго формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке называется программой для компьютера.

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

Различают следующие языки программирования:

· машинные;

· машинно – оpиентиpованные (языки низкого уровня,

например, ассемблер);

· машинно-независимые (языки высокого уровня).

Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания машинных команд для обработки данных.

Языки высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.

Языки высокого уровня делятся на:

· алгоритмические (Basic, Pascal, Cи и др.), которые предназначены для однозначного строгого описания алгоритмов;

· логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на формализованное описание задачи с тем, чтобы решение следовало из составленного описания.

· объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и определенные действия над ними. Программа на объектно-ориентированном языке решает некоторую задачу в форме системы взаимодействующих объектов.

 

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

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

Но процесс написания программы на машинном языке очень трудоемкий и утомительный. Программа получается громоздкой, ее очень трудно отлаживать, изменять и развивать.

Поэтому в случае, когда нужно иметь эффективную программу, учитывающую специфику конкретного компьютера, вместо машинных языков используют близкие к ним машинно-ориентированные языки (т.н. ассемблеры).