1
00:00:01,113 --> 00:00:03,718
Voltamos com um programa
que imprime array de amigos.
2
00:00:03,718 --> 00:00:07,007
Mas tem algo nisso que me deixa irritada.
3
00:00:07,007 --> 00:00:11,295
Sempre que adiciono um novo amigo no array
tenho que adicionar um novo texto no fim.
4
00:00:11,295 --> 00:00:13,378
Digamos que adicione Winston.
5
00:00:13,378 --> 00:00:15,211
Ele não irá aparecer automaticamente.
6
00:00:15,211 --> 00:00:22,615
Para aparecer, digito text(MyFriends[3])
e mudamos a posição y e veremos Winston.
7
00:00:23,160 --> 00:00:24,334
É muito trabalhoso.
8
00:00:24,854 --> 00:00:30,699
Sempre que adicionar algo ao array, quero
que o texto seja adicionado automaticamente
9
00:00:31,807 --> 00:00:34,496
Você se lembra de quando aprendemos laços?
10
00:00:34,496 --> 00:00:38,248
Laços de repetição foram um bom modo de
repetir o mesmo trecho de código várias vezes.
11
00:00:38,248 --> 00:00:43,273
Como, se quiséssemos ter várias árvores
enfileiradas ou um monte de balões.
12
00:00:43,273 --> 00:00:48,914
Laços de repetição é uma excelente maneira
de rodar um pedaço de código em cada array
13
00:00:48,914 --> 00:00:53,595
De fato, você verá laço de repetição em
quase todas as vezes que ver um array.
14
00:00:53,595 --> 00:00:56,198
Eles trabalham muito bem em conjunto.
15
00:00:57,238 --> 00:00:59,697
Vamos usar laços de repetição
para imprimir na tela nomes de amigos,
16
00:00:59,697 --> 00:01:03,576
ao invés de usar todos esses comandos,
para mostrar o que eu quero dizer.
17
00:01:03,576 --> 00:01:07,655
Comecemos com três perguntas que sempre
nos fazemos quando criamos um laço.
18
00:01:07,655 --> 00:01:11,819
Primeiro, o que eu quero repetir? Veja.
O que é repetido? O comando texto.
19
00:01:11,819 --> 00:01:16,445
O que quero mudar toda vez?
Bem, deixe-me ver o que é diferente.
20
00:01:16,445 --> 00:01:19,991
A posição 'y' e o atual 'index', certo ?
21
00:01:19,991 --> 00:01:25,478
O número do amigo e a posição 'y'.
22
00:01:25,698 --> 00:01:30,868
E quantas vezes devo repetir? Bem,
repetiremos até que não haja mais amigos.
23
00:01:33,078 --> 00:01:36,192
Então agora sabemos o que queremos,
e podemos criar nosso laço.
24
00:01:36,192 --> 00:01:39,836
Começamos com a variável counter para
sabermos em que lugar do laço estamos.
25
00:01:39,836 --> 00:01:43,350
Então vou dizer var friendNum = 0;
26
00:01:44,190 --> 00:01:49,508
Inicializaremos como zero, pois ele é o
o primeiro elemento do array, e não 1.
27
00:01:49,508 --> 00:01:57,031
Teremos o nosso laço while, então diremos
while(friendNum < myfriends.length).
28
00:01:57,031 --> 00:02:02,426
Iremos comparar o valor atual de "counter"
com a variável número de objetos no array.
29
00:02:03,696 --> 00:02:06,906
Dentro do laço, será onde
usaremo o comando "text".
30
00:02:06,906 --> 00:02:10,776
Diremos, text(myFriends)
- e aqui, ao invés do número
31
00:02:10,776 --> 00:02:13,578
colocaremos friendNum porque representa
o número atual.
32
00:02:14,218 --> 00:02:17,929
E então colocaremos apenas uma posição.
33
00:02:17,929 --> 00:02:21,060
Isto nos dá um pequeno erro de
repetição infinita
34
00:02:21,060 --> 00:02:25,343
porque não mudamos de fato nada
no friendNum.
35
00:02:25,343 --> 00:02:27,766
Lembre-se, precisamos incrementar
friendNum toda vez
36
00:02:27,766 --> 00:02:31,540
caso contrário o laço sempre se repetirá
pois a condição sempre será verdadeira.
37
00:02:31,900 --> 00:02:38,030
Vi que algo aconteceu. Comentarei o outro
código para poder ver o que houve.
38
00:02:38,030 --> 00:02:42,891
O que temos é que mostramos todos os
nomes, mas eles um em cima do outro.
39
00:02:42,891 --> 00:02:45,017
Então, precisamos mudar posição 'y'.
40
00:02:45,017 --> 00:02:49,576
Vamos dizer apenas 'friendNum * 30'.
41
00:02:49,976 --> 00:02:54,611
Ficou bom, mas Shophia está fora da tela e
ela não vai ficar feliz se descobrir isso.
42
00:02:54,611 --> 00:02:59,219
Então, vamos adicionar apenas 30. Agora
todos aparecendo com 30.
43
00:03:00,709 --> 00:03:03,847
Agora você verá que temos um laço para
imprimindo nosso array.
44
00:03:03,847 --> 00:03:08,585
Isso significa que se adicionarmos mais
pessoas como OhNoesGuy, ou até mesmo Sal,
45
00:03:08,585 --> 00:03:13,384
se eu incluí-los no array, então Sal será
meu amigo. Legal! Agora ele é meu colega.
46
00:03:13,384 --> 00:03:20,089
Você vê que aparece automaticamente novos
amigos pois está percorrendo todo o array.
47
00:03:20,089 --> 00:03:23,671
Então podemos apagar nosso código antigo.
Não precisamos mais dele.
48
00:03:24,031 --> 00:03:27,696
Vamos dar uma olhada nesse código
novamente e revisar o que ele faz.
49
00:03:28,556 --> 00:03:31,037
Começamos com friendNum = 0;.
50
00:03:31,257 --> 00:03:33,868
Verificamos se friendNum é menor que
o tamanho atual.
51
00:03:33,868 --> 00:03:37,533
Então imagine que zero é menor que seis.
O que é verdade.
52
00:03:37,943 --> 00:03:41,641
Então vamos pra cá e dizemos que 'text',
é igual valor de firendNum.
53
00:03:41,641 --> 00:03:43,892
Isso vai virar zero, a primeira vez.
54
00:03:43,892 --> 00:03:47,234
E então 30 mais zero 30.
55
00:03:47,234 --> 00:03:53,185
Sophia aparece na posição 10 e 30.
É o que isso faz.
56
00:03:53,185 --> 00:03:55,822
E então friendNum++, e vira 1.
57
00:03:55,822 --> 00:03:59,795
E código recomeça e valida, "Ok, 1 é menor
que o myFriends.Lenght? Sim é."
58
00:03:59,795 --> 00:04:01,718
E continua e continua e continua.
59
00:04:01,718 --> 00:04:04,249
E então chegamos ao Sal, lembre,
60
00:04:06,140 --> 00:04:09,102
Sal é atualmente o sexto elemento
no array, mas seu índice é 5,
61
00:04:09,102 --> 00:04:10,806
já que começamos com zero.
62
00:04:10,806 --> 00:04:13,517
Então, cinco é menor que seis? Sim.
63
00:04:13,517 --> 00:04:15,796
Então vai imprimir 'myFriends' cinco.
64
00:04:15,796 --> 00:04:21,332
E então vira seis e validamos.
"Seis é menor que seis?" Não, é igual.
65
00:04:21,332 --> 00:04:25,518
Então será falso. Nunca
apresentaremos o sexto elemento.
66
00:04:25,518 --> 00:04:29,250
O que é bom porque não
há nada na sexta posição.
67
00:04:29,250 --> 00:04:33,152
Há um sexto elemento,
mas não há nada dentro.
68
00:04:33,152 --> 00:04:38,922
Pode ser bem confuso, o fato de ser
zero e um, mas você pega o jeito.
69
00:04:38,922 --> 00:04:42,000
Muito bem, esse é nosso laço.
70
00:04:42,000 --> 00:04:46,362
Agora, se você quiser, você pode usar
um laço do tipo "for" se você preferir.
71
00:04:46,362 --> 00:04:54,065
Para laços do tipo "for", dizemos apenas
'for' e var friendNum=0; e a condição .
72
00:04:54,065 --> 00:04:57,602
friendNum < myFriends.length;
73
00:04:57,602 --> 00:05:00,817
e o incremento: friendNum++
74
00:05:00,817 --> 00:05:06,312
E então dentro do laço 'for', podemos
colocar somente essa linha de código aqui.
75
00:05:06,312 --> 00:05:09,228
E apenas mudarei o 'x'
para que você possa ver.
76
00:05:09,228 --> 00:05:11,534
O resultado é o mesmo.
77
00:05:12,874 --> 00:05:19,261
Você que decide qual usar, mas a questão é
usar um laço com o array dará mais poder.
78
00:05:19,261 --> 00:05:22,000
Legendado por [Valter Bigeli]
Revisado por [Fernando dos Reis]