Diferencia entre revisiones de «Usuario:Lmorillas/modulo programacion/python/intro funciones»

De WikiEducator
Saltar a: navegación, buscar
Línea 35: Línea 35:
 
</source>
 
</source>
 
}}
 
}}
 
  
 
{{Definicion|
 
{{Definicion|
Línea 79: Línea 78:
 
Escribe un programa que cree en pantalla un triángulo con tres clics del ratón (usa graphics).
 
Escribe un programa que cree en pantalla un triángulo con tres clics del ratón (usa graphics).
 
El programa calculará el perímetro del triángulo y lo mostrará con un Text
 
El programa calculará el perímetro del triángulo y lo mostrará con un Text
 +
}}
 +
 +
{{Actividad|
 +
Title=Ejercicio: Calcula el perímetro de un triángulo|
 +
TOCdepth=2|
 +
Escribe un programa que cree en pantalla un triángulo con tres clics del ratón (usa graphics).
 +
El programa calculará el perímetro del triángulo y lo mostrará con un Text
 +
}}
 +
 +
{{Actividad|
 +
Title=Ejercicio: Suma números|
 +
TOCdepth=2|
 +
Escribe (y comprueba) la definición de dos funciones:
 +
sumaN(n)  --> Devuelve la suma de los primeros n números naturales
 +
sumaNCubos(n) --> Devuelve la suma de los cubos de los primeros n números naturales
 +
}}
 +
 +
{{Actividad|
 +
Title=Ejercicio: Dibuja cara|
 +
TOCdepth=2|
 +
Escribe una función:
 +
dibuja_cara(centro, tam, ventana)
 +
* centro es un Point,
 +
* tam es un entero
 +
* ventana es un GraphWin donde se dibujará la cara
 +
}}
 +
 +
{{Actividad|
 +
Title=Ejercicio: Mover objeto|
 +
TOCdepth=2|
 +
Escribe una función según la siguiente especificación:
 +
mover_a(forma, nuevo_centro)  --> mueve la forma a un nuevo punto.
 +
* forma es un objeto de graphics que tiene el método getCenter
 +
* nuevo_centro es un Point
 
}}
 
}}

Revisión de 10:52 4 nov 2011


Objetivos

Icon objectives.jpg

Objetivos

  • Entender por qué los programadores dividen los programas en funciones que cooperan entre sí
  • Definir nuevas funciones con Python
  • Entender los detalles de una llamada a una función y el paso de parámetros en Python.
  • Escribir programas que usen funciones





¿Qué son funciones?

Icon preknowledge.gif

¿Qué son funciones?

Las funciones son una especie de subprogramas. Primero definimos la función, luego la utilizamos (llamar o invocar la función)




Example

Icon casestudy.gif

Ejemplo

# Definición
def saluda():
    print "Buenos días"
 
# Llamada
saluda()
# --> Buenos días
 
# Parámetros
def saluda(amigo):
    print "Buenos días", amigo
 
saluda('Pilar')
# --> Buenos días, Pilar




Proceso de llamada a una función

Icon define.gif

Proceso de llamada a una función

Cuando Python llama a una función inicia el siguiente proceso:

  1. El programa que hace la llamada suspende su ejecución en el punto de la llamada
  2. Asigna los valores a los parámetros formales de la función
  3. Ejecuta el cuerpo de la función
  4. Devuelve el control al punto siguiente en que se llamó a la función.



Obteniendo resultados de una función

Icon define.gif

Obteniendo resultados de una función

Hay funciones que devuelven valores

def cuadrado(num):
    return num * num
 
>>> cuadrado(3)
9
>>> x = 5
>>> y = cuadrado(x)
>>> print y
25



Example

Icon casestudy.gif

Ejemplo

Función que calcula la distancia entre dos puntos (teorema de Pitágoras)

def distancia(p1, p2):
    dist = math.sqrt(cuadrado(p2.x - p1.x ) + cuadrado(p2.y, p1.y))
    return dist




Ejercicio: Calcula el perímetro de un triángulo

Icon activity.jpg

Ejercicio: Calcula el perímetro de un triángulo

Escribe un programa que cree en pantalla un triángulo con tres clics del ratón (usa graphics). El programa calculará el perímetro del triángulo y lo mostrará con un Text





Ejercicio: Calcula el perímetro de un triángulo

Icon activity.jpg

Ejercicio: Calcula el perímetro de un triángulo

Escribe un programa que cree en pantalla un triángulo con tres clics del ratón (usa graphics). El programa calculará el perímetro del triángulo y lo mostrará con un Text





Ejercicio: Suma números

Icon activity.jpg

Ejercicio: Suma números

Escribe (y comprueba) la definición de dos funciones:

sumaN(n)  --> Devuelve la suma de los primeros n números naturales
sumaNCubos(n) --> Devuelve la suma de los cubos de los primeros n números naturales





Ejercicio: Dibuja cara

Icon activity.jpg

Ejercicio: Dibuja cara

Escribe una función:

dibuja_cara(centro, tam, ventana) 
  • centro es un Point,
  • tam es un entero
  • ventana es un GraphWin donde se dibujará la cara





Ejercicio: Mover objeto

Icon activity.jpg

Ejercicio: Mover objeto

Escribe una función según la siguiente especificación:

mover_a(forma, nuevo_centro)  --> mueve la forma a un nuevo punto.
  • forma es un objeto de graphics que tiene el método getCenter
  • nuevo_centro es un Point