sesión 15: funciones (1). 2009/1 circuitos digitales iii 2010/1 circuitos digitales iii 2010/1...

40
Informática I Sesión 15: Funciones (1)

Upload: maria-isabel-jimenez-iglesias

Post on 24-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

Informática ISesión 15: Funciones (1)

Page 2: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Ejemplos

Partes de una función

Funciones

Introducción a las funcionesIntroducción a las funciones

A continuación…A continuación…

Page 3: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Estructuras Básicas de los programasEstructuras Básicas de los programas

EncabezadoTitulo:Autor:Fecha:Descripción:

Ingreso de DatosProcesoInforme de resultados

Page 4: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Se tiene un solo archivo fuente. Todo lo que hace el programa se implementa

dentro de la función principal. Sólo hemos declarado "variables locales".

Estructuras de los programas vista hasta el momento

Estructuras de los programas vista hasta el momento

Page 5: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

print(" Ingrese valor: ") x = int(input()) print(" valor: ", x)

print(" Ingrese valor: ") y = int(input()) print(" valor: ", y)

print(" La suma es: ") z = x+y print(" valor: ", z)

Código Repetitivo y engorroso

1

1

2

2

2

Problemas de esta metodologíaProblemas de esta metodologíaRepetición de código

Page 6: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Mejorar el programa de las raices de modo que calcule la raiz cuadrada, la raiz cubica para cualquier valor de x y epsilon.

6

# Ingreso de datosx = float(input("Ingrese el numero: ")) epsilon = float(input("Ingrese el valor de epsilon: "))

# Parte del programa que calcula la raiz cuadradaguesses = 0 low = 0.0 high = max(1.0, x) ans = (high + low)/2.0 while abs(ans**2 - x) >= epsilon: guesses += 1 if ans**2 < x: low = ans else: high = ans ans = (high + low)/2.0

# Despliegue de la raiz cuadradaprint()print(ans, 'es aproximadamente la raiz cuadrada de', x )print('Hubo', guesses, 'intentos')...

Problemas de esta metodologíaProblemas de esta metodología

Page 7: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia7

...# Parte del programa que calcula la raiz cubicaguesses2 = 0 low2 = 0.0 high2 = max(1.0, x) ans2 = (high2 + low2)/2.0 while abs(ans2**3 - x) >= epsilon: guesses2 += 1 if ans2**3 < x: low2 = ans2 else: high2 = ans2 ans2 = (high2 + low2)/2.0

# Despliegue de la raiz cubicaprint()print(ans2, 'es aproximadamente la raiz cubica de', x )print('Hubo', guesses2, 'intentos')

Problemas de esta metodologíaProblemas de esta metodología

Page 8: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Salida en pantalla y valores finales de las variable del programa anterior.

8

Problemas de esta metodologíaProblemas de esta metodología

Page 9: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Reutilizar un código ya hecho en otro programa más grande:

los nombres de las variables deben ajustarse al nuevo programa

copiar el mismo código en todos los lugares donde se necesite

si se quiere modificar el código que se copió, será necesario modificar todas las copias

9

Problemas de esta metodologíaProblemas de esta metodología

Page 10: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Solución al problema: USO DE FUNCIONES

Solución al problema: USO DE FUNCIONES

• Programación repetida.• A medida que el problema se hace mas

complejo la solución algorítmica tiende a crecer mucho y hacerse mas difícil de entender.

• Poca reutilización de código.

Problemas de esta metodologíaProblemas de esta metodología

Page 11: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

2• Al hacer modificaciones es más fácil sobre

un módulo en particular que en todo el algoritmo.

3

• En cuanto a los resultados, se probarán mucho mejor comprobando si cada módulo da el resultado correcto que si se intenta probar de un golpe todo el programa

1• Al dividir el problema en módulos o partes

se comprende más fácilmente

Ventajas del uso de funcionesVentajas del uso de funciones

Page 12: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

PROCESO

MOD 1

MOD 1.1

MOD 1.2

MOD 1.1.1

MOD 1.1.2

MOD 1.2.1

MOD 1.2.2

MOD 2

MOD 2.1

MOD 2.2

MOD 2.1.1

MOD 2.1.2

MOD 2.2.1

MOD 2.2.2

=

=

=

=

=

=

=

Ventajas del uso de funcionesVentajas del uso de funciones

Page 13: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Ejemplos

Partes de una función

Funciones

Introducción a las funciones

Funciones

A continuación…A continuación…

Page 14: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Conjunto de instrucciones que realizan una acción especifica y que tienen un nombre que las representa.

Una función sirve para facilitar la programación, ahorrar espacio, tiempo y para facilitar la portabilidad de los programas.

print (“El valor es:”, x)

FuncionesFunciones

Page 15: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

La forma más razonable de encarar el desarrollo de un programa complicado es aplicar lo que se ha dado en llamar "Programación Top – Down”.

Esto implica que, luego de conocer cual es la meta a alcanzar, se subdivide esta en varias tareas.

Luego a estas se las vuelve a dividir en otras menores. Y así se continúa hasta llegar a tener un gran conjunto de pequeñas y simples tareas.

Luego sólo queda resolver cada una de ellas por separado.

FuncionesFunciones

Page 16: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

principal()

f1() f2() f3()

f4()

FuncionesFunciones

Page 17: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

______return

-------- -------- Func1() -------- -------- Func2() -------- -------- ----

Func3()----return

______return

Func3

Func1

Func2

Programa

17

FuncionesFunciones

Page 18: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

FuncionesFunciones

El uso de funciones permite dividir grandes tareas.

Se ahorra programación repetida. Se evita reinventar la rueda gracias a la

reutilización de código. Hace que los programas sean más modulares,

mas fáciles de leer y mas fáciles de editar .

Page 19: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

FuncionesFuncionesLas funciones permiten agrupar una serie de operaciones de tal manera que se puedan utilizar más tarde sin tener que preocuparnos por cómo están implementadas, simplemente sabiendo lo que harán.

El uso de funciones es una práctica común y recomendable ya que permite modularizar nuestro código, simplificando así el desarrollo y la depuración del mismo.

Page 20: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Programa que recibe el radio de una esfera y calcula el volumen y el área de la superficie de la esfera y los muestra.

r = leaRadio (); v= calVolumen (r);a= calArea (r);muestreArVol (a,v);

EjemploEjemplo

Page 21: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

FuncionesFunciones

Una función es un segmento de código que ha sido encapsulado con un nombre para ser fácilmente reutilizado en diferentes partes de un programa o en otros programas.

21

Page 22: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Ejemplos

Partes de una función

Funciones

Introducción a las funciones

Partes de una función

A continuación…A continuación…

Page 23: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Partes de una FunciónPartes de una Función

En el momento de crear mi_función debo seguir 2 pasos fundamentales:

1• Definición de la función

2• Llamado a la función

Page 24: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Definición de una FunciónDefinición de una Función

def nombre(param_1, param_N):

Palabra reservada que indica que estamos creando una función (definición de una función)

def

Es el nombre de la función es el nombre que le damos al conjunto de instrucciones que ella representa.

nombre

Son todos aquellos parámetros que la función necesita para su funcionamiento. Si la función no necesita parámetros se dejan los paréntesis vacios.

parametros

Page 25: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Definición de una FunciónDefinición de una Función

Definición de una Función:

Retomando la función que calcula el máximo de dos números anteriormente mostrada:

25

def nombre de la funcion(lista de parametros formales): cuerpo de la funcion

nombre de la función Parametros

Cuerpo de la funcion

def mini(x, y): if x < y: return x else: return y

x

ymenor

mini

Page 26: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Definición de una FunciónDefinición de una Función

Una función que calcula el máximo de dos números sería:

26

def mini(x, y): if x < y: return x else: return y

Inputs

Process

Output

definición de una función

nombre de la función

datos de entrada (parámetros formales)

dato de salida e interrupción de la función

Page 27: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

def mi_funcion(i, j): def otra_funcion():        def otra_mas(p) ; def  la_ultima_funcion(z, y, x) ;

def nombre(lista_Parametros):

Ejemplo definición de funcionesEjemplo definición de funciones

Page 28: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Una vez se ha definido la función, podemos pasar a la fase en el que la funcion ya se puede utilizar.

varRetorno = nomb_funcion(variables)

Para hacer que las instrucciones contenidas en una función, se ejecuten en determinado momento, no es necesario más que escribir su nombre como una línea de sentencia en el programa.

raiz=sqrt(a)print (¨el valor es:¨, val )

2 Llamado a la funciónLlamado a la función

Page 29: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia29

Convencionalmente los nombres de las funciones se escriben en minúscula y siguen las reglas de las variables, se distinguen de las variables porque van seguidas de parentesis.

Llamado a la funciónLlamado a la función

Page 30: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Ejemplos

Partes de una función

Funciones

Introducción a las funciones

Ejemplos

A continuación…A continuación…

Page 31: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Funciones en PythonFunciones en PythonEjemplo 4 – Recapitulando un poco: Dado el siguiente código: ¿Cuales serán los valores correspondientes a las variables a, b, c, d y e? ¿Cuál será la salida en pantalla del programa?

31

def mini(x,y): if (x<y): menor = x return menor else: menor = y return menor

x, y, z = 1, 2, 3 a = mini(1,2)b = mini(x + z,y - 1)c = mini(4,(x+1)*z)d = mini(mini(2,3),4)e = mini(mini(2,3),mini(z+y,3))for i in range(4): print(mini(i,z)) z-=1

Código online

Archivo: example4_clase13.py

Page 32: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Funciones en PythonFunciones en PythonEjemplo 5 – Sin funciones: Desarrolle un programa que convierta °C a °F. Recuerde que la expresión de conversión es: °F = (9/5)°C + 32.

32

C = float(input("Ingrese los °C: "))F = (9.0/5)*C + 32print(C,"°C =",F,"°F")

Código online

Archivo: example5_clase13.py

Page 33: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Funciones en PythonFunciones en PythonEjemplo 6 – Con funciones: Desarrolle un programa que convierta °C a °F. Recuerde que la expresión de conversión es: °F = (9/5)°C + 32. Sin embargo, para este caso haga uso de funciones

33

def celcius_to_fahrenheit(c): f = (9.0/5)*c + 32 return f

C = float(input("Ingrese los °C: "))F = celcius_to_fahrenheit(C)print(C,"°C =",F,"°F")

Código online

Archivo: example6_clase13.py

Page 34: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Using functionsUsing functions

34

Ejemplo 7 – Sin funciones: Hacer un programa que solicite la edad y el peso de dos personas y devuelva el menor peso y la menor edad de los ingresados.

age1 = int(input('Enter age of first person: ')) weight1 = int(input('Enter weight of first person: ')) age2 = int(input('Enter age of second person: ')) weight2 = int(input('Enter weight of second person: ')) if age1 < age2: young = age1 else: young = age2 if weight1 < weight2: slim = weight1 else: slim = weight2 print('The young one is', young, 'years old') print('and the slim one weights', slim, 'kilos')

Archivo: example7_clase13.py

Page 35: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Using functionsUsing functions

35

Ejemplo 7 – Con funciones: Hacer un programa que solicite la edad y el peso de dos personas y devuelva el menor peso y la menor edad de los ingresados.

Page 36: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Using functionsUsing functions

36

Ejemplo 7 – Con funciones:

Parte 1: Definición de la función

def mini(x, y): if x<y: menor = x else: menor = y return menor

x

ymenor

mini

Page 37: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Using functionsUsing functions

37

Ejemplo 8 – Con funciones:

Parte 2: Haciendo uso de las funciones creadas

def mini(x, y): if x<y: return x else: return y age1 = int(input('Enter age of first person: '))weight1 = int(input('Enter weight of first person: ')) age2 = int(input('Enter age of second person: ')) weight2 = int(input('Enter weight of second person: ')) young = mini(age1, age2) slim = mini(weight1, weight2) print('The young one is', young, 'years old') print('and the slim one weights', slim, 'kilos')

x

ymenor

mini

age1

age2young

Archivo: example8_clase13.py

Page 38: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Using functions - Comparison

Using functions - Comparison

38

Sin Funciones Con Funciones

Page 39: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Using functions - Comparison

Using functions - Comparison

39

def mini(x, y): if x<y: return x else: return y age1 = int(input('Enter age of first person: '))weight1 = int(input('Enter weight of first person: ')) age2 = int(input('Enter age of second person: ')) weight2 = int(input('Enter weight of second person: ')) young = mini(age1, age2) slim = mini(weight1, weight2) print('The young one is', young, 'years old') print('and the slim one weights', slim, 'kilos')

age1 = int(input('Enter age of first person: ')) weight1 = int(input('Enter weight of first person: ')) age2 = int(input('Enter age of second person: ')) weight2 = int(input('Enter weight of second person: ')) if age1 < age2: young = age1 else: young = age2 if weight1 < weight2: slim = weight1 else: slim = weight2 print('The young one is', young, 'years old') print('and the slim one weights', slim, 'kilos')

definición de la función

invocación o llamado de la función

parámetros formales

argumentos

Page 40: Sesión 15: Funciones (1). 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

• Realice programa que sume dos numeros. Hagalo utlizando una funcion que se llame suma()

Definición

Llamado

EjemplosEjemplos