Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fundamentos de programación (Semana 5) - Coggle Diagram
Fundamentos de programación (Semana 5)
FUNCIONES
Definición
Subprogramas o rutinas reutilizables con entradas (parámetros) y salidas (return)
Principio "Divide y vencerás"
Divide problema principal
Subproblemas menores
Cada subproblema
Una función específica
Unión de soluciones
Solución general
Flujo
No se ejecutan si no se realiza una llamada explícita
TIPOS DE FUNCIONES
Integradas (Built-in)
Directas del lenguaje (sin importar)
Ejemplos
range()
len()
round()
De Módulos
Requieren importación previa
Ejemplos
random
rd.randint()
rd.choice()
math
math.sqrt()
Definidas por el usuario
Creadas a medida por el programador
SINTAXIS Y PARÁMETROS
Cabecera
def nombre_funcion(parámetros):
Nombre
Único y descriptivo
Sangría
Obligatoria
Delimita el bloque
Mecanismos de Llamada
En orden (Posicionales)
Los valores se asignan en la misma posición en la que se definieron
Por nombre (Keywords)
Se especifica nombre_parametro = valor
Permite invertir el orden en la llamada
Ejemplo
nota3=0, nota1=n1
Valores Predeterminados (Opcionales)
Permiten asignar un valor por defecto en el def
Ejemplo
def aprueba(n1, n2, nota3 = 0):)
Si se omite en la llamada, usa el valor por defecto sin caerse
Regla
Deben ir siempre al final de la lista de parámetros
RETORNO DE DATOS
Diferencia clave
return no es igual que print()
print() solo muestra texto
return extrae el dato para usarlo fuera de la función
Flujo
La función muere inmediatamente en el primer return ejecutado
Ignora lo que esté abajo
Tipos de Salida
Nulo
Retorna None
Si no hay return o está vacío
Múltiples valores
Separados por comas (return max, min)
Requisito
Recibir con igual número de variables fuera de la función
Un valor
Retorna una variable o expresión
ALCANCE DE VARIABLES
Locales
Parámetros y variables internas de la función
Restricción
Inaccesibles desde el programa principal (NameError)
Globales
Variables del programa principal
Regla
La función puede leerlas, pero modificarlas internamente es mala práctica
CONFIGURACIÓN CONDICIONAL
Propósito
Bifurcar el flujo lineal evaluando expresiones booleanas (True / False)
Estructura
if
Obligatorio
Evalúa la primera condición
elif
Opcional
Añade nuevos caminos si las condiciones anteriores fallan
Evaluación ordenada
else
Opcional
Camino por descarte cuando todo lo anterior es falso
no lleva condición
Exclusión
Solo se ejecuta un camino a la vez
Al entrar a un bloque, se rompe la estructura y vuelve al flujo lineal