Taller Lenguajes de Programación
Taller Lenguajes de Programación
Taller Lenguajes de Programación
Ejemplo en Python:
print 'Hola,',nombre
- Estructura selectiva:
if nombre.isdigit():
elif nombre:
print 'Hola,',nombre
else:
Paradigma declarativo.
• Funcional:
>>> def incrementar(x):
... return x + 1
>>> numeros = map(incrementar,[2,4,10,30,50])
>>> print numeros
[3, 5, 11, 31, 51]
>>> max([5,3,2,6,8])
8
>>> min([5,3,2,6,8])
2
• Lógico:
for letra in nombre:
vocales += 1 if letra in 'aeiou' else 0
a = True ; b = False ; c = True ; d = True
if a and b and c and d: print 'Todo cierto'
if all([a,b,c,d]): print 'Todo cierto'
if a or b or c or d: print 'Al menos uno es cierto'
if any([a,b,c,d]): print 'Al menos uno es cierto'
Paradigma orientado a objetos.
Encapsulamiento:
class Persona:
def __init__(self, nombre):
self.nombre = nombre
print "Nace %s" % self.nombre
def __str__(self):
return self.nombre + ' dice "Hola"'
• Herencia:
class Empleado(Persona):
def __init__(self, nombre, cargo):
Persona.__init__(self, nombre)
self.cargo = cargo
print "%s es %s" % (self.nombre, self.cargo)
• Polimorfismo:
a = Persona("Pablo") # Nace Pablo
b = Persona("Juan") # Nace Juan
print b # Juan dice "Hola"
c = Empleado("Esteban","Chofer") # Nace Esteban
# Esteban es Chofer
Paradigma Funcional:
(define (factorial x)
(if (= x 0)
(* x (factorial (- x 1)))))
(factorial 8)
40320
(factorial 30)
265252859812191058636308480000000
Paradigma Lógico:
padrede('juan', 'maria'). % juan es padre de maria
padrede('pablo', 'marcela').
padrede('carlos', 'debora').
hijode(A,B) :- padrede(B,A).
familiarde(A,B) :- padrede(A,B).
familiarde(A,B) :- hijode(A,B).
familiarde(A,B) :- hermanode(A,B).
?- hermanode('juan', 'marcela').
yes
?- hermanode('carlos', 'juan').
no
?- abuelode('pablo', 'maria').
yes
?- abuelode('maria', 'pablo').
No