Proyectos_2015_JAVA PARTE II

Anuncio
UACM CASA LIBERTAD
PROYECTO 1 Resolución de un sistema de ecuaciones lineales de 2, 3 y 4 incógnitas!
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
PROYECTO 2 Determina el tipo de matriz
Una matriz es cuadrada cuando tiene el mismo número de renglones que de columnas. Este
tipo de matrices pueden ser:
Simétricas: si el elemento i,j es igual al elemento j,i para todo par de valores i y j.
Triangular superior: si todos los elementos i,j por arriba de la diagonal principal son iguales.
Triangular inferior: si todos los elementos i,j por debajo de la diagonal principal son iguales.
Diagonal es toda matriz cuadrada en la que todos los términos no situados en la diagonal
principal son ceros.
Escalar es toda matriz cuadrada en la que todos los términos de la diagonal principal son
iguales.
La diagonal principal son aquellos elementos i,j para valores iguales de i y j
Elaborar un proyecto que permita verificar que tipo de matriz es, puede ser de dimensión
2x2 hasta una matriz de 6x6 como mínimo!
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
PROYECTO 3: Realizar un programa que realice las operaciones básicas entre
polinomios
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
PROYECTO 4. Realiza una calculadora igual o similar a la calculadora de Windows, el
leguaje c# incorpora prácticamente todas las funciones por ejemplo elevar al cuadrado,
cubo, o x “elevado” a la y, raíz cuadrada, conversión de un número decimal a binario
octal, hexadecimal o viceversa!
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
PROYECTO 5. Realizar un proyecto con 3 operaciones sobre matrices la suma,
multiplicación e inversa, la suma ya se realizó en clase, la multiplicación también pero en
consola hay que implementarla en Windows Forms, con respecto a la inversa
obtendremos la inversa de la Matriz 1 únicamente.
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
PROYECTO 6. Realizar un proyecto sobre un simulador para solicitar un crédito de un
auto, de acuerdo a la CONDUSEF, para tal fin podemos ver la demostración en la
siguiente liga:
http://portalif.condusef.gob.mx/condusefautomotriz/sca_simulador_5.php
Aplicamos una galería de imágenes, operaciones básicas y controles diversos, matrices
para generar Tasa de Interés, el CAT de cada institución bancaria, distintos plazos a
pagar a 6, 12, 24, 60 meses, etc.
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
PROYECTO 7. Optimización en Redes - Algoritmo de Dikjstra
1. Información teórica.
Las aplicaciones del algoritmo de Dijkstra son muy diversas y de gran importancia en
distintas áreas del conocimiento. Vamos a presentar algunas de ellas.
Encaminamiento de paquetes por los routers
Consideremos una red telefónica. En un momento dado, un mensaje puede tardar una
cierta cantidad de tiempo en atravesar cada línea (debido a efectos de congestión, retrasos
en las conexiones etc.). En este caso tenemos una red con costes en los arcos y dos nodos
especiales: el nodo de comienzo y el de finalización, el objetivo aquí es encontrar un
camino entre estos dos nodos cuyo coste total sea el mínimo.
Aplicaciones para Sistemas de información geográficos: extracción de características
curvilíneas de imágenes usando técnicas de minimización del camino: La imagen se
representa como una matriz de puntos, cada uno con una especial intensidad. Cada nodo
se corresponde con un punto (pixel) de la imagen y tiene hasta ocho nodos adyacentes. El
peso de los arcos viene dado en este caso por la diferencia de intensidad. Esta técnica
presenta un gran ahorro de costes frente a las herramientas existentes actualmente en el
mercado que usan métodos de vectorización automáticos.
Reconocimiento de lenguaje hablado: Un problema que se presenta es el distinguir entre
palabras que suenan de manera similar. Se puede construir un grafo cuyos vértices
correspondan a palabras posibles y cuyos arcos unan palabras que puedan ir colocadas
una al lado de otra. Si el peso del arco corresponde a la probabilidad de que estén así
colocadas, el camino más corto en el grafo será la mejor interpretación de la frase.
Otras aplicaciones: Enrutamiento de aviones y tráfico aéreo. Tratamiento de imágenes
médicas. Problemas de optimización de una función de coste para moverse entre diversas
posiciones.
2. Problema a resolver.
El algoritmo de dijkstra determina la ruta más corta desde un nodo origen s hacia los
demás nodos.
Las distancias se almacenan en un vector D. Básicamente, el algoritmo toma en la i-ésima
iteración al nodo que tiene la menor distancia, Vi, y ve si es posible disminuir la distancia
de sus nodos adyacentes, para hacerlo se verifica si la distancia hasta Vi más el costo para
ir de i al nodo adyacente, w(i,j), es menor a la distancia actual en el nodo adyacente.
El programa tendrá 4 funciones:
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
Una función para inicializar el grafo, otra función para insertar los nodos, una función
que calcule la distancia mínima desde i-esimo nodo hacia los demás, y una ultima
función para imprimir los resultados.
3. Ejemplo.
Para el siguiente grafo:
Encontrar la distancia de cada nodo hacia el resto de los nodos.
Optimización de Redes - Algoritmo de Dikjstra
Menú Principal
1. Captura de datos
2. Generación de resultados
3. Origen-Destino
4. Salir
3. 1 Datos de entrada
Como entrada para el programa se introdujo la siguiente información:
Introduce el número de nodos y aristas del grafo: 5 6
Leemos las aristas (los dos primeros valores son los nodos y
el tercer valor es la distancia de la arista):
1 2 3
1
3
10
2
4
5
3
4
6
3
5
15
4
5
4
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
3. 2 Datos de salida
En la salida el primer número es el nodo y el valor entre paréntesis es la distancia:
La menor distancia desde el nodo 1 hacia los otros nodos es:
1(0)
2(3)
3(10)
4(8)
5(12)
La menor distancia desde el nodo 2 hacia los otros nodos es:
1(3)
2(0)
3(11)
4(5)
5(9)
La menor distancia desde el nodo 3 hacia los otros nodos es:
1(10)
2(11)
3(0)
4(6)
5(10)
La menor distancia desde el nodo 4 hacia los otros nodos es:
1(8)
2(5)
3(6)
4(0)
5(4)
La menor distancia desde el nodo 5 hacia los otros nodos es:
1(12)
2(9)
3(10)
4(4)
5(0)
3. 3 Origen-Destino
Aquí debemos de escribir cual es la ruta con el menor costo.
Origen
1
Destino 5
La ruta con el menor costo es:
1 – 2 – 4 – 5 con un costo total de: 12
4. Bibliografía
• CORMEN Thomas, Leiserson Charles and Rivest Ronald. Introduction to
Algorithms. The MIT Press, 1990.
• PARBERRY Ian. Problems on Algorithms. Prentice Hall, 1995.
• Rafael Lopez Bracho, Javier Ramirez Rodríguez, Cesar Uribe Ugalde,
Apuntes de Optimización en redes, CBI Departamento de Sistemas UAM,
http://armandovalera.info
avalera@hotmail.com
UACM CASA LIBERTAD
1996.
PROYECTO 8. Ruta para transportarse en metro
Aquí utilizamos arreglos, un arreglo por cada línea, el usuario teclea o selecciona el
origen y destino, el proyecto nos dará la información de cuál ruta debemos seguir.
En general tenemos tres casos, de menor a mayor dificultad son:
a) Cuando el origen destino se encuentran en la misma línea
b) Cuando para dirigirse del origen al destino debemos realizar un transbordo
c) Cuando para dirigirse del origen al destino debemos realizar dos transbordos
Limitaciones del proyecto:
1) En el caso b) y c) cuando debemos de transbordar, puede existir más de una ruta,
con solo indicar una es suficiente aunque esta ruta no sea la más corta o de menor
“costo”.
2) Cuando no sea suficiente con dos transbordos para llegar a la ruta especificada
deberá imprimir el mensaje “No puedo ayudarte , ahora si me la pusiste difícil” o
el mensaje que creamos conveniente
Tip para realizar el proyecto: Además de tener un arreglo por cada línea del metro
debemos de tener otro que especifique entre que líneas podemos transbordar
http://armandovalera.info
avalera@hotmail.com
Descargar