·

Cursos Gerais ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Linguagem de Programação 1 Expressões relacionais expressões lógicas e comandos Condicionais Profs Viviane M e Carlos R Motivação Uma das tarefas fundamentais de qualquer programa é decidir o que deve ser executado a seguir Os comandos de decisão permitem determinar qual é a ação a ser tomada com base no resultado de uma expressão condicional Isso significa que podemos selecionar entre ações alternativas dependendo de critérios desenvolvidos no decorrer da execução do programa 1 2 Os algoritmos precisam tomar decisões o tempo todo Se o usuário clicar em Confirmar este perfil passará a ser seu amigo Se um cupom for adicionado então o cliente terá um desconto no valor a ser pago Se o usuário escolher ordenar o resultado da busca por menor preço então os itens mais baratos aparecerão primeiro Como decidir se um bloco de código deve ou não ser executado Motivação 4 Para determinar se um bloco de código deve ou não ser executado podemos utilizar as expressões relacionais ou lógicas que testam a validade de uma afirmação e retornam 1 ou qualquer outro número diferente de zero se o resultado é verdadeiro 0 se o resultado é falso O que são condições 5 expressão expressão retorna verdadeiro quando as expressões forem iguais Exemplo a b expressão expressão retorna verdadeiro quando as expressões forem diferentes Exemplo a b expressão expressão retorna verdadeiro quando a expressão da esquerda tiver valor maior que a expressão da direita Exemplo a b Expressões relacionais 7 expressão expressão retorna verdadeiro quando a expressão da esquerda tiver valor menor que a expressão da direita Exemplo a b expressão expressão retorna verdadeiro quando a expressão da esquerda tiver valor maior ou igual que a expressão da direita Exemplo a b expressão expressão retorna verdadeiro quando a expressão da esquerda tiver valor menor ou igual que a expressão da direita Exemplo a b Expressões relacionais 8 Exemplo 1 int a b a 1 2 b 3 2 Exemplo 2 int c 3 int d 10 int e f e c d f c d Expressões relacionais a b e f 9 Exemplo 1 int a b a 1 2 b 3 2 Exemplo 2 int c 3 int d 10 int e f e c d f c d Expressões relacionais a 1 verdadeiro b 0 falso e 0 falso f 1 verdadeiro 10 Expressões lógicas são aquelas que realizam uma operação lógica OU E NÃO etc e retornam verdadeiro ou falso como as expressões relacionais Expressões lógicas 11 expressão expressão retorna verdadeiro quando ambas as expressões são verdadeiras Sua tabela verdade é Exemplo do operador E a b Expressões lógicas Expressão 1 Expressão 2 Resultado V V V V F F F V F F F F 12 expressão expressão retorna verdadeiro quando pelo menos uma das expressões é verdadeiras Sua tabela verdade é Exemplo do operador OU a b Expressões lógicas Expressão 1 Expressão 2 Resultado V V V V F V F V V F F F 13 expressão retorna verdadeiro quando a expressão é falsa e vice versa Sua tabela verdade é Exemplo do operador NÃO a Expressões lógicas Expressão Resultado V F F V 14 Um comando condicional é aquele que permite decidir se um determinado bloco de comandos deve ou não ser executado a partir do resultado de uma expressão relacional ou lógica Comandos condicionais 15 O principal comando condicional da linguagem C é o if que determina se um código será executado somente se uma condição for verdadeira Condicional IF 16 ifexpressão lógica comando1 ifexpressão lógica comando1 comando2 comando3 Os comandos são executados somente se a expressão lógica for verdadeira O corpo de um if pode conter uma única instrução terminada por pontoevírgula ou várias instruções entre chaves Condicional IF Se a expressão lógica for verdadeira o comando 1 será executado Se a expressão lógica for verdadeira os comandos 1 2 e 3 serão executados 17 Exemplo O programa abaixo determina se um valor é ıImpar int main int a scanf d a if a 2 0 printf o número d é ímpar a return 0 Condicional IF 18 Uma variação do comando if é o if else Condicional IF ELSE 19 ifexpressão lógica comandos executados se a expressão é verdadeira else comandos executados se a expressão é falsa Condicional IF ELSE 20 Exemplo O programa abaixo determina se um valor é ıImpar ou par int main int a scanf d a if a 2 0 printf o número d é par a else printf O número d é ímpar a return 0 Condicional IF 21 A linguagem C oferece a estrutura condicional ifelse ifelse com capacidade de realizar decisões múltiplas A estrutura oferece vários blocos como alternativas para serem executados cada qual associado à sua própria expressão condicional 22 Estruturas condicionais IF ELSE IF ELSE O programa abaixo recebe dois números e informa qual é o maior e qual é o menor includestdioh int main int x y printfinforme dois números scanfdd x y if x y printf d é menor que d x y else if x y printf d é maior que d x y else printf d e d são iguais x y return 0 23 Estruturas condicionais Exemplo 1 if x y 2 printf d é menor que d x y 3 else if x y 4 printf d é maior que d x y 5 else 6 printf d e d são iguais x y 7 Estruturas condicionais Exemplo Se a expressão x y for verdadeira o programa irá executar a linha 2 imprime x é menor que y e continua a execução do algoritmo após a linha 6 As linhas 3 a 6 são ignoradas Estruturas condicionais Exemplo 1 if x y 2 printf d é menor que d x y 3 else if x y 4 printf d é maior que d x y 5 else 6 printf d e d são iguais x y 7 Se a expressão x y for falsa então a expressão x y será analisada Se esta expressão for verdadeira então o programa executa a linha 4 imprime x é maior que y e continua a execução do algoritmo após a linha 6 Estruturas condicionais Exemplo 1 if x y 2 printf d é menor que d x y 3 else if x y 4 printf d é maior que d x y 5 else 6 printf d e d são iguais x y 7 Se nenhuma das expressões anteriores for verdadeira então o programa executa a linha 6 imprime x e y são iguais Estruturas condicionais Exemplo 1 if x y 2 printf d é menor que d x y 3 else if x y 4 printf d é maior que d x y 5 else 6 printf d e d são iguais x y 7 Um comando IF pode estar dentro de outro comando IF Dizemos então que o interno está aninhado Quando você tem um certo número de ifs e elses como o computador decide qual else é de qual if Por exemplo considere o fragmento de programa seguinte ifx y ifx y a xy else a y Quando será executada a instrução a y em destaque Em outras palavras o else está associado ao primeiro ou ao segundo if Resposta o else está sempre associado ao mais recente if sem else Então se x não for maior que y nada será executado 28 IFs aninhados O trecho ifx y ifx y a xy else a y 29 IFs aninhados É equivalente à ifx y ifx y a xy else a y Caso isso não seja desejado devemos usar chaves ifx y ifx y a xy else a y No trecho de código abaixo quando o comando 2 é executado if expressão1 if expressão2 comando1 else comando2 30 Estruturas condicionais No trecho de código abaixo quando o comando 2 é executado if expressão1 if expressão2 comando1 else comando2 31 Estruturas condicionais Em alguns programas existem situações mutuamente exclusivas isto é se uma situação for executada as demais não serão Quando for este o caso um comando seletivo é mais indicado Embora construções ifelse possam executar testes para escolha de uma entre várias alternativas muitas vezes são deselegantes O comando switch tem um formato limpo e claro 32 O comando switch O comando switch início expressão case sentenças break case sentenças break default sentenças break fim Sintaxe switch expressão case valor1 sentenças case valor2 sentenças case valor3 sentenças default sentenças O comando switch avalia o valor de uma variável para decidir qual case será executado Cada case está associado a um possıIvel valor da variável que deve ser obrigatoriamente do tipo char unsignade char int unsignade int short int long ou unsignade long switchvariável case valor1 comandos break case valor2 comandos break 34 O comando switch O comando break deve ser utilizado para impedir a execução dos comandos definidos nos cases subsequentes Além dos comandos executados de acordo com cada case é possıIvel especificar comandos default Quando o valor da variável não coincidir com aqueles especificados nos cases os comandos default são executados switchvariável case valor1 comando 1 comando 2 break case valor2 comando 3 break default comandos 35 O comando switch include stdioh int main long int prontuario 727569 switch prontuario case 916608 printf Asdrubal Ferreira break case 816495 printf Maria Capitolina break default printf O Aluno não está matriculado return 0 36 O comando switch 37 Fazer os exercícios da Lista 2 Condicionais 1 MIZRAHI V V Treinamento em linguagem C curso completo 2 ed São Paulo Prentice Hall Pearson Education 2008 2 Fundamentos da programação de computadores Ana F G Ascencio Edilene A V de Campos CapıItulo 4 3 Estruturas Condicionais Arnaldo V Moura Daniel F Ferber 38 Referências