GMA038 - 2015/1 Universidade Federal de Uberlândia Faculdade de Computação Expressões aritméticas, relacionais e lógicas Estruturas condicionais Prof. Renato Pimentel GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 1 Expressões aritméticas GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 2 1 GMA038 - 2015/1 Expressões aritméticas Expressões aritméticas Utilizadas para realizar operações entre dados numéricos reais e inteiros. Resultado: dado do tipo numérico. Uso de operadores aritméticos. GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 3 Operadores aritméticos Operação Adição Subtração Multiplicação Divisão Divisão inteira1 Exponenciação Resto da divisão 1 Operador + – * / \ ^ % Exemplo 2 + 4 A – 5.2 B*4 16.0/9.0 4\3 2^3 12%5 Apenas para dados numéricos inteiros. 1 GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 4 2 GMA038 - 2015/1 Operadores numéricos Observações: A quantidade de operadores e a definição dos mesmos pode variar, dependendo da linguagem de programação em uso. Exemplo: Divisão inteira – Pascal: div (ex.: 4 div 3) – C/C++: Não existe GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 5 Operadores unários X operadores binários Os operadores vistos denotam operações aritméticas entre 2 valores numéricos, que denominamos operandos. Ex.: 7+5, 2*4, 5%2 Tais operadores são, por esta razão, denominados operadores binários. Operadores unários: único operando –5, –X: operador que inverte o sinal do operador à sua direita. GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 6 3 GMA038 - 2015/1 Linearização de expressões aritméticas Devemos reescrever as operações aritméticas, para que sejam válidas em pseudocódigo, e posteriormente em um programa. Operações reescritas devem ocupar única linha de pseudocódigo / programa. Alguns procedimentos Substituir chaves e colchetes por parênteses; Substituir barras de fração por operador / (divisão). GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 7 Linearização de expressões aritméticas Exemplos: ((2/3-(5-3))+1)*5 (4*y^3-3*x)/7 + (x-1)^(1/2)/x GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 8 4 GMA038 - 2015/1 Precedência ou prioridade de operadores Em uma expressão aritmética, certos operadores têm precedência (prioridade) sobre outros. Ordem de prioridade (da mais alta para a mais baixa): 1. Operadores unários; 2. Potenciação; 3. Operadores de multiplicação e divisão, e resto da divisão; 4. Operadores de adição e subtração. Observação 1: como em expressões aritméticas usuais, parênteses são empregados para alterar precedência quando necessário. Observação 2: para operadores de mesma ordem de prioridade, cálculos da expressão são executados da esquerda para direita. GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 9 Precedência ou prioridade de operadores Exemplos: Operação 5*4+3 5*(4+3) 2^4*3 2^(4*3) 2*1/2 2*(1/2) GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Resultado 23 35 48 2^12 = 4096 1 1 Expressões e estruturas condicionais 10 5 GMA038 - 2015/1 Precedência ou prioridade de operadores Presença de mais de um par de parênteses: par mais interno tem maior prioridade. Exemplo: ((2+3)*5)+1 = (5*5)+1 = 26 GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 11 Expressões relacionais GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 12 6 GMA038 - 2015/1 Operações relacionais Utilizadas para realizar a comparação entre dois operandos. Resultado: do tipo lógico: Verdadeiro Falso Uso de operadores relacionais. GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 13 Operadores relacionais Operação Maior que Menor que Maior ou igual a Menor ou igual a Igual Diferente Resto da divisão 1 GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Operador > < >= <= = <> % Expressões e estruturas condicionais 14 7 GMA038 - 2015/1 Operadores relacionais Alguns exemplos de operações relacionais: Operação 2+5 > 4 Resultado VERDADEIRO 3 <> 3 “A” > “B” FALSO FALSO GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 15 Operações lógicas GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 16 8 GMA038 - 2015/1 Operações lógicas Operações envolvendo dados do tipo lógico (isto é, Verdadeiro ou Falso) Resultado de operações lógicas: também do tipo lógico: Verdadeiro Falso Uso de operadores lógicos. GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 17 Operadores lógicos Operação Operador E lógico (multiplicação lógica, AND) OU lógico (adição lógica, OR) E OU OU exclusivo (XOR) XOU Negação lógica (NOT) NÃO GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Resultado (falso caso contrário) Verdadeiro se ambos os operandos são Verdadeiro Verdadeiro quando pelo menos um operando é Verdadeiro Verdadeiro quando um operando é Verdadeiro e outro Falso Operador unário: Verdadeiro quando operador é Falso Expressões e estruturas condicionais 18 9 GMA038 - 2015/1 Operadores lógicos Alguns exemplos de operações lógicas: Operação (2+5>4) E (3<>3) (2+5>4) OU (3<>3) (2+5>4) XOU (3<>3) (2+5>4) XOU (3=3) NÃO (3<>3) GMA038 - Intro Ciênc. Computação Resultado FALSO VERDADEIRO VERDADEIRO FALSO VERDADEIRO Expressões e estruturas condicionais 19 Tabela verdade de operadores lógicos A B V V F F V F V F A E B A OU B A XOU B NÃO A NÃO B V F F F GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel V V V F F V V F Expressões e estruturas condicionais F F V V F V F V 20 10 GMA038 - 2015/1 Estruturas condicionais GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 21 Estrutura condicional Também chamada de estrutura de condição, ou ainda, estrutura de seleção. Possibilita a escolha de uma ação ou um grupo de ações a serem executadas quando determinadas condições são ou não satisfeitas. Condição → Geralmente dada em termos de: Uma operação relacional; Uma operação lógica. GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 22 11 GMA038 - 2015/1 Tipos de estrutura condicional Estrutura condicional simples Estrutura condicional composta GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 23 Estrutura condicional simples Executa um ou vários comandos se a condição for verdadeira. Se a condição for falsa, a estrutura é finalizada sem a execução de nenhum comando. O comando que define a estrutura é dado pela palavra reservada Se. GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 24 12 GMA038 - 2015/1 Estrutura condicional simples Pseudocódigo: SE condição ENTÃO comando(s) FIM SE GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 25 Estrutura condicional simples Exemplo: Se IDADE >= 18 então Escreva “Você é maior de idade” Fim Se GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 26 13 GMA038 - 2015/1 Estrutura condicional simples Fluxograma ... condição V Comando(s) F ... GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 27 Estrutura condicional composta A estrutura condicional composta segue o mesmo princípio da estrutura condicional simples, com a diferença de que quando a condição não é satisfeita, outra ação ou conjunto de ações será executada. Definida pelos comandos Se e Senão. GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 28 14 GMA038 - 2015/1 Estrutura condicional composta Pseudocódigo: SE condição ENTÃO comando(s) SENÃO comando(s) FIM SE GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 29 Estrutura condicional composta Pseudocódigo: SE condição ENTÃO executado(s) somente se condição = VERDADEIRO comando(s) SENÃO comando(s) FIM SE GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel executado(s) somente se condição = FALSO Expressões e estruturas condicionais 30 15 GMA038 - 2015/1 Estrutura condicional composta Exemplo: Se A > B então Escreva “Maior número é”, A Senão Escreva “Maior número é”, B Fim Se GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 31 Estrutura condicional composta Fluxograma ... condição V F Comando(s) Comando(s) ... GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 32 16 GMA038 - 2015/1 Estrutura condicional composta Nota: mais de um comando SE SE condição1 ENTÃO comando(s) SE condição2 ENTÃO comando(s) . . . SENÃO comando(s) FIM SE GMA038 - Intro Ciênc. Computação Opcional Expressões e estruturas condicionais 33 Estruturas condicionais aninhadas Ocorre quando uma estrutura condicional é executada dentro de outra. São permitidas uma ou mais estruturas condicionais simples ou compostas no interior de uma estrutura condicional (também simples ou composta) GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 34 17 GMA038 - 2015/1 Estruturas condicionais aninhadas Declare frequencia, media real Exemplo: Inicio Escreva "Digite a media e a frequencia" Leia media, frequencia Se frequencia >= 0.75 então Se media >= 6 então Escreva "Você está aprovado." Senão Se media >= 3 então Escreva "Voce esta de recuperacao" Senão Escreva "Voce esta reprovado por media" Fim Se Fim Se Senão Escreva "Voce esta reprovado por faltas" Fim se Fim GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 35 Exercícios 1. Crie um algoritmo que calcule e mostre a área de um círculo, dado o seu raio. Observação: 2. Dado que: 1 pé = 12 polegadas 1 jarda = 3 pés 1 milha = 1760 jardas Crie um algoritmo que receba uma medida em pés, faça as conversões para polegadas, jardas e milhas e mostre seu resultado. GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Expressões e estruturas condicionais 36 18 GMA038 - 2015/1 Exercícios 3. O custo para o consumidor de um carro 0 km é a soma do preço de fábrica com os percentuais de lucro para o distribuidor e dos impostos que incidem sobre o preço de fábrica. Escreva um algoritmo que receba o preço de fábrica, o percentual de lucro do distribuidor, e o percentual de impostos. O algoritmo deve retornar: O valor correspondente ao lucro do distribuidor. O valor correspondente aos impostos. O preço final do veículo. GMA038 - Intro Ciênc. Computação Expressões e estruturas condicionais 37 Exercícios 4. Crie um algoritmo em que o usuário entra com um número inteiro. O algoritmo deverá dizer se tal número é par ou ímpar 5. Usando estrutura condicional SE, crie um algoritmo que, dadas 3 notas de um aluno, entre 0 e 10, calcule a média aritmética entre as notas e imprima uma mensagem, conforme tabela: Média aritmética [0, 3) [3, 7) [7, 10] GMA038 - Intro Ciênc. Computação Prof. Renato Pimentel Mensagem Reprovado Exame Aprovado Expressões e estruturas condicionais 38 19 GMA038 - 2015/1 Exercícios 6. Crie um algoritmo usando a estrutura condicional composta SE/SENÃO, que receba 4 valores: I, A, B e C, sendo o primeiro inteiro e os demais reais. De acordo com o valor de I, o algoritmo deve escrever A, B e C como segue: Valor de I 1 2 Outro valor GMA038 - Intro Ciênc. Computação O que escrever A, B e C em ordem crescente A, B e C em ordem decrescente Mensagem: “I deve ser 1 ou 2” Expressões e estruturas condicionais 39 Referências ASCENCIO, A. F. G., CAMPOS, E. A. V. Fundamentos da Programação de Computadores. São Paulo: Prentice Hall, 2007. TRAVENÇOLO, B. A. N. Notas de aula de Introdução à Programação e Computadores. GMA038 - Intro. Ciênc. Computação Prof. Renato Pimentel Algoritmos: conceitos básicos 40 20