programação i - alged.webnode.com · •em c, a estrutura condicional é codificada da seguinte...

24
Estruturas de Decisão Programação I Estruturas de Decisão Prof. Carlos Alberto [email protected] [email protected]

Upload: lamquynh

Post on 01-Jan-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Estruturas de Decisão

Programação I Estruturas de Decisão

Prof. Carlos Alberto

[email protected]

[email protected]

Estruturas de Decisão

Expressões Lógicas

• Em C, não existe um tipo específico para a

representação de valores lógicos.

• Qualquer valor pode ser interpretado como um

valor lógico:

• “zero representa falso e qualquer outro valor

representa verdade”.

• Exemplo:

• 5, –3, 1.2 e 'a' são verdadeiros

• 0 e 4 - 4 são falsos

Estruturas de Decisão

Expressões Lógicas

• Em C, 0 representa o valor lógico "falso" e 1

representa o valor lógico "verdadeiro".

• Operadores relacionais

• Usados para gerar valores lógicos;

• Através deles podemos comparar dois valores de

diversas formas;

• O resultado da avaliação é 0 se a comparação é falsa e

1 se verdadeira.

Estruturas de Decisão

Expressões Lógicas

• Exemplo:

printf("%d %d", 5<6, 6<5)

• A saída produzida pela instrução será 1 0.

Estruturas de Decisão

Expressões Lógicas

• Operadores lógicos

• Com eles, podemos criar expressões lógicas

compostas.

• Funcionam conforme as regras definidas na lógica

matemática.

Estruturas de Decisão

Expressões Lógicas

• Precedência dos operadores aritméticos,

relacionais e lógicos:

• Primeiro avaliam-se todos os operadores aritméticos;

• Em seguida, avaliam-se os operadores relacionais;

• Só então, avaliam-se os operadores lógicos.

Estruturas de Decisão

Decisão simples

• Serve para escolher um entre dois comandos

alternativos.

• Em C, a estrutura condicional é codificada da

seguinte forma:

Estruturas de Decisão

Decisão simples

• Exemplo 1

Estruturas de Decisão

Decisão simples

• Exemplo 2

Dica de

cores

Estruturas de Decisão

Decisão simples

• Pode acontecer de não haver duas alternativas

em um comando de decisão simples:

• Ou o comando é executado ou não se faz nada.

• Exemplo:

• Numa empresa paga-se R$ 19,50 a hora e recolhe-se

para o imposto de renda 10% dos salários acima de R$

1.500,00. Dado o número de horas trabalhadas por um

funcionário, informar o valor do seu salário líquido.

Estruturas de Decisão

Decisão simples

Estruturas de Decisão

Operador ternário

• C oferece também um operador que proporciona

uma forma mais compacta de se representar

decisões simples:

• O operador ‘?’ chamado condicional ou ternário

• A sintaxe é seguinte:

condição ? expressão1 : expressão2

Estruturas de Decisão

Operador ternário

condição ? expressão1 : expressão2

• O operador ternário funciona da seguinte

maneira:

• Avalia a condição;

• Se ela for verdadeira, o resultado final é o valor da

expressão1;

• Senão, o resultado final é o valor da expressão2.

Estruturas de Decisão

Operador ternário

• Vantagem no uso do operador ternário

• pode ser utilizado em qualquer contexto em que uma

expressão é permitida.

• Exemplo:

Estruturas de Decisão

if’s aninhados

• Um if aninhado ocorre quando um if está dentro

de outro if ou else. Vejamos o seguinte exemplo:

• Dados três números verificar se eles podem

representar as medidas dos lados de um triângulo e, se

puderem, classificar o triângulo em equilátero, isósceles

ou escaleno.

• Restrições

• Para que três números representem os lados de um triângulo é

necessário que cada um deles seja menor que a soma dos

outros dois.

• Um triângulo é equilátero se tem os três lados iguais, isósceles

se tem apenas dois lados iguais e escaleno se tem todos os

lados distintos.

Estruturas de Decisão

if’s aninhados

Estruturas de Decisão

Decisão múltipla

• Bastante adequada quando precisamos escolher

uma entre várias alternativas previamente

definidas. Exemplo: menu

• Testa sucessivamente o valor de uma expressão

contra uma lista de constantes inteiras ou de

caractere;

• Quando o valor coincide, os comandos

associados àquela constante são executados.

Estruturas de Decisão

Decisão múltipla

• Sintaxe

switch (expressão-de-seleção) {

case constante1:

sequência de comandos

break;

case constante2:

sequência de comandos

break;

...

default:

sequência de comandos

}

Estruturas de Decisão

Decisão múltipla

• A comparação é feita somente no caso da

igualdade, porém podemos listar uma série de

valores para a comparação e, a partir de um

deles, quando igual, executar um ou um conjunto

de comandos.

• Em muitos casos ele é preferido pelos

programadores no lugar do comando condicional

se, pelo aspecto visual e de organização que

proporciona ao programa.

Estruturas de Decisão

Decisão múltipla

• Diferença do switch para o if:

• switch só pode testar igualdade;

• if pode avaliar expressão lógica ou relacional;

• Duas constantes case no mesmo switch não

podem ter os mesmos valores;

• O break é opcional. Se for omitido, a execução

continua pelos próximos comandos case até

encontrar um break ou o fim do switch.

Estruturas de Decisão

Decisão múltipla

• Exemplo 1: Calculadora simples

Estruturas de Decisão

Decisão múltipla

• Não existe restrição alguma quanto aos tipos de

comandos que podem estar associados a um

determinado case dentro do comando switch.

• Exemplo:

Suponha que antes de efetuar uma divisão seja

necessário verificar se o divisor é diferente de zero.

Nesse caso, deve-se incluir um comando if dentro do

switch. Isso pode ser feito sem nenhum problema.

Estruturas de Decisão

Decisão múltipla

• Exemplo 2: usando if dentro do switch

Estruturas de Decisão

Obrigado!!!