Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Universidade Federal da Grande Dourados Faculdade de Ciências Exatas e de Tecnologias Curso de Bacharelado em Sistemas de Informação Algoritmos Estruturas de controle: repetição (comando para...fim_para) Profª Janne Oeiras Lachi 1 Plano de aula ` Estrutura de repetição: ` Com um número definido de repetições; ` Com um número indefinido de repetições. Com um número definido de repetições ` Em Português estruturado usa os comandos: para, de, até, passo, faça e fim_para ` Sintaxe do comando: para <variável> de <valor inicial> até <valor final> passo <incremento> faça <comando 1> <comando 2> ... <comando n> fim_para Exemplo 1: português estruturado ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. Note que este problema pede para você realizar uma sequência de comandos (receber entrada, efetuar multiplicação, mostrar resultado) REPETIDAMENTE, exatamente CINCO vezes. Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. programa MULT_3 início fim Corpo mínimo do algoritmo Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. entrada saída programa MULT_3 início fim Qual a entrada e qual a saída para este problema? Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. programa MULT_3 var n, resultado: inteiro início fim Vamos definir as variáveis para entrada e saída do problema Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. programa MULT_3 var n, resultado: inteiro início escreva “Informe um número inteiro:” leia n fim Vamos ler os dados do problema Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. programa MULT_3 var n, resultado: inteiro início escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado fim Vamos calcular a multiplicação e escrever o resultado. Pronto! Resolvemos o problema para 1 vez. Exemplo 1: solução passo-a-passo ` Com os conceitos que você aprendeu até então, você poderia prover a seguinte solução: programa MULT_3 var n, resultado: inteiro início escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado fim Note que os comandos se REPETEM cinco vezes. Mas e se o problema pedisse que fossem lidos 1.000.000 de valores de entrada? O algoritmo seria muito grande. Vejamos uma solução mais ENXUTA. Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. programa MULT_3 var n, resultado: inteiro início escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado fim Uma dica é você pensar em resolver o problema para apenas 1 vez e depois incluir a repetição. Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. programa MULT_3 var n, resultado, I : inteiro início para I de 1 até 5 passo 1 faça escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado fim_para fim Incluindo a repetição por 5 vezes usando o comando para...fim_para Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. programa MULT_3 var n, resultado, I : inteiro início para I de 1 até 5 passo 1 faça escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado fim_para fim Neste tipo de repetição, SEMPRE teremos uma variável contadora de apoio (I), para nos ajudar a controlar quantas vezes os comandos dentro do laço devem ser repetidos. Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. programa MULT_3 var n, resultado, I : inteiro início para I de 1 até 5 passo 1 faça escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado fim_para fim Como queremos que o laço seja efetuado 5 vezes, definimos o intervalo de repetição entre 1 e 5 Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. Este tipo de laço sempre terá um INCREMENTO ou DECREMENTO na variável contadora que pode variar a cada problema. Neste caso, precisamos que a variável seja incrementada de 1 unidade a cada execução do laço programa MULT_3 var n, resultado, I : inteiro início para I de 1 até 5 passo 1 faça escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado fim_para fim Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. programa MULT_3 var n, resultado, I : inteiro início para I de 1 até 5 faça escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado fim_para fim Observação: há livros que omitem o passo quando ele tem valor 1. Exemplo 1: solução passo-a-passo ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Realizar a execução dos passos anteriores cinco vezes. Observação: há outros livros que fazem o incremento explicitamente antes do final do laço programa MULT_3 var n, resultado, I : inteiro início para I de 1 até 5 faça escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado I Å I + 1 fim_para fim Exemplo 1: executando a solução 1. programa MULT_3 2. var 3. n, resultado, I : inteiro 4. início 5. para I de 1 até 5 passo 1 faça 6. escreva “Informe um número inteiro:” 7. leia n 8. resultado Å n * 3 9. escreva resultado 10. fim_para 11.fim Note o recuo nas linhas 6,7,8 e 9 porque estão dentro do bloco do para...fim_para Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 1 6 7 8 9 5. para I de 1 até 5 passo 1 faça Neste momento, a variável I recebe o valor 1 (o primeiro valor da faixa de valores estabelecido para o laço) Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 1 6 1 Informe um número inteiro: 7 8 9 6. escreva “Informe um número inteiro:” Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 1 6 1 Informe um número inteiro: 7 2 1 8 9 7. leia n Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 1 6 1 Informe um número inteiro: 7 2 1 8 2 6 1 9 8. resultadoÅ n * 3 Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 1 6 1 Informe um número inteiro: 7 2 1 8 2 6 1 9 2 6 1 6 9. escreva resultado Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 1 6 1 Informe um número inteiro: 7 2 1 8 2 6 1 9 2 6 1 6 5 1 2 Após escrever o resultado, a variável I é incrementada Exemplo 1: executando a solução programa MULT_3 var n, resultado, I : inteiro início para I de 1 até 5 passo 1 faça escreva “Informe um número inteiro:” leia n resultado Å n * 3 escreva resultado fim_para fim programa MULT_3 var n, resultado, I : inteiro início para I de 1 até 5 faça escreva “Informe um númer leia n resultado Å n * 3 escreva resultado I Å I + 1 fim_para fim Após escrever o resultado, a variável I é incrementada Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 2 6 1 2 6 7 8 9 5. para I de 1 até 5 passo 1 faça Na linha 5, a variável I terá seu valor testado para verificar se ainda está dentro da faixa de valores estabelecido para a repetição. Se não estiver, sai do laço de repetição (comando para...fim_para) Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 2 6 1 2 6 7 8 9 5. para I de 1 até 5 passo 1 faça Agora, a variável I recebe o valor 2 (o segundo valor da faixa de valores estabelecido para o laço). Note que n continua com o último valor lido na memória (2) e resultado com o último resultado calculado até então (6). Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 2 6 2 6 2 6 2 Informe um número inteiro: 7 8 9 6. escreva “Informe um número inteiro:” Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 2 6 2 6 2 6 2 Informe um número inteiro: 7 2 4 6 2 8 9 7. leia n Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 2 6 2 6 2 6 2 Informe um número inteiro: 7 4 6 2 8 4 6 12 2 9 8. resultadoÅ n * 3 Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 2 6 2 6 2 6 2 Informe um número inteiro: 7 4 6 2 8 4 12 2 9 4 12 2 12 9. escreva resultado Exemplo 1: português estruturado ` A sequência de comandos de 5 a 9 vai se repetir por mais 3 vezes, com I assumindo os valores 3, 4 e 5. ` O usuário vai poder entrar com mais 3 novos valores para a variável n e o triplo desse valor vai ser calculado e apresentado na tela. Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 5 6 5 Informe um número inteiro: 7 10 5 8 10 30 5 9 10 30 5 30 5 5 6 Após escrever o resultado, a variável I é incrementada Exemplo 1: executando a solução Executando Variáveis Nº da linha n resultado I Tela 5 10 30 5 6 6 7 8 9 5. para I de 1 até 5 passo 1 faça Na linha 5, a variável I terá seu valor testado para verificar se ainda está dentro da faixa de valores estabelecido para a repetição. Como o valor dela é 6, a execução deve SAIR do laço de repetição (comando para...fim_para) Exemplo 2: português estruturado ` Leia 10 números e escreva a metade de cada um deles. Note que este problema pede para você realizar uma sequência de comandos (receber entrada, escrever a metade) REPETIDAMENTE, exatamente 10 vezes. Exemplo 2: solução passo-a-passo ` Leia 10 números e escreva a metade de cada um deles. programa METADE início fim Corpo mínimo do algoritmo Exemplo 2: solução passo-a-passo ` Leia 10 números e escreva a metade de cada um deles. programa METADE início fim Qual a entrada e qual a saída para este problema? Exemplo 2: solução passo-a-passo ` Leia 10 números e escreva a metade de cada um deles. Programa METADE var n: real início fim Vamos definir as variáveis para entrada e saída do problema Exemplo 2: solução passo-a-passo ` Leia 10 números e escreva a metade de cada um deles. programa METADE var n: real início escreva “Informe um número:” leia n fim Vamos ler os dados do problema Exemplo 2: solução passo-a-passo ` Leia 10 números e escreva a metade de cada um deles. programa METADE var n: real início escreva “Informe um número:” leia n escreva “A metade é:”, n/2 fim Vamos calcular a metade e apresentá-la para o usuário. Pronto! Resolvemos o problema para 1 vez. Exemplo 2: solução passo-a-passo ` Leia 10 números e escreva a metade de cada um deles. programa METADE var n: real I: inteiro início para I de 1 até 10 passo 1 faça escreva “Informe um número:” leia n escreva “A metade é:”, n/2 fim_para fim Incluindo a repetição com o comando para...fim_para. Note que precisamos declarar a variável I que é do tipo inteiro. Exemplo 2: solução passo-a-passo ` Leia 10 números e escreva a metade de cada um deles. programa METADE var n: real I: inteiro início para I de 1 até 10 passo 1 faça escreva “Informe um número:” leia n escreva “A metade é:”, n/2 fim_para fim Não esqueça de fazer a indentação dos comandos usados no algoritmo. Exemplo 3 ` Nos problemas anteriores, estava explícita a quantidade de vezes que os comandos deveriam ser repetidos (cinco vezes, dez vezes...) ` Vejamos outro tipo de problema: ` Escreva um algoritmo que receba como entrada um número inteiro n (n > 0) do usuário e imprima os números de 1 a n na tela. ` Nos problemas anteriores, tínhamos um número definido de repetições (cinco, dez) e, portanto, podíamos usar “força bruta” e incluir no algoritmo o mesmo trecho de programa repetidamente. Exemplo 3 ` Escreva um algoritmo que receba como entrada um número inteiro n (n > 0) do usuário e imprima os números de 1 a n na tela. ` Neste problema, não sabemos qual o valor de n porque o usuário ainda vai fornecê-lo. ` Como então podemos saber quantos trechos de comandos repetidos vamos ter que incluir no nosso algoritmo? Não é possível usar força bruta. ` Lembre que se a nossa variável for do tipo inteiro, na Linguagem C os valores podem ir até o número 2.147.483.647 Exemplo 3 ` Escreva um algoritmo que receba como entrada um número inteiro n (n > 0) do usuário e imprima os números de 1 a n na tela. ` Ainda que o número n seja desconhecido porque o usuário é quem vai informá-lo, uma vez que ele seja dado como entrada, a quantidade de repetições será finita, limitada a esse número n. Exemplo 3: uma solução... ` Escreva um algoritmo que receba como entrada um número inteiro n (n > 0) do usuário e imprima os números de 1 a n na tela. programa IMPRESSAO var N, I : inteiro início escreva “Informe um número inteiro maior que zero:” leia N para I de 1 até N passo 1 faça escreva I fim_para fim Note que o valor lido de N agora é o LIMITANTE da faixa de valores dentro do comando para..fim_para Exemplo 3: uma solução... ` Escreva um algoritmo que receba como entrada um número inteiro n (n > 0) do usuário e imprima os números de 1 a n na tela. programa IMPRESSAO var N, I : inteiro início escreva “Informe um número inteiro maior que zero:” leia N para I de 1 até N passo 1 faça escreva I fim_para fim Note que aproveitamos o valor guardado na variável I para poder imprimir os números de 1 até N. Exemplo 4: em ordem descrescente ` Há outros problemas que pedem para imprimir ou calcular valores em ordem descrescente ` Apresente todos os números pares no intervalo de 600 a 1. ` Qual a entrada e qual a saída para este problema? Exemplo 4: em ordem descrescente Apresente todos os números pares no intervalo de 600 a 1. ` Qual a entrada e qual a saída para este problema? ` Não há entrada! O problema não pede para ler ou receber nada do usuário. ` Saída: todos os número pares entre 600 e 1 Exemplo 4: resolvendo o problema Apresente todos os números pares no intervalo de 600 a 1. ` Pense na solução para imprimir o 1º número par programa IMPRESSAO_PARES início escreva 600 fim Exemplo 4: resolvendo o problema Apresente todos os números pares no intervalo de 600 a 1. ` Pense na solução para imprimir o 2º número par programa IMPRESSAO_PARES início escreva 600 escreva 598 fim Exemplo 4: resolvendo o problema Apresente todos os números pares no intervalo de 600 a 1. ` Pense na solução para imprimir o 3º número par programa IMPRESSAO_PARES início escreva 600 escreva 598 escreva 596 fim Exemplo 4: resolvendo o problema Apresente todos os números pares no intervalo de 600 a 1. ` Pense na solução para imprimir o ÚLTIMO número par programa IMPRESSAO_PARES início escreva 600 escreva 598 escreva 596 . . . escreva 2 fim Note que estamos decrementando de 2 unidades a cada impressão de número. Sabemos que o último número que deve ser impresso é o 2. Exemplo 4: resolvendo o problema Apresente todos os números pares no intervalo de 600 a 1. ` Incluindo repetição programa IMPRESSAO_PARES var I : inteiro início para I de 600 até 2 passo 2 faça escreva I fim_para fim Nossa faixa de valores então deve ir de 600 até 2 Exemplo 4: resolvendo o problema Apresente todos os números pares no intervalo de 600 a 1. ` Incluindo repetição programa IMPRESSAO_PARES var I : inteiro início para I de 600 até 2 passo 2 faça escreva I fim_para fim Neste caso, como a nossa faixa de valores começa em um número maior que o final da faixa (600 até 2), o comando sabe que é para decrementar a quantidade estipulada no passo Exemplo 4: resolvendo o problema Apresente todos os números pares no intervalo de 600 a 1. ` Incluindo repetição programa IMPRESSAO_PARES var I : inteiro início para I de 600 até 2 faça escreva I I Å I - 2 fim_para fim Em alguns livros você encontrará o decremento deste jeito Repetição dentro de repetição ` Considerando a sintaxe do comando: para <variável> de <valor inicial> até <valor final> passo <incremento> faça <comando 1> <comando 2> ... <comando n> fim_para ` Note que podemos ter qualquer comando dentro do para...fim_para, inclusive OUTRO para...fim_para para dentro de para ` Considere o seguinte problema: ` Um atleta está fazendo um treino e precisa fazer a seguinte sequência de exercícios: ` Três voltas na Lagoa Rodrigo de Freitas ` A cada volta, ele deve parar e fazer cinco abdominais antes de prosseguir para a próxima volta. para dentro de para ` A sequência de treino que o técnico quer escrever para o atleta realizar é: 1ª volta 1º abdominal 2º abdominal 3º abdominal 4º abdominal 5º abdominal 2ª volta 1º abdominal 2º abdominal 3º abdominal 4º abdominal 5º abdominal 3ª volta 1º abdominal 2º abdominal 3º abdominal 4º abdominal 5º abdominal Exemplo 5: para dentro de para ` Podemos escrever o seguinte algoritmo para imprimir a sequência de treino programa TREINO var volta,abdominal : inteiro início para volta de 1 até 3 passo 1 faça escreva volta, “ª volta” para abdominal de 1 até 5 passo 1 faça escreva abdominal, “º abdominal” fim_para fim_para fim Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 6 7 8 Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 6 1 1ª volta 7 8 Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 6 1 1ª volta 7 1 1 8 Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 6 1 1ª volta 7 1 1 8 1 1 1° abdominal Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 6 1 1ª volta 7 1 1 8 1 1 1° abdominal 7 1 1 2incrementa Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 6 1 1ª volta 7 1 1 8 1 1 1° abdominal 7 1 1 2 7 1 2testa se está na faixa Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 4 6 1 4 5 1ª volta 7 1 5 8 1 5 5° abdominal 7 1 5 6incrementa Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 4 6 1 4 5 1ª volta 7 1 5 8 1 5 5° abdominal 7 1 5 6 7 1 6 testa se está dentro da faixa de valores do para Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 4 6 1 4 5 1ª volta 7 1 5 8 1 5 5° abdominal 7 1 5 6 7 1 6 Aqui termina o 2º para que conta os abdominais Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 2 6 6 7 8 7 7 Agora, vamos para a 2ª volta. Incrementa mos o valor de volta Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 2 6 6 7 8 7 7 Testa se o valor está na faixa do para que conta as voltas. Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 2 6 6 2 6 2ª volta 7 8 7 7 Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 2 6 6 2 6 1 2ª volta 7 2 1 8 Atribui 1 novamente a variável abdominal a fim de começar a contar os abdominais da 2ª volta. Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 2 6 6 2 6 1 2ª volta 7 2 1 8 2 1 1º abdominal Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 2 6 6 2 6 1 2ª volta 7 2 1 8 2 1 1º abdominal 7 2 1 2incrementa Exemplo 5: para dentro de para 1. programa TREINO 2. var 3. volta,abdominal : inteiro 4. início 5. para volta de 1 até 3 passo 1 faça 6. escreva volta, “ª volta” 7. para abdominal de 1 até 5 passo 1 faça 8. escreva abdominal, “º abdominal” 9. fim_para 10. fim_para 11.fim Executando Variáveis Nº da linha volta abdominal Tela 5 1 2 6 6 2 6 1 2ª volta 7 2 1 8 2 1 1º abdominal 7 2 1 2 7 2 2 Testa se está na faixa Exemplo 5: português estruturado ` A sequência de comandos nas linhas 7 a 8 vai se repetir até que a variável abdominal assuma o valor 6. Quando isso acontecer, o 2º para termina. ` A variável volta será incrementada novamente, agora com o valor 3, que estará dentro da faixa de valores do 1º para. Assim, tudo é executado mais uma vez. ` Quando a variável volta for incrementada e assumir o valor 4, o teste no 1º para vai falhar e assim esse laço será encerrado. Observação ` É importante ressaltar que em todos os exemplos anteriores, a quantidade de repetições a serem efetuadas estavam: ` Ou explícitas no enunciado do problema (três, cinco, dez); ` Ou seriam informadas pelo usuário (leitura da variável N). ` Veja este outro problema: ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Ao final da apresentação do resultado o programa deve perguntar ao usuário se ele deseja novo cálculo. Observação ` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o valor de entrada por 3 e apresente o resultado. Ao final da apresentação do resultado o programa deve perguntar ao usuário se ele deseja novo cálculo. ` Neste problema NÃO está definida a quantidade de repetições; ` Não será definido pelo usuário ANTECIPADAMENTE quantas vezes é para repetir; ` Somente conseguiremos resolver este problema com outra estrutura de repetição chamada ENQUANTO. Referências ` Algoritmos – Fundamento e Prática. Everton Coimbra de Araújo. Florianópolis: Visual Book, 2007. ` Algoritmos - Lógica para desenvolvimento de programação de computadores. José Augusto N. G. Manzano, Jayr Figueiredo de Oliveira. São Paulo: Érica, 2006. 80 Algoritmos Plano de aula Com um número definido de repetições Exemplo 1: português estruturado Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: solução passo-a-passo Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 1: português estruturado Exemplo 1: executando a solução Exemplo 1: executando a solução Exemplo 2: português estruturado Exemplo 2: solução passo-a-passo Exemplo 2: solução passo-a-passo Exemplo 2: solução passo-a-passo Exemplo 2: solução passo-a-passo Exemplo 2: solução passo-a-passo Exemplo 2: solução passo-a-passo Exemplo 2: solução passo-a-passo Exemplo 3 Exemplo 3 Exemplo 3 Exemplo 3: uma solução... Exemplo 3: uma solução... Exemplo 4: em ordem descrescente Exemplo 4: em ordem descrescente Exemplo 4: resolvendo o problema Exemplo 4: resolvendo o problema Exemplo 4: resolvendo o problema Exemplo 4: resolvendo o problema Exemplo 4: resolvendo o problema Exemplo 4: resolvendo o problema Exemplo 4: resolvendo o problema Repetição dentro de repetição para dentro de para para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: para dentro de para Exemplo 5: português estruturado Observação Observação Referências