Muchos dispositivos creando código de programación.

Ejercicios de programación: funciones

Practica la creación de funciones con esta lista de ejercicios de programación. Aunque estén planteados para PseInt puedes resolverlos con cualquier otro lenguaje. Por ejemplo, en Java puedes programar un método estático que haga las veces de función. Ah, están ordenados por dificultad.

Funciones simples sin parámetros y sin valor de retorno

  1. Crear una función llamada dibujarLinea que muestre por pantalla una línea de 20 guiones («——————–«).
  2. Crear una función llamada mostrarCreditos que muestre tu nombre, el nombre de la asignatura y el año.
  3. Crear una función llamada mostrarMenu que limpie la pantalla y muestre un menú de 3 opciones (Ej: «1. Saludar», «2. Despedirse», «0. Salir»).

Funciones sin valor de retorno pero con parámetros

  1. Crear un SubProceso saludar(nombre) que reciba un nombre como parámetro y muestre «¡Hola, [nombre]! Bienvenido/a.».
  2. Programa una función contarHasta(limite) que reciba un número e imprima todos los números desde 1 hasta ese limite.
  3. Crea una función imprimirParImpar(numero). Recibirá un número entero e imprimirá en pantalla si dicho número es «Par» o «Impar».
  4. Crear una función mostrarTabla(numero) que reciba un número y muestre su tabla de multiplicar del 1 al 10.
  5. Escribe una función dibujarLinea(longitud, caracter). Recibirá un número longitud y un caracter de texto. La función deberá imprimir por pantalla una línea formada por ese caracter, repetido longitud veces. (Ej: dibujarLinea(5, "*") imprimiría *****).
  6. Diseña una función contarAtras(inicio). Recibirá un número positivo inicio y mostrará por pantalla una cuenta atrás desde ese número hasta 1, y al final la palabra «¡Despegue!». (Ej: 5… 4… 3… 2… 1… ¡Despegue!).
  7. Escribe una función mostrarFicha(nombre, edad, pais). Recibirá tres parámetros (dos cadenas de texto y un entero) y los mostrará en pantalla con un formato claro, como una ficha.
    • ---------------------
    • Nombre: [Nombre]
    • Edad: [Edad] años
    • País: [País]
    • ---------------------

Funciones con parámetros y con valor de retorno

  1. Escribe una función llamada cuadrado que tome un número como parámetro y devuelva su cuadrado.
  2. Realiza una función que reciba como parámetros 3 números y devuelva la suma de ellos
  3. Programa una función que calcule el máximo entre dos números
  4. Crea una función que calcule el mínimo entre dos números.
  5. Escribe una función que reciba como parámetros 3 números y devuelva el mayor de ellos 
  6. Elabora una función que reciba como parámetros 3 números y devuelva el menor de ellos 
  7. Programa una función a la que le demos una medida en pies y la devuelva en metros
  8. Escribe una función convertirADolares(euros, tasaCambio). Recibirá una cantidad en euros y la tasa de cambio actual. Deberá devolver la cantidad equivalente en dólares.
  9. Crea una función llamada celsius_a_fahrenheit que reciba una temperatura en grados Celsius y devuelva su equivalente en grados Fahrenheit. Usa la fórmula: Farenheit = (Celsius * (9/5))+32.
  10. Crea una función calcularPrecioConIva(baseImponible, pctIva) que devuelva el precio con el IVA ya aplicado y sumado.
  11. Escribe una función llamada calcular_area_rectangulo que tome dos parámetros, el ancho y el alto de un rectángulo, y devuelva su área.
  12. Diseña una función esMayorEdad(edad). Recibirá un número (la edad) y devolverá un valor booleano (verdadero si la edad es >= 18, y falso en caso contrario).
  13. Función redondeo: Escribe una función llamada redondeo que reciba un número decimal y devuelva el número redondeado al entero más cercano.
  14. Crear una función esPar(numero) que reciba un número y retorne verdadero si es par, o falso si es impar.
  15. Función de múltiplos: Escribe una función llamada es_multiplo que tome dos enteros, num1 y num2, y devuelva True si num1 es múltiplo de num2, y False en caso contrario.
  16. Conversor de horas a minutos: Crea una función llamada horas_a_minutos que tome una cantidad de horas como parámetro y devuelva el número total de minutos.
  17. Elabora una función esPositivo(numero). Recibirá un número y devolverá un valor booleano: verdadero si el número es estrictamente mayor que 0, y falso en cualquier otro caso (cero o negativo).
  18. Diseña una función obtenerInicial(texto). Recibirá una cadena de texto y devolverá únicamente el primer carácter de esa cadena.
  19. Escribe una función calcularMedia(n1, n2, n3) que reciba tres números y devuelva la media aritmética de esos tres números.
  20. Realiza una función EsPrimo que reciba como parámetro un único número y devuelva verdadero si el número es primo y falso si no lo es.
  21. Crea una función llamada diferencia_absoluta que reciba dos números y devuelva la diferencia absoluta entre ellos (diferencia sin tener en cuenta el signo).
  22. Escribe una función llamada esta_en_rango que reciba tres parámetros: un número, un límite inferior y un límite superior. La función debe devolver True si el número está entre los dos límites (incluyendo los límites) y False en caso contrario.
  23. Diseña una función pedirNumeroRango(min, max). La función recibirá un valor mínimo y uno máximo. Deberá pedir al usuario un número por teclado y no dejará de pedirlo (bucle) hasta que el usuario introduzca un valor que esté dentro de ese rango. Finalmente, devolverá el número válido.
  24. Crea una función llamada contar_pares que reciba dos enteros inicio y fin y devuelva la cantidad de números pares que hay en el rango entre inicio y fin (incluidos).
  25. Escribe una función a la que se le pasa un número entero y devuelve la cantidad de divisores primos que tiene.
  26. Diseña una función esBisiesto(año) que reciba un número de año y devuelva verdadero si es bisiesto, o falso si no lo es. (Un año es bisiesto si es divisible por 4, excepto si es divisible por 100, a menos que también sea divisible por 400).
  27. Elabora un método/función que devuelva el valor máximo contenido dentro de un vector (array unidimensional).
  28. Crea un método función que devuelva la posición (el índice) en la que está el valor máximo contenido dentro de un vector.

Pequeños desafíos

  1. Sumatoria de múltiplos: Crea una función llamada suma_multiplo que reciba dos parámetros, un número y un límite, y devuelva la suma de todos los múltiplos de ese número hasta el límite (inclusive).
  2. Diferencia relativa: Escribe una función llamada diferencia_relativa que reciba dos números y devuelva la diferencia entre ellos expresada como un porcentaje respecto al primer número.
  3. Función de intersección de rangos: Escribe una función llamada interseccion_rangos que reciba cuatro enteros: inicio1fin1inicio2, y fin2. La función debe devolver True si los rangos [inicio1, fin1] y [inicio2, fin2] tienen algún elemento en común, y False en caso contrario.
  4. Función de potencia con raíz cuadrada: Escribe una función llamada es_cuadrado_perfecto que reciba un número y devuelva True si es un cuadrado perfecto (es decir, tiene una raíz cuadrada entera) y False en caso contrario.
  5. Crear una función factorial(n) que reciba un número n y retorne su factorial (usando un bucle dentro de la función).
  6. Escribe una función esPalindromo(texto) que reciba una cadena de texto y devuelva verdadero si la palabra se lee igual al derecho y al revés (ignorando mayúsculas/minúsculas y espacios), y falso si no.
  7. Escribe una función principal esContraseñaSegura(pass) que devuelva verdadero si la contraseña cumple TODOS estos requisitos (y falso si no):
    • Tiene al menos 8 caracteres.
    • Contiene al menos un número.
    • Contiene al menos una letra mayúscula.

Recursividad

  1. Escribe una función factorialRecursivo(n) que calcule el factorial de n usándose a sí misma (Caso base: n=0 devuelve 1. Caso recursivo: n * factorialRecursivo(n-1)).


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.