Funciones - Ejercicios (2)

Estos ejercicios corresponden a lo explicado en la lección sobre funciones: funciones (1) y funciones (2).

Se pueden consultar las soluciones.


¡Atención!En principio, cualquier ejercicio se puede convertir en un ejercicio de funciones. Es decir, en cualquier programa se puede elegir una porción del programa e incluirla en una función. La tarea del programador consiste en crear las funciones adecuadas para que esas funciones se puedan utilizar varias veces en el mismo programa o en programas distintos.

En los ejercicios siguientes se recurre a ejercicios ya realizados a lo largo del curso para realizar programas más complejos. Cada ejercicio tiene dos partes:

Funciones (2) - 1

Funciones (2) - 1-1

Resuelva de nuevo el ejercicio "Bucle for (2) - 5" de manera que el dibujo lo realice una función que reciba dos parámetros (alto y ancho).

Funciones (2) - 1-2

Escriba un programa que pida la anchura y altura de un rectángulo y el caracter a utilizar en el dibujo:

Anchura del rectángulo: 5
Altura del rectángulo: 3
Carácter a utilizar: o
o o o o o
o o o o o
o o o o o

Nota: El carácter a utilizar en el dibujo se puede enviar a la función como tercer parámetro.

Funciones (2) - 2

Funciones (2) - 2-1

Resuelva de nuevo el ejercicio "Bucle for (2) - 14" de manera que el dibujo lo realicen dos funciones que reciban un parámetro (ancho), una que dibuje la primera mitad del triángulo y la otra que dibuje la segunda mitad.

Funciones (2) - 2-2

Escriba un programa que pida la anchura de un triángulo y dibuje una sucesión de triángulos con caracteres producto (*):

Anchura del triángulo: 3
*
* *
* * *
* *
*
*
* *
*
*

Funciones (2) - 3

Funciones (2) - 3-1

Resuelva de nuevo el ejercicio "if ... elif ... else ... 6" de manera que el cálculo lo realice una función que reciba un parámetro (el año) y devuelva True o False según que el año sea o no bisiesto.

Funciones (2) - 3-2

Escriba un programa que pida dos años y escriba cuántos años bisiestos hay entre esas dos fechas (incluidos los dos años):

Contador de años bisiestos
Escriba un año: 2000
Escriba otro año posterior a 2000: 1999
1999 no es mayor que 2000. Inténtelo de nuevo: 2013
De 2000 a 2013 hay 14 años, 4 de ellos bisiestos.

Funciones (2) - 4

Funciones (2) - 4-1

Resuelva de nuevo el ejercicio "Listas (1) - 1" de manera que la lista sea solicitada por una función (que no necesita parámetros).

Funciones (2) - 4-2

Escriba un programa que pida cuántas listas se quieren crear y las solicite a continuación:

Generador de listas
¿Cuántas listas quiere escribir? 2
Dígame cuántas palabras tiene la lista 1: 3
Dígame la palabra 1: Ana
Dígame la palabra 2:  Bárbara
Dígame la palabra 3:  Carmen
La lista 1 es: ['Ana', 'Bárbara', 'Carmen']
Dígame cuántas palabras tiene la lista 2: 2 Dígame la palabra 1: Alberto Dígame la palabra 2: Bernardo La lista 2 es: ['Alberto', 'Bernardo']

Nota: Se puede añadir un parámetro a la función que crea la lista, el número de lista.

Funciones (2) - 4-3

Modifique el programa anterior de manera que las listas se escriban al final del programa:

Generador de listas
¿Cuántas listas quiere escribir? 2
Dígame cuántas palabras tiene la lista 1: 3
Dígame la palabra 1: Ana
Dígame la palabra 2:  Bárbara
Dígame la palabra 3:  Carmen
Dígame cuántas palabras tiene la lista 2:  2
Dígame la palabra 1: Alberto
Dígame la palabra 2: Bernardo
La lista 1 es: ['Ana', 'Bárbara', 'Carmen']
La lista 2 es: ['Alberto', 'Bernardo']

Nota: Se puede crear una lista de listas en la que se vayan introduciendo las listas a medida que se generan

Funciones (2) - 5

Funciones (2) - 5-1

Resuelva de nuevo el ejercicio "Listas (1) - 5" de manera que las listas sean solicitada por una función (que no necesita parámetros) y que las palabras sean eliminadas por una función (con dos parámetros, las dos listas).

Funciones (2) - 5-2

Modifique el programa anterior de manera que el programa solicite dos listas sin repeticiones y escriba el resultado al final:

Dígame cuántas palabras tiene la lista 1: 5
Dígame la palabra 1: Carmen
Dígame la palabra 2: Carmen
Carmen ya está en la lista. Dígame la palabra 2: Pepe
Dígame la palabra 3: Alberto
Dígame la palabra 4: Benito
Dígame la palabra 5: David
Dígame cuántas palabras tiene la lista 2: 3
Dígame la palabra 1: Benito
Dígame la palabra 2: Juan
Dígame la palabra 3: Carmen
Las listas creadas inicialmente son:
['Carmen', 'Pepe', 'Alberto', 'Benito', 'David']
['Benito', 'Juan', 'Carmen']
Las listas tras borrar en la primera lista los elementos que aparecen en la segunda lista son:
['Pepe', 'David']
['Benito', 'Juan', 'Carmen']

Nota: Se puede añadir un parámetro a la función que crea la lista, el número de lista.

Funciones (2) - 5-3

  • Modifique el programa anterior de manera que se escriban varias listas y el programa elimine de las listas anteriores las palabras que aparecen en las siguientes:
    Generador de listas
    ¿Cuántas listas quiere escribir? 3
    Dígame cuántas palabras tiene la lista 1: 3
    Dígame la palabra 1: Ana
    Dígame la palabra 2:  Bárbara
    Dígame la palabra 3:  Carmen
    Dígame cuántas palabras tiene la lista 2:  3
    Dígame la palabra 1: Alberto
    Dígame la palabra 2: Bernardo
    Dígame la palabra 3: Bárbara
    Dígame cuántas palabras tiene la lista 3: 2
    Dígame la palabra 1: Carmen
    Dígame la palabra 2: Alberto
    Las listas creadas inicialmente son:
    ['Ana', 'Bárbara', 'Carmen]
    ['Alberto', 'Bernardo', 'Bárbara']
    ['Carmen', 'Alberto']
    Las listas tras borrar en cada lista las palabras de listas posteriores:
    ['Ana']
    ['Bernardo', 'Bárbara']
    ['Carmen', 'Alberto']
    

    Nota: Se puede crear una lista de listas en la que se vayan introduciendo las listas a medida que se generan