ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Algoritmos para la programación estructurada


Enviado por   •  27 de Diciembre de 2016  •  Tarea  •  627 Palabras (3 Páginas)  •  535 Visitas

Página 1 de 3

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                       $tmp[] = $str[$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

...

Descargar como (para miembros actualizados) txt (2 Kb) pdf (134 Kb) docx (52 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com