Diferencia entre revisiones de «Plantilla:ManuelRomero/PHP/EjerciciosSintaxisBasica»
(→Ejercicio 10: Cambiar aleatoriamente el estilo de un texto) |
(→Ejercicio 19: Genera Números de Bonoloto) |
||
(39 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
− | + | __TOC__ | |
− | == | + | ==Estructuras secuenciales== |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===Ejercicio 1: Usa la instrucción echo=== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br /> | <br /> | ||
− | {{MRM_Actividad|Title=Ejercicio 1 : Usa la instrucción echo| | + | {{MRM_Actividad|Title=[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio1|Ejercicio 1: Usa la instrucción echo]]| |
* Realiza un programa donde visualices un mensaje usando la instrucción '''echo'''. | * Realiza un programa donde visualices un mensaje usando la instrucción '''echo'''. | ||
* Prueba a insertar caracteres especiales \n, \t. | * Prueba a insertar caracteres especiales \n, \t. | ||
Línea 59: | Línea 16: | ||
}} | }} | ||
}} | }} | ||
+ | |||
=== Ejercicio 2: Probando printf === | === Ejercicio 2: Probando printf === | ||
<br /> | <br /> | ||
Línea 72: | Línea 30: | ||
=== Ejercicio 3: printf, tabla ASCII === | === Ejercicio 3: printf, tabla ASCII === | ||
<br /> | <br /> | ||
− | {{MRM_Actividad|Title=Ejercicio 3 : printf, tabla ASCII| | + | {{MRM_Actividad|Title=Ejercicio 3: printf, tabla ASCII| |
* Usando la estructura de control '''for''': | * Usando la estructura de control '''for''': | ||
<source lang=php> | <source lang=php> | ||
Línea 341: | Línea 299: | ||
}} | }} | ||
}} | }} | ||
+ | ==Ejercicios de selección== | ||
=== Ejercicio 12: Selección simple === | === Ejercicio 12: Selección simple === | ||
Línea 375: | Línea 334: | ||
} | } | ||
</source> | </source> | ||
+ | {{BotonIndice | ||
+ | |enlace=#Tabla_de_Contenidos | ||
+ | |texto=Volver al índice | ||
+ | }} | ||
+ | }} | ||
+ | === Ejercicio: Selección con html === | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicioIfHtml|Ejercicio :Selección con html]]| | ||
+ | * Un formulario que pida edad y nombre | ||
+ | * En función de la edad mostraremos un texto y otro | ||
+ | * Si es menor de edad mostramos un mensaje en color azul de fondo que es menor de dad | ||
+ | * En el caso de ser mayor de edad mostramos otro texto con otro color | ||
+ | * Usamos la estructura | ||
+ | <source lang=php> | ||
+ | <?php if (true): ?> | ||
+ | <h1>Este contenido se mostrará</h1> | ||
+ | <?php else: ?> | ||
+ | <h1>Este contenido no se mostrará</h1> | ||
+ | <?php endif; ?> | ||
+ | </source> | ||
+ | |||
{{BotonIndice | {{BotonIndice | ||
|enlace=#Tabla_de_Contenidos | |enlace=#Tabla_de_Contenidos | ||
Línea 402: | Línea 382: | ||
=== Ejercicio 15: Selección múltiple con if === | === Ejercicio 15: Selección múltiple con if === | ||
<br /> | <br /> | ||
− | {{MRM_Actividad|Title= | + | {{MRM_Actividad|Title=[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio15| Selección múltiple con if | |
+ | |||
* Genera un número entre 1 y 15. | * Genera un número entre 1 y 15. | ||
* Muestra el nombre del mes correspondiente al número (enero, febrero...). | * Muestra el nombre del mes correspondiente al número (enero, febrero...). | ||
Línea 425: | Línea 406: | ||
=== Ejercicio 16: Selección con switch === | === Ejercicio 16: Selección con switch === | ||
<br /> | <br /> | ||
− | {{MRM_Actividad|Title=Ejercicio 16 : Selección con switch| | + | {{MRM_Actividad|Title=[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio16|Ejercicio 16 : Selección con switch]]| |
* Genera un número de mes de forma aleatoria. | * Genera un número de mes de forma aleatoria. | ||
− | * Muestra el número y | + | * Muestra el número y el número de días que tiene |
− | * Realiza | + | * Realiza usando `switch`: |
+ | *{{Nota| | ||
+ | Intenta que se muestre también el nombre del mes junto con el número de días | ||
+ | }} | ||
<source lang=php> | <source lang=php> | ||
$mes = rand(1, 15); | $mes = rand(1, 15); | ||
switch ($mes) { | switch ($mes) { | ||
case 1: | case 1: | ||
− | + | $dias=31; | |
break; | break; | ||
case 2: | case 2: | ||
− | + | $dias=29; | |
break; | break; | ||
// Continúa con los demás casos | // Continúa con los demás casos | ||
default: | default: | ||
− | + | $dias = "Mes incorrecto<br />"; | |
} | } | ||
</source> | </source> | ||
Línea 448: | Línea 432: | ||
}} | }} | ||
}} | }} | ||
− | |||
=== Ejercicio 17: Muestra el nombre y el número de días de un mes === | === Ejercicio 17: Muestra el nombre y el número de días de un mes === | ||
Línea 475: | Línea 458: | ||
}} | }} | ||
}} | }} | ||
+ | |||
+ | === Ejercicio 17(Con imágenes): Tirar un dado === | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/17_TirarDado|Ejercicio 17(Con imágenes): Tirar un dado]]| | ||
+ | * Tenemos un index.php que nos muestra 6 dados según imagenes | ||
+ | <gallery> | ||
+ | image:dado_1.png | ||
+ | image:dado_2.png | ||
+ | image:dado_3.png | ||
+ | image:dado_4.png | ||
+ | image:dado_5.png | ||
+ | image:dado_6.png | ||
+ | </gallery> | ||
+ | |||
+ | Se trata de hacer un programa que apuestes por un dado | ||
+ | El programa generará un valor aleatorio y me dirás si he ganado o perdido. | ||
+ | Se puede usar un formulario como sigue: | ||
+ | <source lang=php> | ||
+ | |||
+ | <form action="jugar.php" method="post"> | ||
+ | <div style="margin: 0px auto;width:100%; text-align: center"> | ||
+ | <button type="submit" name="dado" value="1"> | ||
+ | <img src="./imagenes/dado_1.png" alt=""> | ||
+ | </button> | ||
+ | <button type="submit" name="dado" value="2"> | ||
+ | <img src="./imagenes/dado_2.png" alt=""> | ||
+ | </button> | ||
+ | <button type="submit" name="dado" value="3"> | ||
+ | <img src="./imagenes/dado_3.png" alt=""> | ||
+ | </button> | ||
+ | <button type="submit" name="dado" value="4"> | ||
+ | <img src="./imagenes/dado_4.png" alt=""> | ||
+ | </button> | ||
+ | <button type="submit" name="dado" value="5"> | ||
+ | <img src="./imagenes/dado_5.png" alt=""> | ||
+ | </button> | ||
+ | <button type="submit" name="dado" value="6"> | ||
+ | <img src="./imagenes/dado_6.png" alt=""> | ||
+ | </button> | ||
+ | </form> | ||
+ | </source> | ||
+ | Al ser lo button de tipo submit, al presionar uno de ellos iremos al fichero '''jugar.php''' y podremos obtener el valor del botón presionado | ||
+ | <source lang=php> | ||
+ | $dado = $_POST['dado']; | ||
+ | </source> | ||
+ | {{MRM_Puntos clave|title=opcional| | ||
+ | ;Si quieres un ejecto visual puedes recagar la página cada segundo y que vaya apareciendo los dados | ||
+ | *Para ello has de añadir una etiqueta meta de tipo refresh en la cabecera de la página | ||
+ | <source lang=html5> | ||
+ | <meta http-equiv="refresh" content="1"> | ||
+ | </source> | ||
+ | ;Esto hará que la página se cargue cada seguno | ||
+ | [[Archivo:dado_animado.gif|center]] | ||
+ | }} | ||
+ | {{BotonIndice | ||
+ | |enlace=#Tabla_de_Contenidos | ||
+ | |texto=Volver al índice | ||
+ | }} | ||
+ | }} | ||
+ | === Ejercicio repaso de match: calculadora === | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/Calculadora|Ejercicio repaso de match: calculadora]]| | ||
+ | *Usando el match y un formulario simple, realiza una calculadora con las operaciones básica | ||
+ | [[Archivo:form_calculadora_basica.png]] | ||
+ | *Al seleccionar '''calcular''' nos mostrará el resultado | ||
+ | [[Archivo:resultado.png]] | ||
+ | *En caso de que el valor no sea numérico, asignaremos un número aleatorio del 1 al 100 | ||
+ | |||
+ | |||
+ | }} | ||
+ | |||
+ | ==Ejercicios con bucles== | ||
=== Ejercicio 18: Suma los 100 primeros números === | === Ejercicio 18: Suma los 100 primeros números === | ||
<br /> | <br /> | ||
+ | |||
+ | |||
{{MRM_Actividad|Title=Ejercicio 18 : Suma los 100 primeros números| | {{MRM_Actividad|Title=Ejercicio 18 : Suma los 100 primeros números| | ||
* Muestra la suma de los primeros 100 números naturales. | * Muestra la suma de los primeros 100 números naturales. | ||
Línea 502: | Línea 559: | ||
* Simula tirar un dado 100,000 veces. | * Simula tirar un dado 100,000 veces. | ||
* Cuenta cuántas veces aparece cada número (1-6). | * Cuenta cuántas veces aparece cada número (1-6). | ||
− | + | {{BotonIndice | |
− | + | |enlace=#Tabla_de_Contenidos | |
− | + | |texto=Volver al índice | |
− | + | }} | |
− | + | }} | |
+ | |||
+ | === Ejercicio 19: Buscar parejas tirando dados === | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/TirarDadosParejas|Ejercicio 19 : Buscar parejas tirando dados]]| | ||
+ | * Tiramos los dados hasta que nos salgan 2 veces el mismo número | ||
+ | * Mostramos el número que nos ha salido en pareja | ||
+ | * Mostramos el número de tiradas | ||
+ | * Se puede usar las imágenes | ||
+ | <gallery> | ||
+ | image:dado_1.png | ||
+ | image:dado_2.png | ||
+ | image:dado_3.png | ||
+ | image:dado_4.png | ||
+ | image:dado_5.png | ||
+ | image:dado_6.png | ||
+ | </gallery> | ||
+ | {{Nota|Puedes añadirle al juego que apuestes por la pareja que va a salir, parecido al ejercicio de tirar dados}} | ||
+ | </source> | ||
+ | {{BotonIndice | ||
+ | |enlace=#Tabla_de_Contenidos | ||
+ | |texto=Volver al índice | ||
+ | }} | ||
+ | }} | ||
+ | === Ejercicio 19: Genera Números de Bonoloto === | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/Bonoloto|Ejercicio 19 : Genera Números de Bonoloto]]| | ||
+ | * Generamos 5 números para la bonoloto | ||
+ | * Importante es asegurar que los números no se puedan repetir | ||
+ | * Puedes usar este css para los estilos | ||
+ | {{Plegable|hide|Estilos para los números| | ||
+ | <source lang=css> | ||
+ | body { | ||
+ | font-family: Arial, sans-serif; | ||
+ | text-align: center; | ||
+ | background-color: #f9f9f9; | ||
+ | padding: 20px; | ||
} | } | ||
− | + | ||
− | + | fieldset { | |
+ | border: 2px solid #0a3622; | ||
+ | border-radius: 10px; | ||
+ | display: inline-block; | ||
+ | padding: 20px; | ||
+ | background-color: #ffffff; | ||
+ | } | ||
+ | |||
+ | legend { | ||
+ | font-weight: bold; | ||
+ | color: #0a3622; | ||
+ | } | ||
+ | |||
+ | .bonoloto { | ||
+ | display: inline-block; | ||
+ | width: 60px; | ||
+ | height: 60px; | ||
+ | line-height: 60px; | ||
+ | margin: 10px; | ||
+ | background-color: #ffffff; | ||
+ | color: #000000; | ||
+ | font-size: 1.5em; | ||
+ | font-weight: bold; | ||
+ | text-align: center; | ||
+ | border: 2px solid #000000; | ||
+ | border-radius: 50%; /* Hace que el elemento sea un círculo */ | ||
+ | box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); /* Sombra para darle profundidad */ | ||
+ | } | ||
+ | |||
+ | h1 { | ||
+ | color: #0a3622; | ||
+ | font-size: 1.8em; | ||
} | } | ||
</source> | </source> | ||
+ | Entonces los números los mostrarás con la clase '''bonoloto''' | ||
+ | <source lang=php> | ||
+ | <span class="bonoloto"><?= $numero_1 ?></span> | ||
+ | //.... | ||
+ | </source> | ||
+ | }} | ||
{{BotonIndice | {{BotonIndice | ||
|enlace=#Tabla_de_Contenidos | |enlace=#Tabla_de_Contenidos | ||
Línea 518: | Línea 648: | ||
}} | }} | ||
− | === Ejercicio | + | === Ejercicio 19 :Genera una tabla ASCII completa === |
<br /> | <br /> | ||
− | {{MRM_Actividad|Title=Ejercicio 20 : Mostrar mes y número de días| | + | {{MRM_Actividad|Title=[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/TablaAsciiCompleta|Ejercicio 19 :Genera una tabla ASCII completa]]| |
+ | *Creamos una tabla ascii, desde el 33 hasta el 126 código | ||
+ | *Puedes (debes) usar estas funciones (una de ellas, o prueba a hacerlo con las dos) | ||
+ | <source lang=php> | ||
+ | chr($numero) //retorna el carácter en ascii del código que se pasa como argumento | ||
+ | printf ("%d - %c", $numero, $numero); //Esta función | ||
+ | // visualiza con formato decimal (%d) y carácter (%c), | ||
+ | //los valores pasados como últimos argumentos | ||
+ | </source> | ||
+ | *Genera la salida en una tabla html | ||
+ | *Intenta dar un número de columas (por ejemplo 6 columnas | ||
+ | |||
+ | {{BotonIndice | ||
+ | |enlace=#Tabla_de_Contenidos | ||
+ | |texto=Volver al índice | ||
+ | }} | ||
+ | }} | ||
+ | |||
+ | === Ejercicio 20: Mostrar mes y su número de días === | ||
+ | <br /> | ||
+ | |||
+ | {{MRM_Actividad|Title=Ejercicio 20: Mostrar mes y su número de días| | ||
* Genera un número aleatorio entre 1 y 15. | * Genera un número aleatorio entre 1 y 15. | ||
* Muestra con un mensaje el nombre del mes y su número de días. | * Muestra con un mensaje el nombre del mes y su número de días. | ||
Línea 547: | Línea 698: | ||
}} | }} | ||
− | === Ejercicio 20.1: Validar | + | ===Ejercicio 20.1: Validar fechas=== |
<br /> | <br /> | ||
− | {{MRM_Actividad|Title=Ejercicio 20.1 : Validar Fechas| | + | {{MRM_Actividad|Title=Ejercicio 20.1: Validar Fechas| |
* Haz un programa que obtenga de forma aleatoria: día (1-33), mes (1-14) y año (1-3000). | * Haz un programa que obtenga de forma aleatoria: día (1-33), mes (1-14) y año (1-3000). | ||
* Determina si la fecha es válida y muestra un mensaje. | * Determina si la fecha es válida y muestra un mensaje. | ||
Línea 606: | Línea 757: | ||
$bruto = $horas <= 40 ? $horas * $precioHora : (40 * $precioHora) + (($horas - 40) * $precioHora * 1.5); | $bruto = $horas <= 40 ? $horas * $precioHora : (40 * $precioHora) + (($horas - 40) * $precioHora * 1.5); | ||
− | + | $bruto = match(true){ | |
− | + | $bruto<600=>0, | |
− | + | $brto <=800 => $bruto * 0,05, | |
− | + | default => $bruot * 0.12 | |
− | + | ||
− | + | ||
− | + | ||
$neto = $bruto - $irpf; | $neto = $bruto - $irpf; | ||
Línea 684: | Línea 833: | ||
=== Ejercicio 25: Calcula tu edad === | === Ejercicio 25: Calcula tu edad === | ||
<br /> | <br /> | ||
− | {{MRM_Actividad|Title=Ejercicio 25 : Calcula | + | |
+ | ==Ejercicio 25: Calcula la edad== | ||
+ | |||
+ | {{MRM_Actividad|Title=Ejercicio 25 : Calcula la edad| | ||
* A partir de tu fecha de nacimiento, haz un programa que calcule tu edad: | * A partir de tu fecha de nacimiento, haz un programa que calcule tu edad: | ||
** Una opción aproximada es encontrar los segundos de tu edad y dividirlos entre los segundos que tiene un año. | ** Una opción aproximada es encontrar los segundos de tu edad y dividirlos entre los segundos que tiene un año. | ||
Línea 699: | Línea 851: | ||
}} | }} | ||
}} | }} | ||
− | + | === Ejercicio 26: Haz un Reloj === | |
− | === Ejercicio 26: Haz un | + | |
<br /> | <br /> | ||
{{MRM_Actividad|Title=Ejercicio 26 : Haz un reloj| | {{MRM_Actividad|Title=Ejercicio 26 : Haz un reloj| | ||
Línea 802: | Línea 953: | ||
=== Ejercicio 31: Variables globales === | === Ejercicio 31: Variables globales === | ||
<br /> | <br /> | ||
− | {{MRM_Actividad|Title=Ejercicio 31 : Variables globales| | + | {{MRM_Actividad|Title=Ejercicio 31: Variables globales| |
* Declara una función que determine si un número es par. | * Declara una función que determine si un número es par. | ||
* Usa una variable generada en el script principal y pásala a la función. | * Usa una variable generada en el script principal y pásala a la función. |
Última revisión de 18:43 25 nov 2024
Contenido
- 1 Estructuras secuenciales
- 1.1 Ejercicio 1: Usa la instrucción echo
- 1.2 Ejercicio 2: Probando printf
- 1.3 Ejercicio 3: printf, tabla ASCII
- 1.4 Ejercicio 4: Ver tipos de variable
- 1.5 Ejercicio 5: Probando los tipos enteros
- 1.6 Ejercicio 6: Funciones de conversión 1
- 1.7 Ejercicio 6.1: Trabajando con flotantes
- 1.8 Ejercicio 7: Funciones de conversión
- 1.9 Ejercicio 8: Declaración de variables 1
- 1.10 Ejercicio 9: Declaración de variables 2
- 1.11 Ejercicio 10: Cambiar aleatoriamente el estilo de un texto
- 1.12 Ejercicio 10.1: Asignación con heredoc
- 1.13 Ejercicio 11: Probando variables de variables
- 2 Ejercicios de selección
- 2.1 Ejercicio 12: Selección simple
- 2.2 Ejercicio 13: Selección simple 2
- 2.3 Ejercicio: Selección con html
- 2.4 Ejercicio 14: Selección completa
- 2.5 Ejercicio 15: Selección múltiple con if
- 2.6 Ejercicio 16: Selección con switch
- 2.7 Ejercicio 17: Muestra el nombre y el número de días de un mes
- 2.8 Ejercicio 17(Con imágenes): Tirar un dado
- 2.9 Ejercicio repaso de match: calculadora
- 3 Ejercicios con bucles
- 3.1 Ejercicio 18: Suma los 100 primeros números
- 3.2 Ejercicio 19: Tirar dados
- 3.3 Ejercicio 19: Buscar parejas tirando dados
- 3.4 Ejercicio 19: Genera Números de Bonoloto
- 3.5 Ejercicio 19 :Genera una tabla ASCII completa
- 3.6 Ejercicio 20: Mostrar mes y su número de días
- 3.7 Ejercicio 20.1: Validar fechas
- 3.8 Ejercicio 21: Tabla de multiplicar
- 3.9 Ejercicio 22: Genera una nómina
- 3.10 Ejercicio 23: Número primo
- 3.11 Ejercicio 24: Fechas básicas
- 3.12 Ejercicio 25: Calcula tu edad
- 4 Ejercicio 25: Calcula la edad
- 4.1 Ejercicio 26: Haz un Reloj
- 4.2 Ejercicio 27: Fecha aleatoria
- 4.3 Ejercicio 28: Fecha en idiomas
- 4.4 Ejercicio 29: Indica los días de la semana en idiomas
- 4.5 Ejercicio 30: Declarar una función
- 4.6 Ejercicio 31: Variables globales
- 4.7 Ejercicio 32: Parámetros por referencia
- 4.8 Ejercicios de sintaxis
- 5 Ejercicios sencillos y mas complejos de php
Estructuras secuenciales
Ejercicio 1: Usa la instrucción echo
|
Ejercicio 2: Probando printf
|
Ejercicio 3: printf, tabla ASCII
for ($n=32; $n<128; $n++){ // iterará desde 32 hasta 128 }
<table> <caption></caption> <tr> <th>Título 1</th> <th>Título 2</th> </tr> <tr> <td>Valor</td> </tr> </table>
|
Ejercicio 4: Ver tipos de variable
$a = 10; echo "Valor de la variable \$a es $a y es de tipo ".gettype($a)."<br />";
|
Ejercicio 5: Probando los tipos enteros
|
Ejercicio 6: Funciones de conversión 1
$num = 10; echo "Decimal: $num<br />"; echo "Binario: " . decbin($num) . "<br />"; echo "Hexadecimal: " . dechex($num) . "<br />"; echo "Octal: " . decoct($num) . "<br />";
|
Ejercicio 6.1: Trabajando con flotantes
$float1 = 1.2; $float2 = 1.23; $float3 = 1.234; $float4 = 1.2345; echo "Formato Europeo: " . number_format($float1, 2, ',', '.') . "<br />"; echo "Formato Científico: " . sprintf("%.2E", $float2) . "<br />";
|
Ejercicio 7: Funciones de conversión
for ($i = 1; $i <= 100; $i++) { echo "Número: $i, Binario: " . decbin($i) . ", Hexadecimal: " . dechex($i) . ", Octal: " . decoct($i) . "<br />"; }
|
Ejercicio 8: Declaración de variables 1
$int = 10; $float = 20.5; $string = "Esto es una cadena"; $bool = true; echo "Entero: $int<br />"; echo "Flotante: $float<br />"; echo "Cadena: $string<br />"; echo "Booleano: " . ($bool ? 'true' : 'false') . "<br />";
|
Ejercicio 9: Declaración de variables 2
** 125 ** 0874 // Observarás que esta asignación produce un error, ya que el 8 no es un dígito válido en el sistema octal. ** 0xAbC12 ** 0b1100 ** "Esto es una cadena de caracteres" ** 'Esto es otra cadena de caracteres' ** Cadena multilínea: ``` Esto es una cadena multilínea y termina aquí. ``` ** 1.23432230003322014000002234101 ** 1234E-2 ** null ** true ** false $int = 125; $octal = 0874; // Error $hex = 0xAbC12; $binary = 0b1100; $string1 = "Esto es una cadena de caracteres"; $string2 = 'Esto es otra cadena de caracteres'; $float = 1.23432230003322014000002234101; $scientific = 1234E-2; $null = null; $true = true; $false = false; echo "Entero: $int<br />"; echo "Hexadecimal: $hex<br />"; echo "Binario: $binary<br />"; echo "Cadena 1: $string1<br />"; echo "Cadena 2: $string2<br />"; echo "Flotante: $float<br />"; echo "Científico: $scientific<br />"; echo "Null: " . var_export($null, true) . "<br />"; echo "Booleano True: " . var_export($true, true) . "<br />"; echo "Booleano False: " . var_export($false, true) . "<br />";
|
Ejercicio 10: Cambiar aleatoriamente el estilo de un texto
<hx style="color:#RGB;">Este es el texto que debe de aparecer cambiante</hx>
** `x`: un valor de 1 a 6. ** `R`: un valor en hexadecimal de entre 0 y 255 (tonalidad de rojo). ** `G`: un valor en hexadecimal de entre 0 y 255 (tonalidad de verde). ** `B`: un valor en hexadecimal de entre 0 y 255 (tonalidad de azul). $x = rand(1, 6); $R = dechex(rand(0, 255)); $G = dechex(rand(0, 255)); $B = dechex(rand(0, 255)); echo "<h$x style='color:#$R$G$B;'>Texto aleatorio con estilo</h$x>";
|
Ejercicio 10.1: Asignación con heredoc
$cliente = "Juan Pérez"; $fecha = date("d/m/Y"); $factura = 1; $producto1 = "Cuadros"; $precio1 = rand(1, 100); $producto2 = "Luminarias intensas"; $precio2 = rand(1, 100); $facturaContent = <<<FACTURA ======================================== FACTURA Número: $factura ======================================== Cliente: $cliente Fecha: $fecha Producto 1: $producto1 - Precio: $precio1 € Producto 2: $producto2 - Precio: $precio2 € ======================================== FACTURA; echo nl2br($facturaContent);
|
Ejercicio 11: Probando variables de variables
$tomate = 2.5; $cebolla = 1.2; $zanahoria = 1.8; $producto = "tomate"; echo "El precio de $producto es ${$producto} €<br />"; $producto = "cebolla"; echo "El precio de $producto es ${$producto} €<br />";
|
Ejercicios de selección
Ejercicio 12: Selección simple
$numero = rand(1, 100); if ($numero % 2 == 0) { echo "¡Has ganado un premio! Número: $numero<br />"; } else { echo "Número obtenido: $numero<br />"; }
|
Ejercicio 13: Selección simple 2
$edad = rand(1, 90); echo "Edad generada: $edad<br />"; if ($edad < 18) { echo "<span style='color:red;'>Menor de edad</span><br />"; }
|
Ejercicio: Selección con html
<?php if (true): ?> <h1>Este contenido se mostrará</h1> <?php else: ?> <h1>Este contenido no se mostrará</h1> <?php endif; ?>
|
Ejercicio 14: Selección completa
$edad = rand(1, 90); if ($edad < 18) { echo "Edad: $edad. Es menor de edad.<br />"; } else { echo "Edad: $edad. Es mayor de edad.<br />"; }
|
Ejercicio 15: Selección múltiple con if
{{MRM_Actividad|Title=[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio15| Selección múltiple con if |
- Genera un número entre 1 y 15.
- Muestra el nombre del mes correspondiente al número (enero, febrero...).
- Si el número es mayor de 12, muestra "Mes incorrecto".
$mes = rand(1, 15); if ($mes == 1) { echo "Enero<br />"; } elseif ($mes == 2) { echo "Febrero<br />"; } // Continúa con los demás casos else { echo "Mes incorrecto<br />"; }
}}
Ejercicio 16: Selección con switch
Ejercicio 17: Muestra el nombre y el número de días de un mes
$mes = rand(1, 12); switch ($mes) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: echo "Mes: Enero, Días: 31<br />"; break; case 4: case 6: case 9: case 11: echo "Mes: Abril, Días: 30<br />"; break; case 2: echo "Mes: Febrero, Días: 28 o 29<br />"; break; }
|
Ejercicio 17(Con imágenes): Tirar un dado
Se trata de hacer un programa que apuestes por un dado El programa generará un valor aleatorio y me dirás si he ganado o perdido. Se puede usar un formulario como sigue: <form action="jugar.php" method="post"> <div style="margin: 0px auto;width:100%; text-align: center"> <button type="submit" name="dado" value="1"> <img src="./imagenes/dado_1.png" alt=""> </button> <button type="submit" name="dado" value="2"> <img src="./imagenes/dado_2.png" alt=""> </button> <button type="submit" name="dado" value="3"> <img src="./imagenes/dado_3.png" alt=""> </button> <button type="submit" name="dado" value="4"> <img src="./imagenes/dado_4.png" alt=""> </button> <button type="submit" name="dado" value="5"> <img src="./imagenes/dado_5.png" alt=""> </button> <button type="submit" name="dado" value="6"> <img src="./imagenes/dado_6.png" alt=""> </button> </form> Al ser lo button de tipo submit, al presionar uno de ellos iremos al fichero jugar.php y podremos obtener el valor del botón presionado $dado = $_POST['dado'];
|
Ejercicio repaso de match: calculadora
|
Ejercicios con bucles
Ejercicio 18: Suma los 100 primeros números
$suma = 0; echo "<table border='1'>"; echo "<tr><th>Iteración</th><th>Suma acumulada</th></tr>"; for ($i = 1; $i <= 100; $i++) { $suma += $i; echo "<tr><td>{$i}</td><td>{$suma}</td></tr>"; } echo "</table>";
|
Ejercicio 19: Tirar dados
|
Ejercicio 19: Buscar parejas tirando dados
Ejercicio 19: Genera Números de Bonoloto
|
Ejercicio 19 :Genera una tabla ASCII completa
chr($numero) //retorna el carácter en ascii del código que se pasa como argumento printf ("%d - %c", $numero, $numero); //Esta función // visualiza con formato decimal (%d) y carácter (%c), //los valores pasados como últimos argumentos
|
Ejercicio 20: Mostrar mes y su número de días
$mes = rand(1, 15); switch ($mes) { case 1: echo "Enero - 31 días<br />"; break; case 2: echo "Febrero - 28 o 29 días<br />"; break; case 3: echo "Marzo - 31 días<br />"; break; // Continúa con los demás casos default: echo "Mes incorrecto<br />"; }
|
Ejercicio 20.1: Validar fechas
$dia = rand(1, 33); $mes = rand(1, 14); $anio = rand(1, 3000); if (checkdate($mes, $dia, $anio)) { echo "La fecha $dia/$mes/$anio es válida.<br />"; } else { echo "La fecha $dia/$mes/$anio no es válida.<br />"; }
|
Ejercicio 21: Tabla de multiplicar
$numero = rand(1, 10); echo "<table border='1'>"; echo "<tr><th>Multiplicador</th><th>Resultado</th></tr>"; for ($i = 1; $i <= 10; $i++) { echo "<tr><td>$numero x $i</td><td>" . ($numero * $i) . "</td></tr>"; } echo "</table>";
|
Ejercicio 22: Genera una nómina
** Más de 40 horas son extras (1.5 el precio base). ** IRPF: *** < 600€ exento. *** Entre 600€ y 800€: 5%. *** Más de 800€: 12%.
$horas = rand(30, 50); $precioHora = 10; $bruto = $horas <= 40 ? $horas * $precioHora : (40 * $precioHora) + (($horas - 40) * $precioHora * 1.5); $bruto = match(true){ $bruto<600=>0, $brto <=800 => $bruto * 0,05, default => $bruot * 0.12 $neto = $bruto - $irpf; echo "Horas trabajadas: $horas<br />"; echo "Bruto: $bruto €<br />"; echo "IRPF: $irpf €<br />"; echo "Neto: $neto €<br />";
|
Ejercicio 23: Número primo
$numero = rand(1, 100); $esPrimo = true; if ($numero < 2) { $esPrimo = false; } else { for ($i = 2; $i <= sqrt($numero); $i++) { if ($numero % $i == 0) { $esPrimo = false; break; } } } if ($esPrimo) { echo "El número $numero es primo.<br />"; } else { echo "El número $numero no es primo.<br />"; }
|
Ejercicio 24: Fechas básicas
** Cuántos segundos han pasado desde el 1 de enero de 1970 hasta el instante actual. ** La fecha actual en formato `Día/Mes/Año Hora:Minutos:Segundos`. ** La fecha dentro de 25 horas con el formato anterior. ** Una página que se recargue automáticamente cada 5 segundos usando la etiqueta `META Refresh`. echo "Segundos desde 1/1/1970: " . time() . "<br />"; echo "Fecha actual: " . date("d/m/Y H:i:s") . "<br />"; echo "Fecha dentro de 25 horas: " . date("d/m/Y H:i:s", time() + (25 * 3600)) . "<br />"; <head> <meta http-equiv="refresh" content="5"> </head>
|
Ejercicio 25: Calcula tu edad
Ejercicio 25: Calcula la edad
** Una opción aproximada es encontrar los segundos de tu edad y dividirlos entre los segundos que tiene un año. ** Busca una solución más precisa. $fechaNacimiento = strtotime("1990-01-01"); $edadEnSegundos = time() - $fechaNacimiento; $edadAprox = floor($edadEnSegundos / (365.25 * 24 * 3600)); echo "Tu edad aproximada es: $edadAprox años<br />";
|
Ejercicio 26: Haz un Reloj
$microtime = microtime(true); $milisegundos = sprintf("%03d", ($microtime - floor($microtime)) * 1000); echo "Hora actual: " . date("H:i:s") . ":$milisegundos<br />"; <head> <meta http-equiv="refresh" content="0.01"> </head>
|
Ejercicio 27: Fecha aleatoria
$fechaRandom = mktime(rand(0, 23), rand(0, 59), rand(0, 59), rand(1, 12), rand(1, 28), rand(1900, 2100)); echo "Fecha generada: " . date("d/m/Y H:i:s", $fechaRandom) . "<br />"; $diferenciaSegundos = time() - $fechaRandom; echo "Diferencia en segundos con la fecha actual: $diferenciaSegundos<br />";
|
Ejercicio 28: Fecha en idiomas
setlocale(LC_ALL, "es_ES"); echo "Fecha en español: " . strftime("%A, %d de %B de %Y") . "<br />"; setlocale(LC_ALL, "fr_FR"); echo "Fecha en francés: " . strftime("%A, %d %B %Y") . "<br />"; setlocale(LC_ALL, "en_US"); echo "Fecha en inglés: " . strftime("%A, %B %d, %Y") . "<br />";
|
Ejercicio 29: Indica los días de la semana en idiomas
$dias = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]; foreach (["es_ES", "fr_FR", "en_US"] as $idioma) { setlocale(LC_ALL, $idioma); echo "Idioma: $idioma<br />"; foreach ($dias as $dia) { echo strftime("%A", strtotime($dia)) . "<br />"; } }
|
Ejercicio 30: Declarar una función
function mayor($a, $b) { return $a > $b ? $a : $b; } echo "El mayor entre 5 y 10 es: " . mayor(5, 10) . "<br />";
|
Ejercicio 31: Variables globales
$numero = rand(1, 100); function esPar($num) { return $num % 2 == 0; } echo "El número $numero es " . (esPar($numero) ? "par" : "impar") . ".<br />";
|
Ejercicio 32: Parámetros por referencia
function modificarValor(&$valor) { if ($valor % 2 == 0) { $valor /= 2; } else { $valor *= 2; } } $num = rand(1, 100); modificarValor($num); echo "El nuevo valor es: $num<br />";
|
Ejercicios de sintaxis
|