Buscar

Bac004 - Parte 4 (Estrutura Condicional)

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 36 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 36 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 36 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

Estrutura Condicional
BAC004-Informática-Teórica-Fabiana C 
Guedes
2
Estrutura Condicional
� A estrutura condicional permite a escolha do 
grupo de ações e estruturas a ser 
executado quando determinadas condições 
são ou não satisfeitas.
� A estrutura condicional pode ser 
apresentada por meio de uma estrutura 
simples ou de uma estrutura composta.
BAC004-Informática-Teórica-Fabiana C 
Guedes
3
Estrutura Condicional
• Isso significa que podemos selecionar 
entre ações alternativas dependendo 
de critérios desenvolvidos no decorrer 
da execução do programa
BAC004-Informática-Teórica-Fabiana C 
Guedes
4
Comandos de Seleção -
Simples
� Forma Geral
if (expressão)
comando1;
Expressão da Condição deve 
estar entre parênteses.
Caso tenha mais de um 
comando eles devem ser 
delimitados por chaves.
Seria igual a:
SE <condição> 
ENTÃO 
comando
BAC004-Informática-Teórica-Fabiana C 
Guedes
5
Comandos de Seleção -
Simples
BAC004-Informática-Teórica-Fabiana C 
Guedes
6
Comandos de Seleção -
Simples
if(sexo_usuario=='f' && dia==8 && mes==3) 
cout << "Parabens, mulher, pelo seu dia!"; 
BAC004-Informática-Teórica-Fabiana C 
Guedes
7
Comandos de Seleção 
- Simples
• Em C/C++ é obrigatória a utilização de chaves 
quando houver mais de uma instrução a ser 
executada quando a expressão condicional for 
verdadeira. 
• FormaGeral
if (Teste Condicional)
{ 
instrução1; 
instrução2; 
instruçãon; 
} 
As chaves delimitam o Bloco que só será 
executado no caso da expressão verdadeira.
BAC004-Informática-Teórica-Fabiana C 
Guedes
8
Comandos de Seleção 
- Simples
if(sexo_usuario=='f' && dia==8 && mes==3)
{ 
cout << "Parabéns, mulher, pelo seu dia!" << endl; 
cout << "Você é a " 
<< cont + 1 
<< "a. mulher a acessar o sistema hoje." 
<< endl; 
cont++; 
} 
Ou cont=cont + 1. Ao criar a variável cont, 
ela deve receber o valor 0.
BAC004-Informática-Teórica-Fabiana C 
Guedes
9
Comandos de Seleção 
- Simples
/*ProgC014.cpp
Primeiro exemplo de estrutura condicional*/
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
cout << "Quantos anos voce tem? " << endl;
int anos;
cin >> anos;
if( anos < 30 ) //Toma decisão caso anos < 30
cout << "Voce e muito jovem!" << endl;
system("PAUSE");
return 0;
}
Faz o teste perguntando se 
(anos < 30)
Só executa se a condição for 
verdadeira
Sem as chaves só executa 
uma única linha de código.
BAC004-Informática-Teórica-Fabiana C 
Guedes
10
Comandos de Seleção -
Simples
//ProgC015.cpp - Programa que verificar se número é par ou impar
#include <iostream>
#include <cstdlib>
using namespace std;
int main (){
int num;
cout << "Digite o numero: ";
cin >> num;
if ((num % 2) == 0){
cout << "Numero par.\n";
}
if ((num % 2) == 1){
cout << "Numero impar.\n";
}
system("pause > null");
return 0;
}
Comando condicional simples
BAC004-Informática-Teórica-Fabiana C 
Guedes
11
Estrutura Condicional 
- Composta
• É uma expansão de um simples comando if
• O comando if permite que executemos algo 
somente se a sua expressão de teste for 
verdadeira, caso contrário nada será 
executado
• Suponhamos que você queira executar uma 
coisa se a expressão de teste for verdadeira 
e outra se a expressão de teste for falsa
• Nesse caso, você deve usar o comando if -
else
BAC004-Informática-Teórica-Fabiana C 
Guedes
12
Estrutura Condicional -
Composta
BAC004-Informática-Teórica-Fabiana C 
Guedes
13
Comandos de Seleção –
Composta
� Forma Geral
if (expressão)
comando1;
else
comando2;
Expressão da Condição deve 
estar entre parênteses.
Caso tenha mais de um 
comando eles devem ser 
delimitados por chaves.
BAC004-Informática-Teórica-Fabiana C 
Guedes
14
Comandos de Seleção 
–Composta
BAC004-Informática-Teórica-Fabiana C 
Guedes
15
Comandos de Seleção –
Composta
if(media >= 60) 
cout << "Aprovado!"; 
else 
cout << "Exame!"; 
BAC004-Informática-Teórica-Fabiana C 
Guedes
16
Comandos de Seleção –
Composta
//ProgC016 - Teste de divisão por Zero
#include <iostream>
using namespace std;
int main(){
int dividendo, divisor;
float quociente;
cout << "Entre com o dividendo e o divisor, respectivamente: ";
cin >> dividendo >> divisor;
if (divisor != 0)
{
quociente = (float) dividendo / divisor;
cout << "O quociente e: " << quociente << endl;
}
else
cout << "Impossivel fazer a divisao. O divisor e igual a zero." << endl;
return 0;
}
Como a expressão lógica fornece o 
valor 0 (zero) para falso e diferente 
de zero para verdadeiro, se o valor 
for verdadeiro pode ser realizada a 
divisão. Se o valor for falso, o 
segundo número digitado foi zero.
BAC004-Informática-Teórica-Fabiana C 
Guedes
17
Comandos de Seleção 
–Composta
BAC004-Informática-Teórica-Fabiana C 
Guedes
18
Comandos de Seleção 
–Composta
BAC004-Informática-Teórica-Fabiana C 
Guedes
19
Comandos de Seleção -
Composta
// ProgC017.cpp - Programa que apresenta o comando de seleção composta - if 
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ( ){
int Numero, Palpite;
srand(time(NULL));
Numero = rand()%100;
cout << "\nAdivinhe o numero magico: ";
cin >> Palpite;
if (Palpite == Numero)
cout << "\n Voce ACERTOU!";
else
cout << "\n Voce errou! O correto era " << Numero;
system("PAUSE > null");
return 0;
}
srand() e rand() são funções para criar números 
randomicamente. Neste caso pega números abaixo de 100.
Comando de seleção.Seria o comando:
se Palpite = Numero então
escreva “Você Acertou!”
senão
escreva “Você errou! O correto era ”, Numero
BAC004-Informática-Teórica-Fabiana C 
Guedes
20
Comandos de Seleção -
Aninhada
• Uma estrutura condicional está 
aninhada quando é utilizada dentro de 
outra estrutura condicional. 
• Podemos ter vários comandos if 
aninhados. 
• O comando else em C se refere ao if 
mais próximo (acima deste) que está 
no mesmo bloco.
BAC004-Informática-Teórica-Fabiana C 
Guedes
21
Comandos de Seleção -
Aninhada
• Forma Geral: 
if (<condição>){ 
comandos1;
...
}else if (<condição>) {
comandos2;
...
}
No senão faz outro teste.
if (<condição1>)
{ 
if (<condição2>)
{ 
comandos;
...
}
else
{
comandos;
...
}
}
else
{
if (<condição3>)
{ 
comandos;
...
}
}
BAC004-Informática-Teórica-Fabiana C 
Guedes
22
Comandos de Seleção 
Aninhados - Exemplo
//ProgC018.cpp - Estrutura if aninhada
# include <iostream>
using namespace std;
int main ( ){
int n1, n2, n3;
cout << "Digite 3 numeros: ";
cin >> n1 >> n2 >> n3;
if (n1 > n2)
if (n1 > n3)
cout << "O maior numero e: " << n1;
else
cout << "O maior numero e: " << n3;
else
if (n2 > n3)
cout << "O maior numero e: " << n2;
else
cout << "O maior numero e: " << n3;
return 0;
}
Estrutura if aninhada
BAC004-Informática-Teórica-Fabiana C 
Guedes
23
Comandos de Seleção 
Aninhados - Exemplo
//ProgC019.cpp - Exemplo IF Aninhado
#include <iostream>
using namespace std; int main(){
float n1, n2, res;
char op;
cout << "Digite NUMERO OPERADOR NUMERO: ";
cin >> n1 >> op >> n2;
if (op == '+') {
res = n1 + n2;
cout << "O resultado da soma e: " << res;
}
else
if (op == '-') {
res = n1 - n2;
cout << "O resultado da subtracao e: " << res;
}
else
if (op == '/') {
res = n1 / n2;
cout << "O resultado da divisao e: " << res;
}
else
if (op == '*') {
res = n1 * n2;
cout << "O resultado da multiplicacao e: " 
<< res;
}
else
cout << "Operador invalido!";
cout << endl;
return 0;
} // fim main
Entrada de Dados
Soma
Subtração
DivisãoMultiplicação
Nenhuma das 4 operações
BAC004-Informática-Teórica-Fabiana C 
Guedes
24
Comandos de Seleção 
Aninhados - Exemplo
//ProgC019a.cpp - Exemplo IF Aninhado
#include <iostream>
using namespace std;
int main() {
float n1, n2, res;
char op;
cout << "Digite NUMERO OPERADOR NUMERO:";
cin >> n1 >> op >> n2;
if (op == '+') {
res = n1 + n2;
cout << "O resultado da soma e: " << res;
}
else if (op == '-') {
res = n1 - n2;
cout << "O resultado da subtracao e: " << res;
}
else if (op == '/') {
res = n1 / n2;
cout << "O resultado da divisao e: " << res;
}
else if (op == '*') {
res = n1 * n2;
cout << "O resultado da multiplicacao e: " << res;
}
else
cout << "Operador invalido!";
cout << endl;
return 0;
} // fim main
Entrada de Dados
Soma
Subtração
Divisão
Multiplicação
Nenhuma das 4 operações
BAC004-Informática-Teórica-Fabiana C 
Guedes
25
Comandos de Seleção 
Aninhados - Exemplo
BAC004-Informática-Teórica-Fabiana C 
Guedes
26
Comandos de Seleção 
Aninhados - Exemplo
BAC004-Informática-Teórica-Fabiana C 
Guedes
27
Comandos de Seleção 
Múltipla - switch
• Embora construções if – else 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. 
BAC004-Informática-Teórica-Fabiana C 
Guedes
28
Comandos de Seleção 
Múltipla - switch
� Forma Geral
switch (expressão) {
case constante1 : seqüência de comandos1;
break;
case constante2 : seqüência de comandos2;
break;
...
case constanteN : seqüência de comandosN;
break;
default : seqüência de comandos;
}
BAC004-Informática-Teórica-Fabiana C 
Guedes
29
Comandos de Seleção 
Múltipla - switch
• O corpo de um switch deve estar entre chaves;
• Pode haver nenhuma, uma ou mais instruções seguindo cada 
caso. Geralmente, a última instrução de um caso é break, que 
causa a saída imediata de todo o corpo do switch. Na falta 
dele, todas as instruções após o caso escolhido serão 
executadas, mesmo as que pertencem aos casos seguintes;
• switch testa a variável que deve ser do tipo int ou char;
• Não se pode usar uma variável ou expressão lógica como 
rótulo de caso (que vem após o case);
• Cada um dos cases pode ser considerado um if;
• Um caso default é opcional. Pode ser encarado como o else
de todos os ifs. Ou seja, se nenhum caso for satisfeito e existir 
um caso default, a execução começará nele.
BAC004-Informática-Teórica-Fabiana C 
Guedes
30
Comandos de Seleção 
Múltipla - switch
// ProgC020.cpp - Programa que apresenta comando de selecao multipla
#include <iostream>
using namespace std;
int main ( ){
char Opcao;
cout << "\nDigite um numero: ";
cin >> Opcao;
switch (Opcao){
case '1' : cout << "um "; break;
case '2' : cout << "dois "; break;
case '3' : cout << "tres "; break;
}
return 0;
}
Comando de seleção switch. Testa o 
conteúdo da variável Opcao. Se valor for 1, 
escreverá um; se valor for 2, escreverá dois; 
se valor for 3, escreverá três.
BAC004-Informática-Teórica-Fabiana C 
Guedes
31
Comandos de Seleção -
switch
//ProgC021.cpp - Calculadora com Case
#include <iostream>
using namespace std;
int main(){
float n1, n2, res;
char op;
cout << "Digite NUMERO OPERADOR NUMERO: ";
cin >> n1 >> op >> n2;
switch (op) {
case '+':
res = n1 + n2;
cout << "O resultado da soma e: " << res;
break;
case '-':
res = n1 - n2;
cout << "O resultado da subtracao e: " << res;
break;
case '/':
res = n1 / n2;
cout << "O resultado da divisao e: " << res;
break;
case '*':
res = n1 * n2;
cout << "O resultado da multiplicacao e: " << res;
break;
default:
cout << "Operador invalido!";
} // fim switch
return 0;
} // fim main
switch case
Caso +
Caso -
Caso /
Caso *
BAC004-Informática-Teórica-Fabiana C 
Guedes
32
Exemplo de If com 
condicional string
//ProgC022 - Programa que faz teste com strings
#include <iostream>
#include <string.h>
using namespace std;
int main(){
char nome[30];
cout << "\nDigite o seu nome: ";
cin.getline(nome, 30, '\n');
if (strcmp(nome, "Fabiana") == 0)
cout << "\nO nome digitado foi: " << nome << "\n";
else
cout << "\nO nome digitado foi diferente de Fabiana";
return 0;
}
Biblioteca para manipulação de strings
Função que possibilita pegar 
nomes digitados com espaço
Função que compara se duas 
strings são iguais. Se retorna 
valor 0 elas são iguais, caso 
contrário são diferentes. Neste 
caso diferencia valores 
maiúsculos de minúsculos.
Permite ordenar de acordo com 
valores negativos e positivos.
BAC004-Informática-Teórica-Fabiana C 
Guedes
33
Exercícios
� Crie um programa para ler dois números e 
mostrar o maior 
� Faça um programa que receba a idade e peso de 
uma pessoa. De acordo com a tabela a seguir, 
verifique e mostre em qual grupo de risco essa 
pessoa se encaixa.
BAC004-Informática-Teórica-Fabiana C 
Guedes
34
Exercícios
� Faça um programa que:
� Mostre o menu de opções a seguir, 
receba a opção do usuário e os dados 
necessários para executar cada 
operação e mostre o resultado da 
operação.
� 1- Somar dois números
� 2- Raiz quadrada de um número
BAC004-Informática-Teórica-Fabiana C 
Guedes
35
Exercícios
� Faca um programa que receba os 
comprimentos dos três lados de um 
triângulo e imprima se eles podem ou não 
formar um triângulo (cada lado tem que ser 
menor que a soma dos outros dois). O 
programa deve imprimir também se o 
triângulo é:
� Equilátero: três lados de mesmo comprimento
� Isósceles: dois lados de mesmo comprimento
� Escaleno: três lados de comprimentos 
diferentes
BAC004-Informática-Teórica-Fabiana C 
Guedes
36
Tópicos para Discussão
� Estruturas Condicionais
� Simples
� Compostas
� switch
� Aninhadas

Outros materiais