12. Основные конструкции языка программирования.

Язык программирования – система обозначений для абстрактного (не зависящего от

архитектуры конкретного компьютера) описания вычислений.

· Абстрактное описание вычислений можно перевести в детализированную форму для

последующего выполнения на компьютере.

· Перевод осуществляется специализированной программой (компилятор, интерпретатор).

Основные элементы языков программирования

· Алфавит, синтаксис, семантика

· Типы данных, значения, литералы, переменные, константы

· Операторы

· Подпрограммы

· Библиотеки

· Стандартизация языков и мобильность программ

Способы задания синтаксиса

· Расширенные формулы Бэкуса-Наура (РБНФ)

o      Нетерминальные символы – обозначают синтаксические конструкции языка, заключаются в угловые скобки <...>.

o  Терминальные символы образуют алфавит языка.

o  Метасимволы

ü ::= есть по определению

ü | или

o   Дополнительные метасимволы (расширение БНФ)

ü  […] повторение символа 0 или 1 раз

ü  {…} повторение символа произвольное число раз (в т.ч. нуль)

ü  (…) группировка символов

·  Синтаксические диаграммы – графическое изображение РБНФ

Семантика

· Пример: семантика оператора if C then S1else S2

ü Формальное описание (C Семантика S1) & ( С Семантика S2)

ü Неформальное описание (естественный язык) Проверяется условие после if; если результат Истина, то выполняется оператор, следующий  после then, иначе выполняется оператор, следующий за else.

· Формальное описание семантики всех конструкций языка может быть очень сложным и, как правило, не применятся.

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

·  Условные операторы позволяют выбрать одну из нескольких альтернативных последовательностей управления.

if A>5 then                               case K of

Z:=1                                          0..3 : P:=1;

else                                           7, 9 : P:=233;

Z:=A+B;                                   else P:=0;

·  Операторы цикла позволяют повторить выполнение последовательности операторов.

for (i=0; i<N; i++)                    while i<N do begin

A[i]=0;                          F := i*F;

i:=i+1;

end;

·  Безусловный переход: goto, break, continue.

 

Хостинг от uCoz