Hola. Hago la entrega del Ejercicio CU00828B del tutorial de programación web con PHP desde cero.
Me ha costado un poco mas por que no me encontraba la forma de crear un algoritmo correcto con pocas lineas de código en el apartado b) segundo bloque de código.
No funcionaba yo con los if y las comparaciones hasta que he dado con él. Ahí va.
Enlace a la página:
http://paramonso.byethost7.com/Ejercicio28(CU00828B)%20.phpCabecera de la Pagina:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>PHP Desde cero aprenderaprogramar.com</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 1.27" />
<style type="text/css">
body{ background-color:yellow; color:blue;}
h1, h2{text-align:center; color:blue;}
div{
text-align:left;
}
#cont{
background-color:orange;
height:1500px;
width:950px;
padding:10px;
margin:20px auto;
}
#pres{
border:solid 2px;
background-color:White;
width:200px;
padding:5px;
margin:10px;
float:left;
}
.pres1{
height:150px;
}
.pres2{
height:300px;
}
#con {
height:0;px
width:0px;
overflow: hidden;
margin:0;
padding:0;
}
#NoFLot{
clear:both;
}
</style>
</head>
<body>
EJERCICIO Crear archivos php que ejecuten la tarea indicada:
a) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", indicar cuántas veces aparece cada vocal usando funciones para cadenas PHP.
echo '<div id=cont>';
echo '<h1>Ejercicio Entrega 28 (CU00828B) </h1> <h2>Funciones de cadenas PHP</h2>
<h3>EJERCICIO <br/>
Crear archivos php que ejecuten la tarea indicada:<br/>
a) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso",<br/>
indicar cuántas veces aparece cada vocal usando funciones para cadenas PHP.</h3>';
echo '<div class=pres1 id=pres>';
$Cadena='El abecedario completo es algo largo y detallarlo exhaustivamente es costoso';
print '<strong><br/>Funcion substr_count<br/></strong>';
for($i=65; $i<=118; $i++)
{
if ($i==97 or $i==101 or $i==105 or $i==111 or $i==117 or $i==69)
{
$vocal=chr($i);
echo "La vocal $vocal aparece ".substr_count($Cadena, $vocal)." Veces<br/>";
}
}
echo '</div>';
echo'<div id=con></div>';
echo '<div class=pres1 id=pres>';
print '<strong><br/>Funcion count_chars ()<br/></strong>';
$n=1;
$miArray = count_chars ( $Cadena, $n);
foreach ($miArray as $indiceNum => $veces)
{
if (chr($indiceNum)=="a"
or chr($indiceNum)=="e"
or chr($indiceNum)=="i"
or chr($indiceNum)=="o"
or chr($indiceNum)=="u"
or chr($indiceNum)=="E")
{
echo 'Letra: '.chr($indiceNum).' , encontrada '. $veces.' veces<br/>';
}
}
echo '</div>';
echo'<div id=con></div>';
echo '<div class=pres1 id=pres>';
$a="";$e="";$i="";$o="";$u="";$E=""; // Vaciar variables por si se han utilizado en otro lugar del programa
print '<strong><br/>Funcion substr()<br/></strong>';
for ($j=0; $j<=strlen($Cadena);$j++)
{
$Vocal=substr($Cadena,$j,1);
if ($Vocal=="a"){$a++; }
if ($Vocal=="e"){$e++; }
if ($Vocal=="i"){$i++; }
if ($Vocal=="o"){$o++;}
if ($Vocal=="u"){$u++; }
if ($Vocal=="E"){$E++; }
}
echo 'Letra: a encontrada '. $a.' veces<br/>';
echo 'Letra: e encontrada '. $e.' veces<br/>';
echo 'Letra: E encontrada '. $E.' veces<br/>';
echo 'Letra: i encontrada '. $i.' veces<br/>';
echo 'Letra: o encontrada '. $o.' veces<br/>';
echo 'Letra: u encontrada '. $u.' veces<br/>';
echo '</div>';
b) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", indicar qué consonantes son las que aparecen y cuántas veces aparecen usando funciones para cadenas PHP.
echo '<div class=pres2 id=pres>';
$vocales=array("a","e","i","o","u","A","E","I","O","U");
$n=1;
$miArray = count_chars ( $Cadena, $n);
foreach ($miArray as $indiceNum => $veces)
{
if (chr($indiceNum)<>"a"
and chr($indiceNum)<>"e"
and chr($indiceNum)<>"i"
and chr($indiceNum)<>"o"
and chr($indiceNum)<>"u"
and chr($indiceNum)<>"E"
and chr($indiceNum)<>chr(32))
{
echo 'Letra: '.chr($indiceNum).' , encontrada '. $veces.' veces.<br/>';
}
}
echo '</div>';
echo'<div id=con></div>';
echo '<div class=pres2 id=pres>';
$Cadena='El abecedario completo es algo largo y detallarlo exhaustivamente es costoso';
$vocales=array("a","e","i","o","u","A","E","I","O","U");
$n=1;
$ArrayCadena= count_chars ( $Cadena, $n);
foreach ($ArrayCadena as $Letra => $nveces)
{
$Vocal=chr($Letra);
for ($i=0; $i<=9;$i++)
{
$Esp=chr($Letra)==chr(32);
$j=$vocales[$i]==chr($Letra);
if ($Esp==1){$i=10;}
if ($j==1){$i=10;}
}
if ($j<>1 and $Esp<>1) { echo 'Letra: '.chr($Letra).' , encontrada '. $nveces.' veces.<br/>';$j=0;}
}
echo '</div>';
c) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", mostrar la cadena donde todas las a hayan sido sustituídas por el símbolo *. Por ejemplo en lugar de El abecedario… se habrá de mostrar El *beced*rio…
El *beced*rio completo es *lgo l*rgo y det*ll*rlo exh*ustiv*mente es costosod) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", mostrar la subcadena desde la primera aparición de < < completo >> excluyendo completo, es decir, deberá mostrarse << es algo largo y detallarlo exhaustivamente es costoso>>. Para ello usa una o varias funciones para cadenas PHP.
es algo largo y detallarlo exhaustivamente es costosoprint '<h3 id=NoFLot>
d) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso",<br/>
mostrar la subcadena desde la primera aparición de < < completo >> excluyendo completo, es decir, deberá<br/>
mostrarse << es algo largo y detallarlo exhaustivamente es costoso>>. Para ello usa una o varias <br/>
funciones para cadenas PHP.</h3>';
print strstr ($Cadena,"es",false );
echo '<br/><br/>';
echo '</div>';
?>
</body>
</html>
Espero que esté todo bien.
Gracias.