Está en la página 1de 12

Nombre de la materia

Algoritmos y estructuras de datos

Nombre de la Licenciatura
INGENIERIA EN SISTEMAS
COMPUTACIONALES

Nombre del alumno


Ramoó n Cerda Ruiz

Matrícula
010211111

Nombre de la Tarea
Tarea 2

Unidad 1
Estructuras estaó ticas de datos

Nombre del Profesor


Joseó Martíón Osuna Flores

Fecha
10/11/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

¿Cómo entregar nuestra tarea?

-Utiliza el formato para entrega de tareas e integra un documento que contenga un breve
apartado de introducción, desarrollo (puede ser el código desarrollado con comentarios en
las principales secciones) conclusiones y referencias.

-Envía el archivo en C# comprimido a tu profesor.

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.


(valor 1 punto.)

 Ordene el arreglo por el método


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.)

3
Unidad 1: Estructuras estáticas de datos
Algoritmos y estructuras de datos

Desarrollo de la actividad:
Ejemplo 1:

Para crear un arreglo de una dimensión se debe especificar de qué tipo serán los elementos
del array:
<tipo> [] <nombre> = new <tipo> [<tamaño>];

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();

4
Unidad 1: Estructuras estáticas de datos
Algoritmos y estructuras de datos

Ejemplo 2:
En el siguiente ejemplo, se muestra cómo crear un arreglo, se ordena de forma ascendente
por el método de burbuja y se pide al usuario indique un elemento a buscar para indicar la
posición en la que se encuentra:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Burbuja
{
class Burbuja
{
private int[] vector;

public void Cargar()


{
Console.WriteLine("Usando el modo Burbuja");
Console.Write("Ingresa longitud de vector: ");
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);
}
}

public void MetodoBurbuja()


{
int t;
for (int a = 1; a < vector.Length; 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;
}
}
}
public void Imprimir()
{
Console.WriteLine("Numeros ordenados en forma ascendente");
for (int f = 0; f < vector.Length; f++)
{

5
Unidad 1: Estructuras estáticas de datos
Algoritmos y estructuras de datos

Console.Write(vector[f] + " ");


}
Console.ReadKey();
}

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 esta en el arreglo", num); }
else
{ Console.Write("\nEl elemento {0} esta en la posicion: {1}", num, m + 1); }
}
public void Imprimir1()
{
for (int f = 0; f > vector.Length; f++)
{
Console.Write(vector[f] + " ");
}
}
static void Main(string[] args)
{
Burbuja pv = new Burbuja();
pv.Cargar();
pv.MetodoBurbuja();
pv.Imprimir();
pv.Imprimir1();
Console.Write("\n\nQue elemento buscas: ");
int num = int.Parse(Console.ReadLine());
pv.busqueda(num);
Console.ReadKey();
}
}
}

6
Unidad 1: Estructuras estáticas de datos
Algoritmos y estructuras de datos

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.

private int[] vector;

public void Longitud()

Console.Write("Ingresa la longitud del vector: ");

string linea;

linea = Console.ReadLine();

int num;

num = int.Parse(linea);

vector = new int[num];

Console.WriteLine("La Longitud del Vector es: ");

Console.WriteLine(vector.Length);

(Valor 1.0 punto)

 Solicite los elementos a almacenar en el arreglo.

public void InputData()

Console.Write("Ingresa la longitud del vector: ");

string linea;

linea = Console.ReadLine();

int num;

num = int.Parse(linea);

7
Unidad 1: Estructuras estáticas de datos
Algoritmos y estructuras de datos

vector = new int[num];

Console.WriteLine("La Longitud del Vector es: ");

Console.WriteLine(vector.Length);

for (int f = 0; f < vector.Length; f++)

Console.Write("Ingresa el numero " + (f + 1) + ": ");

linea = Console.ReadLine();

vector[f] = int.Parse(linea);

}
(Valor 1.0 punto)
 Muestre el contenido del arreglo.

public void Mostrar()

Console.WriteLine("Numeros: );

for (int f = 0; f < vector.Length; f++)

Console.Write(vector[f] + " ");

Console.ReadKey();

8
Unidad 1: Estructuras estáticas de datos
Algoritmos y estructuras de datos

(Valor 2.0 puntos)


 Ordene el arreglo por el método seleccionado.

public void Orden()

int t;

for (int a = 1; a < vector.Length; 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;

9
Unidad 1: Estructuras estáticas de datos
Algoritmos y estructuras de datos

(Valor 1.0 punto)


 Muestre el arreglo ordenado.

public void Mostrar()

Console.Write("Numeros ordenados en forma ascendente");

for (int f = 0; f < vector.Length; f++)

Console.Write(vector[f] + " ");

Console.ReadKey();

(Valor 1.0 punto)


 Solicite la búsqueda de un elemento

Console.Write("\n\nQue elemento buscas: ");

int num = int.Parse(Console.ReadLine());

pv.Buscar(num);

10
Unidad 1: Estructuras estáticas de datos
Algoritmos y estructuras de datos

(Valor 2.0 punto)


 Indique la posición en que se localiza el elemento buscado.

public void Buscar(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 esta en el arreglo", num); }

else

{ Console.Write("\nEl elemento {0} esta en la posicion: {1}", num, m + 1); }

11
Unidad 1: Estructuras estáticas de datos
Algoritmos y estructuras de datos

12

También podría gustarte