1 00:00:01,091 --> 00:00:04,062 Wracamy do programu z tablicą moich znajomych. 2 00:00:04,163 --> 00:00:06,269 Coś mnie tu irytuje. 3 00:00:06,853 --> 00:00:11,145 Dodając znajomego, muszę też dodać nowe polecenie „text”. 4 00:00:11,245 --> 00:00:15,123 Powiedzmy, że dodaję Winstona. Nie pokazuje się automatycznie. 5 00:00:15,223 --> 00:00:19,545 Musiałabym napisać: 'text(myFriends[3]', 6 00:00:19,645 --> 00:00:23,103 zmienić pozycję „y” i dopiero zobaczymy Winstona. 7 00:00:23,203 --> 00:00:24,798 Za dużo pracy! 8 00:00:24,898 --> 00:00:28,019 Chcę, żeby za każdym razem, gdy kogoś dodaję, 9 00:00:28,514 --> 00:00:31,695 polecenie „text” pisało się samo. 10 00:00:31,795 --> 00:00:34,256 Pamiętacie pętle? 11 00:00:34,356 --> 00:00:38,316 To świetny sposób, żeby wiele razy powtarzać fragment programu. 12 00:00:38,416 --> 00:00:42,469 Np. gdybyśmy chcieli mieć szereg drzew lub grupę baloników. 13 00:00:43,146 --> 00:00:45,929 Okazuje się, że pętle to też dobry sposób, 14 00:00:46,029 --> 00:00:49,504 by powtarzać fragment programu przy każdym elemencie tablicy. 15 00:00:49,604 --> 00:00:53,684 Będziecie używać pętli przy każdym użyciu tablicy. 16 00:00:53,784 --> 00:00:55,956 Dobrze współpracują. 17 00:00:57,322 --> 00:00:59,934 Za pomocą pętli pokażę imiona znajomych, 18 00:01:00,034 --> 00:01:03,460 zamiast pisać te wszystkie polecenia „text”. 19 00:01:03,560 --> 00:01:07,059 Zacznijmy od trzech pytań związanych z pętlą. 20 00:01:07,561 --> 00:01:09,358 1.: „Co chcę powtarzać?”. 21 00:01:09,458 --> 00:01:13,158 Zobaczmy. Co się powtarza? Polecenie „text”. 22 00:01:13,258 --> 00:01:16,679 Co chcę zawsze zmieniać? Spójrzmy, co się zmienia. 23 00:01:16,779 --> 00:01:20,387 Pozycja „y” i indeks, tak? 24 00:01:20,921 --> 00:01:25,402 Numer znajomego oraz pozycja „y”. 25 00:01:25,913 --> 00:01:30,790 A jak długo mamy to powtarzać? Aż skończą się znajomi. 26 00:01:33,228 --> 00:01:37,129 Wiemy, czego chcemy, możemy więc zrobić pętlę. 27 00:01:37,229 --> 00:01:40,695 Najpierw licznik, by wiedzieć, gdzie jesteśmy. 28 00:01:40,795 --> 00:01:43,282 Powiemy: 'var friendNum = 0;' 29 00:01:44,187 --> 00:01:45,720 Zaczniemy od zera, 30 00:01:45,820 --> 00:01:49,482 bo pamiętajcie, to jest pierwszy element tablicy, nie 1. 31 00:01:50,209 --> 00:01:53,592 Teraz pętla warunkowa. Napiszemy: 'while(friendNum... 32 00:01:53,692 --> 00:01:57,028 < my friends.length)'. 33 00:01:57,725 --> 00:01:59,981 Porównamy licznik 34 00:02:00,081 --> 00:02:02,740 z łączną liczbą rzeczy w tablicy. 35 00:02:03,847 --> 00:02:06,873 Wewnątrz pętli użyjemy polecenia „text”. 36 00:02:06,973 --> 00:02:09,315 Piszemy: 'text(myFriends['. 37 00:02:09,414 --> 00:02:11,912 Zamiast liczby wstawimy 'friendNum', 38 00:02:12,012 --> 00:02:14,204 bo oznacza bieżącą liczbę. 39 00:02:14,304 --> 00:02:17,415 Na razie wprowadzimy jedną pozycję. 40 00:02:18,172 --> 00:02:21,562 I mamy komunikat o błędzie „pętla nieskończona”, 41 00:02:21,662 --> 00:02:25,672 bo nie zmieniliśmy nic we „friendNum”. 42 00:02:25,772 --> 00:02:30,024 Zawsze zwiększamy „friendNum”. Inaczej pętla się nie skończy, 43 00:02:30,124 --> 00:02:32,369 bo ten warunek zawsze jest prawdziwy. 44 00:02:32,469 --> 00:02:34,615 Coś się zdarzyło. 45 00:02:34,715 --> 00:02:37,895 Porzucę stary program, prześledzimy to. 46 00:02:37,995 --> 00:02:42,771 Wyświetliły się wszystkie imiona, ale jedne na drugich. 47 00:02:43,392 --> 00:02:45,163 Trzeba zmienić pozycję „y”. 48 00:02:45,263 --> 00:02:49,970 Powiedzmy: 'friendNum*30'. 49 00:02:50,070 --> 00:02:52,127 Dobrze, ale Sophia zniknęła. 50 00:02:52,227 --> 00:02:54,942 Jeśli się dowie, nie będzie zadowolona. 51 00:02:55,042 --> 00:02:59,350 Dodajmy do tego 30. Teraz wszystkie się rozsuną. 52 00:02:59,450 --> 00:03:04,016 Pięknie! Dzięki pętli pokazuje się tablica. 53 00:03:04,116 --> 00:03:08,940 Jeśli dodamy więcej ludzi, np. faceta „O, nie!” lub Sala... 54 00:03:09,040 --> 00:03:11,800 Dodam go do tablicy i będzie moim znajomym. 55 00:03:11,900 --> 00:03:13,654 Świetnie! To mój kumpel! 56 00:03:13,754 --> 00:03:18,100 Jak widać, program automatycznie pokazuje nowych znajomych, 57 00:03:18,200 --> 00:03:20,875 bo zawsze przechodzi przez całą tablicę. 58 00:03:20,975 --> 00:03:24,242 Możemy skasować stary program. Już go nie potrzebujemy. 59 00:03:24,342 --> 00:03:28,412 Przejrzyjmy ten program i zobaczmy, co robi. 60 00:03:28,512 --> 00:03:31,394 Zaczynamy od „friendNum” równego zero. 61 00:03:31,494 --> 00:03:34,960 Sprawdzamy, czy „friendNum” jest mniejsze niż bieżąca długość. 62 00:03:35,060 --> 00:03:37,756 Zero jest mniejsze od sześciu. To prawda. 63 00:03:37,856 --> 00:03:41,658 Wejdźmy tutaj i napiszmy: „text my friends friendNum”. 64 00:03:41,758 --> 00:03:44,327 To będzie zero. Pierwszy punkt. 65 00:03:44,427 --> 00:03:47,274 A potem 30 plus zero razy 30. 66 00:03:47,374 --> 00:03:51,549 Program pokazuje Sophię w pozycji 10-30. 67 00:03:51,649 --> 00:03:56,057 Właśnie tak. Później: - „friendNum++”. I robi się 1. 68 00:03:56,157 --> 00:03:59,790 Program pyta: „Czy 1 to mniej niż myFriends.length?”. Tak. 69 00:03:59,890 --> 00:04:01,951 I działa dalej, i dalej... 70 00:04:02,051 --> 00:04:04,134 W końcu dochodzimy do Sala. 71 00:04:04,234 --> 00:04:07,594 Jest szóstym elementem tablicy, 72 00:04:07,694 --> 00:04:11,263 ale ma nr 5, bo zaczynamy od zera. 73 00:04:11,363 --> 00:04:13,701 Czy 5 jest mniejsze od 6? Tak. 74 00:04:13,801 --> 00:04:15,791 Program pokazuje „myFriends5”. 75 00:04:15,891 --> 00:04:18,603 Dalej jest 6. Pytamy: 76 00:04:18,704 --> 00:04:21,819 „Czy 6 jest mniejsze od 6?”. Nie: jest równe. 77 00:04:21,918 --> 00:04:25,613 To fałsz. Program nie pokaże szóstego elementu. 78 00:04:25,713 --> 00:04:29,614 I dobrze, bo żaden nie ma takiego numeru. 79 00:04:29,714 --> 00:04:33,136 Jest szósty element, ale numeru szóstego nie ma. 80 00:04:33,236 --> 00:04:38,801 To zero i jedynka mogą wam mącić w głowach, ale przywykniecie. 81 00:04:39,939 --> 00:04:41,890 To jest nasza pętla. 82 00:04:41,990 --> 00:04:46,394 Możecie też używać pętli FOR, jeśli takie wolicie. 83 00:04:46,494 --> 00:04:52,449 Wtedy powiemy tylko: „for' i 'var friendNum = 0;” 84 00:04:52,549 --> 00:04:57,842 i podamy warunek: „friendNum < myFriends.length” 85 00:04:57,942 --> 00:05:00,837 oraz zmianę: 'friendNum++' 86 00:05:01,621 --> 00:05:06,247 Wewnątrz pętli FOR umieścimy ten fragment programu. 87 00:05:06,697 --> 00:05:09,196 Zmienię „x”, żebyście zobaczyli, 88 00:05:09,296 --> 00:05:12,633 że program robi to samo. 89 00:05:12,733 --> 00:05:17,015 Używajcie do tablic pętli, 90 00:05:17,115 --> 00:05:19,460 bo to wam da wielką moc!