Sie sind auf Seite 1von 20

DCC205 - Programação Estruturada

Aula 04 - Comandos
condicionais simples e
compostos(if-else)/switch
Prof. Msc. Acauan C. Ribeiro
Estruturas de Controle
● Estruturas Condicionais ou de Seleção (Decisão)
○ Simples
○ Composta
○ Múltipla escolha
Ex.: if, if-else, switch, operador condicional

● Estruturas de Repetição
○ Por condição no início
○ Por condição no fim
○ Por contagem
Ex.: while, do while, for

2
Estrutura Condicional ou de Seleção

● Realizam a execução de um conjunto de comandos de


acordo com o valor de uma expressão.

● Servem para alterar o fluxo de execução de um


programa baseado no valor, verdadeiro ou falso, de uma
expressão lógica.

3
Estrutura Condicional Simples

Comando if
Na linguagem C, a estrutura condicional simples possui a
seguinte sintaxe:

if (<expressão>) {
<comandos>
}

4
Estrutura Condicional Simples

Comando if
Exmeplo:

5
Estrutura Condicional Simples

6
Estrutura Condicional Composta
Comando if-else
Na linguagem C, a estrutura condicional composta possui a
seguinte sintaxe:

if (<expressão>) {
<comandos>
}
else {
<comandos>
}
7
Exercício 4.1 - Em sala (1º jogo)
Implemente um programa em c gere um número aleatório.
Faça o usuário entrar com um número. Se o número
digitado for igual ao número gerado aleatoriamente mostre
a mensagem “Certo!”, se não mostre a mensagem
“Errado!”.
Ao final mostre qual o número aleatório gerado.
OBS: O programa deve gerar a cada execução um número
aleatório diferente.

8
Estrutura Condicional Composta
Quando temos estruturas condicionais presentes em blocos
de comandos de outras estruturas condicionais, chamamos
de estruturas aninhadas ou encadeadas:

if (<expressão>) {
if (<expressão>) {
Comando <comandos1>
}
if-else else {
<comandos2>
}
} else {
if (<expressão>) {
<comandos3>
} else {
<comandos4>
}
} 9
Estrutura Condicional Composta
Ambigüidade: na falta de chaves, a linguagem C associa o
else sempre ao último if.
Portanto, para que a construção funcione como desejado,
pode-se resolver o problema usando bloco.

Comando
if-else

10
Exercício 4.2 - Em sala
1. Receba dois números e mostre qual deles é o maior.

2. Receber o salário de um trabalhador e o valor da prestação de


um empréstimo, se a prestação for maior que 20% do salário
imprima: Empréstimo não concedido, caso contrário imprima:
Empréstimo concedido.

3. Receba o nome e as duas notas de um aluno, calcule a média e


verifique se ele está aprovado ou reprovado. Se a Média>=7
estará aprovado. Apresente o nome dele e a sua situação.

4. Implemente um programa que calcule a idade de uma pessoa,


dada a data de nascimento e a data atual. Se for o aniversário
dele hoje, o programa deve colocar uma mensagem de
parabéns.
11
Operador Condicional: ?
O operador ternário ? possui a seguinte sintaxe:

Exp1 ? Exp2 : Exp3

Exp1 é avaliada:

● Se for verdadeira, Exp2 é avaliada e seu resultado se


torna o valor da instrução.
● Se for falsa. Exp3 é avaliada e torna seu resultado o valor
da instrução

12
Operador Condicional: ?
Equivale ao seguinte código if-else:

13
Operador Condicional: ?
Exemplo:

#include <stdio.h>
main (void){
int num1, num2, maior;
printf("Informe dois numeros:");
scanf ("%d %d", &num1, &num2);
maior = (num1>num2) ? num1: num2;
printf("O maior numero é: %d\n", maior);
}

14
Operador Condicional: ?
#include <stdio.h>
#include <stdlib.h>

int main() {
int abs,x;
printf("Informe um numero:\n");
scanf ("%d", &x);
printf("Este numero eh %s\n", (x%2)? "Impar" : "Par");
printf("A absoluto desde numero eh: %d\n",(x>0)?x:-x);
return 0;
}

15
Exercício 4.3 - Em sala
Faço os seguintes algoritmos utilizando o operador ternário

1. Leia um número. Se ele for par imprima o dobro dele, caso


contrário (ímpar) imprima ele ao quadrado.

2. Faça um programa que receba a idade e o nome de uma


pessoa. O programa deve informar se ele é maior ou menor
de idade.

16
Estrutura condicional de Múltipla Escolha

Comando switch-case
Instrução de seleção de múltipla escolha CASE na
linguagem C:

switch (<expressão_ou_valor>) {

case Constante1:
<comandos1>
break;
case Constante2:
<comandos2>
break;

default:
<comandosN>
}
17
Estrutura condicional de Múltipla Escolha

Comando switch-case
Funcionamento do comando switch:

● Analisa a expressão ou valor.


● Caso seja igual a Constante1, então executa “comandos1” e vai
para o final do switch.
● Caso seja Constante2, então executa “comandos2” e vai para o
final do switch.
● Assim sucessivamente...
● Caso não seja nenhuma das alternativas, vai para o default,
executa “comandosN” e encerra o switch.

18
Comando switch-case
#include <stdio.h>
int main() {
float num1, num2;
char operador;
printf("Informe uma expressão no formato: num1 operador num2\n");
scanf ("%f %c %f", &num1, &operador,&num2);
switch (operador) {
case '+':
printf("Resultado: %f\n",num1+num2); break;
case '-':
printf("Resultado: %f\n",num1-num2); break;
case '*':
printf("Resultado: %f\n",num1*num2); break;
case '/':
printf("Resultado: %f\n",num1/num2); break;
default:
printf("\nO operador: %c é desconhecido\n");
}
}
19
Exercício 4.4
1)Os funcionários de uma empresa receberam um aumento
de salário:
● Técnicos: 50%
● Gerentes: 30%
● Demais: 20%
Escrever um programa que receba como entrada o salário
atual e o cargo do funcionário, e apresente o novo salário
após o aumento. Dica: faça um menu;

2) Usando switch, escreva um programa que leia um inteiro


entre 1 e 7 e imprima o dia da semana correspondente a este
número. Isto é, domingo, se 1, segunda-feira, se 2, e assim por
diante.
20

Das könnte Ihnen auch gefallen