2024(e)ko abenduaren 1(a), igandea

Ariketa 8 | Triangelu berezi baten perimetroa

ZER DAKIDAN:
Badakit sqrt(), pow() eta fabs() funtzio estandarrak erabiltzeko math.h fitxategiaren sartzea egingo dugula programaren hasieran #include <math.h> idatziz.



ZER IKASIKO DUDAN:
Teklatuz irakurritako aldagaiaren egokitasuna ziurtatzen ikasiko dut do-while agindu errepikakoraren bitartez.




ESKATZEN DEN PROGRAMA

Zenbaki errealekin lan eginez, triangelu baten perimetroa kalkulatu ondoren emaitza pantailaratu.


Ariketa:

A, B eta C puntuak teklatutik irakurri. A, B eta C puntuek osatzen duten triangeluaren perimetroa lortu.

A eta B puntuak OX ardatzean daude (fAy eta fBy koordenatuek zero balio dute). A eta B puntuei dagozkien x koordenatuak positiboak dira eta desberdinak euren artean, hots, A eta B ez direlako puntu bera fAx eta fBx koordenatuak desberdinak izango dira elkarrekiko. Bestalde, C puntua ez dago OX ardatzean.

Triangeluaren perimetroa kalkulatzeko laukizuzen formako bi triangelutan banatzen da jatorrizko triangelua, eta laukizuzen bakoitzaren diagonala kalkulatuko da sqrt() funtzioa aplikatuz.



Hauxe izan daiteke Ariketa-08_TriangeluBereziarenPerimetroa.cbp proiektua exekutatzean lortzen den irteeraren bat:

Erabiltzaileak emandako datuen arabera programak era batean ala bestean erantzuten du



Hona hemen Ariketa-08_TriangeluBereziarenPerimetroa.cbp proiektuaren main() funtzioa gordetzen duen main.c fitxategiaren edukia:

/* Ariketa-08_TriangeluBereziarenPerimetroa: erabakiak hartzen */

// fabs(), sqrt() eta pow()  funtzio matematikoak ikasiko ditugu,
// horiek erabiltzeko "math.h" fitxategia derrigorrezkoa da.
// if agindua ikasiko dugu.
// do-while agindua ikasiko dugu
// Programa honetan '\a' karaktere berezia erabiliko dugu.

/*
A, B eta C puntuak teklatutik irakurri. A, B eta C puntuek osatzen duten triangeluaren perimetroa lortu.
A eta B puntuak OX ardatzean daude (rAy eta rBy koordenatuek zero balio dute).
A eta B puntuei dagozkien x koordenatuak positiboak dira eta desberdinak euren artean, hots,
A eta B ez direlako puntu bera rAx eta rBx koordenatuak desberdinak izango dira elkarrekiko.
C puntua edozein tokitan egon daiteke OX ardatzean izan ezik.
*/

#include <stdio.h>
#include <math.h>

int main()
{
   float fAx, fBx, fCx, fCy, fOinarriAC, fOinarriBC, fPerimetroa;

   printf("\n\n");
   printf("\"A\" puntuaren x koordenatua eman: ");
   scanf("%f", &fAx);
   do
   {
      printf("\"B\" puntuaren x koordenatua eman: ");
      scanf("%f", &fBx);
      if (fBx == fAx)
         printf("\a\"A\" eta \"B\" puntuen abzisak ezin dira berdinak izan\n");
   } while (fBx == fAx);

   printf("\"C\" puntuaren x koordenatua eman: ");
   scanf("%f", &fCx);

   do
   {
      printf("\"C\" puntuaren y koordenatua eman: ");
      scanf("%f", &fCy);
      if (fCy == 0.0)
         printf("\a\"C\" puntuaren ordenatua ezin dira 0.0 izan\n");
   } while (fCy == 0.0);

   fOinarriAC = fabs(fCx - fAx);
   fOinarriBC = fabs(fCx - fBx);
   fPerimetroa = sqrt(fOinarriAC*fOinarriAC + fCy*fCy) +
                 sqrt(pow(fOinarriBC, 2) + pow(fCy, 2)) +
                 fabs(fBx - fAx);

   printf("\nABC triangeluaren perimetroa %.2f da", fPerimetroa);
   printf("\n\n");

   return 0;
}


  • Ariketa-08_TriangeluBereziarenPerimetroa.cbp | main.c  

 

iruzkinik ez:

Argitaratu iruzkina