
                      s o d e r v a n i e
 
1.    wwedenie ..........................................................
2.    wyzow interpretatora qzyka bejsik .................................
3.    revimy raboty interpretatora qzyka bejsik..........................
4.    kompilqciq programm na qzyke bejsik................................
4.1   start kompilqtora qzyka bejsik.....................................
4.2   start redaktora swqzej  qzyka bejsik...............................
5.    direktiwy qzyka bejsik.............................................
5.1.  direktiwa NEW   ...................................................
5.2   direktiwa RESET....................................................
5.3   direktiwa AUTo.....................................................
5.4   direktiwa CLEAR....................................................
5.5   direktiwa CONT.....................................................
5.6   direktiwa SYSTEM...................................................
5.7   direktiwa EDIT.....................................................
5.8   direktiwa LIST i LLIST.............................................
5.9   direktiwa DELETE...................................................
5.10  direktiwa RENUM....................................................
5.11  direktiwa SAVE.....................................................
5.12  direktiwa LOAD.....................................................
5.13  direktiwa RUN......................................................
5.14  direktiwa MERGE....................................................
5.15  direktiwa FILES....................................................
5.16  direktiwa KILL.....................................................
5.17  direktiwa NAME.....................................................
5.18  direktiwy TRON i TROFF.............................................
6.    konstanty w qzyke bejsik...........................................
7.    peremennye w qzyke bejsik..........................................
7.1   obozna~eniq peremennyh i qwnye deklaracii tipow....................
7.2   operatory opisaniq DEFINT, DEFSNG, DEFDBL i DEFSTR
      dlq implicitnoj deklaracii tipa....................................
7.  operatoopisaniDEFFΠdl funkcij................................
7.4   preobrazowanie tipow dannyh........................................
7.5   funkcii CINT, CDBL i CSNG dlq wynuvdennyh preobrazowanij
      tipow dannyh.......................................................
8.    simwoly operacij w qzyke bejsik....................................
9.    massiwy (ARRAY) w qzyke bejsik.....................................
9.1   operator opisaniq DIM dlq massiwow.................................
9.2   operator OPTION BASE dlq proizwolxnogo zadaniq nivnej
      granicy indeksa pri opisanii massiwa...............................
9.3   operator ERASE dlq stiraniq oblastej pamqti, zanqtyh massiwami.....
10.   operatory cikla w qzyke bejsik.....................................
10.1  operatory FOR, TO, STEP i NEXT dlq obrazowaniq cikla
      s fiksirowannym ~islom prohovdenij.................................
10.2  operatory WHILE i WEND dlq obrazowaniq cikla s peremennym
      ~islom prohovdenij (iteracionnye cikly) ...........................
11.   bezuslownye i uslownye programmnye razwetwleniq w qzyke bejsik.....
11.1  operator GOTO dlq realizacii programmnyh perehodow
      (bezuslownye programmnye perehody).................................
11.2  operatory IF, THEN i ELSE dlq realizacii yslownyh perehodow........
11.3  operator ON dlq formulirowaniq perehoda na nomer iz spiska.........
12.   rabota s podprogrammami w qzyke bejsik.............................
12.1  operatory GOSUB i RETURN dlq obespe~eniq raboty w podprogrammami...
12.2  operator CALL dlq wyzowa programm w ma{innom kode
      s organizaciej pereda~i parametrow.................................
12.3  funkciq VARPTR dlq podgotowki adresow pamqti.......................
12.4  operator opisaniq DEF USR dlq uslownogo perehoda
      w polxzowatelxsku` ma{innu` programmu..............................

12.5  operator CHAIN dlq postroeniq owerlejnyh struktur
      w programmah na qzyke bejsik.......................................
12.6  operator opisaniq COMMON...........................................
12.7  operator %INCLUDE dlq wstawki ishodnogo teksta wo wremq kompilqcii
      (movet ispolxzowatxsq tolxko w bejsik-kompilqtore).................
13.   operatory dlq wwoda i wywoda na displej i pe~ata`}ee ustrojstwo,
      w kanal wwoda/wywoda ili po adresu pamqti w qzyke bejsik...........
13.1  operator INPUT dlq zagruzki peremennyh
      wo wremq wypolneniq programmy......................................     
13.  operato LINŠ INPU dl wwod l`by posledowatelxnoste znako 
      wo wremq wypolneniq programmy......................................
13.3  operator PRINT dlq neformatirowannogo wywoda informacii displeq....
13.4  operator PRINT USING dlq formatirowannogo wywoda
      informacii na displej..............................................
13.5  opreratorLPRINԠLPRINԠUSINǠdlneformatirowannogil 
      formatirowannogo wywoda na pe~ata`}ee ustrojstwo...................
13.6  operator WRITE dlq wywoda na displej...............................
13.7  operator WIDTH dlq zadaniq dliny  wywodimoj stroki ................
13.8  operator OUT dlq fizi~eskogo wywoda nekotoroj weli~iny
      w kanal wywoda.....................................................
13.9  operator POKE dlq zapisi zadannogo bajta
      po zadannomu adresu pamqti.........................................
13.10 operator WATE dlq sinhronizacii s wne{nimi  ustrojstwami...........
13.11 operatoSWAРdlperestanowkweli~idwul`byperemenny 
      odinakowogo tipa...................................................
14.   funkcii dlq obespe~eniq wwoda/wywoda w qzyke bejsik................
14.1  funkciq INKEY$.....................................................
14.2  funkciq INPUT$.....................................................
14.3  funkciq INP dlq fizi~eskogo wwoda nekotoroj weli~iny
      iz kanala wwoda....................................................
14.4  funkciq PEEK dlq ~teniq bajta iz adresa pamqti.....................
14.5  funkciq SPC........................................................
14.6  funkciq TAB........................................................
14.7  funkciq LPOS.......................................................
14.8  funkciq POS........................................................
15.   rabota s fajlami w qzyke bejsik....................................
15.1  operatoDATdlzadaniprogrammnykonstan頠danny
    w wnutriprogrammnom fajle.........................................
15.2  operator READ dlq ~teniq iz  wnutriprogrammnogo fajla..............
15.3  operator RESTORE dlq ustanowki indeksa wnutriprogrammnogo fajla....
15.4  operator OPEN dlq otkrywaniq fajlow................................
15.5  operator INPUT# dlq wwoda iz posledowatelxnyh fajlow...............
15.  operatoLINŠINPUT dl wwod l`by posledowatelxnosteznakoiz
      posledowatelxnogo fajla............................................
15. operatorPRINT PRINTUSINǠdlneformatirowannog 
      formatirowannogo wywoda w posledowatelxnyj fajl  ..................
15.8  operator WRITE dlq wywoda w posledowatelxnyj fajl..................
15.9  operator GET dlq pereda~i bloka fajla prqmogo dostupa
      w bufernu` oblastx.................................................
15.10 operator PUT dlq pereda~i bloka iz bufernoj oblasti w fajl prqmogo 
      dostupa............................................................
15.11 operator FIELD dlq wydeleniq oblastej dlq peremennyh w bufere
      fajla s prqmym dostupom............................................
15.12 operatory LSET i RSET dlq zapisi strok, wyrownennyh po prawomu
      ili lewomu kra` (w blok tekstowogo fajla s prqmym dostupom)........
15.13 operator CLOSE dlq zakrytiq fajlow, otkrytyh s pomo}x` OPEN........
16.   funkcii dlq obespe~eniq raboty s fajlami w qzyke bejsik............
16.1  funkciq EOF........................................................
16.2  funkciq LOF........................................................
16.3  funkciq LOC........................................................
16.4  funkcii MKI$, MKS$, i MKD$.........................................
16.5  funkcii CVI, CVS i CVD.............................................
17.   rabota s posledowatelxnostqmi znakow w qzyke bejsik................
17.1  funkciq CHR$.......................................................
17.2  funkciq ASC........................................................
17.3  funkciq STR$.......................................................
17.4  funkciq VAL........................................................
17.5  funkciq HEX$.......................................................
17.6  funkciq OCT$.......................................................
17.7  funkciq RIGHT$.....................................................
17.8  funkciq LEFT$......................................................
17.9  funkciq SPACE$.....................................................
17.10 funkciq STRING$....................................................
17.11 funkciq INSTR......................................................
17.12 funkciq MID$ dlq obrazowaniq fragmenta  posledowatelxnosti znakow..
17.13 operator MID$ dlq zameny fragmenta w posledowatelxnosti znakow.....
17.14 funkciq LEN........................................................
18.   ~islowye standartnye funkcii w qzyke bejsik........................
18.1  funkciq ABS........................................................
18.2  funkciq FIX........................................................
18.3  funkciq INT........................................................
18.4  funkciq SGN........................................................
18.5  funkciq SQP........................................................
18.6  funkciq EXP........................................................
18.7  funkciq LOG........................................................
18.8  funkciq SIN........................................................
18.9  funkciq COS........................................................
18.10 funkciq TAN........................................................
18.11 funkciq ATN........................................................
18.12 funkciq RND........................................................
18.13 operator RANDOMIZE dlq zadaniq to~ki starta
      generatora slu~ajnyh ~isel.........................................
19.   prostye uprawlq`}ie operatory i funkcii w qzyke bejsik.............
19.1  operator LET dlq identifikacii operatorow priswaiwaniq.............
19.2  operator REM dlq identifikacii tekstow prime~anij..................
19.3  operator END dlq zawer{eniq bejsik-programmy.......................
19.4  operator STOP dlq wyrabotki programmnogo prerywaniq................
19.5  funkciq FRE........................................................
20.   reakciq na o{ibki i obrabotka o{ibok w qzyke bejsik................
20.1  operato ERRO dl opredeleni polxzowatelxskog kod o{ibk
     dl simulqcii o{ibki w ramkah programmnogo teksta..................
20.2  operator ON ERROR GOTO dlq uspe{nogo perehoda w standartnu`
      programmu reakcii na o{ibku........................................
20.3  operator RESUME dlq zawer{eniq standartnoj programmy
      obrabotki o{ibok...................................................
20.4  peremennye ERR i ERL...............................................


prilovenie a: wozmovnosti wyzowa programm w ma{innyh kodah qzykA bejsik..
prilovenie w: soob}eniq ob o{ibkah   bejsik-interpretatora...............
prilovenie s: soob}enie ob o{ibkah bejsik-kompilqtora....................
prilovenie D: tablica znakow w kode ASCII................................
priloveni e: razli~i mevd podleva}i interpretaci  podleva}i 
              kompilqcii dialektami qzyka bejsik.........................
prilovenie F: kontrolxnye znaki, kotorye mogut bytx ispolxzowany
              pri obrAbotKE bejsik-programm..............................
prilovenie G: zarezerwirowannye identifikatory w qzyke bejsik............
.PA
I. wwedenie

     nazwani qzyk bejsi qwlqets abbrewiaturo o anglijskog BEGINNER 
AL PURPOS SYMBOLI INSTRUCTIO CODE ~t uv sam p seb gowori  tom 
~t |to qzy programmirowani by specialxno sozda dl nowi~ko  
oblast programmirowaniq qzy by razrabota   196 god ka dialogowy 
qzy dl obu~eni studento osnowa programmirowaniq bejsi sprawils  
|toꠠ zada~eꠠ  ~ere 1 le posl sozdaniq n polu~i osobog 
mevdunarodnog zna~eniq li{ razwiti mikro|lektronik   e primeneni  
oblast wy~islitelxno tehnik  pr obrabotk informaci priwel  tomu 
~t qzy bejsi polu~i {iroko mevdunarodno priznani   nastoq}e wrem 
otnosits  naibole rasprostranenny qzyka programmirowani w wse mire 
dlq takogo razwitiq estx w osnownom tri pri~iny:
1 tehnologi mikro|lektronik priwel  zna~itelxnom sniveni rashodo n 
proizwodstw |wm segodn ta nazywaemy personalxny |wm sostoq}i i 
klawiatur (kotora  ob}e whodi  sosta |wm) displeq wne{ne pamqt 
(nakopitel n gibko disk i/il n kassete  ustrojstw pe~at mogu 
stoqt prakti~esk n kavdo pisxmenno stole ustrojstw |tog tip ime` 
odnak taku v proizwoditelxnostx ka tradicionny sredni |w  {iroko 
rasprostraneni |ti tehni~eski wspomogatelxny sredst  oblast obrabotk 
informaci delae wozmovnym prevd wseg dl samog {irokog krug 
polxzowatelej li~ny kontak  |wm odnowremenn woznikae neobhodimost 
predlovit |tom krug polxzowatele prosto qzy dl na~ina`}ih  imenn 
bejsik prigodny dl wwedeni  programmirowanie.
2 bejsi qwlqets dialogowy qzyko programmirowaniq prigodny  to~k 
zreni interpretator dl ma{inno obrabotki |t ozna~aet ~t otdelxny 
operato  fragmen programm il programm polnostx sraz prigodn dl 
wypolneniq te samy wozmovn razrabotk programm  revim dialog  |wm 
 |w wwodq odi il neskolxk operatoro  movn sraz proweritx 
prawilxno li oni zapisany i da`t li ovidaemyj rezulxtat.
3 bejsi qwlqets n tolxk qzyko programmirowaniq o sodervi takv ws 
neobhodimy funkci dialogowo-orientirowanno operacionno sistemy dl 
|tog bejsi razli~ae programmny operator  direktiw programmist 
(makrokomandy)  t wrem ka perwy sluva dl formulirowani programm  
t.e dl obrazowani posledowatelxnost operacij neobhodimy dl re{eni 
zada~i direktiw programmist obespe~iwa` wes proces programmirowaniq  
i蠠 pomo}xࠠ movn numerowat strok頠 programm (direktiwᠠ AUTO) 
modificirowat operator (direktiw EDIT) perepisywat programm i oz n 
wne{ne z (direktiw SAVE) il zagruvat  wne{neg z  oz (direktiw 
LOAD)  nakonec zapuskat programm (direktiw RUN) dl razny tipo 
wy~islitelxno tehniki kotory su}estwenn otli~a`ts dru o druga byl 
razrabotan sootwetstwu`}i wersi qzyka naibole podhodq}i dl danno 
oblast ispolxzowani (naprimer grafi~eski zada~i process ON-LINE 
kommer~esko ispolxzowanie nau~no-tehni~eski ras~ety problem obrabotk  
bolx{ih massiwow i t.d.).
     wersi qzyk bejsik predlovenna  operacionno sistem SCPX 
obespe~iwae ka kommer~esko ispolxzowanie ta  re{eni problemobrabotk 
bolx{i massiwo ( pomo}x ras{irenno rabot  fajlami) nau~no-
tehni~eski ras~et ( pomo}x bolx{og nabor matemati~eski funkcij) 
obrabotk tekstᠠ (zᠠ s~e |ffektiwnoꠠ rabot s znakowym 
posledowatelxnostqmi)  takv re{eni kompleksny zada (z s~e sozdani 
prerywa`}ihs programmny faz) dl |to wersi qzyk imeets ka 
interpretator, tak i kompilqtor.
     kompilqto osu}estwlqe translqci programmy napisanna n bejsik ta 
nazywaema "ishodna programma odi ra perewodits  ma{innu programmu 
ta nazywaemu "ob'ektnu programmu" |t programm move byt   zate 
wypolnen |w l`bo ~isl raz interpretato perewodi otdelxny operator 
"ishodno programmy pr kavdo wypolneni programm zanowo  sraz 
wypolnqet kavdyj operator.
     ob process ime` swo preimu}estw  nedostatki interpretirowanna 
programm rabotae medlennee t.k pr wypolneni kavdog operator dopolnitelxn neobhodim wrem n eg perewod odnako pr |to legk delat 
izmeneni  programme izmenenny operator obrabatywa`ts sootwetstwu`}i 
obrazo pr sledu`}e progon programmy kompilirowanna programm rabotae 
bystree t.k predwaritelxn byl proweden translqciq pr izmeneniq 
neobhodimo wnowx translirowatx ws` programmu.
     interpretato obladae re{a`}i preimu}estwo osobenn prirazrabotk 
programmy kogd ~ast mogu proishodit izmeneniq il dl nowi~ka t.k  
|ti slu~aq skorost obrabotk n stol wavna esl programm n ime` 
o{ibok  dlitelxno wrem ispolxzu`ts be wneseni izmenenij t bole 
predpo~titele kompilqtor  |to slu~a movn smiritxs  razowo 
neobhodimostx rashod wremen n translqci rad preimu}estw bole wysoko 
skorosti obrabotki pri posledu`}ih progonah programmy.
     w dannoj dokumentacii ispolxzu`tsq sledu`}ie standartnye obozna~eniq:
<identifikator>    ispolxzowanie metaperemennyh. na |tom meste movet bytx
                   postawlena posledowatelxnostx znakow, identificirowannaq
                   s  pomo}x`  identifikatora.  uglowye  skobki  qwlq`tsq 
                   metasimwolom kotory  n  ispolxzuets    programmah
                  napisanny na bejsike.
[strok sim-      strok simwolow zakl`~enna  kwadratny堠 skobki 
 wolow]            s~itaeTsq neobqzatelxnoj i movet otsutstwowatx. kwadrat-
                   nye skobki qwlq`tsq metasimwolom i ne ispolxzu`tsq w pro- 
                   grammah, napisannyh na bejsike.
naprime /F     otdelxny bukwy specialxny znak   t.d sledue 
                   ispolxzowatx tak, kak oni zadany.
...                |lement, stoq}ij pered tremq to~kami movet bytx neodno-
                   kratno powtoren.
     esl pr opisani direktiw il operator ne osoby ukazani p 
ispolxzowani i tolxk  interpretator il tolxk  kompilqtor qzyk 
bejsik t danna sintaksi~eska edinic move byt ispolxzowan  obei 
komponentah.

.PA
2. wyzow interpretatora qzyka bejsik

     posl zagruzk  zapusk operacionno sistem SCPX on wywodi 
soob}eni  wid posledowatelxnost simwolo a> posl |tog on ovidae 
wwodᠠ direktiw interpretato qzykᠠ bejsi렠 wyzywaets sledu`}im 
direktiwami:
format: BASI [<nazwanie fajla>]  [/F:<maksimalxnoe  ~islo  fajlow,  kotorye 
        dolvny bytx odnowremenno otkryty>] [/M:<adres bajta, sledu`}ego nepo-
        sredstwenno za razdelom pamqti, otwedennym interpretatoru i ego  ra-
        bo~ej oblasti>]  [/S:<maksimalxnaq dlina bufera dlq fajla>]
      pomo}x nazwani fajl ukazywaets fajl kotory sodervi programm 
n qzyk bejsi  kod ASCII podleva}u interpretacii |t programm 
awtomati~esk zagruvaets  obrabatywaetsq pere nazwanie fajl move 
stoqt logi~eska edinica otdelenna dwoeto~iem dl nazwani fajl  
operacionno sistem SCP ime`ts opredelenny prawila interpretato qzyk 
bejsik prinimaet tolxko fajly s metkoj ".BAS".
     paramet /Ơ move imet maksimalxno zna~eni 15 esl paramet n 
zadaetsq, po umol~ani` ustanawliwaetsq zna~enie, rawnoe 3.
     paramet /͠ move ispolxzowatxs dl rezerwirowani opredelenno 
oblast pamqti kotora prednazna~en dl zagruzk  obrabotk nowy module 
bejsika esl paramet  n zadan interpretator predostawlqets dl |tog 
ws swobodna pamqtx oblast pamqti stoq}a posl adresa ukazannog  
/M:, bejsikom ne ispolxzuetsq.
     esl nezada paramet /S t ws buferny oblasti prednazna~enny dl 
podleva}i otkrywani fajlow rezerwiru`ts s standartno dlino 12 
bajtow, bolee dlinnye bloki dolvny bytx u~teny s pomo}x` parametra /S.
primery:
a>BASI                       wyzow interpretatora qzyka bejsik w standartnom
                             revime.
B>BASI FILE1.BAS             wyzow bejsik-interpretatora w standartnom revi-
                             m堠  obrabotk programm FILE1 kotora 
                             nahoditsq w tom ve nakopitele.
B>BASɠ /F:5/S:20           wyzo bejsik-interpretator dl odnowremenno    
                             rabot  maksimu  otkrytym fajlami pri~e 
                             dlina blokow rawna 200 bajtam.
A>BASI C:FILE2.BAS/M:&H8000  wyzow bejsik-interpretatora w standartnom revi-
                             me: zagruzka i obrabotka programmy FILE2, naho-
                             dq}ejsq na nakopitele s. interpretatoru predos-
                             tawlqetsq pamqtx do adresa &H8000.


.CP20
 3. revimy raboty interpretatora qzyka  b e j s i k
      

      interpretato qzyk bejsi move ispolxzowatxs  dwu razli~ny 
revimah:
-w revime nastolxnoj |wm ili w revime prqmyh direktiw
-w programmnom revime
      interpretato qzyk bejsi soob}ae  swoe gotownost  priem 
operatoro o polxzowatel  pomo}x wyraveni o n displee prqmy 
direktiw zastawlq` interpretato wozwra}atxs  sostoqni gotownost posl 
wypolneni operatora prqmy direktiw nabira`ts postro~n  pomo}x 
klawiatury  sootwetswi  sintaksi~eskim prawilami opisannym nive 
strok zakan~iwaets navatie knopk "et ("CARRIAG RETURN"- zna wozwrat 
karetki).
.CP6
  primer:    polxzowatelx:    a=SQR(3^2+4^2)+5*2 <knopka "et">
             interpretator:   ok
             polxzowatelx:    PRINT A <knopka "et">
             interpretator:   15
                              ok
w revime prqmyh direktiw stroki ne numeru`tsq.
 programmno revim otdelxny strok programm wwodqts  nomero stroki 
obrabotka otdelxnyh strok programmy osu}estwlqetsq s pomo}x` direktiwy RUN.
.CP5
  primer:    polxzowatelx:    10 a=SQR(3^2+4^2)+5*2 <knopka "et">
                              20 PRINT A <knopka "et">
                              RUN
             interpretator:   15
                              ok
stroka programmy w bejsike imeet sledu`}u` strukturu:
  format:    (nomer stroki) <operator>
             (:<operator>)...('kommentarij)
strok zawer{aets navatie knopk "et" <nome stroki dolve wsegd 
ukazywatxs  programm  wsegd otsutstwowat  revim prqmy direktiw o 
move prinimat zna~eni o  d 65529 strok move sodervat maksimu 25 
znakow i zanimatx neskolxko strok na |krane displeq.
.PA
  4.   kompilqciq programm na qzyke  b e j s i k

  4.1. start kompilqtora qzyka  b e j s i k

     kompilqtor qzyka bejsik wyzywaetsq sledu`}ej direktiwoj:
  format:
BASC (<ob'ektnyj fajl>) (,(<fajl spiska>)) = <ishodnyj fajl> (<warianty>)
<ob'ektny fajl -|t im fajla  kotory zapisywaets pereme}aemy kod o 
                  awtomati~eski polu~aet bukwennu` metku "REL".
<fajl spiska>    -|to imq fajla, w kotorom zapisany tekst ishodnoj programmy
                  w format aSCII i  sootwetstwi  wybrannym wariantami,
                  wyrabotanny ma{inny komand  mnemoni~esko kode  takve
                  soob}eniq ob o{ibkah. |tot fajl pozve movet bytx wyweden na
                  displej ili pe~ata`}ee ustrojstwo.  esli informaciq  dolvna
                  wywoditxsq  tolxko  na  displej  ili  tolxko  na pe~ata`}ee
                  ustrojstwo , wmesto  <fajla spiska>  mogut  ispolxzowatxsq
                  identifikatory:
                  LST: -dlq wywoda na pe~ata`}ee ustrojstwo;
                  ttY: -dlq wywoda na displej.
<ishodnyj fajl>  -|to imq fajla, w kotoryj zapisywaetsq ishodnaq programma w
                  format ASCII esl ishodny teks dolve wwoditxs prqm s
                  klawiatury,  wmesto  ishodnogo  fajla  movet  ispolxzowatxsq
                  identifikator-ttY:
     osobenno interesnym qwlqetsq wyzow:
                  BASC, TTY:=TTY:
      |to revim rabot imeets wozmovnost prowerit sintaksi otdelxny 
operatorow w to wremq, kogda oni wwodqtsq s klawiatury.        
     <warianty   uprawlq` uslownostqm qzyka obrabotko o{ibo o{ibo  
formirowanie specialxnog ma{innog koda otdelxny堠 wariant 
identificiru`ts  pomo}x koso ~ert "/" neskolxk warianto takv 
otdelq`tsq drug ot druga s pomo}x` kosoj ~erty.
     mogut bytx ispolxzowany sludu`}ie warianty:
/s   nomera strok ne ime`t zna~eniq, za iskl`~eniem operatora perehoda
/Š   bejsik-programm sodervats operator O ERRO GOT  RESUMŠ <nome 
     stroki>. kompilqtor formiruet dopolnitelxnye kody, ~toby prawilxno ob-
     rabotatx |ti operatory.
/X   w bejsik-programme sodervatsq odin ili neskolxko  operatorow  RESUME,
     RESUME NEXT ili RESUME O. |tot wariant wkl`~aet wariant /E.
/N   zablokirowan wywod sformirowannyh ma{innyh kodow w mnemoni~eskom pred-
     stawlenii w fajle spiska.
/D   formirowanie dopolnitelxnogo koda dlq obrabotki o{ibok. za s~et |togo 
     mogu ispolxzowatxs operator TRO  TROFF kotory  drugi slu~aq 
     ignoriru`tsq. pri |tom opozna`tsq sledu`}ie o{ibki:
                  - arifmeti~eskoe perepolnenie
                  - prewy{enie granic indeksow polej
                  - o{ibo~nye operatory RETURN
/Ӡ  strok konstant ime`}a dlin bole 4- znakow zapisywaets pr 
     kompilqcii w fajl REL, odnako ne zapominaetsq w  rabo~ej  pamqti (|to
     imeet smysl tolxko pri wypolnenii bolx{ih programm).
primery:
BASC TEST, B:LISTE=PROG   ishodnyj tekst programmy PROG nahoditsq w fajle s
                          nazwaniem PROG na aktualxnom nakopitele. kompilq-
                          to peredae wkl`~ennu  spiso ishodnu programm 
                          w fajl LISTE na nakopitele B. ob'ektnyj kod zapomi-
                          naetsq w fajle TEST na aktualxnom nakopitele.
BASC B:LISTE=PROG       |to  wersi wyzow ishodna programm tolxk 
                          wkl`~aetsq w spisok.
BASà TEST,LST:=TEST/C/E/ ishodny teks TEST.BA perewodits  ob'ektny 
                           ko zapisywaets  faj TEST.REL faj spisk 
                           wywoditsq na pe~ata`}ee ustrojstwo.


.CP30
4.2.  start redaktora swqzej qzyka bejsik


     posl堠 zawer{eni rabot kompilqtora dl dalxnej{eꠠ obrabotk 
skompilirowanno programm neobhodim zapustit wspomogatelxnu programm 
LINK kotora formirue programm  ma{inny kodah neposredstwenn 
prigodnu` dlq wypolneniq (zagruzo~nyj modulx).
format:  LIN [<dopustimoe nazwanie fajla> [,<dopustimoe nazwanie fajla>]...
         [/<warianty>]]
esl wspomogatelxna programm wyzywaets be parametrow on soob}ae o 
|tom s pomo}x` zwezdo~ki i vdet wwoda parametrow.
<dopustimy nazwani fajlow>- |t nazwani fajlow prinqty  operacionno 
sistem SCPX w nazywaet fajl  kotory zapisan podleva}i zagruzk 
pereme}enie ob'ektny programmy zdes awtomati~esk predusmatriwaets 
bukwenna metk ".REL" odnako esl im fajl pome~en  pomo}x 
postawlennog szad /N t re~ ide  nazwani ob'ektnog fajla  kotory 
zapisywaetsq absol`tnaq ob'ektnaq programma s bukwennoj metkoj ".COM".
<warianty>   ukazywa`tsq s pomo}x` kosoj ~erty, stoq}ej pered bukwoj.       
      dlq bejsik-programmy dejstwitelxny sledu`}ie warianty:
/N    |to wyravenie, stoq}ee posle nazwaniq fajla, goworit o tom, ~to |tot
      faj sledue ispolxzowat  ka~estw ob'ektnog fajl dl absol`tno 
      programmy w ma{innyh kodah.
/    ob'ektny faj  bukwenno metko ".COM zapisywaets n wne{ne zu 
      i zatem proishodit pereda~a uprawleniq operacionnoj sisteme.pered |tim   
      wse neobhodimye programmy bejsik-kompilqtora awtomati~eski s~itywa`tsq  
      iz fajla BASIC.REL i swqzywa`tsq s ob'ektnoj programmoj.
/C    kak /E, no programma srazu wypolnqetsq.
      posl uspe{no obrabotk operatoro wspomogatelxna programm wywodi 
sledu`}ie soob}eniq:
      DATA <na~alo programmy> <konec programmy> <bajty> <swobodnaq pamqtx>     
      [<adres starta> <konec programmy> <~islo stranic>]
<na~alo programmy>  ukazywaet {estnadcateri~nyj adres, na~inaq s kotorogo  w
rabo~ej pamqti razme}ena skompilirowannaq programma.
<kone programmy   ukazywae {estnadcatiri~ny adre posledne q~ejk 
pamqti, zanqtoj w rabo~ej pamqti skompilirowannoj programmoj.
<bajty  ukazywae  desqti~no form  ~isl bajtow zanqty programmo  
rabo~ej pamqti.          
<swobodna pamqtx   ukazywae  desqti~no form ~isl q~ee pamqti n 
ispolxzowannyh wo wremq wypolneniq wspomogatelxnoj programmy.
<adre starta   ukazywae {estnadcateri~ny adres  kotorog na~inaets 
wypolnenie programmy (ne obqzatelxno sowpadaet s adresom na~ala programmy).
<~isl stranic   ukazywae  desqti~no form ~isl 256-bajtny blokow 
zanimaemyh programmoj.
primery:  

LINK TEST,MROUT,PROG/N/E   swqzywa`tsq programmy TEST  i  MROUT.  absol`tnaq
                           programm  ma{inny koda zanosits  faj  
                           nazwaniem PROG.COM. programmy  bejsik-kompilqtora 
                           podwqzany.

.CP30
5. direktiwy qzyka bejsik

5.1. direktiwa NEW

      pomo}x direktiw NE stira`ts programmna pamqt  pamqt dl 
peremennyh.
format: NEW
prime~anie:  posle NEW interpretator perehodit w direktiwnyj revim. direkti-
             w NE move ispolxzowatxs  ka operator kompilqto qzyk 
             bejsik ignoriruet |tu direktiwu.
primer:      5 REM   za}ita programmy ot nesankcionerowannogo dostupa.
            10 PRINT "CODEWORT BITTE:" zapros na wwod kodowogo slowa
            15 CODE$=INIT$(10)  wwod kodowogo slowa iz 10 znakow, otsutstwie
               protokola na displee.
            2 IF CODE$=CODEWORT THE 50 srawneni wwedennog kodowogo
               slowa s parolem.
            25 PRINT "wy ne imeete prawa dostupa!"
            30 NEW stiranie pamqti
            50 PRINT "k wa{im uslugam"
               otkrytie programmy
            60 ...


5.2. direktiwa RESET

     s pomo}x` direktiwy RESET perezapisywa`tsq bufera wseh otkrytyh fajlow,
zate fajl zakrywa`ts  sodervimo bufero stiraetsq dopolnitelxn n 
wne{nee zu zapisywaetsq aktualizirowannoe oglawlenie fajla.
format: RESET
prime~anie direktiw move takv ispolxzowatxs ka operator naprimer  
             konc kavdo programmy  kotoro proishodi obra}eni  fajlu 
             pr nenormalxno prerywani programm direktiw RESEԠ dolvn 
             wwoditxsq w revime nastolxnoj |wm.


5.3. direktiwa AUTO

      pomo}x direktiw AUT awtomati~esk generiru`ts nomer strok posl 
kavdogo navatiq knopki "ET" formiruetsq nowyj nomer stroki.
format: AUTO
 pomo}x parametr <nome stroki ukazywaets nome perwo  stroki p 
umol~ani` ispolxzuetsq nomer 10.
 pomo}x parametr <{ag ukazywaets weli~in {ag d sledu`}e stroki p 
umol~ani` ispolxzuetsq {ag 10.
prime~anie mevd dwum strokam programm dolvn wsegdᠠ ostawatxs 
              dostato~n "mesta" ~tob pr korrekci  izmeneniq movn 
              byl wstawit nowy strok programmy po|tom {a menx{  n 
              dolve ispolxzowatxsq |t direktiw ignoriruets bejsik-
              kompilqtorom.


5.4. direktiwa CLEAR

      pomo}x direktiw CLEA ws ~islowy peremenny mogubytx zanqty
nulqmi ws strok peremenny stat pustym  ws otkryty fajl zakrytxsq 
dopolnitelxno, na wybor ukazywa`tsq dwa parametra.
format: CLEAR [,[<star{ij adres, kotoryj movet ispolxzowatxsq programmoj>] 
        [,<weli~ina strokowoj oblasti interpretatora>]]
      pomo}x perwog parametr ispolxzuema pamqt delits taki obrazom 
~t obrazuets za}i}enna oblast pamqti  kotoru mogu byt zagruven 
wyzywaemye programmoj programmnye moduli.
     wtoro paramet imee standartnu dlin 12 bajto (p umol~ani` ili 
esl swobodna pamqt sostawlqe menx{ ~e 102 bajtow rawe 1/ swobodno 
pamqti ob parametr mogu byt ~islowy wyraveniem ~islowo peremenno 
ili ~islowoj konstantoj.

primery:  CLEAR
          CLEAR , 24576
          CLEAR ,, 1000
          CLEAR ,24576, 512
prime~anie  direktiwᠠ takv move ispolxzowatxs ka렠 operator  
               kompilqtor堠 qzykᠠ bejsi argument dolvn byt tip 
               "INTEGER" esl  ka~estw argument zadaets nulx t 
               kompilqto ispolxzue standartno堠 zna~enie izmeneni 
               stekowo oblast neobhodim tolxk  iskl`~itelxny slu~aq 
               (naprimer pr o~en bolx{o ~isl podprogram il ciklo 
               FOR-NEXT).


5.5. direktiwa CONT

     direktiw CONԠ pozwolqe prodolvit programmu prerwannu knopkam 
CTRL+C, operatorami STOP ili END.
fopmat: CONT
prime~anie sodervimo peremenny sohranqets neizmennym odnako  on move 
             byt predwaritelxn izmenen  pomo}x operatoro  revim 
             nastolxno |wm prodolveni wozmovn takv posl prerywani 
             programm iz-z o{ibki odnak sledue u~estx ~t o{ibk move 
             priwest  poqwleni neprawilxny zna~eni peremennyh |t 
             movn zametitx esl pere direktiwo CONԠ wywest zna~eni 
             peremenny n disple  revim nastolxno |w (obespe~eni 
             prowerki programmy).
             wmest CONԠ programm move byt prodolven  opredelennog 
             nomer strok pute wwod operator GOT  revim nastolxno 
             |wm. zdesx tove peremennye osta`tsq neizmennymi.
kompilqtor qzyka bejsik ignoriruet direktiwu CONT.

primer:    10 FOR A%=1 TO 30
           20 PRINT A%
           30 NEXT A%
           RUN
           1  2  3  4 ... 24  25
           navmite knopku CTRL+C
           BREAK w 20
           ok
           CONT
           26  27  28  29  30
           OK


5.6. direktiwa SYSTEM

      pomo}x direktiw SYSTE wozmovn pereda~ uprawleni operacionno 
sisteme. wse otkrytye fajly pered |tim zakrywa`tsq.
format: SYSTEM
prime~anie: direktiwa takve movet ispolxzowatxsq kak operator.

.CP20
5.7. direktiwa EDIT

      pomo}x direktiw EDI redaktiruets strok programm n qzyk 
bejsik.
format: EDIT nomer stroki
        ili EDIT
|t direktiw wyzywae zagruzk sootwetstwu`}e strok  bufe EDIT esl n 
mest nomer strok stoi to~ka t  bufe EDIԠ zagruvaets aktualxny 
nomer stroki. dlq redaktirowaniq ime`tsq sledu`}ie 6 grupp operatorow:
1 gruppa:  peredwivenie kursora
     posl zagruzk strok EDIT kurso stoi n perwo znak stroki  
pomo}x knopk "SPACE kurso dwigaets n odn pozici naprawo   pomo}x 
"DEL"- n odn pozici nalewo esl kurso dolve byt podwinu n  
pozicij t move byt il ispolxzowan funkci powtor (sootwetstwu`}a 
knopk ostaets navato d te por pok n bude dostignut nuvna 
poziciq) il koli~estw pozici  wwodits  wid ~isl  wwo zawer{aets 
s pomo}x` sootwetstwu`}ej knopki.
2 gruppa:  wstawka teksta
     s pomo}x` operatora
I<tekst><knopka"ESC">
zadanny teks wstawlqets  stroku na~ina  aktualxno pozici kursora. 
s pomo}x` operatora
h<tekst><knopka"ESC">
zadanny teks wstawlqets  konc stroki esl iz-z wstawlennog tekst 
prewy{en dopstima dlin stroki wwo blokiruetsq wozmovn li{ stirani 
ili wyhod iz dirktiwy EDIT.     
3 gruppa:  stiranie teksta
     s pomo}x` operatora     [I] D
spraw o aktualxno pozici kursor stira`ts  znakow esl  otsutstwuet 
stiraetsq odin znak. s pomo}x` 
H<tekst><knopka "ESC">
stira`ts ws znaki stoq}i spraw o aktualxno pozici kursora n mest 
stertyh znakow wstawlqetsq zadannyj tekst.
4 gruppa:  poisk otdelxnyh znakow
     s pomo}x` operatora           
[I] S<znak>
kurso ostanawliwaets pere znakom kotory by najde I-raz esl ɠ n 
zadan kurso ostanawliwaets pere znakom najdenny odi raz esl zna n 
najden, kursor stoit w konce stroki. operator
[I] K<znak>
i}e I-o poqwleni zadannog znak  stirae ws ime`}ies d |tog znaki 
kursor ostanawliwaetsq pered znakom, kotoryj byl najden I-raz.
5 gruppa:    zamena znakow
     s pomo}x` operatora
[I] C<I znakow>
spraw o aktualxno pozici kursor zamenq`ts  znako n zadanny znaki 
esli I otsutstwuet, zamenqetsq tolxko odin znak.
6 gruppa:   okon~anie redaktirowaniq stroki.
     navati堠 knopk頠 "ET zakan~iwae direktiw EDIԠ 頠 peredae 
otredaktirowwannu strok  programmu pr |to otredaktirowanna strok 
programmy  e}e raz poqwllqetsq na |krane displeq.
operato  delae delae t v samoe n otredaktirowanna strok programm 
ne poqwlqetsq na |krane displeq.
operato  zakan~iwae redaktirowani strok programmy pr |to sodervimo 
bufera EDIT ne peredaetsq w programmnu` pamqtx.
operato ̠ wywodi n |kra aktualxno sodervimo bufer EDIԠ  stawi 
kursor na na~alo stroki.
 pomo}x operator  bufe EDIԠ move byt wnow zagruve prevni 
sodervimym stroki programmy.
prime~anie:
     pr EDIT-direktiwa I,X,   wmest knopk "ESC move ispolxzowatxs knopk "ET" odnak  |to slu~a proishodi wyho i direktiw EDIԠ  
aktiwiruets direktiwny revi interpretator qzyk bejsik direktiw EDI 
ignoriruetsq kompilqtorom.

primer:  
     w proekte programmy imeet mesto sledu`}aq stroka kommentariew:

                   250 REM DRUCKE KENNZIFFER1; KENZIFFER2; PREIS

|t strok kommentarie dolvn byt  pomo}x prostog redaktirowani 
preobrazowana w korrektnu` stroku programmy. ona imeet formu:

                   250 PRINT USING "####.## MARK/TONNE ####.###
                       TONNEN PREIS #######,.## MARK";KENZIFFER1;
                       KENZIFFER2; PREIS

sna~ala wyzywaetsq direktiwa EDIT:
EDIT 250 <knopka "ET">
s pomo}x` EDIT-operatora L stroka idinciruetsq na displee:
                   
                   250 REM DRUCKE KENNZIFFER1; KENZIFFER2; PREIS

 pomo}x EDIT-operator II stiraets teks "RE DRUCKE" pere teksto 
"KENNZIFFER1 dolve byt wstawle teks "PRINԠ USING" wkl`~a strok 
formatny znakow dl |togo sna~al  pomo}x EDIT-operator Sˠ kurso  
pozicioniruets  pozici pere teksto "KENNZIFFER1" poto  pomo}x EDIT- 
operatora I movet bytx wstawlen velaemyj tekst:

                   IPRINT  USING  "####,.## MARK/TONNE #####,.###
                   TONNEN           PREIS #######,.## MARK";<TASTO
                   "ESC">   

dl prowerk nowo strok e} ra ispolxzuets EDIT-operato L kotory 
teperx wywodit na displej:

                   250 PRINT USING "####,.## MARK/TONNE #####,.###
                       TONNEN PREIS #######,.### MARK";KENNZIFFER1;
                       KENNZIFFER2; PREIS

t.k strok n sodervi o{ibok direktiw EDI zawer{aets  pomo}x knopk 
"ET".
proces redaktirowani move byt su}estwenn sokra}en esl ispolxzuets 
EDIT-operato 2k (pois wtorog poqwleni znak   stirani wse znako d 
nego) zate kurso stoi pere teksto "KENNZIFFER1  teks move byt 
wstawlen s pomo}x` EDIT-operatora I.

ukazanie:
     esl頠 bejsik-interpretato obnaruviwae sintaksi~eskuࠠ o{ibk  
programme t obrabotk programm prerywaets  wywodits soob}eni o 
o{ibke wsle z |ti aktiwiruets  direktiw EDI dl strok programmy 
soderva}e o{ibku z s~e |tog wozmovn neposredstwenna korrekci stroki 
pr |to sledue u~itywatx ~t posl okon~ani redaktirowani (navati 
knopk "ET il ispolxzowani EDIT- operator e) sodervimo wse peremenny 
stanowits rawny 0 odnako esl peremenny dolvn ispolxzowatxs  ramka 
poisk o{ibki t neobhodim sna~al awtomati~esk zadannu direktiw EDI 
prerwat  pomo}x EDIT-operator   posl prowerk sodervimog peremenny 
wnowx zadatx ee. (sm. takve poslednij abzac |togo ukazaniq.)
     esl pr wwod tekst programm  klawiatury prevd ~e bude nevat 
knopk "ET" obnaruviwaets o{ibka pute navati knopo CRTL+ move byt 
aktiwirowan direktiw EDIT interpretato wywodi  |to slu~a wkl`~eni 
stroki, wosklicatelxnyj znak i znak probela, i aktiwiruet direktiwu EDIT.
     odnako esl o{ibk obnaruviwaets tolxk posl navati knopk "ET" 
direktiw EDIԠ move byt wyzwan  pomo}x to~ki wmest nomer stroki 
to~ka obozna~aet aktualxnu`, t.e. wwedennu` poslednej stroku.
     

5.8.  direktiwy  LIST i LLIST

      pomo}x direkti LISԠ  LLIS movn wywest n disple il n 
pe~ata`}ee ustrojstwo bejsik-programmu ili otdelxnye razdely programmy.
format: [ L ] LIST [[<nomer perwoj podleva}ej wywodu stroki>]
                   [-[<nomer poslednej podleva}ej wywodu stroki]]]
wywo stro programm move byt prerwa  pomo}x knopo "CTRL+C" pute 
navatiq "CTRL+S" wywod prerywaetsq, s pomo}x` "CTRL+Q" wnowx prodolvaetsq.

primery:  LIST            raspe~atywa`tsq wse stroki programmy
          LIST 100        raspe~atywaetsq stroka 100
          LIST 100-       raspe~atywa`tsq wse stroki, na~inaq s 100
          LIST -200       raspe~atywa`tsq wse stroki do 200 wkl`~itelxno
          LLIST 10-100    wse stroki mevdu 10  i 100

prime~anie:  direktiwy LIST i LLIST ignoriru`tsq bejsik-kompilqtorom.

.CP20


5.9.  direktiwa DELETE

     direktiw DELET pozwolqe proizwodit stirani stro wnutr bejsik-
programmy.
format:  DELETE [<nomer perwoj podleva}ej stirani` stroki>]
                [-<nomer poslednej podleva}ej stirani` stroki>]
stira`ts ws stroki nomer kotory nahodqts wnutr interwal nomero 
strok zadannog  direktiw DELETE esl zadaets tolxk perwy parametr 
stiraets tolxk strok  ukazanny nomerom esl zadaets tolxk wtoro 
parametr stira`ts ws strok na~ina  perwog nomera ispolxzowannog  
programme d zadannogo esl parametr n zada`tsq stira`ts ws stroki 
esl zadaets nome stroki kotoro ne  programme poqwlqets soob}eni o 
o{ibke:    
ILLEGA FUNCTION CALL.

primer:     DELETE 50
            DELETE 70-150
            DELETE -100
prime~anie:
     direktiw DELET move byt primenen  programm ka operator ~toby 
naprimer steret strok programmy kotory n ispolxzu`ts  dalxnej{e 
processe ee wypolneniq. direktiwa ignoriruetsq bejsik-kompilqtorom.

.CP15

5.10. direktiwa RENUM

      pomo}x direktiw RENU movn osu}estwit awtomati~esko izmeneni 
nomerow strok.
format   RENU͠ [<nowy nome stroki> [,[<stary nome stroki>]
                  [,<nowyj {ag>]
strok programm na~ina s <starog nomer stroki perenumerowywa`ts 
nomerami kotory na~ina`ts  <nowog nomer stroki> {a numeraci rawe 
<nowom {agu> pr |to awtomati~esk aktualiziru`ts ws ssylk n 
izmeniw{ies nomer stro (naprimer  operatora GOTO GOSU  t.d.) esl 
paramet <nowy nome stroki il <nowy {ag n zadaetsq p umol~ani 
ispolxzuets zna~eni 10 esl otsutstwue paramet <stary nome stroki> 
awtomati~esk頠 berets  perwa strok programmy esl頠 obnaruviwaets 
neizwestna  ssylka proishodi prerywani wypolneni direktiw RENU͠ dl 
|toj stroki i poqwlqetsq soob}enie ob o{ibke "UNDEFINED LINE XXXXX w YYYYY".
numeraciq prodolvaetsq w sledu`}ej stroke programmy.
     pereuporqdo~iwani nomero stro prerywaets  poqwlqets soob}eni o 
o{ibk "ILLEGA FUNCTIO CALL" esl wstre~aets nome stroki bolx{ 65529 
il頠 esl nowy nomer stro pereseka`ts s strokam programm wn 
programmnogo bloka.

primery:

RENU͠               ws bejsik-programmᠠ perenumerowywaets nomerami 
                      na~ina`}imisq s 10, s {agom 10.
RENU͠ 500,10        strok programmy na~ina  nomer 100 numeru`ts 
                      nomerami, na~ina`}imisq s 500, s {agom 10.
RENU͠ 100,5      ws bejsik-programmᠠ numeruets nomerami 
                      na~ina`}imisq s 100, s {agom 5.

prime~anie:
     direktiw RENU udobn ispolxzowat dl poisk neopredelenny nomero 
strok neobhodim prinqt z prawilo wsegd wkl`~at direktiw RENU posl 
otladk il izmeneni programmy te samy programm sohranqe naglqdnost  
prigodnost 렠 izmeneniqm direktiwᠠ RENU͠ ignoriruets bejsik-
interpretatorom.

.CP15
5.11. direktiwa SAVE

      pomo}x direktiw SAV napisanny ( prowerennye bejsik-programm 
mogut bytx zapisany w fajl.
format: SAVE <dopustimoe obozna~enie fajla> [,A]
ili
        SAVE<dopustimoe obozna~enie fajla>  [,P]
<dopustimo obozna~eni fajla |t dopustimo  operacionno sistem SCP 
obozna~eni fajla eg sledue il wzqt  kawy~k   ka strokowu 
konstantu il on move byt zadan  wid strokowo peremennoj il ka 
rezulxta strokowog wyraveniq bukwenna metk  ".BAS dobawlqets 
awtomati~eski esl n zada`ts drugi metki esl direktiwᠠ SAV 
ispolxzuets be parametr  il r t bejsik-programm zapominaets  
promevuto~no kode kotory wnow move byt zagruve  pomo}x direktiw 
LOAD.     
     esl bejsik-programm dolvn byt wstawlen  pomo}x direktiw MERG  
drugu bejsik-programmu t neobhodim dopolnitelxn zadat paramet a o 
wyzywae zapominani bejsik-programm  kod ASCII esl zate bejsik-
programm dolvn byt stranslirowan   pomo}x bejsik-kompilqtora takv 
sledue ispolxzowat paramet a esl bejsik-programma podleva}a hraneni 
 pamqti n dolvn bolx{ izmenqtxs il raspe~atywatxs (t.e dolvn byt 
nedostupno dl drugi polxzowatele  smysl prosmotr  obrabotki) t on 
move byt zapisan  pamqt  za}i}enno format  pomo}x dopolnitelxnog parametr r programm move byt powtorn zagruven tolxk  pomo}x 
direktiwy LOAD.
primer:        SAVE "B:DATEII"
               SAVE "DATE12",A
               SAVE "DATE13",P
prime~anie:
     ta ka kavdo strokowo wyraveni perepisywaets be izmeneni  
sodervani (malenxki bukw n preobrazu`ts awtomati~esk  bolx{i bukwy) 
dopustimy obozna~eni  fajlo  direktiw LOAĠ dolvn wsegd sostoqt 
tolxk i bolx{i bukw |ti obespe~iwaets to ~t faj pozv otkliknets  
spisk fajlow t.k operacionna sistem SCP awtomati~esk preobrazue ws 
wwedenny malenxki bukw  bolx{ie esl ispolxzuets obozna~eni fajla 
kotoro uv zadejstwowan dl fajl w wne{ne pamqti t sootwetstwu`}i 
faj perepisywaets be preduprevdeniq direktiw SAV ignoriruets bejsik-
kompilqtorom.
.CP15

5.12. direktiwa LOAD

      pomo}x direktiw LOA movn zagruzit  ( esl nuvn zapustitx 
bejsik-programmu.
format: LOAD"<dopustimoe obozna~enie fajla>" [,R]
<dopustimo obozna~eni fajla |t dopustimo  operacionno sistem SCP 
obozna~eni fajl  bukwenno metko ".BAS" eg sledue il wzqt  kawy~k 
  ka strokowu konstantu il on move byt zadan  wid strokowo 
peremenoj il ka rezulxta strokowog wyraveniq direktiw LOA prowerqe 
bukwennu metk  zagruvae tolxk fajl  bukwenno metko ".BAS" 
direktiw LOA zakrywae ws d dannog moment otkryty fajly stirae ws 
peremennye i perepisywaet programmu, nahodq}u`sq w operatiwnoj pamqti.
     esl ispolxzuets paramet R t zagruvenna programm zapuskaetsq ws 
n danny momen otkryty fajl osta`ts otkrytymi neizmennym  swoe 
sostoqnii bejsik-programmy podleva}i zagruzk direktiwo LOAD dolvn 
bytx pered |tim zapisany w fajl s pomo}x` direktiwy SAVE (sm.razdel 5.11.)

primery:

LOAD "DATEI1",R   programma zagruvaetsq iz fajla "DATEI1" i srazu zapuskaetsq         
LOAD "DATEI1.BAS" programma zagruvaetsq iz fajla "DATEI1.BAS".

prime~anie:
     direktiwᠠ LOAĠ move byt ispolxzowan takv ka렠 operator  
sowokupnost  warianto R imeets wozmovnost sformirowat cepo~k i 
neskolxki program il programmny {agow t.e odn programm wyzywae 
sledu`}u` i t.d.


.CP15
5.13. direktiwa RUN

      pomo}x direktiw RUΠ move byt zagruven  zapu}en bejsik-
programma.
format:   RUN[<nomer stroki>]
          ili
          RUN<dopustimoe obozna~enie fajla> [,R]
 perwo format uv zagruvenna programm obrabatywaets  zadannog nomer 
stroki esl ukazani nomer strok otsutstwuet programm zapuskaets  
perwo ime`}ejs stroki ws fajl predwaritelxn perewodqts   ishodno 
sostoqnie t.e otkryty fajl zakrywa`ts  stira`ts buferny oblasti w 
wtorom formate programma zagruvaetsq i obrabatywaetsq s perwoj  stroki.
<dopustimo obozna~eni fajla  |t dopustimo  operacionno sistemeSCP 
obozna~eni fajl  bukwenno metko ".BAS" eg sledue il wzqt  kawy~k 
  ka strokowu konstantu il on move bytxzadan  wid strokowo 
peremennoj, ili kak rezulxtat strokowogo wyraveniq.
     esl dopolnitelxny paraamet  n zadaetsq t ka  perwo format 
ws fajl predwaritelxn perewodqts  ishodno sostoqnie t.e otkryty 
fajl zakrywa`ts  stira`ts buferny oblasti pr ispolxzowani parametr 
Ҡ imeets wozmovnost obrabatywat posledu`}e programmo fajly otkryty 
pred{estwu`}ej bejsik-programmoj.
.CP15
primer:
               10 A%=10  * 10
               20 PRINT A%
               RUN 20
               0
               OK
               RUN
               100
               OK
               RUN "DATEI1"
               .
               .
               .
               RUN "B:DATEI2",R
               PN$="C:DATEI1.BAS"
               RUN PN$

prime~aniq:
     wtoro forma move byt ispolxzowa ka operator  eg pomo}x movn 
zagruzit   operatiwnu pamqt programm i drugo programmy  wypolnit 
ee direktiw wosprinimaets bejsik-kompilqtoro tolxk be wariant   
"R" zdes lu~{ ispolxzowat operato CHAI (sm razde 12.5.)  revim 
kompilqci RU rabotae  ma{innym programmami kotory zapisan  fajla  
bukwenno metko ".COM" po|tom programma podleva}a aktiwacii move byt 
l`boj programmoj w ma{innyh kodah.


.CP15
5.14. direktiwa MERGE

      pomo}x direktiw MERG  zagruvennom tekst programm move byt 
dobawle drugo programmny tekst programma kotoru nuvn dobawitx dolvn 
byt zapisan  pamqt  format ASCI ( pomo}x wariant  operator SAVE 
(sm. razdel 5.11.).
format:  MERGE <dopustimoe Obozna~enie fajla>
<dopustimo obozna~eni fajla |t dopustimo  operacionno sistem SCP 
obozna~eni  bukwenno metko ".BAS" eg sledue il wzqt  kawy~k   
ka strokowu konstantu il on move byt zadan  wid strokowo 
peremennoj, ili kak rezulxtat strokowogo wyraveniq.
      direktiw MERG predpolagaet ~t teks programm predstawle  kod 
ASCII direktiw prowerqe bukwennu metk  u~itywae tolxk fajl  
bukwenno metko ".BAS" esl  tekst programmy podleva}e dobawleni` 
wstre~a`ts nomer stro programmy  kotory uv sodervatxs  ime`}ejs 
programme t perwona~alxny strok zamenq`ts nowym strokami posl 
obrabotk direktiw wnow ustanawliwaets direktiwny revim aktiwaci 
modeficirowannoꠠ programm move byt osu}estwlen tolxk  pomo}x 
direktiwy RUN (sm. razdel 5.13.)
primer:
          LOAD "DATEI1"
          OK
          MERGE "DATEI2"
          OK
          RUN
        
prime~anie:
     direktiw MERG move takv stoqt  strok programmy |t direktiw 
osobenn polezn togda kogd ~ast ispolxzuemy teks programm dolve wstawlqtxs  nowu programmu  rosto opyta programmis dolve 
formirowat "bibliotek podprogram 頠 tekstow"  ispolxzowanie 
sootwetstwu`}e dokumentacii z s~e |tog move byt dostignut wysoka 
proizwoditelxnost pr razrabotk programm direktiw MERGŠ ignoriruets 
bejsik-kompilqtorom.

     
.CP15
5.15. direktiwa FILES

      pomo}x direktiw FILE spiso fajlo move byt wywede n |kra 
displeq.
format:  FILES [<dopustimoe obozna~enie fajla>]
<dopustimo obozna~eni fajla  |t dopustimo  operacionno sistem SCP 
obozna~eni fajla eg sledue il wzqt  kawy~k   ka strokowu 
konstantu il on move byt zadan  wid strokowo peremennoj il ka 
rezulxtat strokowogo wyraveniq.

primery:

FILE               n |kra wywodqts ws ime`}ies  aktualxno logi~esko 
                    bloke fajly.
FILS "*.BAS       n |kra wywodqts ws ime`}ies  aktualxno logi~esko 
                    bloke fajly s bukwennoj metkoj ".BAS".
FILS "B:*.BAS    n |kra wywodqts ws ime`}ies  logi~esko blok w 
                    fajly s bukwennoj metkoj ".BAS".
FILEӠ BEZ        soob}aetsq ime`ts l  aktualxno logi~esko blok 
                    fajly, otobrannye po sodervimomu strokowyh peremennyh.



.CP15
5.16. direktiwa KILL

     spomo}x` direktiwy KILL fajly mogut bytx sterty.
format:  KILL <dopustimoe obozna~enie fajla>
<dopustimo obozna~eni fajla  |t dopustimo  operacionno sistem SCP 
Obozna~eni fajla eg sledue il wzqt  kawy~k   ka strokowu 
konstantu il on move byt zadan  wid strokowo peremennoj il ka 
rezulxtat strokowogo wyraveniq.

primer:   KILL "DATEI.BAS"


.CP15
5.17. direktiwa NAME

     s pomo}x` direktiwy NAME pereimenowywa`tsq fajly.
format:  NAME <dopustimoe obozna~enie fajla> AS 
              <dopustimoe obozna~enie fajla>
<dopustimo obozna~eni fajla |t dopustimo  operacionno sistem SCP 
obozna~eni fajla eg sledue il wzqt  kawy~k   ka strokowu 
konstantu il on move byt zadan  wid strokowo peremennoj il ka 
rezulxtat strokowogo wyraveniq.
     perwo obozna~enie |t im fajla podleva}eg pereimenowani`  wtoro 
obozna~enie qwlqetsq nowym wybrannym imenem |togo fajla.

primer:       NAME "B:DATEI1" AS "DATEI2.BAS"
              NAME "DATEI3.BAS" AS "DATEI03".
prime~anie:
     direktiwa NAME movet bytx uspe{no ispolxzowana kak operator.


.CP15
5.18. direktiwy TRON i TROFF

     direktiw TROΠ  TROFƠ wyzywa` wkl`~eni  wykl`~eni programm 
TRACING t.e programm trassirowki direktiw sluva dl obespe~eni 
testirowaniq programm.
format:  TRON
         TROFF
 pomo}x TRO wkl`~aets TRACING trassirow}i wywodi n |kra disple 
nomer stro programm  fakti~esko posledowatelxnost i interpretacii 
nomer obrabotanny stro programm zakl`~a`ts  skobk  ݠ   pomo}x 
TROFF programma TRACING movet bytx wnowx wykl`~ena.
.CP23
primer:        10 K%=10
               20 FOR J%=1 TO 3
               30 L%=K%+10
               40 PRINT J%;K%;L%
               50 K%=K%+10
               60 NEXT J%
               70 END
               TRON
               OK
               RUN
               [10] [20] [30] [40] 1  10  20
               [50] [60] [30] [40] 2  20  30
               [50] [60] [30] [40] 3  30  40
               [50] [60] [70]
               OK
               TROFF
               OK
               RUN
               1  10  20
               2  20  30
               3  30  40
               ok

  prime~anie:

     direktiw TROΠ  TROF mogu takv ispolxzowatxs  programm ka 
operatory esl nuvn polu~it raspe~atk nomero interpretirowanny stro 
dl opredelennog razdel programmy sledue u~estx ~t wywedenny nomer 
stro me{a` formirowani izobraveni n |krane revi TRACŠ posl 
ispolxzowani operator TRO ostaets wkl`~enny d te por pok n bude 
wypolnen operator TROFF ili NEW (sm. razdel 5.1.).
     ~tob |t direktiw movn byl ispolxzowat  bejsik-kompilqtore 
sledue prowodit kompilirowani  warianto /D  drugi slu~aq operator 
ignoriru`tsq i kompilqtor wywodit preduprevdenie.
.PA
6. konstanty w qzyke bejsik     


     konstanty |t postoqnny weli~iny ispolxzuemy  bejsik-programme 
kotorye pri wypolnenii programmy ne izmenq`tsq. w qzyke bejsik razli~a`t:

     - ~islowye konstanty
     - strokowye konstanty

     ~islowy konstanty soderva}i mene  cifr il ime`}i desqti~nu 
|ksponent  bukwo e il zakan~iwa`}ies wosklicatelxny znako  - 
qwlq`ts ~islowym konstantam prosto odinarno to~nosti i wnutrenne 
izobraveni wyglqdi sledu`}i obrazom cely ~isl N leva}i  diapozon
-32768 <= N <= 32767, izobrava`tsq w wide dwuhbajtnyh dwoi~nyh ~isel.
    wse ostalxnye ~islowye konstanty odinarnoj to~nosti, leva}ie w diapozone
o ABS(10E-38 d ABS(10E+38) izobrava`ts  wid ~etyrehbajtnog dwoi~nog 
~isla esl dopuskaets ~isl be poter to~nosti  protiwno slu~a 
proishodit predstawlenie ~isla w forme s plawa`}ej zapqtoj.
     ~islowy konstanty soderva}i bole  cifr il ime`}i  desqti~nu 
|ksponent  bukwo D il zakan~iwa`}ies znako # qwlq`ts ~islowym 
konstantam dwojno to~nosti on predstawlq`ts  wid 8-bajtnog ~isl  
plawa`}ej zapqtoj.
     ws ~islowy konstant mogu ispolxzowatxs ka {estnadcateri~ny ~isl 
 form &HN...Π il ka wosxmeri~ny ~isl  form &0N...Π il &N...N 
{estnadcateri~ny konstant mogu levat  diapazon o H0000 d HFFFF w 
wnutrenne izobraveni on predstawlq` sobo INTeGER-konstant  ime` pr 
izobravenii sledu`}ie desqti~nye |kwiwalenty:
                      
               &H0000...&H7FFF               0...+32767
               &H8000...&HFFFF              -32768...-1
     
wosxmeri~ny ~isl mogu levat  diapazon o  d 177777 w wnutrenne 
izobraveni on predstawlq` sobo INTEGER-~isl  takv obrabatywa`tsq pr 
izobravenii oni ime`t sledu`}ie desqti~nye |kwiwalenty:
               &0000000...&0077777           0...+32767
               &0100000...&0177777          -32768...-1
strokowy konstant mogu byt dlino maksimu 25 znakow on zakl`~a`ts  
kawy~ki " ".

.CP20
primery:
     ~islowye konstanty prostoj to~nosti
               44.3
               20.51
               -1.078e-07
     ~islowye konstanty dwojnoj to~nosti
               1234567890
               12345.678901
               20.5#
               -1.078DD-07
     {estnadcateri~nye konstanty
               &H2A70
               &HCABI
     wosxmeri~nye konstanty
               &012345
               &12345
     strokowye konstnanty
               "strokowye  konstanty"
               "123.45 MARK"
.PA
7. peremennye w qzyke bejsik

7.1. obozna~eniq peremennyh i opredelennye deklaracii tipow                    

     peremenny |t programmny weli~iny zna~eni kotory  programm mogu 
izmenqtxsq. oni identificiru`tsq imenami. w qzyke bejsik razli~a`t:
               - ~islowye peremennye
               - strokowye peremennye
               - ukazateli funkcij
obozna~eni peremenny obrazu`ts  pomo}x maksimu 4 obozna~a`}i znakow 
on wsegd na~ina`ts  bukwy z kotoro mogu sledowat bukwy cifr il 
to~ka obozna~eni peremenny mogu zakan~iwatxs odni i znakow $ % ! 
ili #. |to ozna~aet:
     $         obozna~enie strokowoj peremennoj, naprimer a10$
     %         obozna~enie INTEGER-peremennoj (2-bajtnoj), naprimer I%
     !         obozna~enie REAL-peremennoj prostoj to~nosti (4-bajtnoj)
               naprimer R17! ("!" movet bytx opu}en)
     #         obozna~enie REAL-peremennoj dwojnoj to~nosti (8-bajtnoj)
               naprimer ALPHA#.
     obozna~eni peremennyh kotory堠 na~ina`ts  "FN" qwlq`ts 
obozna~eniqm funkcij prosty ~islowy  strokowy peremenny opredelq`ts 
kotekstno, t.e. oni ob'qwlq`tsq implicitno s ih perwym ispolxzowaniem.

primery:
     prawilxnye  obozna~eniq
          AI$
          15%
          DIAB#
          BEZ
          BEZ!
          ENDWERT
     neprawilxnye obozna~eniq
          1A$   (obozna~enie peremennoj wsegda na~inaetsq s bukwy)
          A$1   (bukwennaq metka peremennoj wsegda stoit w konce)
          FN    posledowatelxnost znako F qwlqets zarezerwirowannoj  
                 ka~estwe obozna~eniq peremennoj ispolxzowatxsq ne movet
          EN    nedopustimo obozna~enie t.k EN  qzyk bejsi qwlqets 
                 zarezerwirowannym slowom. 

.CP15
7.2 operator opisani DEFIND DEFSNG DEFDB  DEFST dl implicitno 
      deklaracii tipa

      pomo}x operatoro DEFINT DEFSNG DEFDBL DEFSTҠ wozmovn 
implicitna deklaraci tip obozna~eni peremennyh z s~e |tog wypada` 
specialxny znak okon~ani obozna~eni peremenny (%,!,  $) kotory 
oby~no standartnym obrazom opredelq`t tip peremennoj w bejsik-programmah.
format:
DEFINT <znak> [-<znak>] [,<znak>[-<znak>]]...
DEFSNG <znak> [-<znak>] [,<znak>[-<znak>]]...
DEFDBL <znak> [-<znak>] [,<znak>[-<znak>]]...
DEFSTR <znak> [-<znak>] [,<znak>[-<znak>]]...
.CP18
primery:
               10 DEFINT I-N, W-Z
               20 DEFDBL A-C
               30 DEFSTR R,T
               40 R="DAS IST EIN STRING".
               50 A=10/3
               60 I=10/3
               70 PRINT I
               80 PRINT A
               90 PRINT R
               RUN
               -3
               3.333333333333333
                 DAS IST EIN STRING.
               OK


prime~aniq:
     implicitny deklaraci tipo dolvn nahdits  na~al programmy on 
dejstwitelxn  te~eni wseg wremen wypolneni programmy ispolxzowani 
qwny  neqwny deklaraci tipo move proishodit sme{anno pr |to 
|ksplicitny (qwnye deklaraci tipo ime` preimu}estwo t.e esl  im 
peremenno pr neqwno deklaraci tip sodervi dopolnitelxnu bukwennu 
metku, kotoraq otli~aetsq ot deklaracii, to |ta metka imeet prioritet.

naprimer: DEFINT X-Z.
      |to slu~a taki obozna~eniq ka X YPSYLOG ZEIT ispolxzu`ts ka 
INTEGER- peremennye n obozna~eni peremenno ZEIT interpretiruets ka 
strokowa peremennaq hot zdes est kavu}ees sowpadeni ime  INTEGER-
peremennymi.
     rekomenduets n ispolxzowat implicitnu deklaraci tip  praktik 
programmirowaniq  to~k zreni sowremenno metodik programmirowaniq on 
priwodi  bole wysoko ~astot poqwleni o{ibo   plohi tekstowy 
uslowiqm e rekomenduets ispolxzowat  te slu~aqh esl il wydwiga`ts 
|kstremalxny trebowani kasa`}ies ob'em pamqti t.k iz-z otsutstwi 
bukwenny meto sokra}aets teks programmy il esl  programm  be 
|togo dolven ispolxzowatxsq tolxko odin opredelennyj tip peremennoj.
     pr rabot bejsik-kompilqtor |t operator obrabatywa`ts stati~eski 
|t ozna~aet ~t on |ffektiwn  tog momenta ka kompilqto opozna  
tekst programm operato DEF??? obho |ti operatorow naprime  pomo}x 
operatora GOTO , kak w bejsik-interpretatore, w kompilqtore newozmoven.
     





.CP15
7.3.operator opisaniq dlq funkcii DEF FN

 
     s pomo}x` operatora opisaniq DEF FN opredelq`tsq otdelxnye funkcii.
format:   opisanie: DEF FN <nazwanie funkcii>
          [(<formalxnyj parametr> [,<formalxnyj parametr>]...)]
          =<wyravenie funkcii>
          wyzow:  <nazwanie peremennoj>=
          FΠ <nazwani funkcii [(<aktualxny parametr
          [,<aktualxny parametr>]...)]
opisani funkci dolvn wsegd proishodit pere e perwy wyzowom |t 
ozna~aet ~t nome strok operator opisani funkci wsegd dolve byt 
menx{e ~e nome strok operatora  kotoro wyzywaets opisywaema 
funkciq pere䠠 nazwanie funkci stawqts bukw FN on頠 obrazu` 
integrirowannu postoqnnu  ~ast opisani funkcii ti funkci zadaets  
pomo}xࠠ posledneg znak nazwani funkci il  pomo}x implicitno 
deklaracii tipa.
     spiso parametro sodervi nazwani formalxny peremennyh kotory 
ispolxzu`ts dl formulirowani wyraveni funkcii pr wyzow funkci 
formalxny parametr zamenq`ts aktualxnym peremennymi |t n priwodi  
o{ibke esl  ostalxno ~ast programm ispolxzu`ts nazwani peremennyh 
kotorye takve ispolxzu`tsq kak formalxnyj parametr w opredelenii funkcii.
     wyraveni funkci stroits  sootwetstwi  sintaksi~eskim prawilam 
qzyk bejsi dl wyraveni sootwetstwu`}eg tipa pr |to sam funkci 
move ispolxzowatxs rekursiwno ws opredeleni funkci n dolvn prewy{at 
dlinu, rawnu` 255 znakam.
.CP10
primer:
               10 DEF FNPYT!(A!,B!)=SQR(A!^2+B'^2)
               20 Z!=3
               30 Y!=4
               40 C!=FNPYT!(Y!,Z!)
               50 PRINT C!
               RUN
               5
               OK
.CP33
     sledu`}i prime pokazywae strokowu funkci` kotora preobrazue 
bolx{i bukw  maly (ST%=-1 il maly  bolx{i (ST%=+1) pr |to 
pokazano, kak mogut bytx realizowany logi~eskie re{eniq w otdelxnoj funkcii.

               10 DEF FNGKKG$(Z$,ST%)=CNR$(ASC(Z$)-
                  32*((ST%=1)*(Z$>="A'")*(Z$<="Z'")-(ST%=-1)*
                  (ZS>="A")*(Z$<="Z")))
               20 PRINT "GROSSE BUCHSTABEN IN KLEINE BUCHSTABEN"     *
               30 PRINT "A";FNGKKG$ ("A",-1)
               40 PRINT "Z";FNGKKG$ ("Z",-1)
               50 PRINT "A'";FNGKKG$ ("A'",-1)
               60 PRINT "Z'";FNGKKG$ ("Z",-1)
               70 PRINT "KLEINE BUCHSTABEN IN GROSSE BUCHSTABEN "    **
               80 PRINT "A";FNGKKG$ ("A",1)
               90 PRINT "Z";FNGKKG$ ("Z",1)
               100 PRINT "A'";FNGKKG$ ("A'",1)
               110 PRINT "Z'";FNGKKG$  ("Z'",1)
               120 END
               RUN

               GROSSE BUCHSTABEN  IN KLEINE BUCHSTABEN               *
               A  A'
               Z  Z'
               A' A'
               Z' Z'
               KLEINE BUCHSTATEN IN GROSSE WUCHSTABEN               **
               A  A
               Z  Z
               A' A
               Z' Z
               OK

*  "bolx{ie bukwy w malenxkie bukwy"
** "malenxkie bukwy w bolx{ie bukwy"


.CP15
7.4. preobrazowanie tipow dannyh

     ~ast woznikae neobhodimost preobrazowat zna~eni odnog tip danny 
 drugo ti dannyh |t proishodi awtomati~eski kogd sodervimo 
peremenno  nizko to~nostx preobrazuets  ti danny peremenno  
wysoko to~nostx` rezulxta sohranqe wysoku to~nostx naprimer sloveni 
  2.71828182 dae rezulxtat ime`}i dwojnu to~nostx pr |to ~isl  
byl preobrazowan  dejstwitelxno ~isl dwojno to~nosti t.k wtoro 
~isl qwlqets ~islo |tog tipa neawtomati~esk proishodi preobrazowani 
znakowyh posledowatelxnostej w ~islowye i naoborot.
     dlq preobrazowaniq ~islowyh tipow dannyh dejstwu`t sledu`}ie prawila:
a)   REAL (prostaq ili dwojnoj to~nosti)  w  INTEGER:
     wyrabatywaets naibolx{e INTEGER-zna~enie kotoro n  bolx{e ~e 
     perwona~alxno zna~eni (matemati~esko okruglenie) pr |to REAL- 
     zna~eni move levat  diapazon o -3276 d +32767  protiwno 
     slu~ae poqwlqetsq soob}enie ob o{ibke razmernosti.
.CP12
primer:        10 A%=1234.56789012345
               20 B%=2.5
               30 C%=-10.5
               40 D%=-32770.5
               50 PRINT A%;B%;C%;D%
               60 END
               RUN
               1234  2  -11
               OVERFLOW
               OK

B)   INTEGER w REAL (prostaq ili dwojnaq to~nostx):
     pr |to preobrazowani posl desqti~no to~k dobawlq`ts nuli ta 
     ~to o{ibka okrugleniq ne woznikaet.
.CP9
primer:        10 A#=32767
               20 B!=-12345
               30 PRINT A#,B!
               40 END
               RUN
                32767.00000000000
               -12345.0
               OK
C)   REAL (dwojnaq to~nostx) w REAL (prostaq to~nostx):
      REAL-~isl prosto to~nost dobawlq`ts nuli pr |to mogu 
     wozniknut neto~nosti t.k tolxk nebolx{o ~isl desqti~ny drobej
     movet bytx to~no prestawleno    w wide dwoi~nyh drobej.
     po|tom neobhodim izbegat |tog wid preobrazowanij su}estwue 
     druga wozmovnost preobrazowat REAL-peremennu prosto to~nost  
     dwojnu` on zakl`~aets  tom ~tob preobrazowat REAL-~isl prosto 
     to~nost  znakowu posledowatelxnost  e wnow  REAL-~isl dwojno 
     to~nosti dl |tog  qzyk bejsi ime`ts specialxny funkci 
     preobrazowani tip STR  VA (sm razdel 17.3  17.4.) princi 
     dejstwiq dolven bytx qsen sledu`}ego primera:
.CP10            
               10 A!=1.3
               20 B#=A!
               30 C#=VAL(STR$(A!))
               40 PRINT A!,B#,C#
               50 END
               RUN
                1.29999
                1.29999995216284
                1.3000000000000
               OK


.CP15
7.5. funkcii CINT, CDBL i CSNG dlq wynuvdennyh preobrazowanij tipow dannyh

     funkci CINԠ osu}estwlqe okrugleni  oblast ~ise o -3276 d 
32767.
format:  [<ITREGER-peremennaq>] = CINT (<argument>)
<argument move byt ~islowy wyraveniem ~islowo peremenno il ~islowo 
konstantoj zna~eni mogu byt prosto il dwojno to~nosti funkci 
prinimaet celo~islennye zna~eniq.

primer:        10 PRINT CINT(33.33); CINT(33.52)
               RUN
                33  34
     funkci CDB̠ preobrazue ~isl prosto to~nost  ~isl dwojno 
to~nosti.
format:  [<REAL-peremennaq dwojnoj to~nosti>] = CDBL (<argument>)
<argument  move byt ~islowy wyraveniem ~islowo peremenno il ~islowo konstantoj zna~eni mogu byt prosto to~nost il INTEGER-zna~eniqmi 
zna~enie funkcii qwlqetsq zna~eniem tipa REAL dwojnoj to~nosti.

primer:        10 A!=454.67
               20 PRINT A!; CDBL(A!)
               RUN
                454.67  454.6700134277344
               OK

     funkci CSNǠ preobrazue ~isl dwojno to~nost  ~isl prosto 
to~nosti.
format:  [<REAL-peremennaq  prostoj to~nosti>] = CSNG (<argument>]
<argument  move byt ~islowy wyraveniem ~islowo peremenno il ~islowo 
konstantoj zna~eni mogu byt dwojno to~nosti zna~eni funkci qwlqets 
zna~eniem tipa REAL prostoj to~nosti.

primer:        10 A#=975.3421
               20 PRINT A#; CSNG(A#)
               RUN
                975.3421020507813  975.342
               OK
     
