Nombre de la materia Algoritmos y estructuras de datos Nombre de la Licenciatura Ingenieríía en Sistemas Computacionales. Nombre del alumno Luis Manuel Mora Loí pez Matrícula 000577912 Nombre de la Tarea Tarea 2 Unidad 1 Estructuras estaí ticas de datos Nombre del Profesor Prof. Joseí Martíín Osuna Flores Fecha 14/01/2019
Unidad 1: Estructuras estáticas de datos Algoritmos y estructuras de datos
¿Sabías qué….? El ordenamiento y búsqueda de datos son dos conceptos ampliamente utilizados en computación ya que permiten el manejo de grandes cantidades de datos para su procesamiento lo que facilita la realización de tareas que pudieran parecer muy complejas.
ACTIVIDAD 2 Objetivos:
Analizar el funcionamiento y las características de los métodos de ordenación y búsqueda.
Estructurar algoritmos que resuelvan situaciones que requieran ordenamiento y búsqueda de datos.
Instrucciones: Después de revisar los recursos siguientes debes desarrollar la actividad 2.
Presentación
Creación de archivos En la siguiente presentación conocerás los métodos utilizados para crear y leer archivos de texto. Comprueba cada uno de los ejemplos capturando cada código en el editor de C#.
Lectura
Algoritmos de ordenación y búsqueda (S.d.).
2
Unidad 1: Estructuras estáticas de datos Algoritmos y estructuras de datos
Forma de evaluación:
Criterio
Ponderación
Presentación
10%
Desarrollo del ejercicio:
90%
Solicite al usuario introducir la longitud del arreglo a crear. (valor 1 punto.)
Solicite los elementos a almacenar en el arreglo. (valor 1 punto.)
Muestre
el
contenido
del
arreglo.
el
método
(valor 1 punto.)
Ordene
el
arreglo
por
seleccionado. (valor 2 puntos.)
Muestre el arreglo ordenado. (valor 1 punto.)
Solicite la búsqueda de un elemento (valor 1 punto.)
Indique la posición en que se localiza el elemento buscado. (valor 2 puntos.)
Desarrollo de la actividad: Ejemplo: Para crear un arreglo de una dimensión se debe especificar de qué tipo serán los elementos del array: [] <nombre>
= new [];
3
Unidad 1: Estructuras estáticas de datos Algoritmos y estructuras de datos
Por ejemplo, si se desea crear un arreglo de 8 números enteros se hace de la siguiente forma: int [] numeros = new int [8];
Para acceder a un elemento en una posición i solo hay que hacer mi_array[i] si tiene una dimensión, si tiene más de una dimensión, podemos hacer my_array[i,j].
int [] elementos = new int[]{5,4,3,2,1}; int x = elementos[2]; Console.WriteLine(x); //Se imprime 3
Localizar un elemento en un arreglo (para el caso de un arreglo tamaño 10):
Console.WriteLine("Ingrese elemento que desea buscar en el arreglo"); elemento=Console.ReadLine(); for(int i=0; i<10;i++) if(arreglo[i]==elemento) Console.WriteLine ("El elemento se encuentra en la posicion:{0}",posicion); Console.ReadLine();
Ejercicio 1: Tu tarea consiste en seleccionar un método de ordenación y búsqueda y con base a ello realizar un programa de consola en C# que ejecute lo siguiente: (Valor 1.0 punto)
Solicite al usuario introducir la longitud del arreglo a crear.
class Burbuja {
4
Unidad 1: Estructuras estáticas de datos Algoritmos y estructuras de datos
private int [] vector; public void Cargar() { Console.WriteLine("Método Burbuja"); Console.Write("Ingresa Longitud del vector: ");
(Valor 1.0 punto)
5
Unidad 1: Estructuras estáticas de datos Algoritmos y estructuras de datos
Solicite los elementos a almacenar en el arreglo.
{
Console.Write("Ingresa el numero" + (f+1) + ":"); linea = Console.ReadLine(); vector[f] = int.Parse(linea); }
(Valor 1.0 punto)
Muestre el contenido del arreglo.
6
Unidad 1: Estructuras estáticas de datos Algoritmos y estructuras de datos
string linea; linea= Console.ReadLine(); int num; num = int.Parse(linea); vector= new int [num]; for(int f=0; f < vector.Length; f++) { Console.Write("Ingresa el numero" + (f+1) + ":"); linea = Console.ReadLine(); vector[f] = int.Parse(linea); }
(Valor 2.0 puntos)
Ordene el arreglo por el método seleccionado.
7
Unidad 1: Estructuras estáticas de datos Algoritmos y estructuras de datos
public void MetodoBurbuja() { int t; for(int a = 1; a < vector.Length-1; a++) for(int b = vector.Length - 1;b >= a; b--) { if(vector [b - 1] > vector[b]) { t= vector[b-1]; vector [b-1]= vector[b]; vector[b]= t; } } }
(Valor 1.0 punto)
Muestre el arreglo ordenado. public void Imprimir() { Console.WriteLine("Números ordenados en forma ascendente"); for(int f = 0; f
(Valor 1.0 punto)
Solicite la búsqueda de un elemento
8
Unidad 1: Estructuras estáticas de datos Algoritmos y estructuras de datos
static void Main (string[] args) { Burbuja pv = new Burbuja (); pv.Cargar(); pv.MetodoBurbuja(); pv.Imprimir(); pv.Imprimir1(); Console.Write("\n\n¿Qué elemento buscas?: ");//Aquí se pide el elemento que se busca. int num = int.Parse(Console.ReadLine()); pv.busqueda(num); Console.ReadKey(); }
(Valor 2.0 punto)
Indique la posición en que se localiza el elemento buscado.
9
Unidad 1: Estructuras estáticas de datos Algoritmos y estructuras de datos
public void busqueda( int num) { int l = 0, h = 9; int m = 0; bool found = false; while (l <= h && found == false) { m = (l + h ) / 2; if(vector[m] == num) found = true; if (vector [m] > num) h = m - 1; else l = m + 1; } if (found == false) { Console.Write("\nEl elemento {0} no está en el arreglo", num); } else { Console.Write("\nEl elemento {0} está en la posición: {1}", num, m + 1);} } public void Imprimir1() { for(int f = 0; f > vector.Length; f++) { Console.Write(vector [f] + " "); } En caso de colocar un elemento inexistente en la lista:
En caso de tomar un elemento existente en la lista:
10
Unidad 1: Estructuras estáticas de datos Algoritmos y estructuras de datos
Fuentes de información: -(S.D.) Algoritmos de ordenación y búsqueda. -Presentación: Creación de archivos. (Recursos de la semana) -MyCyberAcademy (14 feb. 2013) Tutorial C# - 17- Arreglos. Obtenido de YouTube: https://www.youtube.com/watch?v=5ML2uIsjLuk
11