2019(e)ko otsailaren 28(a), osteguna

25. astea | laborategia prestatzen

25. astea (2019/03/06) laborategirako eginda ekarri behar dena

Gaurko ariketen bitartez azpiprogramak landuko dira. Hona hemen enuntziatuak:

24. astea | mintegian egindakoa

24. astea (2019/02/27) mintegian egin dena
  • Zerrenda pasatu dugu, deitutakoen artean ez etorriak:
    • Uxue Zubeldia.
    • Jon Vazquez.

2019(e)ko otsailaren 26(a), asteartea

24. astea | letra bat asmatzen

Ordenadoreak letra bat pentsatuko du eta guk asmatu beharko dugu

A eta Z bitartean dagoen letra bat aukeratuko du ordenadoreak eta ezezaguna den letra hori guk asmatuko dugu. Egiten dugun saiakera bakoitzeko, programak informazioa emango digu esanez letra ezezaguna zein tartetan dagoen Algoritmoa hauxe da:
  1. Ordenadoreak letraba aukeratuko du, A eta Z bitartean dagoen letra bat aukeratuko du. Horretarako, Random() funtzio estandarra erabiliko du.
  2. Ezezaguna den letraren heina [A, Z] da hasieran, behemuga A eta goimuga Z. Beraz, cBehemuga:='A' eta cGoimuga:='Z'
  3. Errepikatu letra asmatu arte edo 5 saiakera egin arte:
    • Teklatuaren bitartez irakurriz, soluzio bat proposatuko diogu programari. Sistemarik eraginkorrena da tartearen erdiko letra proposatzea programari, honela: cSoluzioa := Chr((Ord(cBehemuga) + Ord(cGoimuga)) DIV 2)
    • Gure proposamenaren arabera programak honela jokatuko du, aukerak:
      • Proposatutako letra eta programak asmatutakoa bat datoz, letra asmatu dugunez begiztatik irten.
      • Proposatutako letra eta programak asmatutakoa ez datoz bat, ez dugunez letra. asmatu beste saiakera bat emango digu programak (5 saiakeraren muga ez badugu gainditu). Hurrengo saiakerarako tartea egokituko programak, honelaxe:
        • Proposatu diogun letra programarena baino handiagoa bada (tartearen cGoimuga aldatu eta 3. urratsaren hasierara itzuli saiakera berri bat egiteko).
        • Proposatu diogun letra programarena baino txikiagoa bada (tartearen cBehemuga aldatu eta 3. urratsaren hasierara itzuli saiakera berri bat egiteko).
  4. Emaitza erakutsi, begiztatik irteteko aukerak:
    • Letra asmatu diogu programari: cSoluzioa erakutsi.
    • Saiakerak 5 baino gehiago izan dira.
Zergatik 5 saiakera?
A-ren eta Z-ren artean 26 karaktere, beraz:
log2(26)=4,7
logaritmo (2 oinarrian) 26 zenbakiarena 4,7 da

Ikusi programaren balizko exekuzio bat:

Eta hau da...

24. astea | zenbaki bat asmatzen

Guk pentsaturiko zenbakia ordenadoreak asmatuko digu

0 eta 100 bitartean dagoen zenbaki osoa pentsatuko dugu eta ordenadoreak galdera batzuk eginez zenbaki hori asmat uko digu. Algoritmoa hauxe da:
  1. Zenbaki osoa pentsatu dugu, 0 eta 100 bitartean dagoen zenbaki osoa pentsatu dugu.
  2. Ezezaguna den zenbakiaren heina [0, 100] da hasieran, behemuga 0 eta goimuga 100. Beraz, iBehemuga:=0 eta iGoimuga:=100
  3. Errepikatu zenbakia asmatu arte edo 7 saiakera egin arte:
    • Proposatuko digun soluzioa kalkulatu, soluzioa: baligarria den heinaren erdia. Beraz, iSoluzioa := (iBehemuga + iGoimuga) DIV 2
    • Programak galdetuko digu proposatu duen soluzioa egokia den ala ez, aukerak:
      • B, bai, proposatutako zenbakia guk pentsatu duguna izan da (begiztatik irten).
      • H, ez, proposatutako zenbakia ez da guk pentsatutakoa, proposatutako zenbakia gurea baino handiagoa da (heinaren iGoimuga aldatu eta 3. urratsaren hasierara itzuli saiakera berri bat egiteko).
      • T, ez, proposatutako zenbakia ez da guk pentsatutakoa, proposatutako zenbakia gurea baino txikiagoa da (heinaren iBehemuga aldatu eta  3. urratsaren hasierara itzuli saiakera berri bat egiteko).
  4. Emaitza erakutsi, begiztatik irteteko aukerak:
    • Gure erantzuna B izan denez, ordenadoreak gure zenbakia asmatu du: iSoluzioa erakutsi.
    • Saiakerak 7 baino gehiago izan dira, horrek esan nahi du ez dugula zuzen jokatu eta gure erantzunetan gezurra esan diogula programari.
Zergatik 7 saiakera?
1-tik 100-ra, biak barne, 101 aukera. Beraz:
log2(101)=6,658
logaritmo (2 oinarrian) 101 zenbakiarena 6,658 da

Ikusi programaren balizko exekuzio bat:

Eta hau da...

2019(e)ko otsailaren 20(a), asteazkena

24. astea | mintegia prestatzen

24. astea (2019/02/27) mintegirako eginda ekarri behar dena

Datorren saioa mintegia da eta kontutan izan derrigorrezkoa dela etortzea, hirukoteak elkarrekin jezarriko zarete. Proiektuari buruz hitz egingo dugu.

Gaurko ariketak bi gai inguruan ibiliko dira: agindu errepikakorrak eta karaktereak. Hona hemen enuntziatuak:

23. astea | laborategian egin dena

23. astea (2019/02/20) laborategian egindakoa
  • Zerrenda pasatu dugu, deitutakoen artean ez etorriak:
    • Nerea Zelaia.
    • June Sagastabeitia (justifikatuta).
  • Etxerako proposaturik zegoen batukariaren ariketa egin dugu.
  • Zenbaki osoen segidan aurrekoa baino handiagoa zenbat izan diren ariketa egin dugu.
  • Tenperaturen taularekin hasi zarete batzuk.
  • Erabiltzaileak teklatu bidez emandako zenbaki oso bat irakurri eta zenbaki horrekiko zenbakirik hurbilena zehaztea ariketa ez duzue egin.

2019(e)ko otsailaren 13(a), asteazkena

23. astea | laborategia prestatzen

23. astea (2019/02/20) laborategirako eginda ekarri behar dena

Gaurko ariketen bitartez agindu errepikakorrak landuko dira. Hona hemen enuntziatuak:

2019(e)ko otsailaren 12(a), asteartea

22. astea | mintegian egindakoa

22. astea (2019/02/13) mintegian egin dena
  • Zerrenda pasatu dugu, deitutakoen artean ez etorriak:
    • Izaskun Olasagasti.
    • June Sagastabeitia.
  • Lantaldeak osatu ditugu, baina talde batzuk ez dute taula eguneratu.
  • Biderketa taula inprimatzen duen programa egin ondoren...
  • ...zenbaki erreal multzo baten maximoa eta minimoa bilatuko duen programa planteatu da.

2019(e)ko otsailaren 7(a), osteguna

22. astea | edozein triangeluaren azalera

Programa bat inkrementalki garatzen

22. astea | triangeluaren azalera  ariketa gogoratu eta osatu: XOY lehen koadranteko triangelu bat bere ABC erpinen bitartez definiturik dator (erpinen koordenatuak zenbaki errealak dira). A puntua eta B puntua lotzen dituen AB lerroa edozein izan daiteke: bertikala, horizontala edo zeiharra.

A, B eta C sarrerako datuek bete behar dituzten baldintza bakarrak hiru dira:
  • A, B  eta C puntuak lehen koadrantean kokaturik daude
  • A eta B puntuak ez direla bat
  • C puntua ez dagoela kokaturik AB segmentuaren zuzenean
Triangeluaren azalera kalkulatzeko 4 urratsetan egingo dugu:
  1. Emanik A puntua eta B puntua, AB zuzena lortu eta bere izaeraren arabera (bertikala. horizontala edo zeiharra) erabaki hurrengo urratsak nola burutuko diren
  2. Emanik C puntua, AB zuzenari dagokion lerro perpendikularra C puntuan lortu
  3. AB zuzena eta bere perpendikularra C puntuan ditugula, lerro biren ebakidura kalkulatu (P puntua lortu)
  4. Erpinen arteko AB distantzia eta puntuen arteko CP distantzia kalkulatu ondoren azalera zehaztu


Programaren barne-antolaketa

Emanik A puntua eta B puntua, programak hiru atal izago ditu. Honako hiru atal hauek:
   BEGIN
      ...
      ReadLn(rAx) ;
      ReadLn(rAy) ;
      ReadLn(rBx) ;
      ReadLn(rBy) ;

      IF rAx = rBx THEN  (* AB segmentua bertikala denean *)
      BEGIN
         ... 1. ATALA
      END
      ELSE  (* AB segmentua bertikala EZ denean *)
      BEGIN
         IF rAy = rBy THEN  (* AB segmentua horizontala denean *)
         BEGIN
            ... 2. ATALA
         END
         ELSE (* AB segmentua zeiharra denean, ez bertikala ez horizontala *)     
         BEGIN
            ... 3. ATALA
         END ;
      END ; 
      ...
   END.



Programaren zenbait exekuzio

Hauxe izan daiteke programaren balizko exekuzio bat, AB segmentua bertikala denenan:

Hau izan daiteke programaren balizko exekuzio bat, AB segmentua horizontala denenan:

Eta hauxe izan daiteke programaren balizko beste exekuzio bat, AB segmentua zeiharra denenan:

AB eta CP bi segmentuen luzera ezagutzean, triangeluaren azalera berehala lor daiteke. Ariketa osatuago honen programa exekutagarria Triangelu_5.exe hartu eta hura exekutatuz programaren logika zein den ulertu.


    Iturburu-programa

    Autoebaluazioa dela eta, hau da lau urratsei eta edozein triangeluari dagokien...


    22. astea | triangeluaren azalera

    Programa bat inkrementalki garatzen

    XOY lehen koadranteko triangelu bat bere ABC erpinen bitartez definiturik dator (erpinen koordenatuak zenbaki errealak dira). ABC triangeluaren azalera kalkula dezagun jakinik A, B eta C sarrerako datuek ondoko baldintzak betetzen dituztela:
    • A, B  eta C puntuak lehen koadrantean kokaturik daude
    • A eta B puntuak ez direla bat
    • AB segmentua zeiharra dela, horregatik:
      • AB segmentua ez da bertikala eta...
      • ...AB segmentua ez da horizontala 
    • C puntua ez dagoela kokaturik AB segmentuaren zuzenean
    A, B eta C puntuen koordenatu kartesiarrak teklatuz irakurri ondoren triangeluaren azalera kalkulatzeko 4 urratsetan egingo dugu:
    1. Emanik A puntua eta B puntua, AB zuzena lortu
    2. Emanik C puntua, AB zuzenari dagokion lerro perpendikularra C puntuan lortu
    3. AB zuzena eta bere perpendikularra C puntuan ditugula, lerro biren ebakidura kalkulatu (P puntua lortu)
    4. Erpinen arteko AB distantzia eta puntuen arteko CP distantzia kalkulatu ondoren azalera zehaztu  
    Hauxe izan daiteke azken programaren balizko exekuzio bat:

    Ariketa honek 4 urrats dituenez, goian enuntziatu diren 4 urratsak, zatika eta inkrementalki egin dezagun urrats bakoitzeko programa bana garatuz:
    1. Triangelu_1_4.pas programaren bitartez AB zuzena lor daiteke  
    2. Triangelu_2_4.pas programaren bitartez AB zuzenekoa ez den C puntua irakur daiteke
    3. Triangelu_3_4.pas programaren bitartez P puntuaren koordenatuak kalkula daitezke
    4. Triangelu_4_4.pas programaren bitartez AB distantzia eta CP distantzia lor daitezke eta ondorioz triangeluaren azalera zehaz daiteke



    Triangelu_1_4.pas
    Lehen programa honek A puntua eta B puntua (lau zenbaki erreal) teklatuz irakurtzen ditu eta lerro zuzenaren ekuazioa zehazten du, hots, AB lerroaren malda eta bere desplazamendu bertikala. Ariketaren programa exekutagarria Triangelu_1_4.exe hartu eta exekutatu nola dabilen ikusteko.

    Hemen dago Triangelu_1_4.pas iturburu-programa, non goiko irudian erakusten diren formulak aplikatzen diren.



    Triangelu_2_4.pas
    Bigarren programa aurrekoaren jarraipena da. Bigarren programa honek C puntua (bi zenbaki erreal) teklatuz irakurtzen du AB lerroan ez dagoela zainduz. Gero, C puntutik igarotzen den AB lerroaren perpendikularra kalkulatzen du. Ariketaren programa exekutagarria Triangelu_2_4.exe hartu eta exekutatu nola dabilen ikusteko.



    Triangelu_3_4.pas
    Hirugarren programa aurreko bien jarraipena da. AB lerroa dugula eta bere perpendikularra C puntutik dugula, lerro biak elkartzen dituen P puntua kalkulatzen du programa honek. P puntuaren koordenatuak kalkulatzeko Cramer-en metodoa erabil daiteke 21. astea | ekuazio-sistema ariketan egiten den bezala, ondoko irudia ikusi:
    Hirugarren urrats honen programa exekutagarria Triangelu_3_4.exe hartu eta hura exekutatuz programaren logika nolakoa den asmatu.



    Triangelu_4_4.pas
    Laugarren programa aurrekoen jarraipena da. Laugarren programa honek ABC triangeluaren azalera kalkulatzen du, horretarako AB distantzia eta CP distantzia zehaztuko ditu. Bi segmentuen luzera ezagutzean, triangeluaren azalera berehala lor daiteke. Ariketaren programa exekutagarria Triangelu_4_4.exe hartu eta hura exekutatuz programaren logika zein den ulertu.



    Iturburu-programak
    Autoebaluazioa dela eta, hauek dira lau urratsei dagozkien iturburu-programak:



    2019(e)ko otsailaren 6(a), asteazkena

    22. astea | mintegia prestatzen

    22. astea (2019/02/13) mintegirako eginda ekarri behar dena

    Datorren saioa mintegia da eta kontutan izan derrigorrezkoa dela etortzea, hirukoteak elkarrekin jezarriko zarete.

    Proiektuari buruz hitz egingo dugu. Lan-taldeak guztiz osatu gabe dauzkazuela ikusi dut.

    Gaurko ariketak bi gai inguruan ibiliko dira: baldintzazko aginduak eta agindu errepikakorrak. Hona hemen enuntziatuak:


    Horrez gain, 22. astea | edozein triangeluaren azalera ariketa egingo duzue arrazoi hauengatik:
    • Ikusitako beste ariketa batzuetan oinarritzen delako aurrekoak bere barnean bilduz.
    • Taldean elkarrekin burutuko duzuen lehen lana delako.
    • Ariketa handitxoa denez, bere garapena inkrementalki egiteko aukera izango duzuelako.
    • Gainera eGela bitartez bidaltzea eskatuko dizuedalako, horretarako Autoebaluazioa: Edozein triangeluaren azalera zeregina sortu dut.

    CASE-OF aginduaren adibidea eta kontradibidea

    CASE-OF aginduaren adibidea eta kontradibidea

    CASE-OF baldintzako aginduak aldagai aukeratzaile bat darabil eta aukeratzaile hori datu-mota ordinal bat izango da (zenbaki osoa adibidez edo karakterea adibidez). Lau eratan adierazten dira CASE-OF egituraren kasuak:
    1. Konstante isolatu baten bitartez
    2. Balioak enumeratuz, horretarako balio konstanteak elkarrekiko komaz banatu behar dira
    3. Balioen azpieremu bat definituz. Behemuga eta goimuga diren balio konstanteen artean puntu bi jartzen dira
    4. ELSE baten bitartez
    Sintaxiari dagokiolarik, CASE-OF baldintzako agindua END batez bakatzen da (baina kontuz, BEGIN markarik ez duen END batez bakatzen da).


    CASE ADIBIDEA

    Ebaluazio baten nota adierazten duen zenbaki osoa irakurri ondoren dagokion hitzezko kalifikazioa pantailaratu:
    Hemen daukazu Case1.pas iturburu-programa



    CASE KONTRADIBIDEA

    Ebaluazio baten nota adierazten duen zenbaki ez-osoa irakurri eta dagokion hitzezko kalifikazioa pantailaratu:
    Hemen daukazu Case2.pas iturburu-programa

    21. astea | laborategian egin dena

    21. astea (2019/02/06) laborategian egindakoa
    • Zerrenda pasatu dugu, deitutakoen artean ez etorriak:
      • Ikasle guztiak etorri dira.
    • 21. asteko praktika honetan bi eratako ariketak nahastu dira, orain artean ikusitako/aipatutako ariketak eta berriago diren ariketak:
      • 21. astea (laborategia) | [ariketa berriak]

    2019(e)ko otsailaren 5(a), asteartea

    21. astea | zirkulua eta koadranteak

    P puntuaren koordenatu kartesiarrak teklatutik irakurri. R=4 erradioa duen zirkunferentzia bat aintzat hartuta, P puntuaren kokapenaren araberako testu bat pantailaratu. Honela:

    • P puntuaren koadrantea (edo ardatza, hala balitz)
    • P puntua zirkuluaren barruan ala kanpoan dago (edo zirkunferentzian bertan, hala balitz)

    Hona hemen eskatzen den programaren hiru irteera:


    21. astea | ekuazio-sistema

    Cramer-en metodoa egokia da ekuazio linealen sistemak ebazteko. Hona hemen ekuazio-sistema bat eta ikusi nola lortzen den bere ebazpena koefizienteen determinanteak erabiliz:

    Koefiziente guztiak zenbaki errealak izanik, koefizienteak teklatuaren bitartez irakurri eta sistemaren ebazpena pantailan idatzi.