SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
Prof. María Beatriz Serrano V. 1/11
Computación II
Métodos de Búsqueda
Búsqueda Secuencial / Lineal
Esta practica tiene como objetivo principal ejercitar la manipulación de arreglos unidimensionales,
así como también reforzar las técnicas de depuración y el análisis de programas.
BÚSQUEDA SECUENCIAL / LINEAL
El proceso de búsqueda secuencial es una de las operaciones más comunes en la manipulación de
arreglos. Puede definirse como el proceso de determinar el elemento, o su posición, que cumple
una condición, comparando con cada uno de los elementos en forma secuencial. Es el método de
búsqueda recomendado cuando se tiene un arreglo en el cual no se conoce la relación entre sus
elementos, es decir estos están desordenados.
{
Proceso de Búsqueda Secuencial
de VALOR en el arreglo A
}
{ Inicializaciones }
POS := 0;
I := 1;
{ Recorrido del arreglo buscando VALOR }
While ( ( I< = N ) and
( A[ I ] <> VALOR ) ) do
I := I + 1;
{ Determinar si encontró o no }
If I <= N then
POS := I;
QUE SE TIENE:
Para llevar a cabo esta tarea se requiere
de la siguiente información de entrada:
• El arreglo
• La dimensión del arreglo
• La condición: el valor a buscar
QUE SE PIDE:
Determinar La posición POS donde se
encuentra VALOR en el arreglo A.
Note que tiene dos posibles resultados:
• Encontrar VALOR en A
• No encontrar VALOR en A
COMO LOGRARLO:
Para llevar a cabo esta tarea se requiere
de tres pasos:
• Asumir que VALOR no se encuentra
en el arreglo
• Recorrer el arreglo hasta encontrar o
no encontrar VALOR en el arreglo
• Determinar si encontró o no el
VALOR:
• Encuentra VALOR en el arreglo
cuando termina la búsqueda y no
ha terminado de recorrer todo el
arreglo. En este caso POS
almacena la posición donde se
encuentre VALOR en X.
• No encuentra VALOR en el
arreglo, En este caso termina de
recorrer el arreglo. POS
almacena la posición donde se
encuentre VALOR en X.
Quedando POS con el valor cero.
Prof. María Beatriz Serrano V. 2/11
Computación II
Ejemplo de Búsqueda Secuencial: Valor a buscar en el arreglo A: VALOR = 33
Primera iteración: A[1]=1 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=1
Segunda iteración: A[2]=11 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=2
Tercera iteración: A[3]=21 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=3
Cuarta iteración: A[4]=25 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=4
Quinta iteración: A[5]=26 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=5
Sexta iteración: A[6]=33 = VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=6
Note que si el valor NO se encuentra en el arreglo, entonces se recorre todo el arreglo, posición a
posición hasta agotar los elementos. En este caso, siempre se cumple que A[i] <> VALOR.
Búsqueda Binaria
La búsqueda binaria permite buscar valores mas eficientemente que la búsqueda secuencial, sin
embargo, el método requiere que la información sobre la cual se va a buscar este ordenada.
El método se basa en el conocimiento de la información. Al estar ésta ordenada puede descartarse
la mitad que se sabe no es posible que este la información. Veamos algunos ejemplos:
Prof. María Beatriz Serrano V. 3/11
Computación II
EJEMPLO 1: CASO EN QUE NO SE ENCUENTRA EL VALOR
Valor a buscar en el arreglo A: VALOR = 75
Primera iteración: A[m]=59 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=1 m=13 j=25
VALOR > A[m] se descarta la primera mitad
Segunda iteración: A[m]=77 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=14 m=20 j=25
VALOR < A[m] se descarta la segunda mitad
Tercera iteración: A[m]=67 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=14 m=17 j=19
VALOR > A[medio] se descarta la primera mitad
Cuarta iteración: A[m]=72 = VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=18 m=19
j =19
VALOR > A[medio] se descarta la primera mitad
Quinta iteración: A[m]=76 = VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
j=19 i=20
m=19
Termina la búsqueda, VALOR NO se encuentra en posición: m; i > j
Prof. María Beatriz Serrano V. 4/11
Computación II
EJEMPLO 2: CASO EN QUE SE ENCUENTRA EL VALOR
Valor a buscar en el arreglo A: VALOR = 48
Primera iteración: A[m]=59 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=1 m=13 j=25
VALOR < A[m] se descarta la segunda mitad
Segunda iteración: A[m]=38 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=1 m=7 j=12
VALOR > A[m] se descarta la primera mitad
Tercera iteración: A[m]=50 <> VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=8 m=11 j=12
VALOR < A[m] se descarta la segunda mitad
Cuarta iteración: A[m]=48 = VALOR
A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97
i=8 m=10
j=10
Termina la búsqueda, VALOR se encuentra en posición: m
BÚSQUEDA BINARIA: INSTRUCCIONES:
QUE SE TIENE:
Para llevar a cabo esta tarea se requiere
de la siguiente información de entrada:
• El arreglo ORDENADO
• La dimensión del arreglo
• La condición: el valor a buscar
QUE SE PIDE:
Determinar La posición POS donde se
encuentra VALOR en el arreglo X.
Note que tiene dos posibles resultados:
• Encontrar VALOR en X
• No encontrar VALOR en X
Prof. María Beatriz Serrano V. 5/11
Computación II
Algunas Aplicaciones
UNION DE ARREGLOS UNIDIMENSIONALES
BAC ∪=
La unión de dos arreglos se determina generando un nuevo arreglo con los elementos de ambos
arreglos. Esta es una de las aplicaciones que requieren de la búsqueda lineal para la generación del
nuevo arreglo. Es importante destacar que se agregara [insertara al final del arreglo] un valor
siempre y cuando este no exista ya en el arreglo.
Por ejemplo:
Dados los arreglos A y B, para determinar la unión de ambos es necesario generar un nuevo
arreglo, C, con los elementos de ambos arreglos. Nota: el nuevo arreglo, C, no debe contener
elementos repetidos.
Asumiendo que A y B almacenan los elementos que se especifican a continuación y que han sido
declarados y leídos previamente.
A = 10 20 11 56 78 11 95 15 10
B = 10 20 22 56 78 54
El vector unión seria:
C = 10 20 11 56 78 95 15 22 54
{
Proceso de Búsqueda Binaria
de VALOR en el arreglo X
}
{ Inicializaciones }
m := N div 2 + 1;
i := 1;
j := N;
{ Recorrido del arreglo buscando VALOR }
While ( ( A[ m ] <> VALOR ) and ( i <= j )) do
begin
if A[m] > VALOR then
j := m – 1
else
i := m + 1;
m := ( i + j ) div 2 + 1;
end;
{ Determinar si encontró o no }
If A[m] = VALOR then
POS := m;
COMO LOGRARLO:
Para llevar a cabo esta tarea se requiere
de tres pasos:
• Determinar la posición media del
arreglo
• Mientras el elemento en la posición
media sea diferente de VALOR
ejecute:
o Descartar una mitad del
arreglo
o Determinar el nuevo rango:
como la otra mitad
o Determinar el punto medio
del nuevo rango
• Determinar si encuentra o no el
VALOR
• Encuentra VALOR en el arreglo
cuando aborta el proceso de
búsqueda.
• No encuentra VALOR cuando
termina la búsqueda.
Prof. María Beatriz Serrano V. 6/11
Computación II
Para realizar esta tarea es necesario recorrer ambos arreglos y determinar que el elemento a
agregar en el nuevo arreglo NO exista ya en él.
Observe que la dimensión del nuevo arreglo, C, NO es la suma de las dimensiones de los arreglos
procesados, A y B, por lo que se requiere de una variable auxiliar que represente esta dimensión.
Los pasos a seguir para determinar la unión de dos arreglos son:
• Recorrer el primer arreglo
• Buscar que NO esté en C para ser insertado en C
• Recorrer el segundo arreglo
• Buscar que NO esté en C para ser insertado en C
Recuerde que al insertar un valor siempre será al final de C, y que debe actualizar su dimensión.
INTERSECCION DE ARREGLOS UNIDIMENSIONALES
BAC ∩=
La intersección de dos arreglos se determina generando un nuevo arreglo con los elementos
comunes a ambos arreglos. Esta aplicación también requiere la implementación de la búsqueda
lineal para la generación del nuevo arreglo. Es importante destacar que se agregara [insertara al
final del arreglo] un valor siempre y cuando este no exista ya en el arreglo.
Por ejemplo:
Dados los arreglos A y B, para determinar la intersección de ambos es necesario generar un nuevo
arreglo, C, con los elementos comunes a ambos arreglos. Nota: el nuevo arreglo, C, no debe
contener elementos repetidos. Asumiendo que A y B almacenan los elementos que se especifican a
continuación y que han sido declarados y leídos previamente.
A = 10 20 11 56 78 11 95 15 10
B = 10 20 22 56 78 54
El vector intersección seria:
C = 10 20 56 78
Los pasos a seguir para determinar la intersección de dos arreglos son:
• Recorrer el arreglo A
• Buscar el elemento en B
• Si el elemento está en B
o Buscar que NO esté en C para ser insertado.
Observe que la dimensión del nuevo arreglo, C, NO es la suma de las dimensiones de los arreglos
procesados, A y B, por lo que se requiere de una variable auxiliar que represente esta dimensión.
> Believe none of what you hear,
> half of what you see
> and all of what you write
Prof. Manuel R. Fernández R. 7/11
Computación II
Búsqueda
1. Una pareja de novios, pronta a casarse, esta elaborando la lista de invitados para la recepción.
Cada uno tiene su lista de invitados en un archivo de datos, y se desea que Ud. elabore un
programa pascal que procese las listas y al final emita una lista con el nombre de los invitados a
la recepción. NOTA: un invitado no debe aparecer mas de una vez.
2. Una pareja de novios, pronta a casarse, esta elaborando la lista de invitados para la recepción.
El padre de la novia, quien financia la recepción, desea saber quienes son los amigos del novio
que no son amigos de la novia. Cada uno tiene su lista de invitados en un archivo de datos, y
se desea que Ud. elabore un programa pascal que procese las listas y emita el listado deseado
del padre.
3. Una pareja de novios, pronta a casarse, esta elaborando la lista de invitados para la recepción.
Pero a raíz de una pelea sobre “a quien invito y a quien no” se decidió invitar solamente a
aquellos amigos de ambos. Cada uno tiene su lista de invitados en un archivo de datos, y se
desea que Ud. elabore un programa pascal que determine la lista de invitados.
4. Se tiene en dos archivos, DATOS1.DAT y DATOS.DAT, la información correspondiente a los
afiliados a la Tarjeta de Crédito A y a la Tarjeta de Crédito B respectivamente; en cada registro
del archivo: el Nombre (de la columna 1 a la 25) y la Cedula de Identidad (a partir de la
columna 27). Elabore un programa Pascal que lea la información, la almacene en cuatro (4)
vectores y determine e imprima el listado (Nombre y Cedula) de las personas que tienen una
sola tarjeta.
5. Dado un arreglo tipo char que almacena un refrán, elabore un programa que determine cuantas
veces aparece cada vocal.
6. El archivo notas.dat contiene el Nombre, la cédula y la calificación final de los estudiantes de
computación del semestre pasado; por otra parte en el archivo retiro.dat se encuentra la
cédula de los alumnos que retiraron la asignatura después del primer parcial. Elabore un
programa Pascal que :
a) Lea la información de los archivos y guárdelas en vectores o un vector de registros.
b) Elimine los estudiantes que retiraron la asignatura
c) Imprima un listado con el nombre, cédula y nota.
7. Dado un arreglo de N elementos, elabore un programa que ordene el arreglo e imprima el
arreglo ordenado y el valor del índice en el arreglo original al lado de cada elemento.
Ordenado Posición del elemento
en el arreglo original
10 4
20 1
30 8
40 2
50 5
70 7
80 6
90 3
8. Se esta desarrollando un software para procesar palabras, y se tiene en el arreglo A, de M
elementos, todas las letras de un cierto texto; una letra por posición del vector. Elabore el
Diagrama de Flujo de un programa para encontrar una palabra leída y almacenada en el arreglo
X de L elementos. El programa deberá indicar la posición en A[M] donde comienza la palabra
Prof. Manuel R. Fernández R. 8/11
Computación II
X[L]. Si acaso no aparece deberá enviar un mensaje alusivo. A continuación se presenta un
ejemplo:
A = E L N O M B R E P U E D E I R S E G U I D O P O R U
La palabra PUEDE aparece en el arreglo A a partir de la posición 11
9. Dado un archivo de datos contentivo de un vector A de M elementos, el cual está ordenado de
manera ascendente, elaborar un programa PASCAL que realice el proceso de insertar varios
elementos K [leídos de teclado / pantalla] en las posiciones que les corresponda, de manera
que el vector permanezca ordenado.
Vector Original: A = 2 5 9 14 25 28 N = 6
Valores a insertar: 3, 15, 40
Vector Modificado: A = 2 3 5 9 14 15 25 28 37 40 43 N = 11
10.Desarrolle un programa Pascal que a medida que vaya leyendo una serie de valores, los vaya
insertando en un vector (inicialmente sin elementos) de forma tal que lo mantenga ordenado.
Imprima el vector resultante.
Valores Vector
3 (3)
5 (3,5)
-1 (-1,3,5)
4 (-1,3,4,5)
16 (-1,3,4,5,16)
11. Al finalizar la recepción de la boda, el padre de la novia decide regresar a casa caminando. El
camino, desde el lugar de la recepción a su casa esta representado por un arreglo
unidimensional de N elementos ( donde N > 20 ). Un extremo representa la casa del padre de
la novia y el otro extremo el lugar de la recepción. Cada elemento del arreglo representa un
paso del padre de la novia. En vista de que el padre esta algo mareado, el camina hacia
delante y hacia atrás.
Se pide que Ud. desarrolle un programa que simule el trayecto del padre de la novia, teniendo
las siguientes consideraciones:
Ud. comienza a simular la trayectoria una vez que el padre de la novia ha comenzado su
retorno a casa. Para lograr esto comienza a partir de una posición inicial obtenida
aleatoriamente
Cada avance / retroceso se determina según valor aleatorio X entre 0 y N/8 [parte entera], de
la siguiente manera: si C es par avanza X pasos hacia su casa, si X es impar retrocede X pasos.
Es requisito que su programa imprima, a cada avance o retroceso, la trayectoria del padre.
Para lograr esto Ud. podría contar en el camino las veces que el padre paso por ese trayecto.
Recepción 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 casa
Recepción 1 1 2 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 casa
Recepción 1 1 2 3 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 casa
El arreglo represente los pasos dados por el padre: 7 pasos adelante, 4 pasos atrás, y un paso
adelante.
X = P U E D E
Prof. Manuel R. Fernández R. 9/11
Computación II
12.Dado un vector A de N elementos, elabore un programa Pascal que determine cual es el
elemento que más se repite (llamado también MODA).
13.Dado un vector A de N elementos, elabore un programa Pascal que elimine los elementos del
vector A que más se repiten.
14. Dado un vector A de M componentes, desarrollar un programa Pascal que cuente las
componentes del vector que no están repetidas.
Ejemplo:
A = 5 7 4 9 5 2 3 9
Las componentes que no están repetidas son 4
15. Sean dos vectores: A[N] y B[M] cuyos contenidos son respectivamente, las placas de los
automóviles que transitan en un determinado día por una avenida ( A[N] ), y se toman placas
nuevamente veinte días después, B[M]. Desarrolle un programa que determine e imprima:
a) un vector de placas con los carros que pasaron por dicha avenida la segunda vez que se
tomo la información (B[M]) pero no la primera vez (A[N])
b) Porcentaje de vehículos que pasaron ambas veces.
16. Los insectos pertenecientes al Club Los Bichos indican su edad en horas, en la cual no se
conoce el numero de dígitos. Desarrolle un programa que determine en cuantas edades se
cumplen que el primero, central y ultimo de los dígitos son iguales. El digito central en el caso
de que la edad este formada por un numero par de dígitos estará formado por los dos dígitos
centrales.
Insecto 1 5 7 4 9 8 2 3 3
Insecto 2 7 4 9 6 2 1 9
17. Dada las previas de los estudiantes de Computación, en un archivo de datos que contiene
Nombre Cédula y previa, ordenadas alfabéticamente; y la nota del examen final almacenada en
otro archivo que contiene cédula y nota, ordenada por nota, elabore un programa que
determine la definitiva de los estudiantes. Definitiva: 0.6previa + 0.4final.
18. En un archivo de datos se tiene, ordenado por código, el código y el precio de los artículos de
deporte de una tienda. Elabore un programa de consulta para determinar el precio de un
articulo dado. Implemente el método de búsqueda binaria.
19. En tres archivos de datos de nombre Materia1.dat, Materia2.dat, Materia3.dat se tienen los
nombres y cédulas de identidad de los alumnos inscritos en las asignaturas Física I, Funciones
Vectoriales y Ecuaciones Diferenciales. Desarrolle un programa Pascal que haciendo uso de
subprogramas lea el contenido de los archivos almacenándolos en tres vectores de registros y
genere un vector de registros con la información de los estudiantes que están cursando las tres
asignaturas.
N = 8, Valores considerados: 5,9,8,3
5<>9<>8<>3
N = 7, Valores considerados: 7,6,9
7<>6<>9
Prof. Manuel R. Fernández R. 10/11
Computación II
20. a) Desarrolle un subprograma PASCAL que convierta la columna K de la Matriz A[MA,NA] en un
vector V[MA]
b) Desarrolle un subprograma PASCAL que inserte en la fila K de la matriz A[MA,NA] los
elementos de un vector V[NA]. Incluya todos los posibles casos: que K sea 1; que K sea una
valor cualquiera comprendido entre 1 y MA; y que K sea igual a MA+1
c) Haciendo uso de los dos subprogramas anteriores, genere una matriz B[MB,NB] como la
traspuesta de A[MA,NA]
d) Desarrolle un subprograma PASCAL que calcule la posición donde iría un elemento X para
que la columna 1 de A[MA,NA] permanezca ordenada.
e) Desarrolle un programa PASCAL donde dadas las dimensiones M y N de una matriz, realice
las siguientes operaciones:
i) Rellene por filas la matriz B[M,N] con los números enteros positivos y consecutivos
comenzando por 1. Por ejemplo, se M=2 y N=3, sería:
ii) Genere una matriz C[MC,NC] como la traspuesta de B[M,N]
iii) Usando los subprogramas anteriores, genere una matriz BO a partir de C, de la siguiente
manera:
(1) Primera fila de BO, igual a la primera columna de C
(2) Las demás filas serán insertadas o anexadas a la matriz C donde le correspondería
para que el primer elemento de la columna de C, se mantenga ordenado al colocarlo
como primer elemento de la fila de BO que se está insertando.
iv) Imprima las matrices B, C y BO una al lado de la otra.









−
=⇒=










−
−
−
=
6
7
8
2Ksi
0665
2372
4081
VA





⇒=
⇒=
⇒=










−−
−−
=
4esinsercióndeposiciónLa20X
1esinsercióndeposiciónLa-3X
3esinsercióndeposiciónLa4X
si
3668
2370
41081
A






=
654
321
B
Prof. Manuel R. Fernández R. 11/11
Computación II

Más contenido relacionado

La actualidad más candente

Cuadratica yenifervivian
Cuadratica yenifervivianCuadratica yenifervivian
Cuadratica yenifervivianyenifer gerena
 
determinante inversa
determinante inversadeterminante inversa
determinante inversaYanina C.J
 
Funcion cuadraticajj
Funcion cuadraticajjFuncion cuadraticajj
Funcion cuadraticajjgeojacv
 
propiedades de matrices y determinantes
propiedades de  matrices y determinantespropiedades de  matrices y determinantes
propiedades de matrices y determinantesplincoqueoc
 
Determinantes
DeterminantesDeterminantes
Determinantesjcremiro
 
Unidad 2 matrices
Unidad 2 matricesUnidad 2 matrices
Unidad 2 matricesjoder
 
Metodos numericos capitulo 3
Metodos numericos capitulo 3Metodos numericos capitulo 3
Metodos numericos capitulo 3Juan Timoteo Cori
 
Metodos numericos capitulo 2
Metodos numericos capitulo 2Metodos numericos capitulo 2
Metodos numericos capitulo 2Juan Timoteo Cori
 
Aplicaciones de la derivada segunda parte
Aplicaciones de la derivada segunda parteAplicaciones de la derivada segunda parte
Aplicaciones de la derivada segunda parteangiegutierrez11
 
Matrices algebra-lineal
Matrices algebra-linealMatrices algebra-lineal
Matrices algebra-linealAlex Torres
 
Elementos de una función cuadrática
Elementos de una función cuadráticaElementos de una función cuadrática
Elementos de una función cuadráticaprofejmarisel
 
Matrices y determinantes
Matrices y determinantesMatrices y determinantes
Matrices y determinantesjesus rojass
 
Revision de Presaberes Metodos Numericos
Revision de Presaberes Metodos NumericosRevision de Presaberes Metodos Numericos
Revision de Presaberes Metodos NumericosDiego Perdomo
 

La actualidad más candente (20)

Cuadratica yenifervivian
Cuadratica yenifervivianCuadratica yenifervivian
Cuadratica yenifervivian
 
Mod matrices y determinantes
Mod matrices y determinantesMod matrices y determinantes
Mod matrices y determinantes
 
Matriz inversa
Matriz inversaMatriz inversa
Matriz inversa
 
Matrices y determinantes
Matrices y determinantesMatrices y determinantes
Matrices y determinantes
 
determinante inversa
determinante inversadeterminante inversa
determinante inversa
 
Funcion cuadraticajj
Funcion cuadraticajjFuncion cuadraticajj
Funcion cuadraticajj
 
propiedades de matrices y determinantes
propiedades de  matrices y determinantespropiedades de  matrices y determinantes
propiedades de matrices y determinantes
 
Determinantes
DeterminantesDeterminantes
Determinantes
 
gráficas lineales
gráficas linealesgráficas lineales
gráficas lineales
 
Función racional
Función racionalFunción racional
Función racional
 
Unidad 2 matrices
Unidad 2 matricesUnidad 2 matrices
Unidad 2 matrices
 
Metodos numericos capitulo 3
Metodos numericos capitulo 3Metodos numericos capitulo 3
Metodos numericos capitulo 3
 
Metodos numericos capitulo 2
Metodos numericos capitulo 2Metodos numericos capitulo 2
Metodos numericos capitulo 2
 
Aplicaciones de la derivada segunda parte
Aplicaciones de la derivada segunda parteAplicaciones de la derivada segunda parte
Aplicaciones de la derivada segunda parte
 
Matrices algebra-lineal
Matrices algebra-linealMatrices algebra-lineal
Matrices algebra-lineal
 
Ud 1 matrices
Ud 1 matricesUd 1 matrices
Ud 1 matrices
 
Elementos de una función cuadrática
Elementos de una función cuadráticaElementos de una función cuadrática
Elementos de una función cuadrática
 
Matrices
MatricesMatrices
Matrices
 
Matrices y determinantes
Matrices y determinantesMatrices y determinantes
Matrices y determinantes
 
Revision de Presaberes Metodos Numericos
Revision de Presaberes Metodos NumericosRevision de Presaberes Metodos Numericos
Revision de Presaberes Metodos Numericos
 

Destacado

Presentacion de prazi
Presentacion de praziPresentacion de prazi
Presentacion de praziANITA2405
 
Laura andreina. presentacion psicologia
Laura andreina. presentacion psicologiaLaura andreina. presentacion psicologia
Laura andreina. presentacion psicologialsanchezt93
 
Presentación , protocolo
Presentación , protocoloPresentación , protocolo
Presentación , protocolomillisenanaya
 
Herramientas digitales para la educacion
Herramientas digitales para la educacionHerramientas digitales para la educacion
Herramientas digitales para la educacionalejandraeliza28
 
Institución educativa «santa isabel»
Institución educativa «santa isabel»Institución educativa «santa isabel»
Institución educativa «santa isabel»cabalnu
 
Boletin de prensa navidad 2014
Boletin de prensa  navidad 2014Boletin de prensa  navidad 2014
Boletin de prensa navidad 2014Diana Patricia
 
565555
565555565555
565555120746
 
Ingles
InglesIngles
Ingleshitan
 
El rito en los tribunales de justicia (relatoria 1)
El rito en los tribunales de justicia (relatoria 1)El rito en los tribunales de justicia (relatoria 1)
El rito en los tribunales de justicia (relatoria 1)juancamilocamargo122
 
Diapositivas informatica
Diapositivas informaticaDiapositivas informatica
Diapositivas informaticaDamavargas
 
Biodiversidad reconocimiento
Biodiversidad reconocimientoBiodiversidad reconocimiento
Biodiversidad reconocimientoStella Soto
 
Las marcas más compradas
Las marcas más compradasLas marcas más compradas
Las marcas más compradasHumbertoRBravoZ
 

Destacado (20)

Presentacion de prazi
Presentacion de praziPresentacion de prazi
Presentacion de prazi
 
Fabianramirez henao fa bi
Fabianramirez henao fa biFabianramirez henao fa bi
Fabianramirez henao fa bi
 
Body
BodyBody
Body
 
Laura andreina. presentacion psicologia
Laura andreina. presentacion psicologiaLaura andreina. presentacion psicologia
Laura andreina. presentacion psicologia
 
Yese amor
Yese amorYese amor
Yese amor
 
Presentación , protocolo
Presentación , protocoloPresentación , protocolo
Presentación , protocolo
 
Herramientas digitales para la educacion
Herramientas digitales para la educacionHerramientas digitales para la educacion
Herramientas digitales para la educacion
 
Institución educativa «santa isabel»
Institución educativa «santa isabel»Institución educativa «santa isabel»
Institución educativa «santa isabel»
 
PPP
PPPPPP
PPP
 
Boletin de prensa navidad 2014
Boletin de prensa  navidad 2014Boletin de prensa  navidad 2014
Boletin de prensa navidad 2014
 
sistemas esbeltos
sistemas esbeltossistemas esbeltos
sistemas esbeltos
 
El reloj
El relojEl reloj
El reloj
 
565555
565555565555
565555
 
Primeros auxilios
 Primeros auxilios Primeros auxilios
Primeros auxilios
 
Ingles
InglesIngles
Ingles
 
El rito en los tribunales de justicia (relatoria 1)
El rito en los tribunales de justicia (relatoria 1)El rito en los tribunales de justicia (relatoria 1)
El rito en los tribunales de justicia (relatoria 1)
 
Guia docentes
Guia docentesGuia docentes
Guia docentes
 
Diapositivas informatica
Diapositivas informaticaDiapositivas informatica
Diapositivas informatica
 
Biodiversidad reconocimiento
Biodiversidad reconocimientoBiodiversidad reconocimiento
Biodiversidad reconocimiento
 
Las marcas más compradas
Las marcas más compradasLas marcas más compradas
Las marcas más compradas
 

Similar a Lista invitados boda

Similar a Lista invitados boda (20)

Matlab 2 Capitulo 5
Matlab 2 Capitulo 5Matlab 2 Capitulo 5
Matlab 2 Capitulo 5
 
Distribución de los recursos
Distribución de los recursosDistribución de los recursos
Distribución de los recursos
 
Producto y Propiedades de Matrices
Producto y Propiedades de MatricesProducto y Propiedades de Matrices
Producto y Propiedades de Matrices
 
Producto Matrices
Producto MatricesProducto Matrices
Producto Matrices
 
Proceso estadístico
Proceso estadísticoProceso estadístico
Proceso estadístico
 
Proceso estadístico
Proceso estadísticoProceso estadístico
Proceso estadístico
 
Proceso estadístico
Proceso estadísticoProceso estadístico
Proceso estadístico
 
Proceso estadístico-rigo
Proceso estadístico-rigoProceso estadístico-rigo
Proceso estadístico-rigo
 
Proceso estadístico
Proceso estadísticoProceso estadístico
Proceso estadístico
 
Actividad3.5 equipo4completa
Actividad3.5 equipo4completaActividad3.5 equipo4completa
Actividad3.5 equipo4completa
 
Actividad 3.5 equipo 4 método simplex
Actividad 3.5 equipo 4 método simplexActividad 3.5 equipo 4 método simplex
Actividad 3.5 equipo 4 método simplex
 
Proceso estadístico
Proceso estadísticoProceso estadístico
Proceso estadístico
 
Proceso estadístico
Proceso estadísticoProceso estadístico
Proceso estadístico
 
Proceso estadístico
Proceso estadísticoProceso estadístico
Proceso estadístico
 
Proceso estadístico
Proceso estadísticoProceso estadístico
Proceso estadístico
 
Proceso estadístico
Proceso estadísticoProceso estadístico
Proceso estadístico
 
Proceso estadístico blanca bixcul
Proceso estadístico blanca bixculProceso estadístico blanca bixcul
Proceso estadístico blanca bixcul
 
Proceso Estadístico
Proceso EstadísticoProceso Estadístico
Proceso Estadístico
 
Proceso estadístico
Proceso estadísticoProceso estadístico
Proceso estadístico
 
Proceso estadístico
Proceso estadístico Proceso estadístico
Proceso estadístico
 

Último

origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 

Último (20)

origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 

Lista invitados boda

  • 1. Prof. María Beatriz Serrano V. 1/11 Computación II Métodos de Búsqueda Búsqueda Secuencial / Lineal Esta practica tiene como objetivo principal ejercitar la manipulación de arreglos unidimensionales, así como también reforzar las técnicas de depuración y el análisis de programas. BÚSQUEDA SECUENCIAL / LINEAL El proceso de búsqueda secuencial es una de las operaciones más comunes en la manipulación de arreglos. Puede definirse como el proceso de determinar el elemento, o su posición, que cumple una condición, comparando con cada uno de los elementos en forma secuencial. Es el método de búsqueda recomendado cuando se tiene un arreglo en el cual no se conoce la relación entre sus elementos, es decir estos están desordenados. { Proceso de Búsqueda Secuencial de VALOR en el arreglo A } { Inicializaciones } POS := 0; I := 1; { Recorrido del arreglo buscando VALOR } While ( ( I< = N ) and ( A[ I ] <> VALOR ) ) do I := I + 1; { Determinar si encontró o no } If I <= N then POS := I; QUE SE TIENE: Para llevar a cabo esta tarea se requiere de la siguiente información de entrada: • El arreglo • La dimensión del arreglo • La condición: el valor a buscar QUE SE PIDE: Determinar La posición POS donde se encuentra VALOR en el arreglo A. Note que tiene dos posibles resultados: • Encontrar VALOR en A • No encontrar VALOR en A COMO LOGRARLO: Para llevar a cabo esta tarea se requiere de tres pasos: • Asumir que VALOR no se encuentra en el arreglo • Recorrer el arreglo hasta encontrar o no encontrar VALOR en el arreglo • Determinar si encontró o no el VALOR: • Encuentra VALOR en el arreglo cuando termina la búsqueda y no ha terminado de recorrer todo el arreglo. En este caso POS almacena la posición donde se encuentre VALOR en X. • No encuentra VALOR en el arreglo, En este caso termina de recorrer el arreglo. POS almacena la posición donde se encuentre VALOR en X. Quedando POS con el valor cero.
  • 2. Prof. María Beatriz Serrano V. 2/11 Computación II Ejemplo de Búsqueda Secuencial: Valor a buscar en el arreglo A: VALOR = 33 Primera iteración: A[1]=1 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=1 Segunda iteración: A[2]=11 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=2 Tercera iteración: A[3]=21 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=3 Cuarta iteración: A[4]=25 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=4 Quinta iteración: A[5]=26 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=5 Sexta iteración: A[6]=33 = VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=6 Note que si el valor NO se encuentra en el arreglo, entonces se recorre todo el arreglo, posición a posición hasta agotar los elementos. En este caso, siempre se cumple que A[i] <> VALOR. Búsqueda Binaria La búsqueda binaria permite buscar valores mas eficientemente que la búsqueda secuencial, sin embargo, el método requiere que la información sobre la cual se va a buscar este ordenada. El método se basa en el conocimiento de la información. Al estar ésta ordenada puede descartarse la mitad que se sabe no es posible que este la información. Veamos algunos ejemplos:
  • 3. Prof. María Beatriz Serrano V. 3/11 Computación II EJEMPLO 1: CASO EN QUE NO SE ENCUENTRA EL VALOR Valor a buscar en el arreglo A: VALOR = 75 Primera iteración: A[m]=59 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=1 m=13 j=25 VALOR > A[m] se descarta la primera mitad Segunda iteración: A[m]=77 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=14 m=20 j=25 VALOR < A[m] se descarta la segunda mitad Tercera iteración: A[m]=67 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=14 m=17 j=19 VALOR > A[medio] se descarta la primera mitad Cuarta iteración: A[m]=72 = VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=18 m=19 j =19 VALOR > A[medio] se descarta la primera mitad Quinta iteración: A[m]=76 = VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 j=19 i=20 m=19 Termina la búsqueda, VALOR NO se encuentra en posición: m; i > j
  • 4. Prof. María Beatriz Serrano V. 4/11 Computación II EJEMPLO 2: CASO EN QUE SE ENCUENTRA EL VALOR Valor a buscar en el arreglo A: VALOR = 48 Primera iteración: A[m]=59 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=1 m=13 j=25 VALOR < A[m] se descarta la segunda mitad Segunda iteración: A[m]=38 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=1 m=7 j=12 VALOR > A[m] se descarta la primera mitad Tercera iteración: A[m]=50 <> VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=8 m=11 j=12 VALOR < A[m] se descarta la segunda mitad Cuarta iteración: A[m]=48 = VALOR A = 1 11 21 25 26 33 38 40 42 48 50 56 59 60 62 64 67 72 76 77 86 88 92 94 97 i=8 m=10 j=10 Termina la búsqueda, VALOR se encuentra en posición: m BÚSQUEDA BINARIA: INSTRUCCIONES: QUE SE TIENE: Para llevar a cabo esta tarea se requiere de la siguiente información de entrada: • El arreglo ORDENADO • La dimensión del arreglo • La condición: el valor a buscar QUE SE PIDE: Determinar La posición POS donde se encuentra VALOR en el arreglo X. Note que tiene dos posibles resultados: • Encontrar VALOR en X • No encontrar VALOR en X
  • 5. Prof. María Beatriz Serrano V. 5/11 Computación II Algunas Aplicaciones UNION DE ARREGLOS UNIDIMENSIONALES BAC ∪= La unión de dos arreglos se determina generando un nuevo arreglo con los elementos de ambos arreglos. Esta es una de las aplicaciones que requieren de la búsqueda lineal para la generación del nuevo arreglo. Es importante destacar que se agregara [insertara al final del arreglo] un valor siempre y cuando este no exista ya en el arreglo. Por ejemplo: Dados los arreglos A y B, para determinar la unión de ambos es necesario generar un nuevo arreglo, C, con los elementos de ambos arreglos. Nota: el nuevo arreglo, C, no debe contener elementos repetidos. Asumiendo que A y B almacenan los elementos que se especifican a continuación y que han sido declarados y leídos previamente. A = 10 20 11 56 78 11 95 15 10 B = 10 20 22 56 78 54 El vector unión seria: C = 10 20 11 56 78 95 15 22 54 { Proceso de Búsqueda Binaria de VALOR en el arreglo X } { Inicializaciones } m := N div 2 + 1; i := 1; j := N; { Recorrido del arreglo buscando VALOR } While ( ( A[ m ] <> VALOR ) and ( i <= j )) do begin if A[m] > VALOR then j := m – 1 else i := m + 1; m := ( i + j ) div 2 + 1; end; { Determinar si encontró o no } If A[m] = VALOR then POS := m; COMO LOGRARLO: Para llevar a cabo esta tarea se requiere de tres pasos: • Determinar la posición media del arreglo • Mientras el elemento en la posición media sea diferente de VALOR ejecute: o Descartar una mitad del arreglo o Determinar el nuevo rango: como la otra mitad o Determinar el punto medio del nuevo rango • Determinar si encuentra o no el VALOR • Encuentra VALOR en el arreglo cuando aborta el proceso de búsqueda. • No encuentra VALOR cuando termina la búsqueda.
  • 6. Prof. María Beatriz Serrano V. 6/11 Computación II Para realizar esta tarea es necesario recorrer ambos arreglos y determinar que el elemento a agregar en el nuevo arreglo NO exista ya en él. Observe que la dimensión del nuevo arreglo, C, NO es la suma de las dimensiones de los arreglos procesados, A y B, por lo que se requiere de una variable auxiliar que represente esta dimensión. Los pasos a seguir para determinar la unión de dos arreglos son: • Recorrer el primer arreglo • Buscar que NO esté en C para ser insertado en C • Recorrer el segundo arreglo • Buscar que NO esté en C para ser insertado en C Recuerde que al insertar un valor siempre será al final de C, y que debe actualizar su dimensión. INTERSECCION DE ARREGLOS UNIDIMENSIONALES BAC ∩= La intersección de dos arreglos se determina generando un nuevo arreglo con los elementos comunes a ambos arreglos. Esta aplicación también requiere la implementación de la búsqueda lineal para la generación del nuevo arreglo. Es importante destacar que se agregara [insertara al final del arreglo] un valor siempre y cuando este no exista ya en el arreglo. Por ejemplo: Dados los arreglos A y B, para determinar la intersección de ambos es necesario generar un nuevo arreglo, C, con los elementos comunes a ambos arreglos. Nota: el nuevo arreglo, C, no debe contener elementos repetidos. Asumiendo que A y B almacenan los elementos que se especifican a continuación y que han sido declarados y leídos previamente. A = 10 20 11 56 78 11 95 15 10 B = 10 20 22 56 78 54 El vector intersección seria: C = 10 20 56 78 Los pasos a seguir para determinar la intersección de dos arreglos son: • Recorrer el arreglo A • Buscar el elemento en B • Si el elemento está en B o Buscar que NO esté en C para ser insertado. Observe que la dimensión del nuevo arreglo, C, NO es la suma de las dimensiones de los arreglos procesados, A y B, por lo que se requiere de una variable auxiliar que represente esta dimensión. > Believe none of what you hear, > half of what you see > and all of what you write
  • 7. Prof. Manuel R. Fernández R. 7/11 Computación II Búsqueda 1. Una pareja de novios, pronta a casarse, esta elaborando la lista de invitados para la recepción. Cada uno tiene su lista de invitados en un archivo de datos, y se desea que Ud. elabore un programa pascal que procese las listas y al final emita una lista con el nombre de los invitados a la recepción. NOTA: un invitado no debe aparecer mas de una vez. 2. Una pareja de novios, pronta a casarse, esta elaborando la lista de invitados para la recepción. El padre de la novia, quien financia la recepción, desea saber quienes son los amigos del novio que no son amigos de la novia. Cada uno tiene su lista de invitados en un archivo de datos, y se desea que Ud. elabore un programa pascal que procese las listas y emita el listado deseado del padre. 3. Una pareja de novios, pronta a casarse, esta elaborando la lista de invitados para la recepción. Pero a raíz de una pelea sobre “a quien invito y a quien no” se decidió invitar solamente a aquellos amigos de ambos. Cada uno tiene su lista de invitados en un archivo de datos, y se desea que Ud. elabore un programa pascal que determine la lista de invitados. 4. Se tiene en dos archivos, DATOS1.DAT y DATOS.DAT, la información correspondiente a los afiliados a la Tarjeta de Crédito A y a la Tarjeta de Crédito B respectivamente; en cada registro del archivo: el Nombre (de la columna 1 a la 25) y la Cedula de Identidad (a partir de la columna 27). Elabore un programa Pascal que lea la información, la almacene en cuatro (4) vectores y determine e imprima el listado (Nombre y Cedula) de las personas que tienen una sola tarjeta. 5. Dado un arreglo tipo char que almacena un refrán, elabore un programa que determine cuantas veces aparece cada vocal. 6. El archivo notas.dat contiene el Nombre, la cédula y la calificación final de los estudiantes de computación del semestre pasado; por otra parte en el archivo retiro.dat se encuentra la cédula de los alumnos que retiraron la asignatura después del primer parcial. Elabore un programa Pascal que : a) Lea la información de los archivos y guárdelas en vectores o un vector de registros. b) Elimine los estudiantes que retiraron la asignatura c) Imprima un listado con el nombre, cédula y nota. 7. Dado un arreglo de N elementos, elabore un programa que ordene el arreglo e imprima el arreglo ordenado y el valor del índice en el arreglo original al lado de cada elemento. Ordenado Posición del elemento en el arreglo original 10 4 20 1 30 8 40 2 50 5 70 7 80 6 90 3 8. Se esta desarrollando un software para procesar palabras, y se tiene en el arreglo A, de M elementos, todas las letras de un cierto texto; una letra por posición del vector. Elabore el Diagrama de Flujo de un programa para encontrar una palabra leída y almacenada en el arreglo X de L elementos. El programa deberá indicar la posición en A[M] donde comienza la palabra
  • 8. Prof. Manuel R. Fernández R. 8/11 Computación II X[L]. Si acaso no aparece deberá enviar un mensaje alusivo. A continuación se presenta un ejemplo: A = E L N O M B R E P U E D E I R S E G U I D O P O R U La palabra PUEDE aparece en el arreglo A a partir de la posición 11 9. Dado un archivo de datos contentivo de un vector A de M elementos, el cual está ordenado de manera ascendente, elaborar un programa PASCAL que realice el proceso de insertar varios elementos K [leídos de teclado / pantalla] en las posiciones que les corresponda, de manera que el vector permanezca ordenado. Vector Original: A = 2 5 9 14 25 28 N = 6 Valores a insertar: 3, 15, 40 Vector Modificado: A = 2 3 5 9 14 15 25 28 37 40 43 N = 11 10.Desarrolle un programa Pascal que a medida que vaya leyendo una serie de valores, los vaya insertando en un vector (inicialmente sin elementos) de forma tal que lo mantenga ordenado. Imprima el vector resultante. Valores Vector 3 (3) 5 (3,5) -1 (-1,3,5) 4 (-1,3,4,5) 16 (-1,3,4,5,16) 11. Al finalizar la recepción de la boda, el padre de la novia decide regresar a casa caminando. El camino, desde el lugar de la recepción a su casa esta representado por un arreglo unidimensional de N elementos ( donde N > 20 ). Un extremo representa la casa del padre de la novia y el otro extremo el lugar de la recepción. Cada elemento del arreglo representa un paso del padre de la novia. En vista de que el padre esta algo mareado, el camina hacia delante y hacia atrás. Se pide que Ud. desarrolle un programa que simule el trayecto del padre de la novia, teniendo las siguientes consideraciones: Ud. comienza a simular la trayectoria una vez que el padre de la novia ha comenzado su retorno a casa. Para lograr esto comienza a partir de una posición inicial obtenida aleatoriamente Cada avance / retroceso se determina según valor aleatorio X entre 0 y N/8 [parte entera], de la siguiente manera: si C es par avanza X pasos hacia su casa, si X es impar retrocede X pasos. Es requisito que su programa imprima, a cada avance o retroceso, la trayectoria del padre. Para lograr esto Ud. podría contar en el camino las veces que el padre paso por ese trayecto. Recepción 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 casa Recepción 1 1 2 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 casa Recepción 1 1 2 3 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 casa El arreglo represente los pasos dados por el padre: 7 pasos adelante, 4 pasos atrás, y un paso adelante. X = P U E D E
  • 9. Prof. Manuel R. Fernández R. 9/11 Computación II 12.Dado un vector A de N elementos, elabore un programa Pascal que determine cual es el elemento que más se repite (llamado también MODA). 13.Dado un vector A de N elementos, elabore un programa Pascal que elimine los elementos del vector A que más se repiten. 14. Dado un vector A de M componentes, desarrollar un programa Pascal que cuente las componentes del vector que no están repetidas. Ejemplo: A = 5 7 4 9 5 2 3 9 Las componentes que no están repetidas son 4 15. Sean dos vectores: A[N] y B[M] cuyos contenidos son respectivamente, las placas de los automóviles que transitan en un determinado día por una avenida ( A[N] ), y se toman placas nuevamente veinte días después, B[M]. Desarrolle un programa que determine e imprima: a) un vector de placas con los carros que pasaron por dicha avenida la segunda vez que se tomo la información (B[M]) pero no la primera vez (A[N]) b) Porcentaje de vehículos que pasaron ambas veces. 16. Los insectos pertenecientes al Club Los Bichos indican su edad en horas, en la cual no se conoce el numero de dígitos. Desarrolle un programa que determine en cuantas edades se cumplen que el primero, central y ultimo de los dígitos son iguales. El digito central en el caso de que la edad este formada por un numero par de dígitos estará formado por los dos dígitos centrales. Insecto 1 5 7 4 9 8 2 3 3 Insecto 2 7 4 9 6 2 1 9 17. Dada las previas de los estudiantes de Computación, en un archivo de datos que contiene Nombre Cédula y previa, ordenadas alfabéticamente; y la nota del examen final almacenada en otro archivo que contiene cédula y nota, ordenada por nota, elabore un programa que determine la definitiva de los estudiantes. Definitiva: 0.6previa + 0.4final. 18. En un archivo de datos se tiene, ordenado por código, el código y el precio de los artículos de deporte de una tienda. Elabore un programa de consulta para determinar el precio de un articulo dado. Implemente el método de búsqueda binaria. 19. En tres archivos de datos de nombre Materia1.dat, Materia2.dat, Materia3.dat se tienen los nombres y cédulas de identidad de los alumnos inscritos en las asignaturas Física I, Funciones Vectoriales y Ecuaciones Diferenciales. Desarrolle un programa Pascal que haciendo uso de subprogramas lea el contenido de los archivos almacenándolos en tres vectores de registros y genere un vector de registros con la información de los estudiantes que están cursando las tres asignaturas. N = 8, Valores considerados: 5,9,8,3 5<>9<>8<>3 N = 7, Valores considerados: 7,6,9 7<>6<>9
  • 10. Prof. Manuel R. Fernández R. 10/11 Computación II 20. a) Desarrolle un subprograma PASCAL que convierta la columna K de la Matriz A[MA,NA] en un vector V[MA] b) Desarrolle un subprograma PASCAL que inserte en la fila K de la matriz A[MA,NA] los elementos de un vector V[NA]. Incluya todos los posibles casos: que K sea 1; que K sea una valor cualquiera comprendido entre 1 y MA; y que K sea igual a MA+1 c) Haciendo uso de los dos subprogramas anteriores, genere una matriz B[MB,NB] como la traspuesta de A[MA,NA] d) Desarrolle un subprograma PASCAL que calcule la posición donde iría un elemento X para que la columna 1 de A[MA,NA] permanezca ordenada. e) Desarrolle un programa PASCAL donde dadas las dimensiones M y N de una matriz, realice las siguientes operaciones: i) Rellene por filas la matriz B[M,N] con los números enteros positivos y consecutivos comenzando por 1. Por ejemplo, se M=2 y N=3, sería: ii) Genere una matriz C[MC,NC] como la traspuesta de B[M,N] iii) Usando los subprogramas anteriores, genere una matriz BO a partir de C, de la siguiente manera: (1) Primera fila de BO, igual a la primera columna de C (2) Las demás filas serán insertadas o anexadas a la matriz C donde le correspondería para que el primer elemento de la columna de C, se mantenga ordenado al colocarlo como primer elemento de la fila de BO que se está insertando. iv) Imprima las matrices B, C y BO una al lado de la otra.          − =⇒=           − − − = 6 7 8 2Ksi 0665 2372 4081 VA      ⇒= ⇒= ⇒=           −− −− = 4esinsercióndeposiciónLa20X 1esinsercióndeposiciónLa-3X 3esinsercióndeposiciónLa4X si 3668 2370 41081 A       = 654 321 B
  • 11. Prof. Manuel R. Fernández R. 11/11 Computación II