Buscar

Aula 02 Estruturas de Seleção e Conversores Lógicos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

LINGUAGEM DE PROGRAMAÇÃO 
ESTRUTURADA
Aula 02:
Estruturas de Seleção
Prof. André Alves Nogueira, MSc.
SUMÁRIO
▪ Comando de seleção if
▪ Comando Else if
▪ Operador Ternário
▪ Estruturas aninhadas
▪ Comando Switch..Case
ESTRUTURAS DE CONDIÇÃO SIMPLES
▪ Estruturas que permitem a escolha de
instruções (bloco) a serem executadas,
avaliação de uma expressão lógica
um grupo de
a partir da
▪ Somente dois caminhos serão possíveis:
▪ 1º caminho: condição verdadeira
▪ 2º caminho: condição falsa
ESTRUTURAS DE CONDIÇÃO SIMPLES
▪ Fluxograma
ESTRUTURAS DE CONDIÇÃO SIMPLES
▪ Sintaxe:
if <condição>
{
bloco de instruções
}
Dica de programação: caso o bloco de instruções do IF
tenha UMA linha no máximo, não será preciso colocar
‘{‘ e ‘}’.
OPERADORES LÓGICOS
▪ C oferece operadores lógicos, que podem ser usados para formar
condições mais complexas ao combinar condições simples.
▪ Os operadores lógicos são && (AND lógico), || (OR lógico) e !
(NOT lógico, também chamado de negação lógica).
Operador Equivalente Sintaxe Representação
matemática
&& AND lógico (A = C) && (B = C) (A = C) * (B = C)
|| OR lógico (A = C) || (B = C) (A = C) + (B = C)
! Não lógico !A Ā
OPERADORES LÓGICOS – EXEMPLO
float media;
printf("informe sua media: "); 
scanf("%f",&media);
if ((media >= 5) && (media <= 10))
printf("aprovado"); 
return 0;
DICA DE PROGRAMAÇÃO – LIMPAR 
TELA
Use os comandos:
system(“clear”);
//funciona no Linux com a biblioteca conio.h
system(“cls”); // mais utilizada (Windows).
Pode ser executado com operador 
lógico: system(“clear||cls”); 
//utilize esta
▪ Tipo de estrutura de seleção emque:
▪ a sequência de comandos 1 será executada
caso a condição seja verdadeira
▪ a sequência de comandos 2 será executada
caso a condição seja falsa
ESTRUTURAS DE CONDIÇÃO COMPOSTO
ESTRUTURAS DE CONDIÇÃO COMPOSTO
▪ Sintaxe:
if <condição>
{
bloco de instruções (se condição verdadeira)
}
else
{
bloco de instruções (se condição falsa)
}
ESTRUTURAS DE CONDIÇÃO COMPOSTO
OPERADOR TERNÁRIO
▪ O operador “? :” é chamado de ternário pois eleé 
uma TRINCA:
<condição> ? <expressão verdade> : <expressão falso>;
▪ Ele substitui em alguns casos o if..else.
▪ Exemplo:
float media = 3;
(media >= 5) ? printf("aprovado") : printf("reprovado");
ESTRUTURAS ANINHADAS
34
▪ Estruturas if…else aninhadas testam vários casos, colocando 
estruturas if…else dentro de estruturas if…else.
▪ Por exemplo, a estrutura de pseudocódigo a seguir imprimirá A para
notas de exame maiores ou iguais a 90, B para notas maiores ou
iguais a 80, C para notas maiores ou iguais a 70, D para notas
maiores ou iguais a 60, e F para todas as outras notas:
Se a nota do aluno é maior ou igual a 90
Imprime ‘A’
se não
Se a nota do aluno é maior ou igual a 80
Imprime ‘B’
se não
Se a nota do aluno é maior ou igual a 70
Imprime ‘C’
se não
Se a nota do aluno é maior ou igual a 60
Imprime ‘D’
se não
Imprime ‘F’
ESTRUTURAS ANINHADAS
ESTRUTURAS ANINHADAS
▪ Sintaxe:
if <condição n>
{
bloco de instruções (se condição-n verdadeira)
}
else
{
if <condição-m>
{
bloco de instruções (se condição-m verdadeira)
}
else
{
bloco de instruções (se condição-m falsa)
}
}
DICA DE PROGRAMAÇÃO – PRINCIPAIS
BIBLIOTECAS DISPONÍVEIS NO GNU GCC
COMPILER
Nome Descrição
acos arco-coseno
asin arco-seno
atan arco-tangente
atan2 arco-tangente (círculo cheio)
ceil tecto
cos co-seno
cosh co-seno hiperbólico
exp exponencial
fabs valor absoluto (módulo de)
floor chão
fmod resto de uma divisão
frexp fracção norm./parte exp
ldexp inverso de frexp
log logaritmo natural
log10 logaritmo base 10
modf(x,p)
retorna a parte fraccionária de x e guarda a parte inteira para onde o
apontador p aponta
pow(x,y) retorna o resultado de x elevado a y
sin seno
sinh seno hiperbólico
sqrt raiz quadrada
tan tangente
tanh tangente hiperbólica
DICA DE PROGRAMAÇÃO – FUNÇÕES DA BIBLIOTECA 
MATH.H (OU CMATH) - FUNÇÕES DO C89/C90
Nome Descrição
acosh arco-coseno hiperbólico
asinh arco-seno hiperbólico
atanh arco-tangente hiperbólica
cbrt raiz cúbica
copysign(x,y) retorna o valor de x com o sinal de y
erf função erro
erfc função erro complementar
exp2(x) calcula 2 elevado à x, 2x
expm1(x) subtrai da exponenciação x, ex − 1
fdim(x,y) diferença positiva entre x e y, fmax(x−y, 0)
fma(x,y,z) multipica e soma, (x * y) + z
fmax(x,y) maior valor de x e y
fmin(x,y) menor valor de x e y
hypot(x,y) hipotenusa, sqrt(x2 + y2)
ilogb o expoente de uma dízima, convertido num
int
lgamma logaritmo natural do valor absoluto da função gamma
DICA DE PROGRAMAÇÃO – FUNÇÕES DA BIBLIOTECA 
MATH.H (OU CMATH) - FUNÇÕES DO C89/C90
FUNÇÕES ACRESCENTADAS NO C99
Nome Descrição
llrint
arredonda para inteiro (retorna long long) usando o modo de
arredondamento corrente
lrint arredonda para inteiro (retorna long) usando o modo de
arredondamento currente
llround arredonda para inteiro (retorna long long)
lround arredonda para inteiro (retorna long)
log1p(x) logaritmo natural de 1 + x
log2 logaritmo binário
logb extrai o expoente da dízima infinita não periódica
nan(s) retorna NaN, possivelmente usando um argumento "string"
nearbyint arredonda uma dízima para o inteiro mais próximo
nextafter(x,y) retorna o próximo valor representável depois de x (towards y)
nexttoward(x,y) o mesmo que nextafter, excepto que y é sempre um long double
remainder(x,y) calcula o resto como exigido pelo IEC 60559
remquo(x,y,p) o mesmo que remainder, mas guarda o quociente (como int) no alvo 
do apontador p
rint arredonda para inteiro (retorna double) usando o modo de 
arredondamento currente
round arredonda para inteiro (retorna double), arredonda casa mais distante de
zero
scalbln(x,n) x * FLT_RADIXn (n é long)
scalbn(x,n) x * FLT_RADIXn (n é int)
tgamma função gamma
trunc trunca uma dízima
ESTRUTURAS DE SELEÇÃO MÚLTIPLA
– SWITCH..CASE
▪ Ocasionalmente, um algoritmo conterá uma série
de decisões em que uma variável, ou expressão,
será testada separadamente para cada um dos
valores inteiros constantes que ela possa vir a
assumir, e diferentes ações serão tomadas.
▪ Isso é chamado de seleção múltipla.
▪ C nos oferece a estrutura de seleção múltipla switch
para lidar com essa tomada de decisão.
▪ A estrutura switch consiste em uma série de rótulos
case, um caso default opcional e instruções para
executar cada caso.
ESTRUTURAS DE SELEÇÃO MÚLTIPLA
– SWITCH..CASE
▪ Sintaxe:
switch (variável analisada)
{
case (valor 1): bloco de instruções (se valor 1 verdadeiro); break;
case (valor 2): bloco de instruções (se valor 2 verdadeiro); break;
case (valor 3): bloco de instruções (se valor 3 verdadeiro); break;
.
.
(se valor n verdadeiro); break;
(caso nenhum valor n seja
case (valor n): bloco de instruções
[default]: bloco de instruções
verdadeiro); break;
}
A palavra reservada break serve para
fechar o laço do switch quando o
case for verdadeiro.
EXEMPLO
int main(void){
int valor;
printf ("Digite um valor de 1 a 7: ");
scanf("%d", &valor);
switch (valor){
case 1 :
printf ("Domingo\n");
break;
case 2 :
printf ("Segunda\n");
break; 
case 3 :
printf(“Terca\n”);
break;
case 4 :
printf ("Quarta\n");
break;
case 5 :
printf (“Quinta\n”);
break;
case 6 :
printf (“Sexta\n”);
break;
case 7 :
printf (“Sabado\n”);
break;
default :
printf(“Valor invalido!\n”);
}
return 0;
}
A variável testada no switch só pode
ser do tipo int echar.
EXERCÍCIOS
44
1. Crie umprograma que faça a identificação da idade
do usuário. Verificar se o usuário está apto a prestar
o serviço militar (entre 18 a 23 anos), se ele pode
tirar a CNH (Certificado Nacional de Habilitação –
idade > 16) e se ele pode ingerir bebidas alcoólicas
(idade > 21). Deve ser mostrada uma mensagem de
aviso caso ele seja menor de idade ou maior que as
condições militares aceitas, deve mostrar em
conjunto as características permitidas para a idade
especificada (que deve ser inserida pelo usuário).
2. Utilize uma condição de seleção caso o usuário
queira realizar as operações: quadrado de 𝑛, raiz
quadrada de 𝑛, potência ao cubo de 𝑛 e resto da
divisão de 𝑛 por 2. Onde 𝑛 é um numero inserido
pelo usuário. Faça também que se o usuário inserir
uma opção invalida, o programa termine (ou
recomece usando goto).
EXERCÍCIOS
3. Construa um algoritmo que leia um numero
inteiro e devolva o nome do mês ao qual esse
numero representa.
4. Crie um aplicativo bancário em C que pede o valor
do depósito inicial, o valor do investimento mensal
e o número de meses que o dinheiro vai ficar
rendendo na poupança. Após isso, calcule o lucro
obtido, sabendo que o juros da poupança ao mês
(a.m.) é de 0,5%. Conforme a formula:
𝑆𝑛 = (1 + 𝑗)
1 + 𝑗 𝑛 − 1
𝑗
𝑝
▪ Aonde 𝑝 é o valor mensal fixo a ser aplicado. 𝑗 é o
juros a.m. 𝑛 é a qtde. de meses investidos e 𝑆𝑛 é o
montante final após a aplicação.
REFERÊNCIAS
▪ DEITEL, Harvey M.; DEITEL, P. J. C: como programar. 
6.ed. São Paulo: Pearson, 2011.
▪ DAMAS, Luís. Linguagem C. 10.ed. São Paulo: LTC, 
2013.
▪ BACKES, André. Linguagem C: Completa e
Descomplicada. Rio de Janeiro: Elsevier, 2012.

Outros materiais

Perguntas Recentes