Plantilla:ManuelRomero/PHP/EjerciciosSintaxisBasica

De WikiEducator
Saltar a: navegación, buscar

Tabla de Contenidos

Estructuras secuenciales

Ejercicio 1: Usa la instrucción echo



Icon activity.jpg
Ejercicio 1 : Usa la instrucción echo
  • Realiza un programa donde visualices un mensaje usando la instrucción echo.
  • Prueba a insertar caracteres especiales \n, \t.
  • ¿Qué diferencia hay en usar \n e insertar la etiqueta `
    `? Pruébalo y verifica la salida.




Ejercicio 2: Probando printf



Icon activity.jpg
Ejercicio 2 : Probando printf
  • Asigna a una variable un valor real.
  • Visualiza dicho valor con formato %s, %f, %c, %x, %b.
  • Especifica el número de decimales en %f.




Ejercicio 3: printf, tabla ASCII



Icon activity.jpg
Ejercicio 3 : printf, tabla ASCII
  • Utiliza la estructura de control `for` para generar una tabla.
  • Incluye los códigos ASCII de los caracteres visibles (32-127).




Ejercicio 4: Ver tipos de variable



Icon activity.jpg
Ejercicio 4: Ver tipos de variable
  • Declara variables de los cinco tipos básicos en PHP.
  • Visualiza el valor y tipo de cada variable utilizando la función `gettype()`.
$a = 10;
echo "Valor de la variable \$a es $a y es de tipo ".gettype($a)."<br />";




Ejercicio 5: Probando los tipos enteros



Icon activity.jpg
Ejercicio 5: Probando los tipos enteros
  • Asigna valores enteros a variables en diferentes formatos (decimal, octal, hexadecimal y binario).
  • Visualiza los valores y analiza los resultados.




Ejercicio 6: Funciones de conversión 1



Icon activity.jpg
Ejercicio 6: Funciones de conversión 1
  • Utiliza funciones como `decbin`, `decoct`, y `dechex` para convertir números a diferentes sistemas numéricos.
  • Visualiza el valor original, el convertido, y analiza su tipo.




Ejercicio 6.1: Trabajando con flotantes



Icon activity.jpg
Ejercicio 6.1: Trabajando con flotantes
  • Define valores flotantes en notación decimal y científica con diferentes precisiones.
  • Visualiza los valores utilizando `number_format` y diferentes configuraciones de formato.




Ejercicio 7: Funciones de conversión



Icon activity.jpg
Ejercicio 7: Funciones de conversión
  • Usa las funciones especificadas para visualizar números del 1 al 100 en diferentes sistemas numéricos.
  • Compara el resultado de utilizar estas funciones frente a `printf`.




Ejercicio 8: Declaración de variables 1



Icon activity.jpg
Ejercicio 8: Declaración de variables 1
  • Declara variables de diferentes tipos.
  • Asigna valores en distintos formatos y visualízalos.




Ejercicio 9: Declaración de variables 2



Icon activity.jpg
Ejercicio 9: Declaración de variables 2
  • Asigna valores a variables, incluyendo algunos valores incorrectos (por ejemplo, un número octal con dígitos no válidos).
  • Analiza los errores y corrige las asignaciones.




Ejercicio 10: Cambiar aleatoriamente el estilo de un texto



Icon activity.jpg
Ejercicio 10: Cambiar aleatoriamente el estilo de un texto
  • Genera un texto con un encabezado aleatorio (`

    ` a `
    `) y un color RGB aleatorio.

  • Utiliza valores generados de forma dinámica para los estilos.



</DIV> </DIV>


Ejercicio 10.1: Asignación con heredoc



Icon activity.jpg
Ejercicio 10.1: Asignación con heredoc
  • Construye una factura usando asignación `heredoc`.
  • Incluye variables como cliente, fecha, productos, y precios.
  • Formatea los valores con `number_format` y alinea el texto con `str_pad`.




Ejercicio 11: Probando variables de variables



Icon activity.jpg
Ejercicio 11: Probando variables de variables
  • Declara variables para productos y sus precios.
  • Utiliza variables de variables para acceder dinámicamente a los valores de las variables.
$manzana = 1.5;
$producto = "manzana";
echo "El precio de $producto es ${$producto}";




Ejercicio 12: Selección simple



Icon activity.jpg
Ejercicio 12: Selección simple
  • Genera un número aleatorio entre 1 y 100.
  • Si el número es par, muestra un mensaje indicando que ha ganado un premio.
  • En cualquier caso, muestra el número obtenido.




Ejercicio 13: Selección simple 2



Icon activity.jpg
Ejercicio 13: Selección simple 2
  • Genera una edad aleatoria entre 1 y 90 años.
  • Muestra la edad generada.
  • Si la edad es menor de 18 años, informa de ello en un mensaje con estilo rojo.




Ejercicio 14: Selección completa



Icon activity.jpg
Ejercicio 14: Selección completa
  • Genera una edad aleatoria entre 1 y 90 años.
  • Informa si la edad generada es mayor de edad o no.




Ejercicio 15: Selección múltiple con if



Icon activity.jpg
Ejercicio 15: Selección múltiple con if
  • Genera un número aleatorio entre 1 y 15.
  • Muestra el nombre del mes correspondiente al número.
  • Si el número es mayor de 12, indica "mes incorrecto".
  • Utiliza la estructura `if...elseif...else`.




Ejercicio 16: Selección con switch



Icon activity.jpg
Ejercicio 16: Selección con switch
  • Genera un número de mes de forma aleatoria.
  • Muestra el nombre del mes correspondiente al número generado.
  • Utiliza la estructura `switch`.




Ejercicio 17: Muestra el nombre y el número de días de un mes



Icon activity.jpg
Ejercicio 17: Muestra el nombre y número de días de un mes
  • Modifica el ejercicio anterior para añadir la información sobre el número de días del mes.
  • Usa la estructura `switch` para manejar casos específicos.




Ejercicio 18: Suma de los primeros 100 números



Icon activity.jpg
Ejercicio 18: Suma de los primeros 100 números
  • Calcula la suma de los primeros 100 números naturales.
  • Muestra en cada iteración el número de la iteración y la suma acumulada hasta ese punto.




Ejercicio 19: Tirar dados



Icon activity.jpg
Ejercicio 19: Tirar dados
  • Simula lanzar un dado 100,000 veces.
  • Cuenta cuántas veces aparece cada número (1 al 6).




Ejercicio 20: Mostrar mes y su número de días



Icon activity.jpg
Ejercicio 20: Mostrar mes y su número de días
  • Genera un número aleatorio entre 1 y 12.
  • Muestra el nombre del mes correspondiente y su número de días.




Ejercicio 20.1: Validar fechas



Icon activity.jpg
Ejercicio 20.1: Validar fechas
  • Genera un día, mes y año de forma aleatoria.
  • Determina si la fecha generada es válida.
  • Comprueba si el año es bisiesto.




Ejercicio 21: Tabla de multiplicar



Icon activity.jpg
Ejercicio 21: Tabla de multiplicar
  • Genera un número aleatorio y muestra su tabla de multiplicar en formato HTML.
  • Haz que aparezcan las tablas de multiplicar del 1 al 10.




Ejercicio 22: Genera una nómina



Icon activity.jpg
Ejercicio 22: Genera una nómina
  • Crea un programa que calcule una nómina basada en:
 * Horas trabajadas (más de 40 se consideran extras).
 * Retenciones según el bruto:
   * Menos de 600€: exento.
   * Entre 600€ y 800€: 5%.
   * Más de 800€: 12%.
  • Desglosa el salario bruto, retenciones, y salario neto.




Ejercicio 23: Número primo



Icon activity.jpg
Ejercicio 23: Número primo
  • Genera un número aleatorio entre -100 y 100.
  • Determina si el número es primo o no.
  • Considera el 0 como no primo, pero no utilices el algoritmo general.




Ejercicio 24: Fechas básicas



Icon activity.jpg
Ejercicio 24: Fechas básicas
  • Calcula los segundos que han pasado desde el 1 de enero de 1970 hasta el instante actual.
  • Muestra la fecha actual en el formato Día/Mes/Año Hora:Minutos:Segundos.
  • Calcula la fecha dentro de 25 horas en el mismo formato.
  • Refresca automáticamente la página cada 5 segundos con la etiqueta `<meta>`.




Ejercicio 25: Calcula la edad



Icon activity.jpg
Ejercicio 25: Calcula la edad
  • Usa tu fecha de nacimiento para calcular tu edad.
  • Calcula los segundos desde tu fecha de nacimiento hasta ahora y convierte el valor en años.
  • Busca una solución más precisa considerando días, meses y años.




Ejercicio 26: Haz un reloj



Icon activity.jpg
Ejercicio 26: Haz un reloj
  • Crea un reloj digital que muestre la hora con precisión de milisegundos.
  • Refresca automáticamente la página cada 0.01 segundos.
  • Usa el formato:
 - Hora:Minutos:Segundos:Milisegundos.




Ejercicio 27: Fecha aleatoria



Icon activity.jpg
Ejercicio 27: Fecha aleatoria
  • Genera una fecha aleatoria (día, mes, año, hora, minuto, segundo).
  • Convierte la fecha a un timestamp y calcula la diferencia con la fecha actual.
  • Obtén la fecha a partir del timestamp generado.




Ejercicio 28: Fecha en idiomas



Icon activity.jpg
Ejercicio 28: Fecha en idiomas
  • Instala los locales `es_ES`, `fr_FR` y `en_US`.
  • Muestra la fecha en cada uno de estos idiomas utilizando las funciones correspondientes.




Ejercicio 29: Indica los días de la semana en idiomas



Icon activity.jpg
Ejercicio 29: Indica los días de la semana en idiomas
  • Configura los locales `es_ES`, `fr_FR` y `en_US`.
  • Muestra cómo se escribe el día de la semana actual en cada idioma.




Ejercicio 30: Declarar una función



Icon activity.jpg
Ejercicio 30: Declarar una función
  • Declara una función que devuelva el mayor de dos números dados.
  • Invoca esta función desde el programa principal.




Ejercicio 31: Variables globales



Icon activity.jpg
Ejercicio 31: Variables globales
  • Declara una función que evalúe si un número generado en el programa principal es par o no.
  • La función debe retornar `true` o `false` según el caso.




Ejercicio 32: Parámetros por referencia



Icon activity.jpg
Ejercicio 32: Parámetros por referencia
  • Declara una función que reciba un valor por referencia.
  • Si el valor es par, divídelo por dos; si es impar, multiplícalo por dos.
  • El valor modificado debe mantenerse después de invocar la función.




Ejercicios de sintaxis



Icon activity.jpg

<h1 style="font-size: 130%; font-weight: bolder; color: #FCC65B; border: none;"> Ejercicios de sintaxis</h1>

Ejercicios con operaciones aritméticas
Operaciones aritméticas.
Condicionales y repeticiones
If-Else.
Repaso.
Expresiones regulares
Teoría de expresiones regulares.
Ejercicios.
Validación
Teoría de validación.
Ejercicios.
Listado interesante de ejercicios varios y de diferentes niveles
Listado de ejercicios.









Ejercicio 10: Cambiar aleatoriamente el estilo de un texto



Icon activity.jpg
Ejercicio 10: Cambiar aleatoriamente el estilo de un texto
  • Cargar un texto con un h y color aleatorio

<hx> style=color:#RGB>Este es el texto que debe de aparecer cambiante </hx>

  • x, R,G y B tendrán valores generados aleatoriamente siendo
  • 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)



Ejercicio 10.1: Asiganción con heredoc



Icon activity.jpg
Ejercicio 10.1:Asignación con heredoc
  • Vamos a construir una factura de dos productos
  • Declaramos las siguientes variables
  // Definir algunas variables
       $cliente = "Juan Pérez";
       $fecha = date("d/m/Y");
       $factura = "1";
       $producto1 = "Cuadros";
       $precio1 = rand(1,100);
       $producto2 = "Luminarias intensas";
       $precio2 = rand(1,100);
  • Queremos llegar a obtener el siguiente resultado
Ejercicio factura php.png
  • Para ello se pide que hagas una asignación heredoc a una variable llamada $factura y luego la visualices
  • Usa la etiqueta <pre> para mantener el formato
$factura=<<<FIN
<pre>
========================================
     FACTURA Número: $factura_numero
========================================
 . . .
 
</pre>
 
FIN;
echo $factura
  • Usa la función str_pad, para conseguir cadenas de una misma longitud
  • Usa la función number_format para obtener los números con los mismos decimales




Ejercicio 11: Probando variables de variables



Icon activity.jpg
Ejercicio 11:Probando variables de variables
  • Declaramos el precio de 5 productos de hortalizas
  • Declaramos la variable $producto
  • Vamos visualizando el producto y su precio cambiando solo el valor del producto por el nombre de la hortaliza escribiendo la cadena
 echo "<h1>El precio de $producto es ${$producto}</h1>";




Estructuras de control


Ejercicio 12:Selección simple



Icon activity.jpg
Ejercicio 12: Selección simple
  • Generamos un número aleatoria entre 1 y 100
  • Si el número es par informamos que ha ganado un premio
  • En cualquier caso mostramos el número obtenido




Ejercicio 13:Selección simple 2



Icon activity.jpg
Ejercicio 13: Selección simple 2
  • Generamos una edad entre 1 y 90 años
  • Mostraremos la edad generada
  • En caso de tener menos de 18 años informaremos de ello en un mensaje en rojo





Ejercicio 14: Selección completa



Icon activity.jpg
Ejercicio 14: Selección simple completa
  • Generamos una edad entre 1 y 90 años
  • El programa nos dirá si la edad generada es o no mayor de edad





Ejercicio 15: Selección múltiple con if



Icon activity.jpg
Mostrar nombre mes
  • Generamos un número entre 1 y 15
  • Mostramos el número del mes y su nombre (el que correspondiente al número: enero, febrero, ...
  • En caso de ser mayor de 12 mostraremos mes incorrecto
  • Usamos la estructura
if (..)
       ...
 elseif
       ...
 elseif 
       ...
 ...
 else
     ....




Ejercicio 100: Ecuación segundo grado



Icon activity.jpg
Ecuación segundo grado
  • Se trata de encontrar dos valores para que la ecuación se satisfaga (que sea 0)
  • La ecuación que lo resuelve también se aporta
E1g.png
Podemos ver la ecuación que resuelve el problema
450








Ejercicio 16: Selección con switch



Icon activity.jpg
Selección con switch
  • Generamos un número de mes de forma aleatoria
  • Mostramos el número de mes y su nombre
  • Sería igual que el ejercicio anterior, pero usando un switch




Ejercicio 17: Muestra el nombre y el número de días de un mes



Icon activity.jpg
Ejercicio 17: Muestra el nombre y número de días de un mes
  • Modifica el ejercicio anterior añadiendo la información del número de días
  • Intenta seguir usando el switch
  • ¿Cómo podrás hacer cosas particulares en cada case del switch (el nombre del mes) y algo común en varios casos (meses de 30 días y de 31 días)




Ejercicio 18: Suma los 100 primero números



Icon activity.jpg
Ejercicio 18: Suma 100 número
  • Mostrar la suma de los primeros 100 números naturales
  • Se quiere ver el número de iteración y la suma hasta ese momento (Es decir queremos ver cien líneas)
  • Cada iteración que aparezca en numeración ordinal en símbolo 1ª , 2ª, ...





Ejercicio 19: Bucles: tirar datos



Icon activity.jpg
Tirar dados
  • Vamos a simular el juego de los dados
  • Vamos a tirar 100000 veces un dado y vamos a ver cuantas veces sale
el 1, el 2, el 3, el 4, el 5 y el 6
  • Para tirar el dado, usamos la función random




Ejercicio 19_b: Bucles y operador desplazamiento



Icon activity.jpg

<h1 style="font-size: 130%; font-weight: bolder; color: #FCC65B; border: none;"> Actividad</h1>

Obtener los 20 primeros múltiplos de 2 utilizando el operador de desplazamiento




Ejercicio 20:Mostrar mes y número de días



Icon activity.jpg
Ejercicio 20: Mostrar mes y número de días
  • Genera un número aleatorio entre 1 y 15
  • Muestra con un mensaje en número de días y el nombre del mes
  • Intenta usar la instrucción switch vista en clase





Ejercicio 20: Validar Fechas




Icon activity.jpg
Ejercicio 20: Validar Fechas

Haz un programa que obtenga de forma aleatoria: día (1-33), mes(1-14) y año(1-3000) y nos diga si la fecha es correcta o no y porqué.

  • Recuerda obtener si el año es bisiesto o no,
  • Para ello puedes definirte una función
  • Para calcular si un año es bisiesto, lo es si y solo si
 El año es divisible entre 4 y no lo es entre 100, o bien lo es entre 400





Ejercicio 21: Tabla de multiplicar



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



Ejercicio 22: Genera una nómina




Icon activity.jpg
Generamos una 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



Ejercicio 23: Número primo



Icon activity.jpg
Ejercicio 5 Número primo
  • Un programa que nos diga si un número es o no primo
  • Recuerda que un número es primo si es divisible entre sí mismo y la unidad
  • El cero no lo consideraremos no primo, pero no hemos de aplicar el algoritmo general, es un caso especial
  • Genera un número aleatorio entre -100 y 100






Ejercicios con fechas

Ejercicio 24: Fechas básicas



Icon activity.jpg
Ejercicio 24: Fechas básicas
  • Haz un programa que me diga cuantos segundos ha pasado desde el 1 de enero de 1970 hasta el instante actual.
  • Que me muestra la fecha actual en formato Dia/mes/año Hora:minutos:segundos, todos los datos numéricos
  • Muestra la fecha dentro de 25 horas con el formato anterior.
  • Usando la etiqueta META Refresh (etiqueta de html que hace que de forma automática la página se recargue cada x segundos, ver sintaxis más abajo), haz que la página se recargue cada 5 segundos y observa cómo cambian los datos y entiéndelo
time();
date($formato, $timestamp)
<head>
  <meta http-equiv="refresh" content="5">
</head>




Ejercicio 25: Calcula la edad



Icon activity.jpg
Ejercicio 25: Calcula tu edad
  • A partir de tu fecha de nacimiento, haz un programa que me diga la edad

Una opción aproximada es encontrar los segundos de la edad y dividirlo entre los segundos que tiene un año

  • Truncamos el resultado
strtotime();
time();
  • No es una buena solución, piensa una más exacta




Ejercicio 26: Reloj



Icon activity.jpg
Ejercicio 26: Haz un reloj
  • Haz un programa que me me muestre un reloj digital numérico con precisión de milisegundos
  • La página se debe de recargar cada 0.01 segundos
  • El formato del reloj debe ser
Hora
Minutos:Segundos:Milésimas
  • Funciones a utilizar
microtime(); //Retorna un string ("microsegundos segundos")
strpos("cadena", "caracter") //Busca el caracter en la cadena y nos retorna su posición
substr("cadena", "pos_ini", "pos_fin" //Retorana un substring de cadena desde el carácter ubicado en la posición pos_1 hasta el carácter ubicado en la posición pos_"
  • Refresca la página cada 0.01 segundos
<head>
  <meta http-equiv="refresh" content="0.01">
</head>




Ejercicio 27: Fecha aleatoria



Icon activity.jpg
Ejercicio 27: Fecha aleatoria
  • Genera una fecha aleatoria (día, mes, año, hora, minuto, segundos) como un string
  • Convierte ese string fecha en timestamp (entero largo que representa segundos)
  • Obtén la diferencia en segundos con la fecha actual (Si la fecha es anterior a 1/1/1970, ese timestamp será negativ o)
  • Obten la fecha de ese número de segundos
  • Interprete y entiende cada dato que obtienes
 strtotime("mes/dia/año") //Convierte una fecha dada como string en un timestamp
 date (formato, timestapm)//convierte un timestamp en staring
 checkdate (dia,mes.year) //Función que retorna ture si la fecha es correcta, false si no lo es




Ejercicio 28: Fecha en idiomas



Icon activity.jpg
Ejercicio 28: Fecha en idiomas
  • Instala en el sismtea los siguintes locales es_ES fr_FR y en_US(Varolores para idiomas español, francés e inglés)
  • Informa de la fecha en cada idioma con la siguiente estructura


 setlocale(LC_ALL, idioma) //Establece un idioma en el sistema para fechas, monedas, y formatos. Debe estar instalado en el sistema
 date (formato, timestapm)//convierte un timestamp en staring
 checkdate (dia,mes.year) //Función que retorna ture si la fecha es correcta, false si no lo es




Ejercicio 29: Indica los días de la semana en idiomas



Icon activity.jpg
Ejercicio 29: Indica los días de la semana en tres idioma
  • Instala en el sistema los siguintes locales es_ES fr_FR y en_US(Varolores para idiomas español, francés e inglés)
  • Informa de cómo se escribe el día de la semana en cada uno de esos indiomas


 setlocale(LC_ALL, idioma) //Establece un idioma en el sistema para fechas, monedas, y formatos. Debe estar instalado en el sistema
 echo strftime("en lenguaje idioma  %A<br />"); //Nos muestra el nombre del día de la semana actual del lenguaje en el idioma establecido
 echo strftime("en Español %A<br />", strtotime("+1 day"));//Nos muestra el nombre del día de la semana actual del lenguaje en el idioma establecido
.....




Ejercicios con funciones

Ejercicio 30: Declarara una función



Icon activity.jpg
Ejercicio 30: Declarara una función
  • Declara una función que me devuelva el mayor de dos números dados
  • Invócala desde el programa principal




Ejercicio 31: Función con variables globales



Icon activity.jpg
Ejercicio 31: Variables globales
  • Declara una función llamada par
  • Tomará un valor generado aleatoriamenete en el script principal (no dentro de la función)
  • Retornará true o false según el valor sea par o no sea par




Ejercicio 32:Parámetros por referencia



Icon activity.jpg
Ejercicio 32: Parametros por referencia
  • Haz una función que no retorne nada (procedimiento)
  • Esta función recibe un valor
  • Si el valor es par lo divide por dos y si es impar lo multiplica por dos
  • El valor que se pasa deberá quedar establecido en la variable/parámetro después de invocar a la función




Ejercicios de sintaxis




-->