< Return to Video

Laços de repetição em arrays (Versão vídeo)

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

more » « less
Video Language:
English
Duration:
05:22

Portuguese, Brazilian subtitles

Revisions