с значение'а'минус { 2.1.3.1.е} значение 'Ь' с;
on - = (Д вещ а) Д вещ: ДО - а;
оп + = (Д вещ а, Ь) Д вещ: а Ь;
on + = (Д вещ а) Д вещ: а;
оп < абс, abs > = (Д вещ а) Д вещ: (а < Д О I —al а);
on < X, * > = (Д вещ а, Ь) Д вещ: с значение 'а', умноженное на£2.1.3.1 .е } значение 'Ь' с;
ш) оп / = (Д вещ а, Ь) Д вещ: с значение 'а', деленное на £2.1.3.1 .е } значение 'Ь' с;
п) оп < удл, leng > = (Д вещ а) длин Д вещ: с длинное Д вещ значение, удлиненное из {2.1.3.1.е} значения 'а' с;
оп < укр, shorten > = (длин Д вещ а) Д вещ: с если
абс а < удл Д макс вещ, то Д вещ значение V такое, что для любого Д вещ значения 'w' абс (удл v - а) < абс (удл w — а) с;
оп < окр, round > = (Д вещ а) Д цел: с Д цел значение, если оно существует, обобщаемое до £2.1.3.1.е} некоторого Д вещ значения, отличающегося не более чем на одну вторую от значения 'а' с;
оп < знак, sign > = (Д вещ а) цел:
(а>Д0І1 І :а<Д01—II 0);
г) оп < целч, entier, L > = (Д вещ а) Д цел:
начало Дцел] : = Д0;
пока j < а цк j : = j + Д 1 кц;
пока] >ацк j : = j -Д1 кц;
j
конец;
s) on < 1, + X, + *, і, им> = (Д вещ, а, Ь) Д компл: (а, Ь);
Операции над арифметическими операндами
on Р = (Д вещ а, Д цел Ь) Д вещ: а Р Д вещ (Ь);
on Р = (Д цел а, Д вещ Ь) Д вещ: Д вещ (а) Р Ь;
on R = (Д вещ а, Д цел Ь) лог: a R Д вещ (Ь);
on R = (Д цел а, Д вещ Ь) лог: Д вещ (a) R Ь;
оп<1, + X, + *,Ь> (Д вещ а, Д цел Ь) Д компл: (а, Ь);
on < 1, + X, + *,Ь> = (Д цел а, Д вещ Ь) Д компл: (а, Ь);
on < t, * *, вверх, up > = (Д вещ а, цел Ь) Д вещ:
(Д вещ р :=Д1; до абс Ь цк р : = р X а кц;
(b>Olpl Д1/р));
Операции над литерными операндами.
on R = (лит а, Ь) лог: абс a R абс Ь; { 10.2.1.п}
оп + = (лит а, Ь) строк: (а, Ь);
Операции над комплексными операндами.
оп < вч, ге > = (Д компл а) Д вещ: ге из а;
оп < мч, im > = (Д компл а) Д вещ: im из а;
оп < абс, abs > = (Д компл а) Д вещ:Д корень (вч a I 2 + мч a t 2);
on < арг, arg > = (Д компл а) Д вещ: если Д вещ вч = вч а, мч = мч а; вч^ДОХ/мч1# ДО то если абс вч > абс мч
' то Д арктанг {мч / вч) + Д пи / Д 2 X (мч< Д01 знак вч — 11 1— знак вч) иначе - Д арктанг (вч / мч) + Д пц/д 2 X знак мч все все;
оп < сопрж, conj > = (Д компл а) Д компл: вч а 1 - мч а;
оп< =, рв, eq> = (Д компл а, Ь) лог: вч а = вч b А мч а = мч Ь;
on < =£,! =, нр ne > = (Д компл а, Ь), лог: “I (а = Ь):
on — = (Д компл а, Ь) Д компл:
(вч а — вч b) 1 (мча —мч Ь);
оп - = (Д компл а) Д компл: — вч а 1 — мч а:
on + = (Д компл а, Ь) Д компл: (вч а + вч b) 1 (мч а + мч Ь);
оп + = (Д компл а) Д компл : а;
оп< Х,*> = (Д компл а,Ь) Д компл:
(вч а X вч Ь) - мч а X мч b) 1 (вч а X мч b + мч а X вч Ь); т) оп / = (Д компл а, Ь) Д компл:
(Д вещ d = вч (b X сопрж Ь); Д компл n = а X сопрж Ь; (вч п / d) 1 (мч n / d) );
п) оп < удл, leng > = (Д компл a) long Д компл: удл вча 1 удл мча;
оп < укр, shorten > = (long Д компл а) Д компл: укр вч а 1 укр мча;
on Р = (Д компл а, Д цел Ь) Д компл: а Р Д компл (Ь); q) on Р = (Д компл а, Д вещ Ь) Д компл: а Р Д компл (Ь); г) on Р = (Д цел а, Д компл Ь) Д компл: Д компл (а) РЬ;
on Р = (Д вещ а, Д компл Ь) Д компл: Д компл (а) РЬ;
on < t, * * , вверх, up > = (Д компл а, цел Ь) Д компл:
(Д компл р: = Д1; до абс b цк р := р X а кц;
(b>0 Ipl Д1/р));
on Е = (Д компл а, Д цел Ь) лог: а Е Д компл (Ь);
on Е = (Д компл а, Д вещ Ь) лог: а Е Д компл (Ь);
on Е = (Д цел а, Д компл Ь) лог: b Е а;
on Е = (Д вещ а, Д компл Ь) лог: b Е а;
у) оп ивч = (имя Д компл а) имя Д вещ: ге из а;
z) оп имч = (имя Д компл а) имя Д вещ: im из а;
10.2.3.8. Битовые и связанные с ними операции.
оп < =, рв, eg > = (Д бит а, Ь) лог: начало лог с;
для і до Д размер бит
пока с : = (Д F из а) [і] = (Д F из Ь) [і] цк пропуск кц;
с конец;
оп < #=, / =, нр, пе > = (Д бит а, Ь) лог: -■ (а = Ъ);
on < V, или.ог > = (Д бит а, Ь) Д бит: начало Д бит с: для і до Д размер бит
цк (Д F из с) [і] := (Д F из а) [і] у (Д F из Ь) [і] кц; с конец;
on <A, &, и, and < = (Д бит а, Ь) Д бит: начало Д бит с;
для і до Д размер бит
цк (Д F из с) (і] := (Д F из а) [і] А (Д F из Ь) [і] кц; с ,
конец;
оп <<,<=, нб, 1е > = (Дбит а, Ь) лог: (аУЬ) =Ь; f) оп<>,> =, нм, ge > = (Д бит а, Ь) лог: b < а;
on < t, вверх, up, лев, shl> = (Д бит а, цел Ь) Д бит: если абс b < Д размер бит тоДбитс:=а;
до абс Ь цк если b > 0 то для і от 2 до Д размер бит цк (Д F из с) [і - 1J := (ДР из с) [і] кц;
(Д F из с) [Д размер бит} := ложь иначе
для і от Д размер бит шаг - 1 до 2
цк (Д F из с) [і] :в(ДБ из с) [і - 1] кц;
(ДР из с) [1] :=ложь все кц;
с все;
on < I, вниз, down, прав, shr> = (Д бит х, цел п) Д бит : х t — п;
оп < абс, abs > = (Д бит а) Д цел: начало Д цел с : = Д 0;
для і до Д размер бит '
цкс:=Д2Хс + У абс (Д F из а) [і] кц;
с конец;
on < бин, bin > = (Д цел а) Д бит:
если а > Д О
то Д цел b := а; Д бит с;
для і от Д размер бит шаг — 1 до 1
цк (ДР из с) [і] :=нчтЬ; Ь:'=Ь-^Д2кц; с все;
оп < элем, elem, □ > = (цел а, Д бит Ь) лог: (Д F из Ь) [а];
проц Д бит пак = ([ ] лог а) Д бит:
если цел п «Га [с 1];
п < Д размер бит
то Д бит с;
для і до Д размер бит
цк (ДР из с) [і] : =
(КД размер бит — n І ложьі а [с 1] [і — Д размер бит + п]) кц с все;
проц([ ] лог) Д бит L bits pack = Д бит пак;
on <~s ~, не, not > = (Д бит а) Д бит:
начало Д бит с;
для і до Д размер бит цк (Д F из с) [і] : =
-• (Д F из а) [і] кц; с конец;
п) оп < удл, leng > = (Д бит а) длин Д бит: длин Д бит пак (а);
о) оп < укр, shorten > = (длин Д бит а) Д бит: Д бит пак ([ ] лог (а) [длин Д размер бит - Д размер бит + 1 :]);
Слоговые и связанные с ними операции.
on R = (Д слог а, Ь) лог: строк (a) R строк (Ь);
оп < элем, elem, □ > = (цел а, Д слог Ь) лит: (Д F из Ь) [а];
проц Д слог пак = (строк а) Д слог:
если цел п =Га [с 1]:
п < Д размер слог то Д слог с;
для і до Д размер слог
цк (ДР из с) [i] := (Kn la [с 1] [і] | заполнитель) кц;
с все;
проц (строк) Д слог L bytes pack = Д слог пак;
оп < удл, leng > = (Д слог а) длин Д слог: длин Д слог пак (а)
;' е) оп < укр, shorten > = (длин Д слог а) Д слог;
Д слог пак (строк (а) [:Д размер слог]);
Строковые и связанные с ними операции.
оп •< <>■ мш, It > = (строк а, Ь) лог:
начало цел m =Г а [с 1], п =Г- b [с 1 ]■; цел с := 0;
для і до (m < n I ml п)
пока (с := абс а [с 1] [і] - абс b [с 1] [і]) =0 цк пропуск кц;
(с = 01т<пЛп>01с<0) конец;
оп < <, < =, нб, 1е > = (строк а, Ь) лог: -• (Ь < а);
on< =, pB,eq > = (строк а, Ь) лог: а < ЬЛ b < а;
оп < #=, / =, нр, пе > = (строк а, Ь) лог: — (а = Ь);
оп О, > =, нм, ge > = (строк а, Ь) лог: b < а;
оп О, бш, gt > = (строк а, Ь) лог: b < а;
on R = (строк а, лит Ь) лог: a R строк (Ь); -
on R = (лит а, строк Ь) лог: строк (a) R Ь;
оп + =( строк а, Ь) строк:
(цел m = (int 1 а = Г а [с 1]; 1а < 0 1011а), п=(цел1Ь = 1 bi [с 1]; 1Ь < 0 1011Ь)?[1 : m + п] лит е;
(m>0 1с [1 : т] :=а [ с 1]);
(n>0 Ic [т + 1 : m + n] :=b [С 1] ; с);
оп + = (строк а, лит Ь) строк : а + строк (Ь);
оп + = (лит а, строк Ь) строк : строк (а) + Ь;
on < X, * > = (строк а, цел Ь) строк: (строк с; до b цк с : = с + а кц; с);
on < X, * > = (цел а, строк Ь) строк : b х а;
, п) оп < X, * > = (лит а, цел Ь) строк : строк (а) X Ь;
о) on < X, * > = (цел а, лит Ь)строк: b X а;
{ Из операций, определенных в a, g и h, следует, что если абс ”а” < абс . ”Ь”, то ”a”<”b”; ”aa”<”ab”; ”аа” <”ba”; "ab” <"Ь” и”аЬ” <
<”Ьа”. }
Операции, соединенные с присваиваниями.
оп < минпр, minusab, — := > = (имя Д цел а, Д цел Ь)
имя Д цел: а := а — Ь;
оп < минпр, minusab, —:= > = (имя Д вещ а, Д вещ Ь) имя Д вещ: а := а — Ь;
оп < минпр, minusab, -:= > = (имя Д компл а, Д компл Ь)
имя Д компл: а т:= а — Ь;
оп < плюспр, plusab, +:= > = (имя Д цел а, Д цел Ь) имя Д цел: h ;= а + Ь;
оп < плюспр, plusab, +:= > = (имя Д вещ а, Д вещ Ь) имя Д вещ: а := а + Ь;
О оп < плюспр, plusab, +:= > = (имя Д компл а, Д компл Ь)
имя Д компл. а :=а+ b;
on < умпр, timesab, X :=, * := > = (имя Д цел а, Д цей b) >
имя Д цел : а :=а X Ь;
on < умпр, timesab, X :=, * := > = (имя Д вещ а, Д вещ Ь)
имя Д вещ; а := а X Ь;
оп < умпр, timesab, X * := > = (имя Д компл а, Д компл Ь)
имя Д компл : а := а X Ь;
on < цедпр, overab, 4-:=, %•= > = (имя Д цел а, Д цел Ь)
имя Д цел :а:= а Ь;
оп < модпр, mo dab Л X :=, -5*:=, %Х :=, %* := >