Baixe o app para aproveitar ainda mais
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.
Compartilhar