2024(e)ko martxoaren 15(a), ostirala

9. ASTEA | zenbaki errealen bektorea


AUTOEBALUAZIOA: zenbaki errealen bektorea

arBektorea izeneko array aldagi batekin lan egingo dugu. Suposa dezagun bektorearen luzera maximoa LUZMAX=20 dela eta bektore horrek zenbaki errealak gordetzen dituela. Adibidez, une jakin batean 4 elementu dituen arBektorea array horren edukia hau izan daiteke:

arBektorea
6.127
73.68
2.72
59.841



1
2
3
4
5
...
20
iLuzera
4


0. urratsa, 1. urratsa eta 2. urratsa: Hasieran erabiltzaileak teklatuz adieraziko du bektorean gordeko diren elementuen kopurua; adibidean iLuzera aldagaiaren balioa 4 da. Programa nagusian ondoko prozedurak deituko dira: BektoreaBete eta BektoreaIkusi.

3. urratsa: Ondoren, iLuzera kopurua modu aleatorioan lortu eta gero, modu aleatorioan ere 0.0 eta 99.99 arteko zenbakiak bektorean biltegituko dira. Programa nagusian ondoko prozedurak deituko dira: BektoreaAutomatikokiBete eta BektoreaIkusi.

Jarraian azaltzen diren eragiketak burutu bektorearekin:
  • 4. urratsa: BektorearenDatuakGehituEtaGutxituPosizioenArabera prozeduraren bitartez bektorearen posizio bakoitiko elementuei +0.5 gehitu eta bektorearen posizio bikoitiko elementuei -0.5 gehitu.
  • 5. urratsa: BektorearenDatuakGehituEtaGutxituBalioenArabera prozeduraren bitartez bektorearen elementu txikiei (50.00 baino txikiagoei) gehitu +0.75 konstantea, eta bektorearen elementu handiei (50.00 edo handiagoei) gehitu -0.75 konstantea.
  • 6. urratsa: Elementuetan txikiena eta dagokion posizioa pantailaratu. Adibidearen kasuan: 2.72 balioa eta 3. posizioa.
  • 6. urratsa: Elementuetan handiena eta dagokion posizioa pantailaratu. Adibidearen kasuan: 73.68 balioa eta 2. posizioa.
  • 7. urratsa: Elementu txikiena eta handiena posizioz elkar trukatu.
Honainoko soluzioa eGela zerbitzuko 9. astea | zenbaki errealen bektorea (soluzioa 1/3) web-orrian ikus dezakezu urratsez-urrats garaturik.


Aurrera eginez, jarraian azaltzen diren eragiketak burutu bektorearekin:
  • 8. urratsa: 1 eta iLuzera arteko posizio bat teklatuz eman eta toki horretan elementu berri bat gorde (aurreko balioa galduko da).
  • 9. urratsa: 1 eta iLuzera arteko posizio bat teklatuz eman ondoren hau egin:
    • Emandako posizioa 2 eta iLuzera-1 bitartekoa izatean, elementu berriaren balioa bere inguruko bi posizioetako zenbakien batezbesteko aritmetikoa izango da.
    • Teklatuz emandako posizioa 1 izatean, elementu berriaren balioa azken posizioko elementuaren erdia izango da.
    • Teklatuz emandako posizioa iLuzera izatean, elementu berriaren balioa lehen posizioko elementuaren doblea izango da.
  • 10. urratsa: 1 eta iLuzera arteko posizio bat teklatuz eman eta toki horretan elementu berri bat txertatu (bektoreak elementu bat gehiago izango du) bektorean toki librerik baldin badago, ondoko kasuak aintzat hartu:
    • Emandako posizioa 2 eta iLuzera-1 bitartekoa izatean, elementu berriaren balioa bere inguruko bi posizioetako zenbakien batezbesteko aritmetikoa izango da.
    • Teklatuz emandako posizioa 1 izatean, elementu berria bektorearen lehen posizioan. kokatuko da eta, lehen bezala, bere balioa azken posizioko elementuaren erdia izango da.
    • Teklatuz emandako posizioa iLuzera izatean, elementu berria bektoreari gehituko zaio eta, lehen bezala, elementu berriaren balioa lehen posizioko elementuaren doblea izango da.
  • 11. urratsa: 1 eta iLuzera arteko posizio bat teklatuz eman eta toki horretan dagoen elementua bektoretik kendu.
Honainoko soluzioa eGela zerbitzuko 9. astea | zenbaki errealen bektorea (soluzioa 2/3) web-orrian ikus dezakezu urratsez-urrats garaturik.



12. urratsa, 13. urratsa eta 14. urratsa: Adibide honen hurrengo bi eginkizunen (arBektorea arraya bitan banatzearena eta arrayan elementu bat bilatzearena) soluzioak eGela zerbitzuko 9. astea | zenbaki errealen bektorea (soluzioa 3/3) web-orrian ikus dezakezu urratsez-urrats garaturik. Planteamendua hauxe da:
  • arBektorea arraya bitan banatu, alde batetik osoen bektore berri bat sortuz eta bestetik errealen bektore berri bat sortuz (gogoratu aspaldian ikasi genituen frac() eta int() bi funtzioek zenbaki errealak itzultzen dituztela, gogoratu ere trunc() eta round() bi funtzioek kopuru osoak itzultzen dituztela), aiBektore1 arrayari datu-mota berria dagokio eta arBektore2 arrayaren datu-mota arBektorea arrayarena izango da:
aiBektore1
6
73
2
59



1
2
3
4
5
...
20
iLuzera1
4

arBektore2
0.127
0.68
0.72
0.841



1
2
3
4
5
...
20
iLuzera2
4

  • 15. urratsa aiBektore1 arrayarekin lan eginez, arrayaren elementu bati dagokion balio bat teklatuz irakurri eta balio horren bilaketa burutu. Adibidez, irakurritako balioa 73 balitz, emaitza bere posizioa 2 litzateke. Adibidez, irakurritako balioa 99 balitz, emaitza mezu bat litzateke (99 balioa bektorean ez dagoela adierazten duen mezua).






     Ariketaren bideoak:
 

iruzkinik ez:

Argitaratu iruzkina

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