5.2 Funciones - Tareas y Ejemplos



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

2Eva2009TII_T1 Mensaje a SMS

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

ordena fila estudiantes

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)




Unidades FP