Buscar

[INF1025] Resumo Condição

Prévia do material em texto

INF1025: Introdução à Programação 
Monitor: André Vicente Pessanha 
Resumo Condição: 
 
*************************************************************************************************** 
 
OBS:​ Essa matéria cai "" somente "" na P1, P2 e P3! :D 
 
*************************************************************************************************** 
 
 
- ​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 que para ser aprovado o aluno deve ter nota maior que 5. 
 
nota = float(input("Digite a nota:\n")) 
 
if(nota > 5): 
 print("Aprovado!\n") 
else: 
 print("Reprovado!\n") 
 
OBS:​ Em Python é opcional colocar parênteses nas condições, mas eu sempre recomendo 
que coloque, pois em C (Prog 2) será obrigatório os parênteses! :( 
 
 
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 
 
OBS:​ Assim como em repetições e funções, precisamos colocar os dois pontos >> : << 
após os parênteses da condição! 
 
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 << sequência de condições, independente da quantidade 
de casos, começa sempre com >>​ if​ <<! 
 
if(nota > 5): 
 print("Aprovado!\n") 
else: 
 print("Reprovado!\n") 
 
 
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. 
 
nota = float(input("Digite a nota:\n")) 
mat = input("Digite a matrícula:\n") 
 
if(nota > 7): 
 print("Matricula: " + mat + " - Parabéns!\n") 
 
 
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 neste 
caso! 
 
 
------------------------------------------------------- // ------------------------------------------------------------ 
 
 
 
 
- Combinação de condições: (Conectores Lógicos) 
 
 
Existe uma forma de juntar duas ou mais condições no mesmo if ou elif. 
 
 
- 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 
"Parabéns": 
 
if(nota > 8 and media > 5): 
 print("Parabéns!\n") 
 
 
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 
"Parabéns": 
 
if(nota > 8 or media > 5): 
 print("Parabéns!\n") 
 
 
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 para ser aprovado o aluno deve ter nota maior ou igual 
a 5 e se caso sua nota for menor que 3 está reprovado. 
 
 
nota = float(input("Digite a nota:\n")) 
 
if​(nota >= 5): 
 print("Aprovado!\n") 
elif​(nota >= 3): 
 print("Em PF\n") 
else: 
 print("Reprovado!\n") 
 
 
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 >> ​elif​ <<! 
 
OBS:​ Escrever elif(nota >= 3 and nota < 5): é um ​erro comum​! 
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​ elif 
 
- Se o último caso não depender de nenhuma condição: Use ​else 
 
OBS​: Lembrando que o else é opcional! E se o último caso também precisar de uma 
condição também será um elif! 
 
 
*************************************************************************************************** 
 
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 ignorar essas regras e usar vários "if" em 
todos os casos. Lembrando que isso é questão certa na P1! :( 
 
 
------------------------------------------------------- // ------------------------------------------------------------ 
 
 
- Condições com intervalos: 
 
 
EX:​ Faça um programa que leia um número e verifique se o número pertence ao intervalo 
de 10 até 20 (Inclusive) ​e​ é diferente de 15 ​ou​ o número é maior que 25. 
 
 
num = int(input("Digite um valor:")) 
if((10 <= num <= 20 and num != 15) or num > 25): 
 print("Pertence ao intervalo!") 
else: 
 print("Não pertence ao intervalo!") 
 
OBS​: Notou que coloquei em negrito aquele >>​ e​ << e o >> ​ou ​<< ?​ :) 
É muito importante capturar do enunciado as palavras chaves e traduzir o que foi pedido pra 
código. Lembrando que esses detalhes nunca estarão em ​negrito​ na prova! (Somente 
exemplos, dicas e observações) 
 
OBS: ​Verificações desse tipo: >> ​if( 10 <= num <= 20):​ << só podem ser usadas em 
Python! A vantagem de escrever dessa forma é que é algo muito semelhante a notação 
matemática que já conhecemos, então facilita bastante lembrar. Mas em C e na maioria das 
linguagens isso é considerado um erro extra fatal, então muito cuidado com esse detalhe 
em Prog 2! :x 
 
------------------------------------------------------- // ------------------------------------------------------------

Continue navegando