Practica 36. Busqueda Secuencial

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA

Views 72 Downloads 1 File size 404KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA DE DATOS SERIE 6SC3A

NOMBRE COMPLETO ALUMNO: UNIDAD A EVALUAR: TEMA A EVALUAR: FECHA DE ENTREGA:

Manuel Reyes Ojeda Búsqueda Búsqueda Secuencial 07/12/2020 REPORTE DE PRÁCTICA

PROGRAMA FUENTE: using using using using using

System; System.Collections.Generic; System.Linq; System.Text; System.Threading.Tasks;

namespace Programa_36 { class Program { static bool B; static string busca; static int T, cuenta = 0; static void Main(string[] args) { Console.Title = "Busqueda Secuencial - Inserción"; /*Nombre: Manuel Reyes Ojeda. Número de Control: 19211718. Carrera: Sistemas Computacionales. Semestre: 3ro.*/ string[] Nombres = new string[15]; string[] Nombres1 = new string[15]; string[] Nombres2 = new string[15]; Console.WriteLine("===Busqueda Secuencial==="); Console.WriteLine("\n\n====Inserción - Busqueda Secuencial====\n\n"); Console.WriteLine("Ingrese el nombre y apellido de los empleados: "); for (int i = 0; i < Nombres.Length; i++) { Console.Write("Nombre [{0}]: ", i + 1); Nombres[i] = Console.ReadLine(); } Array.Copy(Nombres, Nombres1, 15); Array.Copy(Nombres, Nombres2, 15); Console.WriteLine("\n===Arreglo ingresado===\n"); for (int i = 0; i < Nombres.Length; i++) {

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA DE DATOS SERIE 6SC3A

Console.WriteLine("[{0:c}] ", Nombres[i]); } Console.WriteLine("\n\nPresione para cerrar el programa..."); Console.ReadLine(); char opc = '0'; do { Console.Title = "Busqueda Secuencial - Menu"; Console.Clear(); Console.WriteLine("==Busqueda Secuencial=="); Console.WriteLine("\n\n==Menu Busqueda=="); Console.WriteLine("a) Busqueda secuencial (datos desordenados)."); Console.WriteLine("b) Busqueda secuencial (datos ordenados ascedentes)."); Console.WriteLine("c) Busqueda secuencial (datos ordenados descendente)."); Console.WriteLine("d) Salida."); Console.Write("\nQué opción deseas?: "); opc = Char.Parse(Console.ReadLine()); opc = char.ToLower(opc); Console.Clear(); switch (opc) { case 'a': Console.WriteLine("===Busqueda secuencial (Metodo 1)====\n\n"); Busca1(Nombres); break; case 'b': Console.WriteLine("===Busqueda secuencial (Metodo 2)====\n\n"); Busca2(Nombres1); break; case 'c': Console.WriteLine("===Busqueda secuencial (Metodo 3)====\n\n"); Busca3(Nombres2); break; case 'd': Console.WriteLine("Finalizando programa..."); Console.WriteLine("Presione para continuar..."); Console.ReadLine(); break; default: Console.WriteLine("Digite una de las opciones posibles!");

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA DE DATOS SERIE 6SC3A

Console.WriteLine("Presione para continuar..."); Console.ReadLine(); break; } } while (opc != 'd'); } static void Busca1(string[] Nombres) { cuenta = 0; B = false; T = Nombres.Length; Console.Title = "Busqueda secuencial (Metodo 1)"; Console.Write("Ingrese el nombre que desea buscar: "); busca = Console.ReadLine(); for (int i = 0; i < T; i++) { cuenta++; if (Nombres[i] == busca) { Console.WriteLine("Nombre {0} Encontrado!", busca); Console.WriteLine("Posición: {0}", i + 1); Console.WriteLine("Comparaciones: {0}", cuenta); B = true; } } if (B == false) { Console.WriteLine("El nombre {0}, no se encontró!", busca); Console.WriteLine("Comparaciones: {0}", cuenta); } Console.WriteLine("\n===Arreglo ingresado===\n"); for (int i = 0; i < Nombres.Length; i++) { Console.WriteLine("[{0}] ", Nombres[i]); } Console.ReadLine(); } static void Busca2(string[] Nombres1) { Array.Sort(Nombres1); cuenta = 0; B = false; T = Nombres1.Length; int pos = 0;

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA DE DATOS SERIE 6SC3A

Console.Title = "Busqueda secuencial (Metodo 2)"; Console.Write("Ingrese el nombre que desea buscar: "); busca = Console.ReadLine(); while (pos < T && B != true) { cuenta++; if (Nombres1[pos] == busca) { Console.WriteLine("Nombre {0} Encontrado!",busca); Console.WriteLine("Posición: {0}", pos + 1); Console.WriteLine("Comparaciones: {0}", cuenta); B = true; } pos++; } if (B == false) { Console.WriteLine("El nombre {0}, no se encontró!", busca); Console.WriteLine("Comparaciones: {0}", cuenta); } Console.WriteLine("\n===Arreglo ingresado===\n"); for (int i = 0; i < Nombres1.Length; i++) { Console.WriteLine("[{0}] ", Nombres1[i]); } Console.ReadLine(); } static void Busca3(string[] Nombres2) { Array.Sort(Nombres2); Array.Reverse(Nombres2); bool para = false; cuenta = 0; B = false; T = Nombres2.Length; int pos = 0; Console.Title = "Busqueda secuencial (Metodo 3)"; Console.Write("Ingrese el nombre que desea buscar: "); busca = Console.ReadLine(); while ((pos < T && B != true )|| para == true) { cuenta++; if (Nombres2[pos] == busca) { Console.WriteLine("Nombre {0} encontrado!", busca);

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA DE DATOS SERIE 6SC3A

Console.WriteLine("Posición: {0}", pos + 1); Console.WriteLine("Comparaciones: {0}", cuenta); B = true; } else { if (string.Compare(Nombres2[pos], busca) != 0) { pos++; } else { para = true; } } } if (B == false) { Console.WriteLine("El nombre {0}, no se encontró!", busca); Console.WriteLine("Comparaciones: {0}", cuenta); } Console.WriteLine("\n===Arreglo ingresado===\n"); for (int i = 0; i < Nombres2.Length; i++) { Console.WriteLine("[{0}] ", Nombres2[i]); } Console.ReadLine(); } } }

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA DE DATOS SERIE 6SC3A

VENTANA DE CAPTURA:

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA DE DATOS SERIE 6SC3A

VENTANA DE RESULTADOS:

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA DE DATOS SERIE 6SC3A

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA DE DATOS SERIE 6SC3A

INSTITUTO TECNOLOGICO DE TIJUANA. DEPARTAMENTO DE SISTEMAS Y COMPUTACION SEMESTRE: SEPTIEMBRE – ENERO 20/21. ESTRUCTURA DE DATOS SERIE 6SC3A

EXPLICA BREVEMENTE QUE TE PARECIO EL PROBLEMA, QUE SE TE DIFICULTO Y COMO LO SOLUCIONASTE. Este se me hizo un programa sencillo, ya que la metodología de esta búsqueda es muy parecida a las otras búsquedas que se realizaron con anterioridad en otros programas, además de que posee una estructura bastante fácil de comprender. El problema que llegue a tener con este programa fue en el último método en la comparación de los string para realizar el incremento, tenia (array[x], busca)>0 esto provocaba que cuando yo metiera un valor mayor al último del arreglo, el programa se quedaba trabado en esa opción, esto lo repare cambiando el >0 por 0 y así el programa funciono correctamente.