0% encontró este documento útil (0 votos)
14 vistas

Componentes de Un Programa Python

El documento describe los componentes básicos de un programa como funciones, módulos y clases. Explica conceptos como funciones preconstruidas, funciones definidas por el programador, parámetros, argumentos, ejecución de funciones y su flujo. También incluye ejemplos para ilustrar estos conceptos.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas

Componentes de Un Programa Python

El documento describe los componentes básicos de un programa como funciones, módulos y clases. Explica conceptos como funciones preconstruidas, funciones definidas por el programador, parámetros, argumentos, ejecución de funciones y su flujo. También incluye ejemplos para ilustrar estos conceptos.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 40

Componentes de un

programa

1 /40
COMPONENTES
Módulos

Clases

Funciones

Función (o programa) principal 2/45

Típicamente un programa se escribe usando algunos o


todos esos componentes.
2 /40
FUNCIONES
Programación modular: forma o paradigma de
desarrollo de programas que consiste en dividir
el programa en partes más pequeñas con el
objetivo de simplificar el diseño de la solución.

A cada parte se le llama función.


3/45
 Otros nombres comunes: subprograma, módulo,
procedimiento, rutina.

3 /40
Programa: compuesto por funciones
Entradas
Función 1.1
Función 1

Función 1.x

Función 2.1
Función 2
Programa
Función 2.y

Función n

Salidas 4 /40
Generalmente un programa está construido por
un grupo de funciones

Cada función realiza una parte del programa.

Los resultados parciales que cada función


produce contribuyen a obtener los resultados
5/45

finales del programa.

5 /40
Modelo general de una función:

entradas Función Salidas/Resultados

Note que es igual al modelo de un programa.

6 /40
Tipos

 Preconstruidas (Built-in functions)

 Desarrolladas por el programador

7 /40
Funciones preconstruidas
(Built-in functions)
Funciones que tiene el lenguaje

Vienen incorporadas con el lenguaje

Están disponibles para uso del programador

8 /40
Para usar una función la debemos llamar:
ponemos su nombre y entre paréntesis le
enviamos los argumentos, es decir, los valores
que ocupa para realizar la tarea

nombre_función(valor1, valor2, …)
argumentos
resultados
La función se ejecuta y cuando termina da sus
resultados
9 /40
Ejemplos del uso de funciones
 abs(expresión)
Obtener valor absoluto
abs(-3)  llamar a la función: se ejecuta
3  da resultados
 pow(base, exponente)
Elevar base al exponente (base ** exponente)
pow(4, 2)
16.0
10 /40
Ejemplos de uso de funciones
 divmod(dividendo, divisor)
Calcular división entera y residuo (operadores // y %)
divmod(7, 3)
(2, 1)

11 /40
Los argumentos son expresiones (constantes,
variables, funciones, combinación de: constantes,
variables, funciones, operadores)

Primero se obtienen los valores de la expresión y


dichos valores se usan como argumentos de la
función
x=2
pow(5, x+1)
125
12 /40
Podemos almacenar en variables el
resultado de una función para procesos
posteriores
b=5
e=3
y = pow(b, e)
x1 = y + 2
x2 = y - 2
13 /40
Funciones para
conversión de tipos de datos

Python provee un conjunto de funciones


que convierten datos de un tipo de datos a
otro tipo de datos

14 /40
Función int
 Convierte valores numéricos o strings con solo
números enteros a un valor numérico entero. Si tiene
decimales los elimina (trunca)
int(3.9)
3
int(-5.3)
-5
int("32")
32
int("val") # también da error si el string no es un número entero
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
int("val")
ValueError: invalid literal for int() with base 10: 'val' 15 /40
Función float
 Convierte valores numéricos o strings con solo
números a un valor numérico flotante
float(3.1421)
3.1421
float(2)
2.0
float("89.23")
89.23
16 /40
Función str
 Convierte cualquier tipo de datos al tipo string
str(123)
'123'
str(3.14159)
'3.14159'
str("programación")
'programación'
str(True)
'True'
17 /40
Función para leer datos
Función input([prompt])
 Cuando el programa encuentra esta instrucción detiene
la ejecución para esperar que le den un valor por medio
del teclado
 La función es para darle datos al programa
 Si se especifica el prompt este es desplegado en el
dispositivo de salida (normalmente el monitor)
 El prompt guía al usuario sobre el dato que va a dar
 El valor es leído como un dato de tipo string

materia = input(" Materia que estamos estudiando: ")


 Materia que estamos estudiando: programación
print(materia)
programación 18 /40
Si ocupamos que el dato sea numérico
entero entonces convertimos el string leído
a ese tipo de datos
valor = int(input("Número: "))

19 /40
Función para imprimir datos
Función print([object, ...])  forma básica

 Imprimir o desplegar valores

valor = int(input("Número: ")) # Supongamos: -5

print("El valor absoluto de", valor, " es", abs(valor))


El valor absoluto de -5 es 5

20 /40
Funciones dentro de funciones
Se refiere a que una función puede tener
como argumentos el resultado de otras
funciones
Se evalúan primero las funciones que están
dentro de otra funciones

Ejemplo
y = pow(4, abs(a + 2))

21 /40
FUNCIONES CONSTRUIDAS
POR EL PROGRAMADOR
Definición de funciones del programador
def nombre_función (parámetro1, parámetro2, …):
cuerpo de la función

Ejemplo: función construida por el programador: recibe


un parámetro (valor), calcula una fórmula y da como
resultado ese cálculo 22/45

def convertir_c_f(grados_celsius):
grados_fahreinheit = grados_celsius * 9/5 + 32
return grados_fahreinheit
22 /40
A cada función le asignamos un nombre

Los nombres de las funciones siguen las mismas reglas de los


nombres de variables

Por lo general la definición de las funciones tienen


parámetros, es decir variables que van a recibir los
argumentos (valores enviados a la función)
23/45
El cuerpo de la función son las instrucciones que pertenecen
a la función y van indentadas (sangría) respecto a la palabra
reservada def

23 /40
IMPORTANCIA DE LA INDENTACIÓN EN
PYTHON (sangría, tabulación):

 Establece el bloque de instrucciones que pertenece a


determinados componentes del lenguaje
24/45

 En funciones: establece las instrucciones asociadas


a una función específica
24 /40
EJECUCIÓN DE FUNCIONES
Después de definir una función la podemos usar, para ello hay que
llamarla: ponemos su nombre y entre paréntesis los argumentos
(valores) que ocupamos enviarle para realizar la tarea
nombre_función(valor1, valor2, …)
Sino tiene argumentos se pone el nombre y los paréntesis
Argumentos: se asignan a los parámetros en la definición de la
función en una relación de 1 a 1 de izquierda a derecha
25/45

Parámetros son las variables en las cuales la función recibe los


argumentos
def nombre_función(parámetro1, parámetro2, …):
cuerpo de la función 25 /40
La definición de una función no se ejecuta, es
decir NO altera el flujo de ejecución del programa
La ejecución de una función se realiza cuando es
llamada y esa ejecución SI altera el flujo de
ejecución del programa:
 Cuando se llama a una función el flujo de ejecución
26/45
inmediatamente se traslada a la función
 Cuando la función termina de ejecutarse, el flujo de
ejecución regresa a la instrucción desde donde fue
llamada, trayendo los resultados retornados 26 /40
Ejemplo:
definición y ejecución de funciones
# definición de la función
# recibe un valor (argumento) que se asigna a una variable (parámetro)
def convertir_c_f(grados_celsius):
grados_fahreinheit = grados_celsius * 9/5 + 32
return grados_fahreinheit # termina la ejecución de la función

# función (programa) principal:


# Controla el flujo de ejecución del programa.
# La ejecución de cualquier programa inicia en esta sección. 27/45
# Se compone de las instrucciones que no pertenecen a alguna función, por
# tanto se pueden ejecutar directamente cuando se ejecuta el programa.
gc = float(input("Temperatura en grados Celsius: "))
gf = convertir_c_f(gc) # en este caso el valor retornado es asignado a una
variable
print("Conversión a grados Fahreinheit: ", gf) 27 /40
Codificar en funciones
# Convertir temperatura en grados Celsius a grados Fahreinheit
# Entradas: temperatura en grados Celsius
# Salidas: temperatura en grados Fahreinheit

# leer dato de entrada


grados_celsius = float(input("Temperatura en grados Celsius: "))
# aplicar fórmula para la conversión
grados_fahreinheit = grados_celsius * 9/5 + 32
# imprimir resultado
print("Conversión a grados Fahreinheit: ", grados_fahreinheit)

Recibir entradas / Retornar salidas Leer entradas / Imprimir salidas


# ENTRADAS: SE RECIBEN COMO PARÁMETROS # ENTRADAS: SE LEÉN EN LA FUNCIÓN
# SALIDAS: SE RETORNAN EN LA FUNCIÓN # SALIDAS: SE IMPRIMEN EN LA FUNCIÓN
def convertir_c_f(grados_celsius ): def convertir_c_f():
# aplicar fórmula para la conversión # leer dato de entrada
grados_fahreinheit = grados_celsius * 9/5 + 32 grados_celsius = float(input("Temperatura en grados Celsius: "))
# retornar resultado # aplicar fórmula para la conversión
return grados_fahreinheit grados_fahreinheit = grados_celsius * 9/5 + 32
# imprimir resultado
# programa principal print("Conversión a grados Fahreinheit: ", grados_fahreinheit)
gc = float(input("Temperatura en grados Celsius: ")) return
gf = convertir_c_f(gc)
print("Conversión a grados Fahreinheit: ", gf) # programa principal
convertir_c_f()

28 /40
Obtener resultados de la función
El programa puede ejecutar una función todas las veces
que necesite
Cuando la función empieza a ejecutarse, se van creando
en memoria las variables locales a esa función, es decir
variables que se pueden usar exclusivamente dentro del
cuerpo de la función
Variables locales son:
29/45
 Los parámetros de las funciones
 Las variables que se crean dentro de una función (en asignaciones)

29 /40
Importante: cuando la función termina de
ejecutarse todas las variables locales se borran
de la memoria
Por esta razón cuando ocupamos conservar
resultados después de terminar la ejecución de
la función, dichos resultados deben ser30/45
retornados por la función
Los valores retornados se envían a la
instrucción que llamó a la función
30 /40
Instrucción para retornar resultados
return [expresión1, ... , expresiónN]

31/45

31 /40
La ejecución de una función puede terminar
bajo dos condiciones:
 Cuando encuentre la instrucción return

 Cuando no tenga instrucciones por ejecutar

Si el return no indica alguna expresión


32/45 o la

ejecución termina porque no tiene más


instrucciones por ejecutar, automáticamente se
retorna el valor especial None (Nada)
32 /40
DOCUMENTACIÓN DEL
PROGRAMA FUENTE
Comentarios (notas) en lenguaje natural que
ponemos en el programa para explicar lo que hace

Buena práctica en la construcción de programas:


colocar en el fuente suficientes comentarios que
permitan mejorar el entendimiento del programa
33/45
Los comentarios no son analizados por el lenguaje
de programación, no tienen efecto sobre la
ejecución del programa

33 /40
En Python podemos documentar el código de dos
formas:

 Comentarios a nivel de línea

 Comentarios multilínea
34/45

34 /40
Comentarios a nivel de línea
 Se establecen con el símbolo “#”
# Calcular área de un rectángulo lo que hace la función
# Entradas: base, altura
# Salidas: área del rectángulo
# Restricciones: base y altura son números mayores que cero
# Autor:
35/45
# Fecha de creación:
def area_rectangulo(base, altura):
area = base * altura # cálculo del área
return area
35 /40
Documentación sugerida

 Al inicio de cada programa


 Función del programa
 Entradas
 Salidas
 Restricciones o limitaciones
 Autor 36/45
 Fecha de creación
 Historial de modificaciones: Modificación/Autor/Fecha

36 /40
Comentarios multilínea
 Se establecen con tres comillas (dobles o
simples) al inicio y al final del comentario
def area_rectangulo(base, altura):
"""Calcular área de un réctangulo.
Entradas: base y altura.
Salidas: área del réctangulo. 37/45
Restricciones: la base y la altura deben ser números
mayores que cero."""
area = base * altura
return area 37 /40
Otra documentación sugerida

 En cada componente del programa, por ejemplo


una función, se sugiere documentar lo que hace

 Cualquier otra parte del programa que tenga un


aspecto importante o especial también debe ser
38/45

documentada

38 /40
Práctica inicial de
desarrollo de funciones

Trabajo extraclase

39/45

39 /40
“El diálogo, basado en sólidas leyes morales,
facilita la solución de los conflictos y favorece
el respeto de la vida, de toda vida humana.
Por ello, el recurso a las armas para dirimir las
controversias representa siempre una derrota de
la razón y de la humanidad.”
Juan Pablo II
/45

40 /40

También podría gustarte