Escolar Documentos
Profissional Documentos
Cultura Documentos
2)
<S>
<A>
<A> + <A>
<id> <A> + <A>
a <id> <id>
b
c
6) Apresente uma definio semntica operacional dos seguintes
cdigos:
A) IF-THEN-ELSE do C
if expressao = 0 goto else;
instrues...;
goto saida;
else: instrues...;
saida: instrues...;
B) FOR do C
expressao1;
loop: if expressao2 = 0 goto saida;
instrues ;
expressao3;
goto loop;
saida: instrues...;
7) Escreva a funo de correspondncia da semntica denotacional para
as seguintes instrues:
A) Nmeros binrios
Mbin(0) = 0;
Mbin(1) = 1;
Mbin(<num_bin> 0) = 2 * Mbin(<num_bin>)
Mbin(<num_bin> 1) = 2 * Mbin(<num_bin>) + 1
B) WHILE do C
Admitindo-se as funcoes Msl que relaciona listas de instrucoes com estados e Mb que
relaciona expressoes booleanas com valores boleanos (ou error):
Ml(while B do L, s) =
if Mb(B, s) = undef
then error
else if Mb(B, s) = false
then s
else if Msl(L,s) = error
then error
else
Ml(while B do L, Msl(L, s))
8) De qual maneira a semantica operacional e a semntica denotacional
diferem?
Na semantica operacional, as mudancas de estados sao definidas por algoritmos
codificados.
Na semantica denotacional, as mudancas de estados sao definidas por funes
matemticas.
9) Compute a pr-condio mais fraca para cada uma das seguintes
sequencias de instrues de atribuio e suas ps-condies :
A) a = 3 * (2 * b + a)
b=2*a1
{b > 5}
{2b + a > 1}
B) while y <> x do
y=y+1
end
{y = x}
{y <= x}