sábado, 29 de septiembre de 2018

Camino Óptimo en Python

import os

grafo = {}

opc = 0
while opc != 3:
    os.system("cls")
    print("\n\tUniversidad José Antonio Páez")
    print("\t   Facultad de Ingeniería")
    print("\t   Escuela de Computación")
    print("\t   Facultad de Ingeniería")
    print("\n\t  Camino Óptimo en Grafo")
    print("\n\tRealizado por: Romina Betancourt")
    opc = input ("\n1.-Ingresar nodos \n2.-Recorrer grafo por cámino óptimo \n3.-Salir \nElige una opcion-> ")
    opc = int(opc)

    if opc == 1:
        vertices = int(input("\n\tIngrese la cantidad de vértices a recibir por el grafo: "))
        for i in range(vertices):
            print("\nINGRESE LOS NODOS Y SU PESO \n")
            origen  = input("Ingresa el origen: a,b,c,...z  ")
            destino = input("Ingresa el destino: a,b,c,...z ")
            peso    = input("Ingresa el peso: 1,2,3,...,n   ")
            peso = int(peso)
       
            ###VERIFICA QUE NO ESTE REPETIDO EL VERTICE ORIGEN Y DESTINO INGRESADO
            repetido = False
            for orig, lista in grafo.items():
                for destin, pesos in grafo[orig]:
                    if orig == origen and destin == destino and pesos == peso:
                        print("\nEL VERTICE YA EXISTE\n")
                        repetido = True
            #SI NO ESTÁ REPETIDO INGRESA A VALIDAR SI LOS NODOS ORIGEN Y DESTINO EXISTEN
            if repetido == False:
                if origen in grafo:
                    if destino in grafo:
                        lista = grafo[origen]
                        grafo[origen] = lista + [(destino, peso)]
                        lista = grafo [destino]
                        lista.append((origen, peso))
                        grafo[destino] = lista
                    else:
                        grafo[destino] = [(origen, peso)]
                        lista = grafo [origen]
                        lista.append((destino, peso))
                        grafo[origen] = lista
                elif destino in grafo:
                    grafo[origen] = [(destino, peso)]
                    lista = grafo [destino]
                    lista.append((origen, peso))
                    grafo[destino] = lista
                else:
                    grafo[destino] = [(origen, peso)]
                    grafo[origen] = [(destino, peso)]
                print()
        #SI EL GRAFO TIENE NODOS LO MUESTRA
        if len(grafo) > 0:
            for key, lista in grafo.items():
                print("Ahora observe el Grafo Completo\n")
                print(key)
                print(lista)
        else:
            print("El grafo esta vacio...")
    print()
    if opc == 2:
        visitados = []
        pila = []

        origen = input("Ingresa un nodo a recorrer: ")
        print("\nLista de del recorrido del nodo por ruta óptima\n")
        #Paso 1: SE COLOCA EL VÉRTICE ORIGEN EN UNA PILA
        pila.append(origen)
        #Paso 2: MIENTRAS LA PILA NO ESTE VACÍA
        while pila:
                #paso 3: DESAPILAR UN VÉRTICE, ESTE SERÁ AHORA EL VÉRTICE ACTUAL
                actual = pila.pop()
                #FORMA ALTERNATIVA PARA DESAPILAR:
                #actual = pila[-1]
                #pila.remove(pila[-1])

                #paso 4: SI EL VÉRTICE ACTUAL NO HA SIDO VISITADO
                if actual not in visitados:
                    #paso 5: PROCESAR (IMPRIMIR) EL VÉRTICE ACTUAL
                    print("Vertice actual -> ", actual)
                    #paso 6: COLOCAR VÉRTICE ACTUAL EN LA LISTA DE VISITADOS
                    visitados.append(actual)
                #paso 7: PARA CADA VÉRTICE QUE EL VÉRTICE ACTUAL TIENE COMO DESTINO,
                #        Y QUE NO HA SIDO VISITADO:
                #        APILAR EL VERTICE
                for key, lista in grafo[actual]:
                    if key not in visitados:
                            pila.append(key)

print()
os.system("pause")

Triángulo de Pascal en Java

/*
 * Universidad José Antonio Páez.
 * Facultad de Ingeniería
 * Escuela de Computación
 */
package triangulopascal;
import java.util.Scanner;
/**
 * Tarea I: Desarrollo del Algoritmo para la Pirámide de Pascal
 * @author Betancourt Rodriguez Romina JE 
 */
public class Triangulopascal {
    public static void main(String[] args) {
        System.out.println("Universidad José Antonio Páez: ");
        System.out.println("Facultad de Ingeniería ");
        System.out.println("Escuela de Computación ");
     
        System.out.println("Romina Betancourt );
        System.out.println("                          ");
        System.out.println("Éste Programa Grafica el Triángulo de Blaise Pascal ");
        System.out.println("Sólo ingrese la cantidad de líneas ");
        System.out.print("En números enteros por favor: ");
        Scanner t=new Scanner(System.in);
        int n=t.nextInt();
        int tr[][]=new int [n+1][n+1];
        for (int i = 0; i <=n; i++) {
            for (int j = 0; j <=i; j++) {
                if (j==0 || i==j)
                    tr[i][j]=1;
        else
                    tr[i][j]=tr[i-1][j-1]+tr[i-1][j];
            }
    }
        System.out.println();
 
        for (int i = 0; i <=n; i++) {
            for (int j = 0; j <=i; j++) {
                System.out.print(tr[i][j]+" ");
        }
        System.out.println();
        }
        System.out.println();
    System.out.println("Se imprimieron "+ n + " líneas");
    }
}

Generalidades sobre Multimedia

1.                  ¿Qué es multimedia?

En su definición más clásica, Multimedia se trata de la combinación de varios medios digitales para transmitir información  de forma simultánea (como por ejemplo: texto, videos, animaciones, imágenes y audio ) con la finalidad de estimular los sentidos y el cerebro del usuario para llamar su atención y conseguir la final interacción-respuesta con los mismos medios.
Por ejemplo se puede crear campañas publicitarias en nuestro sitio web para llamar la atención de potenciales estudiantes de cursos en línea y así, el usuario responde a los anuncios digitales dando clic y el sistema multimedia puede recoger información oportuna si lo pide (nombre, correo electrónico, teléfono, etc.)  utilizando simples formularios de contacto insertados dentro del sistema multimedia creado.

2.                  ¿Menciona los elementos más importantes que conforman un multimedia?

 


3.                 ¿De qué manera podemos utilizar el multimedia en la educación? 

Se pueden utilizar diferentes medios digitales multimedia para estimular la atención cognitiva de nuestros estudiantes desde los sentidos de la siguiente manera:

a)      Vista: entrar por la mirada con diseños novedosos.
b)     Oído: sonios acordes pueden estimular el cerebro subliminalmente para el objeto educativo, con audio de voces explicativos con el diseño visual, música de ambiente para relajar y dar paso al entendimiento deseado.
c)      Gusto: Se trata de estimular el hambre y sed de conocimiento, crear ganas de continuar con el aprendizaje.
d)     Olfato: Llamar a la intuición propia del estudiante estimulando su olfato, aunque no huela literalmente expresado, se crea una conexión con lo aprendido  creando diseños que motiven al cuerpo a bajar los niveles de respiración y oxigenar el cerebro, así conseguir la meta deseada.
e)      Tacto: Fomentar al estudiante a crear directamente con sus propias manos (o dedos en el teclado-mouse) contenido que sirva de respuesta a lo aprendido, mediante test, pruebas en línea, etc.)

Además  de crear cambios radicales en la formación y fomenta el Autoaprendizaje, el mismo aprendizaje se vuelve más significativo porque el estudiante interactúa y crea su propio contenido cognitivo. Se pueden emplear las siguientes herramientas  digitales.
·         Tutoriales interactivos
·         Video tutoriales (animados o reales)
·         Enciclopedias
·         Webs educativas
·         Cursos en CD-ROM
·         Mapas interactivos

4.                  ¿Cuál ha sido la evolución del multimedia?

A continuación se detallan varias imágenes gráficas, que describen la presentación de dispositivos multimedia desde 1975. La evolución en el tempo resulta cónsona y lógica con la evolución de la tecnología.

Figura 2: Evolución de la tecnología Multimedia, imagen 01. Autor: Dávila (2015)[1]