n |
Абсолютный номер строки n, n = 0,1, 2,... |
. |
Текущая строка |
$ |
Последняя строка текста |
/re/ |
Следующая строка, соответствующая re ; после последней $ циклическое движение к первой строке |
?re? |
Предыдущая строка, соответствующая re; после первой циклическое движение к последней $ |
'c |
Строка с меткой с |
N1+/-n |
Строка N1+/-n (аддитивная комбинация) |
N1,N2 |
Строки с N1 по N2 |
N1;N2 |
Команда: сделать строку N1 текущей, затем вычислить N2. N1 и N2 могут быть определены любым из перечисленных выше способов |
Таблица П.1.3: Номера строк в ed
Упражнение
Если вы думаете, что знаете ed
, попробуйте выполнить текст (см. справочное руководство по quiz(6)
).
Приложение 2
Справочное руководство по hoc
Hoc — диалоговый язык для арифметики с плавающей точкой
Б. Керниган Р. Пайк
РЕЗЮМЕ
Hoc — это простой программируемый интерпретатор для выражений с плавающей точкой. Он обеспечивает поток управления в стиле Си, определения функций и обычные числовые встроенные функции, такие, как косинус и логарифм.
Выражения
Hoc представляет язык выражений, во многом подобный Си: хотя он и содержит несколько управляющих операторов, большинство операторов, например присваивания, суть выражения, значения которых не принимаются во внимание. Так, оператор присваивания =
присваивает значение своей правой части левому операнду и вырабатывает значение, используемое в многократном присваивании. Грамматика выражений имеет вид:
выражение : число
| переменная
| (выражение)
| выражение бинарная_операция выражение
| унарная_операция выражение
| функция(аргументы)
Числа представляются с плавающей точкой. Формат ввода распознается с помощью scanf(3)
: цифры, десятичная точка, цифры, е
или E
, показатель степени со знаком. Должна присутствовать по крайней мере одна цифра или десятичная точка; другие компоненты являются необязательными.
Имена переменных формируются из букв, за которыми следуют строки букв и цифр. Здесь бинарная_операция означает двуместные операции, такие, как сложение или логическое сравнение, а унарная_операция — две операции отрицания: ' !
' (логическое отрицание НЕ) и (арифметическое отрицание, перемена знака). Все операции перечислены в табл. П.2.1.
^ |
Возведение в степень (FORTRAN ** ), правоассоциативна |
! - |
Одноместные логическое и арифметическое отрицания |
* / |
Умножение, деление |
+ - |
Сложение, вычитание |
> >= |
Операции отношения: больше, больше или равно |
< <= |
Меньше, меньше или равно |
== != |
Равно, не равно (все отношения одинакового приоритета) |
&& |
Логическое И (оба операнда всегда вычисляются) |
|| |
Логическое ИЛИ (оба операнда всегда вычисляются) |
= |
Присваивание, правоассоциативна |
Таблица П.2.1. Операции по порядку уменьшения приоритета
Функции, как описывается ниже, могут быть определены пользователем. Аргументы функций — это выражения, разделяемые запятыми. В табл. П.2.2 перечислено несколько встроенных функций, имеющих по одному аргументу.
abs(x) |
Абсолютная величина x |
atan(x) |
Арктангенс x |
cos(x) |
Косинус x |
exp(х) |
Экспонента x |
int(x) |
Целая часть x , усеченная в сторону нуля |
log(x) |
Натуральный логарифм x |
log10(x) |
Десятичный логарифм x |
sin(x) |
Синус x |
sqrt(x) |
Корень квадратный из x |
Таблица П.2.2. Встроенные функции
Логические выражения имеют значения 1 (истина) и 0 (ложь). Как и в Си, любое ненулевое значение означает истину. При всех операциях над числами с плавающей точкой сравнения на равенство могут быть неточными. Кроме того, hoc
имеет несколько встроенных констант, приведенных в табл. П.2.3.
DEG |
57.2957795130823208768 |
180/π, градусы на радианы |
E |
2.71828182845904523536 |
е, основание натуральных логарифмов |
GAMMA |
0.57721566490153286060 |
γ, константа Эйлера-Масчерони |
PHI |
1.61803398874989484820 |
(√5+1)/2, золотое сечение |
PI |
3.14159265358979323846 |
π, круговое трансцендентное число |
Таблица П.2.3. Встроенные константы
Читать дальше
Конец ознакомительного отрывка
Купить книгу