Download Funciones

Document related concepts
no text concepts found
Transcript
Funciones
D I V I D E Y V E N C E R Á S Ing. Roberto Martínez Román -­‐ [email protected] ¿Qué es una función?
—  Las funciones en matemáticas, definen relaciones entre valores. Por ejemplo, f(x) = sin(x) Si hacemos que x sea un valor particular como 45 grados, la función realiza un cálculo y nos regresa el resultado 0.7071. Decimos que x es el argumento y que la función regresa un valor. Ing. Roberto Martínez Román -­‐ [email protected] Funciones
—  Una función es un grupo de instrucciones dentro del programa que realiza una tarea única. —  Las funciones ayudan al programador a resolver un problema de manera más simple. En lugar de escribir un programa que resuelve un problema grande, se escriben varias funciones que resuelven problemas pequeños. Ing. Roberto Martínez Román -­‐ [email protected] Funciones
Tomando de: Starting Out with Python, 2nd. edition Copyright 2012, Pearson Education, Ing. Roberto Martínez Román -­‐ [email protected] Funciones en Python
—  Las funciones en Python tienen las siguientes características: ¡  Representan una operación simple que será ejecutada. ¡  Toma cero o más parámetros como entrada. ¡  Pueden regresar, o no, un valor como salida. La función es importante, porque representa el concepto de encapsulamiento. Ing. Roberto Martínez Román -­‐ [email protected] Ventajas de las funciones
Código más simple Reúso de código Mejores pruebas Desarrollo más rápido Trabajo en equipo Ing. Roberto Martínez Román -­‐ [email protected] Nombre de funciones
—  Seguimos las mismas reglas que definimos para las variables. Y agregamos: ¡ 
Deben nombrarse con verbos en infinitivo. ÷  calcularImpuesto ÷  resolverEcuacion ÷  sumarListaDeValores ÷  promediar ÷  leer Ing. Roberto Martínez Román -­‐ [email protected] Definiendo funciones
—  Para definir una función en Python seguimos este formato: def nombreDeFuncion(parámetros) : instrucciones instrucciones [return valor] # Opcional Indentación obligatoria Ing. Roberto Martínez Román -­‐ [email protected] Programa con funciones
def main() : # declaración de la función print("Hola") print("Mundo") main()
# Llama a la función main Ing. Roberto Martínez Román -­‐ [email protected] Tocando música
—  Reproduciendo sonidos con el robot. beep(duraciónEnSegundos, frecuenciaEnHertz) Nota Do Re Mi Octavas y frecuencia Oc. 4 Oc. 5 Oc. 6 261.63 523.25 1046.50 293.66 587.33 1174.66 329.63 659.26 1318.51 Ing. Roberto Martínez Román -­‐ [email protected] Ejercicio
—  Reproducir el siguiente fragmento de "Memory". Ing. Roberto Martínez Román -­‐ [email protected] Frecuencia de las notas musicales
Ing. Roberto Martínez Román -­‐ [email protected] Escalas 5, 6 y 7 de las notas musicales
Escala 5 Do 5: 523.251 Do# 5: 554.365 Re 5: 587.33 Re# 5: 622.254 Mi 5: 659.255 Fa 5: 698.456 Fa# 5: 739.989 Sol 5: 783.991 Sol#5: 830.609 La 5: 880 La# 5: 932.328 Si 5: 987.767 Escala 6 Do 6: 1046.502 Do# 6: 1108.731 Re 6: 1174.659 Re# 6: 1244.508 Mi 6: 1318.51 Fa 6: 1396.913 Fa# 6: 1479.978 Sol 6: 1567.982 Sol#6: 1661.219 La 6: 1760 La# 6: 1864.655 Si 6: 1975.533 Ing. Roberto Martínez Román -­‐ [email protected] Escala 7 Do 7: 2093.005 Do# 7: 2217.461 Re 7: 2349.318 Re# 7: 2489.016 Mi 7: 2637.02 Fa 7: 2793.826 Fa# 7: 2959.955 Sol 7: 3135.963 Sol#7: 3322.438 La 7: 3520 La# 7: 3729.31 Si 7: 3951.066 Minuet in G
Ing. Roberto Martínez Román -­‐ [email protected] Ejemplo de función
p = float(input("Teclea el número de pulgadas"))
c = convertirPulgCm(p) #Llamando a la función
print ("%.2f pulgadas equivalen a %.2f cms"%(p,c))
def convertirPulgCm(pulgadas):
centimetros = pulgadas * 2.54
return centimetros
Ing. Roberto Martínez Román -­‐ [email protected] Ejemplo de función
Argumento c = convertirPulgCm(p)
Se saca una copia Parámetro def convertirPulgCm(pulgadas):
centimetros = pulgadas * 2.54
return centimetros
Ing. Roberto Martínez Román -­‐ [email protected] Ejercicios
—  Escribe una función que convierta grados Fahrenheit a grados Celsius. —  Escribe una función que convierta dólares canadienses a pesos mexicanos. —  Escribe una función que reciba la edad de una persona en años y meses enteros, y que regrese el número aproximado de días que ha vivido. —  Escribe una función que haga que la tortuga dibuje un cuadrado de lado 100. Ing. Roberto Martínez Román -­‐ [email protected] Dibujando con la tortuga
from Graphics import * lado = 500 ventana = Window("Tortuga",lado,lado) tortuga = Arrow( (lado/2, lado/2), 0 ) tortuga.draw( ventana ) tortuga.penDown() # Lista para dibujar Ing. Roberto Martínez Román -­‐ [email protected] forward(pixeles) backward(pixeles) rotate(grados) moveTo(x,y) penDown() penUp() Diseñando programas usando funciones
—  Diseño Arriba-­‐Abajo. Top-­‐Down. main() leerDatos() leerHoras() leerPagoHora() Ing. Roberto Martínez Román -­‐ [email protected] calcularNomina() leerEmpleados() imprimir() Ejercicio
—  Elabora un diseño Top-­‐Down para el siguiente problema. ¡ 
Escribe un programa que pida al usuario la altura de un triángulo equilátero y el programa lo dibuja en la pantalla. Las funciones trigonométricas están en la librería math ¡  Las funciones trigonométricas reciben RADIANES como parámetro ¡ 
Ing. Roberto Martínez Román -­‐ [email protected]