YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Portuguese, Brazilian subtitles

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

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/

Get Embed Code
9 Languages

Showing Revision 11 created 03/19/2015 by Retired user.

  1. Voltamos com um programa
    que imprime array de amigos.

  2. Mas tem algo nisso que me deixa irritada.
  3. Sempre que adiciono um novo amigo no array
    tenho que adicionar um novo texto no fim.
  4. Digamos que adicione Winston.
  5. Ele não irá aparecer automaticamente.
  6. Para aparecer, digito text(MyFriends[3])
    e mudamos a posição y e veremos Winston.
  7. É muito trabalhoso.

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