Diferencia entre revisiones de «Usuario:ManuelRomero/CertificadoWeb2021/IntroduccionPHP/ejercicios»
De WikiEducator
(→Ejercicio 3: printf, tabla ascii) |
(→Ejercicio 25: Reloj) |
||
(17 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 200: | Línea 200: | ||
*¿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) | *¿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) | ||
}} | }} | ||
+ | |||
+ | ==Estructuras repetitivas== | ||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio30|Ejercicio 30: Tabla con sistemas numéricos]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 3 : [[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio30|TAbla con sistemas numéricos]]| | ||
+ | *Creamos una tabla html con los números del 1 al 20, con 4 columnas, una para cada uno de los siguientes sistemas numéricos | ||
+ | #Decimal | ||
+ | #Octal | ||
+ | #HExadecimal | ||
+ | #Binario | ||
+ | {{plegable|hide|Posible solución| | ||
+ | <source lang=php> | ||
+ | |||
+ | |||
+ | <!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> | ||
+ | <H1>tabla de sistema numérico</H1> | ||
+ | |||
+ | <table style="border: solid 1px darkred"> | ||
+ | <caption>Valores en diferentes Sistemas numércios del 1 al 20</caption> | ||
+ | <tr> | ||
+ | <th>Decimal</th> | ||
+ | <th>Hexadecimal</th> | ||
+ | <th>Binario</th> | ||
+ | <th>Octal</th> | ||
+ | </tr> | ||
+ | <?php | ||
+ | for ($contador =0;$contador<20;$contador ++ ){ | ||
+ | echo "\n<tr>"; | ||
+ | printf("<td>%d</td><td>%X</td><td>%b</td><td>%o</td>", $contador, $contador, $contador, $conteador); | ||
+ | echo "</tr>\n"; | ||
+ | } | ||
+ | ?> | ||
+ | </table> | ||
+ | |||
+ | |||
+ | </body> | ||
+ | </html> | ||
+ | </source> | ||
+ | }} | ||
+ | |||
+ | }} | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio1|Ejercicio 3: printf, tabla ascii ]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 3 : [[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio3|printf, tabla ascii ]]| | ||
+ | *Usando la estructura de control '''''for''''' | ||
+ | <source lang=php> | ||
+ | for ($n=32; $n<128: $n++){ //iterará $n desde 32 hasta el valor 128 | ||
+ | } | ||
+ | </source> | ||
+ | *Para mostrar una tabla básica, las etiquetas '''''html''''' serán | ||
+ | <source lang=html5> | ||
+ | <table> | ||
+ | <caption></caption> | ||
+ | <tr> | ||
+ | <th>titulo 1</th> | ||
+ | <th>titulo 2</th> | ||
+ | <tr> | ||
+ | <td></td> | ||
+ | ...... | ||
+ | |||
+ | </table> | ||
+ | </source> | ||
+ | *Realiza el programa que genere dicha información | ||
+ | {{plegable|hide|Posible solución haciéndolo en función de un número de columnas| | ||
+ | |||
+ | <source lang=php> | ||
+ | <!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> | ||
+ | </source> | ||
+ | }} | ||
+ | }} | ||
+ | |||
+ | |||
+ | <br /> | ||
===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio18|Ejercicio 18: Suma los 100 primero números]]=== | ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio18|Ejercicio 18: Suma los 100 primero números]]=== | ||
Línea 353: | Línea 472: | ||
microtime(); //Retorna un string ("microsegundos segundos") | microtime(); //Retorna un string ("microsegundos segundos") | ||
strpos("cadena", "caracter") //Busca el caracter en la cadena y nos retorna su posición | 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_" | + | 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_" | ||
</source> | </source> | ||
*Refresca la página cada 0.01 segundos | *Refresca la página cada 0.01 segundos | ||
Línea 362: | Línea 482: | ||
</source> | </source> | ||
+ | {{plegable|hide|Posible solución| | ||
+ | <source lang=php> | ||
+ | <!doctype html> | ||
+ | <html lang="en"> | ||
+ | <head> | ||
+ | <meta charset="UTF-8"> | ||
+ | <meta name="viewport" | ||
+ | content="width=device-width"> | ||
+ | |||
+ | <meta http-equiv="Refresh" content="0.01"> | ||
+ | <title>Document</title> | ||
+ | </head> | ||
+ | <body> | ||
+ | <?php | ||
+ | $instante = microtime(); | ||
+ | $pos = strpos($instante, " "); | ||
+ | $milisegundos = substr($instante, 0,$pos); | ||
+ | $milisegundos =floor($milisegundos*10); | ||
+ | $reloj = date("H:i:s:").$milisegundos; | ||
+ | echo "<h1>$reloj</h1>"; | ||
+ | |||
+ | ?> | ||
+ | </body> | ||
+ | </html> | ||
+ | </source> | ||
+ | }} | ||
}} | }} | ||
<br /> | <br /> | ||
+ | |||
===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio26|Ejercicio 26: Fecha aleatoria]]=== | ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio26|Ejercicio 26: Fecha aleatoria]]=== | ||
<br /> | <br /> | ||
Línea 575: | Línea 722: | ||
}} | }} | ||
--> | --> | ||
+ | ==Trabajando con funciones de string== | ||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio01|Ejercicio : Buscar una palabra en una frase]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=función strpos()| | ||
+ | *entendemos la función '''''strpos($donde_buscar, $cadena_buscada)''''', | ||
+ | {{MRM_Web| | ||
+ | https://www.php.net/manual/es/function.strpos.php | ||
+ | }} | ||
+ | *Creamos una frase donde aparezca un nombre "Mi nombre es Manuel" | ||
+ | *Probamos a buscar ese nombre y vemos en qué posición aparece | ||
+ | *Posteriormente probamos a buscar '''''M''''' | ||
+ | *Mostramos en qué posición aparece | ||
+ | }} | ||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio01|Ejercicio : Buscar una palabra en una frase]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=función strpos()| | ||
+ | *Probamos las siguientes funciones de string | ||
+ | #char() | ||
+ | #ord() | ||
+ | #substr() - Devuelve parte de una cadena | ||
+ | #md5 (Usaremos mejor crypt más adelante) | ||
+ | #ucfirst() - Convierte el primer caracter de una cadena a mayúsculas | ||
+ | #strtolower() - Convierte un string a minúsculas | ||
+ | #strtoupper() - Convierte un string a mayúsculas | ||
+ | #ucwords() - Convierte a mayúsculas el primer caracter de cada palabra de una cadena | ||
+ | #trim() - Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena | ||
+ | #ltrim() - Retira espacios en blanco (u otros caracteres) del inicio de un string | ||
+ | #rtrim() - Retira espacios en blanco (u otros caracteres) del inicio de un string | ||
+ | }} |
Última revisión de 01:05 18 ene 2022
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
- 3.1 Ejercicio 30: Tabla con sistemas numéricos
- 3.2 Ejercicio 3: printf, tabla ascii
- 3.3 Ejercicio 18: Suma los 100 primero números
- 3.4 Ejercicio 19: Bucles: tirar datos
- 3.5 Ejercicio 19: Bucles y selecciones
- 3.6 Ejercicio 20:Mostrar mes y número de días
- 3.7 Ejercicio 20: Validar Fechas
- 3.8 Ejercicio 21: Tabla de multiplicar
- 3.9 Ejercicio 22: Genera una nómina
- 3.10 Ejercicio 23: Número primo
- 4 Ejercicios con fechas
- 5 Ejercicios con funciones
- 6 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
for ($n=32; $n<128: $n++){ //iterará $n desde 32 hasta el valor 128 }
<table> <caption></caption> <tr> <th>titulo 1</th> <th>titulo 2</th> <tr> <td></td> ...... </table>
|
Ejercicio 18: Suma los 100 primero números
Ejercicio 19: Bucles: tirar datos
Ejercicio 19: Bucles y selecciones
Ejercicio 20:Mostrar mes y número de días
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é.
El año es divisible entre 4 y no lo es entre 100, o bien lo es entre 400
|
Ejercicio 21: Tabla 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
Ejercicio 22: Genera una nómina
Ejercicio 23: Número primo
|
Ejercicios con fechas
Ejercicio 24: Fechas básicas
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
|