Está en la página 1de 12

ESCUELA SUPERIOR POLITCNICA DEL LITORAL

FACULTAD DE CIENCIAS NATURALES Y MATEMTICAS


DEPARTAMENTO DE MATEMTICAS
PROYECTO 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.

TRADUCTOR
Un 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.

OBJETIVOS
a) 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 1
TRADUCCIN DEL ALFABETO ESPAOL AL LENGUAJE
JAPONS
El 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.

#TRADUCTOR
while True:
n=input('Ingrese Nombre :')
alf=['ka','tu','mi','te','ku','lu','ji','ri','ki','zu','me','ta','rin','to','mo','no','ke','sh
i','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 :YOMAIRA
Su Nombre en Japones es : RAMORINKAKIARIKA
DESEA SALIR DEL TRADUCTOR PULSE 1 CASO CONTRARIO PULSE
CUALQUIER NUMERO
Ingrese Su Opcin :6
CONTINUAMOS TRADUCIENDO
Ingrese Nombre :Yuliana
Su Nombre en Japons es : RAdotakikatoka
DESEA SALIR DEL TRADUCTOR PULSE 1 CASO CONTRARIO PULSE
CUALQUIER NUMERO
Ingrese Su Opcin :8
CONTINUAMOS TRADUCIENDO
Ingrese Nombre :Eduardo
Su Nombre en Japons es : KUtedokashitemo
DESEA SALIR DEL TRADUCTOR PULSE 1 CASO CONTRARIO PULSE
CUALQUIER NUMERO
Ingrese Su Opcin :7
CONTINUAMOS TRADUCIENDO
Ingrese Nombre :EDUARDO
Su Nombre en Japons es : KUTERUKAARITEMO
DESEA SALIR DEL TRADUCTOR PULSE 1 CASO CONTRARIO PULSE
CUALQUIER NUMERO
Ingrese Su Opcin :1
ADIOS

>>>

TEMA 2
DISEO DE UN PROGRAMA PARA MANEJO DE LA CONECTIVIDAD DE
UN GRAFO
Un 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 arco
2) Eliminar arco
3) Consultar arco
4) Listar arcos
5) Salir
Al 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 ARCO
def f2(c1):
i=int(input('Ingrese Vrtice Inicial :'))
j=int(input('Ingrese Vrtice Final :'))
c1[i][j]=0
print(c1)
return
#FUNCION CONSULTA ARCO
def 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 ARCO
from 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

#GRAFO
from 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/Unid
ad_III/Unidad%20III_6.htm
https://www.youtube.com/results?search_query=diccionarios+en+python
https://www.youtube.com/results?search_query=tuplas+en+python
https://www.youtube.com/watch?v=xBpKwMd4J0U
https://www.youtube.com/results?q=cadenas+de+caracteres+en+python
https://www.youtube.com/watch?v=lIvtF1U1lDs
https://www.youtube.com/watch?v=_c8fMTjO-es
https://www.youtube.com/watch?v=o3Q6TnCcp-c
https://www.youtube.com/watch?v=7BvBEIzJrC8
https://www.youtube.com/watch?v=TCvC12p_Fg4
https://www.youtube.com/watch?v=vdqt8OZ-wYQ
https://www.youtube.com/watch?v=IqUKF43IDec
https://www.youtube.com/watch?v=gmUq8ydZcuU
https://www.youtube.com/watch?v=8yF8fo7rNvQ

También podría gustarte