Está en la página 1de 21

14-2-2024

Reporte de Actividad 2
Actividad 2.1,2.2 y 2.3 – Metro CDMX

Nombre: Misael Rangel Estrada


Código: 220792965

Materia: Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

CONTENIDO

ACTIVIDAD 2.1 2

DESCRIPCIÓN (BÚSQUEDA SECUENCIAL) 2


DESARROLLO 2
RESULTADOS 4
CONCLUSIÓN 5

ACTIVIDAD 2.2 5

DESCRIPCIÓN (ARCHIVO DEL SISTEMA) 5


DESARROLLO 5
RESULTADO 5
CONCLUSIÓN 5

ACTIVIDAD 2.3 FINAL 6

DESCRIPCIÓN (INTERFAZ GRÁFICA DE USUARIO) 6


DESARROLLO 6
RESULTADOS 13
CONCLUSIÓN 20

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Actividad 2.1
Descripción (Búsqueda secuencial)
Implemente la búsqueda secuencial en las listas de adyacencia, que presentan el
grafo del sistema de la CDMX, para mostrar en consola las estaciones que
pertenecen a alguna linea en particular.

Desarrollo
1. Se crea una tupla en la cual guarde todas las estaciones dependiendo del numero de
línea ingresado.
2. Posterior llenar la tupla con u for llamando una función la cual verifica si la estación es
la que le corresponde

for(int i = 0; i < 12;i++)


{
Linea.Add("\n-------Linea"+(i+1)+"--------\n");
for(int j=0;j<10;j++)
{
BusquedaLinea(ref estaciones[j], ref Linea,LineasNumeros[i]);
}
}

foreach(string item in Linea)


{
Console.WriteLine("\t"+item);
}

Console.ReadLine();

static void BusquedaLinea(ref Estacion estaciones, ref HashSet<string>


Linea, int lineaNumero)
{
foreach(Estacion item in estaciones.Convergentes)

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

{
for(int i = 0; i < 4;i++)
{
if(lineaNumero.ToString() == item.GetLinea(i))
{
Linea.Add(item.GetNombre());
}
}
}
}

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Resultados

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Conclusión
La actividad fue sencilla, puesto que era una búsqueda en la que como esta programado
solamente tenemos que buscar por las líneas en la que perteneces, pero hubo un problema al
momento de separar las tuplas, pero de allí en mas fue fácil.

Actividad 2.2
Descripción (Archivo del sistema)
Cree un archivo para guardar los datos del sistema Metro de CDMX, muestre los datos en
consola, cree una nueva estación y añádala apropiadamente al sistema, guarde nuevamente el
archivo y vuelve a mostrar los datos en consola desde el archivo.

Desarrollo

Resultado

Conclusión
La verdad estuve probando varias cosas para poder serializarlo, pero me daban error por
varios motivos y no pude, esperemos que en clases futuras pueda aprender como utilizar
todos los métodos de serialización.

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Actividad 2.3 Final


Descripción (Interfaz Gráfica de usuario)
Cree una ventana en donde se despliegue la información referente a cada estación del
sistema metro.

Desarrollo
1. Con el proyecto tipo WPF en ejecución, tendremos que hacer una interfaz adecauda a
las necesidades

2. Incorporando todas las estaciones en botones para su utilización cada una.

3. Programamos los botones cada uno con sus respectivas líneas

private void linea1Boton(object sender, RoutedEventArgs e)


{
string estacionesString = "";

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea 1";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#f04d99"));

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref Linea, 1);
}

foreach (string item in Linea)


{
estacionesString = estacionesString + "\t" + item + "\n";
}

mensaje.Text = estacionesString;
//MessageBox.Show(estacionesString);
}

static void BusquedaLinea(ref Estacion estaciones, ref HashSet<string>


Linea, int lineaNumero)
{

foreach (Estacion item in estaciones.Convergentes)


{
for (int i = 0; i < 4; i++)
{
if (lineaNumero.ToString() == item.GetLinea(i))
{
Linea.Add(item.GetNombre());
}
}
}
}

private void linea2Boton(object sender, RoutedEventArgs e)


{
string estacionesString1 = "";

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea 2";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#005eb9"));

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref Linea2, 2);
}

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

foreach (string item in Linea2)


{
estacionesString1 =estacionesString1 + "\t" + item + "\n";
}

mensaje.Text = estacionesString1;
}

private void linea3Boton(object sender, RoutedEventArgs e)


{
string estacionesString2 = "";

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea 3";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#b09900"));

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref Linea3, 3);
}

foreach (string item in Linea3)


{
estacionesString2 =estacionesString2 + "\t" + item + "\n";
}

mensaje.Text = estacionesString2;
}

private void linea4Boton(object sender, RoutedEventArgs e)


{
string estacionesString3 = "";

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea 4";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#6ebdb1"));

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref Linea4, 4);
}

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

foreach (string item in Linea4)


{
estacionesString3 =estacionesString3 + "\t" + item + "\n";
}

mensaje.Text = estacionesString3;
}

private void linea5Boton(object sender, RoutedEventArgs e)


{
string estacionesString4 = "";

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea 5";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#ffd200"));

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref Linea5, 5);
}

foreach (string item in Linea5)


{
estacionesString4 =estacionesString4 + "\t" + item + "\n";
}

mensaje.Text = estacionesString4;
}

private void linea6Boton(object sender, RoutedEventArgs e)


{
string estacionesString5 = "";

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea 6";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#e45d53"));

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref Linea6, 6);
}

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

foreach (string item in Linea6)


{
estacionesString5 =estacionesString5 + "\t" + item + "\n";
}

mensaje.Text = estacionesString5;
}

private void linea7Boton(object sender, RoutedEventArgs e)


{
string estacionesString6 = "";

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea 7";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#e9781c"));

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref Linea7, 7);
}

foreach (string item in Linea7)


{
estacionesString6 =estacionesString6 + "\t" + item + "\n";
}

mensaje.Text = estacionesString6;
}

private void linea8Boton(object sender, RoutedEventArgs e)


{
string estacionesString7 = "";

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea 8";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#009b42"));

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref Linea8, 8);

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

foreach (string item in Linea8)


{
estacionesString7 =estacionesString7 + "\t" + item + "\n";
}

mensaje.Text = estacionesString7;
}

private void linea9Boton(object sender, RoutedEventArgs e)


{
string estacionesString8 = "";

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea 9";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#502b2a"));

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref Linea9, 9);
}

foreach (string item in Linea9)


{
estacionesString8 =estacionesString8 + "\t" + item + "\n";
}

mensaje.Text = estacionesString8;
}

private void lineaABoton(object sender, RoutedEventArgs e)


{
string estacionesString9 = "";

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea A";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#991798"));

for (int j = 0; j < 10; j++)


{

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

BusquedaLinea(ref estaciones[j], ref LineaA, 10);


}

foreach (string item in LineaA)


{
estacionesString9 =estacionesString9 + "\t" + item + "\n";
}

mensaje.Text = estacionesString9;
}

private void lineaBBoton(object sender, RoutedEventArgs e)


{
string estacionesString10 = "";

TextBlock mensaje = TxtLine;


mensaje.Text = String.Empty;
TituloLinea.Text = "Linea B";

LinearGradientBrush degradado = new LinearGradientBrush();


degradado.StartPoint = new Point(0.5, 0);
degradado.EndPoint = new Point(0.5, 1);
degradado.GradientStops.Add(new GradientStop(Colors.Green, 0.0));
degradado.GradientStops.Add(new GradientStop(Colors.Gray, 1.0));

FondoTitulo.Fill = degradado;

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref LineaB, 11);
}

foreach (string item in LineaB)


{
estacionesString10 =estacionesString10 + "\t" + item + "\n";
}

mensaje.Text = estacionesString10;
}

private void linea12Boton(object sender, RoutedEventArgs e)


{

string estacionesString11 = "";

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

TextBlock mensaje = TxtLine;


TituloLinea.Text = "Linea 12";
FondoTitulo.Fill = (SolidColorBrush)(new
BrushConverter().ConvertFrom("#beb44d"));

for (int j = 0; j < 10; j++)


{
BusquedaLinea(ref estaciones[j], ref Linea12, 12);
}

foreach (string item in Linea12)


{
estacionesString11 = estacionesString11 + "\t" + item + "\n";
}

mensaje.Text = " ";


mensaje.Text = estacionesString11;
}

4. Utilizamos un textBlock para imprimir los datos

Resultados

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Seminario de solución de problemas de Algoritmia


Misael Rangel Estrada 14/Febrero/2024

Conclusión
El proceso de aprendizaje fue estresante pues es mi primera interacción con las interfaces
graficas , pero en lo que avanzaba y Aprende como iban las cosas realmente me divertí
creando la aplicación y modificando todos sus atributos.

Seminario de solución de problemas de Algoritmia

También podría gustarte