18 abril 2018

Aula 2.6: Laço/Repetições em C #LTCode

Este artigo faz parte do projeto #LTCode

Na aula de hoje aprenderemos sobre laços em C, ou seja aprenderemos como fazer uma linha de código ser repetida, controlar um fluxo de instruções. Para isto vamos utilizar o if, switch, do while, while e for.

Sobre o if e switch já aprendemos na aula anterior, clique aqui para ler caso ainda não leu. Continuando, a instrução while é bastante simples de se aprender.. se conseguir entender ela ficará fácil compreender as outras.

Sua estrutura é a seguinte: 

while (condição){
    instrução;
    incremento;
}

Traduzindo: 

enquanto (condição que você determinou) {
faça isso que está aqui dentro das chaves
}

Confira abaixo um exemplo usando while para contar números de 0 a 10:
Como podem observar:

enquanto(contador for menor ou igual a 10){
    imprima na tela contador;
    soma mais 1 no contador;
}

Ou seja vai ficar no loop imprimindo na tela números até contador valer 10, quando ele valer 10 a condição é falsa e então sai do while.

Para fazer o mesmo código acima utilizando for é fácil, apenas atente-se como funciona uma estrutura do for:

for(carga inicial;condição;pós-condição){
  instrução;
}

Note que o incremento já está presente na pós-condição. Confira a comparação entre while e for:
Observe que não era necessário colocar um valor para a variável de incremento no momento da declaração pois ela recebe um valor dentro do for, a carga inicial, mas como temos um while na imagem então tivermos que dar um valor para ela primeiro.

Agora o laço do... while, traduzida como 'faça... enquanto', é um pouco diferente pois a condição é checada no final da primeira repetição, ou seja, as instruções rodarão pelo menos uma vez, mesmo se a condição for falsa.

Confira:
Como ilustra a imagem acima, primeiramente vai imprimir o valor da variável i, depois vai somar +1 nela, passando a valor 21, então a condição é checada: 21 é menor ou igual a 10? Não, então sai do while em vez de continuar no loop.

Já estudamos o comando break na aula anterior, utilizando ele dentro de um laço ele vai sair do laço imediatamente fazendo parar o loop.

Exemplo:

Quando a condição de i ser igual a 2017 for atingida, será impresso o valor de i na tela e em seguida parado o loop afinal chegou no valor que queríamos na condição presente no if.

Existe também o comando continue, que só pode ser utilizada dentro de laços, ele serve para que o loop continue.

Confira um laço que imprime números pares usando 'break' e 'continue':

É possível criar repetições dentro de repetições, isso é chamado de laços encadeados, é útil quando você precisa variar uma variável enquanto outra varia. Exemplo:

while(condição){
    while(condição){
         instruções;
         incremento;
    }
    incremento;
}

Você também pode necessitar de laços infinitos, ou seja, apresentam condições sempre verdadeiras, tornando uma repetição infinita. Para sair deles você utiliza o break ou return (que aprenderemos futuramente). 

Resumindo, o laço while geralmente é utilizado quando não se sabe quantas vezes você precisará da repetição e o for já é mais utilizado quando se sabe quantas vezes o código será repetido, mas isso não é regra.

Você deve ter notado nas imagem a utilização do ++ após o nome da variável como: i++. Se leu os comentários do código, já sabe que isso é o mesmo que escrever: i=i+1. O mesmo se aplica ao usar i-- que poderia ser escrito como i=i-1, ou seja está decrementando uma unidade de i.

Mas fique esperto, existe diferenças quanto ao uso dessa forma ++ --. 
Como podem observar na imagem acima, k=j++ é diferente de k=++j :
k=j++ significa que k vai receber o valor de j e depois j vai valer j+1.
k=++j significa que k vai receber valor de j+1.

Outro exemplo:
int i=4;
printf("%d",i++ + ++i);

Imprimirá na tela o valor 10.

Em C é possível utilizar de atribuições compostas para diminuir seu código, confira abaixo uns exemplos:

x+=1 é o mesmo que x = x+1
y*=2+3 é o mesmo que y=y*(2+3)
a-=b+1 é o mesmo que a=a-(b+1)
k/=12 é o mesmo que k=k/12
r%=2 é o mesmo que r=r%2

Note que assim você não precisa ficar digitando a variável novamente toda vez que precisa de fazer operações com valores presente nela.

Por hoje é isso, até a próxima.

>> Próxima aula, clique aqui.





~ Artigos recomendados para você:









Please Donate To Bitcoin Address: [[address]]





Donation of [[value]] BTC Received. Thank You.


[[error]]