Para facilitar la realización de los ejercicios, se proporcionan unas plantillas de los ejercicios Funciones (1) (Sin formularios).
Puede descargar unas posibles soluciones completas de estos ejercicios.
Escriba un programa que muestre entre 5 y 10 dados, primero sin ordenar, después ordenados y por último eliminando los dados repetidos.
Para ello, defina las siguientes funciones:
Los argumentos $n, $min y $max, son números enteros.
La función devuelve una matriz de $n valores enteros aleatorios entre $min y $max, ambos incluidos.
El argumento $m es una matriz de valores de dados (como la que genera función generaMatrizEnterosRand() anterior).
La función escribe un párrafo que incluye las imágenes de los dados correspondiente.
Escriba un programa que muestre dos filas de cartas de una baraja francesa. Las dos filas tendrán el mismo número de cartas, al azar entre 5 y 10.
Para ello, defina las siguientes funciones:
El argumento $n es un número entero.
La función devuelve una matriz de $n valores que corresponden a los nombres de los ficheros de las imágenes de las cartas. Los nombres empiezan por el palo ("c", "d", "p", "t") y terminan por el número de carta (de 1 a 13). Por ejemplo ["c3", "d10", "d1", "p9"]
El argumento $m es una matriz de nombres de cartas (como la que genera función generaMatrizCartasRand() anterior).
La función escribe un párrafo que incluye las imágenes de las cartas correspondientes.
Escriba un programa que muestre tres filas de círculos de colores. Las tres filas tendrán el mismo número de círculos, al azar entre 4 y 12.
Para ello, defina las siguientes funciones:
El argumento $m es una matriz de valores.
El argumento $n es un número entero.
La función devuelve una matriz de $n valores existentes en la matriz $m. Los valores se pueden repetir.
En este ejercicio, la matriz de valores pueden ser los colores de los círculos, por ejemplo, ["black", "blue", "green", "gray", "red", "white", "yellow"].
El argumento $colores es una matriz de nombres de colores (como la que genera función generaMatrizValoresRand() anterior). La función escribe un párrafo que incluye las imágenes de los círculos correspondientes.
Escriba un programa que defina la función siguiente y muestre su fucionamiento:
Esta función devuelve una matriz de $count elementos de valor $value y cuyos índices (correlativos) empiezan en $startIndex.
Esta función existe en PHP con el nombre array_fill(int $start_index, int $count, mixed $value) .
El valor inicial de los índices puede ser un valor al azar entre 0 y 20. El número de elementos en la matriz pueden puede ser un valor al azar entre 1 y 10. El valor de todos los elementos de la matriz puede ser un valor entero al azar entre 100 y 1000.
Escriba un programa que defina la función siguiente y muestre su fucionamiento:
Esta función devuelve la suma de todos los valores de una matriz.
Esta función existe en PHP con el nombre array_sum(array $array): int|float .
La matriz de números enteros puede tener de 3 a 7 valores y los valores pueden estar entre 1 y 10. La matriz de números decimales puede tener de 3 a 7 valores y los valores pueden estar entre 1 y 10 (con un número decimal que puede ser 0).
Escriba un programa que defina la función siguiente y muestre su fucionamiento:
Esta función devuelve el producto de todos los valores de una matriz.
Esta función existe en PHP con el nombre array_product(array $array): int|float .
La matriz de números enteros puede tener de 3 a 7 valores y los valores pueden estar entre 1 y 10. La matriz de números decimales puede tener de 3 a 7 valores y los valores pueden estar entre 1 y 10 (con un número decimal que puede ser 0).
Escriba un programa que defina la función siguiente y muestre su fucionamiento:
Esta función devuelve $length valores de una matriz, empezando en el valor $offset, manteniendo los índices de la matriz original.
Esta función existe (con más parámetros) en PHP con el nombre array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array .
La matriz de números enteros inicial puede tener de 7 a 10 valores y los valores pueden estar entre 1 y 10. La submatriz elegida al azar como mínimo debe tener un valor, pero puede empezar en cualquier valor.
Escriba un programa que defina la función siguiente y muestre su fucionamiento:
Esta función recibe una matriz $array y un valor $value.
Esta función devuelve una matriz con los mismos valores que los de la matriz recibida y en el mismo orden, pero añadiendo el valor $value al principio de la matriz. Los índices se renumeran a partir de 0.
Esta función existe (con más parámetros) en PHP con el nombre array_unshift(array &$array, mixed ...$values): int .
La matriz de números enteros inicial puede tener de 7 a 10 valores y los valores pueden estar entre 1 y 10. El valor insertado puede ser un valor entre 1 y 10.
Escriba un programa que defina la función siguiente y muestre su fucionamiento:
Esta función devuelve una matriz con los mismos valores que la matriz enviada como argumento, pero ordenados al revés. La matriz devuelta reindexa los índices.
Esta función existe (con más parámetros) en PHP con el nombre array_reverse(array $array, bool $preserve_keys = false): array .
La matriz de números enteros inicial puede tener de 7 a 10 valores y los valores pueden estar entre 1 y 10. Los valores de los índices deben empezar en 0 y ser correlativos (aunque estén desordenados).
Escriba un programa que defina la función siguiente y muestre su fucionamiento:
Esta función devuelve una matriz con los mismos valores que la matriz enviada como argumento, pero ordenados al revés. La matriz devuelta reindexa los índices, salvo si se envía un segundo argumento true en cuyo caso consrva los índices originales.
Esta función existe en PHP con el nombre array_reverse(array $array, bool $preserve_keys = false): array .
La matriz de números enteros inicial puede tener de 7 a 10 valores y los valores pueden estar entre 1 y 10. Los valores de los índices deben empezar en 0 y ser correlativos (aunque estén desordenados).
Escriba un programa que defina la función siguiente y muestre su fucionamiento:
Esta función recibe una matriz de números $m y un valor numérico $x.
Esta función suma el valor $x a todos los elementos de la matriz y devuelve la matriz resultante.
La matriz de números enteros inicial puede tener de 3 a 7 valores y los valores pueden estar entre 1 y 10.
Por completar
Defina las siguientes funciones que realicen distintas operaciones con matrices:
Multiplica por el valor $x todos los elementos de la matriz y devuelve la matriz resultante.
Sustituye en la matriz $m el valor $inicial por el valor $final y devuelve la matriz resultante.
Devuelve una matriz de $n valores enteros aleatorios entre $min y $max, ambos incluidos. El argumento lógico repetidos indica si los valores pueden estar repetidos o no.
Devuelve una matriz de $n valores decimales (con $decimales decimales) aleatorios entre $min y $max, ambos incluidos. El argumento lógico repetidos indica si los valores pueden estar repetidos o no.
Devuelve la mediana de los valores de la matriz. Se recuerda que la mediana de una serie de valores ordenados es:
Inserta un valor $x en la posición $posicion de una matriz y devuelve la matriz resultante.
Devuelve una matriz de $n valores aleatorios de la matriz $m. Reindexa la matriz y los valores no están en el mismo orden que en $m.
Devuelve una matriz con los valores comunes a $m1 y $m2. Si hay valores repetidos, sólo los incluye una vez.
Devuelve una matriz con los valores comunes a $m1 y $m2. Si hay valores repetidos en las dos matrices, los incluye tantas veces como esté repetidos.
Elimina el valor $v de la matriz $m y devuelve el resultado.
Elimina los valores de la matriz $m1 de la matriz $m2 y devuelve el resultado.