Hoje veremos estruturas de controle de fluxo, também chamadas simplesmente de estruturas de controle ou especialmente estruturas iterativas. Essas instruções são muito interessantes e usadas à medida que evoluem o conceito de programa para programa inteligente.
Por quê?
Se não usarmos as estruturas de controle de fluxo, um programa é simples. É um programa que inicialmente usa apenas variáveis e operadores no que podemos chamar de uma sequência de instruções em tempo linear, ou seja, uma após a outra.
Ao introduzir as estruturas que veremos a seguir, nosso programa deixa de ser uma mera sequência linear de instruções ineficientes para se tornar um programa capaz de tomar decisões em função do valor das variáveis com que está lidando, por isso são chamadas de "inteligentes" .
As estruturas iterativas eles são assim chamados porque as instruções a serem realizadas pode ser repetido uma ou várias vezes. Existe uma grande variedade de tipos de estruturas iterativas com suas particularidades, porém todas possuem algo em comum, possuem um único ponto de entrada, ou seja, são ativadas ao inserir um dado.
Agora veremos o diferentes tipos de estruturas iterativas em JavaScriptEmbora na realidade em todas ou quase todas as linguagens de programação existam basicamente as mesmas estruturas e sirvam aos mesmos propósitos, a diferença é a maneira como são escritas, ou seja, a sintaxe.
Começaremos com a estrutura iterativa, que talvez seja a mais simples e também a mais utilizada. Queremos dizer a estrutura E se.
Estrutura IFDigo que é o mais simples desde a introdução da informação e depois de verificar o que o nosso programa faz é que se a condição pré-estabelecida for satisfeita, executamos a frase ou frases que você pré-definiu no código. Por outro lado, se esta condição não for cumprida, sai da estrutura e não executa o código que a acompanha.
Um exemplo com código Javascript é o seguinte:
If (x) {alert ("O valor é verdadeiro"); }Tão simples como isso. A única coisa que estamos dizendo é que se a variável que inserimos (x) for verdadeira, escreva "O valor é verdadeiro" e, se não for verdadeiro, não escreva nada. Também pode ser expresso com If (x == true) sendo muito importante não confundir o operador == que compara ambos os valores com = O que ele faz é atribuir o valor à esquerda ao valor à direita.
Esta estrutura por si só é utilizada para validar qualquer tipo de entrada de informação de forma bastante recorrente, porém, normalmente é acompanhada por outra estrutura chamada outro.
Else é usado como um complemento para if, uma vez que se a condição estabelecida por if não for atendida e continuar com else, a instrução ou instruções associadas à referida estrutura de controle são executadas automaticamente como pode ser visto no exemplo a seguir:
If (x) {alert ("O valor é verdadeiro"); } else {alert ("O valor é falso"); }Como no exemplo anterior, se os dados inseridos, x, forem verdadeiros, escreva "O valor é verdadeiro." A diferença com o exemplo anterior no qual se x não fosse verdadeiro, ele não faria nada é que agora, conforme vai para o else, ele escreve diretamente "O valor é falso".
Isso é muito útil se as informações só puderem ser verdadeiras ou falsas, pretas ou brancas, sim ou não, ou qualquer outra combinação binária, ou uma ou outra. No entanto, geralmente há o caso em que queremos saber se os dados que inserimos atendem a algum de vários condições que são exclusivasPor exemplo, se queremos saber se o nosso jogador é zagueiro, meio-campista, goleiro ou atacante. Sempre será apenas uma das quatro coisas e aqui o com se e o senão não funciona para nós.
Neste caso, podemos usar o senão se estrutura o que significa se não. Podemos usar todo o else se quisermos sempre depois da nossa primeira estrutura if e antes da última, que será else, como podemos ver no código a seguir:
If (jogador == goleiro) {alert ("O jogador é goleiro"); } else if (player == defesa) {alert ("O jogador é defesa"); } else if (jogador == meio-campista) {alert ("O jogador é um meio-campista"); } else {alert ("O jogador está avançado"); }Desta forma, o programa primeiro verifica se é um goleiro. Se for, escreva, se não vá para o primeiro else se verifique se é defesa. Se for, escreva. Caso contrário, segue para o próximo bloco para verificar se é meio-campista. Se for, escreva. Se não for nenhuma das três opções, entra no último bloco, o que faz é escrever que é encaminhado por descarte.
As estruturas que acabamos de ver não acabam sendo eficientes se as verificações forem muito repetitivas, caso em que outras estruturas de controle, como enquanto ou faça enquanto por:
Loop WHILEEssa estrutura é conhecida como while (que é a tradução literal do inglês) em algoritmos. E como seu próprio significado diz, é um loop que executa as instruções enquanto a condição ou condições permanecem verdadeiras, desde que continue a retornar "verdadeiro" como um valor.
Portanto, o estrutura do referido loop é muito simples:
enquanto (condição)
{
instruções;
}
UMA exemplo simples em JavaScript pode ser o seguinte:
var counter = 1; while (num <5) {alert ("num"); num + = 1; }Isso é tão simples quanto adicionar um de cada vez à nossa variável num até chegar a 5.
O que acontece se a condição não for atendida antes de entrar no loop?
Que o loop nunca será executado. E aqui chegamos a um tipo especial de loop while chamado fazer enquanto. Esta estrutura é usada se quisermos que o programa entre no loop pelo menos uma vez. A tradução literal é fazer … contanto que faça pelo menos uma vez, entre no loop.
Por que sempre entra em nosso loop pelo menos uma vez?
Porque como veremos a seguir, a condição para executar o loop é feita após executá-lo. Pode parecer complicado, mas veremos que é muito simples:
var fact = 1; var num = 10; faça {fato = num * fato; num--; } enquanto (num> 0); alerta (num);Seria o exemplo.
O que acontece neste exemplo?
Isso primeiro entra no loop e faz duas instruções, multiplicando o resultado pelo número e, em seguida, diminuindo o número. Este processo se repete até que nosso número seja 1. Ao sair do loop, escreva o número que era inicialmente 10 e agora é 1.
Este loop poderia então ser escrito exatamente da mesma forma com while. Por outro lado, se na inicialização var num = 0; entra no loop, faz as instruções e num fica com o valor -1, o que não aconteceria com while já que não entraria no loop, e desta forma já o fez uma vez.
Obviamente este é um exemplo muito simples e pouco útil, mas na hora de programar é muito interessante se quisermos que um menu seja exibido pelo menos uma vez.
Depois de ver o loop while e fazer while, vamos ver o que eu acho mais usado em programação. Estamos falando sobre o famoso loop para.
Estrutura FORÉ o loop mais utilizado por sua eficiência, embora seja mais complexo do que as estruturas iterativas anteriores.
Possui a seguinte forma:
para (ordem de inicialização; doença; ordem de atualizar)
{
Instruções para executar
}
E seu operação é muito simples:
Na primeira parte do loop, uma ou mais variáveis são inicializadas, ou seja, recebem um valor. Após o primeiro ponto e vírgula, é definida a condição que deve ser cumprida para executar as instruções. E a última parte do parêntese, a atualização, é o valor que será atribuído às variáveis que foram inicializadas.
Muito simples, desde que a condição especificada seja atendida, as instruções dentro do loop for são executadas. Após executá-lo, atualizamos o valor das variáveis utilizadas na condição.
Agora vamos ver um exemplo escrito em Javascript:
for (i = 0; i <10; i ++) {alert ("Ainda é menos que 10"); }Criamos e inicializamos a variável i com o valor 0. É importante ter em mente que esta parte do loop só executa a primeira vez, nas demais vezes ela não leva em consideração porque só é inicializada uma vez . Nossa zona de condição é enquanto i for menor que 10 e, portanto, nosso loop se repetirá até que i não seja maior que 10.
Agora é quando a zona de atualização entra em jogo. Se o valor de i não fosse alterado, como o inicializamos com 0, ele se tornaria um loop infinito.
Em nossa zona de atualização, mudamos o valor de nossa variável. No caso do exemplo, cada vez que o loop é executado, o valor de i é aumentado em 1, mas outras instruções, como multiplicação, subtração, etc. também podem ser definidas.
O para loop é muito útil no mundo da programação e, embora menos comum, é necessário um caso especial. Embora geralmente seja usado na programação de objetos já bastante avançados, o uso que pode ser feito em arrays é interessante.
Ciclo para em o que ele faz é percorrer um array passando por todos os seus elementos de forma eficiente. Definida uma matriz, o código é o seguinte:
var array = ["Primeiro", "Segundo", "Terceiro", "Quarto"]; para (i em matrizes) {alert ("Curso: matriz (i)"); }Ele escreve todos os cursos disponíveis do primeiro ao quarto.
Por fim, falaremos sobre outra das estruturas de controle de fluxo mais utilizadas que é o switch loop, que significa escolher em inglês.
Loop SWITCHUsamos essa estrutura quase sempre que queremos fazer um menu com suas diferentes opções. É uma espécie de otimização da repetição dos loops else if que vimos antes e que funciona muito melhor e sem ser redundante. Usamos para aqueles momentos em que queremos fazer várias verificações da mesma variável, ou seja, para escolher uma característica em vez de uma variável que a exclui de ter outra.
O mudar de forma É o seguinte:
switch (letra) {case a: instruções; quebrar; caso b: instruções; quebrar; caso c: instruções; quebrar; caso d: instruções; quebrar; padrão: instruções; quebrar; }O loop anterior é passado por uma variável, neste caso, uma letra. Ele verifica esta variável e dependendo de qual ela entra e executa uma ou outra instrução e então sai do loop. Para inserir cada uma das opções disponíveis de nossa variável de letra, a caixa de palavra reservada é usada. O loop é encerrado usando a palavra-chave break, que é um instrução de salto, que interrompe ou modifica o fluxo do programa, neste caso, forçando a saída do loop prematuramente. No entanto, não é obrigatório inserir essa palavra.
Desta forma, não cortaríamos o fluxo do programa e verificaríamos o resto das opções (que sabemos que não será verdade) então será menos ideal. É muito importante notar que as verificações são feitas em ordemPortanto, se sabemos qual opção ou opções serão mais utilizadas, é melhor colocá-las primeiro.
O valor padrão que vemos no código é aquele usado se o valor inserido não corresponder a nenhum caso. Nesse caso, ele salta para o padrão automaticamente. No entanto, não é obrigatório incluir o padrão em nosso código.