BASIC
Főnév
BASIC (tsz. BASICs)
A BASIC (Beginner’s All-purpose Symbolic Instruction Code) egy könnyen tanulható, általános célú programozási nyelv, amelyet az 1960-as években fejlesztettek ki kezdőknek, különösen nem informatikusoknak. A célja az volt, hogy mindenki programozhasson, nemcsak matematikusok és mérnökök.
A nyelvet John G. Kemeny és Thomas E. Kurtz alkotta meg 1964-ben a Dartmouth College-ben. A számítástechnika elérhetővé vált az oktatásban, otthonokban és kisvállalkozásokban is, részben a BASIC miatt.
Jellemzők
- Egyszerű, olvasható szintaxis (angolhoz közeli)
- Számozott sorok (klasszikus változatokban)
- Interaktív futtatás (azonnal kipróbálható kód)
- Fordító vagy interpreter alapú
- Könnyen tanulható, de nem hatékony nagy rendszerekhez
Első BASIC program – „Hello, World!”
Klasszikus stílusban:
10 PRINT "HELLO, WORLD!"
20 END
Modern változatban (pl. FreeBASIC):
PRINT "Hello, World!"
Alap szintaxis
Változók
BASIC-ben a változók implicit módon jönnek létre használatkor. Klasszikusban nem kellett típusmegadás:
A = 10
B$ = "Hello"
$jel: szöveg (string) változó- Egyéb: szám
Modern BASIC változatokban használható típus:
DIM szam AS INTEGER
DIM szoveg AS STRING
Műveletek
A = 5 + 3 ' Összeadás
B = A * 2 ' Szorzás
C = B / 4 ' Osztás
Szövegösszefűzés:
N$ = "Hello" + " " + "World"
Elágazások – IF THEN
IF A > 10 THEN PRINT "Nagyobb, mint 10"
Többágú feltétel modern változatban:
IF A > 10 THEN
PRINT "Nagyobb"
ELSEIF A = 10 THEN
PRINT "Pont jó"
ELSE
PRINT "Kisebb"
END IF
Ciklusok – FOR, WHILE
FOR I = 1 TO 5
PRINT I
NEXT I
WHILE ciklus:
WHILE A < 10
A = A + 1
PRINT A
WEND
Alprogramok és függvények
Klasszikus változatban:
GOSUB 100
...
100 PRINT "Alprogram fut"
RETURN
Modern stílus:
SUB Udvozlet()
PRINT "Szia!"
END SUB
CALL Udvozlet()
Függvény:
FUNCTION Negyzet(x AS INTEGER) AS INTEGER
Negyzet = x * x
END FUNCTION
PRINT Negyzet(5) ' 25
Tömbök
DIM tomb(5) ' 0-tól 5-ig = 6 elem
tomb(0) = 10
tomb(1) = 20
PRINT tomb(1)
Bevitel – INPUT
INPUT "Add meg a neved: ", nev$
PRINT "Szia, "; nev$
Fájlkezelés
OPEN "adat.txt" FOR OUTPUT AS #1
PRINT #1, "Ez egy fájlba írt szöveg."
CLOSE #1
Grafika (QBASIC/FreeBASIC)
SCREEN 12
LINE (10,10)-(100,100), 4
CIRCLE (150,150), 50, 14
SCREENbeállítja a grafikus módotLINErajzol vonalatCIRCLErajzol kört
Modern BASIC nyelvek
A klasszikus BASIC ma már nem használatos komoly fejlesztésekre, de több modern változata is létezik:
FreeBASIC
- Szabadon elérhető, C-hez hasonló képességekkel
- Támogatja az OOP-t, függvényeket, modulokat
Visual Basic / VB.NET
- Microsoft fejlesztése
- Windows alkalmazásokhoz
- Integrálódik a .NET környezettel
QB64
- Klasszikus QBASIC kompatibilis, de modern rendszereken is fut
- Hang, grafika, hálózat elérhető
Használati területek (történelmileg)
- Oktatás (iskolák, tanfolyamok)
- Otthoni gépek programozása (pl. Commodore 64, ZX Spectrum)
- Egyszerű adatgyűjtő, számoló programok
- Játékprototípusok
Előnyök
- Nagyon könnyen tanulható
- Gyors sikerélmény kezdőknek
- Klasszikus BASIC interpreterek azonnal futnak
- Sok dokumentáció, retro nosztalgia
Hátrányok
- Klasszikus változat túl egyszerű, strukturálatlan (pl.
GOTO,GOSUB) - Nem skálázható nagy rendszerekhez
- Modern szoftverfejlesztéshez elavult szintaxis
- Változatok között nagy különbség lehet (QBASIC, Visual Basic, stb.)
Példaprogram – Számkitaláló
RANDOMIZE TIMER
szam = INT(RND * 100) + 1
DO
INPUT "Tippelj egy számot 1 és 100 között: ", tipp
IF tipp < szam THEN
PRINT "Túl kicsi!"
ELSEIF tipp > szam THEN
PRINT "Túl nagy!"
ELSE
PRINT "Gratulálok, eltaláltad!"
END IF
LOOP UNTIL tipp = szam
BASIC öröksége
Bár a BASIC ma már nem a legmodernebb nyelv, a hatása óriási volt:
- Több millió embert vezetett be a programozás világába
- Hozzájárult a számítástechnika népszerűsítéséhez
- Olyan platformok, mint Commodore, Apple II, ZX Spectrum alaptartozéka volt
Sokan, akik ma profi fejlesztők, BASIC-kel kezdték.
Zárszó
A BASIC mára inkább történelmi jelentőségű nyelv, de kiváló belépési pont volt a programozás világába. Ha szeretnél megismerni egy egyszerű, olvasható nyelvet, vagy érdekel a retro számítástechnika, a BASIC remek választás.