Buscar

Aula 2

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

24/08/2015
1
Construção de 
algoritmos
Aula 2
Noções de Lógica
Em Lógica um conceito importante
é o de “Proposição”
Você sabe o que é uma
PROPOSIÇÃO?
24/08/2015
2
Noções de Lógica
� Proposição: é um enunciado verbal, ao qual deve ser atribuído,
sem ambigüidade, um valor lógico verdadeiro (V) ou falso (F).
� Exemplos de proposições:
� Wesley é Professor (V)
� 3 + 5 = 10 (F)
� 5 < 8 (V)
� Contra-exemplos de Proposições:
� Onde você vai ?
� 3 + 5
� Os estudantes jogam vôlei. (quais ?)
Noções de Lógica
� Operações Lógicas: são usadas para formar novas proposições a partir de
proposições existentes.
� Considerando p e q duas proposições genéricas, pode-se aplicar as seguintes
operações lógicas básicas sobre elas
� Definindo a prioridade:
� Usar parênteses Ex:((p v q)^(~q)) ou
� Obedecer (~) > (^) > (v)
Operação Símbolo Significado
Negação ~ Não
Conjunção ^ E
Disjunção v OU
24/08/2015
3
Noções de Lógica
� Exemplos de aplicação das operações lógica
� Considere:
� p = 7 é primo = (V)
� q = 4 é impar = (F)
� Então:
� 4 NÃO é impar = ~q = (~F) = (V)
� 7 NÃO é primo = ~p = (~V) = (F)
Noções de Lógica
� Exemplos de aplicação das operações lógica
� Resumindo:
� Ou seja:
� Não (~) troca o valor lógico. Se é F passa a ser V e vice-versa
� E (^) só tem valor V quando as duas proposições forem V, basta uma
proposição ser F para o resultado ser F
� OU (v) só tem valor F quando as duas proposições forem F, basta uma
proposição ser V para o resultado ser V
p q p ^ q p v q
V V V V
V F F V
F V F V
F F F F
~p
F
F
V
V
pp qq p ^ qp ^ q p v qp v q
VV VV VV VV
VV FF FF VV
FF VV FF VV
FF FF FF FF
~p~p
FF
FF
VV
VV
24/08/2015
4
Atividade 2
� Considerando p = V e q = F, resolva as seguintes expressões lógicas
� ~p
� ~q
� p ^ q
� p v q
� (~p) ^ q
� (~p) v q
� p ^ (~q)
� p v (~q)
� (~p) ^ (~q)
� (~p) v (~q)
RESPOSTAS - Atividade 2
� Considerando p = V e q = F, resolva as seguintes expressões lógicas
� ~p = F
� ~q = V
� p ^ q = F
� p v q = V
� (~p) ^ q = F
� (~p) v q = F
� p ^ (~q) = V
� p v (~q) = V
� (~p) ^ (~q) = F
� (~p) v (~q) = V
24/08/2015
5
Expressão Aritmética e expressão lógica: 
Conjunto de operadores e operandos dispostos 
numa determinada ordem.
Operadores: Podem ser aritméticos (+ - / )
Operandos: Podem ser constantes ou variáveis 
inteiras ou reais (0.23, 33.0)
O resultado de uma expressão matemática
será sempre um resultado numérico referente
a operação realizada.
O resultado de uma operação lógica será
sempre lógico, ou seja Verdadeiro ou Falso
24/08/2015
6
Operadores aritméticos
básicos
Operadores aritméticos
auxiliares
24/08/2015
7
Prioridade de operadores
Operadores relacionais
24/08/2015
8
Não há prioridades para operadores relacionais.
Operadores relacionais
Prioridades
Operadores lógicos
24/08/2015
9
Tabela da verdade
Operadores lógicos
Prioridades
24/08/2015
10
Para resolver expressões que contenham
lógica e aritmética deve-se obedecer a
seguinte prioridade.
Prioridades entre operadores
1. Expressões aritméticas
a. 5 * 2 – 3 + 14 / 2 + 9
b. 5 – pot(2,3) + 4 – 2 * rad(4)
Atividades
24/08/2015
11
2. Expressões lógicas com operadores
relacionais e aritméticos (V ou F)
a. 5 * 2 = 4 + 10 / 2
b. 5 mod 2 + 3 < pot(3,2) * 10
Atividades
3. Expressões lógicas com operadores lógicos,
relacionais e aritméticos.
a. 3< 7 e 5 * 2 = 2 + 1
b. pot(2,3) <= rad(9) ou 2 * 3 – 6 / 3 = 4
Atividades
24/08/2015
12
Resolva as expressões abaixo, destacando o
resultado final:
a) (18 / 3 / 2 – 1) * 5 – 4 – (2 + 3 + 5) / 2
b) 26 / 6 / 2 – 127 + 7 mod 5
c) 7 mod 4 – 8 / (3 + 1)
Trabalho em classe
Para as mesmas variáveis declaradas no exercício 1, às quais são dados os valores
seguintes:
A = 1
B = 2
C = 3
X = 2.0
Y = 10.0
Z = -1.0
L1 = .V.
NOME = “PEDRO”
RUA = “PEDRINHO”
L2 = .F.
Determine o resultado da avaliação das expressões abaixo:
Trabalho em classe
24/08/2015
13
a. A + C / B
b. A + B + C
c. C / B / A
d. Pot(X, B)
e. Nome + Rua
f. Nome = Rua
g. L1 e (Não L2)
h. L2 e (Não L1)
Trabalho em classe
Pseudocódigos
Estrutura sequencial: As ações são
executadas em uma ordem sequencial, ou
seja, de cima para baixo, da esquerda para
direita.
Atribuição ( <- ): Serve para atribuir um
determinado valor a uma variável. Deve-se
verificar se o valor atribuído é do tipo
declarado.
24/08/2015
14
Exemplo: Levando em consideração que X, Y
e Z foram declarados do tipo inteiro:
X <- 25;
Y <- X + 15 – 3;
Z <- Y – X + rad(x) – pot(y,2);
Pseudocódigos
Instruções Delimitadoras
� Servem para especificar o início e o fim do algoritmo.
início
...
fim
24/08/2015
15
Declaração de Variáveis
� Utilizado para especificar os nomes e os respectivos tipos das variáveis 
necessárias no algoritmo
declare <variáveis>: <tipo>;
onde:
<variáveis> - lista de nomes de variáveis separados por vírgula
<tipo> - inteiro, real, caracter, string, lógico 
Declaração de Variáveis
� Exemplos:
declarar
a,b,c: real;
nome: string;
sexo: caracter;
pratica_esporte: lógico;
24/08/2015
16
Bloco de Comentário
� Serve para explicar um determinado trecho do algoritmo, para torna-lo mais 
claro, facilitando seu entendimento por outras pessoas ou posteriormente.
{ <comentário> }
Exemplo:
{ Isto é um exemplo de comentário }
Instrução de Entrada
� Usada para ler dados de entrada do algoritmo.
leia(<variáveis>);
onde:
<variáveis> - conterão os dados lidos.
24/08/2015
17
Instrução de Entrada
� Exemplos:
leia(a,b,c);
leia(nome);
leia(sexo);
leia(pratica_esporte);
Instrução de Saída
� Usada para mostrar os resultados do processamento dos dados de entrada.
escreva(<resultados>);
onde:
<resultados> - geralmente é o conteúdo de uma ou mais variáveis com a resposta 
do problema.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais