I не конч := истина), fi вещественное ji

UI I

< (Д вещ в): ред Д вещ (в) >,

< (Д цел ц) : ред Д вещ (ц) >,

I не конч := истина), ^логическое

U1 I

(лог b): s := (b І даі нет)

I не конч := истина),

комплексное (ft(У В] I

  • (Д компл дк): ред Д компл (дк) >,

  • (Д вещ дв) : ред Д вещ (вд) >,

< (Д цел дц): ред Д вещ (да) >

I не коня := истина), 0 строковое у!

(у 0] 1

(лит с): (счет лит =1 I s cl не конч := истина), ([ ]лит1):

(счет лит = вегр t - нигр t + 1

. Is :=t [cl]

І не конч := истина)

І не конч := истина) либо

Ji битовое /

В11

< (Д бит дб): ред Д бит (дб, тип из трафарет - 4) > I не конч := истина) быв;

если не конч

то ред строку (f, s, подрамки)

все

конец,

(травыб выбор):

начало

[1 : вегр (в из выбор)] подвставка пв; подготовить вставку (в из выбор, пв); вывести вставку (f, пв);

цел 1 =

выб тип из выбор в

логическое ft

(у В] I

(лог b): (b 111 2)

I не конч ;= истина; пропуск), целое

(У BJ I

(цел і): і

I не конч := истина; пропуск) быв;

если не конч

то

если 1 > вегр (стр из выбор) V К О

то не конч := истина

иначе

[1 : вегр ((стр из выбор) [1])] подвставка пвс; подготовить вставку ((стр из выбор) [1], пвс); вывести вставку (f, пвс)

все все; подготовить вставку (в из шаблон, подвст) конец, (трафор трафор):

начало

выполнить трафор (f „трафор, ложь);

для і до вегр подвст цк подвст [і] := (0, ” ”) кц;

j-.= l конец, (трабесф трабесф): начало ■

[1 : вегр (в из трабесф) ] подвставка пв;

[ ] проц цел спец = спец из трабесф;

пел п = вегр спец; [1 : п] цел s;

(подготовить вставку (в из трабесф, пв), (подготовить вставку (в из шаблон, подвст), s := (n I спец [1], (спец [1], спец [2]),

(спец [1],спец [2], спец [3]) I () ));

вывести вставку (f, пв);

если п - 0 то вывод (f, у [і]) иначе

число yj =

[j] I < (Д цел і): і >, < (Д вещ в): в >

I не конч := истина; пропуск);

если "’не конч то выб п в

вывод (f, целое (yj, S [1])),

вывод (f, фикс (yj, s [l],s[2])),

вывод (f, плав (yj, s [1], s [2J, s [3])) быв

все

все

конец, (пуст):

подготовить вставку (в из шаблон, подвст)) быв;

если не конч

то настроить на запись (f);

("і (испр ошибка значения из f) (f) I вывод (f, у [j]); не определено)все:

вывести вставку (f, прдвст)

кц

конец

быв кц

иначе не определено

все:

проц (имя файл,

[ ] об (выводимое, формат)) пуст put f = ф вывод: Ь) проц *-ред fi актировать fi строку =

(имя файл f, строк s, [ ] подрамка.пр) пуст: начало лог подав, п ft одавл fi н fi ули ji ':= истина, выв fi еден fl зн

fi ак fi := ложь, еще раз, цел j := 0, знак:

проц копия = (лит с) пўст:

(■_| подав I проверить позицию (f) : вывести литеру (f, с)) ; для к до вегр пр)

цк подрамка прк = пр [к]: подай :=* подав из прк: вывести вставку (f, пв из прк);

до повт из прк

цк еще раз := истина;

пока еще раз ‘х

цк) +:=1; еще раз := ложь:

лит sj = s [j], маркер = марк из прк:

если маркер =”d”

то копия ( sj); пн := истина

инее маркер = ”z” то

(sj = ”0” I копия ((пн I ”1’’ I sj))

I : sj = ”+” I еще раз :=истина

I пн :=ложь; копия (sj))

инее маркер =”u” V маркер =”v” то

(sj =”+” I знак := 1; еще раз := Истина

I : sj = ” I знак := 2; ещё раз := истина

I :sj =”0” I копия ((пн Г I sj))

І (“і выв зн

копия ((знак I (маркер =”u” l”+”l ”х_”),”-”)); выв зн := истина) ;

копия (sj) : пн := ложь)

инее маркер =”+” то

(sj = ”+” V sj = I копия (sj)

I (~> выв зн I копия ((знак I ”+”,”-”)));

j-:=l)

инее маркер = ” то

(sj = ”+” I копия (”<’)

I : sj ” I копия (sj)I ("Э выв зн I копия ((знак I ”+” ”-”)));

< j-;=1)

инее маркер = ”. ” то копия( " . ”) инее маркер = ”е” V маркер = ”i” V маркер = ”а” V маркер = ”Ь” то копия (sj) ; пн := истина; выв зн := ложь инее маркер = ” г” Toj—:=1 все кц кц кц конец;

10.3.5.2. Форматный ввод а) проц ф ввод = (имя файл, f, [ ] об (вводимое, формат) х) пуст: если открыт из f то для к до вегр х цк выб настроить на чтение (f);

настроить на литерное (f); х [к] в

(формат формат) : присоединить формат (f, формат), (вводимое вв):

начало цел j := 0;

шаблон шаблон, [ ] проввод у = стройввод вв;

пока (j +:= 1) <вегр у цк лог не конч := ложь; взять след шаблон (f, истина, шаблон); настроить на чтение (f);

[1 : вегр (в из шаблон)] подвставка подвст; выб траф из шаблон в (трафарет трафарет): начало

[1 : вегр (рамки из трафарет) ] подрамка подрамки; (подготовить рамки (рамки из трафарет, подрамки), подготовить вставку (в из шаблон, подвставка)) ;

строк s;

цел основание =

(тип из трафарет > 6 I тип из трафарет — 4 I 10); сост строку (f, s, подрамки, основание);

выб тип из трафарет в

Й целое й

(у 0] I

< (имя Д цел идц) :

не конч := строку в Д цел (s, 10, идц) >

I не конч := истина), 0 вещественное

DI I

  • (имя Д вещ идв) :

не конч := -t строку в Д вещ (s, идв) >

I не конч := истина), логическое

[j] I (имя лог ил): ил := s = да

I не конч := истина), 0 комплексное

DJI

  • (имя Д компл идк):

(цел і, лог Ы,Ь2; литера в строке (’’!”, i, s);

bl := строку в Д вещ (s [:-1], ивч из идк);

Ь2 := строку в Д вещ (В [1+ 1:], имч из идк);

не конч := (Ы АЬ2)) > I не конч := истина), 0 строковое

UI I

(имя лит сс):

(вегр s = 1 I сс := s [1] I не конч := истина),

(имя [ ] лит имл):

(вегр имл — нигр имл + 1 = вегр s I имл [с 1 ] := s

I не конч := истина), (имя строк ис) : ис:= s I не конч := истина), либо jt битовые

(у 0] I

  • (имя Д бит идб) :

если Д цел і: строку в Д цел (s, основание, і) то идб := бин і

иначе не конч := истина все >

I не конч := истина) быв конец, (травыб выбор): начало

[1 : вегр (в из выбор)] подвставкапв; подготовить вставку (в из выбор, пв); ввести вставку (f, пв);

цел с = с из тпоз f, лит kk;

цел к := 0, лог есть := ложь;

пока к < вегр (стр из выбор) есть

цкк+:=1;

[1 : вегр ((стр из выбор) [к]) подвставкапв; лог лог := истина;

подготовить вставку ( (стр из выбор) [к], пв);

строк s;

для і до вегр пв

цк s плюспр

(стр из пв [і] I (строк ss) : ss) X повт из пв [і] цк;

для jj до вегр s

пока лог := лог А ’’’ строчка окончена (f)

Л лог файл окончен (f) цк ввести литеру (f, kk); лог :=kk = s [jj] кц; (“’(есть :=лог) I уст номер литеры (f, с)) кц;

если есть то не конч := истина

иначе

выб тип из выбор в

^логическое jk

( у 01 I

(имя лог b) : b := k = 1

I не конч := истина),

целое

(у ВЛ ‘

(имя цел і) : і := к

I не конч := истина)

быв

все;

подготовить вставку (в из шаблон, подаст)

конец,

(трафор трафор):

начало выполнить трафор (f, трафор, истина);

для і до вегр подаст цк подаст [і] := (0, ” ”) кц;

j:=l

конец,

(трабесф траберф):

([1 : вегр (в из трабесф) ] подаставка пв; (подготовить вставку (в из трабесф, пв), подготовить вставку (в из шаблон, подаст)); ввести вставку (f, да);

ввод (f,y [j])),

(пуст):

(j-i;=l;

подготовить вставку (в из шаблон, подаст)) быв;

если не конч

то настроить на чтение (f);

(-, (испр ошибка значения из f) (f) I не определено) все:

ввести вставку (f, подвст)

кц

конец

быв кц

иначе не определено

все;

проц (имя файл, ’

[ ] об (вводимое, формат)) пуст get f = ф ввод;

Ь) проц ^сост Д авить строку = (имя файл f,

имя строк s, [ ] подрамка пр, цел основание) пуст:

начало

лог подав, н одавляемые Ji н ji ули Ji := истина,

есть знак := ложь,

есть пробел := ложь, нет знака := ложь,

цел ук jf азатель ji зн ji ака ji := 1, повт;

прио ! = 8;

оп ! = (строк s, лит с) лит:

ji запрашивает некоторую литеру, содержащуюся в 's';

если читаемая литера не входит в 's', то вызывается процедура обработки события, соответствующая 'при ошибке литеры', с предлагаемым 'с' ji .

если лит к; проверить позицию (f);

ввести литеру (f, к);

литера в строке (к, лок цел, s)

то к •

иначе лит предл := с; -

если (испр ошибка литеры из f) (f, предл) то

(литера в строке (предл, лок цел, s) I предл

I не определено; с)

иначе не определено; с

все;

настроить на чтение (f)

все;

оп ! = (лит s. с) лит: строк (s) ! с;

[ ] лит хор цифры ="012345678935046?’ [/основание];

s :=’’+”;

для к до вегр пр

цк подрамка прк = пр [к]; подав := подав из прк; ввести вставку (f, пв из прк);

до повт из прк

цк лит маркер = марк из прк;если маркер = ”d” то s плюспр

(подав 1”0”1 хор цифры ! ”0”); Пн := истина инее маркер =’’ z” то s плюспр

(подав I ”0”

I лит с = ((пн I I ” ”) + хор цифры) !”0”;

(с=#=”—” (пн :=ложь); с)

инее маркер =”u” V маркер =" +” то

если есть знак

то пн :=ложь; s плюспр (”0123456789” !”0”) иначе

лит с =(”+-” + (маркер =”и” ” ”))!”+”;

(c=”+”Vc=”-”

I есть знак := истина; s [укзн] := с) все

инее маркер = ”v”v маркер = ” то

если есть знак

то пн :=ложь; s плюспр (”0123456789” ! ”0”)

инее лит с; есть пробел

то с - ”.0123456789” 1

(c=”+”VC”-”

I есть знак := истина;

s [укзн] :=с

I : с¥=”л.”1 пн :=ложь; есть знак := истина;

s плюспр с)

иначе с:=”

(с = ”+”/с = ”-”

I есть знак := истина; s [укзн] := с

I есть пробел := истина) все

инее маркер = ” . ” то

s плюспр (подав I ” . ” I ”. ” ! ” . ”) инее маркер — „е” то s плюспр

(подав I ”ю” I ”10е” ! ”10”; ”ю”);

есть знак :=ложь; пн := истина;