Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem de Programação 1 Aula 6 - Estruturas condicionais Prof. Flávio José Mendes Coelho flaviojmcoelho@gmail.com Universidade do Estado do Amazonas Escola Superior de Tecnologia - EST Núcleo de Computação Plano de aula 1. Estruturas condicionais 2. Comando if 3. Comando if-else 4. Comando elif 5. Exercícios Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 2 / 45 Estruturas condicionais Até aqui programamos utilizando um fluxo sequencial de comandos. Comando 1 Comando 2 ... Comando n Bloco de comandos Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 3 / 45 Estruturas condicionais Nem todos os problemas computacionais podem ser solucionados somente com estruturas sequenciais. Exemplos. Raízes de um equação de 2o. grau, paridade de um número, valor máximo dentre dois ou três numeros inteiros, etc. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 4 / 45 Estruturas condicionais Nem todos os problemas computacionais podem ser solucionados somente com estruturas sequenciais. Exemplos. Raízes de um equação de 2o. grau, paridade de um número, valor máximo dentre dois ou três numeros inteiros, etc. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 4 / 45 Estruturas condicionais Uma estrutura condicional permite que certas partes do programa sejam executadas ou não, dependendo da avaliação de uma condição (expressão lógica). Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 5 / 45 Estruturas condicionais Há três comandos para estruturas condicionais em Python: ◮ if (se) ◮ if-else (se-senão) ◮ elif (senão-se) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 6 / 45 Comando if O comando if permite que um bloco de comandos seja executado ou não, dependendo da avaliação de uma expressão lógica. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 7 / 45 Comando if if expressão-lógica : .....bloco de comandos Bloco de comandos expr-lógica Verdadeiro Falso Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 8 / 45 Comando if No comando if expressão-lógica : .....bloco de comandos ◮ ..... representa um espaçamento obrigatório para a direita, normalmente, de 4 espaços (indentação). ◮ Todo o bloco de comandos do if deverá permanecer indentado com o espaçamento ...... Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 9 / 45 Comando if No comando if expressão-lógica : .....bloco de comandos ◮ ..... representa um espaçamento obrigatório para a direita, normalmente, de 4 espaços (indentação). ◮ Todo o bloco de comandos do if deverá permanecer indentado com o espaçamento ...... Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 9 / 45 Comando if No comando if expressão-lógica : .....bloco de comandos ◮ ..... representa um espaçamento obrigatório para a direita, normalmente, de 4 espaços (indentação). ◮ Todo o bloco de comandos do if deverá permanecer indentado com o espaçamento ...... Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 9 / 45 Comando if Exemplo 1. Escreva um programa que leia as duas notas de um aluno e calcule a sua média. Ao final, mostre a média do aluno. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 10 / 45 Comando if # Exemplo1: Calcula a média de um aluno # e mostra a média. # Autor: Flávio José Mendes Coelho. nota1 = float(input("1a. nota:")) nota2 = float(input("2a. nota:")) media = (nota1 + nota2)/2.0 print("Sua média é: %5.2f" % media) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 11 / 45 Comando if Exemplo 2. Escreva um programa que leia as duas notas de um aluno e calcule a sua média. Considerando que a média para a aprovação deve ser igual ou superior a 6.0, mostre na tela uma mensagem de parabéns ao aluno que for aprovado. Ao final, mostre a média do aluno. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 12 / 45 Comando if # Exemplo2: Calcula a média de um aluno # e mostra a média. Parabeniza # o aluno se for ele for aprovado. # Autor: Flávio José Mendes Coelho. nota1 = float(input("1a. nota:")) nota2 = float(input("2a. nota:")) media = (nota1 + nota2)/2.0 if (media >= 6.0): print("Parabéns!") print("Sua média é: %5.2f" % media) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 13 / 45 Comando if # Exemplo2: Calcula a média de um aluno # e mostra a média. Parabeniza # o aluno se for ele for aprovado. # Autor: Flávio José Mendes Coelho. nota1 = float(input("1a. nota:")) nota2 = float(input("2a. nota:")) media = (nota1 + nota2)/2.0 if (media >= 6.0): print("Parabéns!") print("Sua média é: %5.2f" % media) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 13 / 45 Comando if # Exemplo2: Calcula a média de um aluno # e mostra a média. Parabeniza # o aluno se for ele for aprovado. # Autor: Flávio José Mendes Coelho. nota1 = float(input("1a. nota:")) nota2 = float(input("2a. nota:")) media = (nota1 + nota2)/2.0 if (media >= 6.0): print("Parabéns!") print("Sua média é: %5.2f" % media) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 13 / 45 Comando if # Exemplo2: Calcula a média de um aluno # e mostra a média. Parabeniza # o aluno se for ele for aprovado. # Autor: Flávio José Mendes Coelho. nota1 = float(input("1a. nota:")) nota2 = float(input("2a. nota:")) media = (nota1 + nota2)/2.0 if (media >= 6.0): print("Parabéns!") print("Sua média é: %5.2f" % media) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 13 / 45 Comando if Exemplo 3. Escreva um programa que leia dois números inteiros distintos e imprima na tela o maior deles. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 14 / 45 Comando if # Exemplo3: Maior de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("%d é o maior número" % a) if a < b: print("%d é o maior número" % b) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 15 / 45 Comando if # Exemplo3: Maior de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("%d é o maior número" % a) if a < b: print("%d é o maior número" % b) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 15 / 45 Comando if # Exemplo3: Maior de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("%d é o maior número" % a) if a < b: print("%d é o maior número" % b) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 15 / 45 Comando if # Exemplo3: Maior de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("%d é o maior número" % a) if a < b: print("%d é o maior número" % b) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 15 / 45 Comando if # Exemplo3: Maior de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("%d é o maior número" % a) if a < b: print("%d é o maior número" % b) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 15 / 45 Comando if Exemplo 4. Escreva um programa que leia dois númerosinteiros distintos e imprima qual é o maior e qual é o menor deles. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 16 / 45 Comando if # Exemplo4a: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("maior: %d menor: %d" % (a, b)) if a < b: print("maior: %d menor: %d" % (b, a)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 17 / 45 Comando if # Exemplo4a: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("maior: %d menor: %d" % (a, b)) if a < b: print("maior: %d menor: %d" % (b, a)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 17 / 45 Comando if # Exemplo4a: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("maior: %d menor: %d" % (a, b)) if a < b: print("maior: %d menor: %d" % (b, a)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 17 / 45 Comando if # Exemplo4a: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("maior: %d menor: %d" % (a, b)) if a < b: print("maior: %d menor: %d" % (b, a)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 17 / 45 Comando if # Exemplo4a: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("maior: %d menor: %d" % (a, b)) if a < b: print("maior: %d menor: %d" % (b, a)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 17 / 45 Comando if # Exemplo4b: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) maior, menor = a, b # Supondo que a > b. if a < b: # Testa a outra possibilidade maior, menor = b, a print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 18 / 45 Comando if # Exemplo4b: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) maior, menor = a, b # Supondo que a > b. if a < b: # Testa a outra possibilidade maior, menor = b, a print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 18 / 45 Comando if # Exemplo4b: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) maior, menor = a, b # Supondo que a > b. if a < b: # Testa a outra possibilidade maior, menor = b, a print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 18 / 45 Comando if # Exemplo4b: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) maior, menor = a, b # Supondo que a > b. if a < b: # Testa a outra possibilidade maior, menor = b, a print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 18 / 45 Comando if # Exemplo4b: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) maior, menor = a, b # Supondo que a > b. if a < b: # Testa a outra possibilidade maior, menor = b, a print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 18 / 45 Exercícios sobre if 1) Escreva um programa que pergunte a velocidade do carro de um usuário. Caso ultrapasse 80 km/h, exiba uma mensagem dizendo que o usuário foi multado. Nesse caso, exiba o valor da multa, cobrando R$5,00 por km acima de 80 km/h. (Ex-4.2). 2) Escreva um programa que leia três números inteiros e que imprima o maior e o menor (Ex-4.3). Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 19 / 45 Exercícios sobre if 1) Escreva um programa que pergunte a velocidade do carro de um usuário. Caso ultrapasse 80 km/h, exiba uma mensagem dizendo que o usuário foi multado. Nesse caso, exiba o valor da multa, cobrando R$5,00 por km acima de 80 km/h. (Ex-4.2). 2) Escreva um programa que leia três números inteiros e que imprima o maior e o menor (Ex-4.3). Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 19 / 45 Exercícios sobre if 3) Escreva um programa que pergunte o salário de um funcionário e calcule o valor do seu aumento salarial. Para salários superiores a R$1.250,00, calcule um aumento de 10%. Para os valores inferiores ou iguais, o aumento será de 15%. (Ex-4.4). Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 20 / 45 Comando if-else No exercício 2 (Ex-4.3), tivemos que usar dois ifs para expressar as duas possibilidades: ◮ se x é maior que y, mostre x. ◮ se x é menor que y, mostre y. A primeira possibilidade exclui a segunda e vice-versa (são multuamente exclusivas). Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 21 / 45 Comando if-else No exercício 2 (Ex-4.3), tivemos que usar dois ifs para expressar as duas possibilidades: ◮ se x é maior que y, mostre x. ◮ se x é menor que y, mostre y. A primeira possibilidade exclui a segunda e vice-versa (são multuamente exclusivas). Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 21 / 45 Comando if-else Nestes casos, basta avaliar a primeira possibilidade e considerar a segunda por exclusão: ◮ se x é maior que y, mostre x. ◮ senão, mostre y. Na possibilidade “senão” está ímplicito que x é menor que y. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 22 / 45 Comando if-else Nestes casos, basta avaliar a primeira possibilidade e considerar a segunda por exclusão: ◮ se x é maior que y, mostre x. ◮ senão, mostre y. Na possibilidade “senão” está ímplicito que x é menor que y. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 22 / 45 Comando if-else O comando if-else permite que um bloco de comandos 1 seja executado se a avaliação da expressão lógica for True; se a avaliação resultar em False, outro bloco de comandos 2 é executado. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 23 / 45 Comando if-else if expressão-lógica : .....bloco de comandos 1 else: .....bloco de comandos 2 Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 24 / 45 Comando if-else Bloco de comandos 1 expr-lógica Verdadeiro Falso Bloco de comandos 2 Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 25 / 45 Comando if-else A indentação ..... do bloco de comandos 1 deve ser a mesma do bloco de comandos 2. Um comando else deve corresponder a um comando if. Quando apropriado (opções mutamente exclusivas), prefira if-else a uma sequência de ifs. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 26 / 45 Comando if-else A indentação ..... do bloco de comandos 1 deve ser a mesma do bloco de comandos 2. Um comando else deve corresponder a um comando if. Quando apropriado (opções mutamente exclusivas), prefira if-else a uma sequência de ifs. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 26 / 45 Comando if-else Exemplo 5. Escreva um programa que leia dois números inteiros distintos e imprima qual é o maior e qual é o menor deles. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleode Computação 27 / 45 Comando if-else # Exemplo5a: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("maior: %d menor: %d" % (a, b)) else: print("maior: %d menor: %d" % (b, a)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 28 / 45 Comando if-else # Exemplo5a: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("maior: %d menor: %d" % (a, b)) else: print("maior: %d menor: %d" % (b, a)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 28 / 45 Comando if-else # Exemplo5a: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("maior: %d menor: %d" % (a, b)) else: print("maior: %d menor: %d" % (b, a)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 28 / 45 Comando if-else # Exemplo5a: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("maior: %d menor: %d" % (a, b)) else: print("maior: %d menor: %d" % (b, a)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 28 / 45 Comando if-else # Exemplo5a: Maior e menor de dois. a = int(input("Digite o 1o. número:")) b = int(input("Digite o 2o. número:")) if a > b: print("maior: %d menor: %d" % (a, b)) else: print("maior: %d menor: %d" % (b, a)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 28 / 45 Comando if-else Exemplo 6. Escreva um programa que leia os coeficientes reais a, b e c de uma equação do 2a. grau ax2+ bx+ c = 0, e calcule suas raízes reais. Caso não existam, emita uma mensagem aproriada. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 29 / 45 Comando if-else # Exemplo6a: Raízes reais de uma eq. 2a. grau. a = float(input("a: :")) b = float(input("b: :")) c = float(input("c: :")) delta = b**2 - 4*a*c if delta >= 0: x1 = (-b + sqrt(delta))/2*a x2 = (-b - sqrt(delta))/2*a print("x1 = %10.3f, x2 = %10.3f" % x1, x2) else: print("Não existem raízes reais.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 30 / 45 Comando if-else # Exemplo6a: Raízes reais de uma eq. 2a. grau. a = float(input("a: :")) b = float(input("b: :")) c = float(input("c: :")) delta = b**2 - 4*a*c if delta >= 0: x1 = (-b + sqrt(delta))/2*a x2 = (-b - sqrt(delta))/2*a print("x1 = %10.3f, x2 = %10.3f" % x1, x2) else: print("Não existem raízes reais.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 30 / 45 Comando if-else # Exemplo6a: Raízes reais de uma eq. 2a. grau. a = float(input("a: :")) b = float(input("b: :")) c = float(input("c: :")) delta = b**2 - 4*a*c if delta >= 0: x1 = (-b + sqrt(delta))/2*a x2 = (-b - sqrt(delta))/2*a print("x1 = %10.3f, x2 = %10.3f" % x1, x2) else: print("Não existem raízes reais.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 30 / 45 Comando if-else # Exemplo6a: Raízes reais de uma eq. 2a. grau. a = float(input("a: :")) b = float(input("b: :")) c = float(input("c: :")) delta = b**2 - 4*a*c if delta >= 0: x1 = (-b + sqrt(delta))/2*a x2 = (-b - sqrt(delta))/2*a print("x1 = %10.3f, x2 = %10.3f" % x1, x2) else: print("Não existem raízes reais.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 30 / 45 Comando if-else # Exemplo6a: Raízes reais de uma eq. 2a. grau. a = float(input("a: :")) b = float(input("b: :")) c = float(input("c: :")) delta = b**2 - 4*a*c if delta >= 0: x1 = (-b + sqrt(delta))/2*a x2 = (-b - sqrt(delta))/2*a print("x1 = %10.3f, x2 = %10.3f" % x1, x2) else: print("Não existem raízes reais.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 30 / 45 Comando if-else # Exemplo6a: Raízes reais de uma eq. 2a. grau. a = float(input("a: :")) b = float(input("b: :")) c = float(input("c: :")) delta = b**2 - 4*a*c if delta >= 0: x1 = (-b + sqrt(delta))/2*a x2 = (-b - sqrt(delta))/2*a print("x1 = %10.3f, x2 = %10.3f" % x1, x2) else: print("Não existem raízes reais.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 30 / 45 Comando if-else # Exemplo6a: Raízes reais de uma eq. 2a. grau. a = float(input("a: :")) b = float(input("b: :")) c = float(input("c: :")) delta = b**2 - 4*a*c if delta >= 0: x1 = (-b + sqrt(delta))/2*a x2 = (-b - sqrt(delta))/2*a print("x1 = %10.3f, x2 = %10.3f" % x1, x2) else: print("Não existem raízes reais.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 30 / 45 Comando if-else # Exemplo6a: Raízes reais de uma eq. 2a. grau. a = float(input("a: :")) b = float(input("b: :")) c = float(input("c: :")) delta = b**2 - 4*a*c if delta >= 0: x1 = (-b + sqrt(delta))/2*a x2 = (-b - sqrt(delta))/2*a print("x1 = %10.3f, x2 = %10.3f" % x1, x2) else: print("Não existem raízes reais.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 30 / 45 Comando if-else # Exemplo6b: Raízes reais de uma eq. 2a. grau. a = float(input("a:")) b = float(input("b:")) c = float(input("c:")) delta = b**2 - 4*a*c if delta < 0: print("Não existem raízes reais.") else: x1 = (-b + sqrt(delta))/2*a x2 = (-b - sqrt(delta))/2*a print("x1 = %10.3f, x2 = %10.3f" % x1, x2) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 31 / 45 Comando if-else Exemplo 7. Escreva um programa que leia um número e determine se ele é par ou ímpar. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 32 / 45 Comando if-else # Exemplo7: É par ou ímpar? a = int(input("a:")) if a % 2 == 0: print("O número é par.") else: print("O número é ímpar.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 33 / 45 Comando if-else # Exemplo7: É par ou ímpar? a = int(input("a:")) if a % 2 == 0: print("O número é par.") else: print("O número é ímpar.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 33 / 45 Comando if-else # Exemplo7: É par ou ímpar? a = int(input("a:")) if a % 2 == 0: print("O número é par.") else: print("O número é ímpar.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 33 / 45 Comando if-else # Exemplo7: É par ou ímpar? a = int(input("a:")) if a % 2 == 0: print("O número é par.") else: print("O número é ímpar.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 33 / 45 Comando if-else # Exemplo7: É par ou ímpar? a = int(input("a:")) if a % 2 == 0: print("O número é par.") else: print("O número é ímpar.") Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 33 / 45 Comando if-else Às vezes, uma solução pede a inclusão de um ou mais ifs dentro de outro if ou if-else. A isto, chama-se, ifs aninhados. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 34 / 45 Comando if-else Exemplo 8. Escreva um programa que leia três números inteiros e que imprima o maior e o menor (Ex-4.3). Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 35 / 45 Comando if-else # Exemplo8: maior e menor de três inteiros. # lê a, b, c (input, etc.) if a > b and a > c: maior = a else: if b > a and b > c: maior = b else: maior = c # Exemplo 8: Continua no próximo slide. Flávio José M. Coelho (UEA/EST) Linguagem deProgramação 1 Núcleo de Computação 36 / 45 Comando if-else # Exemplo8: maior e menor de três inteiros. # lê a, b, c (input, etc.) if a > b and a > c: maior = a else: if b > a and b > c: maior = b else: maior = c # Exemplo 8: Continua no próximo slide. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 36 / 45 Comando if-else # Exemplo8: maior e menor de três inteiros. # lê a, b, c (input, etc.) if a > b and a > c: maior = a else: if b > a and b > c: maior = b else: maior = c # Exemplo 8: Continua no próximo slide. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 36 / 45 Comando if-else # Exemplo8: maior e menor de três inteiros. # lê a, b, c (input, etc.) if a > b and a > c: maior = a else: if b > a and b > c: maior = b else: maior = c # Exemplo 8: Continua no próximo slide. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 36 / 45 Comando if-else # Exemplo8: maior e menor de três inteiros. # lê a, b, c (input, etc.) if a > b and a > c: maior = a else: if b > a and b > c: maior = b else: maior = c # Exemplo 8: Continua no próximo slide. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 36 / 45 Comando if-else # Exemplo8: maior e menor de três inteiros. # lê a, b, c (input, etc.) if a > b and a > c: maior = a else: if b > a and b > c: maior = b else: maior = c # Exemplo 8: Continua no próximo slide. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 36 / 45 Comando if-else # Exemplo 8: continuação. if a < b and a < c: menor = a else: if b < a and b < c: menor = b else: menor = c print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 37 / 45 Comando if-else # Exemplo 8: continuação. if a < b and a < c: menor = a else: if b < a and b < c: menor = b else: menor = c print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 37 / 45 Comando if-else # Exemplo 8: continuação. if a < b and a < c: menor = a else: if b < a and b < c: menor = b else: menor = c print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 37 / 45 Comando if-else # Exemplo 8: continuação. if a < b and a < c: menor = a else: if b < a and b < c: menor = b else: menor = c print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 37 / 45 Comando if-else # Exemplo 8: continuação. if a < b and a < c: menor = a else: if b < a and b < c: menor = b else: menor = c print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 37 / 45 Comando if-else # Exemplo 8: continuação. if a < b and a < c: menor = a else: if b < a and b < c: menor = b else: menor = c print("maior: %d menor: %d" % (maior, menor)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 37 / 45 Comando if-else Exemplo 9. Escreva um programa que leia um pedido de um cliente por uma tipo de pizza e sua quantidade, e que imprima o valor total a pagar. Há 4 tipos de pizza: ◮ Muçarela, R$20,00; ◮ Marguerita, R$25,50; ◮ Calabresa, R$27,50; ◮ Portuguesa, R$29,70. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 38 / 45 Comando if-else # Exemplo 9: Pizzas. qtd = int(input("Quantidade:")) tipoPizza = input("Tipo de pizza:") if tipoPizza == "muçarela": preco = 20.0 else: if tipoPizza == "marguerita": preco = 25.5 else: if tipoPizza == "calabresa": preco = 27.5 # Exemplo 9: Continua no próximo slide. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 39 / 45 Comando if-else # Exemplo 9: Pizzas. qtd = int(input("Quantidade:")) tipoPizza = input("Tipo de pizza:") if tipoPizza == "muçarela": preco = 20.0 else: if tipoPizza == "marguerita": preco = 25.5 else: if tipoPizza == "calabresa": preco = 27.5 # Exemplo 9: Continua no próximo slide. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 39 / 45 Comando if-else # Exemplo 9: Pizzas (continuação). else: if tipoPizza == "portuguesa": preco = 29.7 else: print("Tipo inválido!") preco = 0.0 print("Valor: R$%5.2f" % (preco*qtd)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 40 / 45 Comando if-else # Exemplo 9: Pizzas (continuação). else: if tipoPizza == "portuguesa": preco = 29.7 else: print("Tipo inválido!") preco = 0.0 print("Valor: R$%5.2f" % (preco*qtd)) Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 40 / 45 Comando elif Às vezes, as condições em ifs aninhados são multuamente exclusivas (apenas uma única dentre as várias condições será verdadeira). Um grande encadeamento (aninhamento) de ifs pode reduzir a legibilidade do código. Neste caso, podemos utilizar o comando elif, que corresponde a “else if” (senão se...). Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 41 / 45 Comando elif Às vezes, as condições em ifs aninhados são multuamente exclusivas (apenas uma única dentre as várias condições será verdadeira). Um grande encadeamento (aninhamento) de ifs pode reduzir a legibilidade do código. Neste caso, podemos utilizar o comando elif, que corresponde a “else if” (senão se...). Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 41 / 45 Comando elif Às vezes, as condições em ifs aninhados são multuamente exclusivas (apenas uma única dentre as várias condições será verdadeira). Um grande encadeamento (aninhamento) de ifs pode reduzir a legibilidade do código. Neste caso, podemos utilizar o comando elif, que corresponde a “else if” (senão se...). Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 41 / 45 Comando elif if expressão-lógica : .....bloco de comandos 1 elif expressão-lógica : .....bloco de comandos 2 elif expressão-lógica : .....bloco de comandos 3 ... else: # Opcional .....bloco de comandos n Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 42 / 45 Comando elif Bloco de comandos 1 expr-lógica Verdadeiro Falso Bloco de comandos 2 expr-lógica Verdadeiro Falso ... Bloco de comandos n expr-lógica Verdadeiro Falso if elif else opcional Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 43 / 45 Bibliografia Nilo Ney Coutinho Menezes. Introdução à Programação com Python - Algoritmos e lógica de programação para iniciantes. Novatec, 2014. Allen B. Downey. Think Python - How to Think Like a Computer Scientist. O’Reilly, 2015. Flávio José M. Coelho (UEA/EST) Linguagem de Programação 1 Núcleo de Computação 44 / 45
Compartilhar