1 00:00:00,700 --> 00:00:02,167 Vamos falar sobre loops. 2 00:00:02,167 --> 00:00:04,394 Temos um loop while aqui. E com algumas 3 00:00:04,394 --> 00:00:06,304 linhas de código, posso escrever esta mensagem 4 00:00:06,304 --> 00:00:07,454 até o final da tela 5 00:00:07,454 --> 00:00:09,404 Se eu for em frente e mudar a mensagem assim, 6 00:00:09,404 --> 00:00:10,234 para melhorá-la, 7 00:00:10,234 --> 00:00:11,696 todas elas mudam. 8 00:00:11,926 --> 00:00:14,004 Então, como isso está funcionando? 9 00:00:14,004 --> 00:00:15,578 Bem, podemos rever esse código 10 00:00:15,578 --> 00:00:17,838 daqui a pouco. Mas primeiro vamos voltar um pouco 11 00:00:17,838 --> 00:00:20,014 e pensar como escreveríamos este programa 12 00:00:20,014 --> 00:00:22,939 usando apenas o que sabemos até agora sem usar loops. 13 00:00:22,944 --> 00:00:23,839 Para isso, 14 00:00:23,839 --> 00:00:25,506 vamos escrever um monte de text() 15 00:00:25,506 --> 00:00:26,933 várias vezes, certo? 16 00:00:26,933 --> 00:00:28,857 Vamos escrever "text()", "message"... 17 00:00:28,857 --> 00:00:30,600 vou colocá-lo em primeiro lugar, 18 00:00:30,600 --> 00:00:32,512 e agora é só uma questão de repetir isso 19 00:00:32,512 --> 00:00:33,554 várias vezes 20 00:00:33,554 --> 00:00:34,662 para então, 21 00:00:34,662 --> 00:00:36,530 chegarmos até o final 22 00:00:36,530 --> 00:00:38,949 E isso vai dar trabalho, certo? 23 00:00:38,949 --> 00:00:41,192 Porque o final é realmente muito longe. 24 00:00:41,192 --> 00:00:43,722 E é ainda pior se você em seguida apontar para mim 25 00:00:43,722 --> 00:00:46,637 "hey, na verdade aqui não era 70. Precisa estar mais perto, 26 00:00:46,637 --> 00:00:47,545 "precisa ser, tipo, 60." 27 00:00:47,545 --> 00:00:49,192 E agora afeta este aqui, 28 00:00:49,192 --> 00:00:51,139 porque ele também precisa ser menor. 29 00:00:51,139 --> 00:00:52,963 E assim por diante, 30 00:00:52,963 --> 00:00:55,287 à medida que temos mais chamadas de text(). 31 00:00:55,287 --> 00:00:58,239 E, de fato, desta forma vai demorar para chegar ao final. 32 00:00:58,239 --> 00:01:00,246 Então, isso é mesmo massante, 33 00:01:00,246 --> 00:01:02,373 e felizmente temos loops para nos ajudar. 34 00:01:02,373 --> 00:01:05,324 A partir de agora, sempre que você ver um código repetitivo assim, 35 00:01:05,324 --> 00:01:07,631 pense: "Eu pdoeria usar um loop?" 36 00:01:07,631 --> 00:01:09,366 Um loop vai nos deixar repetir 37 00:01:09,366 --> 00:01:13,224 este pedaço de código sempre, apenas fazendo pequenas mudanças a cada vez. 38 00:01:13,224 --> 00:01:16,015 Aqui está como reescreveríamos esse código com um loop. 39 00:01:16,015 --> 00:01:18,176 Para começar, é preciso digitar "while", 40 00:01:18,176 --> 00:01:20,444 os parênteses, e as chaves. 41 00:01:20,614 --> 00:01:22,142 Vamos receber essa mensagem, 42 00:01:22,142 --> 00:01:23,601 mas só porque não terminamos ainda. 43 00:01:23,601 --> 00:01:25,990 Não se preocupe, ela vai embora quando terminar. 44 00:01:26,030 --> 00:01:27,766 Cada vez que você escrever um loop 45 00:01:27,766 --> 00:01:28,894 você precisa responder 46 00:01:28,894 --> 00:01:30,172 a três perguntas-chave. 47 00:01:30,952 --> 00:01:32,550 E aqui estão elas: 48 00:01:32,840 --> 00:01:35,041 Então, a primeira pergunta é: 49 00:01:35,041 --> 00:01:37,170 "O que eu quero repetir?" 50 00:01:37,170 --> 00:01:38,949 E tudo que vamos querer repetir 51 00:01:38,949 --> 00:01:41,028 precisa ir em entre estas chaves. 52 00:01:41,468 --> 00:01:44,169 Queremos repetir a chamada de "text()" neste caso. 53 00:01:44,169 --> 00:01:45,910 Então vá em frente e coloque-o aqui. 54 00:01:46,230 --> 00:01:47,815 Mas é um pouco bobo, né? 55 00:01:47,815 --> 00:01:49,760 Porque agora vamos apenas repetir 56 00:01:49,760 --> 00:01:51,580 a mesma chamada de text() sempre 57 00:01:51,580 --> 00:01:53,053 o que não está muito certo, né? 58 00:01:53,053 --> 00:01:54,756 precisamos de algo que esteja mudando. 59 00:01:54,756 --> 00:01:56,328 Isso nos leva à segunda pergunta, que é: 60 00:01:56,328 --> 00:01:58,000 "O que eu quero mudar de cada vez?" 61 00:01:58,000 --> 00:01:59,781 Queremos mudar esta posição "y", certo? 62 00:01:59,781 --> 00:02:01,448 Queremos que "y" se torne 60 63 00:02:01,448 --> 00:02:02,755 depois que se torne 80 64 00:02:02,755 --> 00:02:05,053 Então, vamos criar uma variável 65 00:02:05,053 --> 00:02:07,597 chamada "y", porque é a posição y. 66 00:02:07,597 --> 00:02:10,231 Vamos declarar uma variável aqui. 67 00:02:10,231 --> 00:02:11,845 Vou iniciá-la em 40. 68 00:02:12,085 --> 00:02:13,091 E agora, finalmente, 69 00:02:13,091 --> 00:02:14,407 só precisamos mudar "y". 70 00:02:14,407 --> 00:02:15,784 Podemos fazer isso aqui para baixo 71 00:02:15,784 --> 00:02:17,571 podemos dizer "y é igual a y mais 20" 72 00:02:17,571 --> 00:02:19,682 e "y" irá aumentar toda vez. 73 00:02:19,682 --> 00:02:21,623 Na verdade, podemos usar nossa lição 74 00:02:21,623 --> 00:02:23,402 de atalhos de incremento aqui. 75 00:02:23,402 --> 00:02:24,998 Nós podemos apenas ir em frente 76 00:02:24,998 --> 00:02:26,474 e usar o atalho. 77 00:02:26,644 --> 00:02:28,424 Então, isso é fantástico. 78 00:02:28,424 --> 00:02:30,931 E só precisamos fazer a pergutna três agora. Que é: 79 00:02:30,931 --> 00:02:32,735 "Por quanto tempo devemos repetir isso?" 80 00:02:32,735 --> 00:02:34,924 Queremos repetir isso várias vezes, 81 00:02:34,924 --> 00:02:37,023 mas, não vamos repetir para sempre, certo? 82 00:02:37,023 --> 00:02:38,109 Se fizermos isso, 83 00:02:38,109 --> 00:02:39,749 primeiro que é um tempo muito longo para esperar, 84 00:02:39,749 --> 00:02:41,529 e, segundo, que pode até travar o seu browser. 85 00:02:41,529 --> 00:02:42,983 Mas esperamos que não. 86 00:02:42,983 --> 00:02:44,779 De verdade, só queremos fazer isso 87 00:02:44,779 --> 00:02:46,975 até chegarmos no final da página, certo? 88 00:02:46,975 --> 00:02:50,531 O que significa que queremos seguir enquanto "y"for menos que 400. 89 00:02:50,569 --> 00:02:52,321 Portanto, colocamos isso aqui, 90 00:02:52,321 --> 00:02:53,393 e está pronto! 91 00:02:53,393 --> 00:02:55,348 Temos esta mensagem está sendo escrita 92 00:02:55,348 --> 00:02:56,533 até o final da tela. 93 00:02:56,533 --> 00:02:58,300 E você pode ver que isso é bem mais simples 94 00:02:58,300 --> 00:02:59,638 que nossa abordagem anterior, 95 00:02:59,638 --> 00:03:01,727 que demorou pra escrevermos. 96 00:03:01,727 --> 00:03:03,816 e nem chegamos à um quarto disso. 97 00:03:03,816 --> 00:03:05,907 Assim, podemos nos livrar disso, 98 00:03:05,907 --> 00:03:07,339 e aí temos o nosso programa. 99 00:03:07,809 --> 00:03:10,707 Agora, vamos tentar entender melhor o que está acontecendo. 100 00:03:10,707 --> 00:03:12,465 Vou imprimir na tela 101 00:03:12,465 --> 00:03:13,520 "y" de cada vez. 102 00:03:13,520 --> 00:03:15,715 Eu vou dizer "y é agora" e, aqui embaixo, 103 00:03:15,715 --> 00:03:18,157 vou colocar "y" no final da mensagem, 104 00:03:18,157 --> 00:03:19,424 para que possamos vê-lo. 105 00:03:19,424 --> 00:03:20,381 Então, no momento, 106 00:03:20,381 --> 00:03:22,618 o valor está mudando a cada 20, certo? 107 00:03:22,618 --> 00:03:23,997 E podemos mudar isso 108 00:03:23,997 --> 00:03:25,810 apenas alterando essa variável aqui. 109 00:03:25,810 --> 00:03:28,333 Ou você pode mudar para, tipo, 50. 110 00:03:28,693 --> 00:03:30,988 E agora, agora estão mudando a cada 50. 111 00:03:30,988 --> 00:03:31,863 Da mesma forma, 112 00:03:31,863 --> 00:03:33,788 você pode brincar com outros valores 113 00:03:33,788 --> 00:03:35,114 para alterá-los. 114 00:03:35,114 --> 00:03:36,918 E você pode ver como isso afeta 115 00:03:36,918 --> 00:03:39,172 onde o programa para. 116 00:03:40,572 --> 00:03:41,585 Assim, para entender isso, 117 00:03:43,612 --> 00:03:45,134 você pode pensar nele como uma condicional. 118 00:03:45,134 --> 00:03:47,342 Nós temos nossa expressão booleana aqui 119 00:03:47,342 --> 00:03:48,781 como você já aprendeu. 120 00:03:48,781 --> 00:03:51,670 Então executamos o corpo da... declaração, 121 00:03:51,670 --> 00:03:52,449 esta parte, 122 00:03:52,449 --> 00:03:54,268 somente se a expressão é verdadeira. 123 00:03:54,268 --> 00:03:56,418 E caso contrário, pulamos para o fim. 124 00:03:56,418 --> 00:03:58,080 Mas o é interessante é que, 125 00:03:58,080 --> 00:03:59,728 com um loop "while" 126 00:03:59,728 --> 00:04:01,636 temos algo secreto acontecendo na parte inferior. 127 00:04:01,636 --> 00:04:04,304 que diz "volte para o início do loop". 128 00:04:05,224 --> 00:04:07,202 E o que esta instrução secreta significa 129 00:04:07,202 --> 00:04:10,512 é que em vez de sair e seguir em frente, 130 00:04:10,512 --> 00:04:12,042 como com uma condicional, 131 00:04:12,042 --> 00:04:14,039 cada vez que executamos o corpo do loop 132 00:04:14,039 --> 00:04:15,520 nós vamos voltar e verificar 133 00:04:15,520 --> 00:04:17,231 se a condição ainda é verdadeira. 134 00:04:17,231 --> 00:04:18,043 E se for, 135 00:04:18,043 --> 00:04:20,075 vamos apenas repetir mais uma vez. 136 00:04:20,075 --> 00:04:22,832 E, assim como você deve ter adivinhado, a segunda vez que repetimos 137 00:04:22,832 --> 00:04:23,768 faremos a mesma coisa. 138 00:04:23,768 --> 00:04:25,620 "Volte para o início, 139 00:04:25,620 --> 00:04:28,162 'y' ainda é menor do que 279?" 140 00:04:28,582 --> 00:04:30,435 E se for, vamos repetir mais uma vez 141 00:04:30,435 --> 00:04:31,648 e continuar verificando. 142 00:04:31,648 --> 00:04:33,924 E se não for, voltamos para o início aqui. 143 00:04:33,924 --> 00:04:34,730 E, finalmente, 144 00:04:34,730 --> 00:04:36,017 saímos do loop, 145 00:04:36,017 --> 00:04:38,504 e continuamos com nosso programa. 146 00:04:38,504 --> 00:04:40,056 Excelente! Existem maneiras mais 147 00:04:40,056 --> 00:04:41,401 interessantes de usar laços 148 00:04:41,401 --> 00:04:42,548 que aprenderemos em breve. 149 00:04:42,548 --> 00:04:45,593 Mas por enquanto, você está pronto pra um ótimo começo. 150 00:04:45,593 --> 00:04:46,874 Legendado por [Pablo Vieira] Revisado por [Cainã Perri]