Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: bermartinv en 31 de Enero 2017, 22:46
-
Adjunto mis soluciones al tema CU00829B del manual de programación web con php.
a) Dadas las cadenas "aprender" y "aprende", mostrar por pantalla la cadena rellena con * a derecha e izquierda en un número de asteriscos que será siempre 5 a cada lado aunque se cambien las cadenas.
b) Dadas las cadenas "aprender" y "aprende", mostrar por pantalla si sus tres primeros caracteres son iguales o no usando una función de comparación de subcadenas.
c) Dada la cadena "ApRendEr A proGraMar.cOm" transformar la cadena a minúsculas y rellenarla a derecha e izquierda con una longitud de asteriscos igual a la mitad de su longitud si es par ó igual a la mitad de (su longitud más 1) si es impar. Mostrar por pantalla la cadena en minúsculas y con el relleno indicado.
http://cursophp.byethost14.com/aprenderaprogramar/strings_CU00829B.php (http://cursophp.byethost14.com/aprenderaprogramar/strings_CU00829B.php)
<?php
// APARTADO A
$cadena1 = 'aprender';
$cadena2 = 'aprende';
echo '<p style= "color:blue;font-size:3em;">El primer string es:';
echo str_pad($cadena1,strlen($cadena1)+10,'*',STR_PAD_BOTH).' El segundo string es:';
echo str_pad($cadena2,strlen($cadena2)+10,'*',STR_PAD_BOTH).'</p>';
//APARTADO B
$numCaract = 3;
if (strncmp ($cadena1, $cadena2, $numCaract) == 0){
echo '<p style= "color:red;font-size:3em;">Son iguales</p><br/>';
}else{
echo '<p style= "color:red;font-size:3em;">No son iguales</p><br/>';
}
// APARTADO C
$cadena_rara = 'ApRendEr A proGraMar.cOm';
$cadena_rara = strtolower($cadena_rara);
if (strlen($cadena_rara)% 2 ==0){
echo '<p style= "color:green;font-size:3em;">'.str_pad($cadena_rara,
strlen($cadena_rara)/2+strlen($cadena_rara),'*',STR_PAD_BOTH).'</p>';
}else{
echo '<p style= "color:green;font-size:3em;">'.str_pad($cadena_rara,
(strlen($cadena_rara)/2)+1,'*',STR_PAD_BOTH).'</p>';
}
?>
Saludos
-
Hola bermartinv.
Apartados a y b, todo bien.
En el apartado c, si introducimos una cadena de tamaño impar, el código solo imprime la cadena inicial sin asteriscos.
Saludos.
-
No me había dado cuenta. Gracias pedro,,
Adjunto de nuevo el código.
http://cursophp.byethost14.com/aprenderaprogramar/strings_CU00829B.php (http://cursophp.byethost14.com/aprenderaprogramar/strings_CU00829B.php)
<?php
// APARTADO A
$cadena1 = 'aprender';
$cadena2 = 'aprende';
echo '<p style= "color:blue;font-size:3em;">El primer string es:';
echo str_pad($cadena1,strlen($cadena1)+10,'*',STR_PAD_BOTH).' El segundo string es:';
echo str_pad($cadena2,strlen($cadena2)+10,'*',STR_PAD_BOTH).'</p>';
//APARTADO B
$numCaract = 3;
if (strncmp ($cadena1, $cadena2, $numCaract) == 0){
echo '<p style= "color:red;font-size:3em;">Son iguales</p><br/>';
}else{
echo '<p style= "color:red;font-size:3em;">No son iguales</p><br/>';
}
// APARTADO C
$cadena_rara = 'ApRendEr A proGraMar.cOm';
$long = strlen($cadena_rara);
$cadena_rara = strtolower($cadena_rara);
if (strlen($cadena_rara)% 2 ==0){
echo '<p style= "color:green;font-size:3em;">'.str_pad($cadena_rara,
$long/2+$long,'*',STR_PAD_BOTH).'</p>';
}else{
echo '<p style= "color:green;font-size:3em;">'.str_pad($cadena_rara,
($long/2+$long)+2,'*',STR_PAD_BOTH).'</p>';
}
?>
Saludos
-
Buenas.
bermartinv,ahora está perfecto.
Y santandoc, si lo que necesitas son los cursos, aquí esta el de php
https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193
Y en este otro enlace hay otros cuantos cursos que te podrían interesar:
https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=57&Itemid=86
Saludos. ;D