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