Laços de repetição em arrays (Versão vídeo)
-
0:01 - 0:04Voltamos com um programa
que imprime array de amigos. -
0:04 - 0:07Mas tem algo nisso que me deixa irritada.
-
0:07 - 0:11Sempre que adiciono um novo amigo no array
tenho que adicionar um novo texto no fim. -
0:11 - 0:13Digamos que adicione Winston.
-
0:13 - 0:15Ele não irá aparecer automaticamente.
-
0:15 - 0:23Para aparecer, digito text(MyFriends[3])
e mudamos a posição y e veremos Winston. -
0:23 - 0:24É muito trabalhoso.
-
0:25 - 0:31Sempre que adicionar algo ao array, quero
que o texto seja adicionado automaticamente -
0:32 - 0:34Você se lembra de quando aprendemos laços?
-
0:34 - 0:38Laços de repetição foram um bom modo de
repetir o mesmo trecho de código várias vezes. -
0:38 - 0:43Como, se quiséssemos ter várias árvores
enfileiradas ou um monte de balões. -
0:43 - 0:49Laços de repetição é uma excelente maneira
de rodar um pedaço de código em cada array -
0:49 - 0:54De fato, você verá laço de repetição em
quase todas as vezes que ver um array. -
0:54 - 0:56Eles trabalham muito bem em conjunto.
-
0:57 - 1:00Vamos usar laços de repetição
para imprimir na tela nomes de amigos, -
1:00 - 1:04ao invés de usar todos esses comandos,
para mostrar o que eu quero dizer. -
1:04 - 1:08Comecemos com três perguntas que sempre
nos fazemos quando criamos um laço. -
1:08 - 1:12Primeiro, o que eu quero repetir? Veja.
O que é repetido? O comando texto. -
1:12 - 1:16O que quero mudar toda vez?
Bem, deixe-me ver o que é diferente. -
1:16 - 1:20A posição 'y' e o atual 'index', certo ?
-
1:20 - 1:25O número do amigo e a posição 'y'.
-
1:26 - 1:31E quantas vezes devo repetir? Bem,
repetiremos até que não haja mais amigos. -
1:33 - 1:36Então agora sabemos o que queremos,
e podemos criar nosso laço. -
1:36 - 1:40Começamos com a variável counter para
sabermos em que lugar do laço estamos. -
1:40 - 1:43Então vou dizer var friendNum = 0;
-
1:44 - 1:50Inicializaremos como zero, pois ele é o
o primeiro elemento do array, e não 1. -
1:50 - 1:57Teremos o nosso laço while, então diremos
while(friendNum < myfriends.length). -
1:57 - 2:02Iremos comparar o valor atual de "counter"
com a variável número de objetos no array. -
2:04 - 2:07Dentro do laço, será onde
usaremo o comando "text". -
2:07 - 2:11Diremos, text(myFriends)
- e aqui, ao invés do número -
2:11 - 2:14colocaremos friendNum porque representa
o número atual. -
2:14 - 2:18E então colocaremos apenas uma posição.
-
2:18 - 2:21Isto nos dá um pequeno erro de
repetição infinita -
2:21 - 2:25porque não mudamos de fato nada
no friendNum. -
2:25 - 2:28Lembre-se, precisamos incrementar
friendNum toda vez -
2:28 - 2:32caso contrário o laço sempre se repetirá
pois a condição sempre será verdadeira. -
2:32 - 2:38Vi que algo aconteceu. Comentarei o outro
código para poder ver o que houve. -
2:38 - 2:43O que temos é que mostramos todos os
nomes, mas eles um em cima do outro. -
2:43 - 2:45Então, precisamos mudar posição 'y'.
-
2:45 - 2:50Vamos dizer apenas 'friendNum * 30'.
-
2:50 - 2:55Ficou bom, mas Shophia está fora da tela e
ela não vai ficar feliz se descobrir isso. -
2:55 - 2:59Então, vamos adicionar apenas 30. Agora
todos aparecendo com 30. -
3:01 - 3:04Agora você verá que temos um laço para
imprimindo nosso array. -
3:04 - 3:09Isso significa que se adicionarmos mais
pessoas como OhNoesGuy, ou até mesmo Sal, -
3:09 - 3:13se eu incluí-los no array, então Sal será
meu amigo. Legal! Agora ele é meu colega. -
3:13 - 3:20Você vê que aparece automaticamente novos
amigos pois está percorrendo todo o array. -
3:20 - 3:24Então podemos apagar nosso código antigo.
Não precisamos mais dele. -
3:24 - 3:28Vamos dar uma olhada nesse código
novamente e revisar o que ele faz. -
3:29 - 3:31Começamos com friendNum = 0;.
-
3:31 - 3:34Verificamos se friendNum é menor que
o tamanho atual. -
3:34 - 3:38Então imagine que zero é menor que seis.
O que é verdade. -
3:38 - 3:42Então vamos pra cá e dizemos que 'text',
é igual valor de firendNum. -
3:42 - 3:44Isso vai virar zero, a primeira vez.
-
3:44 - 3:47E então 30 mais zero 30.
-
3:47 - 3:53Sophia aparece na posição 10 e 30.
É o que isso faz. -
3:53 - 3:56E então friendNum++, e vira 1.
-
3:56 - 4:00E código recomeça e valida, "Ok, 1 é menor
que o myFriends.Lenght? Sim é." -
4:00 - 4:02E continua e continua e continua.
-
4:02 - 4:04E então chegamos ao Sal, lembre,
-
4:06 - 4:09Sal é atualmente o sexto elemento
no array, mas seu índice é 5, -
4:09 - 4:11já que começamos com zero.
-
4:11 - 4:14Então, cinco é menor que seis? Sim.
-
4:14 - 4:16Então vai imprimir 'myFriends' cinco.
-
4:16 - 4:21E então vira seis e validamos.
"Seis é menor que seis?" Não, é igual. -
4:21 - 4:26Então será falso. Nunca
apresentaremos o sexto elemento. -
4:26 - 4:29O que é bom porque não
há nada na sexta posição. -
4:29 - 4:33Há um sexto elemento,
mas não há nada dentro. -
4:33 - 4:39Pode ser bem confuso, o fato de ser
zero e um, mas você pega o jeito. -
4:39 - 4:42Muito bem, esse é nosso laço.
-
4:42 - 4:46Agora, se você quiser, você pode usar
um laço do tipo "for" se você preferir. -
4:46 - 4:54Para laços do tipo "for", dizemos apenas
'for' e var friendNum=0; e a condição . -
4:54 - 4:58friendNum < myFriends.length;
-
4:58 - 5:01e o incremento: friendNum++
-
5:01 - 5:06E então dentro do laço 'for', podemos
colocar somente essa linha de código aqui. -
5:06 - 5:09E apenas mudarei o 'x'
para que você possa ver. -
5:09 - 5:12O resultado é o mesmo.
-
5:13 - 5:19Você que decide qual usar, mas a questão é
usar um laço com o array dará mais poder. -
5:19 - 5:22Legendado por [Valter Bigeli]
Revisado por [Fernando dos Reis]
- Title:
- Laços de repetição em arrays (Versão vídeo)
- Description:
-
Está é apenas a captura de tela de nosso passo a passo interativo, preparado para deixar a legendagem e tradução mais fácil. É melhor assistir nossos passo a passo aqui.
https://www.khanacademy.org/cs/programming/
- Video Language:
- English
- Duration:
- 05:22
Retired user edited Portuguese, Brazilian subtitles for Looping through Arrays (Video Version) | ||
Gabriel Fernandes edited Portuguese, Brazilian subtitles for Looping through Arrays (Video Version) | ||
Valter Bigeli edited Portuguese, Brazilian subtitles for Looping through Arrays (Video Version) | ||
Valter Bigeli edited Portuguese, Brazilian subtitles for Looping through Arrays (Video Version) | ||
Valter Bigeli edited Portuguese, Brazilian subtitles for Looping through Arrays (Video Version) | ||
Valter Bigeli edited Portuguese, Brazilian subtitles for Looping through Arrays (Video Version) | ||
Valter Bigeli edited Portuguese, Brazilian subtitles for Looping through Arrays (Video Version) | ||
Valter Bigeli edited Portuguese, Brazilian subtitles for Looping through Arrays (Video Version) |