Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Синтаксис и семантика

 

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

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

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

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

 

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

 

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

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

Операции бывают следующих типов:

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

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

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

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

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

Выражения предназначаются для выполнения необходимых вычислений, состоят из констант, переменных, указателей функций (например, sin(x)), объединенных знаками операций. Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, «многоэтажных» дробей и т. д.), что позволяет вводить их в компьютер, последовательно нажимая на соответствующие клавиши клавиатуры. Различают выражения арифметические, логические и строковые. Арифметические выражения служат для определения одного числового значения. Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения – «истина» или «ложь» (да или нет).

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

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

Не следует отождествлять переменную со значением, которое она обозначает. Переменная – всего лишь идентификатор, как фамилия обозначает конкретного человека, но не является самим человеком.

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

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

При выборе имени переменной необходимо соблюдать следующие правила:

– имя переменной должно начинаться с буквы алфавита (допускается только латиница);

– после первой буквы имени переменной может стоять любая комбинация цифр, букв или символов подчеркивания (_) и символы определения типа (%, &,!, # и $);

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

– имена переменных не могут превышать 40 символов;

– имя переменной не может дублировать определенные ключевые слова;

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

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

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

Константы – это заранее объявленные величины, которые не меняются в процессе выполнения программы. Константы бывают литерными и символическими. В BASIC имеются два типа литерных констант – строки и числа.

Строковые константы – это последовательность до 32767 алфавитно-числовых символов (за исключением кавычек и символов перевода каретки и пропуска строки). Строковые константы должны заключаться в кавычки: "Привет", " $ 10 ", " Число учеников "

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

Символические константы можно использовать вместо чисел либо строк. Ниже приведен фрагмент программы, где объявляются две символьные константы:

 

Const maxchar % = 254

maxbuf % = maxchar % +1

 

Часто в программировании используется такая операция присвоения, когда слева и справка исполняется одна и та же переменная, например i=i+1. Такая запись означает, что сначала должна быть выполнена операция сложения (i+1), а затем полученная сумма присвоена переменной i в качестве ее нового значения. При этом старое значение стирается. Совокупность значений переменных, которые должны быть заданы перед выполнением программы, называются исходными данными.

Программа – набор команд, которые должен выполнить компьютер.

Оператор – это специальная запись, которая дает компьютеру команду на выполнение определенного алгоритма и содержит данные, необходимые для выполнения этого действия. Такие данные называют аргументами. В выражении Y = SIN(0) операторами являются записи = и SIN, а аргументом – число нуль. Когда компьютер начнет рассчитывать это выражение, он сначала выполнит алгоритм вычисления SIN от аргумента 0, а затем алгоритм присваивания (=) полученного значения переменной Y.

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

Существует два типа процедур, создаваемых программистом:

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

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

При создании функций нужно помнить следующие моменты:

- функция обязательно должна возвращать результат в основную программу;

- имя функции должно иметь спецификатор типа для определения типа самой функции.

Процедуры характеризуются тремя основными свойствами:

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

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

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

 

<== предыдущая лекция | следующая лекция ==>
Преимущества языков высокого программирования перед машинными | Объектно-ориентированное программирование. Технология программирования
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 827; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.