def _concatenacion(self, args): # Verificamos que tenemos todos los parametros necesarios if (len(args) < 5): print "El uso del programa debe ser: %s %s <archivo de datos 1> <archivo de datos 2> <archivo de resultado>" % (args[0], args[1]) sys.exit() dataFile = args[2] dataFileConcatenacion = args[3] resultFile = args[4] # Instanciamos un AF af = AF() # Cargamos el AF desde un archivo self._loadFromFile(af, dataFile) # Instanciamos el segundo AF afConcatenacion = AF() # Cargamos el AF desde el segundo archivo self._loadFromFile(afConcatenacion, dataFileConcatenacion) # Unimos los AFDs af.concat(afConcatenacion) # Escribimos el AFD en un archivo self._writeOnFile(af, resultFile) print "Proceso de concatenacion de AFs terminado correctamente. Resultado guardado en: %s" % (resultFile)
def _potencia(self, args): # Verificamos que tenemos todos los parametros necesarios if (len(args) < 4): print "El uso del programa debe ser: %s %s <archivo de datos> <archivo de resultado> <potencia>" % (args[0], args[1]) sys.exit() n = 1 try: n = int(args[4]) except: print "El uso del programa debe ser: %s %s %s <archivo de resultado> <potencia>" % (args[0], args[1], args[2]) sys.exit() # Cargamos el nombre del archivo con el AF dataFile = args[2] resultFile = args[3] # Instanciamos un AF af = AF() # Cargamos el AF desde el archivo self._loadFromFile(af, dataFile) # Concatenamos una copia del AF a si mismo n-1 veces n -= 1 for i in xrange(n): copyAF = copy.deepcopy(af) af.concat(copyAF) # Escribimos el AFD en un archivo self._writeOnFile(af, resultFile) # Imprimimos el resultado print "AF elevado a la %s potencia. Resultado guardado en %s" % (str(n + 1), resultFile)