Activitat 3. Exercicis d'introducció al PHP

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca

1. Escriu el programa que mostri en php el teu nom i cognoms, i el teu email en línies diferents

Solució

<?php
    $nom = "Guillem Solà i Boeck";
    $mail = "guillem_solaboeck@iescarlesvallbona.cat";
    echo "<p>El meu nom és " . $nom . "</p>";
    echo "<p>El meu correu electrònic és " . $mail . "</p>";
?>

2. Escriu un programa que donades tres variables amb un valor diferent cadascuna les mostri per pantalla i digui el tipus

Solució

<?php
    $var1 = "Guillem Solà i Boeck";
    $var2 = 50;
    $var3 = 10.6;

    $typ1 = gettype($var1);
    $typ2 = gettype($var2);
    $typ3 = gettype($var3);

    echo "<p>La variable 1 (" . $var1 . ") és del tipus " . $typ1 . "</p>";
    echo "<p>La variable 2 (" . $var2 . ") és del tipus " . $typ2 . "</p>";
    echo "<p>La variable 3 (" . $var3 . ") és del tipus " . $typ3 . "</p>";
?>

3. Sabent que la funció RAND ens retorna un valor aleatori entre un rang de dos enters: Genera 3 números i mostra per pantalla el tres números i la frase "El més gran és " + número més gran

Solució

<?php
    $random1 = rand(3,729); #Random entre 3 i 729
    $random2 = rand(7,987); #Random entre 7 i 987
    $random3 = rand(0,1024); #Random entre 0 i 1024

    echo "<p> El primer número aleatori és el " . $random1 . "</p>";
    echo "<p> El segon número aleatori és el " . $random2 . "</p>";
    echo "<p> El tercer número aleatori és el " . $random3 . "</p>";

    $major = $random1;

    if ($random2 > $major) {
        $major = $random2;
    }

    if ( $random3 > $major ) {
        $major = $random3;
    }
    echo "<p> El número més gran és el " . $major . "</p>";
?>

4. Obté quin dia és avui amb date("D") i mostra si és dilluns, dimarts, dimecres, dijous...

Solució

<?php
    $day = date("D");

    switch ($day){
        case "Mon":
            $dia = "Dilluns";
            break;
        case "Tue":
            $dia = "Dimarts";
            break;
        case "Wed":
            $dia = "Dimecres";
            break;
        case "Thu":
            $dia = "Dijous";
            break;
        case "Fri":
            $dia = "Divendres";
            break;
        case "Sat":
            $dia = "Dissabte";
            break;
        case "Sun":
            $dia = "Diumenge";
            break;
    }
    echo $dia;
?>

5. Suma els 10 primers números naturals

Solució

<?php
    $total=0;

    for( $i = 1; $i <= 10; $i++ ) {
        $total += $i;
    }

    echo $total;
?>

6. Donada una base i un exponent, calcula la potència amb multiplicacions

Solució

<?php
    $base = 11;
    $exponent = 4;
    $resultat = $base;

    for ($i = 1; $i < $exponent; $i++) {
        $resultat = $resultat * $base;
    }
    echo $resultat;
?>

7. Mostra una taula amb els números d'1 al 100 de 10 en 10

Solució

<?php
  echo "<table border='1px'>";
  for ($i=1;$i<101;$i++){
      echo "<tr>";
      while ($i%10!=0){
          echo "<td>".$i."</td>";
          $i++;
      }
      echo "<td>".$i."</td>";
      echo "</tr>";
  }
  echo "</table>";
  ?>

8. Donat una array mostra en una taula els índex i els valors

<?php
$matriz[0] = "cougar";
$matriz[1] = "ford";
$matriz[2] = null;
$matriz[3] = "2.500";
$matriz[4] = "V6";
$matriz[5] = 182;
?>

Solució

<?php

    $matriz[0] = "cougar";
    $matriz[1] = "ford";
    $matriz[2] = null;
    $matriz[3] = "2.500";
    $matriz[4] = "V6";
    $matriz[5] = 182;

    echo "<table>";
    echo "<th>Índex</th><th>Valor</th>";
    for ($i=1;$i<sizeof($matriz);$i++){
        echo "<tr><td>$i</td><td>$matriz[$i]</td></tr>";
    }
    echo "</table>";

?>

9. Donat una array mostra en una taula amb noms i edats i una frase indicant qui és el més gran i el més jove

$noms = array("Xavier" => "40", "Lluís" => "35", "Julian" => "45");

Solució

<?php

    $noms = array("Xavier" => "40", "Lluís" => "35", "Julian" => "45");

    echo "<table>";
    echo "<th>Nom</th><th>Edat</th>";
    foreach ($noms as $nom => $edat){
        echo "<tr><td>$nom</td><td>$edat</td></tr>";
    }
    echo "</table>";

    $gran=array_search(max($noms),$noms);
    $jove=array_search(min($noms),$noms);

    echo "<p>El més gran és $gran</p>";
    echo "<p>El més jove és $jove</p>";

?>

10. Crea un formulari amb dos entradas de text i un botó. Introdueix dos números i realitza la suma, resta, divisió i la multiplicació dels dos números

Nota: la sortida de pantalla ha de ser:
10 + 2 = 12
10 - 2 = 8
10 * 2 = 20
10 / 2 = 5

Solució

<!DOCTYPE html>
<html>
<body>
<form method="GET" action="exercici10.php">
    <p>Número 1: <input type="text" name="num1" value="" required/></p>
    <p>Número 2: <input type="text" name="num2" required/></p>
    <p><button type="submit">Calcula</button></p>
</form>
<?php

    $num1 = $_GET["num1"];
    $num2 = $_GET["num2"];

    if ( $num1 !== NULL && $num2 !== NULL ) {
        $suma = $num1 + $num2;
        $resta = $num1 - $num2;
        $multiplicacio = $num1 * $num2;
        $divisio = $num1 / $num2;

        echo "<p>" . $num1 . " + " . $num2 . " = " . $suma . "</p>";
        echo "<p>" . $num1 . " - " . $num2 . " = " . $resta . "</p>";
        echo "<p>" . $num1 . " x " . $num2 . " = " . $multiplicacio . "</p>";
        echo "<p>" . $num1 . " / " . $num2 . " = " . $divisio . "</p>";
    }else{
        echo "<p>Introdueix dos números per a operar.</p>";
    }
?>

</body>
</html>

11. Amb el mateix formulari d’abans fes que després de demanar els dos números te’ls mostri en pantalla concatenats

Solució

<!DOCTYPE html>
<html>
<body>
<form method="GET" action="exercici11.php">
    <p>Número 1: <input type="text" name="num1" value="" required/></p>
    <p>Número 2: <input type="text" name="num2" required/></p>
    <p><button type="submit">Concatena</button></p>
</form>

<?php

$num1 = $_GET["num1"];
$num2 = $_GET["num2"];

if ( $num1 !== NULL && $num2 !== NULL ) {
    $suma = $num1 + $num2;
    $resta = $num1 - $num2;
    $multiplicacio = $num1 * $num2;
    $divisio = $num1 / $num2;

    echo "<p>" . $num1 . $num2 . "</p>";

}else{
    echo "<p>Introdueix dos números per a concatenar.</p>";
}
?>

</body>
</html>

12. Escriu un programa PHP que mostri la següent figura

        *
       * *
      * * *
     * * * *
    * * * * *
   * * * * * * 
  * * * * * * *
 * * * * * * * * 
* * * * * * * * *

Solució

<?php
    $espai = "&nbsp";           #Espai buit
    $asterisc = $espai . "*";   #El caràcter que formarà la piràmide
    $numFiles = 20;             #Número de files que vull generar

    #Executo el bucle tantes vegades com $numFiles, però invers
    for ( $filaActual = $numFiles; $filaActual>0; $filaActual-- ) {
        $caracterActual = 1;    #Variable per saber la posició actual dins la fila

        #Executo el bucle tantes vegades com caràcters calguin en aquella $filaActual
        for ( $caracterActual; $caracterActual <= $numFiles; $caracterActual++ ) {
            if ( $caracterActual >= $filaActual ){
                #Si la posició actual és igual o major al número invers de la
                #fila actual vol dir que estem en posició de posar asteriscos
                echo $asterisc;
            }else{
                #Mentre la posició sigui anterior a la dels asteriscos
                #posarem els caràcters d'espai en blanc
                echo $espai;
            }
        }
        echo "<br>";
    }
?>