Usuario:ManuelRomero/CertificadoWeb2021/IntroduccionPHP/ejercicios
De WikiEducator
< Usuario:ManuelRomero | CertificadoWeb2021
Revisión a fecha de 00:11 18 ene 2022; ManuelRomero (Discusión | contribuciones)
Contenido
- 1 Estructuras secuenciales
- 1.1 Ejercicio 1: Usa la instrucción echo
- 1.2 Ejercicio 2: Probando printf
- 1.3 Ejercicio 4: Ver tipos de variable
- 1.4 Ejercicio 5: Probando los tipos enteros
- 1.5 Ejercicio 6: Funciones de conversión 1
- 1.6 Ejercicio 7: Funciones de conversión
- 1.7 Ejercicio 8: Declaración de variables 1
- 1.8 Ejercicio 9: Declaración de variables 2
- 1.9 Ejercicio 10: Cambiar aleatoriamente el estilo de un texto
- 1.10 Ejercicio 11: Probando variables de variables
- 2 Estructuras de control
- 3 Estructuras repetitivas
- 4 Ejercicios con funciones
- 5 Ejercicios sencillos y mas complejos de php
Estructuras secuenciales
- En esta secición son programas sencillos para probar instrucciones y acciones básicas de php sin usar estructuras de control selectivas o repetitivas.
Ejercicio 1: Usa la instrucción echo
$nombre = "Maria"
|
Ejercicio 2: Probando printf
$n = 5.25251; printf ("Valor del número con 2 decimales %.2f ",, $n); //Mostrará 5.25, solo dos decimales
|
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
|
Ejercicio 7: Funciones de conversión
|
Ejercicio 8: Declaración de variables 1
Ejercicio 9: Declaración de variables 2
sistema octal //Tras esta observación asigna un valor válido
Esto es una cadena multilínea y termina aquí Esto es una cadena multilínea y termina aquí
|
Ejercicio 10: Cambiar aleatoriamente el estilo de un texto
<hx> style=color:#RGB>Este es el texto que debe de aparecer cambiante </hx>
|
Ejercicio 11: Probando variables de variables
echo "<h1>El precio de $producto es ${$producto}</h1>";
|
Estructuras de control
Ejercicio 12:Selección simple
Ejercicio 13:Selección simple 2
Ejercicio 14: Selección completa
Ejercicio 15: Selección múltiple con if
Ejercicio 16: Selección con switch
Ejercicio 17: Muestra el nombre y el número de días de un mes
|
Estructuras repetitivas
Ejercicio 30: Tabla con sistemas numéricos
|
Ejercicio 3: printf, tabla ascii
{{MRM_Actividad|Title=Ejercicio 3 : printf, tabla ascii |
- Usando la estructura de control for
for ($n=32; $n<128: $n++){ //iterará $n desde 32 hasta el valor 128 }
- Para mostrar una tabla básica, las etiquetas html serán
<table> <caption></caption> <tr> <th>titulo 1</th> <th>titulo 2</th> <tr> <td></td> ...... </table>
- Realiza el programa que genere dicha información
Posible solución haciéndolo en función de un número de columnas |
---|
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <table style = "border: solid 1px red"> <?php $columnas = 10; //Primero escribimos las cabeceras echo "<tr>"; for ($c = 0; $c<$columnas; $c++) { echo "<th>Número</th><th>ASCII</th>"; } echo "</tr>"; //Para cada fila (habrá 128 / numero de columnas $numero_filas = ceil(128/$columnas); for ($fila = 0; $fila<$numero_filas; $fila++) { echo "<tr>"; for ($c = 0; $c<$columnas; $c++) { $valor = $fila+32 + $c*$numero_filas+1; printf("<td>%d</td><td>%c</td>", $valor, $valor); } echo "</tr>"; } echo "</tr>"; ?> </table> </body> </html> </php> }} }} <br /> ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio18|Ejercicio 18: Suma los 100 primero números]]=== <br /> {{MRM_Actividad|Title=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ª, ... }} <br /> ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio19|Ejercicio 19: Bucles: tirar datos]]=== <br /> {{MRM_Actividad|Title=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 }} ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio19|Ejercicio 19: Bucles y selecciones]]=== <br /> ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio20|Ejercicio 20:Mostrar mes y número de días]]=== <br /> {{MRM_Actividad|Title=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 }} <br /> ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio20|Ejercicio 20: Validar Fechas]]=== <br /> {{MRM_Actividad|Title=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 }} <!-- <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio3 | Solución]]</font> --> <br /> ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio21|Ejercicio 21: Tabla de multiplicar ]]=== <br/> {{MRM_Actividad|Title=Tabla de multiplicar| *Genera un número aleatorio y muestra la tabla de multiplicar *Haz que salga con una tabla usando las etiquetas html <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}} <br /> ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio22|Ejercicio 22: Genera una nómina]]=== <br /> {{MRM_Actividad|Title= 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: #mas de 40 horas son extras (1.5 el precio base) #IRPF < 600E exento #Entre 600 y 800 5% #Mas de 800 12 % *Nos debe de dar detalle del bruto, descuentos y neto de salario}} <!-- <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio4 | Solución]]</font> --> ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio23|Ejercicio 23: Número primo]]=== <br /> {{MRM_Actividad|Title=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 }} <!-- <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio5 | Solución]]</font> --> <br /> <!-- <font size=4 color=red>[[Usuario:ManuelRomero/NewPHP/Ejercicios/Ejercicio6 | Solución]]</font> --> <br /> ==Ejercicios con fechas== ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio24|Ejercicio 24: Fechas básicas]]=== <br /> {{MRM_Actividad|Title=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 <source lang=php> time(); date($formato, $timestamp) <head> <meta http-equiv="refresh" content="5"> </head> |
Ejercicio 24: Fechas básicas===
Ejercicio 25: Reloj
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_"
<head> <meta http-equiv="refresh" content="0.01"> </head>
|
Ejercicio 26: Fecha aleatoria
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 27: Fecha en idiomas
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 28: Indica los días de la semana en idiomas
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 29: Declarara una función
Ejercicio 30: Función con variables globales
Ejercicio 31:Parámetros por referencia
Ejercicios de sintaxis
|
Trabajando con funciones de string
Ejercicio : Buscar una palabra en una frase
|
Ejercicio : Buscar una palabra en una frase
|