Carregando...
Carregando...
Carregando...
Considere o seguinte programa, que visa trocar a posição das entradas x, y e z, de tal forma que transforme uma terna (x,y,z) em (z,x,y):
v1:=x
v2:=y
x:=z
y:=v1
z:=v2
Ao fazer a demonstração de correção desse programa, assinale a alternativa que corresponde à pré-condição da sétima linha a seguir:
{x=a, y=b, z=c}
v1:=x
{v1=a, y=b, z=c}
v2:=y
{v1=a, v2=b, z=c}
x:=z
y:=v1
{x=c, y=a, v2=b}
z:=v2
{x=c, y=a, z=b}
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
JUSTIFICATIVA Observe que a pré-condição deverá ser { x = c , v 1 = a , v 2 = b } {\it {x=c, v1=a, v2=b}} , uma vez que a pós-condição da sétima linha é { x = c , y = a , v 2 = b } {\it {x=c, y=a, v2=b}} . Voltando, e aplicando a sétima linha y : = v 1 {\it y:=v1} , veremos que bastará substituir y p o r v 1 { y por v1} .