ESTRUTURA de CONTROLE CONDICIONAL / de SELEÇÃO / de DECISÃO LPI 1. Expressões Expressões Aritméticas As expressões aritméticas são formadas por operadores aritméticos (+, -, *, /) e por operandos (as constantes e as variáveis de tipo numérico). Na solução das expressões aritméticas, as operações guardam hierarquia entre si: 1 a a ser feita parênteses mais internos potenciação radiciação * / Última a ser feita + - Obs.: Para operações de mesma prioridade, seguimos a ordem em que eles aparecem (da esquerda para a direita). Obs.: Para alterar a prioridade da tabela acima, utilizamos parênteses mais internos. Expressões Lógicas As expressões lógicas são formadas por operadores lógicos ou relacionais e por operandos (as constantes do tipo lógico, as variáveis do tipo lógico e as relações). Operadores Relacionais em C#: Operador Função Exemplos == Igual a 3==3, X==Y > Maior que 5>4, X>Y < Menor que 3<6, X<Y >= Maior ou igual a 5>=3, X>=Y <= Menor ou igual a 3<=5, X<=Y!= Diferente de 9!=8, X!=Y O resultado obtido de uma relação é sempre um valor lógico (true ou false). Exemplo: 2 * 4 == 24 / 2 8 == 12 F Operadores Lógicos em C#: Operador Função! Negação (não) && Conjunção (e) Disjunção (ou) O resultado obtido de uma relação é sempre um valor lógico: true () ou false (F). Exemplo: 2 < 5 e 15 / 3 == 5 e 5 == 5 e 2 < 5 && 15 / 3 == 5 && 5 == 5 && - 1 -
Tabelas-erdade dos Operadores Lógicos (e, ou, não) Tabela-verdade é o conjunto de todas as possibilidades combinatórias entre os valores (true / verdadeiro) e F (false / falso): Tabela verdade do operador e ( && ): alor de A alor de B A e B F F F F F F F Tabela verdade do operador ou ( ): alor de A alor de B A ou B F F F F F Tabela verdade do operador não (! ): alo de A F Não A F Exemplos: a) Se chover e relampejar, ela chora de medo. Pela tabela verdade, verificamos que ela chora de medo quando os termos chover, relampejar forem simultaneamente verdade (uma possibilidade); b) Se chover ou relampejar, ela chara de medo. Pela tabela verdade, verificamos que a proposição será verdadeira ( ela chora de medo ) quando somente chover; quando somente relampejar; quando chover e relampejar (três possibilidades); - 2 -
c)!true 9/3 < 15!true 3 < 15!true F Prioridades entre todos os operadores: 1 a Parênteses mais internos Operadores aritméticos ( * / e depois + - ) Operadores relacionais Última Operadores lógicos Exercícios: Indique o valor lógico das relações abaixo. a)! ( ( 5!= 10 / 2 ) && 2 5 > 5 2 ) b) 16!= 4 + 2 2 + 3 * 5/3 > 0-3 -
2. Estrutura de Controle CONDICIONAL / de SELEÇÃO / de DECISÃO No dia a dia, sempre surge a necessidade de tomar decisões (fazer uma coisa ou outra). Na lógica de programação também é assim. Essa estrutura de controle permite executar um ou vários comandos, desde que seja satisfeita uma condição, ou várias. A condição que deve ser satisfeita é representada por uma expressão lógica. A estrutura de controle condicional se classifica em simples ou composta. Estrutura Condicional Simples A condição ira determinar a execução ou não de determinado(s) comando(s). Representações: Descrição Narrativa: Se fizer sol então vou à praia. Fluxograma: - 4 -
Em linguagem algorítmica: SE tempo = sol ENTÃO ou à praia Em C#: Os comandos entre chaves só serão executados se a condição for verdadeira if (condição) comando 1; comando 2; comando n; Estrutura Condicional Composta A condição ira determinar qual comando será executado dentre dois listados. Na estrutura simples temos Se..Então, neste caso teremos Se..Então..Senão. Representações: Descrição Narrativa: Se fizer sol então vou à praia senão jogarei cartas. Fluxograma: - 5 -
Linguagem Algorítmica: SE tempo = sol ENTÃO ou à praia SENÃO Jogarei cartas Em C#: Se a condição for verdadeira, o comando1 o comando2, até o comando n serão executados; caso contrário (senão), o comando3 o comando4, até o comando m serão executados. if (condição) comando 1; comando 2; comando n; else comando 3; comando 4; comando m; Estrutura Condicional Composta do tipo CASE Esta estrutura é utilizada quando necessitamos que o comando SE seja repetido diversas vezes. Representações: Descrição Narrativa: Caso o mês seja igual a 1 então é Janeiro, se igual a 2 então é fevereiro, se igual a 3 então é Março e assim por diante. - 6 -
Fluxograma: Linguagem Algorítmica: CASO mes 1: nome = Janeiro 2: nome = Fevereiro 3: nome = Marco 4: nome = Abril 5: nome = Maio 6: nome = Junho 7: nome = Julho 8: nome = Agosto 9: nome = Setembro 10: nome = Outubro 11: nome = Novembro 12: nome = Dezembro - 7 -
Em C#: O comando SWITCH avalia o valor de uma variável para decidir qual CASE será executado. Cada CASE está associado a um possível valor da variável. O comando BREAK serve para impedir a execução dos comandos definidos nos cases subsequentes. Quando o valor da variável não coincidir com aqueles especificados nos cases, será executado então o DEFAULT. ariável a switch (a) case 1: comando 1; comando 2; comando n; break; case 2: comando 3; comando 4; comando m; break; default: comando 5; comando 6; break; - 8 -