Baixe o app para aproveitar ainda mais
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 ------------------------------------------------------- // ------------------------------------------------------------
Compartilhar