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

En esta página se muestran una parte de las soluciones de los ejercicios Matrices (1), concretamente el fragmento PHP, sin el principio ni el final de la página que se pueden dejar en fragmentos HTML.

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

Sin bucles

Matrices (1) 01 - Números

Almacenaremos las cadenas "uno", "dos", "tres", etc. en una matriz, de manera que el valor de los índices, corresponda con el significado de la cadena ($matriz[1] = "uno", $matriz[2] = "dos", etc.)

Matrices (1) 02 - Animales

<?php
$dibujos = [
    "ballena.svg", "caballito-mar.svg", "camello.svg", "cebra.svg", "elefante.svg",
    "hipopotamo.svg", "jirafa.svg", "leon.svg", "leopardo.svg", "medusa.svg",
    "mono.svg", "oso.svg", "oso-blanco.svg", "pajaro.svg", "pinguino.svg",
    "rinoceronte.svg", "serpiente.svg", "tigre.svg", "tortuga-marina.svg", "tortuga.svg"
];

$animal = rand(0, count($dibujos) - 1);

print "  <p><img src=\"img/animales/$dibujos[$animal]\" alt=\"Animal\" height=\"250\"></p>\n";
?>

Matrices (1) 03 - Nombres de animales

Matrices (1) 04 - Gestos de manos

Matrices (1) 05 - Hombres y mujeres haciendo deporte

Con bucles for o foreach

Matrices (1) 11 - Tirada de dados

Matrices (1) 12 - Negación de bits

Matrices (1) 13 - Cambio de bits

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

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

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

Matrices (1) 17 - Partida de dados

Con bucles for o foreach

Matrices (1) 21 - Eliminar dado

<?php
$numero = rand(1, 10);

// Guardamos los valores de los dados en la matriz $dados
$dados = [];
for ($i = 0; $i < $numero; $i++) {
    $dados[$i] = rand(1, 6);
}

// Mostramos las imágenes de los dados obtenidos
if ($numero == 1) {
    print "  <h2>Tirada de $numero dado</h2>\n";
} else {
    print "  <h2>Tirada de $numero dados</h2>\n";
}
print "\n";
print "  <p>\n";
foreach ($dados as $dado) {
    print "    <img src=\"img/$dado.svg\" alt=\"$dado\" width=\"80\" height=\"80\">\n";
}
print "  </p>\n";
print "\n";

// Guardamos el valor del dado a descartar
$descarta = rand(1, 6);

// Mostramos el dado a descartar
print "  <h2>Dado a eliminar</h2>\n";
print "\n";
print "  <p>\n";
print "    <img src=\"img/$descarta.svg\" alt=\"$descarta\" width=\"80\" height=\"80\">\n";
print "  </p>\n";
print "\n";

// Eliminamos el dado de la matriz
for ($i = 0; $i < $numero; $i++) {
    if ($dados[$i] == $descarta) {
        unset($dados[$i]);
    }
}

// Mostramos las imágenes de los dados restantes
print "  <h2>Dados restantes</h2>\n";
print "\n";
if (count($dados) == 0) {
    print "<p>No quedan dados.</p>\n";
} else {
    print "  <p>\n";
    foreach ($dados as $dado) {
        print "    <img src=\"img/$dado.svg\" alt=\"$dado\" width=\"80\" height=\"80\">\n";
    }
}
print "  </p>\n";
print "\n";

?>

Matrices (1) 22 - Eliminar animal

<?php
$numero = rand(20, 30);

// Guardamos los valores de los animales en la matriz $animales
$animales = [];
for ($i = 0; $i < $numero; $i++) {
    $animales[$i] = rand(128000, 128060);
}

// Mostramos las imágenes de los animales obtenidos
print "  <h2>$numero animales</h2>\n";

print "\n";
print "  <p style=\"font-size: 400%; margin: 0;\">\n";
foreach ($animales as $animal) {
    print "    &#$animal;\n";
}
print "  </p>\n";
print "\n";

// Guardamos el valor del animal a descartar
$descarta = $animales[rand(0, $numero - 1)];

// Mostramos el animal a descartar
print "  <h2>Animal a eliminar</h2>\n";
print "\n";
print "  <p style=\"font-size: 400%; margin: 0;\">\n";
print "    &#$descarta;\n";
print "  </p>\n";
print "\n";

// Eliminamos el animal de la matriz
for ($i = 0; $i < $numero; $i++) {
    if ($animales[$i] == $descarta) {
        unset($animales[$i]);
    }
}

// Mostramos las imágenes de los animales restantes
print "  <h2>Quedan " . count($animales) . " animales</h2>\n";
print "\n";
if (count($animales) == 0) {
    print "<p>No quedan animales.</p>\n";
} else {
    print "  <p style=\"font-size: 400%; margin: 0;\">\n";
    foreach ($animales as $animal) {
        print "    &#$animal;\n";
    }
}
print "  </p>\n";
print "\n";

?>