Buscar

[NEW] Resumo_Condição

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Resumo Condição:
*********************************************************************************
OBS: Essa matéria cai >> somente << na P1, P2 e P3! :D
*********************************************************************************
Descrição:
São comandos que permitem criar condições pra tratar um ou vários casos em sequência. 
São 3 tipos de comando: if, else if, else.
if e else if estão sempre acompanhados de uma condição entre parênteses. Enquanto o else é opcional e >>NUNCA<< possui condição!
------------------------------------//-----------------------------------------
- Como criar uma condição?
Primeiro passo é analisar no enunciado qual seria a condição e em quantos casos vamos precisar dividir.
- Condição com 2 casos:
Ex: Faça um programa que lê a nota de um aluno e exibe na tela se foi aprovado ou reprovado. Considere a nota como um número inteiro e pra ser aprovado o aluno deve ter nota maior que 5.
int main (void){ 
 int nota;
 
 printf("Digite a nota: \n");
 scanf("%d",&nota);
 if(nota > 5){
 puts("Aprovado!");
 }
 else{
 puts("Reprovado!");
 }
 return 0;
}
OBS: A função puts exibe mensagens na tela assim como a printf, mas com a vantagem de ter o >> \n << embutido. (Sempre pula uma linha automaticamente!)
Existem duas possibilidades: Aluno é aprovado ou reprovado e o que vai determinar isso é se a sua nota é maior que 5 ou não. Então é exatamente essa a nossa condição! Super simples identificar a condição né? :D
Analisando condições:
>>Se<< a nota for maior que 5: Imprime a mensagem "Aprovado!" (1º caso)
>>Senão<< Imprime a mensagem "Reprovado!" (2º caso)
Essa é uma condição que possui 2 casos!
OBS: Lembrando que >>TODA<< condição, independente da quantidade de casos, começa sempre com >> if <<!
if(nota > 5){
 puts("Aprovado!");
}
else{
 puts("Reprovado!");
}
Percebe que se a condição do primeiro caso for falsa, ou seja, a nota do aluno for menor ou igual a 5, vai cair >>Obrigatoriamente<< no segundo caso?
Então não precisamos criar uma condição pro segundo caso! Quando isso acontece, usamos >> else <<!
------------------------------------//----------------------------------------
- Condição com 1 caso:
EX: Faça um programa que leia a matrícula e a nota de um aluno e exiba uma mensagem parabenizando se tirou nota maior que 7. A mensagem deve conter a matrícula do aluno.
int main (void){ 
 int nota, mat;
 printf("Digite matricula e nota: \n");
 scanf("%d%d",&mat, &nota);
 if(nota > 7){
 printf("Matricula: %d - Parabens!\n",mat);
 }
 return 0;
}
Analisando a condição:
>>Se<< a nota for maior que 7: Imprime a mensagem de parabéns. (1º caso)
Percebe que dessa vez não temos mais nenhum outro caso pra tratar? O enunciado só pediu pra tratar nota maior que 7, uma única condição, então se a nota for menor ou igual a 7, vamos simplesmente ignorar e encerrar o programa! :)
OBS: Lembrando que o else é opcional! Por isso não tem necessidade de usar else nesse caso! 
-------------------------------------//--------------------------------------
- Combinação de condições: (Conectores Lógicos)
Existe uma forma de juntar duas ou mais condições no mesmo if ou else if.
- Conector && (AND):
A condição só será verdadeira se >> AMBOS << são verdadeiros!
EX: Se a nota é maior que 8 >> E << a média é maior que 5, imprime a mensagem "Parabens":
if(nota > 8 && media > 5){
 puts("Parabens!");
}
OBS: A condição do if só será verdadeira se a nota do aluno for maior que 8 >> E << a média for maior que 5! Ou seja, se uma dessas condições for Falsa o bloco do if >> NÃO << será executado!
- Conector || (OR):
EX: Se a nota é maior que 8 >> OU << a média é maior que 5, imprime a mensagem "Parabens":
if(nota > 8 || media > 5){
 puts("Parabens!");
}
OBS: A condição do if será verdadeira se >> PELO MENOS << uma das condições for verdadeira! Nota maior que 8 >> OU << média maior que 5!
------------------------------------//---------------------------------------
- Condição com 3 casos:
EX: Faça um programa que lê a nota de um aluno e exibe na tela se foi aprovado, se está em PF ou reprovado. Considere que pra ser aprovado o aluno deve ter nota maior ou igual a 5 e se caso sua nota for menor que 3 está reprovado.
int main (void){ 
 int nota;
 printf("Digite a nota: \n");
 scanf("%d",&nota);
 if(nota >= 5){
 puts("Aprovado!");
 }
 else if(nota >= 3){
 puts("Em PF");
 }
 else{
 puts("Reprovado!");
 }
 
 return 0;
}
 
Analisando condições:
>>Se<< a nota for maior ou igual a 5: Imprime a mensagem "Aprovado!" (1º caso)
>>Se<< a nota foi maior ou igual a 3: Imprime a mensagem "Em PF" (2º caso)
>>Senão<<: Imprime a mensagem "Reprovado!". (3º caso)
Percebe que com exceção da primeira condição, as outras dependem do resultado da anterior? Como se fosse uma sequência de condições? :)
Como já sabemos, o primeiro caso é sempre um >>if<<, daí em diante precisamos analisar! Se a primeira condição for falsa, quer dizer que a nota do aluno é menor que 5 né? 
Então seguindo a >> Sequência << a próxima condição é se a nota for maior ou igual a 3, ou seja, o 2º caso também depende de uma condição! Por isso usamos >>else if<<!
OBS: Escrever else if(nota >= 3 && nota < 5) é um erro comum em toda P1!
Sempre leve em consideração o resultado da condição anterior!
Pois se a primeira condição é falsa, já quer dizer que a nota do aluno é menor que 5!
*******************************************************************************
Regra Importante:
- A condição do primeiro caso é >>SEMPRE<< um if!
- Quando o segundo caso em diante precisar de uma condição e for >>Continuação/Sequência<< do caso anterior: Use else if
- Se o último caso não depender de nenhuma condição e for >>Continuação/Sequência<< do caso anterior: Use else
OBS: Lembrando que o else é opcional! E se o último caso também precisar de uma condição também será um else if!
******************************************************************************* 
E pra fechar, se o 1º e 2º casos são falsos, quer dizer que a nota é menor que 3 e se esse for o caso, não precisamos tratar mais nenhuma condição, então é só usar um else no último caso! 
OBS: Um erro comum e fatal é simplesmente esquecer dessas regras e usar vários "if" em todos os casos. Lembrando que isso é questão certa em toda P1!
------------------------------------//-----------------------------------------
- Atalho nas condições: 
Quando a condição só possui uma >> única << linha de código dentro do seu bloco. Podemos >> Omitir << as chaves da condição!
EX:
Ao invés de escrever: 
if(nota >= 5){
 puts("Aprovado!");
}
Usando o atalho:
if(nota >= 5)
 puts("Aprovado!");
Melhorou um pouco, mas podemos melhorar esse atalho ainda mais!
Não seria mil vezes melhor se pudesse escrever o código tudo na mesma linha que nem uma frase em português? :D 
EX:
>>Se<< a nota é maior ou igual a 5. >>Então<< imprime a mensagem "Aprovado!"
if(nota >= 5) puts("Aprovado!");
Isso funciona porque o compilador ignora espaços ou linhas em branco! Então pra simplificar, podemos colocar o que será executado ao lado da condição!
Então como seria o exemplo da condição com 3 casos usando esse atalho?
int main (void){ 
 int nota;
 printf("Digite a nota: \n");
 scanf("%d",&nota);
 if(nota >= 5) puts("Aprovado!");
 else if(nota >= 3) puts("Em PF");
 else puts("Reprovado!"); 
 
 return 0;
} 
OBS: Esse atalho só funciona em condições com uma >> Única << linha! Não esqueça que se a condição tiver mais de uma linha, temos que colocar as chaves obrigatoriamente! 
E só recomendo usar esse atalho se você achar essa forma de
escrever mais tranquila! :)
------------------------------------//-----------------------------------------

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes