Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: JonaLamper en 8 Enero 2018, 14:06 pm



Título: Script para intercambiar símbolos en un texto
Publicado por: JonaLamper en 8 Enero 2018, 14:06 pm
Muy buenos días,

Estoy tratando de buscar alguna forma de, teniendo este código (no es más que un pseudocódigo):

Código:
x = 5
r = 1
while 0 < x
    r = r * x
    x = x - 1
endwhile
write r
end

Al ejecutar un script me intercambie los símbolos. Por ejemplo: donde hay un < debería poner, aleatoriamente, un >, <= o >=. Donde hay un *, debería poner, aleatoriamente, un -, + o /. Y al programa modificado, guardarlo en un fichero diferente. Así podría hacer muchas modificaciones de ese programa y tener muchos mutantes diferentes.

¿Alguien me podría decir o dar ideas sobre cómo podría hacerlo de una forma más o menos sencilla?

Como siempre, muchísimas gracias  ;D


Título: Re: Script para intercambiar símbolos en un texto
Publicado por: JonaLamper en 9 Enero 2018, 18:00 pm
up  :-(


Título: Re: Script para intercambiar símbolos en un texto
Publicado por: fary en 9 Enero 2018, 21:02 pm
¿En que lenguaje lo quieres hacer?


Título: Re: Script para intercambiar símbolos en un texto
Publicado por: JonaLamper en 9 Enero 2018, 21:58 pm
Tenía pensado hacer un script en linux.


Título: Re: Script para intercambiar símbolos en un texto
Publicado por: fary en 10 Enero 2018, 16:39 pm
Ya que trabajas en Linux te he hecho este pequeño script en Perl :laugh:, espero que te sirva.

Código
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4.  
  5. my @Operacion = ('+', '-','*',"/");
  6. my @Signos = ('<','>',"<=", ">=");
  7. my $Aleatorio;
  8. my  $archivo = <<"FIN_DATOS";
  9. x = 5
  10. r = 1
  11. while 0 F x
  12.    r = r J x
  13.    x = x K 1
  14. endwhile
  15. end
  16. FIN_DATOS
  17.  
  18. $Aleatorio = int(rand(3));
  19. $archivo =~ s/J/$Operacion[$Aleatorio]/;
  20. $Aleatorio = int(rand(3));
  21. $archivo =~ s/K/$Operacion[$Aleatorio]/;
  22. $Aleatorio = int(rand(3));
  23. $archivo =~ s/F/$Signos[$Aleatorio]/;  
  24.  
  25. open (my $file,">archivo.txt") or die "No se pudo crear el archivo";
  26. print $file $archivo;
  27. close ($file);
  28.  

Cada vez que lo ejecutes te generará un archivo diferente en la ruta en la que este el script.

espero que te sirva...

saludos.