Abiapuntuko zenbaki bitarrak alde osoa eta alde dezimala badu, polinomioa aplikatuko zaio baina koefizinteak hauek direla:
- Alde osoarako: ... , 3, 2, 1, 0
- Alde dezimalerako: -1, -2, -3, -4, ...
- XXXXXX.YYYYYYYYY formatuko zenbaki bitar bat karaktere-kate bezala teklatuaren bitartez irakurri, eta dagokion zenbaki hamartarraren karaktere-katea lortu.
- Teklatuz irakurritako sarrerako karaktere-katea XXXXXX.YYYYYYYYY da.
- Emaitza den zenbaki bitarren karaktere-katearen neurria zehazteko, hau gogoratu:
- 1 bit, 0 [0] eta 1 [1] artekoak
- 2 bit, 2 [10] eta 3 [11] artekoak gehi aurreko biak
- 3 bit, 4 [100] eta 7 [111] artekoak gehi aurreko lauak
- 4 bit, 8 [1000] eta 15 [1111] artekoak gehi aurreko zortziak
- 5 bit, 16 [10000] eta 31 [11111] artekoak gehi aurreko hamaseiak
- 6 bit, 32 [100000] eta 63 [111111] artekoak gehi aurreko guztiak
- 7 bit, 64 [1000000] eta 127 [1111111] artekoak gehi aurreko guztiak
- 8 bit, 128 [10000000] eta 255 [11111111] artekoak gehi aurreko guztiak
- (9 bit), 256 [100000000] eta 511 [111111111] artekoak gehi aurreko guztiak
- (10 bit), 512 [1000000000] eta 1023 [1111111111] artekoak gehi aurreko guztiak
- (11 bit), 1024 [10000000000] eta 2047 [11111111111] artekoak gehi aurreko guztiak
- XXXXXX bitarraren hamartar nagusiena 63 izanik, 2 bitekin nahikoa da.
- YYYYYYYYY hamartar nagusiena 511 denez, 3 bitekin nahikoa da.
- Sarrerako-katea: 16 karakterekoa (6 alde osoa, 1 puntua eta 9 alde dezimala).
- Irteerako-katea: 2+1+3=6 karakterekoa (2 alde osoa, 1 puntua eta 3 alde dezimala).
BitarHamartar_01.pas
Programa honek teklatuaren bitartez jasotzen duen datua karaktere-kate bat da. Datuak baldintza zorrotz hauek bete beharko ditu, eta programak baldintza horiek aztertzen ditu:
Hauek dira, adibidez, onartzen diren sarrerak:
- Alde osoan 6 karaktere izan behar dira.
- Alde osoaren 6 karaktereak 0 edo/eta 1 zifrak izan behar dira.
- Alde dezimalean 9 karaktere izan behar dira.
- Alde dezimalaren 9 karaktereak 0 edo/eta 1 zifrak izan behar dira.
- Alde osoa eta alde dezimala banatzen duen 7. karakterea puntua izango da.
000111.000111000 111111.111000111 100100.100100100
Baldintza guztiak betetzen badira, bihurketa burutzen da bi etapak betez:Hauxe da ariketari erantzuten dion BitarHamartar_01.pas iturburu-programa.
- Alde osoarekin biderketak egiten dira 2-ren potentziak kalkulatuz (irudian 111111 datuak potentzia hauek erabiliko ditu 25, 24, 23, 22, 21 eta 20).
- Alde dezimalarekin biderketak egiten dira ere 2-ren potentziak kalkulatuz (irudian 000000001 datuak potentzia bakar hau erabiliko du 2-9 gainerako koefizienteak zero direlako).
BitarHamartar_02.pas
Programa honek teklatuaren bitartez jasotzen duen datua aztertu egiten du:
Hauek dira, adibidez, onartzen diren sarrerak:
- Datuaren karaktereak egokiak diren frogatzen da lehenik, onartzen diren karaktereak zeroak, batekoak eta puntua dira. Karaktere desegokiren bat edo batzuk ematean lehen karaktere desegokiaren berri emango du programak.
- Datuaren karaktereak egokian badira, karaktereen kopuruak aztertzen dira:
- Datuaren alde osoak gehienez 6 karaktere izango ditu.
- Datuaren alde dezimalak gehienez 10 karaktere izango ditu.
- Punturik ez badago, zenbat karaktere dauden kalkulatzen da eta alde osoaren prozesatzeari ekiten zaio, behar izanez gero datuari hainbat zero aurretik gehituz.
- Punturik badago:
- Alde osoak zenbat karaktere dituen kalkulatzen da eta alde osoaren prozesatzeari ekiten zaio, behar izanez gero hainbat zero aurretik gehituz.
- Alde dezimalak zenbat karaktere dituen kalkulatzen da eta alde dezimalaren prozesatzeari ekiten zaio, behar izanez gero hainbat zero atzetik gehituz.
001.000111000 0.111000111 111000 .111000111
111000.000111000 111000. 1.000111000 1100
Hauxe da ariketari erantzuten dion BitarHamartar_02.pas iturburu-programa.
- Alde osoarekin zatiketak egiten dira bihurketa bitarra burutuz. Baina orain alde osoaren karaktere kopurua kalkulatu beharra dago eta aintzakotzat hartu, ez delako beti 6 izango.
- Alde dezimalarekin biderketak egiten dira bihurketa bitarra burutuz. Baina orain alde osoaren karaktere kopurua kalkulatu beharra dago eta aintzakotzat hartu, ez delako beti 3 izango.
iruzkinik ez:
Argitaratu iruzkina