Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЯПиМТ (методичка).doc
Скачиваний:
4
Добавлен:
16.11.2019
Размер:
150.02 Кб
Скачать

6. Семантика языка

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

Например.

Константы. Используются только целочисленные константы (“1828”, “0”, “-2”).

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

Алгебраические операции.

“+” - сложение,

“-” - вычитание,

“*” - умножение,

“DIV” – целочисленное деление (в качестве результата берется целая часть от деления).

Порядок вычисления алгебраических выражений – обычный.

Операторы.

  1. Присваивания. Присвоение имеет форму субъект-объект. При выполнении оператора объект оценивается (вычисляется) и становится значением субъекта.

VARIANCE := SUMSQ DIV 100 - MEAN * MEAN

  1. Ввода. Оператор обеспечивает ввод с клавиатуры значений в переменные, перечисленные в списке ввода. Значения вводятся через пробел или последовательно по нажатию клавиши <Enter>. Оператор не передает управление до тех пор, пока не иссякнет список ввода.

READ(VALUE)

  1. Вывода. Оператор вывода выводит на экран строку, состоящую из значений переменных, перечисленных в списке вывода. Значения отделяются друг от друга пробелом. Следующий оператор будет выводить значения с новой строки экрана.

WRITE(MEAN,VARIANCE)

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

FOR I := 1 TO 100 DO BEGIN

READ(VALUE);

SUM := SUM + VALUE

END

7. Пример использования

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

Например.

1 PROGRAM STATS

2 VAR

3 SUM,SUMSQ,I,VALUE,MEAN,VARIANCE:INTEGER

4 BEGIN

5 SUM := 0;

6 SUMSQ := 0;

7 FOR I := 1 TO 100 DO

8 BEGIN

9 READ(VALUE);

10 SUM := SUM + VALUE;

11 SUMSQ := SUMSQ + VALUE * VALUE

12 END;

13 MEAN := SUM DIV 100;

14 VARIANCE := SUMSQ DIV 100 – MEAN*MEAN;

15 WRITE(MEAN,VARIANCE)

  1. END.

В данном примере вводятся с клавиатуры 100 целых чисел, вычисляются и выводятся на экран их среднее значение (MEAN) и дисперсия (VARIANCE).

8. Дерево грамматического разбора

В этом пункте строится дерево грамматического разбора приведенного примера или его фрагмента.

Например.

9. Сравнительный анализ языков

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

Например. В качестве аналога можно рассмотреть учебный язык МИЛАН (mini language), который отличается от EASY PASCAL только тем, что имеет условный оператор. Cравнение же с широко известными языками можно прово­дить только по отдельным их свойствам.

Эффективность EASY PASCAL, как вычислительного языка крайне низкая, так как из-за малого числа операторов и их разновидностей многие простые действия можно реализовать только с помощью нескольких имеющихся операторов или даже совсем нельзя реализовать.

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

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

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

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