Diferència entre revisions de la pàgina «ASIX/M09/UF1/PT3»

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb «{{titol|Activitat 2. Formularis HTML}} ==Enunciat== ===1. Crea una pàgina web en HTML que contingui un formulari amb els següents camps d'informació=== :*Nom, amb u...».)
 
m (Guillem ha mogut M09/UF1/PT3 a ASIX/M09/UF1/PT3 sense deixar una redirecció: Crear subnivell ASIX)
 
(Hi ha 68 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
{{titol|Activitat 2. Formularis HTML}}
+
{{titol|Activitat 3. Exercicis d'introducció al PHP}}
==Enunciat==
+
==1. Escriu el programa que mostri en php el teu nom i cognoms, i el teu email en línies diferents==
===1. Crea una pàgina web en HTML que contingui un formulari amb els següents camps d'informació===
+
===Solució===
:*Nom, amb un control de tipus text obligatori i amb autofocus.
+
<source lang='php'>
:*Correu electrònic, amb un control de tipus correu electrònic obligatori.
+
<?php
:*URL, amb un control de tipus URL que mostri l'ajuda "Escriu la URL de la teva pàgina web personal".
+
  $nom = "Guillem Solà i Boeck";
:*Data, amb un control de tipus date.
+
  $mail = "guillem_solaboeck@iescarlesvallbona.cat";
:*Temps, amb un control de tipus time.
+
  echo "<p>El meu nom és " . $nom . "</p>";
:*Data i hora, amb un control de tipus datetime.
+
  echo "<p>El meu correu electrònic és " . $mail . "</p>";
:*Mes, amb un control de tipus month.
+
?>
:*Setmana, amb un control de tipus week.
+
</source>
:*Número, amb un control de tipus number que limiti l'entrada a un valor entre -10 i 10.
 
:*Telèfon, amb un control de tipus tel.
 
:*Paraula de recerca, amb un control de tipus search.
 
:*Color favorit, amb un control de tipus color.
 
:*Un botó d'enviament.
 
  
A més, has de tenir en compte els següents requisits:
+
==2. Escriu un programa que donades tres variables amb un valor diferent cadascuna les mostri per pantalla i digui el tipus==
:*El títol de la pàgina ha de ser Formulari de prova d'HTML5.
+
===Solució===
:*El mètode d'enviament del formulari ha de ser GET.
+
<source lang='php'>
:*La destinació de l'enviament del formulari ha de ser el Punt 2.
+
<?php
 +
  $var1 = "Guillem Solà i Boeck";
 +
  $var2 = 50;
 +
  $var3 = 10.6;
  
===2. Afegirem una destinació a l’enviament del formulari a la pàgina "resultat.php"===
+
  $typ1 = gettype($var1);
En aquesta pàgina mostrarem el nom i correu electrònic enviat des del formulari.
+
  $typ2 = gettype($var2);
(*) Per recuperar valors enviats des d’altres pàgines hem de fer servir el mètode PHP depenent de com s’envien en orígen.
+
  $typ3 = gettype($var3);
+
 
    $variable= $_GET["valor"];   o  $variable= $_POST["valor"];   
+
  echo "<p>La variable 1 (" . $var1 . ") és del tipus " . $typ1 . "</p>";
    echo $variable;
+
  echo "<p>La variable 2 (" . $var2 . ") és del tipus " . $typ2 . "</p>";
 +
  echo "<p>La variable 3 (" . $var3 . ") és del tipus " . $typ3 . "</p>";
 +
?>
 +
</source>
 +
 
 +
==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ó===
 +
<source lang='php'>
 +
<?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>";
 +
?>
 +
</source>
 +
 
 +
==4. Obté quin dia és avui amb date("D") i mostra si és dilluns, dimarts, dimecres, dijous...==
 +
===Solució===
 +
<source lang='php'>
 +
<?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;
 +
?>
 +
</source>
 +
 
 +
==5. Suma els 10 primers números naturals==
 +
===Solució===
 +
<source lang='php'>
 +
<?php
 +
  $total=0;
 +
 
 +
  for( $i = 1; $i <= 10; $i++ ) {
 +
    $total += $i;
 +
  }
 +
  echo $total;
 +
?>
 +
</source>
 +
 
 +
==6. Donada una base i un exponent, calcula la potència amb multiplicacions==
 +
===Solució===
 +
<source lang='php'>
 +
<?php
 +
  $base = 11;
 +
  $exponent = 4;
 +
  $resultat = $base;
 +
 
 +
  for ($i = 1; $i < $exponent; $i++) {
 +
    $resultat = $resultat * $base;
 +
  }
 +
  echo $resultat;
 +
?>
 +
</source>
 +
 
 +
==7. Mostra una taula amb els números d'1 al 100 de 10 en 10==
 +
===Solució===
 +
<source lang='php'>
 +
<?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>";
 +
?>
 +
</source>
 +
 
 +
==8. Donat una array mostra en una taula els índex i els valors==
 +
<source lang='php'><?php
 +
  $matriz[0] = "cougar";
 +
  $matriz[1] = "ford";
 +
  $matriz[2] = null;
 +
  $matriz[3] = "2.500";
 +
  $matriz[4] = "V6";
 +
  $matriz[5] = 182;
 +
?>
 +
</source>
 +
===Solució===
 +
<source lang='php'>
 +
<?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>";
 +
?>
 +
</source>
 +
 
 +
==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==
 +
<source lang='php'>$noms = array("Xavier" => "40", "Lluís" => "35", "Julian" => "45");</source>
 +
===Solució===
 +
<source lang='php'>
 +
<?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>";
 +
?>
 +
</source>
 +
 
 +
==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:
 +
<source>10 + 2 = 12
 +
10 - 2 = 8
 +
10 * 2 = 20
 +
10 / 2 = 5
 +
</source>
 +
===Solució===
 +
<source lang='html'>
 +
<!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>
 +
</source>
 +
<source lang='php'>
 +
<?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>";
 +
  }
 +
?>
 +
</source>
 +
<source lang='html'>
 +
  </body>
 +
</html>
 +
</source>
 +
 
 +
==11. Amb el mateix formulari d’abans fes que després de demanar els dos números te’ls mostri en pantalla concatenats==
 +
===Solució===
 +
<source lang='html'>
 +
<!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>
 +
</source>
 +
<source lang='php'>
 +
<?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>";
 +
  }
 +
?>
 +
</source>
 +
<source lang='html'>
 +
  </body>
 +
</html>
 +
</source>
 +
 
 +
==12. Escriu un programa PHP que mostri la següent figura==
 +
<source>
 +
        *
 +
      * *
 +
      * * *
 +
    * * * *
 +
    * * * * *
 +
  * * * * * *
 +
  * * * * * * *
 +
  * * * * * * * *
 +
* * * * * * * * *
 +
</source>
 +
===Solució===
 +
<source lang='php'>
 +
<?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>";
 +
  }
 +
?>
 +
</source>

Revisió de 11:28, 15 abr 2020

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