Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouTherezinha Pacheco Bastos Alterado mais de 7 anos atrás
1
Lógica para Computação (IF61B) Lógica para Computação: Especificação de Programas Prof. Celso Antônio Alves Kaestner, Dr. Eng. kaestner@dainf.ct.utfpr.edu.br Alterado e complementado por Prof. Adolfo Neto, D.Sc. adolfo@utfpr.edu.br
2
Lógica para Computação (IF61B) 25/05/09Prof. Celso A A Kaestner 2 Especificação de programas Uma tarefa típica em Computação: Especificações em linguagem natural exigem que se assuma o significado de diversos termos, e por isto são “imprecisas / vagas / inconsistentes” permitindo diversas interpretações; Este é um problema amplamente estudado em Engenharia de Software, que busca métodos e formalismos tenta eliminar / reduzir este problema. Modelagem problema computacional problema real
3
Lógica para Computação (IF61B) 25/05/09Prof. Celso A A Kaestner 3 Especificação de programas Visão operacional de um programa: Programas como transformadores de estados:... programa 1 = {v 1 1,v 1 2...v 1 m } = {v 2 1,v 2 2...v 2 m } = {v n 1,v n 2...v n m } dados de entrada dados de saída...
4
Lógica para Computação (IF61B) 25/05/09Prof. Celso A A Kaestner 4 Especificação de programas Especificação de propriedades de programas: Exemplo: dados dois valores (x e y) inteiros maiores ou iguais a 10 calcular sua soma (z); Especificação 1: –sobre o estado inicial: x 10 y 10 –sobre o estado final: z = x + y Especificação 2 (superespecificação): –sobre o estado inicial: x 10 y 10 (x + y) 0 –sobre o estado final: z = x + y z 20
5
Lógica para Computação (IF61B) 25/05/09Prof. Celso A A Kaestner 5 Especificação de programas Especificação 3 (especificação pouco clara): –sobre o estado inicial: x 10 (x + y) (10 + x) –sobre o estado final: z = x + y Especificação 4 (especificação incompleta): –sobre o estado inicial: x 10 –sobre o estado final: z = x + y “Especificação” 5 (não é especificação...): –sobre o estado inicial: x 10 y 10 –sobre o estado final: z = x + y z < 10
6
Lógica para Computação (IF61B) 25/05/09Prof. Celso A A Kaestner 6 Especificação de programas Vantagens de se ter uma especificação definida por formalismo matemático: 1.Precisão; 2.Verificação de consistência; 3.Simulação; 4.Verificação de programas. Pode-se usar a Lógica Matemática como linguagem de especificação (SILVA; FINGER; MELO, 2006, p. 165);
7
Lógica para Computação (IF61B) 25/05/09Prof. Celso A A Kaestner 7 Especificação de programas Sistematização das propriedades de programas: 1.Pré-condições: válidas sobre os dados de entrada; 2.Pós-condições: válidas sobre os dados de saída; 3.Invariantes: válidas sempre, durante toda a execução do programa.
8
Lógica para Computação (IF61B) Especificação de programas Exemplo: fatorial. 1 se n=0 n! =1se n=1 n*(n-1)! se n>1 PRE: n 0 POS: fat = n! INV: fat > 0 25/05/09Prof. Celso A A Kaestner 8
9
Lógica para Computação (IF61B) Referências SILVA, Flávio S. C. da; FINGER, M.; MELO, Ana C. V. de. Lógica para Computação. São Paulo: Thomson Learning, 2006.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.