Saltar al contenido principal

Práctica 205. Funciones en PHP.

Ejercicio 1. Array de pares.

Crea un fichero arrayPar.php con las siguientes funciones:

  • Una función que averigüe si un número es par: esPar(int $num): bool
  • Una función que devuelva un array de tamaño $tam con números aleatorios comprendido entre $min y $max : arrayAleatorio(int $tam, int $min, int $max) : array
  • Una función que reciba un $array por referencia y devuelva la cantidad de números pares que hay almacenados: arrayPares(array &$array): int

Ejercicio 2. Parámetros variables.

Crea un fichero parametrosVariables.php con las siguientes funciones:

  • Una función que devuelva el mayor de todos los números recibidos como parámetros: function mayor(): int. Utiliza las funciones func_get_args(), etc... No puedes usar la función max().
  • Una función que concatene todos los parámetros recibidos separándolos con un espacio: function concatenar(...$palabras) : string. Utiliza el operador ....

Ejercicio 3. Operaciones con números.

Crea un fichero matematicas.php con las siguientes funciones:

  • digitos(int $num): int: devuelve la cantidad de dígitos de un número.
  • digitoN(int $num, int $pos): int: devuelve el dígito que ocupa, empezando por la izquierda, la posición $pos.
  • quitaPorDetras(int $num, int $cant): int: le quita por detrás (derecha) $cant dígitos.
  • quitaPorDelante(int $num, int $cant): int: le quita por delante (izquierda) $cant dígitos.

Para las llamadas a las funciones, haz uso tanto de paso de argumentos posicionales como argumentos con nombre.


Ejercicio 4. Biblioteca de funciones.

Crea un archivo biblioteca.php con funciones para sumar, restar, multiplicar y dividir dos números.

Crea otro fichero arrayFunciones.php que, haciendo uso de un array que almacene el nombre de las funciones del archivo anterior, a partir de dos números recibidos por URL, recorre el array e invoca a las funciones de manera dinámica haciendo uso de funciones variable.


Ejercicio 5. Cambio de divisa.

Crea un fichero euros.php con dos funciones:

  • dolar2euros(): pasa de dólares a euros.
  • euros2dolar(): pasa de euros a dólares.

Cada función debe recibir dos parámetros:

  • La cantidad a transformar.
  • La cotización, con un parámetro por defecto con el factor de transformación.

Crea otro fichero calculadoraEuros.php donde pruebes las funciones, pasando tanto cantidades con la cotización por defecto, como con nuevas cotizaciones. Revisa el tipo de cambio en Internet y guárdalo en una constante.


Ejercicio 6. Ticket de la compra.

Crea un fichero preparaTiquetCompra.php que, a partir de una cantidad de productos, lea el nombre y coste de la cantidad de productos indicados. La cantidad de productos se recibe a través de un parámetro GET.

Tras leer los datos del tiquet de compra, en un fichero imprimeTiquetCompra.php, enumera en una tabla los productos, con su precio en euros y dólares, y finalmente, en una última fila, totalizar en ambas monedas.


Ejercicio 7. Encabezado y pié de página.

A partir de los archivos creados en el ejercicio anterior, crea una plantilla mediante includes:

  • El fichero preparaCompra.php es similar a preparaTiquetCompra.php, pero separando el encabezado (Supermercado Severo en h1) y el pie (Tu supermercado de confianza) en ficheros externos (encabezado.php y pie.php) y referenciando a ellos mediante include.
  • El fichero listaCompra.php es similar a imprimeTiquetCompra.php. Recibe los datos del anterior, y reutiliza los ficheros encabezado.php y pie.php. Además, se debe cambiar la tabla por una lista no ordenada de los productos junto a su precio.


Ejercicio 8. Inicio de sesión.

Crea un formulario login.php de inicio de sesión. El formulario debe solicitar el usuario y contraseña.

El fichero checkLogin.php recibe los datos y comprueba si son correctos (los usuarios se guardan en un array asociativo) pasando el control mediante el uso de include a:

  • response-ok.php: El usuario introducido es correcto.
  • response-error.php: El usuario es incorrecto. Informar si ambos están mal o solo la contraseña. Volver a mostrar el formulario de acceso.