0:00:01.091,0:00:04.062 Wracamy do programu[br]z tablicą moich znajomych. 0:00:04.163,0:00:06.269 Coś mnie tu irytuje. 0:00:06.853,0:00:11.145 Dodając znajomego, muszę też[br]dodać nowe polecenie „text”. 0:00:11.245,0:00:15.123 Powiedzmy, że dodaję Winstona.[br]Nie pokazuje się automatycznie. 0:00:15.223,0:00:19.545 Musiałabym napisać:[br]'text(myFriends[3]', 0:00:19.645,0:00:23.103 zmienić pozycję „y”[br]i dopiero zobaczymy Winstona. 0:00:23.203,0:00:24.798 Za dużo pracy! 0:00:24.898,0:00:28.019 Chcę, żeby za każdym razem,[br]gdy kogoś dodaję, 0:00:28.514,0:00:31.695 polecenie „text” pisało się samo. 0:00:31.795,0:00:34.256 Pamiętacie pętle? 0:00:34.356,0:00:38.316 To świetny sposób, żeby wiele razy[br]powtarzać fragment programu. 0:00:38.416,0:00:42.469 Np. gdybyśmy chcieli mieć[br]szereg drzew lub grupę baloników. 0:00:43.146,0:00:45.929 Okazuje się,[br]że pętle to też dobry sposób, 0:00:46.029,0:00:49.504 by powtarzać fragment programu[br]przy każdym elemencie tablicy. 0:00:49.604,0:00:53.684 Będziecie używać pętli[br]przy każdym użyciu tablicy. 0:00:53.784,0:00:55.956 Dobrze współpracują. 0:00:57.322,0:00:59.934 Za pomocą pętli pokażę[br]imiona znajomych, 0:01:00.034,0:01:03.460 zamiast pisać te wszystkie[br]polecenia „text”. 0:01:03.560,0:01:07.059 Zacznijmy od trzech pytań[br]związanych z pętlą. 0:01:07.561,0:01:09.358 1.: „Co chcę powtarzać?”. 0:01:09.458,0:01:13.158 Zobaczmy. Co się powtarza?[br]Polecenie „text”. 0:01:13.258,0:01:16.679 Co chcę zawsze zmieniać?[br]Spójrzmy, co się zmienia. 0:01:16.779,0:01:20.387 Pozycja „y” i indeks, tak? 0:01:20.921,0:01:25.402 Numer znajomego[br]oraz pozycja „y”. 0:01:25.913,0:01:30.790 A jak długo mamy to powtarzać?[br]Aż skończą się znajomi. 0:01:33.228,0:01:37.129 Wiemy, czego chcemy,[br]możemy więc zrobić pętlę. 0:01:37.229,0:01:40.695 Najpierw licznik, [br]by wiedzieć, gdzie jesteśmy. 0:01:40.795,0:01:43.282 Powiemy: 'var friendNum = 0;' 0:01:44.187,0:01:45.720 Zaczniemy od zera, 0:01:45.820,0:01:49.482 bo pamiętajcie, to jest pierwszy[br]element tablicy, nie 1. 0:01:50.209,0:01:53.592 Teraz pętla warunkowa.[br]Napiszemy: 'while(friendNum... 0:01:53.692,0:01:57.028 < my friends.length)'. 0:01:57.725,0:01:59.981 Porównamy licznik 0:02:00.081,0:02:02.740 z łączną liczbą rzeczy w tablicy. 0:02:03.847,0:02:06.873 Wewnątrz pętli użyjemy[br]polecenia „text”. 0:02:06.973,0:02:09.315 Piszemy: 'text(myFriends['. 0:02:09.414,0:02:11.912 Zamiast liczby wstawimy 'friendNum', 0:02:12.012,0:02:14.204 bo oznacza bieżącą liczbę. 0:02:14.304,0:02:17.415 Na razie wprowadzimy jedną pozycję. 0:02:18.172,0:02:21.562 I mamy komunikat o błędzie[br]„pętla nieskończona”, 0:02:21.662,0:02:25.672 bo nie zmieniliśmy nic[br]we „friendNum”. 0:02:25.772,0:02:30.024 Zawsze zwiększamy „friendNum”.[br]Inaczej pętla się nie skończy, 0:02:30.124,0:02:32.369 bo ten warunek[br]zawsze jest prawdziwy. 0:02:32.469,0:02:34.615 Coś się zdarzyło. 0:02:34.715,0:02:37.895 Porzucę stary program,[br]prześledzimy to. 0:02:37.995,0:02:42.771 Wyświetliły się wszystkie imiona,[br]ale jedne na drugich. 0:02:43.392,0:02:45.163 Trzeba zmienić pozycję „y”. 0:02:45.263,0:02:49.970 Powiedzmy: 'friendNum*30'. 0:02:50.070,0:02:52.127 Dobrze, ale Sophia zniknęła. 0:02:52.227,0:02:54.942 Jeśli się dowie,[br]nie będzie zadowolona. 0:02:55.042,0:02:59.350 Dodajmy do tego 30.[br]Teraz wszystkie się rozsuną. 0:02:59.450,0:03:04.016 Pięknie! Dzięki pętli[br]pokazuje się tablica. 0:03:04.116,0:03:08.940 Jeśli dodamy więcej ludzi,[br]np. faceta „O, nie!” lub Sala... 0:03:09.040,0:03:11.800 Dodam go do tablicy[br]i będzie moim znajomym. 0:03:11.900,0:03:13.654 Świetnie! To mój kumpel! 0:03:13.754,0:03:18.100 Jak widać, program automatycznie[br]pokazuje nowych znajomych, 0:03:18.200,0:03:20.875 bo zawsze przechodzi[br]przez całą tablicę. 0:03:20.975,0:03:24.242 Możemy skasować stary program.[br]Już go nie potrzebujemy. 0:03:24.342,0:03:28.412 Przejrzyjmy ten program[br]i zobaczmy, co robi. 0:03:28.512,0:03:31.394 Zaczynamy od „friendNum”[br]równego zero. 0:03:31.494,0:03:34.960 Sprawdzamy, czy „friendNum”[br]jest mniejsze niż bieżąca długość. 0:03:35.060,0:03:37.756 Zero jest mniejsze od sześciu.[br]To prawda. 0:03:37.856,0:03:41.658 Wejdźmy tutaj i napiszmy:[br]„text my friends friendNum”. 0:03:41.758,0:03:44.327 To będzie zero. Pierwszy punkt. 0:03:44.427,0:03:47.274 A potem 30 plus zero razy 30. 0:03:47.374,0:03:51.549 Program pokazuje Sophię[br]w pozycji 10-30. 0:03:51.649,0:03:56.057 Właśnie tak. Później:[br]- „friendNum++”. I robi się 1. 0:03:56.157,0:03:59.790 Program pyta: „Czy 1 to mniej[br]niż myFriends.length?”. Tak. 0:03:59.890,0:04:01.951 I działa dalej, i dalej... 0:04:02.051,0:04:04.134 W końcu dochodzimy do Sala. 0:04:04.234,0:04:07.594 Jest szóstym elementem tablicy, 0:04:07.694,0:04:11.263 ale ma nr 5, bo zaczynamy od zera. 0:04:11.363,0:04:13.701 Czy 5 jest mniejsze od 6? Tak. 0:04:13.801,0:04:15.791 Program pokazuje „myFriends5”. 0:04:15.891,0:04:18.603 Dalej jest 6. Pytamy: 0:04:18.704,0:04:21.819 „Czy 6 jest mniejsze od 6?”.[br]Nie: jest równe. 0:04:21.918,0:04:25.613 To fałsz. Program nie pokaże[br]szóstego elementu. 0:04:25.713,0:04:29.614 I dobrze, bo żaden nie ma[br]takiego numeru. 0:04:29.714,0:04:33.136 Jest szósty element,[br]ale numeru szóstego nie ma. 0:04:33.236,0:04:38.801 To zero i jedynka mogą wam mącić[br]w głowach, ale przywykniecie. 0:04:39.939,0:04:41.890 To jest nasza pętla. 0:04:41.990,0:04:46.394 Możecie też używać pętli FOR,[br]jeśli takie wolicie. 0:04:46.494,0:04:52.449 Wtedy powiemy tylko:[br]„for' i 'var friendNum = 0;” 0:04:52.549,0:04:57.842 i podamy warunek:[br]„friendNum < myFriends.length” 0:04:57.942,0:05:00.837 oraz zmianę: 'friendNum++' 0:05:01.621,0:05:06.247 Wewnątrz pętli FOR[br]umieścimy ten fragment programu. 0:05:06.697,0:05:09.196 Zmienię „x”, żebyście zobaczyli, 0:05:09.296,0:05:12.633 że program robi to samo. 0:05:12.733,0:05:17.015 Używajcie do tablic pętli, 0:05:17.115,0:05:19.460 bo to wam da wielką moc!