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 puede dejar en un fragmento HTML. La solución completa se puede descargar de la página de soluciones.

Sin bucles

Matrices (1) 01 - Números

<?php
$dado = rand(1, 6);

$nombre = ["", "uno", "dos", "tres", "cuatro", "cinco", "seis"];

print "  <p><img src=\"img/$dado.svg\" alt=\"$dado\" width=\"140\" height=\"140\"></p>\n";
print "\n";
print "  <p>Ha sacado un <strong>$nombre[$dado]</strong>.</p>\n";
?>

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";

?>