| ZER DAKIDAN: Erakarpen grabitatorioa programa egin ondoren, badakit testu bat pantailan idazten. Badakit ere balioak aldagaietan gordetzen eta era desberdineko konstanteak definitzen. ZER IKASIKO DUDAN: fabs() funtzio estandarra ikasiko dut. Horretarako, math.h fitxategiaren sartzea egingo dut programaren hasieran #include <math.h> idatziz . Teklatuz irakurritako aldagaiaren egokitasuna ziurtatzen ikasiko dut do-while agindu errepikakoraren bitartez. |
ESKATZEN DEN PROGRAMA
Zenbaki errealekin lan eginez, triangelu baten azalera kalkulatu ondoren emaitza pantailaratu.
A, B eta C puntuak teklatutik irakurri. A, B eta C puntuek osatzen duten triangeluaren azalera 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.
C puntua edozein tokitan egon daiteke OX ardatzean izan ezik. Triangeluaren azalera positiboa izango da fCy koordenatua positiboa izatean, eta azalera negatiboa izango da fCy koordenatua negatiboa izatean. Triangeluaren azalera kalkulatzeko garrantzirik du fCx koordenatuak?
Hauxe izan daiteke Ariketa-07_TriangeluBereziarenAzalera.cbp proiektua exekutatzean lortzen den irteeraren bat:
![]() |
| Erabiltzaileak emandako datuen arabera programak era batean ala bestean erantzuten du |
Hona hemen Ariketa-07_TriangeluBereziarenAzalera.cbp proiektuaren main() funtzioa gordetzen duen main.c fitxategiaren edukia:
/* Ariketa-07_TriangeluBereziarenAzalera: erabakiak hartzen */
// fabs() funtzio matematikoa ikasiko dugu, hori
// 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 azalera 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. Triangeluaren azalera positiboa
izango da rCy koordenatua positiboa izatean, eta azalera negatiboa izango da rCy koordenatua
negatiboa izatean. Triangeluaren azalera kalkulatzeko garrantzirik du rCx koordenatuak?
*/
#include <stdio.h>
#include <math.h>
int main()
{
float fAx, fBx, fCy, fAzalera;
// float fCx; soberan dago ez delako behar
printf("\n\nZenbaki errealekin lan eginez...\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); // fCx aldagai hau soberan dago
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);
fAzalera = fabs(fBx - fAx)*fCy / 2;
printf("\nABC triangeluaren azalera %.2f da", fAzalera);
printf("\n\n");
return 0;
}
|


iruzkinik ez:
Argitaratu iruzkina