| ZER DAKIDAN: Badakit testu bat pantailan idazten. Badakit aldagaien balioak teklatuz irakurtzen eta zenbakizko datuekin eragiketa matematikoak egiten. Baina, edozein datuekin programaren agindu guzti-guztiak exekutatzen dira. ZER IKASIKO DUDAN: Erabakiak hartzen ikasiko dut. Horrela, datuaren arabera programaren agindu batzuk exekutatuko dira ala ez. Adibide honetan baldintzazko if agindua ikasiko dut eta do agindu errepikakorra landuko dut ere. |
| Hitza | Deskribapena edo/eta adibidea |
|---|---|
| Konpiladore | Programa bat da. Labur esanda, programa honen bitartez iturburu-fitxategitik (guk idatzi eta irakur dezakegun testu-fitxategitik) dagokion programa exekutagarriaren fitxategi bitarra lortzen da. |
| Ihes-sekuentzia | Ihes-sekuentzia (edo karaktere berezi) teklatuaren bitartez ezin daitekeen eman karakterea da, adibidez \n karakterea. |
| Formatu- zehaztatzaile |
Aldagai baten edukia pantailan idaztean nola aurkeztu nahi den aukeratzeko balio du; esate baterako %d bitartez zenbaki osoa ikusiko da pantailan, baina %c bitartez karaktere bat ikusiko da. |
| Aurreprozesadore | Programa hau konpiladorea baino lehen jarduten da, bere lana kodea prestatzea da (#include eta #define guztiak burutu, iruzkinak kendu, e.a.). |
| Sartzea | Fitxategia sartzea. #include FitxategiIzen aurre-prozesadorearen jarraibideari esker FitxategiIzen fitxategiaren edukia gure programara gehitzen zaio. |
| Definitzea | Konstantea definitzea. #define Identifikadore BalioKonstantea bitartez konstanteak defini daitezke. |
| Funtzio | Kode zati bat da helburu jakin bat betetzen duena. Emaitza itzul dezake eta behar dituen datuei parametro esaten zaie. |
| Parametro (argumentu) |
Funtzio bati ematen zaion datua. Parametroren bat funtzioari pasatzean bi modutan egin daiteke: balioz ala erreferentziaz. |
| Datu-mota | Programa batean erabiliko ditugun magnitudeak izaera bat daukate: zenbaki osoa, zenbaki erreala, karakterea, e.a. Horiek adierazteko datu-motak erabiltzen dira. |
| Iruzkin | Programa azaltzen duen testua. |
| Esleipen- operadorea |
C-rako, esleipena operadore bat da, esleipen-operadorea deritzona (=), eta operadore guztien artean lehentasun txikiena du. |
| Operadore aritmetiko |
Operadore edo eragile aritmetikoen adibideak hauek dira: + batuketa-operadorea, - kenketa operadorea, * biderkatzeko operadorea, / zatitzeko operadorea, % zatiketa osoaren hondarra lortzeko operadorea, ... |
| Operadore logiko | Operadore edo eragile logikoak hiru dira: ! ukapen logikoa (ez/not), && konjuntzioa edo biderketa logikoa (eta/and), || disjuntzioa edo batuketa logikoa (edo/or). |
| Operadore erlazional |
Operadore erlazionalak edo erlaziozko eragileak sei dira: > handiago, >= handiago edo berdin, < txikiago, <= txikiago edo berdin, == berdin, != desberdin. |
ESKATZEN DEN PROGRAMA
Cramer-en metodoa egokia da ekuazio linealen sistemak ebazteko. Hona hemen ekuazio-sistema bat eta ikusi nola lortzen den bere ebazpena koefizienteen determinanteak erabiliz:
Koefiziente guztiak zenbaki errealak izanik, koefizienteak teklatuaren bitartez irakurri eta sistemaren ebazpena pantailan idatzi.
Sarrerako datuak kontrolatzen ez badira eta A·E - B·D = 0 baldin bada, programa konpilagarria izango da, baina errorea gertatuko da exekuzio-denboran.
![]() |
| Konpilatu izanak ez du esan nahi programa ondo dagoenik |
Hauxe izan daiteke Ariketa-13_Ekuazio-sistema.cbp proiektua exekutatzean lortzen den irteeraren bat:
![]() |
| Erabiltzaileak emandako datuen arabera programak era batean ala bestean erantzuten du |
/* Ariketa-13_Ekuazio-sistema: erabakiak hartzen */
// if agindua ikasiko dugu.
// do-while agindua ikasiko dugu
// Programa honetan '\a' karaktere berezia erabiliko dugu.
/*
XY planoan dauden bi zuzenek (fAx+fBy=fC eta fDx+fEy=fF) P puntuan bat egiten dute
baldin eta paraleloak ez badira. Bi zuzenen 6 koefizienteak teklatuz eman eta
P puntuaren (fPx, fPy) koordenatu kartesiarrak kalkulatu.
*/
#include <stdio.h>
int main()
{
float fPx, fPy, fAx, fBy, fC, fDx, fEy, fF, fDeterminantea;
printf("\n\nZenbaki errealekin lan eginez...\n\n");
printf("\"Ax+By=C\" lehen zuzenaren \"A\" koefizientea eman: ");
scanf("%f", &fAx);
printf("\"Ax+By=C\" lehen zuzenaren \"B\" koefizientea eman: ");
scanf("%f", &fBy);
printf("\"Ax+By=C\" lehen zuzenaren \"C\" koefizientea eman: ");
scanf("%f", &fC);
printf("\n");
do
{
printf("\"Dx+Ey=F\" bigarren zuzenaren \"D\" koefizientea eman: ");
scanf("%f", &fDx);
printf("\"Dx+Ey=F\" bigarren zuzenaren \"E\" koefizientea eman: ");
scanf("%f", &fEy);
printf("\"Dx+Ey=F\" bigarren zuzenaren \"F\" koefizientea eman: ");
scanf("%f", &fF);
fDeterminantea = fAx*fEy - fBy*fDx;
if (fDeterminantea == 0.0)
printf("\a\nErrorea! Zuzenak paraleloak dira elkarrekiko\n\n");
} while (fDeterminantea == 0.0);
fPx = (fC*fEy - fBy*fF) / fDeterminantea;
fPy = (fF*fAx - fDx*fC) / fDeterminantea;
printf("\nP puntuaren koordenatuak: P(%.3f, %.3f)", fPx, fPy);
printf("\n\n");
return 0;
}
|



iruzkinik ez:
Argitaratu iruzkina