Курсовая работа: Интерактивный интерпретатор
Оператор цикла for имеет вид:
for <переменная-счетчик> := <выражение1> : <выражение2>
[операторы]
next
В начале выполнения цикла вычисляются выражение1 и выражение2 (их значения должны быть целыми, иначе возникает ошибка), затем переменной-счетчику присваивается значение выражение1 и, если оно меньше или равно значению выражение2, выполнение переходит внутрь цикла, иначе – за строку с ключевым словом next. После каждой итерации цикла значение счетчика увеличивается на единицу и сравнивается со значением выражение2 (оно вычисляется только один раз в начале), если оно оказывается меньшим или равным значению выражение2, то выполняется следующая итерация цикла, иначе – цикл завершается. Значение счетчика в цикле, в принципе, можно менять, не если оно окажется не целым на момент окончания очередной итерации, возникает ошибка. Оператор цикла for может быть использован только в функции. Пример:
fori :=0 : size[a]
a{i} := a{i}*2
next
Оператор возврата return незамедлительно прерывает выполнение функции (может быть использован только в функции). Например,
ifa<b
result := 1
return
endif
Если при выполнении функции не встретился оператор return, выход из функции происходит как только управление переходит ниже последней строки функции.
Оператор error прерывает выполнение программы – искусственно генерируется ошибка времени выполнения. Он может быть использован только в функции.
Пример:
a:=toint[str]
ifa<0
error
endif
Для вывода данных используются операторы print и println. Оператор print имеет синтаксис print <выражение>. Значение выражения автоматически приводится к строке (т. е.команды println[a] и println[tostring[a]] – равносильны). Эта строка выводится на консоль. Оператор println имеет аналогичный синтаксис и назначение. Отличие заключается в том, что println производит перевод на новую строку после вывода, print – нет. Кроме того, если при работе в консоли введено выражение без ключевых слов и оператора присваивания, то результат его вычисления выводится на консоль в отдельной строке - это сокращенная форма оператора println.
Оператор clear позволяет удалить переменную из памяти, например, команда “clearn” удаляет из памяти переменную n, после чего она считается неопределенной. Удалить отдельные элементы массива нельзя. Выполнение оператора clear над неопределенной переменной не имеет никакого эффекта и не приводит к ошибке. С помощью оператора clear можно также удалить фактические параметры функции и даже переменную result, что необходимо перед работой с ней как с массивом. Но если переменная result не определена на момент выхода из функции, то возникает ошибка времени выполнения. Синтаксис оператора clear имеет вид:
clear <имя_переменной1>
Примеры пользовательских функций
1. Сортировка массива.
sort [ a ]
#сортирует массив а по возрастанию.
#методом прямого выбора
if ~isarray[a]
println “Invalid argument”
error
endif