Está en la página 1de 11

Funciones

Programacion
http://progra.usm.cl

Uso de funciones

Calculo del valor absoluto

de x usando la defincion:

Calculo del valor absoluto


abs:
de x usando la funcion

x = float(raw_input())

x = float(raw_input())

if x < 0:
a = -x
else:
a = x

a = abs(x)

print a

print a

Uso de funciones

Calculo del factorial


n! = 1 2 n:

Nos gustara poder hacerlo


as:

n = int(raw_input())

n = int(raw_input())
f = factorial(n)
print f

f = 1
for i in range(1, n + 1):
f = f * i
print f

de funciones
Definicion

def factorial(n):
prod = 1
for i in range(1, n + 1):
prod = prod * i
return prod
n = int(raw_input())
f = factorial(n)
print f

Conceptos
Parametros
Variables locales de factorial
Variables globales
Valor de retorno
def factorial(n):
prod = 1
for i in range(1, n + 1):
prod = prod * i
return prod
n = int(raw_input())
f = factorial(n)
print f

Ruteo
Globales
f
n

Locales
i prod

4
4
1
1
1
2
2
3
6
4
24
24

def factorial(n):
prod = 1
for i in range(1, n + 1):
prod = prod * i
return prod
n = int(raw_input())
f = factorial(n)
print f

Probar funciones en la consola


>>> def factorial(n):
...
prod = 1
...
for i in range(1, n + 1):
...
prod = prod * i
...
return prod
...
>>> factorial(5)
120
>>> factorial(8)
40320
>>> factorial(0)
1

Ejercicio: coeficiente binomial

Escriba un programa que calcule el coeficiente binomial:


 
n
n!
=
k
(n k)! k!
n: 6
k: 3
(n k) = 20


Solucion
def factorial(n):
prod = 1
for i in range(1, n + 1):
prod = prod * i
return prod
def coef_binomial(n, k):
fn = factorial(n)
fk = factorial(k)
fnk = factorial(n - k)
return fn / (fnk * fk)
n = int(raw_input('n: '))
k = int(raw_input('k: '))
print '(n k) =', coef_binomial(n, k)

Ejercicio: contar letras


contar para completar este programa:
Escriba la funcion
oracion = str(raw_input('Ingrese oracion'))
vocales = 'aeiou'
for i in range(5):
v = vocales[i]
c = contar(v, oracion)
print v, 'aparece', c, 'veces'
Ingrese oracion: viva la programacion
a aparece 4 veces
e aparece 0 veces
i aparece 2 veces
o aparece 2 veces
u aparece 0 veces


Solucion
def contar(letra, oracion):
c = 0
n = len(oracion)
for i in range(n):
if oracion[i] == letra:
c = c + 1
return c
oracion = str(raw_input('Ingrese oracion'))
vocales = 'aeiou'
for i in range(5):
v = vocales[i]
c = contar(v, oracion)
print v, 'aparece', c, 'veces'

También podría gustarte