Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Inf&syst12 (2).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
310.27 Кб
Скачать

2.1.4Разделители (знаки пунктуации)

Знаки пунктуации приведены в таб. 4. Внутри лексем пробелы не допускаются.

Таблица 2.4Знаки пунктуации

Знак

Для чего в основном служит в Maple

Символ

Для чего в основном служит в Maple

:

Для обозначения конца предложения

,

Для определения последовательности

;

Для обозначения конца предложения

`

Для определения идентификаторов

"

Для задания строковых констант

'

Для задания невычислимых выражений

{}

Для определения множества

|

[]

Для определения или доступа к элементу списка, массива, матрица,..; для операции выделения

()

для группировки (в выражениях), для задания аргументов функций

..

Для определения диапазонов

<>

Для определения

2.2Выражения и предложения языка

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

Предложение языка Maple — это выражение, завершающееся точкой с запятой или двоеточием или присвоение, т.е. предложение имеет вид

expression{;|:} или proc(params){;|:} или Id:= expression{;|:}

После нажатия Enter предложение выполняется СКА. Вся программа Maple состоит из последовательности предложений языка. В одной строке Maple Input может находиться несколько предложений. Обычно в одну строку Maple Input записывают несколько предложений присвоения значений переменным. По предыдущим примерам этой и вводной темы мы уже знакомы с предложениями присвоения. Следующий п. содержит более формальное определение и дополнительные сведения.

2.2.1Предложение присвоения

Предложение присвоения имеет вид

Id := выражение{;|:}

где Id — это идентификатор1. Для вывода на экран значения переменной можно набрать имя и поставить в конце точку с запятой. До присвоения значение переменной — не определено. [Обычно говорят кратко: переменная не определена]. Если предложить Maple вывести на экран значение такой переменной, то Maple вернёт имя переменной. Для того чтобы значение переменной сделать неопределенным, можно этой переменной присвоить её имя.

Пример. Вначале переменная не определена. Затем этой переменной присваивается значений 1. После этого значение переменной делается неопределённым присвоением a:= 'a';

> a;

a

> a:= 1;

1

> a;

1

> a:= 'a';

a := a

> a;

a := a

Для присвоения идентификатору значения может быть использована функция assign. Эта функция допускает три варианта использования

assign(Id, expression);

assign(Id = expression);

assign(t);

Здесь Id — идентификатор, expression — выражение, которое надо присвоить. t — список, множество или последовательность равенств. Первые два варианта практически эквивалентны присвоению при помощи “:=”. Третий вариант будет рассмотрен после описания соответствующих типов выражений.

Альтернативой присвоения идентификатору своего имени, для того чтобы сделать его неопределённым, является использование процедура unassign(Id1, Id2, …). Эта процедура не действует на «защищенные» (protected) идентификаторы.

Пример (использования функции unassign).

1. В первой строке этого примера переменным x и y присваиваются значения. Затем (во второй строке) вызовом функции unassign их значения делаются неопределёнными. Для того чтобы это продемонстрировать используется третья строка. В четвертой и пятой строке Maple выводит значения переменных.

> x:=1: y:= 1:

> unassign('x', 'y');

> x; y;

x

y

2. В этом примере в первой строке после присвоения значения переменной x, это значение блокируется от изменения. В следующей строке предпринимается попытка сделать это значение неопределённым. В ответ Maple возвращает ошибку. В четвертой строке снимается защита. А в пятой строке переменная делается неопределённой и выводится её значение для демонстрации работы вызова unassign

> x:= 1: protect('x'):

> unassign('x');

Error, (in assign) attempting to assign to `x` which is protected

> unprotect('x'):

> unassign('x'); x;

x

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]