Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике.doc
Скачиваний:
27
Добавлен:
07.11.2018
Размер:
754.69 Кб
Скачать

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

5.1. Компиляция и интерпретация программ

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

Математический алгоритм позволяет осуществить только «ручной» счет. Для машинной реализации математического алгоритма необходимо составить программу работы конкретной вычислительной машины, обеспечивающей вычислимость этого алгоритма. Так появилось понятие вычислимого алгоритма как алгоритма, реализуемого на некоторой универсальной машине.

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

В настоящее время технология программирования еще больше упростилась благодаря оснащению современных компьютеров пакетами прикладных программ, такими как Word, Excel и др. Входной язык таких пакетов представляется списком окон, управляющих кнопок, функций, обеспечивающих выполнение различного рода операций программными средствами пакета, и словосочетаниями вида «щелкнуть кнопкой мыши», «перетащить объект» и др.

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

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

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

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

Язык программирования представляет собой набор символов и систему правил, образование и использование конструкций символов для задания алгоритмов. Каждый язык программирования характеризуется синтаксисом и семантикой. Синтаксис – правило записи конструкций языка, семантика – смысл этих конструкций.

Программа представляет собой набор инструкций для ЭВМ: в какой последовательности, над какими данными и какие операции должна выполнить ЭВМ для получения нужного результата.

Основными элементами любого языка программирования являются символы, слова, выражения и операторы.

Все алгоритмические действия программы задаются с помощью операторов.

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

Разработка программы на машинном языке является трудоемким процессом, т.к. коды операций – числа. Машинный язык – аппаратно-зависимый, т.е. у каждого типа ЭВМ свой машинный язык. При выполнении любой программы ЭВМ выполняет ее на машинном языке.

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

Различают два вида языковых процессоров: интерпретаторы и трансляторы.

Интерпретатор – это программа, которая получает исходную программу и по мере распознавания конструкций входного языка реализует действия, описываемые этими конструкциями.

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

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