1. Tareas
Se listan algunos ejercicios sobre funciones con operaciones numéricas y otra para ser realizadas con cadenas de caracteres.
Funciones con operaciones Numéricas
2Eva2014TI_T2 Función color RGB a gris
2Eva2011TII_T1 Algoritmo de Euclides MCD
2Eva2013TII_T3 Encriptar binarios con XOR
2Eva2003TI_T1 Funciones promedio, mayor y menor
2Eva2004TII_T3 Reciclar vasos
Funciones con cadenas de caracteres
2Eva2014TII_T3 Palabras monovocalicas en frase
2Eva2015TII_T1 función lipovocal(frase)
2Eva2006TI_T3 Encriptar a Morse
2Eva2009TI_T1 Desordenar una palabra
2Eva2014TI_T1 Palabras con eco
Funciones con Arreglos - matrices
3Eva2010TI_T2 Funciones ocupados y ubica libre en matriz
3Eva2010TII_T1 Matriz con aleatorios no repetidos (desordena)
3Eva2015TII_T4 Orientar código QR (Quick Response Code)
2Eva2012TI_T3 Consumo de tinta y negativo de foto
2Eva2011TII_T2 Ubicar ficha en tablero
2. Ejercicio - Método de la burbuja (bubble sort)
Referencia: Rodríguez 7.2.1 p224, ordenamiento de burbuja wikipedia

Se dispone de una lista de la estatura de los estudiantes de una escuela, que para formar fila se requiere ordenar en forma ascendente.
X = [85,75,65,80]
La primera acción a realizar es ubicar al estudiante de menor estatura en la primera posición en la fila.
Se puede realizar comparando la estatura X[i], i=0, con las estaturas X[j], j=1, de cada estudiante que se encuentra detrás de él.
X = [85,75,65,80]
i j
Si el estudiante estudiante j es de menor estatura, deberá ocupar la posición primera i, asegurando que al menos hasta donde se ha revisado.
X = [75,85,65,80] # se intercambia
i j
Se debe intercambiar los valores entre las posiciones i vs j. El intercambio de posiciones lleva tres pasos:
- primero, se aparta al estudiante de la posición i
- segundo, se mueve al estudiante de la posición j para ocupar la posición i
- tercero, es estudiante que se apartó, se le pide que ocupe la posición del estudiante j.
Quedando la lista como la mostrada en el ejemplo anterior. Este paso es semejante a una burbuja que "asciende".
if X[j]<X[i]: #intercambia i con j
aparta = X[i]
X[i] = X[j]
X[j] = aparta
Se repite el proceso entre las posiciones i vs j+1, hasta llegar al último estudiante, asegurando que al menos en la posición i, se encuentre el estudiante de menor estatura.
X = [75,85,65,80]
i j
X = [65,85,75,80] # se intercambia
i j
X = [65,85,75,80] # no es necesario el intercambio
i j
Se procede a realizar el análisis con el estudiante i+1, para todos los que se encuentren detrás de él, pues todos los anteriores tienen menor estatura.
X = [65,85,75,80] # no es necesario el intercambio
i j -->
3. Algoritmo en Python
# Ordena ascendente,
# método de la burbuja, Bubble sort
# INGRESO
X = [75,85,65,80]
# PROCEDIMIENTO
n = len(X)
i = 0 # primero de la lista
while i<(n-1): # hasta penúltimo
j = i+1 # siguiente de i
while j<n: # hasta el último
if X[j]<X[i]: #intercambia i con j
aparta = X[i]
X[i] = X[j]
X[j] = aparta
j = j + 1
i = i + 1
# SALIDA
print(X)
Tarea:
Escribir el algoritmo como una función estructurada.
Realizar el algoritmo para ordenar en forma descendente.
Referencias: Obama recuerda aún el algoritmo de Bubble Sort. Dan Siroker (2013)
4. Ejemplos
Ejercicios resueltos sobre Funciones() definidas por el usuario. Los ejemplos presentados, requieren que el usuario desarrolle el algoritmo como una función acorde a las estructuras de programación.
3Eva2000TI_T1 Validar caracteres tipo numérico
Solución Propuesta: s3Eva2000TI_T1 Validar caracteres tipo numérico
3Eva2003TIII_T1 Funciones lógicas pyq y poq
Solución Propuesta: s3Eva2003TIII_T1 Funciones lógicas pyq y poq
2Eva2002TII_T1 Número perfecto
Solución Propuesta: s2Eva2002TII_T1 Número perfecto
2Eva2002TII_T3 Encriptar PIN(4 dígitos)
Solución propuesta: s2Eva2002TII_T3 Encriptar PIN(4 dígitos)
2Eva2008TI_T2 Validar cédula ecuatoriana
Solución propuesta: s2Eva2008TI_T2 Validar cédula ecuatoriana
Ejemplos, ejercicios resueltos con funciones
2Eva2008TII_T3 Crear un Calendario
Solución propuesta con video: s2Eva2008TII_T3 Crear un Calendario
2Eva2003TII_T2 Mostrar un triángulo de Pascal
Solución propuesta: s2Eva2003TII_T2 Mostrar un triángulo de Pascal
3Eva2003TI_T1 Raíces enteras positivas del polinomio
Solución propuesta: s3Eva2003TI_T1 Raíces enteras positivas del polinomio
2Eva2014TI_T3 Imagen RGB a gris
Solución propuesta: s2Eva2014TI_T3 Imagen RGB a gris
Nota: requiere el tema 2 sobre funciones. 2Eva2014TI_T2 Función color RGB a gris
Solución propuesta: s2Eva2014TI_T2 Función color RGB a gris
2Eva2013TI_T2 Una Tabla de Bingo con arreglos
Solución propuesta: s2Eva2013TI_T2 Una Tabla de Bingo con arreglos
Nota: requiere el tema 1 sobre funciones: 2Eva2013TI_T1 Función sorteoentre(k,a,b)
Solución propuesta: s2Eva2013TI_T1 Función sorteoentre(k,a,b)