Basicovský program je sekvence příkazových řádků. Každý řádek obsahuje číslo řádku, které určuje jeho umístění v programu. Čísla řádku jsou v rozsahu 1 až 32767. Po čísle řádku následuje jeden nebo několik příkazu BASICu oddělených obráceným lomítkem '\'. Základní prvky jazyka. Základní prvky jazyka jsou: a) klíčová slova - názvy příkazů nebo jejich části (např. PRINT,GOTO,AT,TAB apod.) a názvy vestavěných funkcí (např. SIN,LN,SQR apod.) b) identifikátory - jména proměnných jednoduchých a více rozměrných (pole),jména uživatelských funkcí a jména návěstí c) číselné konstanty (např. 2.45,1.3E-13,-245) d) řetězcové konstanty (např. "NESPRÁVNÝ POSTUP") e) aritmetické operátory (např. +,-,*,/,^,) f) relační symboly a logické operátory (např. <,>=,OR,NOT) g) čísla řádek Identifikátory. Identifikátory slouží k pojmenování proměnných,funkcí a návěstí. Jsou tři druhy identi- fikátorů:číselné,řetězcové a návěstí. Číselný identifikátor je posloupnost znaků, která nesmí začínat číslici ani znakem měny $ a nesmí obsahovat tuto množinu znaků: < > + - * / ^ ! & () ; , . : # \ " Řetězcový identifikátor je vytvořen podle stejných pravidel jako číselný s tím rozdílem, že poslední znak musí být znak měny $. Návěstí je vytvořeno podle stejných pravidel jako číselný identifikátor s tím rozdílem, že první znak musí být znak měny $. Největší délka identifikátoru je 16 znaků. Každý identifikátor pojmenovává právě jeden objekt. Označuje-li identifikátor jednoduchou číselnou proměnnou, nemůže být tento identifikátor použit k označení pole (vícerozměrná proměnná) nebo číselné funkce. Malé a velké písmeno není v identifikátorech týž znak. Příklady. Číselné identifikátory: A,c1,SMĚR,Délka,QOT%@'~_34,koncový_příznak Řetězcové identifikátory: A$,c1$,SEZNAM%$,Jméno_zaměstnan$ Návěstí: $NAV1,$VYPOCET,$Závěr Číselné proměnné. Číselná proměnná reprezentuje číselnou hodnotu, která může být během zpracování programu měněna prováděním příkazů. Číselná proměnná je jednoduchá nebo indexovaná. Indexovaná číselná proměnná představuje prvek jedno-, dvou- nebo trojrozměrného číselného pole. Jednoduchá proměnná je v programu označována číselným identifikátorem. Indexovaná číselná proměnná je v programu označována identifikátorem číselného pole (číselný identifikátor), za nímž následuje v kulatých závorkách index, dva indexy oddělené čárkou nebo tři indexy oddělené čárkami podle rozměru pole. Index je reprezentován číselným výrazem a pokud hodnota výrazu není celé číslo, je tato hodnota upravena na celé číslo odříznutím zlomkové části. Číselné vestavěné funkce. Algebraické funkce. ABS(X) Absolutní hodnota X. EXP(X) Exponenciální funkce e^X, kde e je základ přirozených logaritmu. LN(X) Přirozený logaritmus X, (Základ logaritmu je e=2.71828...) X > 0. SGN(X) Signum X.SGN(X) = -1, je-li X < 0; SGN(X) = 0, je-li X = 0; SGN(X) = 1, je-li X > 0. SQR(X) Druhá odmocnina z X, X >= 0. SQR(X) je nezáporné. Funkce pracující s úhly. Zkrácený popis jazyka BASIC C 1-1 SIN(X) Sinus X, X je v obloukové míře. COS(X) Kosinus X, X je v obloukové míře. TAN(X) Tangens X, X je v obloukové míře ASN(X) Arkussinus X, pro -1 <= X <= 1. ASN(X) je v obloukové míře v intervalu -PI/2 <= ASN(X) <= PI/2. ACS(X) Arkuskosinus X, pro -1 <= X <= 1. ACS(X) je v obloukové míře v intervalu 0 <= ACS(X) <= PI. ATN(X) Arkustangens X. ATN(X) je v obloukové míře v intervalu -PI/2 < ATN(X) < PI/2. DEG(X) Velikost úhlu ve stupních, X je v radiánech. RAD(X) Velikost úhlu v radiánech, X je ve stupních. Funkce pro úpravu čísel. INT(X) Největší celé číslo, které je menší nebo rovno X (tzv. celá část čísla) Např. INT(4.3)=4, INT(6)=6, INT(-2.4)=-3 IP(X) Odříznutí zlomkové části čísla X. IP(X) = SGN(X)*INT(ABS(X)). Např. IP(4.3)=4, IP(6)=6, IP(-2.4)=-2 FP(X) Zlomková část čísla X. FP(X) = X - IP(X). Bezargumentové funkce. RND Další pseudonáhodné číslo z posloupnosti pseudonáhodných čísel vytvořených procesorem. PI Přibližná hodnota Ludolfova čísla (3.1415926). EXLINE Číslo řádku, na kterém vznikla výjimečná situace (jen v chybové rutině). EXTYPE Číslo výjimečné situace (jen v chybové rutině). Číselné vestavěné funkce s řetězovými argumenty. LEN(A$) Počet znaků řetězce vzniklého vyhodnocením řetězcového výrazu A$. POS(A$,B$) Pozice prvního znaku prvního výskytu řetězce B$ uvnitř řetězce A$ v případě, že ře- tězec B$ je obsažen v řetězci A$.Pokud B$ není obsažen v A$ je hodnota funkce rovna nule. Hodnota POS(A$,"") je rovna jedné (i pro případ, že A$ je prázdný řetězec). POS(A$,B$,N) Pozice prvního znaku prvního výskytu řetězce B$ uvnitř řetězce A$, přičemž hledání začíná od N-tého znaku řetězce A$. N může nabývat hodnot od 1 do LEN(A$); pokud je hodnota N < 1, uvažuje se N = 1; pokud je hodnota N > LEN(A$), uvažuje se N=LEN(A$). VAL(A$) Číselná hodnota číselného výrazu, pokud řetězec A$ představuje číselný výraz. ovodní a koncové mezery řetězce jsou ignorovány. Například VAL("1.3+4.5") = 5.8, VAL("1,2") způsobí výjimečnou situaci. Řetězcové vestavěné funkce s číselným argumentem. CHR$(N) Jednoznakový řetězec představovaný znakem z kIdové tabulky, jehož pořadové číslo v tabulce je N. (0 >= N <=255) Například CHR$(193) = "A", CHR$(245) = "5". REPEAT$(A$,N) Řetězec vytvořený z N kopii řetězce A$, N >= 0. STR$(X) Řetězec představující hodnotu číselného výrazu X. Řetězec neobsahuje žádné úvodní ani koncové mezery. Například STR$(24.4) = "24.4", STR$(-3.2) = "-3.2". Řetězcové vestavěné funkce s řetězcovým argumentem. LCASE$(A$) Řetězec vzniklý z řetězce A$ nahrazením všech velkých písmen v řetězci A$ odpovída- jícími malými písmeny. Například LCASE$("STŘEDA 7.12.") = "středa 7.12.". UCASE$(A$) Řetězec vzniklý z řetězce A$ nahrazením všech malých písmen v řetězci A$ odpovídají- cími velkými písmeny. Například UCASE$("Basic") = "BASIC". Řetězcové vestavěné funkce bez argumentu. EXTEXT$ Řetězec představující návěští řádku, na kterém vznikla výjimečná situace, a pokud byl tento řádek označen návěštím (jen v chybové rutině). (Pokud nebyl, je výsled- kem nulový řetězec.) 1-2 INKEY$ Jednoznakový řetězec představovaný znakovým kIdem poslední stisknuté klávesy. Neby- la_li žádná klávesa stisknuta, je výsledkem nulový řetězec. Zkrácený popis jazyka BASIC C 1-3 Tato stránka je prázdná úmyslně