Baixe o app para aproveitar ainda mais
Prévia do material em texto
Raphael Gomide raphael.gomide@live.estacio.br Contextualização Imagine que você precise elaborar um programa para escrever na tela o seu nome 10 vezes: Contextualização E se agora você precisasse escrever o seu nome 1.000 vezes? Fica chato e entediante digitar ou copiar/colar a instrução 1.000 vezes Ainda bem que não precisamos disso, graças às estruturas de repetição! Com 2 linhas de código você consegue escrever o seu nome quantas vezes quiser! Repetição para o computador Definir se determinado trecho/bloco de código será executado, executado novamente, e assim sucessivamente As repetições, assim como as decisões, são também baseadas em regras, que são, na verdade, proposições lógicas Isso significa que, em algum momento durante a repetição, a proposição deve ser falsa para que a repetição se encerre Se isso não for feito, temos um grave problema, onde a repetição é executada para sempre. Esse fenômeno é também conhecido como loop/laço infinito As estruturas de repetição são: while, do...while e for Conceitos importantes Variável de controle: para utilizarmos repetições, necessitamos de uma variável que faça o controle da mesma. Essa variável vai indicar quantas vezes a repetição será executada. Essa variável é também conhecida como: Índice Sentinela Contador Como toda variável, qualquer nome pode ser dado a ela. Os nomes mais utilizados são: i, j e cont Conceitos importantes Repetição/iteração/laço/loop/looping: indica um ciclo completo de execução do código a ser repetido. Repetição/Iteração/Laço/loop/looping infinito: ocorre quando o programador não define uma condição de parada da repetição, ou seja, a proposição nunca fica falsa. Nessa situação, o programa permanece executando e enchendo a memória. É uma das grandes causas dos programas travarem. Em regra, toda repetição tem: Inicialização da variável de controle Proposição lógica Incremento/decremento da variável de controle Repetição com o comando while Exemplo: Repetição com o comando while Declarando e inicializando a variável de controle Declarando e inicializando a variável para guardar a soma de valores Repetição com o comando while while (enquanto, em inglês) Repetição com o comando while Proposição lógica Deve estar sempre entre parênteses Aceita proposições múltiplas Leitura: enquanto o valor da variável i for menor ou igual a 100, execute os comandos do bloco Repetição com o comando while Assim como no comando if/else, o while é também um comando de bloco As mesmas regras de aplicam, ou seja, quando existir apenas um comando ou instrução, as chaves são opcionais Repetição com o comando while Esse é o cálculo que será executado repetidas vezes É possível perceber que se trata de um somatório, pois a variável soma é sempre utilizada no cálculo, mantendo o seu valor anterior soma = 0 + 1 Repetição com o comando while Aqui é feito o incremento da variável de controle Esse código é importantíssimo, pois sem ele, a variável i sempre iria valer 1, ocasionando o laço infinito i++ i = i + 1 //i passou de 1 para 2 Repetição com o comando while Após o incremento, o código volta ao while, que testa a condição novamente Nesse momento, a variável i vale 2, correto? Então: 2 <= 100? V O bloco é executado novamente Repetição com o comando while A soma é feita novamente, lembrando que o seu valor atual é 1 soma = 1 + 2 Após o cálculo do somatório, o valor de i incrementa novamente, passando de 2 para 3 E assim sucessivamente... Repetição com o comando while Em algum momento, a repetição irá parar Quando i valer 100, será a última entrada no bloco O valor da soma será acrescido de 100 A variável de controle i será incrementada e passará a valer 101 E aí o teste do while será Falso! Repetição com o comando while Após o termino da execução da repetição, o valor da soma passou a ter: 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + ... + 95 + 96 + 97 + 98 + 99 + 100 = 5.050 Essa é a mágica das estruturas de repetição! Repetição com o comando while Inicialização da variável de controle Proposição lógica incremento Repetição com o comando while Em regra, quando a variável de controle começa com 0, a proposição utiliza o operador < Em regra, quando a variável de controle começa com 1, a proposição utiliza o operado <= Repetição com o comando while É possível também utilizar o laço invertido, ou seja, iniciar a variável de controle com o total e decrementar o valor até se obter o valor 0, por exemplo Nesse caso utilizamos, para decrementar, i-- i = i – 1 Além disso, o operador de comparação deve ser invertido na proposição Repetição com o comando do...while Observe o seguinte trecho de código Ele faz a mesma tarefa do código feito com while, com algumas pequenas diferenças Quais são essas diferenças? Repetição com o comando do...while Diferenças visuais: O comando começa com do e termina com while Em português, seria repita... Enquanto Ao final do while e da proposição, existe ponto-e- vírgula Repetição com o comando do...while Diferenças na execução: Com do...while, você garante que o código será executado pelo menos uma vez! Isso acontece porque o teste da proposição é feito somente no final do laço. No comando while, o teste é feito no início! Se der falso, “nem entra” Repetição com o comando for O comando for é uma estrutura de repetição mais elegante e mais bem organizada que o while e o do...while Ele engloba a inicialização, o teste da proposição e o incremento/decremento em uma única linha de código Isso auxilia o programador a não se esquecer dessas etapas, evitando problemas como o loop infinito Repetição com o comando for A palavra for em inglês significa para A leitura do código é a seguinte: para cada i iniciando com zero, enquanto menor ou igual a 100 e incrementando de um em um, faça... A inicialização, proposição e incremento/decremento são delimitadas por ponto-e-vírgula Alguns exemplos de programas Alguns exemplos de programas Alguns exemplos de programas Resumo – estruturas de repetição em C++ Em regra, toda repetição tem três etapas: inicialização da variável de controle, teste da proposição e incremento/decremento Os comandos utilizados são: while / do...while / for No comando while, o teste é executado no início No comando do...while, o teste é executado no final, o que garante que o código é executado pelo menos uma vez! No comando for, o teste é executado no início e o comando é mais elegante e organizado, pois possui estrutura específica para armazenar as três etapas As repetições são executadas enquanto a proposição de testes for verdadeira É responsabilidade do programador tornar a proposição falsa em algum momento Se o programador se esquece de tornar o teste da proposição falso, a repetição é executada para sempre e ocorre o problema do loop infinito Fim!
Compartilhar