Cita:
Iniciado por HackmanC
Hola,
Código:
i=0
j=0
familia[ i ] <-- campo[Aj]
familia[ i ] <-- campo[Bj]
i<-- 2
j<--2
DONDE ( j< n )
SI (campo[Aj] == campo[A (j+1)] )
familia[ i ] <-- campo [Bj]
i<-- i+1
j<-- j+1
SINO
familia[ i ] <-- campo[Bj]
familia[ i+1 ] <-- campo[A (j+1)]
i<-- i+1
j<-- j+1
FIN SI
Un par de comentarios, nada más, en la primera línea roja se produce una instrucción NOP (posiblemente, un buen compilador de cualquier lenguaje debería de eliminarla completamente), es decir, esa instrucción no es útil porque no hace nada, inmediatamente después le asignas un valor diferente a "familia[ i ]".
La otra es que las instrucciónes "i<-- i+1" están tanto dentro del "SI" como dentro del "SINO" y son idénticas, es decir, tanto si entra al "SI" como al "SINO" siempre las ejecuta. Así que podrías sacarlas del SI y ponerlas después del SI; pero siempre dentro del "DONDE".
Si funciona o no el algoritmo es otra cosa,
Saludos,
tienes razon, no me fije al pasarlo al computador, ya que lo escribi a mano alzada...
aqui lo dejo con las modificaciones,
Código seudocodigo:
Ver originali=0
j=1
familia[ i ] <-- campo[Aj]
familia[ i + 1 ] <-- campo[Bj]
i<-- 2
j<--2
DONDE ( j< n )
SI (campo[Aj] == campo[A (j+1)] )
familia[ i ] <-- campo [Bj]
SINO
familia[ i ] <-- campo[Bj]
familia[ i+1 ] <-- campo[A (j+1)]
FIN SI
i<-- i+1
j<-- j+1
FIN DONDE
RETORNAR (familia[])
que dices ahora, esta correcto??