Eureka A4 – Referenční Příručka

17  Překladač Basicu

17.1  Povely Basiku

Následující povely je možno používat pouze v konverzačním režimu.
Nemohou být součástí programu. 

CONT
	(continue = pokračuj); kont

Tento  povel způsobí,  že  po  přerušení  se  bude  pokračovat ve
vykonávání programu.  Přerušení se způsobí buď  stiskem přeřazené
funkční klávesy 1  nebo provedením povelu STOP. Povšimněte si, že
program  nemůže pokračovat povelem CONT  poté,  co došlo k chybě,
poté,  co program normálně skončil nebo pokud program ještě nebyl
spuštěn. V tomto případě Basic řekne "pokračování nedovoleno".


DIR
	(directory = adresář); dir

Tento povel vyvolá adresář disku,  stejně  jako přeřazená funkční
klávesa 5.  Můžete procházet adresářem pomocí  kurzorových šipek.
Stiskem klávesy Nový řádek zavedete aktuální soubor. 


EDIT
	(edit = upravuj); edit

Tento povel umožňuje provádět  změny programového  řádku, aniž by
se musel opsat. Syntax je

		EDIT číslo_řádku

Pokud  řádek  existuje,   je  vysloven,   načež  začnou  fungovat
kurzorové  šipky.  Můžete  se  pohybovat doleva  a doprava, mazat
znaky  nebo  vkládat nový  text.  Stiskem  klávesy Nový  řádek se
editace  ukončuje.  Je  také  možno  používat  vyslovovací povely
(kombinace mezerníku a kurzorových šipek).


FREE
	(free = volno); frí

Tento  povel vám oznámí,  kolik  volných bytů zbývá  v paměti. Je
ekvivalentní stisku přeřazené funkční klávesy 8.


LIST 
	(list = výpis); list

Tento  povel vypisuje  program.  Pokud není  zadáno  číslo řádku,
výpis začne prvním řádkem. Jinak začne udaným číslem řádku. Výpis
programu může  být přerušen  stiskem přeřazené funkční  klávesy 1
(klávesa  přerušení).  Pokud  během  vyslovování  řádku stisknete
klávesu,   vyslovování  se  přeruší  a  přejde  na  další  řádek.
Stisknutí funkční klávesy 2 je ekvivalentní povelu LIST.


LLIST

Tento  povel  pracuje  stejně,  jako  LIST.  Výpis  programu však
směřuje na tiskárnu. 


LOAD
	(load = zaveď); loud

Povel umožňuje zavést (nahrát) program z disku. Syntax je

		LOAD "jméno_souboru"

Přeřazená  funkční klávesa 5  provede  totéž,  jako byste napsali
LOAD a uvozovky.  Ukončovací uvozovky jsou nepovinné. Pokud místo
jména souboru napíšete otazník a stisknete Nový  řádek, dostanete
se  do  adresáře   disku.   V   adresáři   se   můžete  pohybovat
prostřednictvím  šipek a zavést  aktuální  soubor stiskem klávesy
Nový řádek.


LPRINT

Tento povel pracuje stejně,  jako příkaz PRINT.  Na rozdíl od něj
výstup směřuje na externí tiskárnu, nikoli na virtuální obrazovku
ani na reproduktor. 


NEW 
	(new = nový); ňú

Tento příkaz  maže  paměť.  Dojde ke  smazání  všech programových
řádků a všech proměnných.


RENUM
	(renumber = přečísluj); renum

Povel přečísluje programové řádky. Syntax je

		RENUM počáteční_číslo , přírůstek

Dojde k přečíslování  celého  programu  tak,  že  se  první řádce
přiřadí  počáteční  číslo  (první  parametr  povelu). Následující
řádky mají  číslo předchozího řádku zvětšené  o  přírůstek. Pokud
není  uvedena hodnota přírůstku,  bere se 10.  Pokud není uvedeno
počáteční číslo, začne se od 10.


RUN
	(run = běž); ran

Tento povel spustí běh programu.  Je možno uvést číslo řádku. Pak
se  program spustí  od  udaného čísla řádku.  RUN je ekvivalentní
funkční klávese 1.


SAVE
	(save = ulož); sejv

Povel umožňuje uložit program na disk. Syntax je

		SAVE "jméno_souboru"

Stisknutí  funkční  klávesy  5  je  ekvivalentní  napsání  SAVE a
prvních  uvozovek.  Druhé  uvozovky  jsou  nepovinné.  Programové
soubory se ukládají s příponou BAS.  Jsou uloženy v binárním kódu
a nejsou čitelné textovým procesorem.



17.2  Příkazy Basiku


Všechny  následující  příkazy  mohou  být  použity  v programech.
Některé ale nemohou být použity v konverzačním režimu.


BEEP
	(beep = pípnutí); bíp

Tento příkaz způsobí, že Eureka krátce pískne.


CLEAR
	(clear = vymaž); klír

Příkaz  maže  všechny  proměnné.  Pokud  je  za  příkazem  uveden
numerický výraz,  příkaz umožňuje přidělit více  místa řetězcovým
proměnným.  Implicitně je pro řetězce vyhrazeno 256 znaků. Syntax
je
		CLEAR výraz

kde nepovinný výraz udává celkovou délku řetězcových proměnných.


CLICK
	(click = cvaknutí); klik

Tento  příkaz  způsobí,  že Eureka vydá  slyšitelný cvakavý zvuk,
jeden z dvaceti možných zvuků. Syntax je

		CLICK číslo_zvuku

kde číslo zvuku je v rozsahu 0  až 19. Povaha zvuku je ovliňována
také příkazem PITCH.


CURSOR

Příkaz umožňuje určit,  v jaké pozici na virtuální obrazovce bude
umístěn další znak generovaný příkazem PRINT. Syntax je

		CURSOR x,y

kde  x je  číslo sloupce v rozsahu 0  až 79;  y je číslo  řádku v
rozsahu  0  až  23.  Souřadnice  0,0  jsou  v  levém  horním rohu
obrazovky. 


DATA

Klíčové  slovo  DATA  uvádí  seznam  číselných  nebo  řetězcových
konstant,  které potom čte příkaz  READ.  Příkazy  DATA  se mohou
vyskytnout kdekoli v programu. Aby je příkaz READ mohl číst, není
třeba, aby již byly provedeny. Syntax příkazu je

		DATA const1, const2, const3, ... atd.

Konstanty  jsou  odděleny  čárkami.  Řetězcové  konstanty,  pokud
neobsahují mezery,  čárky nebo středníky, nemusejí být uzavřeny v
uvozovkách.


DEF FN
	(define function = definuj funkci); def

Tento příkaz umožňuje definovat uživatelskou funkci. Syntax je

		DEF jméno(argument)=výraz

Jméno musí  být  složeno  ze  znaků  "FN",  za  nimiž  bez mezery
následuje jedno nebo  dvě písmena.  Funkce se volá  tímto jménem.
Například, příkaz

		DEF FNA(X)=X*1.2345

definuje funkci, která násobí argument hodnotou 1.2345. Funkci je
možno volat například takto:

		Y=FNA(5)

Po provedení tohoto příkazu bude  mít Y hodnotu 5*1.2345,  což je
6.1725. 

Argument  v  příkazu  DEF,  uzavřený  v  závorkách,  je  formální
parametr. Může se (ale nemusí) použít v následujícím výrazu. Jeho
použití v  příkazu  DEF  neovlivní  proměnnou  se  stejným jménem
kdekoli  v  programu.  Při  volání  funkce  se  formální parametr
nahradí skutečnou hodnotou argumentu.


DIM
	(dimension = rozměr); dim

Tento příkaz  definuje  pole  a  jejich  dimenze.  Zavádí  se tím
indexovaná  proměnná  (vektor,  matice).  Nejnižší  index pole je
nula,  nejvyšší index je  číslo,  udané v příkazu  DIM.  Pokud se
použije indexovaná proměnná bez předchozí definice  příkazem DIM,
má v každém indexu implicitní dimenzi 10.

Syntax příkazu DIM je

		DIM proměnná(index1, index2, .... atd)

Pole nesmí být definováno  (dimenzováno)  vícekrát. Pokud se o to
pokusíte, má to za následek chybové hlášení.

Příklad:
Dvourozměrnou matici o šesti řádcích a  pěti sloupcích definujeme
příkazem
		DIM M(6,5)

Je tím zavedena dvourozměrná indexovaná proměnná M(x,y).

Pak můžeme využívat prvky matice označené 

	M(1,1), M(1,2) ... M(1,5)
	M(2,1), M(2,2) ... M(2,5)
		......
	M(6,1), M(6,2) ... M(6,5)

přičemž indexy mohou být výrazy i konstanty. 


END
	(end = konec); end

Tento příkaz ukončí vykonávání programu.  Pokud v programu nejsou
žádné další řádky, není třeba příkaz END používat, program skončí
sám od sebe. 


ERASE
	(erase = smazat); irejs

Příkaz vymaže obsah virtuální obrazovky.


FOR
	(for = pro); for

FOR zahajuje cyklus, který se opakuje po daný počet opakování.
Syntax je

	FOR proměnná=výraz1 TO výraz2 STEP výraz3

Klíčové slovo STEP a  výraz3  jsou nepovinné. Když program přijde
poprvé k FOR, řídicí proměnné se přiřadí hodnota výrazu 1. Pak se
vykonávají  příkazy,  následující za  FOR,  až se dojde k příkazu
NEXT.  Proměnná se  pak zvětší o  hodnotu výrazu 3  (může být též
záporná).  Implicitní hodnota inkrementu  je  +1.  Pak se provede
porovnání s výrazem  2.  Pokud  hodnota  proměnné  je  menší, než
hodnota výrazu 2, program se vrací k prvnímu příkazu  za příkazem
FOR.  V  opačném případě se  cyklus  ukončí  a  program pokračuje
prvním příkazem za příkazem NEXT. 

Protože porovnání se  provádí až  na  konci příkazů  uzavřených v
cyklu,  cyklus se provede nejméně jednou.  Řídicí  proměnná cyklu
nemůže být řetězcová nebo indexovaná proměnná. 


FORMAT

Tento příkaz umožňuje určit formát  (tiskovou podobu) numerických
hodnot,  generovaných příkazy PRINT a LPRINT. Příkaz má tři možné
formy syntaxe:
 
   1) Normální formát:		FORMAT 0
     
     Při normálním formátu Basic vytváří nejkratší možný řetězec.
   
   2) Pevná desetinná tečka:	FORMAT 1,p,z
      
     V  tomto formátu výraz p  určuje počet míst  před desetinnou
     tečkou a výraz z počet míst za desetinnou tečkou.
   
   3) Exponenciální formát:	FORMAT 2,e
    
     Výraz  e  určuje násobek použitého  (dekadického) exponentu.
     Například e=3 bude formátovat čísla v technickém formátu.



GOSUB
	(go to subroutine = jdi na podprogram); gousab

Tento příkaz volá podprogram začínající na udaném čísle řádku. To
znamená,  že  po  příkazu GOSUB výkon  programu  přejde  na udaný
řádek.  Když pak narazí na příkaz RETURN,  řízení programu přejde
na příkaz bezprostředně následující za příkazem GOSUB. Syntax je

		GOSUB číslo_řádku


GOTO
	(go to = jdi na); goutu

Příkaz způsobí,  že výkon programu přejde na  udaný řádek. Syntax
přikazu je

		GOTO číslo_řádku

Pokud řádek udaného čísla neexistuje, vydá se chybová zpráva.


IF/THEN/ELSE
	(if-then-else = pokud-pak-jinak); if zen els

Tento příkaz  způsobí podmíněné vykonání  příkazů  nebo podmíněný
odskok na určitý řádek. Syntax je

	IF logický_výraz THEN příkaz

nebo                              
               
	IF logický_výraz THEN číslo_řádku

Pokud podmínka v logickém výrazu  je pravdivá,  vykoná se příkaz,
následující za  THEN,  nebo se  přejde na číslo řádku  uvedená za
THEN.  Za THEN  může  následovat  vícenásobný  příkazový  řádek s
příkazy,  oddělenými  dvojtečkami.  Pokud není podmínka pravdivá,
přeskočí se celý vicenásobný řádek.

Klíčové slovo ELSE je nepovinné:

	IF logický_výraz THEN příkaz1 ELSE příkaz2

nebo
	IF logický_výraz THEN čís_řádku1 ELSE čís_řádku2

Pokud je podmínka v logickém výrazu nepravdivá, provede se příkaz
za ELSE, resp. se přejde na číslo řádku za ELSE. 


INPUT
	(input = vstup); input

Příkaz INPUT přebírá číselné nebo řetězcové  hodnoty z klávesnice
a přiřazuje je proměnným. Syntax je

		INPUT prom1, prom2, prom3, ...atd.     

nebo                              

		INPUT "hlášení"; prom1, prom2, ... atd.

Když Eureka narazí na příkaz INPUT,  v prvním případě řekne "vlož
data"  a čeká  na  vstup z klávesnice.  V druhém případě,  kde za
slovem INPUT následuje řetězcová konstanta,  Eureka vysloví tento
řetězec. 

Pokud je  v jednom  příkazu INPUT více  proměnných, můžete každou
vkládat na  zvláštním řádku,  t.j.  každou  ukončit klávesou Nový
řádek.  Eureka řekne  "vlož data"  pokaždé, když některá proměnná
potřebuje přiřadit  hodnotu.  Jinak můžete vložit všechny hodnoty
na jednom řádku oddělené čárkami.

Řetězcové   konstanty,   pokud  neobsahují  mezery,   čárky  nebo
středníky, nemusejí být uzavřeny v uvozovkách.

Pokud  místo  vložení  dat  stisknete  jen  klávesu  Nový  řádek,
proměnné bude  přiřazena nulová  hodnota.  Řetězcové  proměnné se
přiřadí nulový řetězec, to jest prázdný řetězec nulové délky.


LET
	(let = nechť); let

Tento  přiřazovací  příkaz   je  zde  jen  pro   slučitelnost  se
standardní  definicí  Basiku.  Je možno jej  zcela  vynechat, což
znamená, že příkaz               

		LET  proměnná=výraz

lze nahradit jen zápisem

		proměnná=výraz


MODE
	(mode = režim); moud

Tento   příkaz  umožňuje  přepínat   mezi   řádkovým   režimem  a
obrazovkovým režimem práce Basiku.  Implicitně je  zvolen řádkový
režim,  v němž všechen výstup směřuje jak do virtuální obrazovky,
tak do reproduktoru.  V obrazovkovém režimu  výstup směřuje pouze
do virtuální obrazovky.  Pokud se  obrazovka zaplní,  Basic řekne
"obrazovka  je  plná".  Pak  můžete  prozkoumat  obsah  virtuální
obrazovky a stiskem kterékoli klávesy si vyžádáte další obrazovku
dat. Syntax je

		MODE 0		řádkový režim
		MODE 1		obrazovkový režim

Mode 0  je ekvivalentní  stisku  funkční  klávesy  3,  MODE  1 je
ekvivalentní stisku přeřazené funkční klávesy 3.


NEXT
	(next = další); next

Ukončuje cyklus, vytvořený příkazem FOR. Syntax je

		NEXT proměnná

kde proměnná je řídicí proměnná cyklu, uvedená za klíčovým slovem
FOR.  Pokud  používáte vložené cykly,  je  možné  ukončit několik
cyklů  v jednom příkazu  NEXT,  za nímž následují řídicí proměnné
oddělené  čárkami.  Musejí  však být uvedeny  ve správném pořadí,
tedy řídicí proměnná nejvnitřnějšího cyklu musí být první.

Je možné uvést NEXT i bez proměnné. V tom případě bude platit pro
řídicí proměnnou nejpozději zahájeného FOR.


OFF ERROR
	(off error = vypni chyby); of eror

Tento  příkaz  ruší účinek příkazu ON  ERROR a  obnovuje normální
způsob zpracování chyb.


ON/GOSUB
(on .. go to subroutine = po .. jdi na podprogram); on gousab

Jde o podmíněný příkaz,  který provede volání jednoho  z několika
podprogramů podle hodnoty výrazu. Syntax je

	ON výraz GOSUB řádek1, řádek2, řádek3, ...atd.

Příkaz provede podprogram na řádku1, pokud má výraz hodnotu 1, na
řádku2,  pokud  má  hodnotu 2  atd.  Po provedení  podprogramu se
program vrátí na řádek následující za příkazem ON/GOSUB. Pokud má
výraz hodnotu menší než 1  nebo větší,  než počet uvedených čísel
řádek, příkaz nemá účinek.


ON/GOTO
	(on .. go to = po .. jdi na ); on goutu

Tento příkaz  způsobí podmíněný skok  na jeden  z uvedených řádků
podle hodnoty výrazu. Syntax je

	ON výraz GOTO řádek1, řádek2, řádek3, ...atd.

Příkaz odskočí na  řádek1,  pokud výraz má hodnotu 1,  na řádek2,
pokud má hodnotu 2  atd.  Pokud má výraz hodnotu menší než 1 nebo
větší, než počet uvedených čísel řádků, příkaz nemá účinek.


ON ERROR 
	(on error = po chybě); on eror

Tento podmíněný příkaz umožňuje odskočit na určité místo programu
v případě,  že dojde k programové chybě.  Za normálních okolností
chyba způsobí  zastavení programu a  vyslovení chybového hlášení.
Syntax přikazu je

		ON ERROR GOTO číslo_řádku

Po provedení tohoto  příkazu se  po  každé chybě přejde  na udané
číslo řádku.  K normálnímu zpracování chyb se lze vrátit příkazem
OFF ERROR.


PITCH
	(pitch = výška); pitš

Tento  příkaz  umožňuje  měnit  výšku  hlasu  nebo   barvu  zvuků
generovaných příkazem CLICK. Syntax je

		PITCH perioda

Hodnota výrazu "perioda"  se může měnit od 0 do 255. Srozumitelný
hlas však poskytnou pouze hodnoty v přibližném rozmezí   40 - 70.
Vyšší hodnota periody má  za následek nižší výšku  hlasu. Hodnota
normálního hlasu Eureky je  56.  Výška hlasu se dá  změnit jen po
dobu běhu programu. Po zastavení nebo ukončení programu se obnoví
normální výška hlasu.


PRINT
	(print = tiskni); print

Příkaz PRINT způsobí,  že Eureka promluví. Výstup směřuje také do
virtuální obrazovky. Syntax je

	PRINT výraz1 oddělovač1 výraz2 oddělovač2...atd.

Výraz může být buď  číselná hodnota nebo  řetězec. Oddělovač může
být buď čárka nebo  středník.  Středník způsobí, že další hodnota
bude  následovat  bezprostředně za  předchozí  bez  mezery. Čárka
způsobí,  že  další hodnota  se  umístí  na  nejbližší tabelátor.
Tabelátory  jsou  umístěny  po  osmi  znacích,  tedy ve sloupcích
1,9,17  atd.  Pro běžné účely oddělujte výrazy  čárkami. Středník
používejte jen pro případ formátovaných výstupů na tiskárnu.

Pokud seznam výrazů nekončí čárkou  nebo  středníkem, za poslední
položkou  se  vytiskne  návrat  vozu a posuv  válce. Pokud seznam
končí  čárkou  nebo  středníkem,   další   příkaz   PRINT  tiskne
bezprostředně za předchozí.
 
Pro urychlení  psaní  je  možno  nahrazovat  klíčové  slovo PRINT
otazníkem. Ve výpisu programu se však vždy objeví PRINT.


READ
	(read = čti); ríd

Tento příkaz přiřadí hodnoty z příkazu DATA proměnným. Syntax je

		READ prom1, prom2, prom3, ... atd.

Na položky v seznamu DATA ukazuje vnitřní ukazatel, který určuje,
která  hodnota bude  přiřazena příště.  Na začátku programu  a po
provedení příkazu RESTORE je ukazatel nastaven na první hodnotu v
seznamu DATA. Když se hodnota ze seznamu DATA přiřadí proměnné ze
seznamu READ, ukazatel se posune na další hodnotu v seznamu DATA.

Proměnné  mohou být libovolných typů,  ale  musí  odpovídat typům
odpovídajících konstant v příkazu DATA.


REM
	(remark = poznámka); rem

Nevýkonný  příkaz  umožňuje  umístit  do  programu  komentáře pro
zvýšení srozumitelnosti. Syntax je

		REM komentář

Komentář tvoří  libovolná sekvence znaků.  Komentáře jsou uvedeny
ve výpisu programu, ale neovlivňují program. Klíčové slovo REM se
dá  nahradit  svislou čarou |.  V příkazech GOTO  a GOSUB  lze za
číslem řádku uvést komentář rovnou, bez REM.
	

RESTORE
	(restore = obnov); ristór

Tento příkaz  vrátí  vnitřní  ukazatel  seznamu  DATA  na začátek
seznamu.  Následující čtení příkazem READ začíná na první hodnotě
v seznamu DATA.


RETURN
	(return = návrat); ritérn

Označuje konec podprogramu.  Pokud program narazí na RETURN, aniž
předtím přišlo GOSUB, vydá se chybové hlášení. 


SAY
	(say = řekni); sej

Tento příkaz je ekvivalentní příkazu PRINT.


SOUND
	(sound = zvuk); saund

Příkaz umožňuje vytvářet zvukové efekty. Syntax je

SOUND frekvence1,frekvence2,frekvence3,frekvence4;délka;tvar

Povinná  je  pouze   jedna  frekvence.   Více  frekvencí  vytváří
vícehlasý tón. Frekvence je udána v Hz, délka je udána v ms. Tvar
je  určen   číslem  0   až   9.   Například   číslo   0  odpovídá
trojúhelníkovému  průběhu,  1  je sinusovka.  Délka  a  tvar jsou
nepovinné parametry.  Pokud nejsou  udány,  zachovává se  délka a
tvar z předchozího zadání.


STOP
	(stop = stůj); stop

Příkaz  ukončuje  program.  Na  rozdíl  od  příkazu  END  dojde k
vyslovení čísla řádku. 



17.3  Funkce Basiku

Funkce vždy  představují hodnotu,  kterou je možno  vyslovit nebo
přiřadit  proměnné.  Hodnota  většiny  funkcí  závisí  na hodnotě
výrazu,   který  následuje  za  jménem  funkce  a  je  uzavřen  v
závorkách.  Tento výraz se často označuje  jako argument. Většina
funkcí má  jen jeden argument.  Vyjímky  jsou uvedeny  u té které
funkce.

Funkce  jsou  dvojího typu  -  numerické,  které vracejí číselnou
hodnotu,  a řetězcové,  které vracejí řetězec.  Jména řetězcových
funkcí končí znakem dolaru $.


ABS

Vrací absolutní hodnotu čísla. Příklad: X=ABS(Y)


ASC

Vrací  číslo ASCII kódu  daného  znaku.  Argument  musí  být typu
řetězec.  Pokud je řetězec delší než jeden znak, funkce ASC vrací
kód prvního znaku řetězce. Příklad: A=ASC("K")


ATN

Vrací  arkustangentu argumentu. Hodnota je v radiánech.


CHR$

Vrací  znak  (řetězec),  odpovídající uvedenému číslu ASCII kódu.
Jde o funkci inverzní k ASC.


COS

Vrací kosinus argumentu. Argument je v radiánech.


DATE$

Tato  funkce  nemá  argument.  Vrací řetězec, obsahující aktuální
datum. Řetězec má 10 znaků. Jsou obsazeny takto:

den v měsíci (2 znaky), mezera, měsíc (2 znaky), mezera, rok
(4 znaky).


DEC

Vrací decimální hodnotu řetězcového  argumentu, který představuje
hexadecimální číslo. 
Příklad: A=DEC("FFFF") - A má hodnotu 65535.


DEG

Převede argument v radiánech na  decimální stupně.  Zlomky stupně
nejsou udány v minutách a vteřinách, ale jako desetinná část.


DVM

Funkce   nemá  argument.   Vrací   ve  voltech   hodnotu  měřenou
voltmetrem.


EXP

Vrací  hodnotu e  (základu  přirozených  logaritmů)  umocněnou na
hodnotu argumentu.


HEX$

Tato  funkce  vrátí  řetězec,   který  představuje  hexadecimální
vyjádření hodnoty argumentu. 
Příklad: H$=HEX$(65535) - v řetězci H$ bude "FFFF"


INT

Vrací celočíselnou část čísla. 
Příklad: A=INT(5.6) - A má hodnotu 5


KEY$

Funkce nemá  argument.  Vrací  jednoznakový  řetězec,  pokud byla
stlačena klávesa.  Jinak vrací  prázdný  řetězec  (řetězec nulové
délky).


LEFT$

Tato dvouargumentová funkce vrací udaný počet znaků odříznutých z
řetězce zleva.
Příklad: A$=LEFT$("ABCDE",2) - A$ bude obsahovat "AB"


LEN

Funkce vrací délku řetězce. 
Příklad: L=LEN("AHOJ") - L má hodnotu 4


LDE

Funkce vrací dekadický logaritmus argumentu.


LOG

Funkce vrací přirozený logaritmus argumentu.


MID$

Tato tříargumentová funkce izoluje udanou část řetězce. Syntax je

		MID$(string$,výraz1,výraz2)


Funkce  vrací  tolik  znaků  řetězce  string$,  kolik  má hodnotu
výraz2,  počínaje  tolikátým  znakem  řetězce,  jakou  hodnotu má
výraz1. Znaky se počítají zleva.
Příklad: A$=MID$("AHOJ",2,1) - A$ obsahuje "H"


POS

Tato funkce bez argumentu vrací aktuální pozici tiskového kurzoru
v aktuální řádce. Pozice je ovlivněna příkazy PRINT a LPRINT.


RAD

Funkce převádí decimální stupně na radiány.


RIGHT$

Tato dvouargumentová funkce vrací udaný  počet znaků, odříznutých
z řetězce zprava. 
Příklad: RIGHT$("PRAVO",3) vrátí "AVO".


RND

Pokud  je  argumentem  kladné číslo,  funkce vrací náhodné číslo.
Pokud je argumentem nula, vrací se ta hodnota, která se vrátila v
předchozím volání.  Pokud je argumentem záporné číslo, provede se
nová inicializace generátoru náhodných čísel.


SGN

Funkce určuje,  zda je argument kladný,  záporný nebo nulový. Při
kladném argumentu vrací hodnotu  +1,  při  nulovém  vrací  0, při
záporném vrací -1.


SIN

Funkce vrací sinus úhlu měřeného v radiánech.


SQR

Funkce vrací druhou odmocninu kladného argumentu.


STR$

Řetězcová  funkce  převádí  numerickou  hodnotu  na  odpovídající
řetězec.  Znaky  řetězce  jsou  takové,  jaké  by  byly vytištěny
příkazem PRINT.
Příklad: S$=STR$(1/3) - S$ obsahuje "0.333333"


TAN

Vrací tangentu úhlu měřeného v radiánech.


TEC

Tato  funkce  bez  argumentu  vrací  vnější  teplotu  ve stupních
Celsia.


TEF

Tato funkce bez argumentu vrací vnější teplotu ve stupních
Fahrenheita.


TIC

Tato funkce bez argumentu vrací vnitřní teplotu ve stupních
Celsia.


TIF

Tato funkce bez argumentu vrací vnitřní teplotu ve stupních
Fahrenheita.


TIME$

Tato funkce bez argumentu vrací řetězec, obsahující aktuální čas.
Řetězec má 8 znaků. Jsou obsazeny takto:
Hodiny (2 znaky), mezera, minuty (2 znaky), mezera, sekundy (2
znaky)


VAL

Převede řetězec na jeho numerickou hodnotu. 
Příklad: A=VAL("87") - A má hodnotu 87


XPOS

Tato  funkce  bez  argumentu  vrací  aktuální  sloupcovou  pozici
kurzoru  na  virtuální  obrazovce.  Tato  pozice  není  ovlivněna
příkazem  LPRINT,  protože  tento příkaz  pracuje  jen  s externí
tiskárnou, nikoli s virtuální obrazovkou.


YPOS

Tato funkce bez argumentu vrací aktuální řádkovou  pozici kurzoru
na  virtuální  obrazovce.  Tato  pozice  není  ovlivněna příkazem
LPRINT.


Funkce příkazu PRINT

Následující funkce lze použít jen v příkazu PRINT nebo LPRINT.


SPC 

Funkce generuje předepsaný počet mezer.
Příklad:  10 PRINT "LEFT";SPC(30);"RIGHT" - mezi LEFT a RIGHT je
30 mezer.


TAB

Funkce se používá na  zarovnání tisku do  svislého sloupce. První
znak  následujícího tisku bude  umístěn v  udaném  sloupci. Pokud
tisk již přešel udané místo, funkce se ignoruje. 
Příklad:  10 PRINT TAB(20);"Ahoj"


Logické operátory

Tři  logické  operátory  AND,  OR  a  NOT  se  mohou  používat ke
konstrukci  složitějšího  logického  výrazu  v  podmínkové  části
rozhodovacího příkazu IF.

Logický součin AND dvou členů je  pravdivý jen  tehdy, pokud jsou
oba jeho členy pravdivé.
Logický součet OR dvou členů je pravdivý, pokud je kterýkoli jeho
člen pravdivý. 
Logická negace NOT mění pravdivý výrok na nepravdivý a naopak.

Příklad:  10 IF (A
		

Navigace