15
ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICAS DEPARTAMENTO DE MATEMÁTICAS PROYECTO DE FUNDAMENTOS DE COMPUTACIÓN INTEGRANTES: MERA ROMERO YOMAIRA YULIANA PIZARRO MERA EDUARDO MIGUEL PARALELO 12 Profesor: Luis Enrique Rodríguez Ojeda

Pyoyecto fundamentos

Embed Size (px)

DESCRIPTION

compu

Citation preview

ESCUELA SUPERIOR POLITCNICA DEL LITORALFACULTAD DE CIENCIAS NATURALES Y MATEMTICASDEPARTAMENTO DE MATEMTICASPROYECTO DE FUNDAMENTOS DE COMPUTACIN

INTEGRANTES:

MERA ROMERO YOMAIRA YULIANA PIZARRO MERA EDUARDO MIGUEL

PARALELO 12

Profesor: Luis Enrique Rodrguez Ojeda

2014-2015

INTRODUCCIN

Python es un lenguaje de programacin interpretado cuya filosofa hace hincapi en una sintaxis que favorezca un cdigo legible. Se trata de un lenguaje de programacin multiparadigma, ya que soporta orientacin a objetos, programacin imperativa y, en menor medida, programacin funcional. Es un lenguaje interpretado, usa tipado dinmico y es multiplataforma.

Es administrado por la Python Software Foundation. Posee una licencia de cdigo abierto, denominada Python Software Foundation License, que es compatible con la Licencia pblica general de GNU a partir de la versin 2.1.1, e incompatible en ciertas versiones anteriores.

Python es un interpretador de instrucciones muy eficiente y de acceso libre y pblico disponible para su instalacin desde la red internet. El lenguaje Python es fcil de aprender y aplicar, verstil y muy conveniente para iniciar el aprendizaje de lenguajes de programacin de manera progresiva y creativa usando diferentes metodologas de programacin.

Es por esto que este proyecto nace con la intencin de demostrar los conocimientos bsicos de la programacin en la creacin de un programa de traduccin de espaol a japons y otro programa que demuestre como se crea un grafo en la aplicacin de ejercicios.

TRADUCTORUn traductor es un programa que tiene como entrada un texto escrito en un lenguaje (lenguaje fuente) y como salida produce un texto escrito en un lenguaje (lenguaje objeto) que preserva el significado de origen. Ejemplos de traductores son los ensambladores y los compiladores.

En el proceso de traduccin se identifican dos fases principales:

GRAFO

El origen de la palabra grafo es griego y su significado etimolgico es "trazar". Aparece con gran frecuencia como respuesta a problemas de la vida cotidiana, algunos ejemplos podran ser los siguientes: un grfico de una serie de tareas a realizar indicando su secuenciacin (un organigrama), grafos matemticos que representan las relaciones binarias, una red de carreteras, la red de enlaces ferroviarios o areos o la red elctrica de una ciudad. En cada caso, es conveniente representar grficamente el problema dibujando un grafo como un conjunto de puntos (vrtices) con lneas conectndolos (arcos).

De aqu se podra deducir que un grafo es bsicamente un objeto geomtrico aunque en realidad sea un objeto combinatorio, es decir, un conjunto de puntos y un conjunto de lneas tomado de entre el conjunto de lneas que une cada par de vrtices. Por otro lado, y debido a su generalidad y a la gran diversidad de formas que pueden usarse, resulta complejo tratar con todas las ideas relacionadas con un grafo.Los grafos son estructuras de datos no lineales que tienen una naturaleza generalmente dinmica. Su estudio podra dividirse en dos grandes bloques:*Grafos Dirigidos.*Grafos no Dirigidos (pueden ser considerados un caso particular de los anteriores).

DEFINICIN Un grafo G es un conjunto en el que hay definida una relacin binaria, es decir, G= (V, A) tal que V es un conjunto de objetos a los que denominaremos vrtices o nodos y es una relacin binaria a cuyos elementos denominaremos arcos o aristas.

OBJETIVOSa) Aplicar los conocimientos y tcnicas vistas en clase y en el laboratorio para desarrollar una solucin computacional en Python a problemas propuestos.b) Desarrollar experiencia en aplicaciones computacionales interactuando en equipos.c) Realizar la prctica necesaria para las evaluaciones finales de la materia.

SOLUCIN DE LOS TEMAS:TEMA 1TRADUCCIN DEL ALFABETO ESPAOL AL LENGUAJE JAPONSEl siguiente cuadro muestra de manera divertida la pronunciacin de cada letra del alfabeto en lenguaje japons.

Escriba un programa que lea el nombre de una persona en lenguaje espaol y muestre una lnea de texto con la pronunciacin en el lenguaje japons. Use el cuadro anterior, como se muestra en el ejemplo.

#TRADUCTORwhile True: n=input('Ingrese Nombre :') alf=['ka','tu','mi','te','ku','lu','ji','ri','ki','zu','me','ta','rin','to','mo','no','ke','shi','ari','chi','do','ru','na','mei','fu','ra','KA','TU','MI','TE','KU','LU','JI','RI','KI','ZU','ME','TA','RIN','TO','MO','NO','KE''SHI','ARI','CHI','DO','RU','NA','MEI','FU','RA'] ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' t='' for c in n: for p in range(len(ab)): if c==ab[p]: t=t+alf[p] print('Su Nombre en Japons es :', t) print('DESEA SALIR DEL TRADUCTOR PULSE 1 CASO CONTRARIO PULSE CUALQUIER NUMERO') s=int(input('Ingrese Su Opcin :')) if s==1: print('ADIOS') break else: print('CONTINUAMOS TRADUCIENDO')

PRUEBA DEL PROGRAMA:>>> ================================ RESTART ================================>>> Ingrese Nombre :YOMAIRASu Nombre en Japones es : RAMORINKAKIARIKADESEA SALIR DEL TRADUCTOR PULSE 1 CASO CONTRARIO PULSE CUALQUIER NUMEROIngrese Su Opcin :6CONTINUAMOS TRADUCIENDOIngrese Nombre :YulianaSu Nombre en Japons es : RAdotakikatokaDESEA SALIR DEL TRADUCTOR PULSE 1 CASO CONTRARIO PULSE CUALQUIER NUMEROIngrese Su Opcin :8CONTINUAMOS TRADUCIENDOIngrese Nombre :Eduardo Su Nombre en Japons es : KUtedokashitemoDESEA SALIR DEL TRADUCTOR PULSE 1 CASO CONTRARIO PULSE CUALQUIER NUMEROIngrese Su Opcin :7CONTINUAMOS TRADUCIENDOIngrese Nombre :EDUARDOSu Nombre en Japons es : KUTERUKAARITEMODESEA SALIR DEL TRADUCTOR PULSE 1 CASO CONTRARIO PULSE CUALQUIER NUMEROIngrese Su Opcin :1ADIOS>>>TEMA 2DISEO DE UN PROGRAMA PARA MANEJO DE LA CONECTIVIDAD DE UN GRAFOUn grafo consta de vrtices que pueden representarse mediante crculos y arcos que los conectan. Esta conectividad puede describirse mediante una matriz en la que el valor 1 indica que existe un arco en esa direccin, mientras que el valor 0 indica que no existe el arco con esa direccin, como se muestra en el ejemplo:

Escriba un programa para manejar interactivamente la conectividad de un grafo mediante un men con las siguientes opciones:1) Agregar arco2) Eliminar arco3) Consultar arco4) Listar arcos5) SalirAl inicio debe pedir el nmero de vrtices. Llenar con 1 la diagonal y 0 en el resto de la matriz. En la opcin 1) debe pedir los vrtices inicial y final, y colocar 1 en la celda de la matriz ubicada en la fila y columna respectivas.En la opcin 2) debe pedir los vrtices inicial y final, y colocar 0 en la celda de la matriz ubicada en la fila y columna respectivas.En la opcin 3) debe pedir los vrtices inicial y final, y mostrar un mensaje Existe arco o No existe arco dependiendo del contenido de la celda de la matriz ubicada en la fila y columna respectivas.En la opcin 4) busque para cada fila (vrtice inicial) cada columna (vrtices finales), que contenga 1.

SOLUCION DEL PROGRAMA

#AGRAGAR ARCO def f1(c1): i=int(input('Ingrese Vrtice Inicial :')) j=int(input('Ingrese Vrtice Final :')) x=int(input('Ingrese Nuevo Arco :')) c1[i][j]=x print(c1) return c1 #FUNCION ELIMINAR ARCOdef f2(c1): i=int(input('Ingrese Vrtice Inicial :')) j=int(input('Ingrese Vrtice Final :')) c1[i][j]=0 print(c1) return #FUNCION CONSULTA ARCOdef f3(c1): i=int(input('Ingrese Vrtice Inicial :')) j=int(input('Ingrese Vrtice Final :')) if c1[i][j]==0: print('NO EXISTE') else: print('SI EXISTE ARCO') return #CONSULTA DE ARCOfrom numpy import*def f4(c1): x=int(input('Ingrese Valor :')) v=[] [n,m]=shape(c1) for i in range(n): for j in range(m): if x==c1[i][j]: v=v+[[i,j]] sd=array(v) if len(v)==0: print('ERROR NO EXISTE',[-1,-1]) else: print('LOS ARCOS SON :') print(sd) return

#GRAFOfrom libreria1 import*from numpy import*c1=[]print('Ingrese Los Nodos')print()x=int(input('Ingrese La Cantidad de Filas :'))y=int(input('Ingrese La Cantidad de Columnas :'))for i in range(x): c1.append([0]*y)for f in range (x): for c in range(y): c1[f][c]=int(input('Ingrese Valor :'))k1=array(c1)print('MATRIZ')print (k1)print()while True: print('ESCOJA UNA DE LAS SIGUIENTES OPCIONES') print('1) AGREGAR ARCOS') print('2) ELIMINAR ARCOS') print('3) CONSULTAR ARCOS') print('4) LISTA DE ARCOS') print('5) SALIR DEL PROGRAMA') l=int(input('Ingrese La Opcin y Accin a Realizar :')) if l==1: f1(k1) elif l==2: f2(k1) elif l==3: f3(k1) elif l==4: f4(k1) elif l==5: print('ADIOS') break

BIBLIOGRAFA

PYTHON PROGRAMACIN (Luis Enrique Rodrguez Ojeda)

http://decsai.ugr.es/~jfv/ed1/tedi/cdrom/docs/grafos.htm

http://www.sites.upiicsa.ipn.mx/polilibros/portal/polilibros/p_terminados/PolilibroFC/Unidad_III/Unidad%20III_6.htm

https://www.youtube.com/results?search_query=diccionarios+en+pythonhttps://www.youtube.com/results?search_query=tuplas+en+pythonhttps://www.youtube.com/watch?v=xBpKwMd4J0Uhttps://www.youtube.com/results?q=cadenas+de+caracteres+en+pythonhttps://www.youtube.com/watch?v=lIvtF1U1lDshttps://www.youtube.com/watch?v=_c8fMTjO-eshttps://www.youtube.com/watch?v=o3Q6TnCcp-chttps://www.youtube.com/watch?v=7BvBEIzJrC8https://www.youtube.com/watch?v=TCvC12p_Fg4https://www.youtube.com/watch?v=vdqt8OZ-wYQhttps://www.youtube.com/watch?v=IqUKF43IDechttps://www.youtube.com/watch?v=gmUq8ydZcuUhttps://www.youtube.com/watch?v=8yF8fo7rNvQ