2024(e)ko otsailaren 26(a), astelehena

6. ASTEA | etxerako lana

 6. astea (2024/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 (2024/01/28) laborategi/mintegian egindakoa

  • Zerrenda ez dugu pasatu. Baina eGela bitartez bidalitako lanen arabera, ez etorriak 3 izan dira (zehaztapen gehiago eGela zerbitzuan)
  • Azken ostiralekoa errepikatuz, AlfabetoLarriarenZatia.pas programaren bitartez, ondoko hauek erabiltzeko crt unitatearen beharraz hitz egin dugu:
    • readkey funtzioa
    • keypressed funtzioa
    • clrscr prozedura
    Hauxe da AlfabetoLarriarenZatia.pas programa:
program AlfabetoLarriarenZatia ;
uses
   crt ;
var
   cLetra: char ;
   cLehenLetra: char ;
   cAzkenLetra: char ;
begin
   clrscr ;
   writeln ;
   writeln ;
   repeat
      write('''A'' eta ''Z'' arteko lehen letra bat eman: ') ;
      cLehenLetra := readkey ;
      writeln(cLehenLetra) ;
   until (cLehenLetra >= 'A') and (cLehenLetra <= 'Z') ;
   
   writeln ;
   repeat
      write('''', cLehenLetra, ''' eta ''Z'' arteko azken letra bat eman: ') ;
      cAzkenLetra := readkey ;
      writeln(cAzkenLetra) ;
   until (cAzkenLetra >= cLehenLetra) and (cAzkenLetra <= 'Z') ;
   
   writeln ;
   writeln('     Karakterea        Kodea') ;
   writeln('     ----------        -----') ;

   for cLetra:=cLehenLetra to cAzkenLetra do
   begin
      writeln(cLetra:15, ' -----> ', ord(cLetra)) ;
   end ;
   
   writeln('     ----------        -----') ;
   writeln('     Karakterea        Kodea') ;            
   
   writeln ;
   repeat until keypressed ;   
   {
   writeln ;
   write('RETURN sakatu aurrera egiteko ') ;
   readln ;
   }
   {
   writeln ;
   repeat 
      writeln('keypressed = ', keypressed) ;
   until keypressed ;
   }
end.
  • 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 (hau egin gabe geratu da, baina WHILE kasua bezalakoa da)
 

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:

 

2024(e)ko otsailaren 18(a), igandea

5. ASTEA | etxerako lana

 5. astea (2024/02/21) etxean egitekoa

Ziurtatu aurreko astean egindako ariketak menperatzen dituzula:
Ziurtatu aste honi dagozkion ariketa hauek menperatzen dituzula:
 

5. ASTEA | laborategi/mintegian egin dena

 5. astea (2024/02/21) laborategi/mintegian egindakoa

  • Lehen kontrola egiten dugula zerrenda pasatu dugu, deitutakoen artean ez etorriak 4 izan dira (zehaztapen gehiago eGela zerbitzuan)
  • Teoriako blogeko 5. astea | batukari bat kalkulatzen artikuluan planteatzen diren bi ariketak egin ditugu:
    • Batukari1.pas kasuan batugaien kopurua datua denez for-to-do kontrol-egitura batekin programa daiteke
    • Batukari2.pas kasuan batugaien kopurua ezezaguna denez repeat-until edo while-do kontrol-egitura batekin programatu beharra dago
  • Teoriako ikasgelan azaldu den 5. astea | Newton-en hurbilketa-metodoa kalkulu-metodoaren haritik, ariketa hau egiteko asmoa izan dugu baina ez da denborarik izan. Hortaz, y=ax2+bx+c funtzioaren ariketa datorren ostiralean egingo dugu teoriako klasean. Hona hemen programaren kodea:
 

2024(e)ko otsailaren 13(a), asteartea

4. ASTEA | etxerako lana

 4. astea (2024/02/14) etxean egitekoa

Aste honen etxekolana, argi dago, hurrengo asteleheneko kontrola prestatzea da. Hori dela eta, proiektuaren Informatika ☆ 2023-24 | proiektua blogeko ariketa guztien soluzioak eskuragarri jarri ditut. Ondoko ariketak arretaz aztertu eta ikasi:

3. astetik dakarzkigun ariketak hauek dira:

4. aste honi dagozkion berezko ariketak hauek dira:

4. aste honen bi ariketa hauek ostiralean azalduko dira teoriako eskolan, zuek, une honetan, enuntziatua irakurri eta ulertu:
 

4. ASTEA | laborategi/mintegian egin dena

 4. astea (2024/02/14) laborategi/mintegian egindakoa
  • Zerrenda pasatu dugu, deitutako 24en artean ez etorriak 3 izan dira (zehaztapen gehiago eGela zerbitzuan)
  • Beste azpitaldeetatik etorriak:
    • Muniozguren Alonso, Unax    azp-3 azpitaldetik 
    • Unanue Ibarra, Mikel    azp-1 azpitaldetik 
  • Proiektuaren blogeko 8. Ariketa: errepikapen kopuru ezaguna (I) artikuluan proposatzen den (I) adibidea ikusi dugu FOR-TO-DO agindua praktikatzeko. Hori dela eta, randomize prozedura eta random(iZbk) funtzioa ezagutu behar dira 
  • rX zenbaki erreala izanik, eta iY zenbaki osoa izanik, jakingo zenuke rXiY berretura kalkulatzen? Etxerako lana da
  • Eta iZbk zenbaki osoa eta positiboa teklatuaren bitartez irakurririk, jakingo zenuke liFaktoriala=iZbk! faktoriala kalkulatzen? Etxerako lana ere, laborategian egin dugu eta etxean birpasatu behar duzue
 

4. astea | FOR-DO: Irudi geometrikoak marrazten

4. astea | FOR-DO bat beste FOR-DO baten barruan artikulua gogoratuz, laborategi saiorako ariketa hau prestatu:
iZenbakia aldagaian 0 eta 9 arteko kopuru bat teklatuz irakurri. Jasotako zenbakiaren araberako ondoko irudiak marraztu FOR-DO agindua erabiliz:

Hauxe da ForHirukiakMarrazten.exe programa exekutagarria.

4. astea | FOR-DO: Berreturen batukariak

Oinarria eta berretzailea kopuru osoak eta positiboak teklatuaren bitartez jaso ondoren, berretura kalkulatzen duen programa hau Berreketa.pas aztertu.

Aurreko programa aintzat harturik eta FOR-DO agindu errepikakorra ezagutzen duzula hurrengo bi ariketak egin.



TaylorPrestatzen3.pas
Batugaien iZenbat kopurua zehazten duen balioa teklatuz irakurriz eta iZbk oinarria teklatuz irakurriz, kalkulatu ondoko batukaria eta emaitza liBatukaria aldagaian gorde. Ziurtatu iZenbat kopuru osoa, positiboa eta bikoitia dela. Ziurtatu ere iZbk kopuru osoa eta positiboa dela.

Batukariaren batugaiak zenbait zenbakien faktorialak dira, hauek:

liBatukaria = iZbk0 + iZbk2 + iZbk4 + ... + iZbkiZenbat


Kalkulu hori lortzen duen TaylorPrestatzen3.exe programa aztertu:



TaylorPrestatzen4.pas
Batugaien iZenbat kopurua zehaztuko duen balioa teklatuz irakurriz eta iZbk oinarria teklatuz irakurriz, kalkulatu ondoko batukaria eta emaitza liBatukaria aldagaian gorde. Ziurtatu iZenbat kopuru osoa, positiboa eta bikoitia dela. Ziurtatu ere iZbk kopuru osoa eta positiboa dela.

Batukariaren batugaiak zenbait zenbakien faktorialak dira, hauek:

liBatukaria = iZbk0 - iZbk2 + iZbk4 - ... (+/-) iZbkiZenbat


Kalkulu hori lortzen duen TaylorPrestatzen4.exe programa aztertu:

4. astea | FOR-DO: Faktorialen batukariak

iZbk zenbaki oso eta positiboa teklatuaren bitartez jaso ondoren, iZbk zenbakiaren faktoriala kalkulatzen duen programa hau Faktoriala.pas aztertu.

Aurreko programa aintzat harturik eta FOR-DO agindu errepikakorra ezagutzen duzula hurrengo bi ariketak egin.



TaylorPrestatzen1.pas
Batugaien iZenbat kopurua zehaztuko duen balioa teklatuz irakurriz, kalkulatu ondoko batukaria eta emaitza liBatukaria aldagaian gorde. Ziurtatu iZenbat kopuru osoa, positiboa eta bikoitia dela.

Batukariaren batugaiak zenbait zenbakien faktorialak dira, hauek:

liBatukaria = 0! + 2! + 4! + ... + (iZenbat-2)! + iZenbat!


Kalkulu hori lortzen duen TaylorPrestatzen1.exe programa aztertu:



TaylorPrestatzen2.pas
Batugaien iZenbat kopurua zehaztuko duen balioa teklatuz irakurriz, kalkulatu ondoko batukaria eta emaitza liBatukaria aldagaian gorde. Ziurtatu iZenbat kopuru osoa, positiboa eta bikoitia dela.

Batukariaren batugaiak zenbait zenbakien faktorialak dira, hauek:

liBatukaria = 0! - 2! + 4! - ... - (iZenbat-2)! + iZenbat!

edo

liBatukaria = 0! - 2! + 4! - ... + (iZenbat-2)! - iZenbat! 


Kalkulu hori lortzen duen TaylorPrestatzen2.exe programa aztertu:

 

2024(e)ko otsailaren 5(a), astelehena

3. ASTEA | etxerako lana

 3. astea (2023/02/08) etxean egitekoa

Proiektua dela eta, ondoko bi programa hauek eginak dituzue (edo eginak izan beharko zenituzke): oraintxe bertan ikasiko dugu:

Proiektuaren aurreko bi ariketa horien kodeak programa honen antzekoak dira:

{------------------------------------------------------------------------------
   Angelu positiboa radianetan --> angelu positiboa gradu, minutu, segundotan
 ------------------------------------------------------------------------------}
program RadianPositiboak_GraduMinutuSegundo;
var
  rRadianak: real;
  rGraduak: real;
  rAldeOsoa: real;
  rAldeDezimala: real;
  iGraduak: integer;
  rMinutuak: real;
  iMinutuak: integer;
  rSegundoak: real;
begin
  writeln;
  writeln;
  writeln('------------------------------------------------------------------------------');
  writeln(' Angelu positiboa (radianetan) --> Angelu positiboa (gradu-minutu-segundotan)');
  writeln('------------------------------------------------------------------------------');
  writeln;
  repeat
    write('0.0 eta +40.0 arteko radianak eman: ');
    readln(rRadianak);
  until (rRadianak >= 0.0) and (rRadianak <= 40.0);
  
  rGraduak :=  rRadianak*360/(2*PI);
  writeln(rRadianak:0:5, ' radian = ', rGraduak:0:5, ' gradu');
    
  writeln;
  writeln('rGraduak = ', rGraduak:0:5, ' gradu');
  rAldeOsoa := int(rGraduak);
  rAldeDezimala := frac(rGraduak);
  writeln('GRADUAK--> ', rAldeOsoa:0:5, ' gradu + ', rAldeDezimala:0:5, ' gradu');
    
  writeln;
  writeln('rGraduak/360 = ', rGraduak/360:0:5, ' itzuli');
  writeln('ITZULIAK--> ', int(rGraduak/360):0:5, ' itzuli + ', frac(rGraduak/360):0:5, ' itzuli');
  writeln('GRADUAK---> ', 360*int(rGraduak/360):0:5, ' gradu + ', 360*frac(rGraduak/360):0:5, ' gradu'); 
   
  rGraduak := 360*frac(rGraduak/360);
  writeln('rGraduak =  ', rGraduak:0:5, ' gradu (angelu efektiboa)');
  
  writeln;
  rAldeOsoa := int(rGraduak);
  rAldeDezimala := frac(rGraduak);
  writeln('GRADUAK---> ', rAldeOsoa:0:5, ' gradu + ', rAldeDezimala:0:5, ' gradu');
     
  iGraduak := trunc(rAldeOsoa);
  writeln('iGraduak =  ', iGraduak, ' gradu');
  
  rMinutuak := rAldeDezimala*60;
  writeln('rMinutuak = ', rMinutuak:0:5, ' minutu');
  
  rAldeOsoa := int(rMinutuak);
  rAldeDezimala := frac(rMinutuak);
  
  writeln('MINUTUAK--> ', rAldeOsoa:0:5, ' minutu + ', rAldeDezimala:0:5, ' minutu');
  
  iMinutuak := trunc(rAldeOsoa);
  writeln('iMinutuak = ', iMinutuak, ' minutu');
  rSegundoak := rAldeDezimala*60;
  writeln('rSegundoak = ', rSegundoak:0:5, ' segundo');
    
  writeln;
  writeln(rRadianak:0:5, ' radian = ', iGraduak, ' gradu ', iMinutuak, ' minutu ', rSegundoak:0:4, ' segundo');
  
  writeln;
  writeln ('=======================');
  writeln ('RETURN sakatu amaitzeko');
  write   ('=======================');
  readln;
end. { PROGRAMAREN BUKAERA }

Goiko adibide-programa hori enuntziatu honi dagokio, zure lana da exekutatzea eta bere irteera aztertzea (programak zer egiten duen ondo ulertzeko arreta berezia jarri emaitzen unitateetan). Ondoren, beste programa bat egizu rRadianak angelu-datua positiboa edo negatiboa denerako.

Aste honetan etxean egingo dituzuen ariketak hauek dira: Hasita daukagun 3. astea | triangeluaren azalera ariketa honi aurre egingo diozue aste honetan, ariketa garrantzitsua da honako arrazoi hauengatik:
  1. Ezagutzen ditugun beste ariketa batzuetan oinarritzen delako
  2. Gainera, eGela bitartez bidaltzea eskatuko dizuedalako: guztiz orokorra ez den ariketa hau abiapuntuz harturik, bere hedapena den 3. astea | edozein triangeluren azalera ariketa eskatuko dudalako. Programaren entrega egiteko Etxekolana: Edozein triangeluren azalera zeregina sortu dut
 

3. ASTEA | laborategi/mintegian egin dena

 3. astea (2024/02/07) laborategi/mintegian egindakoa
  • Zerrenda pasatu dugu, deitutakoen 24en artean 3 ez dira etorri (zehaztapen gehiago eGela zerbitzuan)
  • 3. asteko praktika honetan bi eratako ariketak eta kontzeptuak nahastu dira, orain artean ikusitako/aipatutako ariketak eta berriago diren ariketak:
    • 3. astea (laborategia)  |  [ikusitako ariketa ezagunak]
    • 3. astea (laborategia)  |  [ariketa berriak]
  • 3. astea | triangeluaren azalera izeneko ariketaren enuntziatua zertan den ikusi dugu laborategian, ariketa honek segida izango du eta bere entrega eskatuko dut. Programa honi hobekuntza bat gehitu (A puntua eta B puntua lotzen dituen AB lerroa edozein izan daiteke) eta EdozeinTriangelurenAzalera.pas programa bidali beharko didazue eGela bitartez (zehaztasunak hemen: 3. astea | edozein triangeluren azalera). 
 

3. astea | triangeluaren azalera (hasiera)

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 ez da bertikala ezta horizontala, eta C puntua ez dago kokaturik AB lerroan. Datuak:
  • A eta B puntuak AB zuzena lortzeko, AB zuzena zeiharra izango da (ez bertikala, ez horizontala)
  • C puntua AB segmentuaren zuzenetik kanpo dago

Algoritmoa: 
  1. Emanik A puntua eta B puntua, AB zuzena lortu
  2. Emanik C puntua, AB zuzenaren 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  
Ariketaren urratsak ikusteko 3. astea | triangeluaren azalera artikulua aztertu.

Zure programaren hasiera:
program Triangelu_1_4 ;
var
   rAx, rAy, rBx, rBy : real ;   
begin
   { A puntua lehen koadrantekoa da }
   repeat
      writeln('OXY lehen koadrantean lan eginez') ;
      write('Eman A puntuaren x koordenatua: ') ;
      readln(rAx) ;
      write('Eman A puntuaren y koordenatua: ') ;
      readln(rAy) ;
      if (rAx < 0.0) or (rAy < 0.0) then   { A-ren bi koordenatuak positiboak izan behar dira }
      begin
         writeln('A puntuaren bi koordenatuak positiboak izan behar dira') ;
         if rAx < 0.0 then
            writeln('A puntuaren x koordenatua ezin daiteke negatiboa izan') ;
         if rAy < 0.0 then
            writeln('A puntuaren y koordenatua ezin daiteke negatiboa izan') ; 
      end ;   
   until (rAx >= 0.0) and (rAy >= 0.0) ;
   writeln ;

   { B puntua ere lehen koadrantekoa izango da eta horrez gain }
   { B puntua eta A puntua "diagonal" batean egongo dira kokaturik }
   repeat
      writeln('OXY lehen koadrantean jarraituz ') ;
      write('Eman B puntuaren x koordenatua: ') ;
      readln(rBx) ;
      write('Eman B puntuaren y koordenatua: ') ;
      readln(rBy) ;
      if (rBx < 0.0) or (rBy < 0.0) then
         writeln('B puntuaren bi koordenatuak positiboak izan behar dira') ;
      if (rAx = rBx) or (rAy = rBy) then
      begin
         writeln('AB segmentua zeiharra izan behar da') ;
         if rAx = rBx then
            writeln('AB segmentua ezin daiteke bertikala izan') ;
         if rAy = rBy then
            writeln('AB segmentua ezin daiteke horizontala izan') ;   
      end ;   
   until ((rBx >= 0.0) and (rBy >= 0.0)) and
         ((rAx <> rBx) and (rAy <> rBy)) ;
   writeln ;

   { A eta B ezagunak direla, AB segmentuari dagokion r zuzenaren bi   }
   { parametroak kalkulatu:                                            }
   {                          rMalda := _______________;               }
   {                          rDesplazamendua := ___________;          }
   
   { ALGORITMO OSOA:
       1.  Emanik A puntua eta B puntua, AB zuzena lortu
       2.  Emanik C puntua, AB zuzenaren 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                             }
   
end. { PROGRAMAREN BUKAERA }

3. 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:


3. 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.

Kontutan izan A·E - B·D = 0 baldin bada, programa konpilagarria izango dela, baina errorea gertatuko dela exekuzio-denboran.

Konpilatu izanak ez du esan nahi programa ondo dagoenik