Portugol-Studio
Portugol-Studio copied to clipboard
problema ao utilizar op. XOR dentro de um loop
Descrição do Problema: Resolvi um exercício onde precisava fazer a troca de posições no vetor, utilizando o "algoritmo" Xor Swap dentro de um loop, numa versão mais antiga do portugol studio, e funcionou perfeitamente.
Ao tentar reproduzir esse mesmo código na versão mais recente, o portugol tá reclamando que há problemas na declaração do loop.
Pelo que eu testei aqui, o problema ocorre quando se utiliza a operação XOR juntamente com a atribuição varA ^= varB
dentro de um loop, se utilizar desta maneira varA = varA ^ varB
funciona ok.
Mensagem de Erro (se houver):
O comando "para" necessita de ao menos uma condição de parada. Utilize a seguinte construção para corrigir o problema: "para(; <condicao> ;) { <comandos> }"
Captura de Tela / Arquivo.por:
Source para reproduzir o erro:
programa
{
funcao inicio()
{
inteiro i, j = 8, k = 3
para (i=0; i<10; i++) {
escreva("A: " + j + " | B: " + k + "\n")
// xor swap
/** Erro: 'O comando "para" necessita ao menos de uma condição de parada. (...)' **/
j ^= k
k ^= j
j ^= k
/** Nessa ordem, funciona **
j = j ^ k
k = k ^ j
j = j ^ k
**/
escreva("A: " + j + " | B: " + k + "\n\n")
}
}
}
Especificações do sistema:
SO: Windows 10 x64
Portugol: 2.75
Obrigado pelo reporte, vamos verificar.