Ejercicios (sin formularios) - Matrices de dimensión 1 - Enunciados

Estos ejercicios se pueden resolver utilizando únicamente matrices de dimensión 1, también llamadas vectores (aún así, el ejercicio 3 se propone resolverlo de dos maneras, con dos matrices de una dimensión o con una matriz de dos dimensiones).

Para facilitar la realización de los ejercicios, se proporcionan unas plantillas de los ejercicios Matrices (1) (Sin formularios).

Puede consultar unas posibles soluciones de estos ejercicios. Si lo prefiere, puede descargar unas posibles soluciones completas de estos ejercicios.

Las imágenes de los animales han sido creadas por Customized Girl.

Sin bucles

Estos ejercicios no requieren el uso de bucles.

Matrices (1) 01 - Números

Escriba un programa que muestre una tirada de dado al azar y escriba en letras el valor obtenido.

Ayuda
  • Matriz

    Cree una matriz con el texto de los diferentes valores ("uno", "dos", etc.) y utilice la variable que guarda el valor del dado al azar para elegir el texto a mostrar.

Enlace a ejemplo

Matrices (1) 02 - Animales

Escriba un programa que muestre un animal al azar.

Ayuda
  • Matriz

    Cree una matriz con los nombres de los ficheros ("ballena.svg", "caballito-mar.svg", etc.) y utilice la variable que guarda el valor del animal elegido al azar para elegir el texto a mostrar.

  • Poco a poco

    Empiece con sólo tres o cuatro nombres de animales y añade el resto una vez haya comprobado que el programa funciona.

  • La cantidad de animales se puede obtener con la función count().
Enlace a ejemplo

Matrices (1) 03 - Nombres de animales

Escriba un programa que muestre un animal al azar y su nombre.

Ayuda

Este ejercicio se puede hacer de dos maneras:

  • Con dos matrices de una dimensión

    Cree dos matrices, una con los nombres de los ficheros ("ballena.svg", "caballito-mar.svg", etc.) y otra con los nombres de los animales ("Ballena", "Caballito de mar", etc.), en el mismo orden. Elija un valor del índice al azar para elegir tanto el dibujo como el texto a mostrar.

  • Con una matriz de dos dimensiones

    Cree una matriz en la que cada elemento sea una matriz con el nombre del animal ("Ballena", "Caballito de mar", etc.) y el nombre del fichero ("ballena.svg", "caballito-mar.svg", etc.) como elementos. Elija un valor del índice al azar para elegir tanto el dibujo como el texto a mostrar.

Enlace a ejemplo

Matrices (1) 04 - Gestos de manos

Escriba un programa que muestre un emoji de un gesto de manos al azar, con diferentes tonos de piel.

Ayuda
  • Las entidades numéricas que corresponden a diferentes gestos con las manos son: 128070, 128071, 128072, 128073, 128074, 128075, 128076, 128077, 128078, 128079, 128080, 128133, 128170, 128400, 128405, 128406, 128588, 128591, 129295, 129304, 129305, 129306, 129307, 129308, 129310, 129311, 129330.

    Como estos valores no son consecutivos, no se pueden generar con un simple rand(). Los valores se pueden guardar en una matriz.

  • Los tonos de color de piel se consiguen con los modificadores Fitzpatrick 🏻 🏼 🏽 🏾 y 🏿 🏻 🏼 🏽 🏾 y 🏿.

    Como estos valores sí que son consecutivos se pueden generar con un simple rand(), aunque también se pueden guardar en una matriz.

  • Hay varias formas de combinar los modificadores Fitzpatrick con emojis. En este ejercicio aparecen las secuencias más simples, en las que el modificador se escribe a continuación del carácter del emoji.

    Así, al escribir 👍 👍 seguido de 🏾 🏾, es decir, 👍🏾 se convierte en 👍🏾.

Enlace a ejemplo

Matrices (1) 05 - Hombres y mujeres haciendo deporte

Escriba un programa que muestre un emoji de un hombre o una mujer realizando actividades deportivas y que escriba la secuencia Unicode del emoji.

Ayuda
  • Las entidades numéricas que corresponden a actividades físicas son: 127939, 127940, 127946, 128675, 128692, 128693, 128694, 129336, 129337, 129341, 129342, 129495. Las entidades numéricas femenino / masculino son 9792 y 9794, respectivamente.

    Como estos valores no son consecutivos, no se pueden generar con un simple rand(). Los valores se pueden guardar en dos matrices.

  • Las descripciones de los deportes son: "corriendo", "surfeando", "nadando", "remando", "pedaleando", "pedaleando en la montaña", "caminando", "dando volteretas", "haciendo malabares", "jugando al waterpolo", "jugando al balonmano", "escalando". Las descripciones de los géneros son "Hombre" y "Mujer".

    Estos valores se pueden guardar en dos matrices.

  • Hay varias formas de obtener emojis de hombres y mujeres. En este ejercicio aparecen las secuencias de cuatro entidades, que utilizan primero el caracter de la actividad, después el carácter ZWJ U+200D, después el carácter U+2640 (signo femenino ) o U+2642 (signo masculino ) y por último el selector de variación 16 U+FE0F (para indicar que queremos la variante emoji, ya que los caracteres femenino / masculino tiene modo texto y modo emoji).

    Así, al escribir 🚶 🚶 seguido de ‍ (carácter ZWJ), seguido de ♀ y terminado por ️ (VS16), es decir 🚶‍♀️ se convierte en 🚶‍♀️.

Enlace a ejemplo

Con bucles for o foreach

Estos ejercicios están pensados para practicar tanto los bucles for como los bucles foreach.

Para ello, se puede resolver cada ejercicio dos veces. La primera vez, utilizando únicamente bucles for. La segunda vez, reescribiendo en los programas algunos de los bucles for por bucles foreach:

Matrices (1) 11 - Tirada de dados

Escriba un programa que muestre una tirada de un número de dados al azar entre 2 y 7 e indique los valores.

Ayuda
  • Bucles
    • Cree la matriz con los valores con un bucle for que en cada iteración añada un nuevo valor.
    • Dibuje o liste los valores también con sendos bucles for.
Enlace a ejemplo

Matrices (1) 12 - Negación de bits

Escriba un programa que muestre una secuencia aleatoria de 10 bits y su secuencia complementaria.

Ayuda
  • Con un bucle, cree una matriz de diez elementos con los valores aleatorios (0, 1, etc.)
  • Con otro bucle, cree otra matriz a partir de los valores de la primera. Si en la primera matriz el valor es es 0, en su complementaria es 1, y viceversa.
  • Con dos bucles más, escriba los valores de las dos matrices.
Enlace a ejemplo

Matrices (1) 13 - Cambio de bits

Escriba un programa que muestre una secuencia aleatoria de 10 bits y la detección de cambios de bits consecutivos en la secuencia. Es decir:

Ayuda
  • En el bucle que genera la matriz resultado se debe comparar cada valor de la secuencia inicial con el valor siguiente.
  • Ese bucle debe tener una iteración menos que el número de valores.
Enlace a ejemplo

Matrices (1) 14 - Convertidor de binario a código de Gray

Escriba un programa que muestre una secuencia aleatoria de bits y su conversión a código de Gray.

Ayuda
  • En el código de Gray, el primer bit es el mismo que el del número inicial.
  • Los siguientes bits indican si los bits consecutivos son distintos, como en el ejercicio anterior.
Enlace a ejemplo

Matrices (1) 15 - "Y" lógico

Escriba un programa que muestre dos secuencias aleatorias de 10 bits y el resultado de hacer la conjunción lógica ("y" lógico) bit a bit.

Ayuda
  • La conjunción lógica de dos valores da como resultado 1 si los dos valores son 1.
Enlace a ejemplo

Matrices (1) 16 - El bit más común

Escriba un programa que muestre tres secuencias aleatorias de 10 bits y una cuarta secuencia que indique cuál es el bit más común en esa posición.

Ayuda
  • Si la suma de los valores en una posición es mayor que uno es que en esa posición hay más unos que ceros.
Enlace a ejemplo

Matrices (1) 17 - Partida de dados

Escriba un programa que enfrente a dos jugadores tirando una serie de dados al azar entre 2 y 7 e indique el resultado. Los dados se comparan en orden (el primero con el primero, el segundo con el segundo, etc.) y gana el jugador que obtenga el número más alto.

Ayuda
  • Contadores

    Defina tres contadores, uno para llevar la cuenta de partidas ganadas por cada jugador y otro para los empates.

  • Bucles

    Una vez creadas las dos matrices de resultados, compare elemento a elemento usando un bucle for, aumentando el contador correspondiente.

  • Plurales

    Un detalle del programa es que al decir los resultados dice "1 vez", pero "2 veces", etc.

Enlace a ejemplo

Con bucles for y foreach

Estos ejercicios están pensados para practicar tanto los bucles for como los bucles foreach.

Matrices (1) 21 - Eliminar dado

Escriba un programa:

Ayuda
    • Utilice la instrucción unset() para borrar los elementos de la matriz que coincidan con el valor a eliminar.
Enlace a ejemplo

Matrices (1) 22 - Eliminar animal

Escriba un programa:

Enlace a ejemplo