Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/06/2014, 11:54
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: orden de una cadena

Quizas te interese este codigo, aunque lo ideal es que si no entiendes algo de su funcionamiento preguntes, no que copies y pegues solamente.

Código PHP:
Ver original
  1. <?php
  2.     // Pre-requisito de las ecuacion: el termino con la variable va primero.
  3.  
  4.     $ecuaciones = array (
  5.                      "3x + 20 = 26"
  6.                    , "5*z - 6 = 9"
  7.                    , "2W + 20 = 34"
  8.                    , "30+20=3"
  9.                    , "30-20=3"
  10.                         );
  11.  
  12.     // Validar.
  13.     foreach($ecuaciones as $ecuacion)
  14.     {
  15.         if(preg_match('/^([0-9]+)( *)[*]{0,1}( *)([A-Za-z]){1,1}( *)(\+|\-)( *)([0-9]+)( *)=( *)([0-9]+)$/', $ecuacion, $partes))
  16.         {
  17.             // Es correcta, resolver.
  18.             echo("La ecuacion '$ecuacion' es valida y su resolucion es:
  19.                    <b>$partes[4] = ".(($partes[11]+(($partes[6] == "+" ? -1 : 1)*$partes[8]))/$partes[1])."</b><br>");
  20.         }
  21.         else
  22.         {
  23.             echo("La ecuacion '$ecuacion' es invalida.<br>");
  24.         }
  25.     }

La salida es:
Cita:
La ecuacion '3x + 20 = 26' es valida y su resolucion es: x = 2
La ecuacion '5*z - 6 = 9' es valida y su resolucion es: z = 3
La ecuacion '2W + 20 = 34' es valida y su resolucion es: W = 7
La ecuacion '30+20=3' es invalida.
La ecuacion '30-20=3' es invalida.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios