BASIC
BASIC | |
---|---|
![]() | |
Jatorria | |
Sorrera-urtea | 1964 |
Ezaugarriak | |
Programazio paradigma | non-structured programming (en) ![]() ![]() |
Deskribapena | |
Honen eragina jaso du | FORTRAN, FORTRAN II (en) ![]() ![]() |
Ekoizpena | |
Diseinatzailea | John George Kemeny |
Garatzailea | Thomas Eugene Kurtz (en) ![]() |
BASIC edo Beginner's All-purpose Symbolic Instruction Code (Hasiberrientzako helburu guztietarako instrukzioen kode sinbolikoa) maila altuko programazio lengoaia familia bat da. Erabilterraza zen lengoaia bat izateko asmoz sortu zen, 1964an. Baina 1980ko hamarkadan zabaldu zen bere erabilera batez ere,[1][2] eta gaur egun, beronen aldaera ugari ditugu gure artean.
BASIC lengoaiak izugarrizko ospea izan zuen, bi inplementaziori esker batez ere, Tiny BASIC eta Microsoft BASIC, eta mikroordenagailu edo mikrokonputagailuen lehen lengoaia bihurtu zen. Garrantzi handiko beste inplementazioen artean, hauek dira aipagarrienak: CBASIC (BASIC konpilatua), Integer eta Applesoft BASIC (Apple II-rentzat), GW-BASIC (konputagailu pertsonalentzat), Turbo BASIC (Borland) eta Microsoft QuickBASIC.
BASIC lengoaiak aldaketak izan ditu urteak joan ahala. Horrela, aurreneko bertsioak interpretatuak ziren, ez egituratuak. Azkenekoak, berriz, egituratuak dira, eta sarritan, baita konpilatuak ere. BASIC izan da urte askotan zehar programatzaile hasiberriek ikasten duten lehen lengoaia, erabilerraza eta ulerterraza delako, eta beste lengoaia zailago batzuen oinarrizko kontzeptu berdinak dituelako.
BASICen bilakaeran funtsezkoa izan zen Microsoften Visual Basic (VB) lengoaiaren sorrera. Lengoaiaren ohiko gako-hitz guztiak erabili arren (sententziak, kontrol-egiturak eta barne-funtzioak), datu-motak eta haien maneiua barne; VB askoz ere ahaltsuagoa eta eboluzionatuagoa da; Windows plataformatan gehien erabiltzen den lengoaietako bat izanik, aplikazio komertzialetan nagusitasuna izatera iritsiz.[3][4]
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/85/AtariBasicExample.png/200px-AtariBasicExample.png)
Ezaugarriak
[aldatu | aldatu iturburu kodea]Sintaxia
[aldatu | aldatu iturburu kodea]BASICeko gutxieneko sintaxiak LET, INPUT, PRINT, IF eta GOTO komandoak baino ez ditu barneratzen. Gutxieneko sintaxi hori duten programak egiten dituen interpretzaileak ez du pilarik behar. Lehen inplementazioetako batzuek horren sinpleak ziren. Pila bat gehitzen bazaio interpretatzaileari, habiatutako FOR begiztak eta GOSUB komandoa ere gehitu daitezke. Ezaugarri horiek dituen BASIC interpretatzaileak linea-zenbakiak behar ditu kodean.
Linea zenbakiak BASIC klasikoaren oso alderdi bereizgarria izan ziren. Hala ere, linea-zenbakiak erabiltzeak badu desabantaila bat: programatzaileak jakin behar du zenbat linea erabiliko dituen. Hori saihets daiteke tarte erregular bat barneratuz lerro jarraien artean (10 esaterako).
BASICeko bertsio berrietan ez da beharrezkoa lerro zenbakiak jartzea, onartzen diren arren, zeren eta gehienetan bloke egituratuak barneratu diren C eta Pascal lengoaien ildotik:
- do
- loop
- while
- until
- exit
- on... goto
- gosub
- select ... case
Interpretatzaile gehienetan ere REM (remark) komandoa eskaintzen da oharrak jartzeko, baina helburu bera lortzen da ' (komatxo sinplea) sinboloa erabiliz. Visual Basic bezalako bertsio berrietan objektuetara bideratutako lengoaietako ezaugarriak barneratu dira.
Lengoaia | Zertarako sortua | Agintzailea | Objektuei zuzendua | Funtzionala | Prozedurazkoa | Generikoa | Erreflektiboa | Gertaeretara zuzendua | Beste paradigmak | Normalizatua? |
---|---|---|---|---|---|---|---|---|---|---|
BASIC | style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|Bai | style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|Bai | style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|1983, ANSI, ISO, ECMA |
Programa sinpleak. Adibide batzuk
[aldatu | aldatu iturburu kodea]Kaixo mundua adibidea. Programa honek "Kaixo, mundua!" idazten du lehenetsitako irteera-gailuan (monitorea, gehienetan):
NEW
10 PRINT "Kaixo, mundua!"
RUN
"NEW" aginduak memorian zegoena husten du. Zenbaki batekin hasten den edozein linea programa baten zati gisa gordeko da eta zenbakia markatzen duen ordena erlatiboaren arabera exekutatuko da programa. "RUN" aginduak memorian dagoen uneko programa exekutatzen du.
BASICek ordenaren arabera exekutatzen ditu kode-lerroak. Programa honekin:
NEW
10 PRINT "Ni"
3 PRINT "Zu"
RUN
emaitza hau izango da:
ZuNi
Ok
BASICek zuzeneko aginduak onar ditzake kode-lerroko zenbakirik gabe ere. Lehengo programa bera lerro hasierako zenbakirik gabe ere idatz daiteke . Zuzenean honela idatz daiteke:
PRINT "Kaixo, mundua!"
Kaixo, mundua!
Ok
"RUN" agindurik gabe ere exekutatu da programa, baina horrela ez da memorian gordeko.
Lerro berean agindu bat baino gehiago jar daitezke bi puntuz bereizita:
NEW
10 PRINT "Kaixo, mundua! ": PRINT "Agur, mundua!"
RUN
Kaixo, mundua! Agur, mundua!
Ok
Agindu erabilienak
[aldatu | aldatu iturburu kodea]LET
[aldatu | aldatu iturburu kodea]Ezkerreko aldagaiak eskuineko eragiketa ebaluatuz lortzen den balioa hartzen du.
- Adibidez:
1 LET A=2+3
Agindu hori eginda, "A" aldagaiak "5" balioa hartzen du. LET agindua laster bihurtu zen inplizitua BASICen bertsio askotan, eta, beraz, aurreko instrukzioa honela sartu ahal izan zen:
- Adibidez:
1 A=2+3
Monitorean balio edo kate bat idazten du.
- Adibidez:
1 A=2+3
Horrek 2+3=5 idazten du monitorean
INPUT
[aldatu | aldatu iturburu kodea]Aldagai batentzako balioa jasotzeko agindua da.
- Adibidez:
3 INPUT B
4 PRINT A; "+"; B; "="; A+B
Balio bat eskatu, "A"-renarekin batu, eta batura pantailan idazteko.
IF/THEN
[aldatu | aldatu iturburu kodea]IF aginduko baldintza betetzen denean, THEN ataleko agindua egiten du, bestela ez.
- Adibidez:
5 IF A+B=9 THEN END
Berdinketakoi balioak berdinak badira, programa amaitu egiten da, bestela, jarraitu egiten du.
GOTO
[aldatu | aldatu iturburu kodea]Adierazitako lerrora salto egiten du
- Adibidez:
6 GOTO 3
Salto egin berriro zenbaki bat eskatzen duen agindura.
Adibide osoko programa eta irteera
[aldatu | aldatu iturburu kodea]NEW
1 LET A=2+3
2 PRINT "2+3="; A
3 INPUT B
4 PRINT A; "+"; B; "="; A+B
5 IF A+B=9 THEN END
6 GOTO 3
RUN
2+3=5
? 6
5+6=11
? 4
5+4=9
Ok
BASIC ez-egituratua eta BASIC egituratua
[aldatu | aldatu iturburu kodea]Jatorrizko BASIC ez-egituratua (Applesoft BASIC)
[aldatu | aldatu iturburu kodea]NEW
10 INPUT "Zein da zure izena?:"; NN$
20 PRINT "Ongi etorri 'Puztarri-zalera',";NN$
25 PRINT
30 INPUT "Zenbat puztarri hasteko?:"; N
40 IF N<=0 THEN GOTO 200
50 AS$=""
60 FOR I=1 TO N
70 AS$=AS$+"*"
80 NEXT I
90 PRINT "Hemen dituzu:"; AS$
100 INPUT "Puztarri gehiago?:";SN$
110 IF SN$="" THEN GOTO 100
120 IF SN$<>"S" OR SN$<>"s" THEN GOTO 200
130 INPUT "Zenbat aldiz errepikatuta:"; ALDIAK
140 IF ALDIAK<=0 THEN GOTO 200
150 FOR I=1 TO ALDIAK
160 PRINT AS$;
170 NEXT I
180 PRINT
185 REM Bloke osoa errepikatzera (oharra)
190 GOTO 25
200 END
BASIC egituratua, aurrekoaren baliokidea (Quick BASIC)
[aldatu | aldatu iturburu kodea]NEW
DEFINT I-N 'I eta N arteko hizkiez hasitako aldagaiak zenbaki osoak
iTrue = -1 'Egiazkoa adierazteko Flag-a
INPUT "Zein da zure izena?:"; Izena$
PRINT "Ongi etorri 'Puztarri-zalera',"; Izena$
DO
PRINT ""
INPUT "Zenbat puztarri hasteko?:"; N
IF N<=0 THEN EXIT DO
Segida$ = ""
FOR I=1 TO N
Segida$=Segida$ + "*"
NEXT I
PRINT "Hemen dituzu:"; Segida$
DO
INPUT "Jarraitu nahi?";SN$
LOOP UNTIL SN$<>""
IF SN$<>"B" OR SN$<>"b" THEN EXIT DO 'Begiztatik irten
INPUT "Zenbat aldiz errepikatuta::";iAldiak
IF iAldiak<=0 THEN EXIT DO 'Begiztatik irten
FOR I = 1 TO iAldiak
PRINT Segida$;
NEXT I
PRINT
LOOP WHILE iTrue
END
Lengoaiaren eskuragarritasuna eta bertsioak
[aldatu | aldatu iturburu kodea]BASIC eskuragarri dago ia plataforma eta sistema eragile guztietan. Estandarrak betetzen dituen doako inplementazio bat eta multiplataforma da Bywater BASIC (bwBASIC). Interpretea C lengoaiaz idatzita dago eta GNU lizentziapean dator. Testu-interfazerako edo kontsolarako diseinatuta dago (ez grafikoa), eta ez du euskarririk erabiltzailearen interfaze grafikoak sortzeko (GUI's, Graphical User Interface). Doako BASIC bat badago, GUIrako laguntza badu, Visual Basic-en antzekoa da eta Windowsen eta GNU/Linux-en exekutatzen da, Phoenix Object BASIC da.
Interpretatzaile/konpilatzaile ezagunenen bertsioak Quick BASIC eta QBASIC produktu-lerroan daude. Azken hori interpretea baino ez da, biak Microsoftenak dira. Gaur egun, Visual BASIC modernoa da. Microsoft BASICen lehen bertsioekin ere gutxieneko bateragarritasunari eusten saiatu da (egia esan, ez da oso bateragarria), baina badago FreeBASIC, konpiladore librea, horren sintaxia bateragarria da QBASIC/QuickBASICekin.
Beste bertsio komertzial batzuk ere badira: PowerBASIC (PowerBASIC), Fantaisie Software-ren PureBasic (Pure Basic) eta TrueBASIC (TrueBASIC). BASICen azken estandar ofizialak betetzen dituzte.
Mac OS Classic, Mac OS X, Microsoft Windows eta GNU/Linux sistema eragiletarako aldaera bat da REALbasic. Rapid-Q aldaeraren egungo jabeek merkaturatu dute, eta, hasiera batean, bertan behera utzitako BASICen beste ezarpen bat da, hasieran libre zena. BASICen parrot birtual machinerako dialekto sinple baten bertsioak erakusten du nola inplementatzen den BASICeko interpretea mihiztatzailearen antzeko lengoaian. SmallBASIC plataforma askotan (Win32, DOS, GNU/Linux eta PalmOS) exekutatzen den BASIC aldaera da eta GNU (GPL) lizentziapean dago.
BASIC lengoaiaren freeware- edo GNU-ezarpen asko daude, hala nola BCX, YaBasic, HBasic, XBasic, Gambas eta Just BASIC, besteak beste.
BASIC lengoaiaren inplementazioak
[aldatu | aldatu iturburu kodea]- BasictoPHP
- Dartmouth BASIC
- Tiny BASIC
- Locomotive BASIC
- XBasic
- Xblite
- SuperBASIC
- PluriBASIC
- FreeBASIC
- Gfa-BASIC
- Rapid-Q
- PowerBASIC
- AutoIt
- LSE (lenguaje)
Microsoft-eko BASIC bertsioak
[aldatu | aldatu iturburu kodea]- Aspaldiko konputagailuetarako
- IBM PC DOS sistema eragilerako
- MS-DOS
- Windows sistema eragilerako
- Internet-erako
BASIC MacIntosheko konputagailuetarako
[aldatu | aldatu iturburu kodea]BASIC GNU/Linux sistema eragilerako:
[aldatu | aldatu iturburu kodea]Erreferentziak
[aldatu | aldatu iturburu kodea]- Artikulu honen edukiaren zati bat Lur hiztegi entziklopedikotik edo Lur entziklopedia tematikotik txertatu zen 2011/12/27 egunean. Egile-eskubideen jabeak, Eusko Jaurlaritzak, hiztegi horiek CC-BY 3.0 lizentziarekin argitaratu ditu, Open Data Euskadi webgunean.
- ↑ Arrojeria, Eustakio. (1996). Basic. Programatzeko ariketak / egileak, Eustakio Arrojeria, Pili Lizaso ; laguntzaileak, Andoni Sagarna, Kepa Sarasola (Elhuyar Informatika-taldea). : Elkar, ISBN 978-84-7529-342-4. (Noiz kontsultatua: 2023-10-31).
- ↑ Sarasola Gabiola, Kepa. (1981). GALDETSU: Konputagailuz lagunduriko irakaskuntzarako sistema. (Noiz kontsultatua: 2023-10-31).
- ↑ Artola Zubillaga, Xabier; Maritxalar Anglada, Montse. (1997). Programazio-ingurune aurreratuak: Visual Basic Informatikaren egungo ikuspegi.... (Noiz kontsultatua: 2023-10-31).
- ↑ Bengoetxea Castro, Endika. (1997). Programazio-ingurune aurreratuak: Visual Basic. (Noiz kontsultatua: 2023-10-31).
Bibliografia
[aldatu | aldatu iturburu kodea]- KEMENY, J.G.; T.E. KURTZ. Structured BASIC programming. New York, USA: John Wiley & Sons, 1986.
- Bennet, P. Lientz. A comparative evaluation of versions of BASIC. New York, USA: ACM, 1976, p. 175-181.
- Gottfries, Byron S. Teoría y problemas de Programación BASIC. traducción, Guillermo Caro Murillo, Jesús Villamizar Herrera. 2a. ed.. Buenos Aires; Bogotá: McGraw-Hill, 1984, p. 278 p..
- Kemeny, John G.; Thomas E. Kurtz. Programación BASIC. México: Cecsa, 1984, p. 432 p..
- Finkel, Leroy; Jerald R. Brown. Programación de archivos de datos en BASIC. México; Argentina: Limusa, 1986, p. 361 p.. «(Series Instrucción Programada Limusa)»
- Petroutsos, Evangelos. Visual Basic 6. 1a ed.. Anaya Multimedia, 1999, p. 864 p..
- Dobson, Rick. Programación De Microsoft Sql Server 2000 Con Microsoft Visual Basic .net. 1a ed.. McGraw-Hill, 2002, p. 664 p..Halvorson, Michael. Visual Basic 2008. 1a ed.. Anaya Multimedia, 2008, p. 656 p..
Ikus, gainera
[aldatu | aldatu iturburu kodea]- Programazio
- Informatika
- Software
- Programazio-lengoaien arteko konparazioa
- Goi-mailako programazio-lengoaiak
- Lengoaia interpretatua
- Interpretatatzailea
Kanpo estekak
[aldatu | aldatu iturburu kodea]- Arrojeria, Eustakio. (1996). Basic. Programatzeko ariketak / egileak, Eustakio Arrojeria, Pili Lizaso ; laguntzaileak, Andoni Sagarna, Kepa Sarasola (Elhuyar Informatika-taldea). : Elkar, ISBN 978-84-7529-342-4.
- Sarasola, kepa. Galdetsu: Konputagailuz lagunduriko irakaskuntzarako sistema. 1981. Zientzia Fiskoetako graduko titulua lortzeko tesina. Zuzendariak: Josu Aranberri eta Jose Ramon Etxebaria. EHU. Zientzia Fakultatea
- Artola Zubillaga, Xabier; Maritxalar Anglada, Montse. (1997). Programazio-ingurune aurreratuak: Visual Basic Informatikaren egungo ikuspegi.... (Noiz kontsultatua: 2023-10-31). Ikastaroa UEU, 1997
- Bengoetxea Castro, Endika. (1997). Programazio-ingurune aurreratuak: Visual Basic. (Noiz kontsultatua: 2023-10-31). Hitzaldia, UEU, 1997
- (Ingelesez) Tomas Kurtz, BASIC lengoaiaren sortzaileetako bat
- (Ingelesez) A Brief History of Programming Languages
- (Ingelesez) True BASIC - Home Web
- (Gaztelaniaz) Tutorial de QBasic - Universidad de Oviedo
- (Gaztelaniaz) Tutorial de QBasic -Monografias.com
- (Ingelesez) iBASIC - Home Web
- (Frantsesez) Didacticiel sur le Basic
- (Frantsesez) Centre de développement Visual Basic sur MSDN France