Lógica para Computação (IF61B) Lógica para Computação: Especificação de Programas Prof. Celso Antônio Alves Kaestner, Dr. Eng.

Slides:



Advertisements
Apresentações semelhantes
Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída.
Advertisements

Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Lógica para Computação (IF61B) Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng.
Lógica para Computação: Especificação e Verificação de Programas
Trabalho Dedução Natural
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
A Linguagem Formal de Especificação VDM-SL
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
Métodos Formais Juan Andrés Mussini.
Programação de computadores
ORGANIZAÇÃO DE COMPUTADORES Prof.: Jean Carlo Mendes
Prof.: Jean Carlo Mendes
Linguagens de Programação Conceitos e Técnicas Valores e Tipos de Dados Prof. Isabel Cafezeiro
PrologProlog Prof. Luthiano Venecian Elaborado pelo Prof. Luiz A. M. Palazzo Universidade Católica de Pelotas Centro Politécnico Laboratório de Programação.
Lógica para Computação (IF61B) Lógica Proposicional Slides da disciplina “Lógica para Computação”, ministrada pelo Prof. Celso Antônio Alves Kaestner,
Enigmas Lógicos de Raymond Smullyan Adolfo Neto DAINF – UTFPR
Méricles T. Moretti MTM/UFSC SEMIÓTICA E APRENDIZAGEM MATEMÁTICA.
CIÊNCIA DA COMPUTAÇÃO MAS... O QUE É ISSO?. UM POUCO SOBRE O CURSO Ciência exata Técnicas computacionais Desenvolvimento de soluções Multidisciplinaridade.
Probabilidade e Estatística Aplicadas à Contabilidade I Prof. Dr. Marcelo Botelho da Costa Moraes 1.
Prof. Roberlam Gonçalves de Mendonça, Dr. Eng. - Aterramentos Elétricos Medição de Resistividade do Solo.
Lógica para Computação (IF61B) Introdução à Lógica Slides da disciplina “Lógica para Computação”, ministrada pelo Prof. Celso Antônio Alves Kaestner, Dr.
Potências da unidade imaginária. Para as potências do tipo i n da unidade imaginária i, n natural, valem as definições. i 0 = 1i 1 = ii 2 = –1 Para n.
Algoritmos e Programação utilizando Visualg
Aula 3 - Estruturas de Repetição
Introdução à Computação para Engenharia MAC2166
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Prof. Dsc. Alex F. V. Machado
Teoria da Computação Prof. Msc. Ricardo Loiola
Criação: Caroline Brasileiro Atualização: Laura Matos
Engenharia de Software Professor Sandro Carvalho
SISTEMAS OPERACIONAIS
Escola Básica 2.3 Paulo da Gama
Modelagem para Otimização:Aula 2
Sistemas de Controle III N8SC3
Introdução à Linguagem JavaScript
Sistemas de Controle III N8SC3
Prof. Wellington Franco
Programação Lógica: PROLOG
FUNDAMENTOS DE PROGRAMAÇÃO
OBMEP – Ciclo 2, Encontro 2 CONTAGEM Princípio Multiplicativo
Título do Projeto (Arial, 60)
Introdução à Programação BCC 201 Aula
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Introdução instrumental às Linguagens Formais
Algoritmos e Estruturas de Dados I
Prof. Dr. Rui Carlos Botter
INFORMÁTICA TRT – PF – PRF WORD E EXCEL
Introdução à Computação
Níveis de Abstrações TANENBAUM:
Algoritmos e Estruturas de Dados I
UNIVERSIDADE REGIONAL DE BLUMENAU
Aula 22 Modularização 22/10/08.
Computação Gráfica - Introdução
Unidade 1: Analise Combinatória 1.1 Conjunto e operações sobre conjunto 1.2 Factorial 1.3 Princípio fundamental da contagem ( princípio multiplicativo)
Prof. Marleide Coan Cardoso INSTITUTO FEDERAL SANTA CATARINA Campus Criciúma Licenciatura em Química Função exponencial e logarítmica: Definição, propriedades,
Melissa Figueira Fagundes
Dicionário de Dados.
INF 1771 – Inteligência Artificial
Ampliando os conceitos matemáticos através das Inequações Modulares
INF 1771 – Inteligência Artificial
Modelagem de Sistema T5MOD/N5MOD
MATEMÁTICA Módulo 08 Conjuntos Numéricos Dé.
Computação Gráfica & Processamento de Imagens
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação – CECOMP Algoritmos e Programação Jadsonlee da Silva Sá
Projeto e Análise de Algoritmos
Paradigma de Orientação a Objetos
Validação e verificação de requisitos
Representação de Algoritmos
Ordenação por Comparação
VETORES - Definições e operações
Transcrição da apresentação:

Lógica para Computação (IF61B) Lógica para Computação: Especificação de Programas Prof. Celso Antônio Alves Kaestner, Dr. Eng. Alterado e complementado por Prof. Adolfo Neto, D.Sc.

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

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 v 1 m }  = {v 2 1,v v 2 m }  = {v n 1,v n 2...v n m } dados de entrada dados de saída...

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

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

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);

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.

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

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.