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

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 teoriako blogera jo eta  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 }

iruzkinik ez:

Argitaratu iruzkina

Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.