Prévia do material em texto
Disciplina: Professor: Rafael Martins Alves INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA Mato Grosso Câmpus Octayde Fundamentos de Programação Tema: Estruturas de Decisão Lógica 1 Lógica de Programação OBJETIVOS 2 Ao final desta aula seremos capazes de: • Definir estruturas de condições • Simples • Composta • Combinar as estruturas de condições • Por meio de encadeamento • Solucionar problemas de decisões • Pseudocódigo • Fluxograma • Linguagem C OBJETIVOS 3 Lógica de Programação PRÉ-REQUISITOS 4 Conhecimento prévio em: • Pseudocódigo e Fluxograma (problema execução único) • Funções de entrada e saída em linguagem C • Variáveis e Constantes • Operadores Aritméticos • Operadores Relacionais • Operadores Lógicos PRÉ-REQUISITOS 5 Lógica de Programação CRITÉRIOS DE AVALIAÇÃO 6 Lógica de Programação REVISÃO 7 Expressões Lógicas: • Condição de teste que retorna valor verdadeiro ou falso; • Exemplos: • 3>2 ➔ valor verdadeiro • 4<2 ➔ valor falso REVISÃO 8 Operadores Relacionais: • Possibilitam saber a relação entre seus dois operandos. • Exemplos: • 1==2 ➔ valor falso • 4<=7 ➔ valor verdadeiro REVISÃO 9 Símbolo Operador == Igual a != Diferente >= Maior ou igual > Maior que < Menor que <= Menor ou igual Operadores Lógicos: • Servem para conectar duas expressões relacionais. • Exemplos: a) nao(1 < 2) ➔ ? b) 7 >= 3 ➔ ? c) (nao(1 < 2) e (7 >= 3))➔ ? d) (nao(1 < 2) ou (7 >= 3)) ➔ ? REVISÃO 10 Símbolo Operador ou OU lógico e E lógico nao Negação Condição 1 Condição 2 ou e F F F F F V V F V F V F V V V V Condição 1 ! F V V F Operadores Lógicos: • Servem para conectar duas expressões relacionais. • Exemplos: a) nao(1 < 2) ➔ valor falso b) 7 >= 3 ➔ valor verdadeiro c) (nao(1 < 2) e (7 >= 3))➔ valor falso d) (nao(1 < 2) ou (7 >= 3)) ➔ valor verdadeiro REVISÃO 11 Símbolo Operador ou OU lógico e E lógico nao Negação Condição 1 Condição 2 ou e F F F F F V V F V F V F V V V V Condição 1 ! F V V F Lógica de Programação MOTIVAÇÃO 12 • Fluxo de execução único; • Instruções são sempre as mesmas; • Independente dos valores de entrada. MOTIVAÇÃO 13 Na vida real: • A todo momento precisamos fazer diferentes escolhas; • Ações a serem tomadas dependem de situações/condições. MOTIVAÇÃO 14 Mercado • Compra baseada em alguns fatores como: • Tempo • Meio de transporte • Dinheiro MOTIVAÇÃO 15 Mercado MOTIVAÇÃO Tem muito dinheiro? SIM NÃO caro barato 16 Mercado • O dinheiro determina a forma da compra; • No algoritmo é o mesmo caso. As condições de decisão mudam os fluxos das instruções que serão executadas. MOTIVAÇÃO 17 Lógica de Programação ESTRUTURAS DE DECISÃO LÓGICA 18 • Tomada de decisão para o caminho e a execução; • 3 tipos de estruturas: 1) Simples 2) Composta 3) Encadeada ESTRUTURAS DE DECISÃO LÓGICA 19 • Utilizada para testar uma certa condição antes de executar conjunto de instruções; • Formas de representação : 1) ESTRUTURA SIMPLES 20 Fluxograma Pseudocódigo se (condição) { <comandos> } Na linguagem C 1) ESTRUTURA SIMPLES 21 if (condição) { <comandos> } Na linguagem C 1) ESTRUTURA SIMPLES 22 if (condição) { <comandos> } Condição uma expressão lógica através do retorno verdadeiro ou falso Na linguagem C 1) ESTRUTURA SIMPLES 23 if (condição) { <comandos> } Executa se condição verdadeira Na linguagem C 1) ESTRUTURA SIMPLES 24 if (condição) { <comandos> } Não são necessários chaves para 1 comando → → EXEMPLO: Verificar se tem dinheiro para comprar um produto. 1) ESTRUTURA SIMPLES 25 Pseudocódigo Fluxograma Linguagem C se (dinheiro >= preco ) { escreva(“Coloque no carrinho”); } if (dinheiro >= preco ) printf(“Coloque no carrinho”); • Duas alternativas dependem de uma mesma condição, uma de a condição ser verdadeira e a outra de a condição ser falsa; • Formas de representação : 2) ESTRUTURA COMPOSTA 26 Fluxograma Pseudocódigo se (condição) <comandos 1> senão <comandos 2> Na linguagem C 2) ESTRUTURA COMPOSTA 27 if (condição) { <comandos 1> } else { <comandos 2> } Na linguagem C 2) ESTRUTURA COMPOSTA 28 if (condição) { <comandos 1> } else { <comandos 2> } Condição uma expressão lógica através do retorno verdadeiro ou falso Na linguagem C 2) ESTRUTURA COMPOSTA 29 if (condição) { <comandos 1> } else { <comandos 2> } Executa se condição verdadeira Executa se condição falsa Na linguagem C 2) ESTRUTURA COMPOSTA 30 if (condição) { <comandos 1> } else { <comandos 2> } → → Não são necessários chaves para 1 comando → → Não são necessários chaves para 1 comando EXEMPLO: Verificar se o salário de um empregado é irregular , ou seja, se é menor que o salário mínimo (R$998). 2) ESTRUTURA COMPOSTA 31 Pseudocódigo Fluxograma Linguagem C se (salario < 998) { escreva(“Salário irregular”); }senão{ escreva(“Salário correto”); } if (salario < 998) printf(“Salário irregular”); else printf(“Salário correto”); • Quando se utilizam tomadas de decisão simples ou compostas dentro de outra; • Uma tomada de decisão depende de outra para executar; • Formas de representação: 3) ESTRUTURA ENCADEADA 32 Fluxograma Pseudocódigo se (condição 1) { se (condição 2) { <comandos 1> }senão {<comandos 2>} } senão {<comandos 3>} Na linguagem C 3) ESTRUTURA ENCADEADA 33 if (condição 1) { if (condição 2) <comandos 1> else <comandos 2> } else <comandos 3> Na linguagem C 3) ESTRUTURA ENCADEADA 34 if (condição 1) { if (condição 2) <comandos 1> else <comandos 2> } else <comandos 3> A condição deve ser uma expressão lógica EXEMPLO: Programa de alistamento do exército. Verifique se a pessoa é brasileira, se sim verifique se o sexo é masculino. Caso positivo informe que ele deve se alistar aos 18 anos, caso contrário informe que não é preciso 3) ESTRUTURA ENCADEADA 35 Pseudocódigo Fluxograma Linguagem C se (nacionalidade = “B”) { se (sexo = “M”) então escreva(“Deve-se alistar com 18 anos de idade”); senão escreva(“Não é necessário alistar”); } senão escreva(“Não é necessário alista”); if (nacionalidade == ‘B’) { if (sexo == ‘M’) printf(“Deve-se alistar com 18 anos de idade”); else printf(“Não é necessário alistar”); } else { printf(“Não é necessário alistar”); } Lógica de Programação EXEMPLO EXERCÍCIO 36 Ler um número inteiro e mostrar se o número é positivo ou negativo. Faça: pseudocódigo, fluxograma e programa em C. EXEMPLO EXERCÍCIO 37 Lógica de Programação LISTA DE EXERCÍCIOS 38 Lógica de Programação CONCLUSÕES 39 1. Importância conteúdos anteriores; 2. Problemas práticos; 3. Relação com laços de repetições; 4. Atuação do técnico. CONCLUSÕES 40 Obrigado! 41