A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Atribuição e Composição Sequencial Programming from Specifications Carroll Morgan Prentice-Hall, 1994 Capítulo 3 Grupo:João Collier de Mendonça Lucas Carneiro.

Apresentações semelhantes


Apresentação em tema: "Atribuição e Composição Sequencial Programming from Specifications Carroll Morgan Prentice-Hall, 1994 Capítulo 3 Grupo:João Collier de Mendonça Lucas Carneiro."— Transcrição da apresentação:

1 Atribuição e Composição Sequencial Programming from Specifications Carroll Morgan Prentice-Hall, 1994 Capítulo 3 Grupo:João Collier de Mendonça Lucas Carneiro Leão Murillo Pontual

2 Atribuição Atribuição Múltipla w0,..., wn := E0,..., En Atribuição simultânea Exemplos: x,y := 1,0 x,y := y,x Atribuição Aberta: Lei de refinamento 3.1 Para qualquer Expressão F w,x := E,?  w,x := E,F

3 O Comando skip skip Lei de refinamento Lei 3.2 Comando skip Se pre  pos, então w :[ pre, pos]  skip

4 Composição Sequencial Lei de refinamento Lei 3.3 Composição sequencial Para qualquer fórmula mid, w :[ pre, pos]  w :[ pre, mid] ; w :[mid, pos] Exemplo: x,y :[true,x = 0  y = 1]  x,y :[true,x = 0] ; (1) x,y :[x = 0, x = 0  y = 1]. (2) Pela lei de atribuição 1.3: (1) x,y :[true,x = 0]  x:= 0 (2) x,y :[x = 0, x = 0  y = 1]  y := 1.

5 Exercício:Composição Sequencial Exercício 3.3 x:[x = X, x= X 4 ]  x := x 2 ; x := x 2 Primeiramente pela lei 3.3 w:[pre,pos]  w:[pre,mid] ; w:[mid,pos]. Logo: w:[x = X, x= X 2 ]; (1) w:[ x= X 2, x = X 4 ]. (2)

6 Exercício, continuação Pela lei 1.3 em (1) tem-se: w:[x = X, x= X 2 ]  x := x 2, prova: x = X  x= X 2 [x/ x 2 ] então: x = X  x 2 = X 2 [x/ x 2 ] Pela lei 1.3 em (2) tem-se: w:[ x= X 2, x= X 4 ]  x := x 2, prova: x = X 2  x= X 4 [x/ x 2 ] então: x = X 2  x 2 = X 4 [x/ x 2 ]

7 Composição Sequencial Composição com skip Lei 3.4 Composição com skip Para qualquer programa prog, prog ; skip = skip ; prog = prog

8 Atribuição e Composição Juntos Lei 3.5 Próxima atribuição Para qualquer termo E, w,x :[pre, pos]  w,x :[pre, pos[x\E] ] ; x := E

9 Exercício de Próxima Atribuição x,y,t:[x = X ^ y=Y, x=Y ^ y=X]  t:=y;y:=x;x:=t usando Na pos[x/t] pela lei da próxima atribuição Teremos: x,y,t:[x = X ^ y=Y, t=Y ^ y=X]; x:=t Utilizando a mesma regra teremos para y:=x Na pos[y/x] pela lei da próxima atribuição Teremos: x,y,t:[x = X ^ y=Y, t=Y ^ x=X]; y:=x; x:=t

10 Continuação Chegando na última especificação: x,y,t:[x = X ^ y=Y, t=Y ^ x=X]; y:=x; x:=t Utilizando a regra 1.3 (atribuição) para refinar x,y,t:[x = X ^ y=Y, t=Y ^ x=X]  t:=y logo: Pre  pos[t/y] então: x = X ^ y=Y  t=Y ^ x=X [t/y] então: x = X ^ y=Y  y=Y ^ x=X [t/y] assim: t:=y; y:=x; x:=t QED

11 Pensamentos... “Os erros não detectáveis são infinitos. Enquanto que, os detectáveis, são por definição, limitados.” “Aquele que tentou e nada conseguiu é superior àquele que não tentou.” Bud Wilkinson “Cuidado com o homem que se esforça muito para aprender alguma coisa. Aprende, e depois nota que não está mais inteligente do que antes. Ele é cheio de um resentimento assassino das pessoas que são ignorantes sem terem chegado a essa ignorância pelo caminho mais difícil.” Lei de Bokonon


Carregar ppt "Atribuição e Composição Sequencial Programming from Specifications Carroll Morgan Prentice-Hall, 1994 Capítulo 3 Grupo:João Collier de Mendonça Lucas Carneiro."

Apresentações semelhantes


Anúncios Google