Está en la página 1de 2

1 //*****************************************************************************************

******
2 //******************************** ZONA DE DECLARACION DE FUNCIONES
*****************************
3 //*****************************************************************************************
******
4
5 //********************************************
6 // Subprograma que busca un elemento en un vector
7 // utilizando el metodo de busqueda secuencial
8 //********************************************
9 Funcion buscar_secuencial(arreglo, N, elemento, indiceElemento Por Referencia)
10 Definir i Como Real;
11 Definir encontrado como Logico;
12
13 // inicializamos
14 i = 0;
15 encontrado = Falso;
16
17 // realizamos la busqueda del elemento dentro del vector
18 // si encontramos el elemento guardamos el indice y nos
19 // salimos del ciclo. Si el elemento no existe en el vector
20 // entonces indiceElemento contendra -1.
21 Mientras (i < N y no(encontrado)) Hacer
22 Si (arreglo[i] == elemento) Entonces
23 encontrado = Verdadero;
24 indiceElemento = i;
25 FinSi
26 i = i + 1;
27 FinMientras
28 FinFuncion
29
30 //********************************************
31 // Subprograma que imprime un vector
32 //********************************************
33 Funcion imprimir_vector(arreglo, N)
34 Definir index como Real;
35
36 index = 1;
37 Para index = 0 Hasta N - 1 Hacer
38 Escribir arreglo[index] Sin Saltar;
39 Escribir " " Sin Saltar;
40 FinPara
41 FinFuncion
42
43 //*****************************************************************************************
*******
44 //*************************** FIN DE LA ZONA DE DECLARACION DE FUNCIONES
*************************
45 //*****************************************************************************************
******
46 //*******************************************************************
47 //* Ejemplo de uso de PseInt.
48 //*
49 //*
50 //* Algoritmo que utiliza el metodo de busqueda secuencial (vector).
51 //********************************************************************
52 Algoritmo busqueda_secuencial
53 Definir N, i, indice Como Entero;
54 Definir vector, eBuscar como Real;
55
56 // Zona de declaracion de variables e inicializacion
57 N = 20;
58 indice = -1;
59 Dimension vector[N];
60
61 // LLenamos el vector con valores aleatorios entre 0 y 100.
62 Para i = 0 Hasta N - 1 Hacer
63 vector[i] = azar(100);
64 FinPara
65
66 // Escribimos el vector
67 Escribir "";
68 Escribir "Vector: ";
69 imprimir_vector(vector, N);
70 Escribir "";
71
72 Escribir "Introduzca el valor a buscar: ";
73 Leer eBuscar;
74
75 // Aplicamos el metodo de burbuja mejorado
76 buscar_secuencial(vector, N, eBuscar, indice);
77
78
79 // Mostramos al usuario si encontramos o no el elemento.
80 // Si el indice es igual a -1 es porque no hubo cambios
81 // dentro del ciclo de busqueda ya que el elemento no existe.
82 // En caso contrario, mostramos el indice con la posicion
83 // dentro del vector.
84 Si (indice == -1) Entonces
85 Escribir "Elemento no encontrado en el vector.";
86 Sino
87 Escribir "El elemento se encuentra en la posicion ", indice;
88 FinSi
89
90 FinAlgoritmo
91

También podría gustarte