Download - Vector Es diagrama

Transcript

tipo_de_dato nombre_variable[tamao]Ejemplo: int vector [10]Entero tipo de datovector nombre de la variable que representa a todo el arreglo10 tamao del arreglo1. ARREGLOS UNIDIMENSIONALESUn arreglo unidimensional o vector es un conjunto finito y ordenado de elementos homogneos! "apropiedad ordenado se refiere a que los elementos primer# segundo# tercero y n$ esimo pueden seridentificados! %dem&s los elementos de un arreglo son homogneos# es decir todos son del mismotipo de datos!"a forma general para definir un arreglo de s'lo una dimensi'n es la siguiente: vector1()*(+1),-+(,1).(0-(1.1 Forma de acceso a un elemento espec!co del arre"lo/ara accesara uno de los elementos delarregloen particular# bastacon invocar el nombre delarreglo y especificar entre corchetes el n0mero de casilla que ocupa el elemento en el arreglo!/or ejemplo# si queremosaccesar al cuartoelementodeunarreglode10# seinvocar1adelasiguiente manera: nombre2variable[(] el caso anteriorvector[(]31)!4abe notar que solo el vector global tienen el nombre vector y los elementos de estese referencianmediante el sub1ndice correspondiente! %s1 se usa un identificador global de la estructura perosepuede acceder a cada elemento independientemente!/or ejemplo para registrar los datos de temperatura en grados cent1grados de las )* horas del d1ase puede definir el vector5E6/E7%5U7% de )* elementos de tipo real ya que la temperatura nosiempre se representa en trminos enteros!El valor m1nimo permitido de un vector se denomina l1mite inferior y el valor m&8imo permitido sedenominal1mitesuperior! Enel ejemplode5E6/E7%5U7%# el l1miteinferior es0yel l1mitesuperior es )(!101)(*+9,-.Ejemplox[5] = 53x[9] = 83Recuerde que el arregloalmacena desde la casilla0. Por tanto, en un arreglode 10 casillas, stas estnnumeradas del 0 al 9tipo_de_datoserefiereal tipodedatodecada elemento del arreglo!tamaoes la cantidad de elementos agrupados en la misma variable!,,#+1)1(1(#+)01+#*10#("aformadealmacenamientodelosvectoresenmemoriaesadyacente! /orejemplo# el vectoranterior de 10 elementos se representa gr&ficamente por 10 posiciones de memoriasucesivas!MEMORIA5E6/E7%5U7%[0] :irecci'n 85E6/E7%5U7%[1] :irecci'n 8;15E6/E7%5U7%[)] :irecci'n 8;)5E6/E7%5U7%[(] :irecci'n 8;(5E6/E7%5U7%[)(] :irecci'n 8;)(%lgunas instrucciones que son v&lidas para este vector se representan en la siguiente tabla%cciones 7esultadosEscribir a el valor de 5E6/E7%5U7%[0]o ,5E6/E7%5U7%[*]*0 %lmacena el valor *0 en 5E6/E7%5U7%[*]?U6% 3 5E6/E7%5U7%[1];E6/E7%5U7%[(]%lmacena en suma 5E6/E7%5U7%[1];E6/E7%5U7%[(] o es decir )0#+?U6% 3 ?U6% ; 5E6/E7%5U7%[*] @ncrementa lavariable suma con elvalor de5E6/E7%5U7%[*]5E6/E7%5U7%[+]3E6/E7%5U7%[+]; *#+?uma *#+ a 5E6/E7%5U7%[+]#5E6/E7%5U7%[+] tendr& como valor )*#+5E6/E7%5U7%[9]3E6/E7%5U7%[1]5E6/E7%5U7%[)]%lmacenalasumade5E6/E7%5U7%[1] ;E6/E7%5U7%[)] en5E6/E7%5U7%[9] elnuevo valor de 5E6/E7%5U7%[9] ser& 1*#+%dem&s cabe mencionar la importancia que debe tener la utili>aci'n de los 1ndices y es necesario#mostrar cierta notaci'n!?upongamos un vector A de 9 elementos!,$+1)1(-)025E6/E7%5U7%[0]5E6/E7%5U7%[1]5E6/E7%5U7%[)]5E6/E7%5U7%[(]5E6/E7%5U7%[*]5E6/E7%5U7%[+]5E6/E7%5U7%[9]5E6/E7%5U7%[)(]A[0]A[1]A[)]A[(]A[*]A[+]10012 3 4 51.# Operac!ones $on %ectores "as operaciones que sepuedenreali>arconvectoresduranteel procesoderesoluci'n deunproblema o alguna actividad son:%signaci'n"ectura B escrituraCrdenaci'nD0squeda%ctuali>ar ar en 0# puedes empe>ardesde 1 e ir hasta 10# luego el bucle quedar1a de la siguiente manera: I obviamente todo lo dem&s que corresponde!I 1, 10, 10e1es tener presente &ue, e! incremento #e! 1uc!e 2or no necesariamente es #e 1 en 1, pue#es #e3inir e! incremento #e acuer#o a tus necesi#a#es, aumentan#o o #isminu4en#o)0 1 2 3 4%mbos diagramas de flujo hacen posible mostrar los elementos de las pociones pares del vectorA#ladiferenciaest&enquelasoluci'n1# el segundobuclea los siguientes ejercicios de ambas formas1! :ado el vector 6 de dimensi'n L se pide mostrar los elementos queestas almacenados enlas posiciones m0ltiplos de( empe>andodesde la posici'n ()! :ado el vector M de dimensi'n L se pide mostrar los elementos queestas almacenados enlas posiciones m0ltiplos de* empe>andodesde la posici'n *(! :ado el vector N de dimensi'n L se pide mostrar los elementos queestas almacenados en las posiciones m0ltiplos de + empe>ando desde la posici'n +5InicioI 0, N51,1LeerV[I]LeerNI 0, N51,2/ostrarV[I]2inInicioI 0, N51,1LeerV[I]LeerNI 0, N51,1/ostrarV[I]2inI mo# 260Solucin 1 Solucin 2Aoy a ayudarte en la soluci'n del primer ejercicio# dispondr los diagramas de flujo# dedos tipos de soluciones# te toca colocar las instrucciones!5e aconsejo reali>ar las respectivas pruebas de escritorio!OLo olvides queP El vector tiene un nombreAar la suma de suselementos# obteniendo el resultado en el vector 4102 100 20 10 45 (' 1' (5 45 '2 4'5 125 1 210 1 2 3 4 5 7 ( ' 9 10 11 12 130on#e N6140on#e / 6 10112 225 45 22 70 95 97 '9 55 9( 4'5 125 1 210 1 2 3 4 5 7 ( ' 9 10 11 12 13"a dimensi'n del vector resultado en este caso es 1* es decir L# dimensi'n del vector %# pero puedehaberocurridoqueDtengamayor dimensi'n# porloqueladimensi'nde4ser1a6# estonosconduceaafirmar queparaaveriguar ladimensi'nde4esnecesarioreali>ar unapreguntaa primero# dando lugar al traspasode los elementos del vector de dimensi'n mayor al vector resultante! Empecemos a construir la soluci'n# como es de suponer# el primerpaso a reali>ar escargar los elementos a los vectores# como las dimensiones no son igualesnecesitamos de dos bucles de lectura# uno para el vector % y el otro para D!10 125 25 12 15 1( (' 14 10 150 1 2 3 4 5 7 ( ' 99E;FB B B B. . .6 6 6 6. . .Gar& primero!102 100 20 10 45 (' 1' (5 45 '2 4'5 125 1 210 1 2 3 4 5 7 ( ' 9 10 11 12 13Cbserva que mientras haya elementos en ambos vectores# recorremos los sub1ndices de maneraparalela# es decir el elemento de la posici'n 0ar un recorri#opara!e!o>asta!a #imensi-nmenor en e! caso /Luego tras!a#amos !ose!ementosrestantes#e! "ector; a! "ector F)*+or &uD empe$amos #es#e9B1 4 "amos >asta N51.Imprimiremos !os e!ementos#e F, en este caso es #e#imensi-n N por ser ma4orUnelasdos partesytendr&s eldiagramade flujo completo#4odif1caloPPPEn un vector %# introducir L elementos# a partir de % almacenar en el vector 4# los elementos de %queno serepiten# finalmente desplegar ambos vectores!Ejemplo) 1 ) ( ) 1 * )) 1 ( *:ejo en tus manos el proceso de lectura de datos en el vector %# eso no implicaque dejes de reali>arloOL CC " A @ : E ?S % 4 E 7 " CP5eniendoel vector %conelementoscualesquierayadem&srepetidos# laideaprincipal consisteenllevar estoselementosa4perosinrepetirlos# lasoluci'npropuesta consiste en lo siguiente! %puesto en quecoincidimos en la idea de tomar el primer elemento de % y directamente asignarloen4# puesbienesomismoreali>aremos# perodentrodel bucle# paraaveriguarsi esel primerelementode % debemospreguntarsi @ 30# esdecirsi el sub1ndice@esigual acero# si esas1almacenamos ese primer elemento de % en 4# utili>aremos un sub1ndice W para las posiciones delvector 4# e iniciali>aremos W en 0 fuera del bucle Jor ! T:ime por que es conveniente utili>ar otrosub1ndice para 4# y por qu iniciar su valor en 0 fuera del bucleU"uego el diagrama queda de la siguiente forma:Dien# esto suceder& solo cuando @ 3 0# Tqu haremos cuando @sea diferentea 0UEsevidentequeel siguienteelementoaobtener# enel ejemploesel 1# antesdellevar esteelemento al vector 4# debemos verificar su e8istencia en el mismo! T4'moUEl siguiente elemento es) t o 1an#era en 1 caso contrario mantenemos sMen0) Ene! casosM614paramos !a"eri3icaci-n, e!#iagrama &ue#a #e !a siguiente 3ormaF12I0,N51,1I60F[K] 6 ;[I]K K B1K 0VsM 6 0J 6 0J A6 K51NsM 6 0;[I] 6 F[J]sM6 1 J J B1sM 6 0F[K] ;[I]K K B1J@L/ientras eLista e!ementos en F, 4 e! sM este apaga#oes #ecir sM 6 0, esto permitir rea!i$ar !acomparaci-nentre e! e!emento actua! #e ; con to#os!os e!ementos #e FEncen#emos sM 6 1 siencontramos un e!ementoigua!, este "a!or tam1iDnpermite sa!ir #e! 1uc!e:i no se >a encontra#o un"a!or igua! en F, se a!macenaeste e!emento en !a casi!!acorrespon#iente #e F, 4recorremos una posici-n en F,por e!!oincrementamos Kenuno7eali>a los siguientes ejercicios 1! Enunvector %# introducirLelementos# apartirde % almacenarenel vector 5#elelementoyel n0merodevecesqueserepitenloselementos# finalmentedesplegarambos vectores!Ejemplo) 1 ) ( ) 1 * )

) * 1 ) ( 1 * 1)! :ado el vector 7# llevar todos los elementos primos del vector 7 al vector /)1 1( ) ** ( 1( 11 )0 1( ) ( 1( 11(! :ado un vector % de dimensi'n L ar& un primer recorrido de la tabla comparando pares de elementos contiguos eintercambiando contenidos si es necesario!Primer recorrido, 1+ *0 10 1, )( ),, 1+ *0 10 1, )( ),, 1+ *0 10 1, )( ),@ntercambio, 1+ 12 32 1, )( ),@ntercambio, 1+ 10 14 32 )( ), @ntercambio, 1+ 10 1, #5 32 ),@ntercambio%l finali>ar el recorrido la tabla quedar1a:, 1+ 10 1, )( ), *0En el primer recorrido se han reali>ado intercambios# se vuelve a repetir el proceso# pero ahora conla tabla resultado de la pasada anterior!Segundo recorrido, 1+ 10 1, )( ), *0, 1+ 10 1, )( ), *0@ntercambio, 12 16 1, )( ), *0

, 10 1+ 1, )( ), *0

, 10 1+ 1, )( ), *0 , 10 1+ 1, )( ), *019%l finali>ar el recorrido la tabla quedar1a:, 10 1+ 1, )( ), *0Lote que la tabla ya esta ordenada# sin embargo si ese no fuese el resultado se vuelve a reali>arcomparaciones de pares efectuando los intercambios correspondientes y de esa manera e8istir& n$1recorridos! 7eali>a los diagramas de flujo de los dos anterioresmtodos de ordenaci'n!1! 6todo /or Cbtenci'n ?ucesiva :e 6enores)! 6todo :e "a Durbuja C :el @ntercambioMane1o de D"!tos con vectores?e tiene dos n0meros positivos almacenados en el vector % y D# el vector D contiene un n0mero de un solod1gito y el vector % contiene un n0mero mayor a 100


Top Related