Bigarren mailako ekuazioaren soluzioari erro esaten zaio eta ondoko irudiko formula honek ematen du:
Formula horren b2-4ac zatiari diskriminatzaile esaten zaio eta Δ bitartez adierazten da (Δ, delta izeneko letra maiuskula grekoaz). Diskriminatzailearen arabera, bigarren mailako ekuazio batek, koefizienteak zenbaki errealak izanik, soluzio desberdinak izan ditzake:
- Δ > 0, diskriminatzailea positiboa bada, bi soluzioak zenbaki erreal dira.
- Δ = 0, diskriminatzailea 0 bada, soluzioa bakarra da eta gainera zenbaki erreala.
- Δ < 0, diskriminatzailea negatiboa bada, ez dago erro errealik eta bi soluzioak zenbaki konplexuak dira eta bata bestearen zenbaki konplexu konjugatu dira.
ARIKETA:
|
Aldagai boolearrak erabiliz
Orain arte ikasitakoa gogoratuz, hiru aldagai boolear deklaratu eta diskrimanatzailearen arabera balioak esleituko genizkioke, bukatzeko aldagai boolear horien edukiak pantailaratuko genituzke. Honela:
rDiskr := rB*rB - 4*rA*rC ;
boErrealBi := rDiskr > 0 ;
boErrealBakarra := rDiskr = 0 ;
boIrudikariBi := rDiskr < 0 ;
Hemen daukazu Erroak0.pas iturburu-programa, non koefizienteak teklatuz irakurri ondoren, hiru aldagai boolearrentzat balioak kalkulatzen diren eta ostean balio horiek pantailara kanporatzen diren:
program NolakoErroakDiren_AldagaiBoolearrekin;
var
rA, rB, rC, rDiskr: real;
boErrealBi, boErrealBakarra, boIrudikariBi: Boolean;
begin
write('A koefizientearen balioa eman: ');
readln(rA);
write('B koefizientearen balioa eman: ');
readln(rB);
write('C koefizientearen balioa eman: ');
readln(rC);
rDiskr := sqr(rB) - 4*rA*rC;
boErrealBi := rDiskr > 0;
boErrealBakarra := rDiskr = 0;
boIrudikariBi := rDiskr < 0;
writeln;
writeln('Erroak bi erreal dira: ', boErrealBi);
writeln('Erroa erreal bakarra da: ', boErrealBakarra);
writeln('Erroak irudikariak dira: ', boIrudikariBi);
writeln;
writeln;
writeln('=======================');
writeln('RETURN sakatu amaitzeko');
writeln('=======================');
readln;
end. { PROGRAMAREN BUKAERA }
IF-THEN kontrol-egitura erabiliz
Aldagai boolearrak erabili ordez adierazpen logikoak erabil ditzagun IF-THEN kontrol-egitura batekin batera. Programa bakar bat izango da eta programa beraren irteera posibleak hauek izan daitezke rA, rB eta rC koefizienteen balioen arabera:
Bigarren graduko ekuazio baten erroak nolakoak diren jakiteko algoritmo hau erabil daiteke:
Algoritmo hori jarraitzen duen iturburu-programa Erroak1.pas da, non IF-THEN sententziak isolaturik dauden elkarrekiko. Programa hobeto ulertzeko ikusi bere algoritmoaren fluxu-diagrama:
IF-THEN-ELSE kontrol-egitura erabiliz
IF-THEN kontrol-egitura erabili ordez bere hedapena den IF-THEN-ELSE kontrol-egitura bitartez ekin diozaiogun ariketa berari. Oraingoak erroak nolakoak diren zehazteaz gain, erroak kalkulatu egingo ditugu.
rA, rB eta rC koefizienteak dituen bigarren graduko ekuazio baten erroak nolakoak eta zeintzuk diren jakiteko Erroak2.pas iturburu-programa idatzi da. Programa horrek erroak kalkulatzen ditu eta oraingoan IF-THEN-ELSE bi erabili dira, ikusi nola kontrol-sententzia bat bestearen barruan kabiatuta dagoen. Hauek dira programaren algoritmoa eta fluxu-diagrama:
iruzkinik ez:
Argitaratu iruzkina