Diferencia entre revisiones de «Usuario:ManuelRomero/NewPHP/B2T1/ejercicios»

De WikiEducator
Saltar a: navegación, buscar
 
(41 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 
{{:Usuario:ManuelRomero/dwes/B2T1/nav}}
 
{{:Usuario:ManuelRomero/dwes/B2T1/nav}}
 +
===Ejercicios tipo hola mundo===
 +
<br />
 +
{{MRM_Actividad|Title=Ejercicio 1.- Declaración de  variables|
 +
*Muestra un mensaje por la pantalla
 +
}}
  
===Ejercicios de la introducción a php===
 
===Ejercicios de declaración de variables===
 
 
<br />
 
<br />
{{MRM_Actividad|Title=Ejercicio 1.- Declaración de  variables|}}
+
{{MRM_Actividad|Title=Ejercicio 2.- Declaración de  variables|
<source lang=html5>
+
*Este programa donde declares variables de diferente tipo.
<!DOCTYPE html>
+
*Luego muestres su valor.
<!--
+
*Hazlo usando el operador de concatenación y sin usarlo
To change this license header, choose License Headers in Project Properties.
+
}}
To change this template file, choose Tools | Templates
+
 
and open the template in the editor.
+
 
-->
+
<br />
<html>
+
{{MRM_Actividad|Title=Ejercicio 3.- Declaración de  variables|
    <head>
+
*Este programa asignará los siguientes valores a variables y luego lo visualizará
        <meta charset="UTF-8">
+
**125;
        <title></title>
+
**0574;
    </head>
+
**0xAbC12;
    <body>
+
**0b1100;
</source><source lang=php>
+
**"Esto es una cadena de caracteres";  
            <?php
+
**'Esto es otra cadena de caracteres';
                //Declaro variables de diferente tipo y les asigno valores con diferente formato
+
                 Esto es una cadena
        //Asingación de variables de tipo enteriò
+
        $numDecimal = 125;
+
        $numOctal = 0874;
+
        $numHex=0xAbC12;
+
        $numbin = 0b1100;
+
        $cadena = "Esto es una cadena de caracteres";
+
        $cadena2 = 'Esto es otra cadena de caracteres';
+
        $cadenaHeredoc=<<<FIN
+
                 Esto es una cdena
+
 
                 multilínea
 
                 multilínea
                 y termina aqui
+
                 y termina aquí
FIN;
+
 
        $cadenaNewdoc=<<<'FIN'
+
                Esto es una cadena
                Esto es una cdena
+
 
                 multilínea
 
                 multilínea
                 y termina aqui
+
                 y termina aquí
FIN;
+
        $numReal=1.23432230003322014000002234101;
+
        $numRealCientifico=1234E-2;
+
        $valorNull = null;
+
        $boleano1=true;
+
        $boleano2 = false;
+
  
        //Ahora visualizamos el valor de las variables
+
**1.23432230003322014000002234101;
        echo "<h2>Valores de tipo entero</h2>";
+
**1234E-2;
        echo "\$numDecimal(125) = $numDecimal <br />";
+
**null;
        echo "\$numOctal(0874)=$numOctal<br />";
+
**true;
        echo "\$numHex=(0xAbC12)=$numHex<br />";
+
**false;
        echo "\$numbin(0b1100)=$numbin<br />";
+
}}
 +
<!--
 +
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio1 | Solución]]</font>
 +
-->
  
        echo "<h2>Valores de tipo real</h2>";
+
<hr />
        echo "\$numReal(1.23432230003322014000002234101)=$numReal<br />";
+
{{Tip|Los siguientes programas son algorítmicos básicos}}
        echo "\$numRealCientifico(1234E-2)=$numRealCientifico<br />";
+
<hr />
  
        echo "<h2>Valores de tipo cadena o string</h2>";
+
{{MRM_Actividad|Title=Ejercicio 4 Sumar números|
        echo "\$cadena =$cadena <br />";
+
Haz un programa que sume los 100 primeros números}}
        echo "\$cadena2 = $cadena2 <br />";
+
<!--
       
+
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio2 | Solución]]</font>
        echo "\$cadenaHeredoc=$cadenaHeredoc<br />";
+
-->
        echo "\$cadenaNewdoc=$cadenaNewdoc<br />";
+
<hr />
       
+
{{MRM_Actividad|Title=Ejercicio 5 Fechas|
        echo "<h2>Valores de tipo null</h2>";
+
Haz un programa que obtenga de forma aleatoria dia (1-31)mes(1-12) y año(1-3000) y nos diga si la fecha es correcta o no y porqué
        echo "\$valorNull (null)=$valorNull<br />";
+
{{plegable|hide|Posible solución|
        echo "\$boleano1 (true) =$boleano1 <br />";
+
<source lang=php>
        echo "\$boleano2 (false)= $boleano2<br />";
+
<?php
                ?>
+
    </source><source lang=html5>
+
    </body>
+
</html>
+
</source>
+
  
 +
/**
 +
*
 +
* @param entero $year  año a analizar si es o no bisesto
 +
* @return bool que indica si es bisesto
 +
*/
 +
function bisiesto($year) {
 +
    if ($year % 400 == 0)
 +
        $bisiesto = true;
 +
    elseif ($year % 4 == 0) {
 +
        if ($year % 100 != 0)
 +
            $bisiesto = true;
 +
        else
 +
            $bisiesto = false;
 +
    } else
 +
        $bisiesto = false;
  
 +
    return $bisiesto;
  
{{Tip|Para las siguientes actividades debes conocer las estructuras de control básicas.}}
+
    //return !($year%400)OR (!($year%4)AND ($year%100));
 +
}
  
{{MRM_Actividad|
+
$dia = rand(1, 32);
Haz un programa que sume los 100 primeros números}}
+
$mes = rand(1, 13);
 +
$year = rand(1, 3000);
  
</div>
+
$dia = 32;
 +
$mes = 13;
 +
$year = 100;
  
<div class="slide">
+
$fecha = "$dia-$mes-$year";
  
{{MRM_Actividad|
+
//Variable para establecer si la fecha es o no correcta
Haz un programa que obtenga de forma aleatoria dia (1-31)mes(1-12) y año(1-3000) y nos diga si la fecha es correcta o no y porqué}}
+
$msj = null;
</div>
+
  
 +
if ($mes >= 13 || $mes < 1)
 +
    $msj = "Mes $mes incorrecto";
 +
else {
 +
    if ($mes == 1 || $mes == 3 || $mes == 5 || $mes == 7 || $mes == 8 || $mes == 10 || $mes == 12) {
 +
        if ($dia > 31)
 +
            $msj = "$dia no correcto en mes de 31 días";
 +
    }else {
 +
        if ($mes == 2) {
 +
            if (bisiesto($year)) {
 +
                if ($dia > 29)
 +
                    $msj = "$dia no correcto en año bisiesto";
 +
            }else {
 +
                if ($dia > 28)
 +
                    $msj = "$dia no correcto en año no bisiesto";
 +
            }
 +
        }else
 +
        if ($dia > 30)
 +
            $msj = "$dia no correcto en mes de 30 días";
 +
    }
 +
}
 +
?>
  
  
{{MRM_Actividad|
+
<!doctype html>
*Probamos a hacer programas sencillos donde asignamos y visualizamos valores
+
<html lang="en">
#entero:
+
    <head>
#cadena:
+
        <meta charset="UTF-8">
#booleano:
+
        <title>Document</title>
#real
+
    </head>
#NULL
+
    <body>
}}
+
        <h2>Fecha <?= "$fecha <span style='color:red'>$msj</span>" ?>  </h2>
</div>
+
  
 +
    </body>
 +
</html>
 +
</source>
  
  
{{MRM_Actividad|
+
}}
 +
}}
 +
<!--
 +
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio3 | Solución]]</font>
 +
-->
 +
<hr />
 +
{{MRM_Actividad|Title=Ejercicio 6 Nómina|
 
*Haz un programa que a partir de precio hora y de número de horas calcule una nómina, teniendo en cuenta que:
 
*Haz un programa que a partir de precio hora y de número de horas calcule una nómina, teniendo en cuenta que:
 
#mas de 40 horas son extras (1.5 el precio base)
 
#mas de 40 horas son extras (1.5 el precio base)
Línea 108: Línea 141:
 
#Mas de 800 12 %
 
#Mas de 800 12 %
 
*Nos debe de dar detalle del bruto, descuentos y neto de salario}}
 
*Nos debe de dar detalle del bruto, descuentos y neto de salario}}
</div>
+
<!--
 +
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio4 | Solución]]</font>
 +
-->
  
<div class="slide">
+
{{MRM_Actividad|Title=Tabla de multiplicar|
  
{{MRM_Actividad|
+
*Genera un número aleatorio y muestra la tabla de multiplicar
Un programa que nos diga si un número es o no primo}}
+
*Haz que salga con una tabla usando las etiquetas html
</div>
+
<nowiki>
 +
    <table>
 +
      <tr>
 +
        <th> </th>
 +
      </tr>
 +
            ......
 +
      <tr>
 +
        <td> </td>
 +
      </tr>
 +
        ........
 +
    </table>
 +
</nowiki>
 +
*Intenta hacerlo que salgan las diez tablas de multiplicar
 +
}}
 +
{{tip|'''''Revisa la teoría''''', y confirma en este ejercicio que tienes claro la posibilidad de entremezclar código php y html y para el intérprete de php es todo como si fuera el mismo script}}
  
<div class="slide">
 
  
{{MRM_Actividad|
 
Haz un programa que muestre la tabla de multiplicar de un número aleatorio en una tabla. Intenta que las sentencias html queden fuera del código de php}}
 
  
</div>
 
  
 +
<hr />
 +
{{MRM_Actividad|Title=Ejercicio 7 Número primo|
 +
*Un programa que nos diga si un número es o no primo
 +
}}
  
<div class="slide">
 
  
 +
<!--
 +
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio5 | Solución]]</font>
 +
-->
 +
<hr />
 +
 +
<!--
 +
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio6 | Solución]]</font>
 +
-->
 +
<hr />
 
{{MRM_Actividad|
 
{{MRM_Actividad|
Realiza un programa que visualice las constantes predefinidas '''variables''' vistas anteriormente, y al menos otras 8 de las constantes predefinidas '''estándar'''}}
+
Realiza un programa que visualice las constantes predefinidas '''variables''' vistas en la teoría, y al menos otras 8 de las constantes predefinidas '''estándar'''}}
 +
<font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio7 | Solución]]</font>
 +
<hr />
 +
<div style="float: right;font-size:30px;text-align:center;background-color:DarkSeaGreen">
 
</div>
 
</div>
 +
 +
===Ejercicios de sintaxis===
 +
<br />
 +
{{Actividad|Title=Ejercicios sencillos y mas complejos de php|
 +
; Ejercicios con operaciones aritméticas
 +
: http://www.mclibre.org/consultar/php/ejercicios/operaciones_aritmeticas/operaciones_aritmeticas.html
 +
; Condicionales y repeticiones
 +
: http://www.mclibre.org/consultar/php/ejercicios/if_else/if_else.html
 +
: http://www.mclibre.org/consultar/php/ejercicios/repaso_1/repaso.html
 +
; Expresiones regulares
 +
: Teoría: http://www.mclibre.org/consultar/php/lecciones/php_expresiones_regulares.html
 +
: Ejercicios: http://www.mclibre.org/consultar/php/ejercicios/expresiones_regulares/expresiones_regulares.html
 +
; Validación
 +
: Teoría: http://www.mclibre.org/consultar/php/lecciones/php_comprobacion_datos.html
 +
: http://www.mclibre.org/consultar/php/ejercicios/validacion/validacion.html
 +
; Listado interesante de ejercicos varios y de diferentes niveles
 +
: http://www.tecn.upf.es/~ocelma/cpom/practicas
 +
}}

Última revisión de 21:09 2 abr 2020



Ejercicios tipo hola mundo



Icon activity.jpg
Ejercicio 1.- Declaración de variables
  • Muestra un mensaje por la pantalla






Icon activity.jpg
Ejercicio 2.- Declaración de variables
  • Este programa donde declares variables de diferente tipo.
  • Luego muestres su valor.
  • Hazlo usando el operador de concatenación y sin usarlo






Icon activity.jpg
Ejercicio 3.- Declaración de variables
  • Este programa asignará los siguientes valores a variables y luego lo visualizará
    • 125;
    • 0574;
    • 0xAbC12;
    • 0b1100;
    • "Esto es una cadena de caracteres";
    • 'Esto es otra cadena de caracteres';
               Esto es una cadena
               multilínea
               y termina aquí
                Esto es una cadena
               multilínea
               y termina aquí
    • 1.23432230003322014000002234101;
    • 1234E-2;
    • null;
    • true;
    • false;





Icon present.gif
Tip: Los siguientes programas son algorítmicos básicos





Icon activity.jpg
Ejercicio 4 Sumar números

Haz un programa que sume los 100 primeros números




Icon activity.jpg
Ejercicio 5 Fechas

Haz un programa que obtenga de forma aleatoria dia (1-31)mes(1-12) y año(1-3000) y nos diga si la fecha es correcta o no y porqué





Icon activity.jpg
Ejercicio 6 Nómina
  • Haz un programa que a partir de precio hora y de número de horas calcule una nómina, teniendo en cuenta que:
  1. mas de 40 horas son extras (1.5 el precio base)
  2. IRPF < 600E exento
  3. Entre 600 y 800 5%
  4. Mas de 800 12 %
  • Nos debe de dar detalle del bruto, descuentos y neto de salario




Icon activity.jpg
Tabla de multiplicar
  • Genera un número aleatorio y muestra la tabla de multiplicar
  • Haz que salga con una tabla usando las etiquetas html
    <table>
       <tr>
        <th> </th>
       </tr>
            ......
       <tr>
        <td> </td>
       </tr>
         ........
    </table>

  • Intenta hacerlo que salgan las diez tablas de multiplicar



Icon present.gif
Tip: Revisa la teoría, y confirma en este ejercicio que tienes claro la posibilidad de entremezclar código php y html y para el intérprete de php es todo como si fuera el mismo script






Icon activity.jpg
Ejercicio 7 Número primo
  • Un programa que nos diga si un número es o no primo







Icon activity.jpg
Actividad

Realiza un programa que visualice las constantes predefinidas variables vistas en la teoría, y al menos otras 8 de las constantes predefinidas estándar


Solución


Ejercicios de sintaxis