2023(e)ko martxoaren 3(a), ostirala

7. astea | Taylor (angelu txikiekin eta programa monolitikoan)

Ariketa hau egiteko, hasi hemendik (faktorialak) eta hemendik (berreturak).











Zero bertsioa











Angelu baten kosinua Taylor-ren arabera honela kalkula daiteke:




Non x radianetan emanikiko angelua den.





Programa bat idatzi kosinua kalkulatuko duena aurreko segidaren N batugai erabiliz. Batugaien N kopurua ez da ezaguna, batugaiak aintzat hartuko dira azken batugaiaren balio absolutua 0.00001 baino txikiagoa izan arte (doikuntza hori teklatuaren bitartez emango du programaren erabiltzaileak).




Kasu honetan, eta zero bertsioa delako, den-dena programa nagusian egingo duzue. Hurrengo bertsioetan azpiprogramak erabiliz programazioa hobetuko duzue. Hauxe izan daiteke programa horren irteera bat:









Algoritmoa:



  1. Erabiliko den rEpsilon prezisioa teklatuz irakurri

  2. Lehenego koadranteko rAng angelua graduetan, teklatuz irakurri

  3. Lehenego koadranteko rAng angelua radianetara igaro rX lortuz

  4. rX angeluari dagokion rKos kosinua lortu Taylor bitartez

  5. Taylor bitartez lortu den rKos emaitza eta cos(rX) balioa pantailan erakutsi eta bi balioak elkar alderatu



 

7. ASTEA | etxerako lana

 7. astea (2023/03/07) etxean egitekoa




Teoriako ikasgelan 6. astea | zenbaki bat asmatzen ariketa eta den 6. astea | letra bat asmatzen ariketaren azaldu genituen astelehenean:



Etxean birpasatu laborategian ikusi dugun 7. astea | Taylor azpiprogramaz (angelu txikiekin) ariketa. Horretarako, bi programa hauek argi eduki:


Taylor bitartez angelu txiki baten (1. koadrantekoa) kosinua kalkulatzen duen programa egina dagoenez, zuen lana litzateke 7. astea | Taylor azpiprogramaz (edozein angelurako) artikuluan eskatzen den ariketa programatzea.



Etxean birpasatu laborategian ikusi ditugun Azpiprogramak: Divide et Impera artikuluaren honako hauek:




  •   1. Uneko parametroak eta parametro formalak

  •   2. Sarrerako parametroak

  •   3. Uneko parametro eta parametro formalen arteko bateragarritasuna

  •   4. Irteerako parametroak

  •   5. Aldagai orokorrak

  •   6. Bertako aldagaiak

  •   7. Funtzioak

  •   8. Faktoriala kalkulatzen duen funtzio iteratiboa egin dugu (eta berredura kalkulatzen duena ere)

  •   9. Errekurtsibitatea (ez)

  • 10. Errekurtsibitateren adibidea (ezta ere)









Azpiprogramak erabat finkatzea da datorren asteko praktika saioaren helburua. Hori dela eta, hauxe da hurrengo autoebaluaziorako proposamena:



 


7. ASTEA | laborategi/mintegian egin dena

 7. astea (2023/03/07) laborategi/mintegian egindakoa






  • Zerrenda ez dugu pasatu. Baina eGela bitartez bidalitako lanen arabera, ez etorriak hauek izan dira:


    1. Gaizka Martin Zorrozua

    2. Anartz Pildain Aranguren

    3. Antxon Zubiaurre Peñalba





  • Praktika saio honek bi zati izan ditu. Lehen zatian, oso modu gidatuan, Azpiprogramak: Divide et Impera artikulua ikusi dugu, teoriako ikasgelan hasita daukagu gai hau eta laborategian, modu praktikoan, honako hau ikusi dugu:


    •   1. Uneko parametroak eta parametro formalak

    •   2. Sarrerako parametroak

    •   3. Uneko parametro eta parametro formalen arteko bateragarritasuna

    •   4. Irteerako parametroak

    •   5. Aldagai orokorrak

    •   6. Bertako aldagaiak

    •   7. Funtzioak

    •   8. Faktoriala kalkulatzen duen funtzio iteratiboa egin dugu

    •   9. Errekurtsibitatea (errekurtsibitatearen kontzeptua eman gabe geratu da)

    • 10. Errekurtsibitateren adibidea (adibide hau eman gabe geratu da ere)






 


2023(e)ko otsailaren 28(a), asteartea

6. astea | Fibonacci zenbakiak

Ariketa:




Teklatuaren bitartez N kopuru oso bat irakurri eta Fibonacci-ren lehen N zenbakiak pantailaratu. Fibonacci-ren lehen zenbakia 0 da, Fibonacci-ren bigarren zenbakia 1 da, eta hirugarren zenbakia lortzeko aurreko biak batuko dira, horregatik Fibonacci-ren hirugarren zenbakia 1 da, laugarren zenbakia 2 izango da, bosgarrena 3, ... 


Beraz, Fibonacci-ren sekuentzia honako hau da:



0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...



Programaren exekuzio batean N kopurua 9 balitz, bere irteera  0, 1, 1, 2, 3, 5, 8, 13, 21, izango litzateke.










Fibonacci-ren sekuentziako bi zenbaki hartuz eta zatiketa eginez, urrezko zenbakia edo jainkozko proportzioa edo urrezko proportzioa edo zerutiar zenbakia lortzen da:








Leonardo Pisano, Fibonacci, ezagutzeko artikulu bat "Fibonacci, el matemático que se puso a contar conejos y descubrió la secuencia divina" eta hemen Fibonacci-ren sekuentziaren adibide bat naturan:













Eskatzen den lehen programa



Goiko azalpenean egiten den bezala, Fibonacci zenbakien iZenbat kopurua teklatuz irakurri eta FOR-DO egitura erabiliz ondoko taula pantailaratu, programan errepikatzen den prozesua hauxe dela:
   for k:=3 to iZenbat do
begin
iFibo3 := iFibo1 + iFibo2 ;
iIndizea := iIndizea + 1 ;
writeln(iIndizea:15, iFibo3:15, 1.0*iFibo3/iFibo2:25:7) ;

iFibo1 := iFibo2 ;
iFibo2 := iFibo3 ;
end ;

Lehen programaren irteera hau izan dadila:















Eskatzen den bigarren programa



Ez da Fibonacci zenbakien sekuentzia pantailaratuko. Bigarren programan iMuga teklatuz irakurri eta 0-tik hasita zenbat Fibonacci zenbaki dauden kalkulatu beharko da. Horretarako, ezin da FOR-DO erabili eta gomendatzen da WHILE-DO egitura erabiltzea, programan errepikatzen den prozesua hauxe da non bilatzen dugun emaitza iFiboKopuru den:
   iFibo1 := 0 ;
iFibo2 := 1 ;
iFibo3 := iFibo1 + iFibo2 ;

while iFibo3 <= iMuga do
begin
iFibo1 := iFibo2 ;
iFibo2 := iFibo3 ;
iFibo3 := iFibo1 + iFibo2 ;
iFiboKopuru := iFiboKopuru + 1 ;
end ;


Bigarren programaren irteera hau izan dadila, ikusi kalkuluak errepikatzen direla e edo E erantzuten den bitartean eta irteera gauzatzen da b edo B erantzutean:







 

6. astea | letrarik hurbilena

Erreferentzia izango den letra maiuskula bat teklatueren bitartez irakurri eta cErreferentzia aldagaian gorde.



Prozesu errepikakor bat hasi non cLetra maiuskula bat teklatuaz irakurriko den eta cErreferentzia aldagaiaren edukiarekin alderatuz, karaktere bien arteko distantzia alfabetoan kalkulatuko den. Iterazio bakoitzeko, gorde letrarik hurbilena cErreferentzia aldagaiaren edukiarekiko eta baita ere alfabetoko distantziarik hurbilena.



Azkenean, sartu diren karaktere guztietatik cErreferentzia aldagaiaren edukiarekiko karaktererik hurbilena erakutsi (erakutsi baita ere hurbilen den karaktere horren distantzia erreferentziarekiko).



Prozesu errepikakorretik irteteko cLetra aldagaiaren edukia irakurtzean cErreferentzia aldagaian gordetakoa sartu.




Ikusi LetrarikHurbilena.exe programa eta programa horren balizko irteera bat:







Jarraian eskatzen den bezala, programa bera berridatzi letra maiuskulak eta minuskulak onar ditzan:









 

2023(e)ko otsailaren 27(a), astelehena

6. ASTEA | etxerako lana

 6. astea (2023/02/28) etxean egitekoa




  • 5. astea | zenbaki edo letra sorta baten maximoa blog-artikuluko programetan oinarriturik, eskatzen diren programak:



    • ZenbakiSortaBatenMinimoa_1.pas minimoa kalkulatzeko iZenbat irakurri, emaitza izango den iMinimoa hasieratu eta FOR batean iZenbat iterazio egin balio minimoa lortzeko

    • ZenbakiSortaBatenMinimoa_2.pas minimoa kalkulatzeko iZenbat irakurri, FOR-etik kanpo emaitza izango den iMinimoa kalkulatu eta FOR batean iZenbat-1 iterazio egin balio minimoa lortzeko

    • LetraSortaBatenMaximoa.pas maximoa kalkulatzeko iZenbat irakurri, emaitza izango den iMaximoa hasieratu eta FOR batean iZenbat iterazio egin balio maximoa lortzeko









Autoebaluazioa:

Autoebaluazioa: hainbat aukerako menu bat. Azken asteetako hiru ariketa hauek ondo menperatu ondoren, programa bakar batean bildu:











Autoebaluazioa:



Autoebaluazioa: Fibonacciren zenbakiak azpiprogramaz. Programa bakarra izan arren programak bi zati izango ditu. Lehenengo zatian prozedura bat erabili eta bigarrenean funtzio bat.







 

6. ASTEA | laborategi/mintegian egin dena

 6. astea (2023/02/28) laborategi/mintegian egindakoa






  • Zerrenda ez dugu pasatu. Baina eGela bitartez bidalitako lanen arabera, ez etorriak hauek izan dira:


    • Gaizka Martin Zorrozua

    • Antxon Zubiaurre Peñalba





  • Zerrenda pasatu dugu, 2. azpitalditik etorriak:


    • Naroa Barroso Blanco

    • Endika Perez Valle





  • Nahiz eta eskatzen diren programak horiek ez izan, 5. astea | zenbaki edo letra sorta baten maximoa blog-artikulura joan eta bertan ematen diren hiru kodeak hartu. Algoritmoak ulertu, programak exekutatu eta emaitzak aztertu



    5. astea | zenbaki edo letra sorta baten maximoa blog-artikuluko programetan oinarriturik, etxerako eskatzen diren programak:



    • ZenbakiSortaBatenMinimoa_1.pas minimoa kalkulatzeko iZenbat irakurri, emaitza izango den iMinimoa hasieratu eta FOR batean iZenbat iterazio egin balio minimoa lortzeko

    • ZenbakiSortaBatenMinimoa_2.pas minimoa kalkulatzeko iZenbat irakurri, FOR-etik kanpo emaitza izango den iMinimoa kalkulatu eta FOR batean iZenbat-1 iterazio egin balio minimoa lortzeko

    • LetraSortaBatenMaximoa.pas maximoa kalkulatzeko iZenbat irakurri, emaitza izango den iMaximoa hasieratu eta FOR batean iZenbat iterazio egin balio maximoa lortzeko








  • 6. astea | Fibonacci zenbakiak ariketa planteatu eta egin dugu. Hiru bertsio:


    1. Fibonacciren hainbat zenbaki pantailan idatzi: iZenbat datua teklatuaren bitartez irakurri, Fibonacciren lehen bi zenbakiak FOR agindua baino lehen pantailaratu eta hurrengo zenbakiak banan-banan FOR aginduaren iterazio bakoitzean

    2. Muga bat emanik Fibonacciren zenbakiak pantailan idatzi: iMuga datua teklatuaren bitartez irakurri, Fibonacciren lehen hiru zenbakiak WHILE agindua baino lehen pantailaratu eta hurrengo zenbakiak banan-banan WHILE aginduaren iterazio bakoitzean

    3. Muga bat emanik Fibonacciren zenbakiak pantailan idatzi: iMuga datua teklatuaren bitartez irakurri, Fibonacciren lehen bi zenbakiak REPEAT agindua baino lehen pantailaratu eta hurrengo zenbakiak banan-banan REPEAT aginduaren iterazio bakoitzean




 

15. ASTEA | laborategi/mintegian egin dena

15. astea (2023/05/09) laborategi/mintegian egindakoa 25 ikasleetatik 17 ikasleek kontrol-ariketaren bidalketa egin dute Hirugarren ko...