72197

Синтаксис и семантика языка Паскаль

Лекция

Информатика, кибернетика и программирование

Элементарные конструкции языка Паскаль включают в себя имена, числа и строки. Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатор в Турбо Паскале может включать в себя: буквы латинского алфавита, цифры символ подчеркивания.

Русский

2014-11-19

42.5 KB

3 чел.

Описание каждого элемента языка задается его СИНТАКСИСОМ и СЕМАНТИКОЙ. Синтаксические определения устанавливают правила построения элементов языка. Семантика определяет смысл и правила использования тех элементов языка, для которых были даны синтаксические определения.

Рис 0

Элементарные конструкции языка Паскаль включают в себя имена, числа и строки.

Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатор в Турбо Паскале может включать в себя:

- буквы латинского алфавита,

- цифры

- символ подчеркивания.

Строчные и прописные буквы не различаются (например, NAME, Name и name будет означать одно и то же).

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

Длина идентификатора может быть любой, но значимыми являются только первые 63 символа.

В качестве имен не допускается использовать служебные слова.  

Комментарии заключаются либо в скобки { ... }, либо в скобки вида (* ... *) и могут занимать любое число строк.

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

217  -45  8954  +483

Действительные числа записываются в форме с десятичной точкой:

28.6  0.65  -0.018  4.0

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

5Е12  -1.72Е9  73.1Е-16

В "переводе" такую запись следует понимать соответственно как:

5x1012  -1.72x109  73.1x10-16

Паскаль допускает запись целых чисел и фрагментов действительных чисел в форме с порядком в шестнадцатиричной системе счисления:

$7F  $40  $ABC0

Строки в языке Паскаль - это последовательность символов, записанная между апострофами.

Порядковые типы, выделяемые из группы простых типов, характеризуются следующими свойствами:

  •  все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество;
  •  к любому порядковому типу может быть применена стандартная функция Ord, которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;
  •  к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно;
  •  к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа.

В языке Паскаль введены понятия эквивалентности и совместимости типов.

Два типа X1 и X2 являются эквивалентными (идентичными), если выполняется одно из двух условий:

  •  X1 и X2 представляют собой одно и то же имя типа;
  •  тип X2 описан с использованием типа X1 с помощью равенства или последовательности равенств.

Например:

type

 X1 = Integer;

 X2 = X1;

 X3 = X2;

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

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

Имя_Типа(переменная или значение)

Например, Integer('Z') представляет собой значение кода символа 'Z' в двухбайтном представлении целого числа.

trunc: real -> integer;

round: real -> integer;

val: string -> byte/integer/real;

chr: byte -> char;

ord: <порядковый_тип> -> longint;

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

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

Константа - это идентификатор, обозначающий некоторую неизменную величину определенного типа.

Целочисленные константы.

Вещественные константы.

Символьные константы.

Строковые константы.

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

Каждой типизированной константе ставится в соответствие имя, тип и начальное значение. Например:

year: integer = 2001;

symb: char = '?';

money: real = 57.23;

Математические операции

* / + - div mod

Логические операции

NOT - логическое отрицание ("НЕ")

AND - логическое умножение ("И")

OR - логическое сложение ("ИЛИ")

XOR - логическое "Исключающее ИЛИ"

Операции отношения

> - больше

< - меньше

= - равно

<> - не равно

>= - больше или равно

<= - меньше или равно

Приоритет операций

Порядок вычисления выражения определяется старшинством (приоритетом) содержащихся в нем операций. В языке Паскаль принят следующий приоритет операций:

унарная операция not, унарный минус -, взятие адреса @

операции типа умножения:  *  /  div  mod  and

операции типа сложения:  +  -  or  xor

операции отношения:  =  <>  <  >  <=  >=  in

Порядок выполнения операций переопределить можно с помощью скобок.

Основные математические функции

Рис 3

Программа на языке Паскаль состоит из заголовка, разделов описаний и раздела операторов. Заголовок программы содержит имя программы, например:

Program PRIMER;

Описания могут включать в себя:

раздел подключаемых библиотек (модулей);

раздел описания меток;

раздел описания констант;

раздел описания типов;

раздел описания переменных;

раздел описания процедур и функций.

Раздел описания модулей определяется служебным словом USES и содержит имена подключаемых модулей (библиотек) как входящих в состав системы Pascal, так и написанных пользователем.

program Primer; {вычисление суммы двух чисел}

uses Crt; {подключение модуля, необходимого для процедур

          очистки экрана и задержки}

//label

//const

var

 x,y,s: integer;

begin

 ClrScr; {очистка экрана}

 WriteLn('Введите через пробел два числа ');

 ReadLn(x,y);

 s := x + y;

 WriteLn('Сумма чисел равна ',s);

 ReadKey; {ожидание нажатия клавиши}

end.

Пример множественного выбора

case ch of

   'A'..'Z', 'a'..'z' : WriteLn('Буква');

   '0'..'9'           : WriteLn('Цифра');

   '+', '-', '*', '/' : WriteLn('Оператор');

   else WriteLn('Специальный символ')

end;

окончание лет год года

Оператор безусловного перехода

Помимо операторов условного перехода существует также оператор безусловного перехода goto. Формат:  goto метка

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

Необходимо, чтобы в программе существовал оператор, отмеченный указанной меткой. Она записывается перед оператором и отделяется от него двоеточием.

Пример

label 1;

begin

 ...

 goto 1;

 ...

 1: WriteLn('Переход к метке 1');

end.

Учтите! Само понятие структурного программирования и общепринятый стиль программирования на структурных языках НЕ ПРИВЕТСТВУЕТ применение меток и операторов перехода в программах. Это затрудняет понимание программы как автором, так и потребителями, кроме того, применение меток отрицательно сказывается на эффективности генерируемого кода.

  1.  Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней.

  1.  Написать программу угадывания (целых) чисел. Один из партнеров вводит в программу число, а второй должен отгадать это число. Причем на каждое предлагаемый вариант программа отвечает либо "больше", либо "меньше" до тех пор, пока число не будет отгадано.
  2.  Билет называется «счастливым», если в его номере сумма первых трех цифр равна сумме последних трех. Подсчитать число тех «счастливых» билетов, у которых сумма трех цифр равна 13.


 

А также другие работы, которые могут Вас заинтересовать

47972. 1С: Бухгалтерія 7.7 218.83 KB
  Операції і проведення.1 Операції і проведення.6 Параметри операції. Якщо кінцевий користувач має доступ до констант то це вікно може бути викликано будь – яким пунктом меню кнопкою панелі інструментів або через системне меню “Операціїâ€.
47973. Аграрна політика. Курс лекцій 2.2 MB
  Соціальноекономічний стан аграрного виробництва. Сучасний стан і тенденції розвитку аграрного виробництва Державна політика щодо сільськогосподарського виробництва у період існування Радянського Союзу Економіці належить виняткова роль у забезпеченні життя суспільства як сфери виробництва і відтворення матеріальних благ.
47974. Концепція проекту. Визначення і сутність інвестиційного проекту діяльності 277.5 KB
  Концепція проекту План лекції: Визначення і сутність інвестиційного проекту діяльності. Структура інвестиційного проекту.Життєвий цикл проекту та його кроки 4.Визначення і сутність інвестиційного проекту діяльності Проект є організаційною формою реалізації процесу інвестування.
47975. Будівельна механіка. Конспект лекцій 1.73 MB
  Перший тип опори представлений на рис. Схематично її зображують у вигляді одного стержня з двома ідеальними без тертя шарнірами на кінцях рис. Другий тип опори рис.Схематично опора другого типу зображується за допомогою двох стержнів з ідеальними шарнірами на кінцях; верхній шарнір є загальним для обох стержнів рис.
47976. БЕЗПЕКА ЖИТТЄДІЯЛЬНОСТІ 1.97 MB
  Усе це вказує на потребу формування знань вмінь навичок з безпеки життєдіяльності як необхідної умови безпечного та повноцінного життя людини. Безпека життєдіяльності людини. Безпека життєдіяльності людини. Основи безпеки життєдіяльності людини: Навч.
47977. Статистична наука 554 KB
  Одиниця сукупності – це первинний елемент сукупності що створює відповідну сукупність і відображає її якісну однорідність. Одиниці сукупності повинні бути носіями певних властивостей або ознак тобто таких властивостей які можуть бути встановлені і вивчені виміряні. Тема 2 Статистичне спостереження Статистичне спостереження як метод інформаційного забезпечення є цілком необхідним для виявлення сукупності відомостей пор явища та процеси суспільного життя. Суцільне спостереження передбачає охоплення обліком всіх без винятку одиниць...
47978. ЕКОЛОГІЯ. БІОСФЕРА – СЕРЕДОВИЩЕ ЖИТТЯ ЛЮДИНИ 331 KB
  Короткий нарис історії екології. Українська екологічна школа Історія розвитку екології як синтетичної наукової дисципліни порівняно нетривала. Протягом XIX та початку XX століття розвиток спеціальних аналітичних наук сприяв накопиченню фактичних даних без яких було б неможливим формування екології як сучасної синтетичної науки. У становленні екології помітну роль зіграли праці К.
47979. Економічна діагностика 263.5 KB
  Економічна діагностика підприємства оцінка економічних показників роботи підприємства на основі вивчення окремих результатів неповної інформації з метою виявлення можливих перспектив його розитку і наслідків ухвалення поточних управлінських рішень. На основі аналізу і дослідження складається прогноз щодо змін і оптимізації існуючої організаційноекономічної підсистеми підприємства. Системний аналіз поділяється на: аналіз організаційної підсистеми який містить: аналіз політики підприємства його завдань; Аналіз концепції тобто...