- 1. urratsa: Datu esanguratsuen aukeraketa
- 2. urratsa: Datuak errepresentatzeko moduaren aukeraketa
Bete beharreko urrats bi horiek zertan diren azal dezagun.
1. urratsa:
Datu esanguratsuen aukeraketa
Esan dugun bezala, arazo bat ebatzi nahi denean ordenadoreak erabiltzen dituen informazio zatiak errealitatearen abstrakzio bat da (errealitatearen hurbilpen bat, errealitatearen sinplifikazio bat). Ordenadoreak landuko duen informazioa datuen selekzio bat izango da, arazoan zerikusia duten datuena hain zuzen ere. Beste modu batez esanda, bilatzen ari garen emaitzak lortzeko esanguratsuak diren datuak aukeratzen dira.
Goian erakusten den eskeman, errealitatea irudikatzeko konplexua eta aberatsa den zerbaitetan oinarritu gara, eta errealitatetik abiatuta bi abstrakzio desberdin egingo ditugu:
- Errealitate horretan aurkitzen diren ezaugarri edo propietate guztietatik, arazo 1 deitu dugun problemarako batzuk bakarrik interesatzen zaizkigu (laukiaren bitartez adierazi ditugunak), eta arazo 1 problemari dagokion abstrakzioaz horiek jasoko dira besteak ahaztuz (ondorioz Abstrakzio 1 bitartez errealitatea sinplifikatu eta erraztu izan dugu). Demagun errealitatearen abstrakzio honen helburua gure lagun taldearen agenda bat egitea dela
- Errealitatea bat izanik, arazo 2 deitu dugun problemarako esanguratsuak diren ezaugarriak beste batzuk dira (zirkuluak adierazten dituena), horregatik bigarren arazoari dagokion abstrakzio-prozesuan abiapuntuko errealitatea bera izanik lortzen diren datuak bestelakoak dira. Demagun errealitatearen bigarren abstrakzio honen helburua gure lagun taldearen aprobetxamendu akademikoa neurtzea dela
Gure lagunen taldean, besteak beste, honako ezaugarriak edo propietateak egon daitezke:
- lagunaren izena
- lagunaren deiturak
- lagunaren telefonoa
- lagunaren helbidea
- lagunaren pisua
- lagunaren altuera
- lagunaren begien kolorea
- lagunaren egoera zibila
- lagunaren zaletasunak
- lagunaren ikastetxea
- lagunaren nota aurreskolan
- lagunaren nota 1. mailan
- lagunaren nota 2. mailan
- lagunaren nota 3. mailan
- lagunaren nota 4. mailan
- lagunaren urtebetetze eguna
- ...
Zer esanik ez, goian emandako ezaugarrien zerrenda baino askoz aberatsago eta konplexuago izan daiteke lagun baten kontzeptua.
Hona hemen, agenda lortzeko lehen abstrakzioa burutu ondoren aukeratutako datuak:
Ikus daitekeenez agenda bat egiterakoan funtsezko datuak lagunen identifikagarriak (izena, deiturak, telefonoa eta helbidea) dira, eta horiekin batera urteak noiz betetzen dituen eta gustuko dituen zaletasunak. Beraz, agenda eraikitzearen arazoari dagokion abstrakzioaz errealitatea sinplifikatu egiten da, ondoko irudian erakusten den bezala:
Abstrakzioa egiterakoan arazoak berak markatzen du zein ezaugarri onartu eta zein baztertu, horregatik ez da harritzekoa bigarren arazoa ebazteko (errendimendu akademikoa neurtzeko) behar izango diren propietateak bestelakoak izatea. Jarraian bigarren abstrakzio-prozesu hau erakusten da, demagun hauxe litzatekeela bigarren abstrakzioari dagokion eskema:
Lagun baten aprobetxamendu akademikoa baloratzeko funtsezko datuak erdiko zutabekoak izanik, abstrakzio-prozesuan gainerakoak arbuiatu egiten dira errealitatearen hurbilpen laburtua lortuz:
2. urratsa:
Datuak errepresentatzeko moduaren aukeraketa
Bigarren urrats hau ez da aurrekoarekiko erabat independente, eta batez ere arazoa ebazteko erabiliko den tresnan oinarritzen da. Lehen urratsak bigarrenari zer eragina sortzen dion adibide baten bitartez ikus dezagun.
Demagun 1. urratsaren ondorioz errealitatetik hartutako propietate edo ezaugarriren bat K kopuru baten bitartez sinplifikatzen edo abstraitzen ari garela; nolako adierazpidea erabaki K kopuru horretarako litzateke 2. urratsaren zioa, aukerak:
- K kopurua, K makiltxo bidez adieraz daiteke. Adierazpide hau oso intuitiboa denez ondo ulertzen da kopuru txikien batuketak eta kenketak burutzeko, eta horixe litzateke adierazpide honen abantaila bakarra.
- Bestalde, K kopurua zenbaketa sistema hindo-arabigoaren bidez adieraz daiteke ere. Errepresentazio honetan kopurua digituz ematen da, eta digituen pisua euren posizioaren araberakoa da. Oso intuitiboa ez delako adierazpide honek kalkuluak egiteko arauak behar ditu, baina kopuru handiak lantzeko aurrekoa baino aproposagoa da, halaber zenbaketaren sistemak erabiliz kopuruen arteko zatiketak eta biderketak burutu ahal dira.
Ikusten denez 1. urratsak markatzen du K kopurua eta mugatzen ditu bide batez 2. urratsaren posibilitateak, K txikia denean makiltxoen adierazpidea aukera daiteke, baina K kopurua handia denenan makiltxoen adierazpidea ez da egokia inolaz ere.
Arazo baten ebazpidean 2. urratsa datuak errepresentatzeko modua aukeratu behar dela esan dugu, eta urrats hau arazoa ebazteko erabiliko den tresnan oinarritzen da gehien bat. Gainera errepresentazioa edo adierazpidea mailakatuta egon ohi da, ondoko adibidean azaltzen den bezala.
Demagun 1. urratsaren ondorioz errealitatetik hartutako propietateren bat posizio baten koordenatuak direla, eta hori abstraitzeko X eta Y zenbaki errealak hautatu izan direla. X zenbaki erreal baten adierazpidea ordenadorearen bitartez lantzeko honelako mailetan bana daiteke:
- X zenbaki erreal bat adierazteko osoak diren B eta M zenbaki osoen bitartez egin daiteke. Non B eta M berretzailea eta mantisa diren.
- Behin X zenbaki erreal bat zenbaki osoen arabera jarriz gero, maila honek gainditu behar duen zailtasuna B edo M bezalako zenbaki osoei dagokien adierazpidea finkatzea. Ordenadoreak makina digitalak dielako kopuru oso bat sistema bitarrean adierazi beharko da eta horretarako teknika desberdinak daude.
- Kopuru oso bat zenbait bit bitartez adierazterik badago, azken mailaren zeregina bit bat nola errepresentatu litzateke. Bit baten adierazpiderako modu bat baino gehiago dagoela dakigu, hala nola tentsio edo korrontearen presentzia, fluxu magnetikoaren direkzioa, paper edo euskarri plastiko baten gaineko zuloa, etab.
Xehetasun guzti hauek programadoreak ez ditu aintzat hartuko, bere laguntzarako goimailako lengoaiak asmatu direlako. Izan ere goimailako lengoaia baten oinarrizko abstrakzioak eskaintzen dizkio programadoreari, adibidez zenbaki osoekin lan egin ahal izateko Integer eta bere familiako datu-motak eskainiz.
Urrunago joanda, aurredefinituriko datu-mota bakunak abiapuntutzat harturik goimailako lengoaiek datu-mota egituratuekin (estrukturatuekin) lan egiteko aukera ematen dute.