Algoritmos para la programación estructurada
Enviado por Lorenzo Melendez Lillo • 27 de Diciembre de 2016 • Tarea • 627 Palabras (3 Páginas) • 536 Visitas
Algoritmos para la programación estructurada
Lorenzo Melendez Lillo
Introducción a los lenguajes de programación
Instituto IACC
28/11/16
De acuerdo a la RAE, un anagrama es la “transposición de las letras de una palabra o sentencia, de la que resulta otra palabra o sentencia distinta”. En este caso ignoraremos los espacios. Por ejemplo, “Dan el gran guía” es un anagrama de “Ángel guardián”.
Se le solicita escribir una función en PHP que indique si una palabra o frase es un anagrama de otra.
Para esto:
- Identifique qué estructura de datos utilizará. Fundamente su selección.
- Escriba el código en PHP del programa solicitado. Compruebe que su código funcione utilizando el link dispuesto en los recursos necesarios para realizar la tarea.
Desarrollo
Elegí la estructura de datos ARREGLOS, Un array en PHP es en realidad un mapa ordenado. Un mapa es un tipo de datos que asocia valores con claves. Este tipo se optimiza para varios usos diferentes; se puede emplear como un array, lista (vector), tabla asociativa (tabla hash - una implementación de un mapa), diccionario, colección, pila, cola, etc. Ya que los valores de un array pueden ser otros arrays.
Estructura en PHP que me indica si es un anograma o no es un anograma
$first = "amor";//esto se cambia
$second = "omar";//esto se cambia
function str2array($str) {
$tmp = [];
for($i=0;$i
}
return $tmp;
}
function compareArrayValues($origin, $tocompare) {
foreach($origin as $k=>$v) {
$v2 = $tocompare[$k];
if($v != $v2) return false;
}
return true;
}
if(strlen($first) != strlen($second)) {
throw new ErrorException("Las palabras no coinciden en longitud.");
} else {
$s_first = str2array($first);
sort($s_first);
$s_second = str2array($second);
sort($s_second);
if(compareArrayValues($s_first,$s_second)) {
echo "Sí, son anagramas.";
} else echo "No, no son anagramas";
}
echo PHP_EOL;
[pic 1]
[pic 2]
Imagen ejecutada en el link indicado
...