Artikulu hau "Kalitatezko 1.000 artikulu 12-16 urteko ikasleentzat" proiektuaren parte da

Programazio-lengoaia

Wikipedia, Entziklopedia askea
Jump to navigation Jump to search

Programazio-lengoaiak ordenagailuaren portaera kontrolatzeko erabil daitezkeen hizkuntza artifizialak dira.

Java programazio-lengoaian idatzitako iturburu-kodearen adibide bat. Honek "Hello Wold!" mezua inprimatuko du programa konpilatu eta exekutatu egiten denean.

Bi atal definitu behar dira programazio-lengoaia bat definitzeko:

  • Programak osatzeko erabil daitezkeen aginduak (adb.: datu bat irakurri, datu bat inprimatu, kalkulatu eragiketa bat...)
  • Datuak errepresentatzeko erabil daitezkeen datu-motak (adb.: zenbakia osoa, zenbaki erreala, karakterea...)

Programa bateko aginduak idazteko orduan lengoaiak horrelako aginduak definitu ahal izateko dituen arau sintaktiko eta semantikoak errespetatu behar dira.

Sailkapena[aldatu | aldatu iturburu kodea]

Behe-mailako programazio-lengoaiak[aldatu | aldatu iturburu kodea]

Berez, konputagailuak lengoaia bakar bat ulertzen du: makina-lengoaia. Konputagailuko zirkuitu elektrikoek agindu xehe batzuk bakarrik egiten dituzte, eta horietan datuak kode bitarrean adierazi behar dira. Baina gizakiontzat makina lengoaian programatzea erokeria da:

  • Ulertezina da (dena kode bitarrean adierazita dago)
  • Aginduak sinpleegiak dira.
  • Konputagailu mota bakoitzak bere makina-lengoaia dauka eta batean dabilen programa bestean ez dabil.

Mihiztadura-lengoaia makina-lengoaiatik oso gertu dago, baina programak gizakiok hobeto uler ditzagun:

  • agindu bitarrak karaktere alfanumerikoekin adierazten dira
  • datuak atzitzeko helbide sinbolikoak erabiltzen dira, helbide bitarren ordez
  • oharrak txertatu daitezke programetan

Goi-mailako programazio-lengoaiak[aldatu | aldatu iturburu kodea]

Goi-mailako programazio lengoaiak egokiagoak dira programatzeko:

  • Datuak eta aginduak karaktere alfanumerikoen bidez aipa daitezke (ez kode bitarrean)
  • Datuak hartzeko aldagaiak defini ditzakegu
  • Agindu eta datu potenteagoak, landuagoak, erabil daitezke (ez eragiketa sinpleak soilik)
  • Hainbat konputagailu mota desberdinetan erabili ahal izango dira.
  • Zuzentzeko eta gaurkotzeko errazagoak dira, honela denbora aurrezten digu beste lengoaiekiko.
  • Oharrak txerta daitezke programa hobetu ulertzearren.

Beraz, goi-mailako programazio-lengoaia batean programatzea askoz errazagoa da.

Erdi-mailako programazio-lengoaiak[aldatu | aldatu iturburu kodea]

C programazio-lengoaia. Goi-mailako lengoaien abantaila gehienak ditu, baina aldi berean behe-mailakoen funtzionalitatea ere erabil daiteke. Horrela programa azkarrak lortu daitezke eta memoriako espazioa hobeto kudeatzen dutenak.


Elementuak[aldatu | aldatu iturburu kodea]

Aldagaiak eta bektoreak[aldatu | aldatu iturburu kodea]

Datu espezifikoak gordetzeko memoria guneak aldagaiekin izendatzen dira. Datu egiturak dira eta, horregatik, gorde ahal dituzten datu motaren arabera sailkatzen dira. Programazio-lengoaia gehienetan datu espezifikoak gordetzeko, datu mota zehaztu behar da lehendabizi. Adibidez, Java-n, testu-katea gorde nahi izanez gero, datua String motakoa izango dela zehaztu behar da. Beste aldetik, PHP edo JavaScript bezalako lengoaietan horrelako espezifikazioak ez dira beharrezkoak. Horretaz gain, bektore izeneko aldagai konposatuak daude. Bektoreak memorian ondoz ondoko byte multzoak besterik ez dira, eta, era berean, aldagai batean gordetzen dira. Jarraian, aldagai eta bektore mota ohikoenen zerrenda aurkezten da:

Datu mota Deskribapena
Char Aldagai hauek karaktere bakarrekoak dira, hau da, letra, zeinu edo zenbaki batekoak
Int Zenbaki osoak
Float Zenbaki hamartarrak
String Testu-kateak dira, beraz, zenbait Char aldagaiez osatutako bektoreak dira
Boolean 0 edo 1 balioa hartu dezakete soilik. Zeroa faltsutzat ("False") hartzen da eta bat-a egiazkoa ("True") da

Baldintzazko adierazpenak[aldatu | aldatu iturburu kodea]

Baldintzapeko adierazpenak kode-egiturak dira eta, programaren zati bat exekutatzeko, baldintza batzuk bete behar direla adierazte dute. Adibidez: bi aldagai berdinak izatea, balio bat beste bat baino handiagoa izatea... Baldintzatzaile horiek normalean behin bakarrik exekutatzen dira programan: Hauek dira baldintzatzaile ezagunenak:

  • If: If-aren ondoren dagoen programaren zatia exekutatzeko, if-aren barruan dagoen baldintza bete behar da.
  • Else if: "If" baten ondoren jartzen, ezin da inoiz bakarrik agertu, eta programaren zati bat exekutatzeko baldintza bat jartzen da bere barruan, beti ere aurreko if baldintza betetzen ez bada eta "else if" baldintza betetzen bada.
  • Else: "if" baten ondoren doa beti, eta batzuetan "else if" baten ondoren ere. Programa exekutatuko da aurreko baldintzak betetzen ez badira.

Begiztak[aldatu | aldatu iturburu kodea]

Baldintzazko adierazpenen antzekoak dira, baina kode zati bat etengabe exekutatzen dute zenbait baldintza betetzen diren bitartean. Ohikoenak hauek dira:

  • For: Kode zati bat exekutatzen du aldagai bat bi balio zehatzen artean dagoen bitartean.
  • While: Kode zati bat exekutatzen du baldintza betetzen den bitartean.

Nahiz eta begizta mota desberdinak egon, denak dira funtzio berdinak egiteko gai. Programatzailearen beharraren araberakoa da zein erabiliko duen erabakitzea.

Funtzioak[aldatu | aldatu iturburu kodea]

Funtzioak erabiltzen dira kode-zatiak etengabe ez errepikatzeko. Funtzio batek bere barnean kodea duen aldagaia izan daiteke. Beraz, aldagai hori (funtzioa) atzitzen dugunean, aurretik definitutako kodea exekutatzeko programari deitzen ari gara.

Programazio-lengoaia guztiek jatorrizko prestakuntza-elementuak dituzte datuak eta horiei aplikatutako prozesu eta transformazioak deskribatzeko. Elementu primitibo hauek arau sintaktiko eta semantikoak zehazten dituzte, hurrenez hurren, haien egitura eta esanahia deskribatzen dituztenak.

Inplementazioa[aldatu | aldatu iturburu kodea]

Lengoaia baten inplementazioa, software eta hardware konbinazio jakin baterako, programa exekutatzeko modu bat da. Bi oinarrizko era daude lengoaia bat inplementatzeko: konpilazioa eta interpretazioa.

  • Konpilazioa: Lengoaia jakin batean idatzitako programa bat beste lengoaia batera itzultzeko prozesua da, makinak interpretatu dezakeen programa baliokidea sortuz. Eragiketa hau burutu dezaketen itzultzaileak konpiladoreak deitzen dira. Hauek, programa mihiztatzaile aurreratuak bezala, iturburu programaren proposamen bakoitzeko kode lerro asko sor ditzakete.
  • Interpretazioa: Interpretatzaileak, legoaia formalean ondo sortuta dauden formulak interpretatu egiten ditu, eta horiei esanahi bat ematen die. Lengoaia formalek termino sintaktikoetan soilik definitu ahal direnez, haien formulak esanahirik gabeko sinbolo kateak izan daitezke.

Goi mailako lengoaiak itzultzeko beste aukera bat ere erabili daiteke. Iturburu-programa itzuli eta era iraunkorrean konpilazioan sortzen den objektu-kodea grabatu beharrean, programatzaileak soilik iturburu programa eta prozesatuko diren datuak soilik kargatzen ditu konputagailuan. Ondoren, programa interpretatzaileak, diskoaren sistema eragilean biltegiratuta edo makinean era iraunkorrean sartuta, iturburu programaren proposizio bakoitza makina-lengoaia bihurtzen du datuen prozesamenduan zehar beharrezkoa den heinean. Ez da objektu-kodea grabatzen geroago erabiltzeko.

Agindu bat erabiltzen den bakoitzean, berriro interpretatu beharko da eta makina-lengoaiara itzuli. Adibidez, ziklo edo begizta baten pausoen prozesamendu errepikakorrean zehar, begiztaren agindu bakoitza berriro interpretatu beharko da exekuzio bakoitzean. Horrek exekuzio denboran programa moteldu egiten du, baina diseinu denbora azkartu ere. Programaren aldaketa baten ondoren, funtzioak gehitzean edo erroreak zuzentzean, Interpretatzaileak, konpilazioaren beharra ezabatzen du; baina argi dago aurretik konpilatuta dagoen programa bat askoz azkarrago exekutatuko dela bere agindu guztiak exekuzioan zehar interpretatu behar dituen programa bat baino.

Goi mailako lengoaia gehienek erabilera anitzeko programazioa ahalbidetzen dute, nahiz eta horietako asko erabilera bakarrerako diseinatuta egon, Pascal matematikarako izan zen bezala. Argibide sinple batzuk erabiliz, haurrentzako legoaiak ere inplementatu dira, adibidez, Logo. Gaur egun, oso ezagunak dira web aplikazioentzat erabiltzen diren lengoaiak: Perl, PHP, Ruby, Python edo JavaScript.

Zenbait programazio-lengoaia:[aldatu | aldatu iturburu kodea]

Ikus, gainera[aldatu | aldatu iturburu kodea]

Kanpo loturak[aldatu | aldatu iturburu kodea]

Wikimedia Commonsen badira fitxategi gehiago, gai hau dutenak: Programazio-lengoaia Aldatu lotura Wikidatan