2024(e)ko otsailaren 1(a), osteguna

2. astea | 3 zifra eta 2 dezimaleko zenbaki erreal bat atzekoz aurrera

XYZ.AB ereduko zenbaki erreala atzekoz aurrera jarri: ZYX.BA

Aurreko egunetan ikusi genuen 1. astea | hiru zifrako zenbaki oso bat atzekoz aurrera ariketatik abiatuta ondoko hauek egingo ditugu:
  1. Sarrerako datua den rDatua teklatuaren bitartez irakurri, suposatuz ReadLn prozedurari erantzutean XYZ.AB ereduko datua sartuko dugula, hots, 3 zifra alde osorako eta 2 dezimal (2 hamartar)

  2. XYZ.AB ereduko datua Int eta Frac funtzioen bitartez bi zatitan banatuko dugu, zati bakoitza rAldeOsoa eta rAldeDezimala aldagaietan gordeko ditugu

  3. XYZ.AB ereduko datuaren bi zatiak datu-mota osoak bezala adieraziko ditugu, horretarako Trunc eta Round funtzio biak erabili eta aztertu haien emaitzen arteko aldea (beheko irudiak ikusi). Ondorioz, zati bakoitza iAldeOsoa eta iAldeDezimala aldagaietan gordeta izango ditugu 

  4. DIV eta MOD eragileen bitartez ehunekoak (X), hamarrekoak (Y, A) eta unitateak (Z, B) lortuko ditugu.

  5. Eskatzen den rEmaitza konposatu bere edukiak ZYX.BA itxura duelarik

0.23456x103 kopurua memorian gordetzean sistema informatikoak duen doitasunaren arabera egiten du (ikusi 234.5600000000000023 dela)

0.23457x103 kopurua memorian gordetzean sistema informatikoak duen doitasunaren arabera egiten du (ikusi 234.5699999999999932 dela)


REAL datu-mota ikastean, irudi honen bitartez ikusi genuen zenbaki errealak zehaztasunik gabeak direla:
  • 0.23456x103 kopurua memorian kokatzean gehien hurbiltzen zaioa pixka bat handiagoa da
  • 0.23457x103 kopurua memorian kokatzean gehien hurbiltzen zaioa pixka bat txikiagoa da 
Beraz, ariketa honetan hobe da Round funtzioa aplikatzea eta ez Trunc funtzioa.

iruzkinik ez:

Argitaratu iruzkina

Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.