Prévia do material em texto
AULA AO VIVO 1 .2 L ó g i c a e F u n d a m e n t o s d e P r o g r a m a ç ã o Algoritmos e Lógica de Programação Profa. Ma. Amanda Britto 1. 2. 4. 3. 5. Lógica Digital Algoritmos Pseudocódigo Diagramas Operações Lógicas LÓGICA Lógica Técnica de encadear pensamentos para atingir determinado objetivo. Lógica Aristotélica Lógica Matemática A Lógica não é uma ciência teórica, prática ou produtiva, e sim um instrumento para todas as ciências. Serve para formalização e análise de tipos de argumentação utilizados na Matemática. Ao aprender programação, você passa da experiência de um simples usuário para se tornar a pessoa que irá desenvolver programas ou outras demandas relacionadas. Mas, para isso, precisará entender como funciona a lógica de programação no aplicativo ou sistema que está desenvolvendo. Lógica de programação é a utilização de conceitos sequenciais em passos (instruções) para realizar um objetivo, uma tarefa. Essas sequências de passos ou instruções são o que chamamos de algoritmos. Sequência lógica e algoritmo • INSTRUÇÕES Conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar. • SEQUÊNCIA LÓGICA Passos executados até atingir um objetivo ou a solução de um problema. • ALGORITMO Sequência finita de passos que levam à execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequência de instruções que levam a um resultado. Para criar softwares, sistemas e aplicativos, você terá que usar a lógica. A lógica será utilizada para ordenar os algoritmos que serão executados para um determinado fim. Sem lógica, mesmo uma instrução simples se torna incompreensível. Vamos exercitar? Acesse os links abaixo para exercitar a lógica de forma lúdica, num exercício que já utiliza princípios de algoritmo: COW RUN – IQ Marathon https://bit.ly/3wL1wiM Google – Programação Lúdica https://bit.ly/2RKWhsF https://bit.ly/3wL1wiM https://bit.ly/2RKWhsF Existem diversos tipos de lógica, cada uma delas apresentando suas próprias aplicações teóricas e práticas. Tipos de Lógica ▪ Lógica proposicional ▪ Lógica de primeira ordem ▪ Lógica de segunda ordem ▪ Teoria dos tipos ▪ Lógica descritiva Cada área lida com um tipo específico de lógica. A lógica proposicional é a que mais nos interessa nesse momento. A lógica proposicional estende a lógica de Aristóteles, adicionando uma linguagem simbólica. Esta linguagem possui símbolos para representar: ▪ Proposições; ▪ Conectivos; ▪ Os possíveis valores lógicos. LÓGICA PROPOSICIONAL Proposições Exemplos: A lua é um satélite da Terra. João Pessoa é a capital da Paraíba. ∏ > √5 LÓGICA PROPOSICIONAL São conjuntos de palavras ou símbolos usados para transmitir um pensamento. A lógica matemática adota duas regras fundamentais: I) PRINCÍPIO DA NÃO-CONTRADIÇÃO II) PRINCÍPIO DO TERCEIRO-EXCLUÍDO Proposições Simples (ou atômicas); e Compostas (ou moleculares). LÓGICA PROPOSICIONAL As proposições podem ser de dois tipos: • As proposições SIMPLES são aquelas que não contêm nenhuma outra proposição como parte integrante de si mesma. • Normalmente, proposições são representadas por letras minúsculas (q, r, s...), chamadas “letras proposicionais”. Exemplos: p: “O céu é azul.” q: “Pedro é estudante.” Proposições P(p, q, r) LÓGICA PROPOSICIONAL Podemos representar que uma proposição composta P é formada por algumas proposições simples (p, q e r). Assim sendo: • Já as proposições compostas são aquelas formadas pela combinação de duas ou mais proposições; • Normalmente, são representadas por letras maiúsculas (Q, R, S...). Exemplos: P: João é médico e Pedro é estudante. Q: Carlos é estudioso ou José é bagunceiro. R: Se Carlos é estudioso, então é bom aluno. Conectivos E, OU, NÃO “SE, então” “ SE e somente SE” LÓGICA PROPOSICIONAL Os conectivos podem ser: • São palavras ou símbolos que são utilizados para formar novas proposições a partir de outras; • Utilizados em proposições compostas, com exceção da negação. Exemplos: P: O número 6 é par e o número 8 é cubo perfeito. Q: O triângulo ABC é retângulo ou isósceles. r: Não está chovendo. Conectivos LÓGICA PROPOSICIONAL TABELA VERDADE Características TABELA VERDADE • Levando em consideração o princípio do terceiro excluído, toda proposição simples p só pode possuir o valor lógico Verdadeiro (V) ou Falso (F); • Uma proposição composta é formada por mais de uma proposição simples; • São apresentados todos os possíveis valores lógicos da proposição composta correspondentes a todas as possíveis atribuições de valores lógicos às proposições simples; • Esse dispositivo é conhecido como Tabela Verdade. Características TABELA VERDADE • Vamos imaginar que possuímos duas proposições simples: p e q. • A tabela verdade, a partir dessas duas proposições, será: Notação TABELA VERDADE O valor lógico de uma proposição simples pode ser indicado por: V(p). • Se a proposição p for verdadeira: V(p) = V • Se a proposição p for falsa: V(p) = F OPERAÇÕES LÓGICAS Conectivos OPERAÇÕES LÓGICAS Negação OPERAÇÕES LÓGICAS • “não p” sempre será o oposto de p, simbolizado por ~p ; • A notação para negação pode ser representada da seguinte forma: V(~p) = ~V(p) Negação de uma proposição p é a proposição representada por “não p”, onde o valor lógico é Verdadeiro quando p é Falso, e Falso quando p for Verdadeiro. Conjunção OPERAÇÕES LÓGICAS A conjunção de duas proposições (p, q) é representada por “p e q”, onde o valor lógico é Verdadeiro quando ambas as proposições forem Verdadeiras e Falso nos demais casos. Representada simbolicamente por: p ^ q Disjunção OPERAÇÕES LÓGICAS A disjunção de duas proposições (p, q), é representada por “p ou q”, onde o valor lógico é Verdadeiro quando ao menos uma das proposições forem Verdadeiras e Falso quando ambas forem Falsas. Representada simbolicamente por: p v q Disjunção exclusiva OPERAÇÕES LÓGICAS Disjunção exclusiva é quando apenas uma das proposições pode ser Verdadeira para resultar no valor lógico Verdadeiro. Representada simbolicamente por: p v q P: Carlos ou é médico ou é professor Q: Mário ou é alagoano ou é gaúcho Condicional OPERAÇÕES LÓGICAS A Operação Condicional é representada por “se p então q”, onde o valor lógico é Falso quando p for Verdadeira e q Falsa. Nos demais casos, ela é sempre Verdadeira. Representada simbolicamente por: p → q Bicondicional OPERAÇÕES LÓGICAS A Operação Bicondicional é representada por “p se e somente se q”, onde o valor lógico é Verdadeiro quando p e q são ambas Verdadeiras ou ambas Falsas. Nos demais casos, a bicondicional é Falsa. Representada simbolicamente por: p q Possibilidades OPERAÇÕES LÓGICAS Exercícios para fixação TABELA VERDADE Vamos realizar uma dinâmica para trabalhar com a tabela verdade e fixar melhor os conceitos relacionados a esse dispositivo. Acesse o link a seguir e clique em jogar solo para realizar os exercícios pelo Kahoot: https://kahoot.it/ LISTA DE EXERCÍCIOS I LISTA DE EXERCÍCIOS II LISTA DE EXERCÍCIOS III https://bit.ly/3Ruf0Vu https://bit.ly/3TUbtl2 https://bit.ly/3RPS7vx LISTA DE EXERCÍCIOS IV https://bit.ly/3RrGhYw https://kahoot.it/ https://bit.ly/3Ruf0Vu https://bit.ly/3TUbtl2 https://bit.ly/3RPS7vx https://bit.ly/3RrGhYw ALGORITMOS O que é algoritmo? Algoritmos são, assim, as instruções (ou passos) que serão executados para que uma tarefa seja concluída, ou seja, para que um objetivo seja atingido. Exemplo de algoritmo “Como chupar uma bala” 1 – Pegar a bala; 2 – Retirar o papel; 3 – Jogar o papel no lixo; 4 – Chupar a bala. • Pode-se escrever este algoritmo de outra forma? • Como ficaria o algoritmo se o pote de balas tivesse balas de diversos sabores? Técnicas para algoritmos • SIMPLIFICAR Descrever as instruções deforma simples e objetiva. • USAR SOMENTE UM VERBO POR FRASE Use frases curtas e simples, com no máximo um verbo cada. Ex.: “Acione o botão”, “Use a caneta”, “Escreva seu nome”. • TER CLAREZA Lembre-se de que nem sempre a pessoa que vai ler a instrução tem conhecimento prévio sobre aquilo. • SEJA OBJETIVO Não use palavras que tenham sentido dúbio. Ex.: tomar (a palavra tomar pode significar “pegar” ou “beber”). Etapas de um algoritmo Algoritmos normalmente possuem três etapas: • ENTRADA São os dados de entrada do algoritmo. Por exemplo: nome, idade, dados numéricos e outras informações necessárias. • PROCESSAMENTO Procedimentos utilizados para chegar ao resultado final. Ex.: algoritmo poderá calcular o salário de um funcionário de acordo com o número de dias que ele trabalho. • SAÍDA Dados já processados. Seria, no caso, o resultado do processamento. Ex.: Para tantos dias trabalhados, o salário do funcionário será X. Formas de representação Diagrama de blocos Forma padronizada e eficaz de representar os passos lógicos de um determinado processamento. Com o diagrama podemos definir: • Sequência de símbolos • Significados bem definidos • Ordenação das instruções Portanto, sua principal função é a de facilitar a visualização dos passos de um processamento. Exemplo de diagrama de blocos Algoritmo: “Como chupar uma bala” 1 – Pegar a bala; 2 – Retirar o papel; 3 – Chupar a bala; 4 – Jogar o papel no lixo. Repare que os itens em vermelho não podem mudar de ordem; porém, os itens em azul poderiam estar com a ordem invertida, sem trazer problema ao resultado final. Algoritmos e Lógica de Programação Linguagem de máquina Algoritmos e Lógica de Programação Linguagens de programação Algoritmos e Lógica de Programação Linguagem natural Algoritmos e Lógica de Programação Linguagem natural – exemplo Algoritmos e Lógica de Programação Linguagem natural – exemplo Algoritmos e Lógica de Programação Pseudocódigo e Teste de Mesa Para avançar no seu entendimento de pseudocódigo e de teste de mesa, leia e realize o exercício prático recomendado no artigo a seguir. https://www.linkedin.com/pulse/criando-algoritmos- l%C3%B3gica-de-programa%C3%A7%C3%A3o-amanda-britto/ https://www.linkedin.com/pulse/criando-algoritmos-l%C3%B3gica-de-programa%C3%A7%C3%A3o-amanda-britto/ https://www.linkedin.com/pulse/criando-algoritmos-l%C3%B3gica-de-programa%C3%A7%C3%A3o-amanda-britto/ Algoritmos e Lógica de Programação Fórum de Discussão Confira a lista de exercícios disponibilizada na PARTE II Algoritmos e Lógica de Programação Próxima aula – 12/03 Vamos comentar como iniciar a resolução dos problemas propostos em nossa Atividade 1: - Paradigmas de programação, programação linear vs. modular; - Criando algoritmos do zero (algoritmo do coelho); - Como explicar o Teste de Mesa em um passo a passo. Muito Obrigada, E até nossa próxima aula! Profa. Ma. Amanda Britto Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45