Arreglos y Vectores

download Arreglos y Vectores

of 13

description

Ejemplos y ejercicios con Diagrama de flujos de Arreglos y Vectores.

Transcript of Arreglos y Vectores

Ejercicio 01Bsqueda SecuencialLa bsqueda secuencial consiste en revisar todos (uno por uno) los elementos de un arreglo, hasta encontrar aquel que es buscado.Por ejemplo dado el siguiente arreglo:57911152332

Si busco el 15, consulto todos los elementos hasta encontrarlo y averiguando as posicin.Si busco el 20, se revisan todos los elementos y al final debera recibir un mensaje que indique que dicho elemento no se encuentra.Lo bueno de la bsqueda secuencial es que no requiere que el conjunto est previamente ordenado, pero como debe revisar todos los elementos se torna muy lenta.A continuacin se muestra el diagrama de flujo de Bsqueda Binaria suponiendo que buscamos el valor T dentro del arreglo X[ ]:

Ejercicio 02En un fichero tenemos las notas de un grupo de alumnos de una clase en un arreglo Nota(1), Nota(2), ..., Nota(n 1), establecidas entre 0 y 10. El ltimo dato es una seal con valor 50. Se desea desarrollar el pseudocdigo y diagrama de flujo para un programa que determine la nota media.Solucin1. Inicio 2. i = 1, Suma=03. Leer Nota(i)4. Mientras Nota(i) >= 0 HacerSuma = Suma + Nota(i)i = i + 1Leer Nota(i)Repetir5. Media = Suma / (i 1)6. Mostrar La nota media de la clase es, Media7. Fin

Ejercicio 03Bsqueda Binaria1359111220223032333557

La bsqueda binaria consiste en localizar el trmino buscado comparndolo con la mediana del conjunto de elementos previamente ordenados, reduciendo as sucesivamente el intervalo de bsqueda.Ejemplo, dado el siguiente vector: Suponiendo que buscamos el 5, efectuaremos los siguientes pasos:1. Determinamos la mediana entre todos los elementos, en este caso el 202. nos preguntamos si 5 menor igual a 203. como 5 es menor que 20 reducimos el intervalo de bsqueda a los 6 primeros nmeros4. determinamos la nueva mediana, en este caso 95. nos preguntamos si 5 menor igual a 96. como 5 es menor que 9 reducimos el intervalo de bsqueda a los 3 primeros nmeros7. determinamos la nueva mediana, en este caso 38. nos preguntamos si 5 menor igual a 39. como 5 no es menor que 3 reducimos el intervalo de bsqueda a los nmeros mayores que 3 y menores que 9, en este caso abarcamos un intervalo de un elemento, que l es 510. determinamos la nueva mediana de este intervalo, en este caso 511. nos preguntamos si 5 menor igual a 512. como 5 es igual a 5, hemos terminado nuestra bsquedaA continuacin se muestra el diagrama de flujo de Bsqueda Binaria suponiendo que buscamos el valor Valor dentro del arreglo X[ ]:Diagrama de Flujo

Ejercicio 04Mtodo BurbujaEste mtodo consiste permite ordenar de menor a mayor (o de menor a mayor) una serie de nmeros cualquiera. El mtodo va comparando pares de nmeros.Ejemplo:arreglo original75325accin

paso 157325compara el 7 con 5 y los intercambia

53725compara el 7 con 3 y los intercambia

53725compara el 7 con 25 y no los intercambia

paso 235725compara el 3 con 5 y los intercambia

35725compara el 5 con 7 y no los intercambia

35725compara el 7 con 25 y no los intercambia

paso 335725compara el 3 con 5 y no los intercambia

35725compara el 5 con 7 y no los intercambia

35725compara el 7 con 25 y no los intercambia

Pseudocdigo del mtodo burbuja1.- inicio2.- reservar espacio en la memoria3.- Leer secuencia4.- para (i=1,...,N-1) hacer5.-para (j=1,...,N-1) hacer6.-comparar X[i] con X[i+1] y ordenar7.-fin para8.- fin para9.- imprimir secuencia de nmeros ordenados10.- fin2 refinamiento1.- inicio2.- reservar espacio en la memoria3.- Leer secuencia4.- para (i=1,...,N-1) hacer5.-para (j=1,...,N-1) hacer6.-si X[i] > X[i+1] entonces7.-permutar X[i] con X[i+1]8.-fin si9.-fin para10.- fin para11.- imprimir secuencia de nmeros ordenados12.- fin3errefinamiento1.- inicio2.- reservar espacio en la memoria3.- Leer secuencia4.- para (i=1,...,N-1) hacer5.-para (j=1,...,N-1) hacer6.-si X[i] > X[i+1] entonces7.-AUX=X[i];8.-X[i]=X[i+1];9.-X[i+1]=AUX;10.-fin si11.-fin para12.- fin para13.- imprimir secuencia de nmeros ordenados14.- finEl mtodo burbuja es simple de implementar, pero es muy lento, por lo cual es slo adecuado para pequeos conjuntos de nmeros.N de operaciones menor o igual a (N-1)(N-1)(1+3)(el 3 es por las 3 asignaciones para permutar)O sea N de operaciones menor o igual a 4(N-1)2Por ejemplo, para ordenar 10 nmeros:N de operaciones menor igual que 4 x 92= 324Si poseemos un PC que trabaje a 400MHz,==> 1 operacin = 1/(4 x 108) segundosPor lo tanto, para ejecutar las 324 operaciones necesitamos:324/(4 x 108) segundos = 8.1 x 10-7segundosOtro ejemplo, para ordenar 1000 nmeros:N de operaciones menor igual que 4 x 9992= 3992004Si utilizamos el mismo PC:3992004/(4 x 108) segundos = 9.98 x 10-3segundosSupongamos que queremos ordenar los DNI de los aproximadamente 18 millones de PeruanosN de operaciones menor igual que 4 x (18 x 106)2= 1.296 x 1015Si utilizamos el mismo PC:(1.296 x 1015)/(4 x 108) segundos = 3240000 segundos((3240000/60)/60)/24 = 37.5 das.

Diagrama de Flujo. Mtodo de ordenamiento La Burbujan= Cantidad de datos, i=posicin del arreglo, V[i]=Vector

Ejercicio 05Llenar un vector (arreglo unidimensional) con 10 valores enteros y determinar cuntos de ellos son positivos, cuantos negativos.Algoritmo para determinar nmeros positivos y negativosProceso num_posDimension a[200]cont=0neg=0Escribir 'Digite el tamao del arreglo:'Leer c;Para i=1 Hasta c Con Paso 1 HacerEscribir 'Digite Numero posicin: ',iLeer a[i]FinParaPara i=1 Hasta c Con Paso 1 HacerSi a[i]>0 Entoncescont=cont+ 1;Fin SiFinParaneg=c-cont;Escribir 'Existen ',cont,' nmeros positivos y ',neg,' negativos.'

FinProceso

Diagrama de Flujo