















         programmnoe obespe~enie p|wm robotron 1715


        sistema  uprawleniq  bazami  dannyh   "rebus"



                  rukowodstwo programmista


                       

                    




























                            1987


                          annotaciq


     nastoq}ij   dokument  sodervit   swedeniq,   neobhodimye
programmistu  pri  rabote s relqcionnoj  sistemoj  uprawleniq
bazami dannyh "rebus".  sistema "rebus" rabotaet na mikro-|wm
robotron  1715 pod uprawleniem operacionnoj sistemy SCP i  na
sowmestimyh mikro-|wm, naprimer sm-1800.

      w dannom dokumente ispolxzowany materialy e.m.dmitrien-
ko (wckp su tomskoj oblasti).

data redakcii dokumenta - aprelx 1987 goda.



                         sodervanie


 1. ispolxzowanie "rebus"........................5

 2. sistemnye trebowaniq.........................7

 3. fajly "rebus"................................8

    3.1. fajly bazy..............................8
    3.2. fajly hraneniq sodervimogo pamqti.......9
    3.3. komandnye fajly.........................9
    3.4. fajly formatow ot~etow.................10
    3.5. wyhodnye tekstowye fajly...............10
    3.6. indeksnye fajly........................10
    3.7. formatnye fajly........................10

 4. wyraveniq...................................12

    4.1. funkcii................................12
    4.2. operacii...............................16

 5. makropodstanowki............................18

 6. interfejs s ne-"rebus"-processorami.........19

 7. klassy komand...............................20

 8. polno|krannye operacii......................23

 9. komandy.....................................25

    9.1. obozna~eniq............................25
    9.2. prawila raboty.........................26

 10. sortirowka po russkomu alfawitu............64

 11. programma  "rebus/|kran"...................65

 12. funkcionalxnye  analogi....................74

    prilovenie 1. funkcii "rebus"...............75

    prilovenie 2. komandy "rebus"...............76

    prilovenie 3. swodka komand po funkciqm.....81

    prilovenie 4. ograni~eniq...................84

    prilovenie 5. dopolnitelxnye dannye.........85


                 1. ispolxzowanie "rebus"

     ~toby wospolxzowatxsq subd "rebus",  postawxte disketu s
nej  w   diskowod.    sdelajte,  |tot  diskowod  umal~iwaemym
ustrojstwom  (t.e.  esli   disk stawitsq na  ustrojstwo  "B",
naberite "B:", navmite <wk> i naberite:

    rebus


      programma zagruzitsq w pamqtx i wydast zapros:

      wwedite datu ili <wk>
      (dd/mm/gg):

      |ta  data  budet  hranitxsq  w  l`boj  baze   i   budet
pe~atxsq  w kavdom ot~ete .  wmesto sle{a  movno ispolxzowatx
l`boj specsimwol. naprimer:

      1,1,81
      02 02 82
      3/17/83

      zatem pe~ataetsq soob}enie:

      *** subd "rebus"   11.1986,   somi b.a.
      wwedite 'HELP' , 'HELP rebus' ili komandu.
      .

      to~ka w tretxej stroke qwlqetsq podskazkoj "rebus", oz-
na~aq,  ~to  "rebus" gotowa prinqtx komandu.  w celom komandy
"rebus" qwlq`tsq imperatiwnymi:  za glagolom  sledu`t  frazy,
kotorye konkretiziru`t dejstwie.  "rebus",  prevde ~em wypol-
nqtx komandu skaniruet ws` stroku.  esli obnaruviwaetsq o{ib-
ka,  "rebus"  soob}aet  ob |tom.  w ob}em slu~ae polxzowatelx
korrektiruet o{ibo~nu` komandu, a ne nabiraet ee zanowo celi-
kom. esli "rebus "obnaruviwaet o{ibku, kotoru` nelxzq opisatx
to~no,  ona predpolagaet sintaksi~esku` o{ibku  i  otobravaet
o{ibo~nu`  stroku  s  pometkoj woprosom w na~ale nekorrektnoj
frazy.

      primery o{ibok:

      . DISPRAY MEMORY
      *** neizwestnaq komanda
      DISPRAY MEMORY                |ho o{ibo~noj komandy
      skorrektirowatx i powtoritx       da, korrektirowatx
      staroe zna~enie :PR           izmenitx bukwy "PR"
      nowoe zna~enie  :PL           na "PL"
      DISPLAY MEMORY                posle izmeneniq
      e}e korrekcii? <wk>           <wk> = bolx{e net iz-
                                        menenij

      . STORE (2+2 TO X
      *** sintaksi~eskaq o{ibka ***
            ?                       pome~ena stroka (2+2
      STORE (2+2 TO X
      skorrektirowatx i powtoritx? Y
      staroe zna~enie :+2
      nowoe zna~enie  :+2)
      STORE (2+2) TO X

        e}e   korrekcii?  N          N = bolx{e net izmenenij
        4

        . SUM TO X
      DLQ 'SUM' net wyraveniq          soob}enie
      SUM TO X
      skorrektirowatx i powto-
      ritx?     N                    N = net korrektirowki,
                                     terminaciq |toj komandy.

     programma movet bytx takve wypolnena sledu`}im obrazom:

     rebus <imq fajla>

     |to zna~it, ~to "rebus" budet zagruvena w pamqtx, otkro-
et komandnyj fajl <imq fajla>.CMD i na~net ego wypolnqtx. |ta
forma polezna  dlq ispolxzowaniq "rebus" w paketnom fajle ili
pri ispolxzowanii opcii scepleniq komandy QUIT.
      pri wwode komand "rebus" mogut bytx ispolxzowany sledu-
`}ie uprawlq`}ie simwoly:

      ^P                 - |ho-pe~atx (perekl`~atelx)
      ^U                 - uni~tovitx teku}u` stroku
      ^X                 - uni~tovitx teku}u`  stroku  (krome
                           revima polno|krannogo redaktirowa-
                           niq)
      <DEL>              - uni~tovitx  poslednij    wwedennyj
                           simwol
      ^N (ili {ag nazad) - uni~tovitx  poslednij    wwedennyj
                           simwol
       <ESC>             - wyhod  iz nekotoryh dolgos~ita`}ih
                           komand, a imenno:  DISPLAY, COUNT,
                           DELETE,   INPUT,   LIST,   LOCATE,
                           RECALL, REPLASE,  SKIP,  SUM;  ESC
                           takve daet wyhod iz ACCEPT, INPUT,
                           REPORT  (dialogowyh)  i  WAIT.  wo
                           wseh  slu~aqh <ESC> wozwra}aet up-
                           rawlenie k interaktiwnomu monitoru
                           i wydaet to~ku-podskazku.
                              pri ispolnenii komandnogo fajla
                           "rebus" prowerqet ESC simwol pered
                           obrabotkoj kavdoj komandnoj  stro-
                           ki.
                              wozmovnostx wyhoda  movet  bytx
                           wykl`~ena komandoj SET ESCAPE OFF.

      2.   sistemnye trebowaniq

      p|wm,  na  kotoroj  wypolnqetsq  "rebus"  dolvna  imetx
sledu`}ie harakteristiki :

     1) mikroprocessor,  analogi~nyj 8080 ili  Z80,  naprimer
U880.

     2) 48kw  (ili  bolee)  operatiwnoj  pamqti wkl`~aq   SCP
("rebus" ispolxzuet pamqtx do adresa a400 ).

     3)  operacionnaq sistema SCP ;
     4)  odno   ili  neskolxko  ustrojstw   wne{nej   pamqti,
rabota`}ih  pod SCP (oby~no floppi diski,  ili  win~esterskij
disk);

     5) displej s adresuemym kursorom (velatelxno 24 stroki i
80 stolbcow);

     6) velatelen printer (dlq nekotoryh komand).



     3.   fajly "rebus"

     woob}e fajl estx sowokupnostx informacii,  raspolovennoj
na   diske,   kotoraq   sodervit   polxzowatelxskie   dannye.
informaciq  movet  zapominatxsq  w fajle ili  izwlekatxsq  iz
nego.  fajly movno sgruppirowatx po {esti  tipam,  kavdyj  iz
kotoryh swqzan s otdelxnoj operaciej "rebus".

     wse fajly "rebus" - standartnye fajly SCP s imenami do 8
simwolow i s tipom fajla iz treh simwolow.  nive  pere~isleny
tipy  fajlow  po  umol~ani`,  ispolxzuemye  w  "rebus".   dlq
kavdoj komandy, kotoraq imeet dostup k fajlu, pole tipa movet
otsutstwowatx,  togda "rebus" prinimaet zna~enie pole tipa po
umol~ani`  dlq dannoj komandy.  naprimer,  esli fajl bazy uve
imeet tip DBF,  to net neobhodimosti ukazywatx ego  w   l`boj
iz komand manipulqcii fajlom.

     fajly     bazy                              - .DBF
     fajly hraneniq sodervimogo pamqti           - .MEM
     komandnye fajly                             - .CMD
     fajly formatow ot~etow                      - .FRM
     tekstowye wyhodnye fajly                    - .TXT
     indeksnye fajly                             - .NDX
     formatnye fajly                             - .FMT


     3.1. fajly bazy



     fajly  bazy sodervat strukturnu` zapisx i ot 0 do  65535
zapisej  dannyh.  strukturnaq  zapisx estx w  su}nosti  shema
formata  zapisi  dannyh.  struktura  movet  sodervatx  do  32
razli~nyh  |lementow.  kavdyj |lement w  strukture  ukazywaet
na  pole  dannyh  w  zapisqh  dannyh.   struktura    sodervit
sledu`}ie dannye:

           imena polej dannyh;
           tipy dannyh w polqh dannyh;
           dliny polej dannyh;
           pozici` dannyh w zapisqh.

     3.1.1. imq polq dannyh

     imq do 10 simwolow dliny. imena alfawitno-cifrowye (pl`s
dwoeto~ie) po prirode. odnako polq mogut na~inatxsq s bukwy i
dwoeto~ie dolvno bytx w seredine imeni.

    primery:

      A
    A123456789
    ABW:GDE
    A:B:W:G:D
    ABWG:         newerno, dwoeto~ie ne w seredine
    ABW,gde       newerno, zapqtaq ne dopustima

     3.1.2. tip dannyh

     dopustimy 3 tipa dannyh: stroka simwolow ('abwg'), ~isla
(2 ili 5.18), logi~eskie dannye (istina/lovx).


     3.1.3. dlina polq

     |to ~islo pozicij ({irina),  neobhodimyh dlq  sohraneniq
dannyh.  simwolxnye i ~islowye polq mogut bytx ot  1  do  254
pozicij   dlinnoj.   w  nego  dlq  ~isel  dolvna   wkl`~atxsq
desqti~naq to~ka. logi~eskie polq wsegda sodervat 1 pozici`.


     3.2. fajly hraneniq sodervimogo pamqti (.MEM)

     |to  stati~eskie  fajly w  operatiwnoj  pamqti,  kotorye
razbiwa`tsq  na peremennye napodobie peremennyh zapisej.  |ti
peremennye  nazywa`tsq peremennymi pamqti i ograni~eny ~islom
64.

     zna~enie peremennyh pamqti ne zawisit  ot   ispolxzuemoj
bazy,  t.e.  poziciq w zapisi ispolxzuemogo  fajla  ne  imeet
ni~ego ob}ego s peremennymi fajla w pamqti. peremennye pamqti
ispolxzu`tsq dlq hraneniq konstant,  rezulxtatow  wy~islenij,
dlq   podstanowki  strok  (sm  razdel  5)  i  t.d..   prawila
naimenowaniq,   pe~ati   i   razmerow    peremennyh    pamqti
identi~ny  prawilam  dlq peremennyh  polej,  opisannyh  wy{e.
     komanda   SAVE budet zapisywatx wse  teku}ie  peremennye
pamqti   w  diskowyj fajl;  a komanda RESTORE budet ~itatx ih
obratno.


     3.3. komandnye fajly

     komandnyj fajl  sodervit  posledowatelxnostx   komandnyh
strok  "rebus".  |to  daet  wozmovnostx   hranitx   mnovestwo
~asto   ispolxzuemyh  posledowatelxnostej  komand,    kotorye
pozwolq`t legko manipulirowatx s fajlami bazy.

     komandnye fajly mogut sozdawatxsq i modificirowatxsq   s
pomo}x` redaktora tekstow i/ili processora obrabotki tekstow,
odnako  sama "rebus" imeet wozmovnostx   sozdawatx/redaktiro
watx  komandnye  fajly s pomo}x`  komandy  MODIFY.  komandnye
fajly  na~ina`tsq s komandy DO i mogut sodervatx l`bu` rebus-
komandu,  odnako  sleduet  zametitx,  ~to  nekotorye  komandy
(CREATE,  INSERT,  APPEND  (wwodimye s  klawiatury))  trebu`t
whodnyh  dannyh  ot polxzowatelq wne  sodervimogo  komandnogo
fajla.

     komandnye  fajly  mogut  bytx  wlovennymi,   t.e.  mogut
sodervatx komandy DO."rebus" pozwolqet otkrywatx odnowremenno
do  16  fajlow.  sledowatelxno,  esli fajl  ispolxzuetsq,  to
tolxko  15 fajlow mogut bytx  wlovennymi.  nekotorye  komandy
takve  ispolxzu`t  rabo~ie fajly (naprimer SORT ispolxzuet  2
dopolnitelxnyh  fajla;  REPORT, INSERT, COPY, SAVE, RESTORE i
PACK ispolxzu`t  1 dopolnitelxnyj fajl).  w  ~astnosti,  esli
komanda SORT ispolxzuetsq na nivnem urowne po wlovennosti, to
tolxko 13 urownej komandnyh fajlow mogut ispolxzowatxsq (t.e.
ispolxzuemyj  fajl,  2  SORT-rabo~ih  fajla  i  13  komandnyh
fajlow   =   16).   wsqkij  raz,  kak komandnyj  fajl  wydaet
komandu RETURN ili wstre~aetsq konec fajla, to komandnyj fajl
zakrywaetsq i ego  resursy predostawlq`tsq dlq drugih komand.


     3.4. fajly formatow ot~etow (.FRM)

     komanda  REPORT  ili   generiruet   fajl   ot~etow   ili
ispolxzuet  su}estwu`}ij    fajl   ot~etow.   fajl    ot~etow
sodervit   instrukcii     generatora  ot~etow  dlq  zaglawij,
zagolowkow,  itogowyh  {apok i sodervimogo  stolbcow.   fajly
ot~etow  stroqtsq  "rebus" wo wremq  dialoga  wnutri  komandy
rerort.   oni  mogut  modificirowatxsq  redaktorami  tekstow,
odnako oby~no legko opredelitx nowu` formu ot~eta snowa.


     3.5. wyhodnye tekstowye fajly (.tht)

     wyhodnye tekstowye fajly sozda`tsq,   kogda  ukazywa`tsq
komandy  "SET ALTERNATE TO <imq fajla>" i "SET ALTERNATE ON".
podrobnosti opisany w komande SET.   komandy  COPY  i  APPEND
predpolaga`t tekstowyj (.tht) fajl,  esli ispolxzuetsq  opciq
SDF  (STANDARD  DATA FORMAT -standartnyj format  dannyh)  ili
DELIMITED.


     3.6. indeksnye fajly (.NDX)

     indeksnye fajly generiru`tsq komandoj INDEX.  oni soder-
vat kl`~i i ukazateli na zapisi fajla bazy.  indeksirowanie w
"rebus" - |to tehnika, da`}aq wozmovnostx bystroj lokalizacii
dannyh w bolx{ih bazah. sm. opisanie komandy INDEX.


     3.7. formatnye fajly (.FMT)

     formatnye fajly sodervat tolxko "@"-utwervdeniq  i  "*"-
kommentarii.  oni identificiru`tsq komandoj  "SET  FORMAT  TO
<imq  fajla>" i aktiwiziru`tsq posledu`}imi  komandami  READ.
podobno  komandnym  fajlam  (kotorye  pohovi  na    formatnye
fajly),  formatnye fajly mogut sozdawatxsq i modificirowatxsq
l`bym processorom obrabotki tekstow ili wozmovnostqmi komandy
MODIFY.   formatnye   fajly,    odnako,    ne    obqzatelxny.
     utwervdeniq "@"  i  "*"  oby~no wstraiwa`tsq w komandnyj
fajl.

     4.   wyraveniq

     wyraveniq  w  "rebus" - |to gruppa prostyh  |lementow  i
operatorow, kotorye mogut wy~islqtxsq dlq formirowaniq nowogo
prostogo zna~eniq.  naprimer,  "2+2" estx wyravenie,  kotoroe
wy~islqet  zna~enie "4".  wyraveniq ne obqzatelxno   ~islowye
po  prirode.  wyravenie  'aws'+'def' daet  zna~enie  'awsdef'
(kontkatenaciq  strok),  ili  wyravenie 1>2  daet  logi~eskoe
(bulewo) zna~enie "F" (FALSE - lovx).

     wyraveniq w "rebus" sostoqt iz sledu`}ih komponent:

     peremennye bazy;
     peremennye pamqti;
     konstanty w komandah (literaly);
     funkcii;
     operacii.

     peremennaq   w   "rebus"  - |to  l`boe   pole    dannyh,
zna~enie  kotorogo  movno izmenqtx.  imena  polej  w  teku}ej
zapisi  fajla bazy dannyh qwlq`tsq peremennymi. ih sodervanie
movno  izmenqtx, peredwigaq  ukazatelx fajla  ili  redaktiruq
teku}u`   zapisx.  peremennye  takve sozda`tsq  i  izmenq`tsq
komandami STORE,  RESTORE,  COUNT,  SUM, WAIT, ACCEPT, INPUT.
takie peremennye nazywa`tsq peremennymi pamqti.

     peremennye mogut bytx treh tipow:

       stro~nye;
       ~islowye;
       logi~eskie.

     konstanta (ili literal) estx  |lement  dannyh,   kotoryj
imeet  inwariantnoe,  samoopredelennoe zna~enie. naprimer  1,
'aws' i .t. estx konstanty, ime`}ie postoqnnoe zna~enie.

     stro~nye   konstanty  mogut  zakl`~atxsq  w    odinarnye
kawy~ki  ('),  dwojnye  kawy~ki (") ili w  kwadratnye  skobki
([,]).   esli  stro~naq  konstanta  sodervit  odin  iz  takih
ograni~itelej,     to   ona   dolvna   okajmlqtxsq    drugimi
ograni~itelqmi: 'aws{def}gn'.      logi~eskie       konstanty
(TRUE/FALSE -istina/lovx)  predstawlq`tsq  kak "t","Y" (mogut
ispolxzowatxsq malenxkie bukwy) dlq istiny (TRUE, YES - isti-
na, da) i "F", "N" (mogut ispolxzowatxsq malenxkie bukwy) dlq
lvi (FALSE, NO - lovx, net).


     4.1. funkcii

     funkcii    estx   osobye   operacii,    kotorye    movno
ispolxzowatxsq  w wyraveniqh dlq slu~aew,  kogda trudno   ili
newozmovno   |to sdelatx w regulqrnyh wyraveniqh.  w  "rebus"
su}estwu`t tri  osnownyh tipa funkcij: ~islowye, simwolxnye i
logi~eskie.   tip funkcii osnowan na tipe  zna~eniq,  kotoroe
wy~islqet funkciq.

     4.1.1. celo~islennaq funkciq:

     INT<~islowoe wyravenie>)

     |ta  funkciq wy~islqet ~islowoe wyravenie i  otbrasywaet
drobnu` ~astx, ~toby polu~itx celoe ~islo.

     primery:

 . ? INT(123.456)
 123
 . STORE 123.456 TO X
 123.456
 . ? INT(X)
 123


     4.1.2. funkciq nomera zapisi:

 #

     zna~enie ee estx celoe  ~islo,   sootwetstwu`}ee  nomeru
teku}ej zapisi.

 primery:

 . ? #
 4    (predpolovim, ~to ispolxzuemaq baza  pozicionirowana na
       ~etwertoj zapisi)
 . SKIP
 . ? #
 5

     4.1.3. stro~naq funkciq:

     STR(<~islowoe wyravenie>,<dlina>,[<desqti~nye>])

     |ta funkciq wy~islqet  ~islowoe  wyravenie  i   polu~aet
stroku simwolow,  ime`}u` dlinu  <dlina>.  <desqti~nye>  estx
~islo  cifr posle desqti~noj to~ki.  wse operandy mogut  bytx
literalami,  peremennymi  ili wyraveniqmi.  esli |ta  funkciq
ispolxzuetsq dlq wy~isleniq kl`~a pri indeksirowanii,  to wse
operandy dolvny bytx literalami.

       primery:

 . ? STR(123.456,9,3)
 123.456


     4.1.4. funkciq podstroki:

     $(<simwoli~. wyravenie>,<na~alo>,<dlina>)

     |ta  funkciq formiruet simwolxnu`  stroku  iz  ukazannoj
~asti   drugoj  stroki.   zna~enie  funkcii  podstroki   estx
simwolxnaq  stroka dliny <dlina>,  zapolnennaq  simwolami  iz
simwoli~eskogo wyraveniq na~inaq s simwola s nomerom <na~alo>
dlq   <dlina>  simwolow.   <na~alo>  i  <dlina>  mogut   bytx
literalami, peremennymi ili wyraveniqmi.

     esli <dlina> bolx{e ~em <simwoli~.  wyravenie> ili  esli
<simwoli~.  wyravenie>  kon~aetsq  do  <dlina>+<na~alo>,   to
rezulxtatom  budut  tolxko  te  simwoly,  kotorye  estx.  sm.
primery.  esli  funkciq ispolxzuetsq dlq polu~eniq kl`~a  pri
indeksirowanii, to specifikatory dolvny bytx literalami.

     4.1.5. funkciq perewoda stroki w ~islo:

     VAL(<simw. stroka>)

     |ta  funkciq formiruet celoe ~islo iz simwolxnoj stroki.
dlina celogo rawna ~islu simwolow  stroki.   esli  simwolxnaq
stroka  na~inaetsq  s  cifrowyh  simwolow  i  dalee  sodervit
necifrowye  simwoly,  to polu~aemoe funkciej   VAL   zna~enie
budet rawno pred{estwu`}im cifrowym simwolam.

     drugoj  putx preobrazowaniq cifrowyh simwolow w cifry  -
ispolxzowanie "&" (sm.  razdel 5.0  makrokomand).  "&"  budet
konwertirowatx  stroku w ~islo  (wkl`~aq  desqti~nu`  to~ku),
esli wstre~aetsq podstanowka.

     4.1.6. funkciq dliny:

     LEN(<simw. stroka>)

     wozwra}aet  celoe,   rawnoe  ~islu  simwolow  simwolxnoj
stroki.

     4.1.7. funkciq udaleniq zapisi:

     *

     |to logi~eskaq funkciq,  kotoraq imeet zna~enie  .TRUE.,
esli teku}aq zapisx pome~ena na udalenie, ina~e - .FALSE..

     4.1.8. funkciq konca fajla:

     EOF

     |to logi~eskaq funkciq, ime`}aq zna~enie  .TRUE.,  esli
dostignut konec ispolxzuemogo fajla  (teku}aq  zapisx  budet
poslednej zapisx` w baze).

     4.1.9. funkciq poiska podstroki:

 @(<simw. stroka1>,<simw. stroka2>)

     |ta funkciq daet celoe ~islo,   zna~enie  kotorogo  estx
~islo  simwolow  w  <simw.  stroka2>,  sowpada`}ih  s  <simw.
stroka1>.  esli stroka1 ne sodervitsq w stroke2, to funkciq @
daet   0.   funkciq  @  podobna  operatoru  podstroki  $   za
iskl`~eniem togo, ~to ona soob}aet,  gde perwaq  stroka  byla
najdena  wo wtoroj stroke,  i movet nazywatxsq "gde stroka1 w
stroke2".

     4.1.10. funkciq malenxkih simwolow:

     !(<stro~noe wyravenie>)

     |ta funkciq daet tu ve stroku,  no tolxko wse  malenxkie
bukwy perewodqtsq w bolx{ie.

     4.1.11. funkciq perewoda ~isla w simwoly:

     CHR(<~isl. wyravenie>)

     |ta   funkciq   daet  koi-7-|kwiwalent   dlq   ~islowogo
wyraveniq  ona  polezna,  kogda polxzowatelx  velaet  poslatx
uprawlq`}ie simwoly na ustrojstwo, ~a}e wsego printer.

     4.1.12. funkciq daty:

     DATE()

     ona  generiruet  simwolxnu` stroku,  soderva}u`  datu  w
formate mm/dd/gg.  ee dlina wsegda 8.  mevdu skobkami  ni~ego
ne stawitsq.

     4.1.13. funkciq fajla:

     FILE(<stro~noe wyravenie>)

     |to logi~eskaq  funkciq  imeet  zna~enie  .TRUE.,   esli
<stro~noe wyravenie> su{estwuet, i .FALSE., esli net.

     4.1.14. funkciq tipa:


     TYPE(<wyravenie>)

     |ta funkciq daet odnosimwolxnu` stroku,  soderva}u`  tip
wyraveniq:  'C',  'N'  ili  'L'  - simwolxnoe,  ~islowoe  ili
logi~eskoe sootwetstwenno.



     4.1.15. TRIM-funkciq:

     TRIM(<simw.stroka>)

     |ta  funkciq  ubiraet  probely  w  konce  polq.   oby~no
"rebus"  daet kone~nye probely dlq wseh   peremennyh,   ~toby
izbevatx problemy wyrawniwaniq stolbcow na |krane.

     ee nelxzq ispolxzowatx w komande INDEX, t.k. dlina kl`~a
dolvna bytx wy~islima dlq "rebus".

     4.2. operacii

     su}estwu`t 4 osnownyh  tipa  operacij:   arifmeti~eskie,
srawneniq,  logi~eskie i stro~nye. nive pere~islenny operacii
i primery.

     neobhodimo pomnitx,  ~to w binarnyh  operaciqh  operandy
dolvny bytx odnogo tipa.

     4.2.1. arifmeti~eskie operatory:

       +  slovenie
       -  wy~itanie
       *  umnovenie
       /  delenie
       ()  skobki dlq gruppirowki

     4.2.2. operacii srawneniq:

     <  menx{e
     >  bolx{e
     =  rawno
     ^  ne rawno
     <= menx{e ili rawno
     >= bolx{e ili rawno
     $  operator podstroki (sodervitsq li podstroka w drugoj
        stroke)

     4.2.3. logi~eskie operatory:

     .OR.  ili
     .AND. i
     .NOT. net (unarnyj operator)

     4.2.4. strokowye operatory:

     +  konkatenaciq
     -  konkatenaciq s uni~toveniem probelow w meste styka

     4.2.5. porqdok wypolneniq

     w  nivepriwedennoj  tablice  ukazan  porqdok  wypolneniq
operatorow  treh  klassow.  ~erez  zapqtu`  priweden  porqdok
wypolneniq wnutri podklassa.


 ------------------------------------------------------------
 !                      !                     !             !
 !    arifmeti~eskie    !      strokowye      ! logi~eskie  !
 !                      !                     !             !
 !----------------------------------------------------------!
 !                      !                     !             !
 ! 1) skobki, funkcii   !  skobki, funkcii    !   .NOT.     !
 !                      !                     !             !
 ! 2) unarnye +, -      !  otno{eniq, $(...)  !   .AND.     !
 !                      !                     !             !
 ! 3) *, /              !  +, - (konkatenacii)!   .OR.      !
 !                      !                     !             !
 ! 4) +, -              !                     !             !
 !                      !                     !             !
 ! 5) otno{eniq         !                     !             !
 ------------------------------------------------------------
