Машинный код процессора понятие программы уровни языков программирования

2. Основы программирования

Процессор – это большая интегральная схема, содержащая миллионы компонент:

2.2. Программа на языке программирования

Машинные коды трудно воспринимаются человеком. Поэтому люди составляют программу на удобном для себя языке (высокоуровневом). Программирование на естественном человеческом языке (метаязыке) может использоваться только на этапе составления алгоритма. Автоматически перевести такую программу в машинный код нельзя из-за неоднозначности естественного языка.

2.3. Трансляторы

  • компилятор,
  • интерпретатор.
  • Транслированная программа может исполнятьсябез компилятора.
  • При трансляции может использоваться технология оптимизации.
  • Скорость работы компилированной программы в сотни раз выше, чем интерпретируемой.
  • Трудоемкость программирования.
  • Сложность тестирования и отладки.
  • Сложность остановки.
  • Постоянный контроль среды программирования.
  • Удобства тестирования и отладки.
  • Легкость остановки.
  • Транслированная программа не может исполнятьсябез интерпретатора.
  • При трансляции не может автоматически использоваться оптимизация.
  • Скорость работы интерпретируемой программы в сотни раз ниже, чем компилируемой.

2.4. Классификация языков программирования

  • низкого уровня (машинно-ориентированные),
  • высокого уровня.
  • процедурно-ориентированные. Содержат набор универсальных команд;
  • проблемноориентированные. Имеют команды узкого назначения;
  • объектноориентированные. Программирование на уровне объектов;
  • событийноориентированные. Программирование на уровне событий;
  • визуальные. Поддерживают визуальное программирование;
  • комплексные. Поддерживают многие из перечисленных свойств.
  1. Начало 1950-х годов. Язык Ассемблера. Его принцип «Одна инструкция – одна строка». Инструкция на языке однозначно соответствует машинному коду команды.
  2. Начало 1950-х – конец 1960-х годов. Язык символического Ассемблера. В нем появилось понятие переменной.
  3. 1960-е годы. Универсальные языки программирования.
  4. С начала 1970-х годов до настоящего времени. Проблемно-ориентированные языки для создания проектов в узкой предметной области.
  5. С середины 1990-х годов до настоящего времени. Языки с автоматизацией программирования. Примеры – языки визуального программирования.
Читайте также:  Джонс программирование искусственного интеллекта приложениях

Источник

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

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

4.3.2. Алгоритм и программа

Управлять компьютером нужно по определенному алгоритму. Алгоритм — это точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий. Такое описание еще называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала всегда разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы — полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код, либо исполняется.

4.3. Что такое язык программирования

Самому написать программу в машинном коде весьма сложно, причем эта сложность резко возрастает с увеличением размера программы и трудоемкости решения нужной задачи. Условно можно считать, что машинный код приемлем, если размер программы не превышает нескольких десятков байтов, и нет потребности в операциях ручного ввода/вывода данных. Поэтому сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и средствами обычного, человеческого (естественного) языка — это называется программированием на метаязыке (подобный подход обычно используется на этапе составления алгоритма), но автоматически перевести такую программу в машинный код пока невозможно из-за высокой неоднозначности естественного языка. Языки программирования — искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов).

Читайте также:  Язык программирования бинарный код

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

4.4. Компиляторы и интерпретаторы

С помощью языка программирования создается не готовая программа, а только ее текст, описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, надо этот текст либо автоматически перевести в машинный код (для этого служат программы-компиляторы) и затем использовать отдельно от исходного текста, либо сразу выполнять команды языка, указанные в тексте программы (этим занимаются программы-интерпретаторы). Интерпретатор берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет (обычно после анализа оператор транслируется в некоторое промежуточное представление или даже машинный код для более эффективного дальнейшего исполнения). Только после того как текущий оператор успешно выполнен, интерпретатор перейдет к следующему. При этом, если один и тот же оператор должен выполняться в программе многократно, интерпретатор всякий раз будет выполнять его так, как будто встретил впервые. Вследствие этого, программы, в которых требуется осуществить большой объем повторяющихся вычислений, могут работать медленно. Кроме того, для выполнения такой программы на другом компьютере там также должен быть установлен интерпретатор — ведь без него текст программы является просто набором символов. Компиляторы полностью обрабатывают весь текст программы (он иногда называется исходный код). Они просматривают его в поисках синтаксических ошибок (иногда несколько раз), выполняют определенный смысловой анализ и затем автоматически переводят (транслируют) на машинный язык — генерируют машинный код.

Читайте также:  Верстка первой страницы газет

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

Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. В данном случае «низкий уровень» не значит «плохой». Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора. Языком самого низкого уровня является язык ассемблера, который просто представляет каждую команду машинного кода, но не в виде чисел, а с помощью символьных условных обозначений, называемых мнемониками. Языки программирования высокого уровня значительно ближе и понятнее человеку, нежели компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому создаваемые программы на

Источник

Оцените статью