Estructuras de Datos

487
7/18/2019 Estructuras de Datos http://slidepdf.com/reader/full/estructuras-de-datos-56d6a9d9ae1c4 1/487

Transcript of Estructuras de Datos

  • %3425#452!3$%$!4/3

  • %3425#452!3$%$!4/34ERCERAEDICIN

    $2/36!,$/#!)20ROFESOR)NVESTIGADORDEL

    )NSTITUTO4ECNOLGICO!UTNOMODE-XICO)4!--IEMBRODEL3ISTEMA.ACIONALDE)NVESTIGADORES3.).IVEL

    -#3),6)!'5!2$!4)0ROFESOR.UMERARIODEL

    )NSTITUTO4ECNOLGICO!UTNOMODE-XICO)4!-

    -8)#/s!5#+,!.$s"/'/4s"5%./3!)2%3s#!2!#!3s'5!4%-!,!,)3"/!s,/.$2%3s-!$2)$s-),.s-/.42%!,s.5%6!$%,()s.5%6!9/2+

    3!.&2!.#)3#/s3!.*5!.s3!.,5)3s3!.4)!'/3/0!5,/s3)$.%9s3).'!052s4/2/.4/

  • $%2%#(/32%3%26!$/3RESPECTOALATERCERAEDICINPOR-C'2!7(),,).4%2!-%2)#!.!%$)4/2%33!$%#6!3UBSIDIARYOF4HE-C'RAW(ILL#OMPANIES)NC 0ROLONGACIN0ASEODELA2EFORMA4ORRE! 0ISO#OLONIA$ESARROLLO3ANTA&E $ELEGACINLVARO/BREGN #0-XICO$& -IEMBRODELA#MARA.ACIONALDELA)NDUSTRIA%DITORIAL-EXICANA2EG.M

    )3".)3".SEGUNDAEDICIN)3".8PRIMERAEDICIN

    )MPRESOEN-XICO 0RINTEDIN-EXICO

    $IRECTOR(IGHER%DUCATION-IGUELNGEL4OLEDO#ASTELLANOS$IRECTOREDITORIAL2ICARDO!DEL"OSQUE!LAYN%DITORSPONSOR0ABLO%2OIG6ZQUEZ%DITORADEDESARROLLO$IANA+AREN-ONTAO'ONZLEZ3UPERVISORDEPRODUCCIN:EFERINO'ARCA'ARCA

    %3425#452!3$%$!4/34ERCERAEDICIN

    0ROHIBIDALAREPRODUCCINTOTALOPARCIALDEESTAOBRA PORCUALQUIERMEDIOSINLAAUTORIZACINESCRITADELEDITOR

  • !NUESTROHIJO&ACUNDO

  • 02%3%.4!#). XIII

    #!045,/ %STRUCTURASFUNDAMENTALESDEDATOS )NTRODUCCIN !RREGLOS $ECLARACINDEARREGLOSUNIDIMENSIONALES /PERACIONESCONARREGLOSUNIDIMENSIONALES

    !RREGLOSBIDIMENSIONALES $ECLARACINDEARREGLOSBIDIMENSIONALES /PERACIONESCONARREGLOSBIDIMENSIONALES

    !RREGLOSDEMSDEDOSDIMENSIONES ,ACLASE!RREGLO 2EGISTROS $ECLARACINDEREGISTROS !CCESOALOSCAMPOSDEUNREGISTRO $IFERENCIASENTREREGISTROSYARREGLOS #OMBINACIONESENTREARREGLOSYREGISTROS !RREGLOSPARALELOS

    2EGISTROSYCLASES %JERCICIOS

    #!045,/ !RREGLOSMULTIDIMENSIONALESREPRESENTADOS ENARREGLOSUNIDIMENSIONALES )NTRODUCCIN !RREGLOSBIDIMENSIONALES !RREGLOSDEMSDEDOSDIMENSIONES -ATRICESPOCODENSAS -ATRICESCUADRADASPOCODENSAS -ATRIZTRIANGULARINFERIOR -ATRIZTRIANGULARSUPERIOR

    #/.4%.)$/

  • viii

    -ATRIZTRIDIAGONAL -ATRICESSIMTRICASYANTISIMTRICAS

    %JERCICIOS

    #!045,/ 0ILASYCOLAS )NTRODUCCIN 0ILAS 2EPRESENTACINDEPILAS /PERACIONESCONPILAS !PLICACIONESDEPILAS ,ACLASE0ILA

    #OLAS 2EPRESENTACINDECOLAS /PERACIONESCONCOLAS #OLASCIRCULARES $OBLECOLA !PLICACIONESDECOLAS ,ACLASE#OLA

    %JERCICIOS

    #!045,/ 2ECURSIN )NTRODUCCIN %LPROBLEMADELAS4ORRESDE(ANOI 2ECURSIVIDADENRBOLES 2ECURSIVIDADENORDENACINYBSQUEDA %JERCICIOS

    #!045,/ ,ISTAS )NTRODUCCIN ,ISTASSIMPLEMENTELIGADAS /PERACIONESCONLISTASSIMPLEMENTELIGADAS 2ECORRIDODEUNALISTASIMPLEMENTELIGADA )NSERCINENLISTASSIMPLEMENTELIGADAS %LIMINACINENLISTASSIMPLEMENTELIGADAS "SQUEDAENLISTASSIMPLEMENTELIGADAS

    ,ISTASCIRCULARES ,ISTASDOBLEMENTELIGADAS /PERACIONESCONLISTASDOBLEMENTELIGADAS 2ECORRIDODEUNALISTADOBLEMENTELIGADA )NSERCINENLISTASDOBLEMENTELIGADAS %LIMINACINENLISTASDOBLEMENTELIGADAS

    ,ISTASDOBLEMENTELIGADASCIRCULARES !PLICACIONESDELISTAS

    i`

  • ix

    2EPRESENTACINDEPOLINOMIOS 3OLUCINDECOLISIONESHASH

    ,ACLASE,ISTA %JERCICIOS

    #!045,/ RBOLES )NTRODUCCIN RBOLESENGENERAL #ARACTERSTICASYPROPIEDADESDELOSRBOLES ,ONGITUDDECAMINOINTERNOYEXTERNO

    RBOLESBINARIOS RBOLESBINARIOSDISTINTOSSIMILARESYEQUIVALENTES RBOLESBINARIOSCOMPLETOS 2EPRESENTACINDERBOLESGENERALESCOMOBINARIOS 2EPRESENTACINDEUNBOSQUECOMORBOLBINARIO 2EPRESENTACINDERBOLESBINARIOSENMEMORIA /PERACIONESENRBOLESBINARIOS RBOLESBINARIOSDEBSQUEDA

    RBOLESBALANCEADOS )NSERCINENRBOLESBALANCEADOS 2EESTRUCTURACINDELRBOLBALANCEADO

    RBOLESMULTICAMINOS RBOLES" RBOLES" RBOLES

    ,ACLASERBOL %JERCICIOS

    #!045,/ 'RlCAS )NTRODUCCIN $ElNICINDEGRlCAS #ONCEPTOSBSICOSDEGRlCAS 'RlCASDIRIGIDAS 2EPRESENTACINDEGRlCASDIRIGIDAS /BTENCINDECAMINOSDENTRODEUNADIGRlCA !LGORITMODE$IJKSTRA !LGORITMODE&LOYD !LGORITMODE-ARSHALL

    'RlCASNODIRIGIDAS 2EPRESENTACINDEGRlCASNODIRIGIDAS #ONSTRUCCINDELRBOLABARCADORDECOSTOMNIMO !LGORITMODE0RIM !LGORITMODE+RUSKAL

    2ESOLUCINDEPROBLEMAS

    $0/5&/*%0

  • x %SPACIOESTADO -TODOSDEBSQUEDAENESPACIOESTADO -TODOSDEBSQUEDABREADTHlRST -TODODEBSQUEDADEPTHlRST

    ,ACLASEGRlCA %JERCICIOS

    #!045,/ -TODOSDEORDENACIN )NTRODUCCIN /RDENACININTERNA /RDENACINPORINTERCAMBIODIRECTOBURBUJA /RDENACINPORELMTODODEINTERCAMBIODIRECTOCONSEAL /RDENACINPORELMTODODELASACUDIDASHAKERSORT /RDENACINPORINSERCINDIRECTA /RDENACINPORELMTODODEINSERCINBINARIA /RDENACINPORSELECCINDIRECTA !NLISISDEElCIENCIADELOSMTODOSDIRECTOS /RDENACINPORELMTODODE3HELL /RDENACINPORELMTODOQUICKSORT /RDENACINPORELMTODOHEAPSORTMONTCULO

    /RDENACINEXTERNA )NTERCALACINDEARCHIVOS /RDENACINDEARCHIVOS /RDENACINPORMEZCLADIRECTA /RDENACINPORELMTODODEMEZCLAEQUILIBRADA

    %JERCICIOS

    #!045,/ -TODOSDEBSQUEDA )NTRODUCCIN "SQUEDAINTERNA "SQUEDASECUENCIAL "SQUEDABINARIA "SQUEDAPORTRANSFORMACINDECLAVES &UNCINHASHPORMDULODIVISIN &UNCINHASHCUADRADO &UNCINHASHPORPLEGAMIENTO &UNCINHASHPORTRUNCAMIENTO 3OLUCINDECOLISIONES 2EASIGNACIN !RREGLOSANIDADOS %NCADENAMIENTO RBOLESDEBSQUEDA

    "SQUEDAEXTERNA "SQUEDAENARCHIVOSSECUENCIALES

    i`

  • xi

    "SQUEDASECUENCIAL "SQUEDASECUENCIALMEDIANTEBLOQUES "SQUEDASECUENCIALCONNDICES "SQUEDABINARIA "SQUEDAPORTRANSFORMACINDECLAVESHASH 3OLUCINDECOLISIONES (ASHINGDINMICOBSQUEDADINMICAPORTRANSFORMACIN DECLAVES -TODODELASEXPANSIONESTOTALES -TODODELASEXPANSIONESPARCIALES ,ISTASINVERTIDAS -ULTILISTAS

    %JERCICIOS

    ")",)/'2!&!

    ',/3!2)/

    .$)#%!.!,4)#/

    $0/5&/*%0

  • 02%3%.4!#).

    /"*%4)6/

    %STELIBROTIENECOMOOBJETIVOPRESENTARLASESTRUCTURASDEDATOSASCOMOLOSALGORITMOSNECESARIOSPARATRATARLAS%LLENGUAJEUTILIZADOESALGORTMICOESCRITOENSEUDOCDIGOINDEPENDIENTEDECUALQUIERLENGUAJECOMERCIALDEPROGRAMACIN%STACARACTERSTICAESMUYIMPORTANTEYAQUEPERMITEALLECTORCOMPRENDERLASESTRUCTURASDEDATOSYLOSALGORITMOSASOCIADOSAELLASSINRELACIONARLOSCONLENGUAJESDEPROGRAMACINPARTICULARES3ECONSIDERAQUEUNAVEZQUEELLECTORDOMINEESTOSCONCEPTOSLOSPODRIMPLEMENTARFCILMENTEENCUALQUIERLENGUAJE3IBIENCADAUNODE LOS TEMAS SONDESARROLLADOSDESDENIVELESBSICOSANIVELES

    COMPLEJOSSESUPONEQUEELLECTORYACONOCECIERTOSCONCEPTOSPOREJEMPLOELDEDATOSSIMPLESENTEROSREALESBOOLEANOSCARCTERELDEINSTRUCCINDECLARATIVAASIGNACIN ENTRADASALIDA Y EL DE OPERADORESARITMTICOS RELACIONALES Y LGICOS!SIMISMOSEUTILIZAPERONOSEEXPLICAELCONCEPTODEVARIABLESYCONSTANTES%NLOSALGORITMOSSEESCRIBENLOSNOMBRESDEVARIABLESCONMAYSCULAS35-!.ETCLOMISMOPARALASCONSTANTESBOOLEANAS6%2$!$%2/Y&!,3/#ABEACLARARQUEENESTELIBRONOSEABORDANLOSTIPOSABSTRACTOSDEDATOSDEMANERA

    EXPLCITA3INEMBARGOSETRATANALGUNOSDEELLOSSINPRESENTARLOSCOMOTALESPOREJEMPLOLASPILASYCOLASENELCAPTULOTRES#ADACAPTULOCUENTACONUNNMEROIMPORTANTEDEEJERCICIOS#ONSTOSSESIGUE

    ELMISMOCRITERIOAPLICADOENELDESARROLLODELOSDISTINTOSTEMASESDECIRSEPROPONENEJERCICIOSENLOSQUESEAUMENTAGRADUALMENTEELNIVELDECOMPLEJIDAD

    ,%.'5!*%54),):!$/

    %LLENGUAJEUTILIZADOPARADESCRIBIRLOSALGORITMOSESESTRUCTURADO,ASESTRUCTURASALGORTMICASSELECTIVASYREPETITIVASSEENUMERANYLASINSTRUCCIONESQUEFORMANPARTEDEELLASSEESCRIBENDEJANDOSANGRASPARAPROPORCIONARMAYORCLARIDAD!DEMSCONELOBJETODEAYUDARALENTENDIMIENTODELOSMISMOSSEESCRIBENCOMENTARIOSENCERRADOSENTRE[]!CONTINUACINSEPRESENTANLASESTRUCTURASALGORTMICASEMPLEADASENLOSALGORITMOS

  • xiv *ii>V

    3ELECTIVASIMPLEPI3ICONDICINENTONCESACCINPI[&INDELCONDICIONALDELPASOPI]

    $ONDECONDICINESCUALQUIEREXPRESINRELACIONALYOLGICAYACCINESCUALQUIEROPERACINOCONJUNTODEOPERACIONESLECTURAESCRITURAASIGNACINUOTRAS%STAESTRUCTURAPERMITESELECCIONARUNAALTERNATIVADEPENDIENDODEQUELACONDICIN

    SEAVERDADERA%SDECIRALSEREVALUADALACONDICINSISTARESULTACONUNVALORIGUALA6%2$!$%2/ENTONCESSEEJECUTARLAACCININDICADA%NCASOCONTRARIOSESIGUECONELmUJOESTABLECIDO

    3ELECTIVADOBLE PI3ICONDICIN ENTONCES ACCIN SINO ACCIN PI[&INDELCONDICIONALDELPASOPI]

    $ONDECONDICINESUNAEXPRESINRELACIONALYOLGICAYACCINYACCINSONCUALQUIEROPERACINOCONJUNTODEOPERACIONESLECTURAESCRITURAASIGNACINUOTRAS%STAESTRUCTURAPERMITESELECCIONARUNADEDOSALTERNATIVASSEGNLACONDICINSEA

    VERDADERAOFALSA3ILACONDICINESVERDADERASEEJECUTARLAACCINENCASOCONTRARIOSEEJECUTARLAACCIN

    3ELECTIVAMLTIPLEPI3IVARIABLE VALORACCIN VALORACCIN VALORNACCINNPI[&INDELCONDICIONALDELPASOPI]

    $ONDEVALORJJNSONLOSPOSIBLESVALORESQUEPUEDETOMARLAVARIABLEACCINJJNESCUALQUIEROPERACINOCONJUNTODEOPERACIONESLECTURAESCRITURAASIGNACINUOTRAS%STE TIPODEESTRUCTURASEUTILIZAPARAUNASELECCINSOBREMLTIPLESALTERNATIVAS

    3EGNELVALORDELAVARIABLESEEJECUTARLAACCINCORRESPONDIENTE$EESTAMANERASIVARIABLEESIGUALAVALORSEEJECUTARLAACCINSIVARIABLEESIGUALAVALORSEEJECUTARLAACCINYASENLOSDEMSCASOS

  • xv13&4&/5"$*/

    2EPETITIVACONDICIONADA PI-IENTRASCONDICIN2EPETIR ACCINPI[&INDELCICLODELPASOPI]

    $ONDECONDICINESCUALQUIEREXPRESINRELACIONALYOLGICAYACCINESCUALQUIEROPERACINOCONJUNTODEOPERACIONESLECTURAESCRITURAASIGNACINUOTRAS%STAESTRUCTURAPERMITE REPETIRUNAOMSOPERACIONESMIENTRAS LACONDICINSEA

    VERDADERA

    2EPETITIVAPREDElNIDA PI2EPETIRCONVARIABLEDESDE6)HASTA6& ACCINPI[&INDELCICLODELPASOPI]

    $ONDEVARIABLEESCUALQUIERVARIABLE6)ESUNVALORINICIALQUESELEASIGNAAVARIABLE6&ESELVALORlNALQUEVAATOMARVARIABLEYACCINESCUALQUIEROPERACINOCONJUNTO DE OPERACIONESLECTURA ESCRITURA ASIGNACIN U OTRAS3E ASUME QUE ELVALORDELAVARIABLESEINCREMENTADEUNOENUNO%STAESTRUCTURAPERMITEREPETIRUNAOMSOPERACIONESUNNMEROlJODEVECES%L

    NMERODEREPETICIONESQUEDADETERMINADOPORLADIFERENCIAENTRE6&Y6)MSUNO

    /2'!.):!#).

    %LLIBROESTORGANIZADOENNUEVECAPTULOSCADAUNODEELLOSCUENTACONNUMEROSOSEJEMPLOSYEJERCICIOSQUEILUSTRANYAYUDANAENTENDERLOSCONCEPTOSVERTIDOSENELLOS3EUTILIZANTABLASCONSEGUIMIENTOSDELOSALGORITMOSPARAPRESENTARCMOFUNCIONANYDEQUMANERAAFECTANALASESTRUCTURASDEDATOSINVOLUCRADAS!LGUNOSLECTORESQUIZSEPANQUEESTAOBRATIENEDOSEDICIONESANTERIORESPUBLICADA

    PORPRIMERAVEZPORLAMISMACASAEDITORIALENCONMLTIPLESREIMPRESIONES4RECEAOSESUNTIEMPOEXTENSOENCOMPUTACINUNREADONDELOSCAMBIOSSEPRESENTANVELOZMENTE%STAEDICINOFRECEUNACUIDADOSAREVISINDELOSTEMASTRATADOSALGORITMOSMEJORADOSYEJERCICIOSADICIONALESENlNMUCHOSCAMBIOSPARAALCANZARELOBJETIVOPROPUESTODEESTANUEVAEDICIN!DEMSENLOSCAPTULOSYSEINCLUYUNABREVEINTRODUCCINALAPROGRAMACINORIENTADAAOBJETOSPRESENTANDOALASESTRUCTURASDEDATOSOBJETOSDEESTUDIOENDICHOSCAPTULOSCONESTEENFOQUE%LLENGUAJEUTILIZADOENLOSPROGRAMASESPSEUDOCDIGOESDECIRINDEPENDIENTEDE

    CUALQUIEROTROLENGUAJEDEPROGRAMACINCOMERCIAL%STACARACTERSTICAPERMITEALESTUDIANTECONCENTRARSEENLASESTRUCTURASDEDATOSYENLOSALGORITMOSASOCIADOSAELLASSINTENERQUEATENDERLOSDETALLESDEIMPLEMENTACIN5NAVEZQUEDOMINELOSCONCEPTOSLOSPODRLLEVARALAPRCTICACONLAAYUDADECUALQUIERLENGUAJEDEPROGRAMACINCOMERCIAL,AGENERALIDADCONLAQUESEEXPLICANLOSCONCEPTOSYPOSIBLESAPLICACIONESDELOSMISMOSFACILITANINCLUSOLAIMPLEMENTACINENLENGUAJESESTRUCTURADOSOENLENGUAJESORIENTADOSAOBJETOS

  • xvi *ii>V

    #APTULO %STRUCTURASFUNDAMENTALES

    %NESTECAPTULOSEPRESENTAN LASESTRUCTURASFUNDAMENTALESDEDATOS3EESTUDIAN LOSARREGLOSUNIDIMENSIONALESBIDIMENSIONALESYMULTIDIMENSIONALES!DEMSSEEXPLICANLOSREGISTROS0ORLTIMOSEINCLUYEUNABREVEINTRODUCCINALAPROGRAMACINORIENTADAAOBJETOSCONELlNDEQUESIRVACOMOBASEPARAENTENDERLASPRINCIPALESESTRUCTURASDEDATOSDESDEESTEENFOQUE4AMBINSEDESCRIBELACLASEARREGLO

    #APTULO !RREGLOSMULTIDIMENSIONALESREPRESENTADOS ENARREGLOSUNIDIMENSIONALES

    ,AMAYORADELOSLENGUAJESDEPROGRAMACINDEALTONIVELPROPORCIONANMEDIOSElCACESPARAALMACENARYRECUPERARELEMENTOSDEARREGLOSBIDIMENSIONALESYMULTIDIMENSIONALES0ORELLOELUSUARIONOSEPREOCUPAPORLOSDETALLESDELALMACENAMIENTOYELTRATAMIENTOFSICODELDATOSINOPORELTRATAMIENTOLGICODELMISMO%STOREPRESENTAUNAVENTAJA3INEMBARGOSILASESTRUCTURASSONMUYGRANDESYNOTODOSLOSCAMPOSESTNLLENOSSEPRESENTAENTONCESUNADESVENTAJAGRANDESPERDICIODEESPACIO0UEDEOCURRIRTAMBINQUEELUSUARIONECESITEREPRESENTARDICHASESTRUCTURASDEFORMALINEAL0ORESTARAZNENESTECAPTULOSEESTUDIARLAREPRESENTACINLINEALDEARREGLOSBIDIMENSIONALESYMULTIDIMENSIONALES3EANALIZARNADEMSLASMATRICESPOCODENSASLASTRIANGULARESYTRIDIAGONALESLASSIMTRICASYANTISIMTRICAS

    #APTULO 0ILASYCOLAS

    %STECAPTULOSEDEDICARALASPILASYCOLASLASCUALESSONESTRUCTURASDEDATOSLINEALESESTTICASODINMICASDEPENDIENDODESISTASSEIMPLEMENTANCONARREGLOSOLISTAS4ALESESTRUCTURASDEDATOSTIENENLAPARTICULARIDADDEQUELAINSERCINYELIMINACINDELOSELEMENTOSSEHACESOLAMENTEPORALGUNODELOSEXTREMOSSEGNSUESTRUCTURA4AMBINSEPRESENTANESTASESTRUCTURASCONUNENFOQUEORIENTADOAOBJETOS

    #APTULO 2ECURSIN

    ,ARECURSINPERMITEDElNIRUNOBJETOENTRMINOSDESMISMO!PARECEENNUMEROSASACTIVIDADESDELAVIDADIARIAPOREJEMPLOENLAFOTOGRAFADEUNAFOTOGRAFA#ASOSTPICOSDEESTRUCTURASDEDATOSDElNIDASDEMANERARECURSIVASONLASLISTASYLOSRBOLESQUESEESTUDIARNENLOSDOSSIGUIENTESCAPTULOS,ARECURSIVIDADESUNAPROPIEDADESENCIALENELDESARROLLODESOFTWAREPORESTARAZNSEANALIZANAQULADESCRIPCINDELARECURSIVIDADASCOMOELUSODEALGORITMOSRECURSIVOSCLSICOSYCOMPLEJOS

  • xvii13&4&/5"$*/

    #APTULO ,ISTAS

    ,ASLISTASSONESTRUCTURASLINEALESYDINMICASDEDATOS,APRINCIPALVENTAJADELDINAMISMO LO REPRESENTA EL HECHODEQUE SE ADQUIERENPOSICIONESDEMEMORIA AMEDIDAQUESENECESITANYSELIBERANCUANDOYANOSEREQUIEREN%SDECIRSELLEGANAEXPANDIROCONTRAERDEPENDIENDODELAAPLICACIN%LDINAMISMODEESTASESTRUCTURASSOLUCIONAELPROBLEMADEDECIDIRCUNTOESPACIOSENECESITAAPRIORIPOREJEMPLOENUNAESTRUCTURADEDATOSESTTICACOMOELARREGLO%NESTECAPTULOESTUDIAREMOSLASLISTASLINEALESCIRCULARESYDOBLEMENTELIGADAS4AMBINSEPRESENTANESTASESTRUCTURASCONUNENFOQUEORIENTADOAOBJETOS

    #APTULO RBOLES

    ,OSRBOLESREPRESENTANLASESTRUCTURASDEDATOSNOLINEALESYLASDINMICASMSRELEVANTESENCOMPUTACIN.OLINEALESPUESTOQUEACADAELEMENTODELRBOLPUEDENSEGUIRLEVARIOS ELEMENTOS$INMICAS DADO QUE LA ESTRUCTURA DEL RBOL SUELE CAMBIAR DURANTELAEJECUCINDELPROGRAMA,OSRBOLESBALANCEADOSSONLAESTRUCTURADEDATOSMSIMPORTANTEPARATRABAJARENLAMEMORIAINTERNADELACOMPUTADORA0OROTRAPARTELOSRBOLES"CONSTITUYENLAESTRUCTURADEDATOSMSTILPARATRABAJARCONALMACENAMIENTOSECUNDARIO4AMBINSEPRESENTAESTAESTRUCTURACONUNENFOQUEORIENTADOAOBJETOS

    #APTULO 'RlCAS

    %STECAPTULOSEDEDICAALASESTRUCTURASDEDATOSQUEPERMITENREPRESENTARDIFERENTESTIPOSDERELACIONESENTRELOSOBJETOSLASGRlCAS%STUDIAREMOSLASGRlCASDIRIGIDASYNODIRIGIDASLOSCONCEPTOSMSIMPORTANTESYLOSALGORITMOSMSDESTACADOSPARATRABAJARCONELLASTALESCOMO$IJKSTRA&LOYD7ARSHALL0RIMY+RUSKAL!DEMSSEINCLUYEUNAINTRODUCCINALASOLUCINDEPROBLEMASTEMAMUYRELACIONADOCONLASGRlCASYSEESTUDIANLOSALGORITMOS"READTH&IRSTY$EPTH&IRST4AMBINSEPRESENTAESTAESTRUCTURACONUNENFOQUEORIENTADOAOBJETOS

    #APTULO -TODOSDEORDENACIN

    /RDENARSIGNIlCACOLOCAROREORGANIZARUNCONJUNTODEDATOSUOBJETOSENUNASECUENCIAESPEClCA ,OS PROCESOS TANTO DE ORDENACIN COMO DE BSQUEDA SON FRECUENTES ENNUESTRAVIDA%NESTECAPTULOESTUDIAREMOSLOSMTODOSDEORDENACININTERNAYEXTERNAMSIMPORTANTESDELAACTUALIDAD3EPRESENTAADEMSELANLISISDEElCIENCIADECADAUNODELOSMTODOS

    #APTULO -TODOSDEBSQUEDA

    %STECAPTULOSEDEDICAUNADELASOPERACIONESMSIMPORTANTESENELPROCESAMIENTODELAINFORMACINLABSQUEDA4ALOPERACINPERMITERECUPERARDATOSALMACENADOS,A

  • xviii *ii>V

    BSQUEDAPUEDESERINTERNACUANDOTODOSLOSELEMENTOSSEENCUENTRANENLAMEMORIAPRINCIPALOEXTERNACUANDOESTNENLAMEMORIASECUNDARIA3EESTUDIANLOSMTODOSDEBSQUEDAMSIMPORTANTESQUEEXISTEN3EPRESENTATAMBINELANLISISDEElCIENCIADECADAUNODEESTOSMTODOS

    !'2!$%#)-)%.4/3

    %STAOBRAESFRUTODELACOLABORACINDEAMIGOSESTUDIANTESYCOLEGASQUEDEALGUNAUOTRAFORMAPARTICIPARONPARAQUEESTEPROYECTOSEAUNAREALIDAD%SPECIALMENTEQUEREMOSAGRADECERALDOCTOR!RTURO&ERNNDEZ0REZRECTORDEL)4!-YALOSFUNCIONARIOSDELA$IVISIN!CADMICADE)NGENIERADEL)4!-QUIENESNOSAPOYARONPARALAREALIZACINDEESTELIBRO

    /36!,$/#!)23),6)!'5!2$!4)

  • %3425#452!3&5.$!-%.4!,%3$%$!4/3

    #APTULO

    ).42/$5##).

    ,A IMPORTANCIA DE LAS COMPUTADORAS RADICA FUNDAMENTALMENTE EN SU CAPACIDAD PARAPROCESARINFORMACIN%STACARACTERSTICALESPERMITEREALIZARACTIVIDADESQUEANTESSLOLASREALIZABANLOSHUMANOS#ONELPROPSITODEQUELAINFORMACINSEAPROCESADASEREQUIEREQUESTASEAL

    MACENEENLAMEMORIADELACOMPUTADORA$EACUERDOCONLAFORMAENQUELOSDATOSSEORGANIZANSECLASIlCANEN

    4IPOSDEDATOSSIMPLES 4IPOSDEDATOSESTRUCTURADOS

    ,APRINCIPALCARACTERSTICADELOSTIPOSDEDATOSSIMPLESCONSISTEENQUEOCUPANSLOUNACASILLADEMEMORIAlGAPORTANTOUNAVARIABLESIMPLEHACEREFERENCIAAUNNICOVALORALAVEZ%NESTEGRUPODEDATOSSEENCUENTRANNMEROSENTEROSYREALESCARACTERESBOOLEANOSENUMERADOSYSUBRANGOS#ABESEALARQUELOSDOSLTIMOSNOEXISTENENALGUNOSLENGUAJESDEPROGRAMACIN0OROTRAPARTELOSTIPOSDEDATOSESTRUCTURADOSSECARACTERIZANPORELHECHODEQUE

    CONUNNOMBREIDENTIlCADORDEVARIABLEESTRUCTURADASEHACEREFERENCIAAUNGRUPODECASILLASDEMEMORIAlGB%SDECIRUNTIPODEDATOESTRUCTURADOTIENEVARIOSCOMPONENTES#ADAUNODESTOSPUEDESERUNTIPODEDATOSIMPLEOESTRUCTURADO3INEMBARGOLOSCOMPONENTESBSICOSLOSDELNIVELMSBAJODECUALQUIERTIPODEDATOSESTRUCTURADOSONSIEMPRETIPOSDEDATOSSIMPLES%LESTUDIODELASESTRUCTURASDEDATOSCONSTITUYEUNADELASPRINCIPALESACTIVIDADES

    PARALLEGARALDESARROLLODEGRANDESSISTEMASDESOFTWARE%NESTECAPTULOSETRATARNLASESTRUCTURASDEDATOSBSICOSQUESONTILESPARALAMAYORADELOSLENGUAJESDEPROGRAMACINSTASSONARREGLOSYREGISTROS

  • 2 > &4536$563"4'6/%".&/5"-&4%&%"504

    &)'52!4IPOSDEDATOSSIMPLESYESTRUCTURADOSB$ATOSIMPLEC$ATOESTRUCTURADO

    !22%',/3

    #ONFRECUENCIASEPRESENTANENLAPRCTICAPROBLEMASCUYASOLUCINNORESULTAFCILAVECESESIMPOSIBLESISEUTILIZANTIPOSDEDATOSSIMPLES#ONELPROPSITODEILUSTRARESTADIlCULTADACONTINUACINSEPRESENTARNUNPRO

    BLEMAYDOSDESUSPOSIBLESSOLUCIONESMEDIANTETIPOSSIMPLESDEDATOS%LOBJETIVODEESTEEJEMPLOESDEMOSTRARLOCOMPLEJOQUERESULTAUNALGORITMODESOLUCINPARACIERTOSPROBLEMASSINOSEUTILIZANTIPOSDEDATOSESTRUCTURADOS&INALMENTEYLUEGODEPRESENTARLOSARREGLOSSEOFRECERUNASOLUCINALPROBLEMAMENCIONADOENPRIMERTRMINOUSANDOARREGLOS

    #ONSIDEREMOSQUEENUNAUNIVERSIDADSECONOCENLASCALIlCACIONESDEUNGRUPODEALUMNOS3ENECESITASABERCUNTOSDESTOSTIENENCALIlCACINSUPERIORALPROMEDIODELGRUPOz#MORESOLVERESTEPROBLEMA

    0RIMERASOLUCIN!LGORITMO $OBLE?LECTURA

    %JEMPLO

    $OBLE?LECTURA

    [%STEALGORITMO RESUELVEELPROBLEMAPLANTEADOENELEJEMPLO REALIZANDODOSVECES LALECTURADELOSDATOS]

    [)Y#/.4SONVARIABLESDETIPOENTERO!#02/-Y#SONVARIABLESDETIPOREAL]

    (ACER!#E) -IENTRAS)2EPETIR %SCRIBIRh)NGRESELACALIlCACINv) ,EER# (ACER!#!##E)) [&INDELCICLODELPASO] (ACER02/-!#

    [#OMOSENECESITAINDICARCUNTOSALUMNOSOBTUVIERONCALIlCACINSUPERIORALPROMEDIOSERELEERNLASCALIlCACIONESPARACOMPARARCADAUNADEELLASCONELPROMEDIOCALCULADOENELPASO]

  • 3 "33&(-04

    3EGUNDASOLUCIN!LGORITMO -UCHAS?VARIABLES

    %STASDOSSOLUCIONESSONMUYREPRESENTATIVASDELOSINCONVENIENTESALOSQUEUNOSEPUEDEENFRENTARALPLANTEARUNASOLUCINALGORTMICAAUNPROBLEMAALUSARSLOTIPOSDEDATOSSIMPLES

    (ACER#/.4E) -IENTRAS)2EPETIR %SCRIBIRh)NGRESELACALIlCACINv) ,EER#

    3I#>02/-ENTONCES (ACER#/.4#/.4 [&INDELCONDICIONALDELPASO] (ACER))

    [&INDELCICLODELPASO] %SCRIBIR#/.4

    -UCHAS?VARIABLES

    [%STE ALGORITMO RESUELVE EL PROBLEMA PLANTEADO EN EL EJEMPLO PERO AHORAMEDIANTEMUCHASVARIABLES]

    [#/.4ESUNAVARIABLEDETIPOENTERO02/-!#Y#ISONVARIABLESDETIPOREAL]

    ,EER#### [,ASCALIlCACIONESCORRESPONDENALOSALUMNOS]

    (ACER!##### 02/-!#Y#/.4

    3I#02/-ENTONCES(ACER#/.4#/.4

    [&INDELCONDICIONALDELPASO] 3I#02/-ENTONCES

    (ACER#/.4 #/.4

    [&INDELCONDICIONALDELPASO] 3I#02/-ENTONCES

    (ACER#/.4#/.4

    [&INDELCONDICIONALDELPASO] %SCRIBIR#/.4

  • 4 > &4536$563"4'6/%".&/5"-&4%&%"504

    %NLASOLUCINPLANTEADAENELALGORITMOELUSUARIODEBEINGRESARDOSVECESELCONJUNTODEDATOS%STOLTIMOTIENEVARIASDESVENTAJASESTOTALMENTEMOLESTOCONSIDEREQUEELNMERODEDATOSPUEDESERMAYORAINElCIENTELAOPERACINDELECTURAYASEADEMANERAINTERACTIVACONELUSUARIOODESDEUNARCHIVOSEDEBEREPETIRLOQUEOCASIONAPRDIDADETIEMPOYCAUSADEERRORESENLOSCASOSDONDELAENTRADADEDATOSSEHAGADEFORMAMANUAL0OROTRAPARTEENLASOLUCINPLANTEADAENELALGORITMOSEMANEJANVARIABLES

    ENMEMORIA%STASOLUCINPRESENTAELINCONVENIENTEDEQUEELMANEJODELASVARIABLESSEPUEDETORNARINCONTROLABLESOBRETODOSISUNMEROCRECEENFORMACONSIDERABLE!DEMSALGUNOSPASOSESPECIlCADOSENELALGORITMOQUEPOSTERIORMENTESERNINSTRUCCIONESDEALGNLENGUAJEDEPROGRAMACINSEREPITENYAQUENOSEPUEDENGENERALIZAR%STACARACTERSTICANOSLOPROVOCAMSTRABAJOSINOTAMBINPOSIBLESERRORES%SSABIDOQUEEJECUTARUNATAREAENFORMAREPETIDAENESTECASOESCRIBIRUNMISMOPASOVARIASVECESRESTAINTERSENLAACCINQUESEESTLLEVANDOACABOYPUEDEPROPICIARMSERRORES3EOBSERVAENTONCESQUENINGUNADELASDOSSOLUCIONESRESULTAPRCTICANIElCIEN

    TE%SNECESARIOUNTIPODEDATOQUEPERMITAMANEJARMUCHAINFORMACINGENERALIZANDOSUSOPERACIONES,OSTIPOSDEDATOSESTRUCTURADOSQUEAYUDANARESOLVERPROBLEMASCOMOSTESONLOSARREGLOS5NARREGLO UNIDIMENSIONAL SE DElNE COMO UNA COLECCIN lNITA HOMOGNEA Y

    ORDENADADEELEMENTOS

    &INITATODOARREGLOTIENEUNLMITEESDECIRSEDEBEDETERMINARCULSERELNMEROMXIMODEELEMENTOSQUEFORMARNPARTEDELARREGLO

    (OMOGNEATODOSLOSELEMENTOSDEUNARREGLOSONDELMISMOTIPO%SDECIRTODOSENTEROSTODOSBOOLEANOSETCTERAPERONUNCAUNACOMBINACINDEDISTINTOSTIPOS

    /RDENADASEPUEDEDETERMINARCULESSONELPRIMEROELSEGUNDOELTERCEROYELENSIMOELEMENTOS

    5NARREGLOUNIDIMENSIONALSEPUEDEREPRESENTARGRlCAMENTECOMOSEMUESTRAENLAlGURA3I UN ARREGLO TIENE LA CARACTERSTICA DE QUE PUEDE ALMACENAR A. ELEMENTOS DEL

    MISMOTIPOENTONCESDEBERPERMITIRLARECUPERACINDECADAUNODEELLOS#OMOCONSECUENCIASEDISTINGUENDOSPARTESFUNDAMENTALESENLOSARREGLOS

    ,OSCOMPONENTES ,OSNDICES

    ,OSPRIMEROSHACENREFERENCIAALOSELEMENTOSQUEFORMANELARREGLOESDECIRALOSVALORESQUE SEALMACENANENCADAUNADE SUSCASILLAS lG#ONSIDERANDOEL

    &)'52!2EPRESENTACINDEARREGLOS

  • 5 "33&(-04

    EJEMPLOANTERIORCADAUNADELASCALIlCACIONESSERUNCOMPONENTEDEUNARREGLOhCALIlCACIONESv%NESTECONTEXTOLOSNDICESESPECIlCANCUNTOSELEMENTOSTENDRELARREGLOYADEMSDEQUMODOPODRNRECUPERARSEESOSCOMPONENTES,OSNDICESTAMBINPERMITENHACERREFERENCIAALOSCOMPONENTESDELARREGLOENFORMAINDIVIDUALESDECIRDISTINGUIRNENTRESUSELEMENTOS0ORTANTOPARAHACERREFERENCIAAUNELEMENTODEUNARREGLOSEDEBEUTILIZAR

    %LNOMBREDELARREGLO %LNDICEDELELEMENTO

    %NLAlGURASEREPRESENTAUNARREGLOUNIDIMENSIONALYSEINDICANTANTOSUSCOMPONENTESCOMOSUSNDICES

    $ECLARACINDEARREGLOSUNIDIMENSIONALES

    .OESELPROPSITODEESTELIBROSEGUIRLASINTAXISDEALGNLENGUAJEDEPROGRAMACINENPARTICULARUNARREGLOUNIDIMENSIONALSEDElNEDELASIGUIENTEMANERA

    IDENT?ARREGLO!22%',/;LMINFLMSUP=$%TIPO

    #ONLOSVALORESLMINFYLMSUPSEDECLARAELTIPODELOSNDICESASCOMOELNMERODEELEMENTOSQUETENDRELARREGLO%LNMEROTOTALDECOMPONENTES.4#QUETENDRELARREGLOUNIDIMENSIONALSECALCULACON

    .4#LMSUPLMINF &RMULA

    #ONTIPOSEDECLARAELTIPODEDATOSPARATODOSLOSCOMPONENTESDELARREGLOUNIDIMENSIONAL%LTIPODELOSCOMPONENTESNOTIENEQUESERELMISMOQUEELDELOSNDICES%NGENERALLOSLENGUAJESDEPROGRAMACINESTABLECENRESTRICCIONESALRESPECTO

    /BSERVACIONES

    A %LTIPODELNDICEPUEDESERCUALQUIERTIPOORDINALCARCTERENTEROENUMERADO%NLAMAYORADELOSLENGUAJESUSADOSACTUALMENTESEPERMITESLONMEROSENTEROS

    &)'52!NDICESYCOMPONENTESDEUNARREGLO

  • 6 > &4536$563"4'6/%".&/5"-&4%&%"504

    B %LTIPODELOSCOMPONENTESPUEDESERCUALQUIERTIPODEDATOSENTEROREALCADENADECARACTERESREGISTROARREGLOETCTERA

    C 3EUTILIZANLOSCORCHETESh;=vPARAINDICARELNDICEDEUNARREGLO%NTRE;=SEDEBEESCRIBIRUNVALORORDINALPUEDESERUNAVARIABLEUNACONSTANTEOUNAEXPRESINTANCOMPLEJACOMOSEQUIERAPEROQUEDCOMORESULTADOUNVALORORDINAL

    %NSEGUIDASEVERNALGUNOSEJEMPLOSDEARREGLOSUNIDIMENSIONALES

    3EA6UNARREGLOUNIDIMENSIONALDEELEMENTOSENTEROSCONNDICESENTEROS3UREPRESENTACINSEINDICAENLAlGURA

    6!22%',/;=$%ENTEROS

    .4#n #ADACOMPONENTEDELARREGLOUNIDIMENSIONAL6SERUNNMEROENTEROALCUALSETENDRACCESOPORMEDIODEUNNDICEQUESERUNVALORCOMPRENDIDOENTREY

    0OREJEMPLO

    6;L=HACEREFERENCIAALELEMENTODELAPOSICIN6;=HACEREFERENCIAALELEMENTODELAPOSICIN6;=HACEREFERENCIAALELEMENTODELAPOSICIN

    ,OSNDICESDETIPOENTERONONECESARIAMENTEDEBENTENERUNLMITEINFERIORIGUALACEROOAUNO0ODRANUSARSEVALORESNEGATIVOS;=OVALORESMAYORESAUNO;=

    3EA!UNARREGLODEELEMENTOSBOOLEANOSCONNDICESDETIPOCARCTER3UREPRESENTACINSEMUESTRAENLAlGURA

    !!22%',/;@A@Z=$%BOOLEANOS

    .4#ORD@ZORD@A #ADACOMPONENTEDELARREGLOUNIDIMENSIONAL!SERUNODELOSDOSPOSIBLESVALORESLGICOS6%2$!$%2/O&!,3/ALCUALSETENDRACCESOPORMEDIODEUNNDICEQUESERUNVALORCOMPRENDIDOENTRELOSCARACTERES@AY@Z

    0OREJEMPLO

    !;@A=HACEREFERENCIAALELEMENTODELAPOSICIN@AERA!;@B=HACEREFERENCIAALELEMENTODELAPOSICIN@BDA

    %JEMPLO

    %JEMPLO

    &)'52!

  • 7 "33&(-04

    !;@Z=HACEREFERENCIAALELEMENTODELAPOSICIN@Z

    3EA#)#,/UNARREGLODEELEMENTOSREALESCONNDICESDETIPOESCALAROENUMERADOS3UREPRESENTACINSEMUESTRAENLAlGURA

    MESESENEFEBMARABRMAYJUNJULAGOSEPTOCTNOVDIC

    #)#,/!22%',/;MESES=$%REALES

    .4#ORDDICORDENELn #ADACOMPONENTEDELARREGLOUNIDIMENSIONAL#)#,/SERUNNMEROREALALCUALSETENDRACCESOPORMEDIODEUNNDICEQUESERUNVALORCOMPRENDIDOENTREENEYDIC

    0OREJEMPLO

    #)#,/;ENE=HACEREFERENCIAALELEMENTODELAPOSICINENEERA#)#,/;FEB=HACEREFERENCIAALELEMENTODELAPOSICINFEBDA#)#,/;DIC=HACEREFERENCIAALELEMENTODELAPOSICINDICAVA

    /PERACIONESCONARREGLOSUNIDIMENSIONALES

    #OMOYASEMENCIONLOSARREGLOSSEUTILIZANPARAALMACENARDATOS0ORTANTORESULTANECESARIOLEERESCRIBIRASIGNAROSIMPLEMENTEMODIlCARDATOSENUNARREGLO!SIMISMOALCONSIDERARQUEESUNAESTRUCTURAAUNACOLECCINDEELEMENTOSSEDEBENINCORPORARNUEVOSELEMENTOSASCOMOELIMINARALGUNOSDELOSYAALMACENADOS,ASOPERACIONESVLIDASENARREGLOSSONLASSIGUIENTES

    ,ECTURA%SCRITURA !SIGNACIN

    %JEMPLO

    &)'52!

    &)'52!

  • 8 > &4536$563"4'6/%".&/5"-&4%&%"504

    !CTUALIZACIN)NSERCIN %LIMINACIN -ODIlCACIN /RDENACIN "SQUEDA

    #OMOLOSARREGLOSSONTIPOSDEDATOSESTRUCTURADOSMUCHASDEESTASOPERACIONESNOSEPUEDENLLEVARACABODEMANERAGLOBALESDECIRTRATANDOALARREGLOCOMOUNTODOSINOQUESEDEBETRABAJARSOBRECADACOMPONENTE!CONTINUACINSEANALIZARCADAUNADEESTASOPERACIONES#ABEDESTACARQUELAS

    DOSLTIMASORDENACINYBSQUEDASERNTEMADEESTUDIOENPRXIMOSCAPTULOS0ARAILUSTRARLASSEUTILIZARNLOSEJEMPLOSPRESENTADOSANTERIORMENTE

    ,ECTURA

    %LPROCESODELECTURADEUNARREGLOCONSISTEENLEERYASIGNARUNVALORACADAUNODESUSCOMPONENTES3UPONGAQUESEDESEALEERTODOSLOSELEMENTOSDELARREGLOUNIDIMENSIONAL6ENFORMACONSECUTIVA3EPODRAHACERDELASIGUIENTEMANERA

    ,EER6;=,EER6;=,EER6;=

    0EROESIMPORTANTEQUEELLECTOROBSERVEQUEDEESTAFORMANORESULTAPRCTICO0ORTANTOSEUSARUNCICLOPARALEERTODOSLOSELEMENTOSDELARREGLOUNIDIMENSIONAL

    2EPETIRCON)DESDEHASTA ,EER6;)=

    !LVARIARELVALORDE)CADAELEMENTOLEDOSEASIGNAALCORRESPONDIENTECOMPONENTEDELARREGLOSEGNLAPOSICININDICADAPOR)

    0ARA)SELEE6;= )SELEE6;= ).SELEE6;.=

    !LlNALIZARELCICLODELECTURASETENDRASIGNADOUNVALORACADAUNODELOSCOMPONENTESDELARREGLOUNIDIMENSIONAL6%LARREGLOSEMUESTRAENLAlGURA

    &)'52!,ECTURADEARREGLOS

  • 9 "33&(-04

    0UEDE SUCEDERQUENO SENECESITEN LEER TODOS LOS COMPONENTESDEL ARREGLO SINOSOLAMENTEALGUNODEELLOS3UPONGAMOSQUESEDEBENLEER LOSELEMENTOSCONNDICESCOMPRENDIDOSENTREELYEL!CONTINUACINSEMUESTRAELCICLOQUESENECESITAPARAREALIZARESTAOPERACIN

    2EPETIRCON)DESDEHASTA ,EER6;)=

    %LARREGLOSEMUESTRAENLAlGURA

    %SCRITURA

    %LCASODELAOPERACINDEESCRITURAESSIMILARALDELECTURA3EDEBEESCRIBIRELVALORDECADAUNODELOSCOMPONENTES3UPONGAMOSQUESEDESEAESCRIBIRLOSPRIMEROS.COMPONENTESDELARREGLOUNIDIMENSIONAL6ENFORMACONSECUTIVA,OSPASOSASEGUIRSON

    2EPETIRCON)DESDEHASTA. %SCRIBIR6;)=

    !LVARIARELVALORDE)SEESCRIBEELELEMENTODELARREGLOUNIDIMENSIONAL6CORRESPONDIENTEALAPOSICININDICADAPOR)

    0ARA)SEESCRIBEELVALORDE6;= )SEESCRIBEELVALORDE6;= ).SEESCRIBEELVALORDE6;.=

    !SIGNACIN

    %NGENERALNOESPOSIBLEASIGNARDIRECTAMENTEUNVALORATODOELARREGLOSINOQUESEDEBEASIGNARELVALORDESEADOACADACOMPONENTE%NSEGUIDASEANALIZANALGUNOSEJEMPLOSDEASIGNACIN/BSERVEQUEENLOSDOSPRIMEROSCASOSSEASIGNAUNVALORAUNADETERMINADACASILLA

    DELARREGLOENELPRIMEROALASEALADAPORELNDICEENEYENELSEGUNDOALAINDICADAPORELNDICEMAR

    #)#,/;ENE=#)#,/;MAR=#)#,/;ENE=

    %NELTERCERCASOSEASIGNAELATODASLASCASILLASDELARREGLOCONLOQUESTEQUEDACOMOSEMUESTRAENLAlGURA

    &)'52!,ECTURADEARREGLOS

  • 10 > &4536$563"4'6/%".&/5"-&4%&%"504

    2EPETIRCON-%3DESDEENEHASTADIC (ACER#)#,/;-%3=

    #ABEDESTACARQUEENALGUNOS LENGUAJESDEPROGRAMACINESPOSIBLEASIGNARUNAVARIABLETIPOARREGLOAOTRADELMISMOTIPO

    66

    ,AEXPRESINANTERIORESEQUIVALENTEAREALIZARLOSIGUIENTE

    2EPETIRCON)DESDEHASTA (ACER6;)=6;)=

    !CTUALIZACIN

    ,AACTUALIZACINESUNAOPERACINQUESEREALIZAENFORMAFRECUENTEENLOSARREGLOS,ACANTIDADDEACTUALIZACIONESESTRELACIONADACONELTIPODEPROBLEMAQUESEINTENTERESOLVER!DIFERENCIADELASOTRASOPERACIONESESTUDIADASLAACTUALIZACINLLEVAIMPLCITAOTROSTIPOSDEOPERACIONESCOMOINSERCINYELIMINACINDEELEMENTOS#ONELPROPSITODEREALIZARUNAACTUALIZACINDEMANERAElCIENTEESIMPORTANTE

    CONOCERSIELARREGLOESTONOORDENADOESDECIRSISUSCOMPONENTESRESPETANALGNORDENYASEACRECIENTEODECRECIENTE#ABEDESTACARQUELASOPERACIONESDEINSERCINELIMINACINYMODIlCACINSERNTRATADASENFORMASEPARADAPARAARREGLOSORDENADOSYDESORDENADOS&INALMENTEES IMPORTANTESEALARQUE LAOPERACINDEBSQUEDASEUTILIZACOMO

    AUXILIARENLASOPERACIONESDEINSERCINELIMINACINYMODIlCACIN%STAESLAPRINCIPALRAZNPORLACUALACONTINUACINSEPRESENTAELALGORITMODEBSQUEDASECUENCIALENARREGLOSDESORDENADOS%NELCAPTULOCORRESPONDIENTEAMTODOSDEBSQUEDASETRATARCONMAYORDETALLEESTETEMA

    !LGORITMO "USCA?SECUENCIAL?DESORDENADO

    &)'52!!SIGNACINDEARREGLOS

    "USCA?SECUENCIAL?DESORDENADO

    [%LALGORITMOBUSCAENFORMASECUENCIALUNELEMENTOENUNARREGLOUNIDIMENSIONALQUESEENCUENTRADESORDENADO6ESUNARREGLODEELEMENTOS.ELNMEROACTUALDEELEMENTOSY8ELVALORABUSCAR][)ESUNAVARIABLEAUXILIARDETIPOENTERO]

    (ACER)

  • 11 "33&(-04

    %STEMTODODEBSQUEDAESSENCILLOAUNQUENOMUYElCIENTE#ONSISTEENRECORRERELARREGLOCOMPARANDOCADAELEMENTODELMISMOCONELVALORABUSCAR%LPROCESOSEREPITEHASTAQUEELVALORSEENCUENTREXITOOHASTAQUESEHAYASUPERADOELTAMAODELARREGLOFRACASO

    > i}`i`i>` #ONSIDEREUNARREGLOUNIDIMENSIONAL6DEELEMENTOSCOMOELQUESEPRESENTAENLAlGURA/BSERVEQUELOSPRIMEROS.COMPONENTESTIENENASIGNADOUNVALOR

    A )NSERCIN0ARAINSERTARUNELEMENTO9ENUNARREGLOUNIDIMENSIONAL6DESORDENADOSEDEBEVERIlCARQUEEXISTAESPACIO3ISECUMPLEESTACONDICINENTONCESSEASIGNARENLAPOSICIN.ELNUEVOELEMENTOYSEINCREMENTAREN.ELTOTALDEELEMENTOSDELARREGLO!CONTINUACINSEPRESENTAELALGORITMODEINSERCINENARREGLOSUNIDIMEN

    SIONALESDESORDENADOS

    !LGORITMO )NSERTA?DESORDENADO

    ,UEGODELAINSERCINELARREGLOUNIDIMENSIONAL6QUEDACOMOSEMUESTRAENLAlGURAA

    -IENTRAS).Y86;)=2EPETIR

    (ACER))

    [&INDELCICLODELPASO] 3I).[.OSEENCONTRELVALORBUSCADO]

    ENTONCES %SCRIBIRh%LVALOR8NOESTENELARREGLOv SINO%SCRIBIRh%LVALOR8ESTENLAPOSICIN)v

    [&INDELCONDICIONALDELPASO]

    )NSERTA?DESORDENADO6.9

    [%LALGORITMOINSERTAUNELEMENTOENUNARREGLOUNIDIMENSIONALDESORDENADO6ESUNARREGLODE MXIMO ELEMENTOS. ES EL NMERO ACTUAL DE ELEMENTOS 9 REPRESENTA EL VALOR AINSERTAR]

    3I.

    ENTONCES(ACER..Y6;.=9

    SINO[.OHAYESPACIOENELARREGLO]%SCRIBIRh%LVALOR9NOSEPUEDEINSERTAR.OHAYESPACIOv

    [&INDELCONDICIONALDELPASO]

  • 12 > &4536$563"4'6/%".&/5"-&4%&%"504

    A %LIMINACIN0ARAELIMINARUNELEMENTO8DEUNARREGLOUNIDIMENSIONAL6DESORDENADOSEDEBEVERIlCARQUE8SEENCUENTREENELARREGLO3ISECUMPLEESTACONDICINENTONCESSEPROCEDERARECORRERTODOSLOSELEMENTOSQUEESTNASUDERECHAUNAPOSICINALAIZQUIERDADISMINUYENDOENUNOELNMERODECOMPONENTESDELARREGLO!CONTINUACINSEPRESENTAELALGORITMODEELIMINACINENARREGLOSDESORDE

    NADOS#ABEDESTACARQUELAOPERACINDEBSQUEDAPRESENTADAENELALGORITMOSEUSAPARADETERMINARSIELELEMENTO8SEENCUENTRAENELARREGLO0ARAELCASODEQUELARESPUESTASEAPOSITIVASEOBTIENETAMBINLAPOSICINENQUESEENCUENTRA#ONELPROPSITODEOFRECERMAYORCLARIDADENLASOLUCINDEESTEPROBLEMASEINCLUYEDENTRODELALGORITMODEELIMINACINELALGORITMODEBSQUEDASECUENCIALENARREGLOSDESORDENADOS

    !LGORITMO %LIMINA?DESORDENADO

    ,UEGODELAELIMINACINELARREGLOUNIDIMENSIONAL6QUEDACOMOSEMUESTRAENLAlGURAB

    &)'52!!CTUALIZACINDEARREGLOSDESORDENADOS

    %LIMINA?DESORDENADO6.8

    [%L ALGORITMO ELIMINA UN ELEMENTO EN UN ARREGLO UNIDIMENSIONAL DESORDENADO6 ES UNARREGLODEELEMENTOS.ESELNMEROACTUALDEELEMENTOS8ESELVALORAELIMINAR][)Y+SONVARIABLESDETIPOENTERO]

    (ACER) -IENTRAS).Y86;)=2EPETIR

    (ACER))

    [&INDELCICLODELPASO] 3I).[.OSEENCONTRELVALORBUSCADO]

    ENTONCES%SCRIBIRh%LVALOR8NOSEENCUENTRAENELARREGLOv

    SINO 2EPETIRCON+DESDE)HASTA.

    (ACER6;+=6;+= [&INDELCICLODELPASO]

    (ACER..

    [&INDELCONDICIONALDELPASO]

  • 13 "33&(-04

    A -ODIlCACIN0ARAMODIlCAR UN ELEMENTO8 DE UN ARREGLO UNIDIMENSIONAL6DESORDENADOSEDEBEVERIlCARQUE8SEENCUENTREENELARREGLO3ISECUMPLEESTACONDICINENTONCESSEPROCEDERASUACTUALIZACIN!CONTINUACINSEPRESENTAELALGORITMODEMODIlCACINENARREGLOSDESOR

    DENADOSENELCUALSEINCLUYELABSQUEDASECUENCIAL

    !LGORITMO -ODIlCA?DESORDENADO

    ,UEGO DE LA MODIlCACIN EL ARREGLO UNIDIMENSIONAL 6 QUEDA COMO SEMUESTRAENLAlGURAC

    &)'52!A)NSERCINENARREGLOSDESORDENADOS

    -ODIlCA?DESORDENADO6.89

    [%L ALGORITMO MODIlCA UN ELEMENTO DE UN ARREGLO UNIDIMENSIONAL DESORDENADO6 ES UNARREGLODEMXIMOELEMENTOS.ESELNMEROACTUALDEELEMENTOS8ESELELEMENTOAMODIlCARPORELELEMENTO9][)ESUNAVARIABLEDETIPOENTERO]

    (ACER) -IENTRAS).Y86;)=2EPETIR

    (ACER))

    [&INDELCICLODELPASO] 3I).[.OSEENCONTRELVALORBUSCADO]

    ENTONCES%SCRIBIRh%LVALOR8NOSEENCUENTRAENELARREGLOv

    SINO(ACER6;)=9

    [&INDELCONDICIONALDELPASO]

    &)'52!B%LIMINACINENARREGLOSDESORDENADOS

  • 14 > &4536$563"4'6/%".&/5"-&4%&%"504

    L i}`i>` #ONSIDEREELARREGLOUNIDIMENSIONALORDENADO6DEELEMENTOSDELAlGURA,OSPRIMEROS.COMPONENTESDELMISMOTIENENASIGNADOUNVALOR%NESTECASOSETRABAJARCONUNARREGLOORDENADODEMANERACRECIENTEESDECIR

    6;=6;=6;=6;.=

    #UANDOSETRABAJACONARREGLOSORDENADOSSEDEBEEVITARALTERARELORDENALINSERTARNUEVOSELEMENTOSOALMODIlCARLOSEXISTENTES

    B )NSERCIN0ARAINSERTARUNELEMENTO8ENUNARREGLOUNIDIMENSIONAL6ORDENADOPRIMEROSEDEBEVERIlCARQUEEXISTAESPACIO,UEGOSEENCONTRARLAPOSICINENLAQUEDEBERAESTARELNUEVOVALORPARANOALTERARELORDENDELARREGLO#UANDOSEDETECTELAPOSICINSEPROCEDERARECORRERTODOSLOSELEMENTOSDESDEAHHASTALA.SIMAPOSICINUNLUGARALADERECHA&INALMENTESEASIGNARELVALORDE8ENLAPOSICINENCONTRADA#ABEDESTACARQUEELDESPLAZAMIENTONOSELLEVAACABOCUANDOELVALORAINSERTARESMAYORQUEELLTIMOELEMENTODELARREGLO'ENERALMENTECUANDOSEQUIEREHACERUNAINSERCINSEDEBEVERIlCARQUEEL

    ELEMENTONOSEENCUENTREENELARREGLO%NLAMAYORADELOSCASOSPRCTICOSNOINTERESATENERINFORMACINDUPLICADAPORTANTOSIELVALORQUESEDESEAINSERTARYAESTUVIERAENELARREGLOLAOPERACINNOSELLEVARACABO

    !NTESDEPRESENTARELALGORITMODEINSERCINSEDElNIRUNAFUNCINDEBSQUEDAAUXILIARPARAARREGLOSORDENADOSQUESEUTILIZARTANTOENELPROCESODEINSERCINCOMOENELDEELIMINACIN%STAFUNCINESUNAVARIANTEDELAPRESENTADAENELALGORITMOYDACOMORESULTADOLAPOSICINENLAQUEENCONTRALELEMENTO8OELNEGATIVODELAPOSICINENLAQUEDEBERAESTAR0ARAMAYORINFORMACINSOBREALGORITMOSDEBSQUEDACONSULTEELCAPTULO

    !LGORITMO "USCA?SECUENCIAL?ORDENADO

    &)'52!C-ODIlCACINENARREGLOSDESORDENADOS

    "USCA?SECUENCIAL?ORDENADO6.80/3

    [%LALGORITMOBUSCAUNELEMENTO8ENUNARREGLOUNIDIMENSIONAL6DE.ELEMENTOSQUESEENCUENTRAORDENADOCRECIENTEMENTE0/3INDICALAPOSICINDE8EN6OLAPOSICINENLAQUEESTARA8][)ESUNAVARIABLEDETIPOENTERO]

    (ACER) -IENTRAS).Y6;)=82EPETIR

    (ACER))

  • 15 "33&(-04

    !CONTINUACINSEPRESENTAELALGORITMODEINSERCINENUNARREGLOUNIDIMENSIONALQUESEENCUENTRAORDENADOENFORMACRECIENTE

    !LGORITMO )NSERTA?ORDENADO

    [&INDELCICLODELPASO] 3I).O6;)=8

    ENTONCES(ACER0/3)

    SINO(ACER0/3)

    [&INDELCONDICIONALDELPASO]

    &)'52!!CTUALIZACINDEARREGLOSORDENADOS

    )NSERTA?ORDENADO6.9

    [%STEALGORITMOINSERTAUNELEMENTO9ENUNARREGLOUNIDIMENSIONALQUESEENCUENTRAORDENADODEFORMACRECIENTE,ACAPACIDADMXIMADELARREGLOESDEELEMENTOS.INDICAELNMEROACTUALDEELEMENTOSDE6][0/3E)SONVARIABLESDETIPOENTERO]

    3I.ENTONCES,LAMARALALGORITMO"USCA?SECUENCIAL?ORDENADOCON6.9Y0/3

    3I0/3[%LELEMENTOFUEENCONTRADOENELARREGLO]ENTONCES%SCRIBIRh%LELEMENTOYAEXISTEv

    SINO(ACER..Y0/30/3

    2EPETIRCON)DESDE.HASTA0/3(ACER6;)=6;)=

    [&INDELCICLODELPASO](ACER6;0/3=9

    [&INDELCONDICIONALDELPASO]SINO

    %SCRIBIRh.OHAYESPACIOENELARREGLOv

    [&INDELCONDICIONALDELPASO]

  • 16 > &4536$563"4'6/%".&/5"-&4%&%"504

    ,UEGODELAINSERCINELARREGLOQUEDACOMOSEMUESTRAENLAlGURAA

    B %LIMINACIN0ARAELIMINARUNELEMENTO8DEUNARREGLOUNIDIMENSIONALORDENADO6SEDEBEBUSCARLAPOSICINDELELEMENTOAELIMINAR3IELRESULTADODELAFUNCINESUNVALORPOSITIVOSIGNIlCAQUEELELEMENTOSEENCUENTRAENELARREGLOYPORTANTOSEPUEDEELIMINARENCASOCONTRARIONOSEPUEDEREALIZARLAOPERACINDEELIMINACIN!CONTINUACINSEPRESENTAELALGORITMODEELIMINACINENARREGLOSORDE

    NADOS

    !LGORITMO %LIMINA?ORDENADO

    ,UEGODELAELIMINACINELARREGLOQUEDACOMOSEMUESTRAENLAlGURAB

    B -ODIlCACIN%STAOPERACINCONSISTEENREEMPLAZARUNCOMPONENTEDELARREGLOCONOTROVALOR0ARA ELLO PRIMERO SEBUSCAR EL ELEMENTO EN EL ARREGLO3I SEENCUENTRAANTESDEREALIZARELCAMBIOSEDEBEVERIlCARQUEELORDENDELARREGLONOSEALTERE3IESTOLLEGARAASUCEDERENTONCESESNECESARIOREALIZARDOSOPERA

    &)'52!A)NSERCINENARREGLOSORDENADOS

    %LIMINA?ORDENADO6.8

    [%LALGORITMOELIMINAUNELEMENTO8DEUNARREGLOUNIDIMENSIONAL6DE.ELEMENTOSQUESEENCUENTRAORDENADOENFORMACRECIENTE]

    [0/3E)SONVARIABLESDETIPOENTERO]

    3I.ENTONCES,LAMARALALGORITMO"USCA?SECUENCIAL?ORDENADOCON6.8Y0/3

    3I0/3[.OSEPUEDEELIMINARPORQUE8NOEXISTE]ENTONCES%SCRIBIRh%LELEMENTONOEXISTEv

    SINO(ACER..n

    2EPETIRCON)DESDE0/3HASTA.(ACER6;)=6;)=

    [&INDELCICLODELPASO] [&INDELCONDICIONALDELPASO]SINO

    %SCRIBIRh%LARREGLOESTVACOv [&INDELCONDICIONALDELPASO]

  • 17 "33&(-04

    CIONESPRIMEROSEDEBEELIMINARELELEMENTOQUESEQUIEREMODIlCARYLUEGOINSERTARENLAPOSICINCORRESPONDIENTEELNUEVOVALOR#OMOCONSECUENCIADEQUELASOPERACIONESQUESENECESITANPARAREALIZARUNAMODIlCACINYAHANSIDOPRESENTADASSEDEJACOMOTAREALACONSTRUCCINDELALGORITMODEMODIlCACINENARREGLOSORDENADOS

    (ASTAELMOMENTOSEHAANALIZADOCMODECLARARARREGLOSYCMOUSARLOS!HORASEPUEDEDARSOLUCINALPROBLEMADELEJEMPLOMEDIANTEESTETIPODEESTRUCTURADEDATOS

    !LGORITMO #ON?ARREGLOS

    STAESUNASOLUCINMSElCIENTEQUELASQUESEPRESENTARONENLOSALGORITMOSY3EREALIZAUNALECTURADELOSDATOSYADEMSSEDElNEUNAVARIABLEPARAALMACENARLASCALIlCACIONES!LUTILIZARUNARREGLOPUEDEDISPONERSEDELOSDATOSTANTASVECESCOMOSEANECESARIO

    SINQUESEDEBAVOLVERALEERLOSYAQUESTOSPERMANECENENMEMORIA!DEMSSEFACILITAELPROCESAMIENTODELOSDATOSALGENERALIZARCIERTASOPERACIONES,OSARREGLOSPRESENTADOSHASTAELMOMENTOSEDENOMINANARREGLOSUNIDIMENSIO

    NALESOLINEALESDEBIDOAQUECUALQUIERELEMENTOSEREFERENCIASOLAMENTECONUNNDICE

    &)'52!B%LIMINACINENARREGLOSORDENADOS

    #ON?ARREGLOS#!,

    [%STEALGORITMORESUELVEELPROBLEMADELEJEMPLOALAPLICARARREGLOSUNIDIMENSIONALES#!,ESUNARREGLODEELEMENTOSDENMEROSREALES][!#)Y#/.4SONVARIABLESDETIPOENTERO02/-ESUNAVARIABLEDETIPOREAL]

    (ACER!# 2EPETIRCON)DESDEHASTA

    ,EER#!,;)=(ACER!#!##!,;)=E))

    [&INDELCICLODELPASO] (ACER02/-!#Y#/.4 2EPETIRCON)DESDEHASTA 3I#!,;)=02/-ENTONCES

    (ACER#/.4#/.4 [&INDELCONDICIONALDELPASO]

    [&INDELCICLODELPASO] %SCRIBIR#/.4

  • 18 > &4536$563"4'6/%".&/5"-&4%&%"504

    3INEMBARGOESIMPORTANTEDESTACARQUEPARALAMAYORADELOSLENGUAJESDEPROGRAMACINSEPUEDENDElNIRARREGLOSMULTIDIMENSIONALESESDECIRARREGLOSCONMLTIPLESNDICES%LNMERODEDIMENSIONESNDICESDEPENDETANTODELPROBLEMAQUESEQUIERARESOLVERCOMODELLENGUAJEUTILIZADO3EANALIZARNPRIMEROLOSARREGLOSBIDIMENSIONALESQUEREPRESENTANUNCASOESPE

    CIALDELOSMULTIDIMENSIONALESPORSERLOSMSAMPLIAMENTEUTILIZADOS

    !22%',/3")$)-%.3)/.!,%3

    0ARAQUEELLECTORENTIENDAMEJORLAESTRUCTURADELOSARREGLOSBIDIMENSIONALESSEPRESENTAELSIGUIENTEEJEMPLO

    ,ATABLACONTIENELOSCOSTOSDEPRODUCCINDECADADEPARTAMENTODEUNAFBRICACORRESPONDIENTESALOSMESESDELAOANTERIOR,ATABLASEINTERPRETADELASIGUIENTEMANERADADOUNMESSECONOCENLOSCOSTOSDE

    PRODUCCINDECADAUNODELOSDEPARTAMENTOSDELAFBRICAYDADOUNDEPARTAMENTOSECONOCENLOSCOSTOSDEPRODUCCINMENSUALES3ISEQUISIERAALMACENARESTAINFORMACINUTILIZANDOLOSARREGLOSUNIDIMENSIONALESSETENDRANDOSALTERNATIVAS

    $ElNIRARREGLOSDETRESELEMENTOSCADAUNO%NESTECASOCADAARREGLOALMACENARLAINFORMACINRELATIVAAUNMES

    %JEMPLO

    -ESES$EPTOS $ULCES #ONSERVAS "EBIDAS

    %NERO

    &EBRERO

    -ARZO

    !BRIL

    -AYO

    *UNIO

    *ULIO

    !GOSTO

    3EPTIEMBRE

    /CTUBRE

    .OVIEMBRE

    $ICIEMBRE

    4!",!#OSTOSMENSUALESPORDEPARTAMENTOS

    &)'52!!LMACENAMIENTODELAINFORMACINPORMES

  • 19

    $ElNIRTRESARREGLOSDEELEMENTOSCADAUNO$EESTAFORMACADAARREGLOALMACENARLAINFORMACINRELATIVAAUNDEPARTAMENTOALOLARGODELAO

    3INEMBARGONORESULTAMUYPRCTICOADOPTARALGUNADELASDOSALTERNATIVAS3ENECESITAUNAESTRUCTURAQUEPERMITAMANEJARLOSDATOSCONSIDERANDOLOSMESESRENGLONESDELATABLAYLOSDEPARTAMENTOSCOLUMNASDELATABLAESDECIRUNAESTRUCTURAQUETRATEALAINFORMACINCOMOUNTODO,AESTRUCTURAQUETIENEESTACARACTERSTICASEDENOMINAARREGLOBIDIMENSIONAL5NARREGLOBIDIMENSIONALESUNACOLECCINHOMOGNEAlNITAYORDENADADEDA

    TOSENLAQUESEHACEREFERENCIAACADACOMPONENTEDELARREGLOPORMEDIODEDOSNDICES%LPRIMEROSEUTILIZAPARAINDICARELRENGLNYELSEGUNDOPARASEALARLACOLUMNA5NARREGLOBIDIMENSIONALTAMBINSEPUEDEDElNIRCOMOUNARREGLODEARREGLOS%NLAlGURASEPRESENTAUNARREGLODETIPOBIDIMENSIONAL%LARREGLO!-.TIENE-RENGLONESY.COLUMNAS5NELEMENTO!;)*=SELO

    CALIZAENELRENGLN)YENLACOLUMNA*)NTERNAMENTEENMEMORIASERESERVAN-.POSICIONESCONSECUTIVASPARAALMACENARTODOSLOSELEMENTOSDELARREGLO

    $ECLARACINDEARREGLOSBIDIMENSIONALES

    ,OSARREGLOSBIDIMENSIONALESSEDECLARANCUANDOSEESPECIlCANELNMERODERENGLONESYELNMERODECOLUMNASJUNTOCONELTIPODEDATODELOSCOMPONENTES

    ID?ARREGLO!22%',/;LMINFRLMSUPRLMINFCLMSUPC=$%TIPO

    #ON LMINFR Y LMSUPR SE DECLARA EL TIPO DE DATO DEL NDICE DE LOS RENGLONES YCUNTOSRENGLONESTENDRELARREGLO!SIMISMOCONLMINFCYLMSUPCSEDECLARAELTIPO

    &)'52!!LMACENAMIENTODELAINFORMACINPORDEPARTAMENTO

    "33&(-04#*%*.&/4*0/"-&4

  • 20 > &4536$563"4'6/%".&/5"-&4%&%"504

    DEDATODELNDICEDELASCOLUMNASYCUNTASCOLUMNASTENDRELARREGLO#ONTIPOSEDECLARAELTIPODEDATOSDETODOSLOSCOMPONENTESDELARREGLO%LNMEROTOTALDECOMPONENTES.4#DEUNARREGLOBIDIMENSIONALESTDETERMI

    NADOPORLAEXPRESIN

    .4#LMSUPRLMINFRLMSUPCLMINFC &RMULA

    !LIGUALQUEENELCASODE LOSARREGLOSUNIDIMENSIONALES LOS NDICESPUEDENSERCUALQUIERTIPODEDATOORDINALESCALARENTEROCARCTERMIENTRASQUELOSCOMPONENTESPUEDENSERDECUALQUIERTIPOREALESENTEROSCADENASDECARACTERESETC!CONTINUACINSEANALIZANALGUNOSEJEMPLOSDEARREGLOSBIDIMENSIONALES

    3EA-!42):UNARREGLOBIDIMENSIONALDENMEROSREALESCONNDICESENTEROS3UREPRESENTACINSEMUESTRAENLAlGURA

    &)'52!2EPRESENTACINDEUNARREGLOBIDIMENSIONAL

    %JEMPLO

    &)'52!

  • 21

    -!42):!22%',/;=$%REALES

    .4# #ADACOMPONENTEDE-!42):SERUNNMEROREAL0ARAHACERREFERENCIAACADAUNODEELLOSSEUSARNDOSNDICESYELNOMBREDELAVARIABLETIPOARREGLO-!42):;IJ=

    $ONDEI J

    3EA#/34/3UNARREGLOBIDIMENSIONALDENMEROSREALESCONNDICESDETIPOESCALAR3UREPRESENTACINSEMUESTRAENLAlGURA

    MESESENEFEBMARABRMAYJUNJULAGOSETOCTNOVDICDEPARTAMENTOSDULCESCONSERVASBEBIDAS

    #/34/3!22%',/;MESESDEPARTAMENTOS=$%REALES

    .4#ORDDICORDENEORDBEBIDASORDDULCES

    #ADACOMPONENTEDE#/34/3SERUNREAL0ARAHACERREFERENCIAACADAUNODEELLOSUSAREMOSDOSNDICESYELNOMBREDELAVARIABLETIPOARREGLO#/34/3;IJ=

    $ONDEENEIDIC DULCESJBEBIDAS

    3EA-!4UNARREGLOBIDIMENSIONALDECADENASDECARACTERESCONNDICESPARALOSRENGLONESDETIPOCARCTERYPARALASCOLUMNASDETIPOENTERO3UREPRESENTACINSEMUESTRAENLAlGURA

    -!4!22%',/;@A@Z=$%CADENADECARACTERES

    %JEMPLO

    &)'52!

    %JEMPLO

    "33&(-04#*%*.&/4*0/"-&4

  • 22 > &4536$563"4'6/%".&/5"-&4%&%"504

    .4#ORD@ZORD@A

    #ADACOMPONENTEDE-!4SERUNVALORDETIPOCADENADECARACTERES0ARAHACERREFERENCIAACADAUNODEELLOSSEUSARNDOSNDICESYELNOMBREDELAVARIABLETIPOARREGLO-!4;IJ=

    $ONDE@AI@Z J

    3EA,%42!3UNARREGLOBIDIMENSIONALDECARACTERESCONNDICESENTEROS3UREPRESENTACINSEMUESTRAENLAlGURA

    ,%42!3!22%',/;=$%CARACTERES

    .4#nn #ADACOMPONENTEDE,%42!3SERUNVALOR TIPOCARCTER0ARAHACER REFERENCIAACADAUNODEELLOSSEUSARNDOSNDICESYELNOMBREDELAVARIABLETIPOARREGLO,%42!3;IJ=

    $ONDEI J

    &)'52!

    %JEMPLO

    &)'52!

  • 23

    /PERACIONESCONARREGLOSBIDIMENSIONALES,ASOPERACIONESQUESEPUEDENREALIZARCONARREGLOSBIDIMENSIONALESSON

    ,ECTURA%SCRITURA !SIGNACIN !CTUALIZACIN)NSERCIN %LIMINACIN -ODIlCACIN

    /RDENACIN "SQUEDA

    ,OSARREGLOSBIDIMENSIONALESSECONSIDERANUNAGENERALIZACINDE LOSUNIDIMENSIONALES POR LO QUE SEPRESENTARUNA REVISIN RPIDADE ALGUNASDE LAS OPERACIONESMENCIONADAS0ARAILUSTRARLASSEUTILIZARNLOSEJEMPLOSANTERIORES

    ,ECTURA

    #UANDOSEPRESENTLAOPERACINDELECTURAENARREGLOSUNIDIMENSIONALESSEMENCIONQUECONLAAYUDADEUNCICLOSEIBANLEYENDOYASIGNANDOVALORESACADAUNODELOSCOMPONENTES,OMISMOSUCEDECONLOSARREGLOSBIDIMENSIONALES3INEMBARGOCOMOSUSELEMENTOSDEBENINDICARSEPORMEDIODEDOSNDICESNORMALMENTESEUSANDOSCICLOSPARALOGRARLALECTURADEELEMENTOSCONSECUTIVOS3UPONGAMOSPOREJEMPLOQUESEDESEALEERTODOSLOSELEMENTOSDELARREGLOBIDI

    MENSIONAL-!42):,OSPASOSASEGUIRSON

    2EPETIRCON)DESDEHASTA2EPETIRCON*DESDEHASTA,EER-!42):;)*=

    !LVARIARLOSNDICESDE)Y*CADAELEMENTODE-!42):QUESELEESEASIGNAALLUGARQUELECORRESPONDEENELARREGLOSEGNLAPOSICINDELOSNDICES)Y*

    0ARA)Y*SELEEELELEMENTODELRENGLNYCOLUMNA)Y*SELEEELELEMENTODELRENGLNYCOLUMNA)Y*SELEEELELEMENTODELRENGLNYCOLUMNA

    %SCRITURA

    ,AESCRITURADEUNARREGLOBIDIMENSIONALTAMBINSELLEVAACABOELEMENTOTRASELEMENTO3UPONGAMOSQUESEQUIERAESCRIBIRTODOSLOSCOMPONENTESDELARREGLO-!42):,OSPASOSASEGUIRSON

    2EPETIRCON)DESDEHASTA2EPETIRCON*DESDEHASTA%SCRIBIR-!42):;)*=

    !LVARIARLOSVALORESDE)Y*SEESCRIBEELELEMENTODE-!42):CORRESPONDIENTEALAPOSICININDICADAJUSTAMENTEPORLOSNDICES)Y*

    "33&(-04#*%*.&/4*0/"-&4

  • 24 > &4536$563"4'6/%".&/5"-&4%&%"504

    0ARA)Y*SEESCRIBEELELEMENTODELRENGLNYCOLUMNA)Y*SEESCRIBEELELEMENTODELRENGLNYCOLUMNA)Y*SEESCRIBEELELEMENTODELRENGLNYCOLUMNA

    !SIGNACIN

    ,AASIGNACINDEVALORESAUNARREGLOBIDIMENSIONALSEREALIZADEDIFERENTESFORMAS,AFORMADEPENDEDELNMERODECOMPONENTESINVOLUCRADOS/BSERVEMOSACONTINUACINDOSALTERNATIVASDIFERENTES

    3EASIGNANVALORESATODOSLOSELEMENTOSDELARREGLOENESTECASOSENECESITARNDOSCICLOSPARARECORRERTODOELARREGLO

    2EPETIRCON)DESDEHASTA2EPETIRCON*DESDEHASTA-!42):;)*=

    !LVARIARLOSVALORESDE)Y*SEASIGNAELALELEMENTODE-!42):CORRESPONDIENTEALAPOSICININDICADAPORLOSNDICES)Y*

    0ARA)Y*SEASIGNAELVALORALELEMENTODELRENGLNYCOLUMNA )Y*SEASIGNAELVALORALELEMENTODELRENGLNYCOLUMNA )Y*SEASIGNAELVALORALELEMENTODELRENGLNYCOLUMNA

    %NLAlGURASEPRESENTACMOQUEDAELARREGLOBIDIMENSIONALCUANDOSEASIGNAELVALORACADAUNADELASCASILLAS

    3EASIGNAUNVALORAUNELEMENTOENPARTICULARDELARREGLOENESTECASOLAASIGNACINESDIRECTAYSEDEBEINDICARELRENGLNYLACOLUMNADELCOMPONENTEINVOLUCRADO0OREJEMPLOPARAASIGNARELVALORALELEMENTODELRENGLNYCOLUMNASEPROCEDEDELASIGUIENTEMANERA

    &)'52!!SIGNACINDEARREGLOS

  • 25

    -!42):;=

    %LARREGLOSEMUESTRAENLAlGURA%SIMPORTANTEACLARARQUELASOPERACIONESDELECTURAESCRITURAYASIGNACINATODOS

    LOSELEMENTOSDEUNARREGLOBIDIMENSIONALSEPUEDENHACERTANTOPORRENGLONESCOMOPORCOLUMNAS

    !22%',/3$%-3$%$/3$)-%.3)/.%3

    5NARREGLOMULTIDIMENSIONAL.DIMENSIONESSEDElNECOMOUNACOLECCINlNITAHOMOGNEAYORDENADADE+++.ELEMENTOS0ARAHACERREFERENCIAACADACOMPONENTEDEUNARREGLODE.DIMENSIONESSEUSARN.NDICESUNOPARACADADIMENSIN%LARREGLO!DE.DIMENSIONESSEDECLARADELASIGUIENTEMANERA

    !!22%',/;,),3,),3,).,3.=$%TIPO

    %LTOTALDECOMPONENTESDE!SER

    .4#,3n,),3,),3.,). &RMULA

    0OREJEMPLOELARREGLOTRIDIMENSIONAL!;L=TENDR

    ELEMENTOS

    'RlCAMENTEELARREGLO!SEPUEDEREPRESENTARCOMOSEMUESTRAENLASlGURASY!CONTINUACINSEPRESENTAUNEJEMPLODEUNARREGLOTRIDIMENSIONAL

    &)'52!!SIGNACINDEARREGLOS

    "33&(-04%&.4%&%04%*.&/4*0/&4

  • 26 > &4536$563"4'6/%".&/5"-&4%&%"504

    5NAEMPRESALLEVAUNREGISTRODELTOTALPRODUCIDOMENSUALMENTEPORCADADEPARTAMENTO,AEMPRESACONSTADECINCODEPARTAMENTOSYLAINFORMACINSEHAREGISTRADOALOLARGODELOSLTIMOSCUATROAOS0ARAALMACENARLOSDATOSDELAPRODUCCINDELAEMPRESASEREQUIEREENTONCESDEUNARREGLODETRESDIMENSIONESELEMENTOSCOMOELDELAlGURA

    !!22%',/;=$%REALES

    3UPONGAMOSQUELAEMPRESANECESITAOBTENERLASIGUIENTEINFORMACIN

    A %L TOTALMENSUAL DE CADA DEPARTAMENTO DURANTE EL SEGUNDO AO 0ARA OBTENER LAINFORMACINSOLICITADASEDEBENREALIZARLOSSIGUIENTESPASOS

    2EPETIRCON)DESDEHASTA2EPETIRCON*DESDEHASTA%SCRIBIR!;)*=

    /BSERVEQUEPARA ESTE CASO SE ASIGNA LA CONSTANTE AL TERCER NDICEELDE LOSAOSYSEHACEVARIARALOSOTROSDOSNDICES$EESTAMANERASEESCRIBIRNLASPRODUCCIONESMENSUALES

    B %LTOTALDELAPRODUCCINDURANTEELPRIMERAO0ARAOBTENERLAINFORMACINSOLICITADASEDEBENREALIZARLOSSIGUIENTESPASOS

    &)'52!2EPRESENTACINDEARREGLOSDEMSDEDOSDIMENSIONES

    &)'52!2EPRESENTACINDEARREGLOSDEMSDEDOSDIMENSIONES

    %JEMPLO

  • 27

    (ACER35-!2EPETIRCON)DESDEHASTA2EPETIRCON*DESDEHASTA(ACER35-!35-!!;)*=

    %SCRIBIR35-!

    /BSERVEQUEESTECASOESSIMILARALANTERIOR,ADIFERENCIARADICAENQUELASCANTIDADESMENSUALESNOSEESCRIBIRNSINOQUESEACUMULARNOBTENIENDOELTOTALANUAL

    C %LTOTALDELAPRODUCCINDELDEPARTAMENTOALOLARGODELLTIMOAO0ARAOBTENERLAINFORMACINSOLICITADASERNECESARIOEJECUTARLOSSIGUIENTESPASOS

    (ACER35-!2EPETIRCON*DESDEHASTA(ACER35-!35-!!;*=

    %SCRIBIR35-!

    .OTEQUEENESTECASOSETIENENDOSNDICESCONSTANTESELDEDEPARTAMENTOSYELDEAOSYSEHACEVARIARSOLAMENTEELNDICEDEMESES#ONCLUIDOELCICLOSEESCRIBIRELTOTALPRODUCIDOPORELDEPARTAMENTODURANTEELCUARTOAO

    ,!#,!3%!22%',/

    0ARAENTENDERLACLASEARREGLOSEREQUIEREPRIMEROCONOCERALGUNOSCONCEPTOSBSICOSRELACIONADOSCONELPARADIGMADELAPROGRAMACINORIENTADAAOBJETOS0//5NACLASEDElNEAUNOBJETOPORMEDIODELADESCRIPCINDESUSDATOSCONOCIDOS

    COMOATRIBUTOSYDESUCOMPORTAMIENTO REPRESENTADOPORMTODOS3EDICEQUE LOSATRIBUTOSYLOSMTODOSSONMIEMBROSDELACLASE5NACLASEPUEDEREPRESENTARALOSALUMNOSDEUNAESCUELA%NESTECASOLOSDATOS

    SON LOSATRIBUTOSQUECARACTERIZANAUNALUMNOPOREJEMPLONOMBRE FECHADENACIMIENTODIRECCINTELFONOETCTERAMIENTRASQUEELCOMPORTAMIENTOHACEREFERENCIAALASOPERACIONESQUEPUEDENREALIZARSESOBREESOSDATOSPOREJEMPLOCAMBIARDIRECCINOTELFONODELALUMNO,APROGRAMACINORIENTADAAOBJETOSTIENECUATROPROPIEDADES

    !BSTRACCIN %NCAPSULAMIENTOUOCULTAMIENTODELAINFORMACIN

    &)'52!

    -"$-"4&,,"

  • 28 > &4536$563"4'6/%".&/5"-&4%&%"504

    (ERENCIA 0OLIMORlSMO

    ,AABSTRACCINPERMITECONCENTRARSEENLOSDATOSYOPERACIONESQUEDElNENAUNCONJUNTODEOBJETOSIGNORANDOLOSELEMENTOSQUENOSONRELEVANTES,ASEGUNDAPROPIEDADENCAPSULAMIENTO IMPLICAQUE TANTO LOS ATRIBUTOS COMO LOSMTODOS FORMANUNTODOLACLASEYPUEDENOCULTARSEDELOSCLIENTESDELACLASEALCONTROLARDEESTAMANERAELACCESOQUESETENGAASUSINTEGRANTES0ORSUPARTELAHERENCIAREPRESENTALAPROPIEDADQUEPERMITECOMPARTIRATRIBUTOSYMTODOSENTRECLASES0ORLTIMOELPOLIMORlSMOOFRECELAFACILIDADDEQUECIERTOSMTODOSPUEDANADOPTARDISTINTASFORMAS,ACLASE!RREGLOTENDRATRIBUTOSYMTODOS,OSATRIBUTOSCONSTITUIRNLACOLECCIN

    DEELEMENTOSYELTAMAO,OSMTODOSSERNTODASLASOPERACIONESANALIZADASENLASSECCIONESPREVIASLECTURAINSERCINELIMINACINETCTERA'RlCAMENTELACLASE!RREGLOPUEDEVERSECOMOSEMUESTRAENLAlGURA5NOBJETOESUNAINSTANCIADEUNACLASE%SDECIRESTALTIMAREPRESENTAAUNCON

    JUNTODEOBJETOSAUNCONCEPTOGENERALPOREJEMPLOLOSALUMNOSDEUNAESCUELAOLOSARREGLOSMIENTRASQUELOSPRIMEROSSONOCURRENCIASDELACLASE#ONSIDERANDOLACLASE!RREGLOUNEJEMPLODEOBJETOSERELARREGLODECALIlCACIONESDEUNGRUPODEALUMNOS%NLOSLENGUAJESDEPROGRAMACINORIENTADAAOBJETOSMSCONOCIDOSSEUSALANO

    TACINDEPUNTOSPARATENERACCESOALOSMIEMBROSNOPRIVADOSDEUNOBJETO

    OBJETOMIEMBRO

    $ENTRODEUNMTODODEUNACLASELAREFERENCIAACUALQUIERADESUSOTROSMIEMBROSNOREQUIEREELUSODEESTANOTACIN!SUMIENDOQUELAVARIABLE#!,)&ESUNOBJETODELACLASE!RREGLOSEPUEDENTENERLASSIGUIENTESINSTRUCCIONES

    #!,)&4AMAO#!,)&4AMAO#!,)&$ATOS;=

    0ARAELCASODEQUELASINSTRUCCIONESFUERANPARTEDEUNMTODOSEPUEDEOMITIRELNOMBREDELOBJETOYELPUNTOYUSARDIRECTAMENTEELATRIBUTO

    $ATOS;=

    &)'52!#LASE!RREGLO

  • 29

    2%')342/3

    $EACUERDOCONLOESTUDIADOENLASSECCIONESPREVIAS LOSARREGLOSSONESTRUCTURASDEDATOSMUYTILESPARAALMACENARUNACOLECCINDEDATOSTODOSDELMISMOTIPO3INEMBARGOENLAPRCTICAAVECESSENECESITANESTRUCTURASQUEPERMITANALMACENARDATOSDEDISTINTOSTIPOSQUESEANMANIPULADOSCOMOUNNICODATO0ARAILUSTRARESTEPROBLEMASEINCLUYEELSIGUIENTEEJEMPLO

    5NACOMPAATIENEPORCADAEMPLEADOLASIGUIENTEINFORMACIN

    .OMBRE CADENADECARACTERES $IRECCIN CADENADECARACTERES %DAD ENTERO 3EXO CARCTER !NTIGEDAD ENTERO

    3ISEQUISIERAALMACENARESTOSDATOSNOSERAPOSIBLEUSARUNARREGLOYAQUESUSCOMPONENTES DEBEN SER TODOS DELMISMO TIPO,A ESTRUCTURA QUE PUEDE GUARDAR ESTAINFORMACINDEMANERAEFECTIVASECONOCECOMOREGISTROOESTRUCTURA5NREGISTROSEDElNECOMOUNACOLECCINlNITAYHETEROGNEADEELEMENTOS4AM

    BINREPRESENTAUNTIPODEDATOESTRUCTURADOENELQUECADAUNODESUSCOMPONENTESSEDENOMINACAMPO,OSCAMPOSDEUNREGISTROPUEDENSERTODOSDEDIFERENTESTIPOSDEDATOS0ORTANTOTAMBINPODRNSERREGISTROSOARREGLOS#ADACAMPOSEIDENTIlCACONUNNOMBRENICOELIDENTIlCADORDECAMPO/TRADIFERENCIAIMPORTANTECONLOSARREGLOSESQUENOESNECESARIOESTABLECERUNORDENENTRELOSCAMPOS

    $ECLARACINDEREGISTROS

    #OMONOESLAINTENCINDELOSAUTORESSEGUIRLASINTAXISDEALGNLENGUAJEDEPROGRAMACINENPARTICULARUNREGISTROSEDECLARADELASIGUIENTEFORMA

    IDENT?REGISTRO2%')342/ID?CAMPOLTIPOLID?CAMPOTIPOID?CAMPONTIPON

    [&INDELADECLARACINDELREGISTRO]

    $ONDEIDENT?REGISTROESELNOMBREDELDATOTIPOREGISTRO ID?CAMPOIESELNOMBREDELCAMPOI ID?CAMPOIID?CAMPOJIJNEIJ TIPOIESELTIPODELCAMPOI

    ,OSQUESIGUENSONEJEMPLOSDEDECLARACIONESDEREGISTROSCONSUCORRESPONDIENTEREPRESENTACINGRlCA

    %JEMPLO

    3&(*45304

  • 30 > &4536$563"4'6/%".&/5"-&4%&%"504

    3EA &%#(! UN REGISTRO FORMADO POR TRES CAMPOS NUMRICOS 3U REPRESENTACIN SEMUESTRAENLAlGURA

    &%#(!2%')342/DAMESAO

    [&INDELADECLARACINDELREGISTRO&%#(!]

    3EA$/-)#),)/UNREGISTROFORMADOPORCUATROCAMPOSUNODEELLOSESNUMRICOYLOSTRESRESTANTESDELTIPOCADENADECARACTERES3UREPRESENTACINSEMUESTRAENLAlGURA

    $/-)#),)/2%')342/CALLECADENA?DE?CARACTERESNMEROENTEROCIUDADCADENA?DE?CARACTERESPASCADENA?DE?CARACTERES

    [&INDELADECLARACINDELREGISTRO$/-)#),)/]

    3EA#,)%.4%UNREGISTROFORMADOPORCUATROCAMPOSDOSDELTIPOCADENADECARACTERESUNODELTIPOREALYELOTRODELTIPOBOOLEANO3UREPRESENTACINSEMUESTRAENLAlGURA

    #,)%.4%2%')342/NOMBRECADENA?DE?CARACTERESTELFONOCADENA?DE?CARACTERESSALDOREALMOROSOBOOLEANO

    [&INDELADECLARACINDELREGISTRO#,)%.4%]

    !CCESOALOSCAMPOSDEUNREGISTRO

    #OMOUNREGISTROESUNTIPODEDATOESTRUCTURADONOSEPUEDETENERACCESOALDIRECTAMENTECOMOUNNICODATOSINOQUESEDEBEESPECIlCARELELEMENTOCAMPODEL

    %JEMPLO

    &)'52!

    %JEMPLO

    %JEMPLO

  • 31

    REGISTROQUENOSINTERESA0ARAELLOENLAMAYORADELOSLENGUAJESSESIGUELASIGUIENTESINTAXIS

    VARIABLE?REGISTROID?CAMPO

    $ONDE VARIABLE?REGISTROESUNAVARIABLEDETIPOREGISTRO ID?CAMPOESELIDENTIlCADORDELCAMPODESEADO

    %SDECIRSEUSARNDOSIDENTIlCADORESPARAHACERREFERENCIAAUNELEMENTOELNOMBREDELAVARIABLETIPOREGISTROYELNOMBREDELCAMPOSEPARADOSENTRESPORUNPUNTO$EACUERDOCONLOSEJEMPLOSDEREGISTROSYSEPRESENTANACONTINUA

    CINDIFERENTESCASOSQUEILUSTRANELACCESOALOSCAMPOSDEUNREGISTRO

    A 0ARALEERLOSTRESCAMPOSDEUNAVARIABLE&DETIPO&%#(! ,EER&DA&MES&AO

    B 0ARAESCRIBIRLOSCUATROCAMPOSDEUNAVARIABLE$DETIPO$/-)#),)/ %SCRIBIR$CALLE$NMERO$CIUDAD$PAS

    C 0ARAASIGNARVALORESAALGUNOSDELOSCAMPOSDEUNAVARIABLE#DETIPO#,)%.4%

    #SALDO#SALDOCANT#MOROSO6%2$!$%2/#NOMBREh*UAN0REZv

    &)'52!

    &)'52!

    3&(*45304

  • 32 > &4536$563"4'6/%".&/5"-&4%&%"504

    %NGENERALCOMOSEMENCIONANTERIORMENTEELORDENENELQUESEMANEJANLOSCAMPOSNOESIMPORTANTE%SDECIRSEPODRANHABERLEDOLOSCAMPOSDELAVARIABLE&DELASIGUIENTEMANERA

    ,EER&AO&DA&MES

    3LOSEDEBETENERENCUENTAQUELOSDATOSPROPORCIONADOSPORELUSUARIOOASIGNADOSENUNALGORITMOSECORRESPONDANENTIPOCONLOSCAMPOS

    $IFERENCIASENTREREGISTROSYARREGLOS

    ,ASDOSDIFERENCIASSUSTANCIALESEXISTENTESENTREREGISTROSYARREGLOSSON

    5N ARREGLO PUEDE ALMACENAR. ELEMENTOS DELMISMO TIPOESTRUCTURA DE DATOSHOMOGNEAMIENTRASQUEUNREGISTROPUEDEALMACENAR.ELEMENTOSDEDIFERENTESTIPOSDEDATOSESTRUCTURADEDATOSHETEROGNEA

    !LOSCOMPONENTESDEUNARREGLOSETIENEACCESOPORMEDIODENDICESQUEINDICANLAPOSICINDELELEMENTOCORRESPONDIENTEENELARREGLOMIENTRASQUEALOSCOMPONENTESDEUNREGISTROLOSCAMPOSSETIENEACCESOPORMEDIODESUNOMBREQUEESNICO

    #OMBINACIONESENTREARREGLOSYREGISTROS

    ,OSREGISTROSTIENENVARIOSCAMPOS#ADAUNODEELLOSPUEDESERDECUALQUIERTIPODEDATOSSIMPLESOESTRUCTURADOS3INEMBARGOLOSCOMPONENTESDELNIVELMSBAJODEUNTIPOESTRUCTURADOSIEMPREDEBENSERTIPOSSIMPLESDEDATOS$EACUERDOCONESTACONDICINSEINlEREQUEUNCAMPODEUNREGISTROPUEDESER

    OTROREGISTROOBIENUNARREGLO0OROTRAPARTELOSCOMPONENTESDEUNARREGLOTAMBINPUEDEN SER REGISTROS%STOSCASOSENUNCIADOS ADEMS SEPUEDENPRESENTAR EN FORMAANIDADA

  • 33

    !RREGLOSDEREGISTROS

    %NESTECASOCADAELEMENTODELARREGLOESUNREGISTRO4ODOSLOSCOMPONENTESDELARREGLOTIENENQUESERDELMISMOTIPODEREGISTROYAQUEESUNAESTRUCTURADEDATOSHOMOGNEA!CONTINUACINPRESENTAMOSUNEJEMPLO

    5NAEMPRESAREGISTRAPARACADAUNODESUSCLIENTESLOSSIGUIENTESDATOS

    .OMBRE CADENADECARACTERES 4ELFONO CADENADECARACTERES 3ALDO REAL -OROSO BOOLEANO

    3ILAEMPRESATIENE.CLIENTESNECESITARUNARREGLODE.ELEMENTOSENELCUALCADAUNODESUSCOMPONENTESESUNREGISTROCOMOELDESCRITOENELEJEMPLO,AlGURAMUESTRALAESTRUCTURADEDATOSCORRECTAPARARESOLVERESTEPROBLEMA

    !!22%',/;=$%#,)%.4%

    #ADAELEMENTODE!SERUNDATOTIPO#,)%.4%0ORTANTOSISEQUIEREPOREJEMPLO LEERELARREGLO!DEBELEERSEPORCADACOMPONENTECADAUNODE LOSCAMPOSQUEFORMANALREGISTRO

    2EPETIRCON)DESDEHASTA.,EER!;)=NOMBRE,EER!;)=TELFONO,EER!;)=SALDO,EER!;)=MOROSO

    #ON!;)= SEHACE REFERENCIAALELEMENTO )DELARREGLO!QUEESUN REGISTROCONID?CAMPOSEESPECIlCACULDELOSCAMPOSDELREGISTROSELEER$EFORMASIMILARSEPROCEDEPARAESCRITURAASIGNACINETCTERA

    %JEMPLO

    &)'52!!RREGLODEREGISTROS

    3&(*45304

  • 34 > &4536$563"4'6/%".&/5"-&4%&%"504

    2EGISTROSANIDADOS

    %NLOSREGISTROSANIDADOSALMENOSUNCAMPODELREGISTROESDELTIPOREGISTRO/BSERVEMOSACONTINUACINELSIGUIENTEEJEMPLO

    5NAEMPRESAREGISTRAPARACADAUNODESUSACREEDORESLOSSIGUIENTESDATOS

    .OMBRECADENADECARACTERES $IRECCINs #ALLECADENADECARACTERESs .MEROENTEROs #IUDADCADENADECARACTERESs 0ASCADENADECARACTERES

    3ALDOREAL

    0ARADElNIRELTIPODEDATODELCAMPODIRECCINESNECESARIODECLARARPREVIAMENTEUNREGISTROFORMADOPORLOSCUATROCOMPONENTESCALLENMEROCIUDADYPASQUESEESPECIlCAN3EUSARELREGISTRODELEJEMPLOPRESENTADOANTERIORMENTEPARARESOLVERESTECASO

    !#2%%$/22%')342/NOMBRECADENA?DE?CARACTERESDIRECCIN$/-)#),)/SALDOREAL

    [&INDELADECLARACINDELREGISTRO!#2%%$/2]

    ,AlGURAMUESTRALAESTRUCTURADEDATOSREQUERIDA%NESTECASOELREGISTROTIENEUNCAMPODIRECCINQUEESDELTIPODEDATOS$/

    -)#),)/ELCUALESUNREGISTRODECUATROCAMPOS0ARATENERACCESOALOSCAMPOSQUEASUVEZSONREGISTROSENLAMAYORADELOSLENGUAJESSESIGUELASIGUIENTESINTAXIS

    VARIABLE?REGISTROID?CAMPOID?CAMPON$ONDE VARIABLE?REGISTROESUNAVARIABLEDETIPOREGISTRO ID?CAMPOESELIDENTIlCADORDEUNCAMPODELREGISTROELCAMPOESDE

    TIPOREGISTRO ID?CAMPONREPRESENTAELIDENTIlCADORDEUNCAMPO

    &)'52!2EGISTROSANIDADOS

    %JEMPLO

  • 35

    0ARATENERACCESOALOSCAMPOSDELAVARIABLE!#DETIPO!#2%%$/2LASECUENCIAASEGUIRESLASIGUIENTE

    !#NOMBRE!#DIRECCINCALLE!#DIRECCINNMERO!#DIRECCINCIUDAD!#DIRECCINPAS!#SALDO

    2EGISTROSCONARREGLOS

    ,OSREGISTROSCONARREGLOSTIENENPORLOMENOSUNCAMPOQUEESDETIPOARREGLO!NALICECUIDADOSAMENTEELSIGUIENTEEJEMPLO

    5NAEMPRESAREGISTRAPARACADAUNODESUSCLIENTESLOSSIGUIENTESDATOS

    .OMBRE CADENADECARACTERES 4ELFONO CADENADECARACTERES 3ALDOMENSUALDELLTIMOAO ARREGLODEREALES -OROSO BOOLEANO

    ,ADElNICINDELREGISTROCORRESPONDIENTEES

    #,)%.4%2%')342/NOMBRECADENA?DE?CARACTERESTELFONOCADENA?DE?CARACTERESSALDOS!22%',/;=$%REALESMOROSOBOOLEANO

    [&INDELADECLARACINDELREGISTRO#,)%.4%]

    ,AlGURAMUESTRALAESTRUCTURAREQUERIDA0ARAESTECASOELREGISTROTIENEUNCAMPOSALDOSQUEESUNARREGLOUNIDIMENSIONAL

    DEELEMENTOSREALES#ONELPROPSITODEHACERREFERENCIAAESECAMPOSEPROCEDEDELASIGUIENTEMANERA

    %JEMPLO

    &)'52!2EGISTROSCONARREGLOS

    3&(*45304

  • 36 > &4536$563"4'6/%".&/5"-&4%&%"504

    VARIABLE?REGISTROID?CAMPO;NDICE=

    0ARATENERACCESOALOSCAMPOSDELAVARIABLE#,)DETIPO#,)%.4%SEDEBESEGUIRLASECUENCIA

    #,)NOMBRE#,)TELFONO2EPETIRCON)DESDEHASTA#,)SALDOS;)=

    #,)MOROSO

    ,AS TRES POSIBLES COMBINACIONES ANALIZADAS AQU ARREGLOS DE REGISTROS REGISTROSANIDADOSYREGISTROSCONARREGLOSPUEDENPRESENTARSEDEMANERASIMULTNEAYENDIFERENTESNIVELESENUNAMISMAESTRUCTURADEDATOS%NESTOSCASOSSERECOMIENDAQUELAESTRUCTURARESULTANTESEACOMPRENSIBLEYQUENOSECOMPLIQUEDEMASIADOELACCESOALOSDATOSINDIVIDUALES

    !RREGLOSPARALELOS

    0ORARREGLOSPARALELOSSEENTIENDEDOSOMSARREGLOSCUYOSELEMENTOSSECORRESPONDEN%SDECIRLOSCOMPONENTESQUEOCUPANUNAMISMAPOSICINENDIFERENTESARREGLOSTIENENUNAESTRECHARELACINSEMNTICA0ARAILUSTRARESTAIDEAACONTINUACINSEPRESENTARUNCASOPRCTICOYSUSOLUCINMEDIANTEARREGLOSPARALELOS3UPONGAMOSQUESECONOCEELNOMBREDELALUMNOYLACALIlCACINOBTENIDAPOR

    STEENUNEXAMENQUEFUEAPLICADOAUNGRUPODEALUMNOS3ISEQUISIERAUSARESTOSDATOSPARAGENERARINFORMACINPOREJEMPLOPROMEDIODELGRUPOCALIlCACINMSALTANOMBREDELOSALUMNOSCONCALIlCACININFERIORALPROMEDIOETCSETENDRANDOSALTERNATIVASPRINCIPALESENELDISEODELASOLUCIN

    5SODEARREGLOSPARALELOS

    3ISEUTILIZANARREGLOSPARALELOSPARARESOLVERESTEPROBLEMASEREQUIEREDEDOSARREGLOSUNIDIMENSIONALESENUNOSEALMACENARELNOMBREDELOSALUMNOSYENOTROLACALIlCACINOBTENIDAPORSTEENELEXAMEN%SDECIRACADAELEMENTODELARREGLO./-"2%3LE CORRESPONDER ENTONCES UNO DEL ARREGLO#!,)&)#!#).!S SI SE QUIERE HACERREFERENCIAALACALIlCACINDE./-"2%3;)=SEUTILIZAR#!,)&)#!#).;)=/BSERVELAlGURA

    ,PEZ OBTUVOUNACALIlCACINDE-ARTNEZ OBTUVOUNACALIlCACINDE4ORRES OBTUVOUNACALIlCACINDE 6IASA OBTUVOUNACALIlCACINDE

    !CONTINUACINSEINCLUYEUNALGORITMOQUECALCULAELPROMEDIODELGRUPOEIMPRIMEELNOMBREDELOSALUMNOSQUETENGANCALIlCACINMENORALPROMEDIO

  • 37

    !LGORITMO !RREGLOS?PARALELOS

    5SODEARREGLOSDEREGISTROS

    /TRASOLUCINALPROBLEMASERAUTILIZARUNARREGLODEREGISTROS%NESTECASOCADACOMPONENTEDELARREGLO!,5-./ESUNREGISTROQUETIENEDOSCAMPOS./-"2%Y#!,)&/BSERVELAlGURA

    &)'52!!RREGLOSPARALELOS

    !RREGLOS?PARALELOS

    [%STE ALGORITMO CALCULA EL PROMEDIO DEL GRUPO E IMPRIME EL NOMBRE DE LOS ALUMNOS CONCALIlCACINMENORALPROMEDIO][./-"2%Y#!,)&)#!#).SONVARIABLESDETIPOARREGLO)ESUNAVARIABLEDETIPOENTERO02/-Y!#SONVARIABLESDETIPOREAL]

    (ACER!# 2EPETIRCON)DESDEHASTA

    ,EER./-"2%;)=Y#!,)&)#!#).;)=(ACER!#!##!,)&)#!#).;)=

    [&INDELCICLODELPASO][3ECALCULAELPROMEDIODELGRUPO] (ACER02/-!# %SCRIBIRh%LPROMEDIODELGRUPOESv02/-

    ["SQUEDAEIMPRESINDELOSNOMBRESDELOSALUMNOSCONCALIlCACININFERIORALPROMEDIO]

    2EPETIRCON)DESDEHASTA 3I#!,)&)#!#).;)=02/-ENTONCES %SCRIBIR./-"2%;)= [&INDELCONDICIONALDELPASO]

    [&INDELCICLODELPASO]

    3&(*45304

  • 38 > &4536$563"4'6/%".&/5"-&4%&%"504

    !S !,5-./3;)=./-"2%HARREFERENCIAALNOMBREDELALUMNO) !,5-./3;)=#!,)&HARREFERENCIAALACALIlCACINOBTENIDAPOREL ALUMNO)

    %LSIGUIENTEALGORITMOPRESENTALASOLUCINALPROBLEMAANTERIORMEDIANTEUNARREGLODEREGISTROS

    !LGORITMO !RREGLO?DE?REGISTROS

    ARREGLO?DE?REGISTROS

    [%STE ALGORITMO CALCULA EL PROMEDIO DEL GRUPO E IMPRIME EL NOMBRE DE LOS ALUMNOS CONCALIlCACINMENORALPROMEDIO][!,5-./3ESUNARREGLODE REGISTROS )ESUNAVARIABLEDE TIPOENTERO!#Y02/-SONVARIABLESDETIPOREAL]

    (ACER!# 2EPETIRCON)DESDEHASTA

    ,EER!,5-./3;)=./-"2%Y!,5-./3;)=#!,)&(ACER!#!#!,5-./3;)=#!,)&

    [&INDELCICLODELPASO] (ACER02/-!# %SCRIBIRh%LPROMEDIODELGRUPOESv02/-

    ["SQUEDAEIMPRESINDELOSALUMNOSCONCALIlCACININFERIORALPROMEDIO]

    2EPETIRCON)DESDEHASTA 3I!,5-./3;)=#!,)&02/-ENTONCES

    %SCRIBIR!,5-./3;)=./-"2% [&INDELCONDICIONALDELPASO]

    [&INDELCICLODELPASO]

    &)'52!

  • 39

    2%')342/39#,!3%3

    ,OSREGISTROSSONLASESTRUCTURASDEDATOSQUEMSSEPARECENALCONCEPTODECLASEPRESENTADO%NLASECCINANTERIORSEDIJOQUEUNREGISTROALMACENALASPRINCIPALESCARACTERSTICASDEUNCONJUNTODEOBJETOS#ADAUNADEESASCARACTERSTICASCONSTITUYEUNCAMPODELREGISTRO!LESTABLECERLARELACINCONLASCLASESLOSCAMPOSREPRESENTANLOSATRIBUTOS0ORTANTOSLOSEAGREGANLOSMTODOSOPERACIONESQUEPUEDENAPLICARSESOBRELOSCAMPOSPARACOMPLETARLADElNICINDEUNACLASE,ACLASE2EGISTROCOMOTALNOSEDECLARAPORQUELOQUESEREQUIEREESUNACLASEPOR

    CADAREGISTRO%SDECIRSISEDESEAREPRESENTARALOSCLIENTESDEUNAEMPRESASEGNELEJEMPLOVISTOENLASECCINANTERIORDESDEELPUNTODEVISTADELAPROGRAMACINORIENTADAAOBJETOSSEDEBERDElNIRUNACLASEQUECONTENDRTANTOLOSATRIBUTOSLOQUEENREGISTROSSELLAMANCAMPOSCOMOTODASLASOPERACIONESVLIDASPARAUNCLIENTEPOREJEMPLO ACTUALIZAR EL SALDO CAMBIAR ELNMERO TELEFNICO ETCTERA'RlCAMENTE LACLASE#LIENTEPUEDEVERSECOMOSEMUESTRAENLAlGURA5NOBJETODELACLASE#LIENTEESUNAINSTANCIADELAMISMA%SDECIRESTREPRESEN

    TANDOAUNCLIENTECONUNNOMBREUNNMEROTELEFNICOYUNSALDOESPEClCO,ANOTACINDEPUNTOSUTILIZADAENLOSREGISTROSVARIABLE?REGISTROCAMPO

    ESSIMILARALAUSADAENLOSLENGUAJESORIENTADOSAOBJETOSPARATENERACCESOALOSMIEMBROS NO PRIVADOS DE UN OBJETOOBJETOMIEMBRO!L ASUMIR QUE LA VARIABLE#,)ESUNOBJETODELACLASE#LIENTEPREVIAMENTEDElNIDASEPUEDETENERACCESOALOSMIEMBROSNOPRIVADOSDEDICHOOBJETOPORMEDIODELASINSTRUCCIONES

    A #,)!CTUALIZAR3ALDO.UEVO3ALDO %NESTEEJEMPLOSEESTINVOCANDOALMTODOQUEACTUALIZAELSALDODELCLIENTE%LMTODOTIENEUNARGUMENTOQUEINDICAELNUEVOVALORQUESEASIGNARALATRIBUTO3ALDO

    B #,)#AMBIA4ELFONO.UEVO4EL %NESTEEJEMPLOSEESTINVOCANDOALMTODOQUEACTUALIZAELNMEROTELEFNICODELCLIENTE%LMTODOTIENEUNARGUMENTOQUEINDICAELNUEVOVALORQUESEASIGNARALATRIBUTO4ELFONO

    #LIENTE

    .OMBRECADENADECARACTERES

    4ELFONOCADENADECARACTERES

    3ALDOREAL

    !CTUALIZAR3ALDOARGUMENTOS

    #AMBIA4ELFONOARGUMENTOS

    x

    &)'52!#LASE#LIENTE

    3&(*45304:$-"4&4

  • 40 > &4536$563"4'6/%".&/5"-&4%&%"504

    %*%2#)#)/3!RREGLOSDEUNADIMENSINYARREGLOSPARALELOS

    %NUNARREGLOUNIDIMENSIONALSEHAALMACENADOELNMEROTOTALDE TONELADASDECEREALESCOSECHADASDURANTECADAMESDELAOANTERIOR%SCRIBAUNPROGRAMAQUEOBTENGAEIMPRIMALASIGUIENTEINFORMACIN

    A %LPROMEDIOANUALDETONELADASCOSECHADASB z#UNTOSMESESTUVIERONCOSECHASUPERIORALPROMEDIOANUALC z#UNTOSMESESTUVIERONCOSECHAINFERIORALPROMEDIOANUAL

    %NUNARREGLOUNIDIMENSIONALSEALMACENANLASCALIlCACIONESlNALESDE.ALUMNOSDEUNCURSOUNIVERSITARIO%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMA

    A %LPROMEDIOGENERALDELGRUPOB .MERODEALUMNOSAPROBADOSYREPROBADOSC 0ORCENTAJEDEALUMNOSAPROBADOSYREPROBADOSD .MERODEALUMNOSCUYACALIlCACINFUEMAYOROIGUALA

    $ADAUNACADENADECARACTERESCOMODATOSEDESEASABERELNMERODEVECESQUEAPARECENLASLETRAS@A@B@ZY@!@"@:ENDICHACADENA%SCRIBAUNPROGRAMAQUERESUELVAELPROBLEMA

    A 3IUSARREGLOSzCUNTOSNECESITz0ORQUB z%XISTEOTRAFORMADERESOLVERLO

    {$ADOUNARREGLOUNIDIMENSIONALDENMEROSENTEROSORDENADOSCRECIENTEMENTEESCRIBAUNPROGRAMAQUEELIMINETODOSLOSELEMENTOSREPETIDOS#ONSIDEREQUEDEHABERVALORESREPETIDOSSTOSSEENCONTRARNENPOSICIONESCONSECUTIVASDELARREGLO

    x5NA COMPAA ALMACENA LA INFORMACIN RELACIONADA CON SUS PROVEEDORES EN LOSSIGUIENTESARREGLOS

    *,"6

    ",-

    #ADAPESELNOMBREDELPROVEEDORI%STEARREGLOESTORDENADOALFABTICAMENTE

    1

    #ADACREPRESENTAELNOMBREDELACIUDADENLAQUERESIDEELPROVEEDORI

    C C C CN

    P P P PN

  • 41

    2,",/1"-

    #ADAAIESELNMERODEARTCULOSDIFERENTESQUEPROVEEELPROVEEDORI

    %SCRIBAUNPROGRAMAQUEPUEDALLEVARACABOLASSIGUIENTESTRANSACCIONES

    A $ADOELNOMBREDEUNPROVEEDORINFORMARELNOMBREDELACIUDADENLAQUERESIDEYELNMERODEARTCULOSQUEPROVEE

    B !CTUALIZARELNOMBREDELACIUDADENCASODEQUEUNPROVEEDORCAMBIEDEDOMICILIO,OSDATOSSERNELNOMBREDELPROVEEDORYELNOMBREDELACIUDADALACUALSEMUD

    C !CTUALIZARELNMERODEARTCULOSMANEJADOSPORUNPROVEEDORPARAELCASODEQUESTEAUMENTEODISMINUYA,OSDATOSSERNELNOMBREDELPROVEEDORYLACANTIDADENLAQUEAUMENTAODISMINUYEELTOTALDEARTCULOSQUEPROVEE

    D ,ACOMPAAINCORPORAAUNNUEVOPROVEEDOR!CTUALIZARLOSARREGLOSSINALTERARELORDENDE02/6%%$/2%3,OSDATOSSERNELNOMBREDELPROVEEDORELNOMBREDELACIUDADYELTOTALDEARTCULOSQUEPROVEE

    E ,A COMPAADADEBAJA AUNPROVEEDOR!CTUALIZAR LOS ARREGLOS%LDATO SER ELNOMBREDELPROVEEDOR

    5NAINMOBILIARIATIENEINFORMACINSOBREDEPARTAMENTOSENRENTAALMACENADAENDOSARREGLOS

    8/ -$

    %LARREGLO%84%.3).ALMACENALASUPERlCIEENMETROSCUADRADOSDECADAUNODELOS.DEPARTAMENTOS

    *,"

    %LARREGLO02%#)/ALMACENALOSPRECIOSDEALQUILERDELOS.DEPARTAMENTOS%STEARREGLOESTORDENADODEMANERACRECIENTE#ONSIDEREQUENOEXISTENDEPARTAMENTOSCONIGUALSUPERlCIEYDISTINTOSPRECIOS

    %SCRIBAUNPROGRAMAQUEPUEDALLEVARACABOLASSIGUIENTESOPERACIONES

    A ,LEGAUNCLIENTEALAINMOBILIARIAYSOLICITARENTARUNDEPARTAMENTO3IEXISTEALGUNOCONSUPERlCIEMAYOROIGUALALABUSCADAYPRECIOMENOROIGUALALBUSCADOSEDARDEBAJAALDEPARTAMENTOSELECCIONADO

    B 3EVENCEUNCONTRATOYELCLIENTENODESEARENOVARLO3EDEBENACTUALIZARLOSARREGLOS

    A A A AN

    E E E EN

    0 0 0 0.

    &+&3$*$*04

  • 42 > &4536$563"4'6/%".&/5"-&4%&%"504

    3ETIENELASIGUIENTEINFORMACIN

    #4

    %NELARREGLO#4SEALMACENANLOSNOMBRESDE.CENTROSTURSTICOSDELPAS

    (

    B B B BN

    %NEL ARREGLO( SE ALMACENAELNMERODEHABITACIONESDE CADA TIPO SENCILLAODOBLEDECADACENTROTURSTICO

    0OREJEMPLO(;=GUARDAELNMERODEHABITACIONESSENCILLASDELCENTRO(;=GUARDAELNMERODEHABITACIONESDOBLESDELCENTRO(;=GUARDAELNMERODEHABITACIONESSENCILLASDELCENTRO(;=GUARDAELNMERODEHABITACIONESDOBLESDELCENTROETCTERA

    42

    C C C CN

    %NELARREGLO42SEALMACENAELNMEROTOTALDERESTAURANTESPORCENTROTURSTICO$EBERDESARROLLARUNPROGRAMAQUEPROPORCIONELASIGUIENTEINFORMACIN

    A %LNOMBREDELCENTROTURSTICOQUECUENTACONMSRESTAURANTESB %LNOMBREDELCENTROTURSTICOQUECUENTACONMSHABITACIONESTENIENDOENCUENTALASSENCILLASYLASDOBLES

    C $ADOELNOMBREDEUNCENTROTURSTICOCOMODATOINFORMARCUNTASHABITACIONESTIENESENCILLASDOBLESYELTOTAL

    D %LNOMBREDELCENTROTURSTICOQUEMSRESTAURANTESTIENEENRELACINCONELNMERODEHABITACIONES

    n 3ETIENENTRESARREGLOS352#%.42/Y./24%QUEALMACENANLOSNOMBRESDELOSPASESDE3UR#ENTROY.ORTEAMRICARESPECTIVAMENTE,OSTRESARREGLOSESTNORDENADOSALFABTICAMENTE%SCRIBA UN PROGRAMA QUEMEZCLE LOS TRES ARREGLOS ANTERIORES FORMANDO UN

    CUARTOARREGLO!-2)#!ENELCUALAPAREZCANLOSNOMBRESDETODOSLOSPASESDELCONTINENTEORDENADOSALFABTICAMENTE

    3ETIENENDOSARREGLOS#).%3Y4%!42/3%LPRIMEROALMACENALOSNOMBRESDETODOSLOSCINESDELACIUDAD%STORDENADOALFABTICAMENTEDEMANERAASCENDENTE

    A A A AN

  • 43

    #).%3;=#).%3;=#).%3;.=

    %LSEGUNDOARREGLOGUARDALOSNOMBRESDETODOSLOSTEATROSDELACIUDAD%STORDENADOALFABTICAMENTEDEMANERADESCENDENTE

    4%!42/3;=4%!42/3;=4%!42/3;+=

    %SCRIBAUNPROGRAMAQUEMEZCLEESTOSARREGLOSFORMANDOUNTERCERO%.42%4%.)-)%.4/3QUEQUEDEORDENADOALFABTICAMENTEDEMANERAASCENDENTE

    3ETIENENREGISTRADASLASCALIlCACIONESOBTENIDASENUNEXAMENAALUMNOS,OSDATOSSONCALCALCALDONDECALIESUNNMEROENTEROCOMPRENDIDOENTRELOSVALORESYCALI%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMALAFRECUENCIADECADAUNODELOS

    POSIBLESVALORES,ASALIDADELPROGRAMASEMUESTRAACONTINUACIN

    %SCRIBASUSPROPIOSALGORITMOSPARAINSERTARELIMINAROMODIlCARUNELEMENTODEUNARREGLO

    A 3IELARREGLOESTDESORDENADOB 3IELARREGLOESTORDENADO

    $ADOUNARREGLOUNIDIMENSIONALDETIPOENTEROQUECONTIENECALIlCACIONESDEEXMENESDEALUMNOSCONSTRUYAUNPROGRAMAQUECALCULELOSIGUIENTE

    A -EDIAARITMTICA3ECALCULACOMOLASUMADELOSELEMENTOSENTREELNMERODEELEMENTOS

    B 6ARIANZA3ECALCULACOMOLASUMADELOSCUADRADOSDELASDESVIACIONESDELAMEDIAENTREELNMERODEELEMENTOS

    C $ESVIACINESTNDAR3ECALCULACOMOLARAZCUADRADADELAVARIANZAD -ODA3ECALCULAALOBTENERELNMEROCONMAYORFRECUENCIA

    %SCRIBAUNPROGRAMAQUEALMACENEENUNARREGLOUNIDIMENSIONALLOSPRIMEROSNMEROSPERFECTOS5NNMEROSECONSIDERAPERFECTOSILASUMADELOSDIVISORESEXCEPTOELMISMOESIGUALALPROPIONMERO%LPOREJEMPLOESUNNMEROPERFECTO

    #ALIlCACIN &RECUENCIA

    !,5-./

    !,5-./3

    !,5-./3

    !,5-./3

    &+&3$*$*04

  • 44 > &4536$563"4'6/%".&/5"-&4%&%"504

    !RREGLOSMULTIDIMENSIONALES

    {3EANLOSARREGLOSBIDIMENSIONALES!-.Y"-. $ONDE- . AIJYBIJSONREALES

    %SCRIBAUNPROGRAMAQUECALCULE#-.!-."-.

    x3EANLOSARREGLOSBIDIMENSIONALES!-.Y".0 $ONDE- . 0 AIJYBIJSONREALES

    %SCRIBAUNPROGRAMAQUECALCULE#-0!-.".0

    %SCRIBAUNPROGRAMAQUELLENEDECEROSUNAMATRIZ!..EXCEPTOENLADIAGONALPRINCIPALDONDEDEBEASIGNAR3I.LAMATRIZDEBEQUEDAR

    %SCRIBAUNPROGRAMAQUEINTERCAMBIEPORRENGLNLOSELEMENTOSDEUNARREGLOBIDIMENSIONAL,OSELEMENTOSDELRENGLNDEBENINTERCAMBIARSECONLOSDELRENGLN.LOSDELRENGLNCONLOSDEL.nYASSUCESIVAMENTE0OREJEMPLOSI!ES

    %LRESULTADODELAOPERACINDEBESER

  • 45

    n$ADOCOMODATOELARREGLOBIDIMENSIONAL!-.QUEALMACENANMEROSREALES

    $ONDE- .

    %SCRIBAUNPROGRAMAQUEENCUENTREEIMPRIMAELVALORMSGRANDEALMACENADOENCADAUNADELASCOLUMNASYENCADAUNODELOSRENGLONESDELARREGLO3UPROGRAMADEBEIMPRIMIRJUNTOALVALORENCONTRADOLACOLUMNAORENGLNENLACUALSEENCONTR

    3ETIENENLOSCOSTOSDEPRODUCCINDETRESDEPARTAMENTOSDULCESBEBIDASYCONSERVASCORRESPONDIENTESALOSMESESDELAOANTERIOR

    %SCRIBAUNPROGRAMAQUEPUEDAPROPORCIONARLASIGUIENTEINFORMACIN

    A z%NQUMESSEREGISTRELMAYORCOSTODEPRODUCCINDEDULCESB 0ROMEDIOANUALDELOSCOSTOSDEPRODUCCINDEBEBIDASC z%NQUMESSEREGISTRELMAYORCOSTODEPRODUCCINENBEBIDASYENQUMESELMENORCOSTO

    D z#ULFUEELRUBROQUETUVOELMENORCOSTODEPRODUCCINENDICIEMBRE

    3ETIENEUNATABLACONLASCALIlCACIONESOBTENIDASPORALUMNOSENSEISEXMENESDIFERENTES

    %SCRIBAUNPROGRAMAQUECALCULE

    &+&3$*$*04

  • 46 > &4536$563"4'6/%".&/5"-&4%&%"504

    A %L PROMEDIO GENERAL DE CALIlCACIONES DE LOS ALUMNOS CONSIDERANDO LOS SEISEXMENES

    B %LALUMNOQUEOBTUVOLAMAYORCALIlCACINENELTERCEREXAMENC %LALUMNOSI LOHUBIERAQUEOBTUVOLAMAYORCALIlCACINENELPRIMEROYENELSEXTOEXMENES

    D $ADOELNMEROQUEIDENTIlCAAUNALUMNOINFORMARENQUEXAMENLOGRLAMENORCALIlCACIN

    E z%NCULEXAMENFUEMSALTOELPROMEDIODELOSALUMNOS

    %SCRIBAUNPROGRAMAQUEGENEREEIMPRIMAUNCUADRADOMGICODEDIMENSIN./BSERVEQUE.ESENTEROPOSITIVOEIMPAR5NCUADRADOMGICOESUNAMATRIZCUADRADADEORDEN.QUECONTIENEALOSNMEROSNATURALESDELAL..YDONDELASUMADECUALQUIERADELOSRENGLONESCOLUMNASODIAGONALESPRINCIPALESESSIEMPRELAMISMA0UEDEUTILIZARLOSSIGUIENTESPASOSPARAGENERARUNCUADRADOMGICO

    A %LNMEROSECOLOCAENLACASILLACENTRALDELPRIMERRENGLNB %LSIGUIENTENMEROSECOLOCAENLACASILLACORRESPONDIENTEALRENGLNANTERIORYCOLUMNAPOSTERIOR

    C %LRENGLNANTERIORALPRIMEROESELLTIMOYLACOLUMNAPOSTERIORALALTIMAESLAPRIMERA

    D 3IELNMEROESUNSUCESORDEUNMLTIPLODE.NOSEAPLICALAREGLASINOQUESECOLOCAENLACASILLADELRENGLNPOSTERIORYENLAMISMACOLUMNA

    3I.ELCUADRADOGENERADODEBEQUEDAR

    3EAN!-.Y".ARREGLOSDEDOSYUNADIMENSINRESPECTIVAMENTE%SCRIBAUNPROGRAMAQUEASIGNEVALORESA"APARTIRDE!TENIENDOENCUENTALOSSIGUIENTESCRITERIOS

    A 3IIESIMPAR

    B 3IIESPAR

    3EAN!B.Y".DOSARREGLOSDEDOSYUNADIMENSINRESPECTIVAMENTE

    B A A AI I J I JJ

    N

    I J

    B AI I JJ

    N

  • 47

    %SCRIBAUNPROGRAMAQUEASIGNEVALORESA!APARTIRDE"TENIENDOENCUENTALOSSIGUIENTESCRITERIOS

    A AIJBI 3IIJB AIJ 3IIJ

    #OMBINACIONESENTREARREGLOSYREGISTROS

    {%LDEPARTAMENTODEPERSONALDEUNAESCUELATIENEREGISTROSDELNOMBRESEXOYEDADDECADAUNODELOSPROFESORESADSCRITOSAH

    %SCRIBAUNPROGRAMAQUECALCULEEIMPRIMALOSSIGUIENTESDATOS

    A %DADPROMEDIODELGRUPODEPROFESORESB .OMBREDELPROFESORMSJOVENDELGRUPOC .OMBREDELPROFESORDEMSEDADD .MERODEPROFESORASCONEDADMAYORALPROMEDIOE .MERODEPROFESORESCONEDADMENORALPROMEDIO

    x2ESUELVAELPROBLEMAANTERIORCON TRESARREGLOSPARALELOS#OMPARE SUS SOLUCIONES

    %NUNAESCUELAPORCADAALUMNOSETIENENLOSSIGUIENTESDATOS

    .OMBRE -ATRCULA .MERODESEMESTRESCURSADOS #ALIlCACINPROMEDIOPORSEMESTRE

    %SCRIBAUNPROGRAMAQUEDADA LA INFORMACINDE.ALUMNOSPUEDAREALIZAR LASSIGUIENTESOPERACIONES

    &+&3$*$*04

  • 48 > &4536$563"4'6/%".&/5"-&4%&%"504

    A ,ISTARNOMBREYMATRCULADEESTUDIANTESCONPROMEDIOSGENERALESMAYORESOIGUALESA

    B !CTUALIZAR LOS CAMPOS QUE CORRESPONDAN CUANDO UN ESTUDIANTE HA CONCLUIDO UNSEMESTRE

    C ,ISTARNOMBREYMATRCULADEESTUDIANTESQUEHAYANOBTENIDOOMSDECALIlCACINENTODOSLOSSEMESTRESCURSADOSHASTAELMOMENTO

    5NACOMPAADISTRIBUYE.PRODUCTOSADISTINTOSCOMERCIOSDELACIUDAD0ARAELLOALMACENAENUNARREGLOTODALAINFORMACINRELACIONADACONSUMERCANCA

    #LAVE $ESCRIPCIN %XISTENCIA -NIMOAMANTENERDEEXISTENCIA 0RECIOUNITARIO

    %SCRIBAUNPROGRAMAQUEEFECTELASSIGUIENTESOPERACIONES

    A 6ENTADEUNPRODUCTOSEDEBENACTUALIZARLOSCAMPOSQUECORRESPONDANYVERIlCARQUELANUEVAEXISTENCIANOESTPORDEBAJODELMNIMO$ATOSCLAVECANTIDADVENDIDA

    B 2EABASTECIMIENTODEUNPRODUCTOSEDEBENACTUALIZARLOSCAMPOSQUECORRESPONDAN$ATOSCLAVECANTIDADCOMPRADA

    C !CTUALIZARELPRECIODEUNPRODUCTO$ATOSCLAVEPORCENTAJEDEAUMENTOD )NFORMARSOBREUNPRODUCTOSEDEBENPROPORCIONAR TODOS LOSDATOSRELACIONADOSCONUNPRODUCTO$ATOCLAVE

    n!LMOMENTODESUINGRESOALHOSPITALAUNPACIENTESELESOLICITANLOSSIGUIENTESDATOS

    .OMBRE %DAD 3EXO $OMICILIO s#ALLE s.MERO s#IUDAD 4ELFONO 3EGUROESTECAMPOTENDRELVALOR6%2$!$%2/SIELPACIENTETIENESEGUROMDICOY&!,3/ENOTROCASO

    %SCRIBAUNPROGRAMAQUEPUEDALLEVARACABOLASSIGUIENTESOPERACIONES

    A ,ISTARLOSNOMBRESDETODOSLOSPACIENTESHOSPITALIZADOSB /BTENERELPORCENTAJEDEPACIENTESHOSPITALIZADOSENLASSIGUIENTESCATEGORASDADASPORLAEDAD

  • 49

    .IOSHASTAAOS *VENESMAYORESDEAOSYMENORESDE !DULTOSMAYORESDEAOS

    C /BTENERELPORCENTAJEDEHOMBRESYDEMUJERESHOSPITALIZADOSD $ADOELNOMBREDEUNPACIENTELISTARTODOSLOSDATOSRELACIONADOSCONDICHOPACIENTE

    E #ALCULARELPORCENTAJEDEPACIENTESQUEPOSEENSEGUROMDICO

    5NAINMOBILIARIATIENEINFORMACINSOBREDEPARTAMENTOSENRENTA$ECADADEPARTAMENTOSECONOCE

    #LAVEESUNENTEROQUEIDENTIlCAALINMUEBLE %XTENSINSUPERlCIEDELDEPARTAMENTOENMETROSCUADRADOS 5BICACINEXCELENTEBUENAREGULARMALA 0RECIOESUNREAL $ISPONIBLE6%2$!$%2/SIESTDISPONIBLEPARALARENTAY&!,3/SIYAESTRENTADO

    $IARIAMENTEACUDENMUCHOSCLIENTESALAINMOBILIARIASOLICITANDOINFORMACIN%SCRIBAUNPROGRAMACAPAZDEREALIZARLASSIGUIENTESOPERACIONESSOBRELAIN

    FORMACINDISPONIBLE

    A ,ISTELOSDATOSDETODOSLOSDEPARTAMENTOSDISPONIBLESQUETENGANUNPRECIOINFERIOROIGUALACIERTOVALOR0

    B ,ISTELOSDATOSDELOSDEPARTAMENTOSDISPONIBLESQUETENGANUNASUPERlCIEMAYOROIGUALAUNCIERTOVALORDADO%YUNAUBICACINEXCELENTE

    C ,ISTEELMONTODELARENTADETODOSLOSDEPARTAMENTOSALQUILADOSD ,LEGAUNCLIENTESOLICITANDORENTARUNDEPARTAMENTO3IEXISTEALGUNOCONUNASUPERlCIEMAYORO IGUALA LADESEADACONPRECIOYUBICACINQUESEAJUSTANA LASNECESIDADESDELCLIENTEELDEPARTAMENTOSERENTAR!CTUALIZARLOSDATOSQUECORRESPONDAN

    E 3EVENCEUNCONTRATOSINOSERENUEVAACTUALIZARLOSDATOSQUECORRESPONDANF 3EHADECIDIDOAUMENTARLASRENTASENUN8!CTUALIZARLOSPRECIOSDELASRENTASDELOSDEPARTAMENTOSNOALQUILADOS

    0ROBLEMASINTERESANTES

    $ECIDAELLECTORQUESTRUCTURADEDATOSDEBEUTILIZARPARARESOLVERLOS

    %SCRIBAUNPROGRAMAQUELEAUNNMEROROMANOEIMPRIMASUEQUIVALENTEENARBIGO2ECUERDEQUE

    ) 6

    &+&3$*$*04

  • 50 > &4536$563"4'6/%".&/5"-&4%&%"504

    8 , # $ -

    %SCRIBAUNPROGRAMAQUECALCULEEIMPRIMALOSNMEROSPERFECTOSCOMPRENDIDOSENTREDOSNMEROS!Y"5NNMEROESPERFECTOSILASUMADESUSDIVISORESEXCEPTOLMISMOESIGUALALPROPIONMERO

    %SCRIBAUNSUBPROGRAMAQUERECIBACOMODATOSELNOMBREDEUNDADELASEMANAYUNNMEROENTERO.POSITIVOONEGATIVOEIMPRIMAELDADELASEMANACORRESPONDIENTEA.DASDESPUSPOSITIVOO.DASANTESNEGATIVODELDADADO

    ,OMISMOQUEENELPROBLEMAPEROAHORACONRESPECTOAUNMES

    {%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMALOSNMEROSPRIMOSMENORESQUECIERTONMERODADO.

    x%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMALOSNMEROSPRIMOSGEMELOSMENORESQUECIERTONMERODADO.$OSNMEROSSONPRIMOSGEMELOSSISONNMEROSPRIMOSCONUNADIFERENCIAENTREELLOSDEEXACTAMENTE0OREJEMPLOYSONPRIMOSGEMELOS

  • !22%',/3-5,4)$)-%.3)/.!,%32%02%3%.4!$/3%.!22%',/35.)$)-%.3)/.!,%3

    #APTULO

    ).42/$5##).

    !CTUALMENTELAMAYORADELOSLENGUAJESDEPROGRAMACINDEALTONIVELPROPORCIONANALUSUARIOMEDIOSElCACESPARAALMACENARYRECUPERARELEMENTOSDEARREGLOSBIDIMENSIONALESTRIDIMENSIONALESEINCLUSODEMSDETRESDIMENSIONES%LUSUARIODELLENGUAJENODEBEPREOCUPARSEPORDETALLESESPEClCOSDELALMACENAMIENTONIPORELMANEJOFSICODEL DATO 3U ATENCIN SE DEBE CONCENTRAR SOLAMENTE EN EL TRATAMIENTO LGICO DE ESTELTIMOESDECIRENENCONTRARUNAESTRUCTURADEDATOSQUEPERMITARESOLVERCIERTOSPROBLEMASDEMANERAPTIMA0OROTRAPARTELASCOMPUTADORASNOPUEDENALMACENARDIRECTAMENTEUNARREGLOMUL

    TIDIMENSIONAL3UREPRESENTACINENMEMORIADEBESERLINEALACADAELEMENTOLESIGUEUNNICOELEMENTOMEDIANTEUNBLOQUEDEPOSICIONESSUCESIVAS%NESTECAPTULOSEESTUDIARNALGUNASTCNICASUTILIZADASPARAELALMACENAMIENTO

    LINEALDEARREGLOSMULTIDIMENSIONALES

    !22%',/3")$)-%.3)/.!,%3

    ,OSLENGUAJESDEPROGRAMACINPUEDENREPRESENTARUNARREGLOBIDIMENSIONAL!DEMNELEMENTOSMEDIANTEUNBLOQUEDEMNPOSICIONESSUCESIVAS,ADISTRIBUCINDELOSELEMENTOSSEPUEDEREALIZARDEDOSFORMASDIFERENTESRENGLNARENGLNLLAMADATAM

  • 52 > "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

    BINORDENACINPORRENGLONESQUEUTILIZANLAMAYORADELOSLENGUAJESDEPROGRAMACINPOREJEMPLO"!3)##/"/,0!3#!,#ETCTERAOBIENCOLUMNAACOLUMNALLAMADATAMBINORDENACINPORCOLUMNASQUEUTILIZA&/242!.3EAELARREGLOBIDIMENSIONAL!DEELEMENTOSlGA3UREPRESENTACINEN

    UNARREGLOUNIDIMENSIONALORDENADOPORRENGLONESSEOBSERVAENLAlGURABMIENTRASQUEELQUECORRESPONDEAUNARREGLOUNIDIMENSIONALORDENADOPORCOLUMNASSEOBSERVAENLAlGURAC5NAVEZALMACENADOSLOSVALORESDEMANERALINEALSEREQUIEREUNAFRMULAQUEPRO

    PORCIONELAPOSICINENELARREGLOUNIDIMENSIONALQUELECORRESPONDEACADAELEMENTODELARREGLOBIDIMENSIONALORIGINAL3EANENTONCESMELNMERODERENGLONESYNELNMERODECOLUMNASDEUNARREGLO

    BIDIMENSIONAL0OROTRAPARTEIYJINDICANELRENGLNYCOLUMNARESPECTIVAMENTEDELAPOSICINDELELEMENTOQUESEQUIEREUBICAR,AFRMULAPARALOCALIZARUNELEMENTODETERMINADOENUNARREGLOUNIDIMENSIONALORDENADOPORRENGLONESESLASIGUIENTE

    ,/#!;IJ=0/3).)NInJn &RMULA

    $ONDE0/3).)PRIMERTRMINODELAFRMULAREPRESENTALAPOSICINDELARREGLOUNIDIMENSIONALAPARTIRDELACUALSEENCUENTRAALMACENADOELARREGLOBIDIMENSIONAL%NGENERALPARALLEGARACUALQUIERRENGLN ISEDEBENCONTABILIZARLOSELEMENTOSCORRESPONDIENTESAIRENGLONESCOMPLETOS%STERESULTADOSEOBTIENEMEDIANTELAOPERACINNISEGUNDOTRMINODELAFRMULA#UANDOSELLEGAALRENGLNCORRESPONDIENTESEDEBENCONTABILIZARLOSJELEMENTOSNECESARIOSPARALLEGARALACOLUMNAJTERCERTRMINODELAFRMULA,ASUMADELOSTRESTRMINOSPROPORCIONALALOCALIZACINDELELEMENTOIJCORRESPONDIENTEENUNARREGLOUNIDIMENSIONALORDENADOPORRENGLONES!SPOREJEMPLOSIDESEAMOSLOCALIZARELELEMENTO!;=DELARREGLODELAlGURA

    AHACEMOS

    ,/#!;=

    &)'52!2EPRESENTACINLINEALDEARREGLOSBIDIMENSIONALES>!RREGLOBIDIMENSIONALL/RDENACINPORRENGLONESENUNARREGLOUNIDIMENSIONALD/RDENACINPORCOLUMNASENUNARREGLOUNIDIMENSIONAL

  • 53 "33&(-04#*%*.&/4*0/"-&4

    !HORABIENSIELARREGLOSEENCUENTRAALMACENADOPORCOLUMNASLAFRMULAPARALOCALIZARUNELEMENTODETERMINADOES

    ,/#!;IJ=0/3).)MJnIn &RMULA

    %NESTECASO0/3).)PRIMERTRMINODELAFRMULAREPRESENTACOMOENELCASOANTERIOR LAPOSICINDEL ARREGLOUNIDIMENSIONAL APARTIRDE LACUAL SEENCUENTRAALMACENADO EL ARREGLO BIDIMENSIONAL%NGENERAL PARA LLEGAR A CUALQUIER COLUMNA JPRIMEROSEDEBENCONTABILIZARLOSELEMENTOSCORRESPONDIENTESAJCOLUMNASCOMPLETAS%STERESULTADOSEOBTIENECONLAOPERACINMJSEGUNDOTRMINODELAFRMULA,UEGOQUESELLEGAALACOLUMNADESEADASEDEBENCONSIDERARLOSIELEMENTOSNECESARIOSPARALLEGARALRENGLNITERCERTRMINODELAFRMULA,ASUMADELOSTRESTRMINOSDElNELALOCALIZACINDELELEMENTOIJCORRESPONDIENTEENUNARREGLOUNIDIMENSIONALORDENADOPORCOLUMNAS!SPOREJEMPLOSISEDESEALOCALIZARELELEMENTO!;=DELARREGLOPRESENTADOEN

    LAlGURAASEHACE

    ,/#!;=

    #ONSIDEREELARREGLOBIDIMENSIONAL#/34/3DERENGLONESYTRESCOLUMNASCORRESPONDIENTE A LOS COSTOSMENSUALESDEPRODUCCINDE TRESDEPARTAMENTOSDULCES CONSERVASYBEBIDASDEUNAFBRICA#ONSIDERETAMBINQUEAQULSEENCUENTRAORDENADOPORRENGLONESAPARTIRDELAPOSICINENUNARREGLOUNIDIMENSIONALLLAMADO#/3!NALICELOSSIGUIENTESCASOS

    A 3ENECESITACONOCERELCOSTODEPRODUCCINDELDEPARTAMENTODECONSERVASDURANTEAGOSTO3EPROCEDEDEESTAFORMA

    (ACER)*%SCRIBIR#/3;)*=[%LRESULTADODELCLCULOES]

    B 3ENECESITAELCOSTODEPRODUCCINANUALDELDEPARTAMENTODEBEBIDAS ,OSPASOSASEGUIRSON

    (ACER35-2EPETIRCON)DESDEHASTA(ACER35-35-#/3;)=

    C 3ENECESITAELCOSTOTOTALDEPRODUCCINDELOSTRESDEPARTAMENTOSDURANTESEPTIEMBRE ,OSPASOSASEGUIRSON

    (ACER35-2EPETIRCON*DESDEHASTA(ACER35-35-#/3;n*=

    %JEMPLO

  • 54 > "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

    3UPONGAMOSQUESETIENEALMACENADOELARREGLOBIDIMENSIONAL!;=ENDOSARREGLOSUNIDIMENSIONALESDIFERENTES%LPRIMEROORDENADOPORRENGLONESAPARTIRDELAPOSICINYELSEGUNDOORDENADOPORCOLUMNASAPARTIRDELAPOSICIN#ONSIDERELOSSIGUIENTESCASOS

    A 3ENECESITAOBTENERLAPOSICINDELELEMENTO!;=ENELARREGLOUNIDIMENSIONALORDENADOPORRENGLONES3EPROCEDEDEESTAFORMA

    B 3ENECESITAOBTENERLAPOSICINDELELEMENTO!;=ENELARREGLOUNIDIMENSIONALORDENADOPORCOLUMNAS

    !22%',/3$%-3$%$/3$)-%.3)/.%3

    ,OSLENGUAJESDEPROGRAMACINDEALTONIVELALMACENANUNARREGLO!DE.DIMENSIONESSIENDO.YPORTANTODEMMMNELEMENTOSMEDIANTEUNBLOQUEDEMMMNPOSICIONESSUCESIVAS%STAREPRESENTACINALIGUALQUEENELCASODEARREGLOSBIDIMENSIONALESSEPUEDEREALIZARDEDOSFORMASDIFERENTESRENGLNARENGLNLLAMADATAMBINORDENACINPORRENGLONESYCOLUMNAACOLUMNALLAMADATAMBINORDENACINPORCOLUMNAS3EA!UNARREGLOTRIDIMENSIONALDEELEMENTOSlGA3UREPRESEN

    TACIN EN UN ARREGLO UNIDIMENSIONAL ORDENADOPOR RENGLONES PUEDE OBSERVARSE EN LAlGURABMIENTRASQUELAQUECORRESPONDEAUNARREGLOUNIDIMENSIONALORDENADOPORCOLUMNASSEOBSERVAENLAlGURAC5NAVEZALMACENADOSLOSVALORESDEMANERALINEALSEREQUIERECALCULARLAPOSICIN

    DECUALESQUIERADELOSELEMENTOSGUARDADOSENELARREGLOUNIDIMENSIONAL0ARAELLOSENECESITAPRIMEROOBTENERLOSNDICES+ILOSTAMAOSDELASDIMENSIONES4IYLOSNDICESEFECTIVOS)%ICORRESPONDIENTES#ABEACLARARQUEUNNDICEEFECTIVO)%ISECALCULACOMOLADIFERENCIADELNDICE+ICORRESPONDIENTEYELLMITEINFERIORDELADIMENSINIDONDEIVARADESDEHASTA.SIENDO.ELNMERODEDIMENSIONESDELARREGLOMULTIDIMENSIONAL,AFORMADELOCALIZARUNELEMENTODETERMINADOENUNARREGLOORDENADOPORRENGLO

    NESES

    &RMULA

    %JEMPLO

    ,/#0/3).)

    !

    ; =

    N I

    J

    ,/#0/3).)

    !

    ; =

    M J

    I

    ,/# 0/3).)! KII

    N

    )% 4 )% 44 )% 4 )% x N N N

  • 55

    3UPONGAMOSQUESEDESEALOCALIZARELELEMENTO!;=DELARREGLOPRESENTADOENLAlGURAA%NPRIMERLUGARSEREALIZANLOSSIGUIENTESCLCULOSPARAOBTENERLOS4IYLOS)%I

    4LMSUPnLMINFn4LMSUPnLMINFn4LMSUPnLMINFn

    )%+nLMINFn)%+nLMINFn)%+nLMINFn

    ,UEGOSEAPLICALAFRMULAPARAOBTENERLAPOSICINCORRESPONDIENTEDELELEMENTOENUNARREGLOUNIDIMENSIONALORDENADOPORRENGLONES3EPROCEDEAS

    ,/#!;=

    0ARACALCULARLAPOSICINDELELEMENTO!;=SEREALIZANLASSIGUIENTESOPERACIONESPARAOBTENERLOS4ISEUSANLOSGENERADOSENELCASOANTERIORYLOS)%I

    &)'52!2EPRESENTACINLINEALDEARREGLOSDEMSDEDOSDIMENSIONESB!RREGLOTRIDIMENSIONALC/RDENACINPORRENGLONESENUNARREGLOUNIDIMENSIONALD/RDENACINPORCOLUMNASENUNARREGLOUNIDIMENSIONAL

    "33&(-04%&.4%&%04%*.&/4*0/&4

  • 56 > "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

    4 )%+nLMINFn4 )%+nLMINFn4 )%+nLMINFn

    YLUEGOSEAPLICALAFRMULAPARAOBTENERLAPOSICINREQUERIDA

    ,/#!;=

    !HORABIENSIELARREGLOSEENCUENTRAALMACENADOPORCOLUMNASLAFORMADELOCALIZARUNELEMENTOES

    &RMULA

    3UPONGAMOSQUESEDESEAENCONTRARELELEMENTO!;=DELARREGLOPRESENTADOENLAlGURAA3ETIENENQUECALCULARPRIMEROLOS4ISEUSANLOSGENERADOSANTERIORMENTEYLOS)%ICORRESPONDIENTES

    4 )%+nLMINFn4 )%+nLMINFn4 )%+nLMINFn

    YPOSTERIORMENTESEAPLICALAFRMULAPARAOBTENERLAPOSICINDELELEMENTO!;=ENUNARREGLOUNIDIMENSIONALORDENADOPORCOLUMNAS

    ,/#!;=

    3ISEQUIERECALCULARLAPOSICINDELELEMENTO!;=SEREALIZANLASSIGUIENTESOPERACIONESPARAOBTENERLOS4ISEUSANLOSGENERADOSANTERIORMENTEYLOS)%I

    4 )%+nLMINFn4 )%+nLMINFn4 )%+nLMINFn

    YLUEGOSEAPLICALAFRMULAPARAOBTENERLAPOSICINREQUERIDA

    ,/#!;=

    #ONSIDEREELARREGLOTRIDIMENSIONAL#/34/3DECORRESPONDIENTEALOSCOSTOSDEPRODUCCINMENSUALES EN TRESDEPARTAMENTOSDULCES CONSERVASYBEBIDASDEUNAFBRICAENLOSLTIMOSCINCOAOSDESDEHASTA#ONSIDERETAMBINQUEAQULSEENCUENTRAORDENADOPORRENGLONESAPARTIRDELAPRIMERAPOSICINENUNARREGLOUNIDIMENSIONALLLAMADO#/3!NALICELOSSIGUIENTESCASOS

    A 3ENECESITALAPOSICINENELARREGLO#/3DONDESEENCUENTRAELCOSTODEPRODUCCINDELDEPARTAMENTODEBEBIDASDURANTEAGOSTOYDURANTEELAODE

    ,/# 0/3).)! K )% 4 )%II

    N

    N N N

    4 )% 4 )% 4 )%N x

    %JEMPLO

  • 57

    3EOBTIENENLOS4IYLOS)%ICORRESPONDIENTES

    4LMSUPnLMINFn4LMSUPnLMINFn4LMSUPnLMINFn

    )%+nLMINFn)%+nLMINFn)%+nLMINFn

    YLUEGOSEPROCEDEDELASIGUIENTEFORMA

    ,/##/34/3;=

    B 3ENECESITAELCOSTODEPRODUCCINDELDEPARTAMENTODECONSERVASDURANTE3EOBTIENENLOS4ISEUSANLOSGENERADOSENELINCISOAYLOS)%ICORRES

    PONDIENTES

    4 )%DESDEHASTA4 )%+nLIMINFn4 )%+nLIMINFn

    YLUEGOSEREALIZANLOSSIGUIENTESPASOS

    (ACER35-2EPETIRCON)DESDEHASTA

    (ACER35-35-#/3;)=

    C 3ENECESITAELCOSTOTOTALDEPRODUCCINDELOSTRESDEPARTAMENTOSDURANTESEPTIEMBREDE3EOBTIENENLOS4ISEUSANLOSGENERADOSENELINCISOAYLOS)%ICORRES

    PONDIENTES

    4 )%+nLMINFn4 )%)DESDEHASTA4 )%+nLMINFn

    YLUEGOSEAPLICANLOSSIGUIENTESPASOS

    (ACER35-2EPETIRCON)DESDEHASTA

    (ACER35-35-#/3;)=

    D 3ENECESITA EL COSTO TOTAL DE PRODUCCIN DE LOS TRES DEPARTAMENTOS DURANTE TODO3EOBTIENENLOS4ISEUSANLOSGENERADOSENELINCISOAYLOS)%ICORRES

    PONDIENTES

    "33&(-04%&.4%&%04%*.&/4*0/&4

  • 58 > "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0