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