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