Hola,
Código:
i=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[])
Un par de comentarios adicionales, la línea marcada en rojo todavía se repite tanto en el "SI" como en el "SINO", por lo tanto siempre se va a ejecutar sin importar en donde esté.
Ahora, a simple vista, creo que no funcionaria, simplemente porque el ciclo se repite 'n' veces, donde 'n' supongo que es la cantidad de datos en la lista de datos de entrada. Y las variables 'i' y 'j' se aumentan en 1 en cada ciclo.
En la lista de entrada hay 8 filas, y la salida se espera que tenga 12 filas, si el ciclo se repite 8 veces, seguramente solo van a existir 8 filas en la salida.
Saludos,