Основные понятия языков высокого уровня

Тема 6. Обзор языков высокого уровня

План конспекта лекции

1. Введение

2. Основные понятия языков высокого уровня

3. Структура программы и аппарат подпрограмм

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

5. Основные языки программирования и хронология их создания

6. Характеристика некоторых языков высокого уровня

Введение

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

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

Основные понятия языков высокого уровня

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

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

Алгоритмический язык образуют три его составляющие: алфавит, синтаксис и семантика.

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

Синтаксис — это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза. Синтаксис языка устанавливает, какие комбинации символов являются осмысленными предложениями на этом языке.

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

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

Из алфавита (символов) составляются лексемы— последовательность допустимых символов языка программирования, имеющая смысл для транслятора. Транслятор рассматривает программу как последовательность лексем. Лексемы - это минимальные единицы языка, имеющие самостоятельный смысл. Из них строятся основные понятия языков высокого уровня. К ним обычно относятся следующие.

Имена (идентификаторы) — употребляются для обозначения объектов программы (переменных, массивов, функций и др.).

Операции.Типы операций:

· арифметические операции +, -, *, / и др.;

· логические операции и, или, не;

· операции отношения <, >, <=, >=, =, <>;

операция сцепки (иначе, "присоединения", "конкатенации") символьных значений друг с другом с образованием одной длинной строки; изображается знаком "+".

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

Данные — величины, обрабатываемые программой. Имеется три основных вида данных: константы, переменные и массивы.

Константы — это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.

Примеры констант:

· числовые 7.5, 12;

· логические да (истина), нет (ложь);

· символьные "А", "+";

· литерные "abcde", "информатика", " (пустая строка).

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

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

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

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

Различают выражения арифметические, логические и строковые.

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

Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав опеpатоpов входят: ключевые слова; данные; выражения и т.д.

Операторы подразделяются на исполняемые и неисполняемые. Неисполняемые операторы предназначены для описания данных и структуры программы, а исполняемые — для выполнения различных действий (например, оператор присваивания, операторы ввода и вывода, условный оператор, операторы цикла, оператор процедуры, составные и др.).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: