| 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.
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;
}
|


iruzkinik ez:
Argitaratu iruzkina