BASIC (engleska skraćenica za Beginner's All-purpose Symbolic Instruction Code) je viši programski jezik za računala. Može biti interpreter, ili prevodilac. Interpreter svaki puta translatira BASIC tekst, te je potrebno imati izvorni kod. Prevodilac jednom prevede BASIC tekst u strojni kod, i izvršava se strojni kod, ne treba imati source kod.
Kao programski jezik bio je iznimno popularan na kućnim računalima u 1980-tim godinama (ZX Spectrum, Commodore 64 i Commodore 128, Amiga, Amstrad, Texas Instruments TI-99/4A, Orao...) Poštuje svoj skup sintaksnih pravila (petlje, ispis, logičko ispitivanje, rad s datotekama, itd.). Vrlo je jednostavan za uporabu i lagan za učenje.
Povijest
BASIC su osmislili 1964. godine John Kemeny i Thomas Kurtz.
Struktura jezika
BASIC linija izvornog koda sastoji se od
- broja linije (neki BASIC-i ne trebaju imati broj linije, već koriste labele - tekstualne oznake za dio koda)
- naredbe s parametrima, može biti više naredbi u liniji, odvajaju se dvotočkom ':'
Sintaksa
BASIC jezici imaju vrlo jednostavnu sintaksu (sukladno imenu: Beginner's All-purpose...).
Varijable
Ime varijable može imati do 256 znakova, provjeriti u manual-u vašeg BASIC-a, ne smije počinjati brojem, velika i mala slova nisu važna, smije sadržavati znakove: abcdefghijklmnopqrstuvwxyz.0123456789 (uključujući i točku).
Postoji više tipova varijabli:
- integer: cijeli broj između -32,768 i 32,767
- long: cijeli broj između -2,147,483,648 i 2,147,483,647
- single: decimalni broj "jednostruke preciznosti"
- double: decimalni broj "dvostruke preciznosti"
- string: znakovi koji se ne shvaćaju kao brojevi
Najčešće naredbe
Kratak pregled najčešće naredbi koje se najčešće upotrebljavaju:
PRINT - ispisuje tekst na ekran, npr.:
PRINT "Hello world!"
PRINT - ispisuje rezultat aritmetičke operacije:
PRINT 145 + 3986
PRINT - višestruki ispis
- ',' zarez kao separator, razmakni do slijedeće zone
- ';' točka-zarez kao separator, nastavi ispis dalje
PRINT 3*11, 55 + 22
LET - za izračunavanje matematičkih izraza, velika većina BASIC-a ne zahtijeva ovu naredbu, već dozvoljavaju samo matematički izraz:
LET DX=X2-X1
ili
DX=X2-X1
- u varijablu DX spremiti će razliku X2 i X1
INPUT - zahtijeva od korisnika da upiše tekst/broj koji će biti upisan u jednu ili više varijabli:
INPUT "Upiši dva broja:", x, y
- x i y su imena varijabli, a od korisnika zahtijeva da ih odvoji zarezom.
IF-THEN-ELSE - naredbe grananja. Prijevod na hrvatski: AKO-ONDA-INAČE.
IF x > 10 THEN PRINT "Broj je veći od 10." ELSE PRINT "Broj je manji od 10."
GOTO skoči, idi na, dio programa naveden iza naredbe. Može biti broj linije, ili labela, ako ih BASIC podržava. Pogledati pod podnaslovom Primjeri.
GOSUB / RETURN Poziv podprograma. Skoči, idi na, dio programa naveden iza naredbe sa povratkom. Može biti broj linije, ili labela, ako ih BASIC podržava.
FOR-NEXT petlja:
FOR i = 1 TO 10
PRINT i
NEXT i
- Ovo će ispisati brojeve od 1 do 10.
DO-LOOP petlja: ponavlja sekciju naredbi unedogled ili do while/until točnosti specificiranog uvjeta. Uvjet se može izračunavati na početku petlje (ni jednom neće biti izvršena) ili na kraju (barem jednom će biti izvršena). Za potpuni opis MORATE konzultirati priručnik vašeg BASIC-a.
i = 1
DO
PRINT i
i = i + 1
LOOP UNTIL i > 10
- Ista stvar kao i u primjeru za petlju FOR-NEXT.
i = 1
DO
PRINT i
i = i + 1
LOOP WHILE i <= 10
- Opet isto.
Programske strukture
Dostupnost
Velika većina nekadašnjih BASIC-a je dostupna kroz razne emulatore.
Primjeri
Sljedeći program je primjer beskonačne petlje, i jedini način prekidanja jest uporaba BREAK signala.
10 PRINT "Ovo je mali BASIC program" 20 GOTO 10 Još jedan primjer: x=10 DO WHILE x=10 a=a+1 PRINT a LOOP
Dijalekti
Srodni jezici
- QBasic - verzija za DOS
- Amiga Basic - Basic na računalima Commodore Amiga
- Orao Basic - Basic na računalu PEL Varaždin ORAO MR102
- Microsoft Visual Basic - Basic za izradu Windows aplikacija
- Microsoft Visual Basic for Applications - Basic za izradu aplikacija u Office okruženju
Standardi
- ANSI Standard for Minimal BASIC (ANSI X3.60-1978 "FOR MINIMAL BASIC")
- ISO Standard for Minimal BASIC (ISO/IEC 6373:1984 "DATA PROCESSING - PROGRAMMING LANGUAGES - MINIMAL BASIC")