BASIC - Základní vlastnosti

Konstanty

Proměnné

 Číselné i znakové proměnné mohou být jednoduché nebo mohou  tvořit tzv. pole, tj. indexové proměnné. Identifikátor /jméno/ proměnné mohou být jeden až dva znaky, první musí být písmeno. Identifikátor řetězcové proměnné je doplněn znakem $.  Identifikátor indexové proměnné /pole/ je doplněn indexem,  určujícím souřadnice polohy proměnné v poli.

Jednoduchá proměnná je definována prvním příkazem, který ji  přiřazuje hodnotu /INPUT, LET, FOR/. Je-li použit identifikátor proměnné, které nebyla přiřazena hodnota, Basic ji vynuluje.

Pole je množina proměnných stejného typu /znakových, číselných/ se společným jménem, za nímž pro rozlišení prvků uvádíme v  kulatých závorkách index - lib. výraz, který udává pozici prvku  v poli. Není-li hodnota výrazu celé číslo, Basic ji upraví  odříznutím desetinné části. Prvky polí jsou vždy číslovány od  nuly.

 XX$(3) třetí prvek jednorozměrného řetězcového pole XX$

 A0(0,6) prvek v nultém řádku a šestém sloupci pole A0

 MN(I,J-3,3*LOG(X)) je prvek trojrozměrného pole MN

proměnná X, pole X, proměnná X$ a pole X$ jsou čtyři různé  proměnné, je však lépe toho nevyužívat.

Pole je definováno deklarací příkazem DIM nebo i implicitně  prvním přiřazením hodnoty libovolnému prvku pole /ostatní jsou  u číselných polí vynulovány, a znakových naplněny prázdnými  řetězci.

Operátory a jejich priorita

 10 indexování polí a závorky

 9 funkce

 8 ^ umocňování

 7 - záporné znaménko

 6 * / násobení, dělení

 5 + - sečítání, odčítání

 4 = < > <= >= <> porovnání

 3 NOT negace

 2 AND log. součin

 1 OR log. součet

Aritmetické výrazy

obsahují číselné konstanty, proměnné, zápisy funkcí a  aritmetické operátory. Při vyčíslování jejich hodnoty se  postupuje podle priority od nejvyšší k nejnižší, při stejné  prioritě se postupuje ve výrazu zleva doprava. Za aritmetický  výraz lze považovat i jedinou konstantu, proměnnou či zápis  funkce.

Znakové výrazy

se skládají ze znakových proměnných a konstant, případně  zápisů těch funkcí, jejichž výsledkem je znak či řetězec znaků.  Jedinou přípustnou operací je +, tj. spojení řetězců.

Relace

je porovnání dvou výrazů stejného typu. Nejprve se určí  výsledná hodnota obou výrazů a výsledky se porovnají /číselně,  u znakových výrazů abecedně dle kódu ASCII/. Konečným výsledkem  relace je logická hodnota ano /pravda,true/ nebo log. hodnota  ne /nepravda,false/.

=/<> rovno/nerovno </> menší/větší <=/>= menší/větší n. rovno

Logické výrazy

vznikají spojováním relací /případně ve smíšených výrazech  též číselných konstant, proměnných a funkcí/ logi. operátory :

 A AND B = pravda pro oba operandy A i B pravdivé, nepravda pro  aspoň jeden operand nepravdivý.

 A OR B = pravda pro aspoň jeden operand pravdivý, nepravda pro oba operandy nepravdivé

 NOT A = pravda pro nepravdivé A, nepravda pro pravdivé A

Jsou-li operandy logických výrazů pouze relace, je určení  jednoduché. Basic však ve skutečnosti logické proměnné nezná,  pracuje s hodnotami číselnými, a proto připouští na místech  logických operandů nejen relace, ale i číselné výrazy. Při  vyhodnocování postupuje tak, že hodnoty operandů převede fcí  INT na celá čísla, vnitřně je zobrazí dvojkovým doplňkem a  provede žádané log. operace. Negací tedy dělá jako jedničkový  doplňek, takže např NOT 7 dává -8, NOT -1 dává 0 atd. Konečný  výsledek se pak posuzuje jako pravda, je-li nenulový, a jako  nepravda, je-li nulový. /7 i NOT 7 má logickou hodnotu pravda,  proto je ve smíšených výrazech třeba značné opatrnosti !!!/  V příkazu IF se konečná hodnota výrazu použitého na místě  podmínky už neupravuje funkcí INT, takže i nepatrná nenulová  hodnota se posuzuje jako splněná podmínka, jde-li o výraz  aritmetický.