Baixe o app para aproveitar ainda mais
Prévia do material em texto
06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A36… 1/16 Programação RAD Aula 3: Estruturas de decisão e repetição INTRODUÇÃO Até o momento, já aprendemos a criar pequenos scripts em Python. Como ainda estamos no começo de nosso estudo, trata-se apenas de estruturas sequenciais, e não de programas consistentes. A partir de agora, vamos inserir as estruturas de decisão e repetição nos códigos, as quais são bem semelhantes àquelas encontradas nas linguagens de programação que você já conhece. Mas, em Python, há alguns aspectos que, certamente, contribuem para sua popularidade e facilidade de aprendizado. A forma de criar as estruturas será um pouco diferente. Por isso, a prática é muito importante. Não deixe de exercitar os exemplos que desenvolveremos aqui. Boa aula! 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A36… 2/16 OBJETIVOS Desenvolver programas com estruturas de decisão e repetição. Reunir as estruturas aprendidas até agora. 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A36… 3/16 Usando o Sublime Text Antes de começarmos, é hora de usarmos o Sublime Text em nosso favor. Até agora, executamos os comandos diretamente no IDLE. A partir desta aula, com o pequeno aumento da complexidade dos programas, vamos começar a usar a IDE Sublime Text e o prompt de comandos do Windows. Fonte: Wikipedia. Na aula 1, instalamos a Python e o Sublime Text. Aqui, terminaremos de con�gurar nosso ambiente. Para isso, siga estes procedimentos: Passo 1 Crie um diretório em seu computador, no qual armazenará os programas. Exemplo: C:\PROGRAMACAOIII Passo 2 Abra o Sublime Text e crie um novo arquivo. Salve-o como aula3_1.py no diretório que você criou para guardar seus programas. Todos os programas Python possuem a extensão .py. O programa tem a seguinte listagem: 1 i = 0 2 while (i < 9): 3 print ('Contagem:', i) 4 i = i + 1 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A36… 4/16 5 print ("Acabou!") Você percebeu que, diferente dos programas em outras linguagens, neste, não há os caracteres “{“ e “}”? A linguagem Python não os usa. Mas como os blocos de comandos são criados? Resposta Correta Vamos tratar disso daqui a pouco. Por enquanto, nosso objetivo é executar o programa. Passo 3 Abra o prompt de comandos do Windows e entre no mesmo diretório em que está seu programa .py. Como já con�guramos a Python na aula 1 para rodar em qualquer diretório do computador, será possível executar o programa desta forma: Como podemos observar, o comando para executar o programa é python (nome_do_programa.py). Vamos usá-lo daqui em diante. ESTRUTURAS DE REPETIÇÃO Em Python, as estruturas de repetição são, basicamente, as seguintes: Tipo Descrição 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A36… 5/16 while Repete uma instrução ou grupo de instruções enquanto determinada condição é verdadeira, e testa a condição antes de executar o corpo do looping/loop (repetição de um bloco de comandos). for Executa uma sequência de instruções várias vezes, de acordo com uma condição normalmente conhecida. Comando while No exemplo anterior, vimos um programa pequeno para fazer uma contagem. Vamos usá-lo novamente: 1 i = 0 2 while (i < 9): 3 ➜ print ('Contagem:', i) 4 ➜ i = i + 1 5 print ("Acabou!") As linhas 1, 3, 4 e 5 são familiares para nós, certo? Trata-se de comandos que estudamos nas aulas passadas. A novidade aparece a partir da linha 2: o comando while, que é bem parecido com as linguagens já conhecidas, inclusive com a condição entre parênteses, como ocorre naquelas tradicionais. Os detalhes desse comando são os dois pontos (“:”), os quais iniciam a sequência de comandos que serão repetidos. Dica , Se você con�gurou o plugin Anaconda no Sublime Text ou se está usando o IDLE, ao apertar Enter após os “:”, o prompt da Python deslocará a linha seguinte para a direita, como mostra a linha 3. Caso isso não ocorra, aperte a tecla TAB para identar o código e criar o bloco. Enquanto o código estiver identado ou deslocado para a direita, estaremos dentro do bloco de comandos que serão repetidos. Isso ocorre na linha 4. Logo, o bloco de repetição estará nas linhas 3 e 4. Na linha 5, a identação é removida, e o programa se �naliza. Analise o próximo exemplo: 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A36… 6/16 1 var = 1 2 while (var == 9): 3 num = int (input("Digite um número:")) 4 print ("Você digitou: ", num) 5 print ("Acabou!") O que o programa faz? Você deve ter percebido que se trata de um looping in�nito. Note a condição do while na linha 2 e o bloco de comandos: não há alteração da variável var. Portanto, a condição nunca será falsa, e o looping nunca terminará. Para interromper a execução, aperte as teclas Control + C. Agora, observe com atenção o exemplo a seguir: 1 i = 0 2 while (i < 5): 3 print (i, “ é menor do que 5") 4 i = i + 1 5 else: 6 print (i, “ é menor do que 5") Aqui, descobrimos algo novo: else no comando while. Isso ocorre porque a Python tem algumas diferenças com relação às demais linguagens. O else pode ser usado com while quando queremos que uma instrução ou um bloco de comandos seja executado em condição falsa. Veja a saída do programa: 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A36… 7/16 Comando for Normalmente, o comando for tem como sintaxe a criação de uma variável de controle do loop, uma condição de parada e o incremento. Há essa estrutura nas linguagens Java, Javascript, C, C++, PHP etc. Em Python, é um pouco diferente: usamos esse comando para percorrer uma sequência de caracteres ou iterar sobre um vetor. Observe o exemplo a seguir: 1 for i in range (1, 11): 2 print (i, ‘Contagem: ’, i) 3 print (‘Agora acabou.’) A saída do programa será a seguinte: Neste caso, usamos uma função chamada range(), que possui um limite inferior e outro superior como intervalo de repetição. Nessa função, se houver apenas um parâmetro, a repetição será executada de acordo com o valor dentro dos parênteses. O comando for é mais utilizado quando trabalhamos com listas e outras estruturas de dados, mas só vamos tratar desse assunto em aula posterior. 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A36… 8/16 ESTRUTURAS DE DECISÃO As estruturas de decisão em Python são: Tipo Descrição if Usado para executar uma ação, caso uma condição seja verdadeira. Else Usado quando a condição não for satisfeita. Elif Usado se mais de uma condição alternativa. Vamos entender como cada uma funciona... Comandos if e else Em Python, o comando if possui a seguinte sintaxe: if expressão: comando(s) else: comando(s) Perceba que, novamente, é obrigatória a identação para criar o bloco de comandos. Não há, aqui, os caracteres “{“ e “}”, mas os dois pontos (“:”) aparecem após a expressão condicional. Vamos analisar um exemplo: 1 var1 = 100 2 if var1: 3 print (“1 – Valor verdadeiro") 4 print (var1) 5 else: 6 print (“1 – Valor falso") 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A36…9/16 7 print (var1) 8 9 var2 = 0 10 if var2: 11 print (“2 – Valor verdadeiro") 12 print (var2) 13 else: 14 print (“2 – Valor falso") 15 print (var2) 16 17 print (“Adeus!") O que será impresso neste programa? Resposta Correta Quando usamos condicionais, especialmente nas estruturas de repetição e decisão, precisamos empregar os operadores de comparação, conforme mostra a tabela a seguir: Símbolo Definição == Igual != Diferente > Maior que < Menor que >= Maior ou igual <= Menor ou igual 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A3… 10/16 Comando elif O comando if é usado para executar uma ação, caso uma condição seja verdadeira, e o comando else, quando a condição não for satisfeita. Se existir mais de uma condição alternativa, poderemos usar o comando elif para analisá-las – antes de aplicar o else. elif = else if ou elsif de outras linguagens Veja um exemplo: 1 idade = int (input (‘Digite sua idade: ’)) 2 if idade >= 10 and idade < 20: 3 print (‘Você é adolescente’) 4 elif idade >= 20 and idade < 30: 5 print (‘Você é jovem’) 6 elif idade >= 30 and idade <= 100: 7 print (‘Você é adulto’) 8 else: 9 print (‘Valor não encontrado!’) Como você percebeu, se nenhuma condição for verdadeira, o else �nal será executado e apresentará a mensagem “Valor não encontrado!”. Agora que aprendemos a usar o elif, vamos melhorar o exemplo da aula anterior, incrementando o programa do cálculo do Índice de Massa Corporal (IMC), cuja fórmula é a seguinte: IMC = peso/(altura*altura) Para completar o programa, é importante lembrar da classi�cação do IMC de acordo com o peso da pessoa, apresentada na tabela a seguir: Valor do IMC Classificação 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A3… 11/16 Abaixo de 17 Muito abaixo do peso Entre 17 e 18,49 Abaixo do peso Entre 18,5 e 24,99 Peso normal Entre 25 e 29,99 Acima do peso Entre 30 e 34,99 Obesidade I Entre 35 e 39,99 Obesidade II (severa) Acima de 40 Obesidade III (mórbida) Usando a experiência com outras linguagens e com lógica de programação, percebemos que a classi�cação será feita com base em várias condicionais. Assim, podemos usar o comando elif. Veja o exemplo: 1 peso = input (‘Digite o seu peso em Kg: ’) 2 altura = input (‘Digite sua altura em m: ’) 3 imc = float(peso) / float(altura) * float (altura)) 4 if imc <= 17: 5 print (‘Muito abaixo do peso’) 6 elif imc > 17 and imc < 18.5: 7 print (‘Abaixo do peso’) 8 elif imc > 18.5 and imc < 25: 9 print (‘Peso normal’) 10 elif imc > 25 and imc < 30: 11 print (‘Acima do peso’) 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A3… 12/16 12 elif imc > 30 and imc < 25: 13 print (‘Obesidade I’) 14 elif imc > 35 and imc < 40: 15 print (‘Obesidade II(severa)’) 16 else: 17 print (‘Obesidade III(mórbida)’) A saída do programa será: Neste caso, há um detalhe que pode tornar nossa prática mais trabalhosa: precisamos executar o programa manualmente toda vez (chamando a Python), a �m de ter uma saída na tela. O ideal seria colocar uma repetição para que vários usuários pudessem testar seu IMC. Agora, vamos incrementar um pouco mais o programa: 1 de_novo = 's' 2 while (de_novo=='s'): 3 peso = input (‘Digite o seu peso em Kg: ’) 4 altura = input (‘Digite sua altura em m: ’) 5 imc = float(peso) / float(altura) * float (altura)) 6 if imc <= 17: 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A3… 13/16 7 print (‘Muito abaixo do peso’) 8 elif imc > 17 and imc < 18.5: 9 print (‘Abaixo do peso’) 10 elif imc > 18.5 and imc < 25: 11 print (‘Peso normal’) 12 elif imc > 25 and imc < 30: 13 print (‘Acima do peso’) 14 elif imc > 30 and imc < 25: 15 print (‘Obesidade I’) 16 elif imc > 35 and imc < 40: 17 print (‘Obesidade II(severa)’) 18 else: 19 print (‘Obesidade III(mórbida)’) 20 de_novo = input('Quer continuar (s/n)?') 21 print (‘\nAgora acabou’) O resultado será: 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A3… 14/16 Veja como o comando while ajudou a deixar o programa mais interativo. Não vamos tratar, aqui, da lógica da execução, mas, se tiver alguma dúvida a respeito, estude o código. Existem outras formas de criar a repetição. Usamos esta para tornar o aprendizado mais simples e, com isso, aplicar os dois conceitos e comandos aprendidos. AGORA, É SUA VEZ! Pratique com outros programas que você conhece e converta-os para Python. Crie os programas desta aula e das anteriores no Sublime Text, e use o prompt de comandos do Windows para executá-los. Pratique, também, respondendo as questões a seguir. Considere os códigos a seguir e indique a saída de cada um, justi�cando sua resposta: Primeiro código: i = 1 while True: if i%3 == 0: break print(i) i + = 1 Segundo código: True = False while True: print(True) break Resposta Correta 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A3… 15/16 Considere o código a seguir: i = 0; while (i < 3): print("oi") Após sua execução, o resultado será: a) oi oi oi b) oi oi c) oi d) i i i e)1 2 3 Justi�cativa Considere o código a seguir: i = 0 while (i < 3): print('oi') println('tchau') Após sua execução, o resultado será: a) oi tchau b) oi oi oi tchau oi oi oi oi tchau c) oi oi tchau d) Erro 06/12/2021 19:28 Disciplina Portal https://estacio.webaula.com.br/Classroom/index.asp?191C757E76=484D213C2740B0F19DC3C17D0E7D5F6153FE93CC57DDA5ED2325A3… 16/16 Justi�cativa Em Python, a identação é: a) Opcional. b) Inutilizada. c) Pouco padronizada. d) Permitida em alguns casos. e) Obrigatória em comandos de decisão ou repetição. Justi�cativa Glossário
Compartilhar