Estructuras de Datos
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