Slide 1 - Professora Chaiene, MSc

Propaganda
Disciplina: Lógica e Matemática
Computacional
Professora: Chaiene Minella, MSc
[email protected]
chaiene.yolasite.com
Importante !!!

AVALIAÇÃO: 07/06/2016

Conteúdo
 Lógica de Predicados (Quantificadores)
 Lógica de programação (Algoritmos, diagramas de blocos, estruturas de
seleção, estruturas de repetição e sub-rotinas)
Quantificadores
Particularização Universal
Essa regra diz que podemos deduzir P(x), P(y), P(z), P(a), etc. de (∀x)P(x),
retirando, assim, um quantificador universal.
Exemplo:
(∀x)[H(x) → M(x)] ^ H(s) → M(s)
1.
2.
3.
4.
(∀x)(H(x) → M(x))
H(s)
H(s) → M(s)
M(s)
hip
hip
1 pu
2, 3 mp
* No passo 3, um símbolo constante foi substituído em todo o escopo do
quantificador universal, como permitido pela particularização universal.
4
Particularização Existencial
Essa regra nos permite retirar um quantificador existencial. Ela diz que, a partir
de (Ǝx)P(x), podemos deduzir P(x), P(y), P(z), P(a), etc.
Observação: Use a particularização existencial no início da sequência de
demonstração.
Exemplo:
(∀x)[P(x) → Q(x)] ^ (Ǝy)P(y) → Q(a)
1.
2.
3.
4.
5.
(∀x)[P(x) → Q(x)]
(Ǝy)P(y)
P(a)
P(a) → Q(a)
Q(a)
hip
hip
2 pe
1 pu
3, 4 mp
5
Generalização Universal
A generalização universal permite a inserção de um quantificador universal.
Exemplo:
(∀x)[P(x) → Q(x)] ^ (∀x)P(x) → (∀x)Q(x)
1.
2.
3.
4.
(∀x)[P(x) → Q(x)]
(∀x)P(x)
P(x) → Q(x)
P(x)
5. Q(x)
6. (∀x)Q(x)
hip
hip
1 pu
2 pu (Note que não existe restrição sobre usar
novamente um nome em pu)
3, 4 mp
5 gu
6
Generalização Existencial
A regra permite a inserção de um quantificador existencial.
De P(x) ou P(a) podemos deduzir (Ǝx)P(x).
Exemplo:
(∀x)P(x) → (Ǝx)P(x)
1. (∀x)P(x)
2. P(x)
3. (Ǝx)P(x)
hip
1 pu
2 ge
7
Obs.: Simbolicamente,
[(∀x)A(x)]’ é equivalente a (Ǝx)[A(x)]’
[(Ǝx)A(x)]’ é equivalente a (∀ x)[A(x)]’
Damos o nome de Negação (neg).
Esta regra pode ser incluída na tabela de equivalência.
8
Algoritmos
Introdução à Lógica de Programação
Um algoritmo é formalmente uma sequência finita
de passos que levam a execução de uma tarefa.
Podemos pensar em algoritmo como uma receita,
uma sequência de instruções que dão cabo de
uma meta específica. Estas tarefas não podem ser
redundantes nem subjetivas na sua definição,
devem ser claras e precisas.
10
Introdução à Lógica de Programação
Até mesmo as coisas mais simples, podem ser descritas
por sequências lógicas.
Por exemplo:
“Trocar um pneu de carro”
1)Parar o carro
2)Sinalizar
3)Pegar o macaco
4)Subir o carro
5)Retirar os parafusos
6)Trocar o pneu
7)Colocar os parafusos
8)Descer o carro
11
Introdução à Lógica de Programação
Entretanto ao montar um algoritmo, precisamos
primeiro dividir o problema apresentado em três
fases fundamentais.
12
Introdução à Lógica de Programação
Onde temos:
ENTRADA
São os dados de entrada do algoritmo
PROCESSAMENTO
São os procedimentos utilizados para chegar ao resultado final
SAÍDA
São os dados já processados
13
Introdução à Lógica de Programação
Exemplo de Algoritmo
Imagine o seguinte problema: Calcular a média final dos alunos da
turma. Os alunos realizarão quatro provas: P1, P2, P3 e P4.
Onde:
Média Final = (P1+P2+P3+P4) / 4
Para montar o algoritmo proposto, faremos três perguntas:
a) Quais são os dados de entrada?
R: Os dados de entrada são P1, P2, P3 e P4
b) Qual será o processamento a ser utilizado?
R: O procedimento será somar todos os dados de entrada e dividi-los
por 4 (quatro).
c) Quais serão os dados de saída?
R: O dado de saída será a média final
14
Introdução à Lógica de Programação
Algoritmo
Receba a nota da prova1
Receba a nota de prova2
Receba a nota de prova3
Receba a nota da prova4
Some todas as notas e divida o resultado por 4
Mostre o resultado da divisão
15
Diagrama de blocos
Diagrama de Blocos
O que é um diagrama de bloco?
O diagrama de blocos é uma forma padronizada e
eficaz para representar os passos lógicos de um
determinado processamento.
Sua principal função é a de facilitar a visualização
dos passos de um processamento.
17
Diagrama de Blocos
18
Diagrama de Blocos
19
Estruturas de Seleção
Estruturas de Seleção
 São aquelas que permitem alterar o Fluxo de Execução,
de forma a selecionar qual parte deve ser executada;
 Essa “decisão” de execução é tomada a partir de uma
condição, que pode resultar apenas em Verdade ou
Falsidade;
 Uma condição é representada por expressões
relacionais ou lógicas;
 As estruturas de seleção podem ser classificadas em
simples, compostas ou encadeadas;
21
Estruturas de Seleção
 Seleção Simples
se <condição> então
início // início do bloco verdade
comando 1;
comando 2;
...
comando n;
fim; // fim do bloco verdade
fim se;
22
Estruturas de Seleção
 Seleção Simples
Quando a <condição> for verdadeira o “bloco verdade” é
Executado;
Quando a <condição> for falsa o “bloco verdade” não é
Executado;
23
Estruturas de Seleção
 Seleção Simples: Média aritmética com aprovação
início
// declaração de variáveis
real: N1, N2, N3, N4, // notas bimestrais
MA; // média anual
// entrada de dados
leia (N1, N2, N3, N4);
// processamento
MA := (N1 + N2 + N3 + N4) / 4;
// saída de dados
escreva (MA);
se (MA >= 7) então
escreva (“Aluno Aprovado !”);
fim se;
fim.
24
Estruturas de Seleção
 Seleção Composta
se <condição> então
início // início do bloco verdade
comando 1;
comando n;
fim; // fim do bloco verdade
senão
início // início do bloco falsidade
comando 1;
comando n;
fim; // fim do bloco falsidade
fim se;
25
Estruturas de Seleção
 Seleção Composta
Quando a <condição> for verdadeira o “bloco verdade” é
Executado;
ou
Quando a <condição> for falsa o “bloco falsidade” é
Executado;
26
Estruturas de Seleção
 Seleção Composta: Média Aritmética com aprovação e reprovação
início
real: N1, N2, N3, N4, // notas bimestrais
MA; // média anual
leia (N1, N2, N3, N4);
MA := (N1 + N2 + N3 + N4) / 4;
escreva (MA);
se (MA >= 7) então
início
escreva (“Aluno Aprovado !”);
escreva (“Parabéns !”);
fim;
senão
início
escreva (“Aluno Reprovado !”);
escreva (“Estude mais !”);
fim;
fim se;
fim.
27
Estruturas de Seleção
 Seleção Encadeada
Ocorre quando uma seleção tem como ação uma outra seleção.
Uma seleção encadeada pode ser:
 Heterogênea: Quando não é possível identificar padrão de
comportamento;
 Homogênea: Quando é possível identificar padrão de
comportamento;
se – então – se: quando depois de cada então ocorre outro se
se – senão – se: quando depois de cada senão ocorre outro se
28
Estruturas de Seleção
 Seleção Encadeada Heterogênea
início
inteiro: A, B, C; // tamanho dos lados
leia (A, B, C);
se (A<B+C) e (B<A+C) e (C<A+B) então
se (A=B) e (B=C) então
escreva (“Triangulo Equilátero”);
senão
se (A=B) ou (B=C) ou (A=C) então
escreva (“Triângulo Isósceles”);
senão
escreva (“Triangulo Escaleno”);
fim se;
fim se;
senão
escreva (“Estes valores não formam um triângulo”);
fim se;
fim.
29
Estruturas de Seleção
 Seleção Encadeada Homogênea
se – então – se
se <Cond1> então
se <Cond2> então
se <Cond3> então
se <Cond4> então W;
fim se;
fim se;
fim se;
fim se;
É equivalente a:
se <Cond1> e <Cond2> e <Cond3> e <Cond4> então W;
fim se;
30
Download