< Return to Video

Macierz w pętli (wersja wideo)

  • 0:01 - 0:04
    Wracamy do programu
    z tablicą moich znajomych.
  • 0:04 - 0:06
    Coś mnie tu irytuje.
  • 0:07 - 0:11
    Dodając znajomego, muszę też
    dodać nowe polecenie „text”.
  • 0:11 - 0:15
    Powiedzmy, że dodaję Winstona.
    Nie pokazuje się automatycznie.
  • 0:15 - 0:20
    Musiałabym napisać:
    'text(myFriends[3]',
  • 0:20 - 0:23
    zmienić pozycję „y”
    i dopiero zobaczymy Winstona.
  • 0:23 - 0:25
    Za dużo pracy!
  • 0:25 - 0:28
    Chcę, żeby za każdym razem,
    gdy kogoś dodaję,
  • 0:29 - 0:32
    polecenie „text” pisało się samo.
  • 0:32 - 0:34
    Pamiętacie pętle?
  • 0:34 - 0:38
    To świetny sposób, żeby wiele razy
    powtarzać fragment programu.
  • 0:38 - 0:42
    Np. gdybyśmy chcieli mieć
    szereg drzew lub grupę baloników.
  • 0:43 - 0:46
    Okazuje się,
    że pętle to też dobry sposób,
  • 0:46 - 0:50
    by powtarzać fragment programu
    przy każdym elemencie tablicy.
  • 0:50 - 0:54
    Będziecie używać pętli
    przy każdym użyciu tablicy.
  • 0:54 - 0:56
    Dobrze współpracują.
  • 0:57 - 1:00
    Za pomocą pętli pokażę
    imiona znajomych,
  • 1:00 - 1:03
    zamiast pisać te wszystkie
    polecenia „text”.
  • 1:04 - 1:07
    Zacznijmy od trzech pytań
    związanych z pętlą.
  • 1:08 - 1:09
    1.: „Co chcę powtarzać?”.
  • 1:09 - 1:13
    Zobaczmy. Co się powtarza?
    Polecenie „text”.
  • 1:13 - 1:17
    Co chcę zawsze zmieniać?
    Spójrzmy, co się zmienia.
  • 1:17 - 1:20
    Pozycja „y” i indeks, tak?
  • 1:21 - 1:25
    Numer znajomego
    oraz pozycja „y”.
  • 1:26 - 1:31
    A jak długo mamy to powtarzać?
    Aż skończą się znajomi.
  • 1:33 - 1:37
    Wiemy, czego chcemy,
    możemy więc zrobić pętlę.
  • 1:37 - 1:41
    Najpierw licznik,
    by wiedzieć, gdzie jesteśmy.
  • 1:41 - 1:43
    Powiemy: 'var friendNum = 0;'
  • 1:44 - 1:46
    Zaczniemy od zera,
  • 1:46 - 1:49
    bo pamiętajcie, to jest pierwszy
    element tablicy, nie 1.
  • 1:50 - 1:54
    Teraz pętla warunkowa.
    Napiszemy: 'while(friendNum...
  • 1:54 - 1:57
    < my friends.length)'.
  • 1:58 - 2:00
    Porównamy licznik
  • 2:00 - 2:03
    z łączną liczbą rzeczy w tablicy.
  • 2:04 - 2:07
    Wewnątrz pętli użyjemy
    polecenia „text”.
  • 2:07 - 2:09
    Piszemy: 'text(myFriends['.
  • 2:09 - 2:12
    Zamiast liczby wstawimy 'friendNum',
  • 2:12 - 2:14
    bo oznacza bieżącą liczbę.
  • 2:14 - 2:17
    Na razie wprowadzimy jedną pozycję.
  • 2:18 - 2:22
    I mamy komunikat o błędzie
    „pętla nieskończona”,
  • 2:22 - 2:26
    bo nie zmieniliśmy nic
    we „friendNum”.
  • 2:26 - 2:30
    Zawsze zwiększamy „friendNum”.
    Inaczej pętla się nie skończy,
  • 2:30 - 2:32
    bo ten warunek
    zawsze jest prawdziwy.
  • 2:32 - 2:35
    Coś się zdarzyło.
  • 2:35 - 2:38
    Porzucę stary program,
    prześledzimy to.
  • 2:38 - 2:43
    Wyświetliły się wszystkie imiona,
    ale jedne na drugich.
  • 2:43 - 2:45
    Trzeba zmienić pozycję „y”.
  • 2:45 - 2:50
    Powiedzmy: 'friendNum*30'.
  • 2:50 - 2:52
    Dobrze, ale Sophia zniknęła.
  • 2:52 - 2:55
    Jeśli się dowie,
    nie będzie zadowolona.
  • 2:55 - 2:59
    Dodajmy do tego 30.
    Teraz wszystkie się rozsuną.
  • 2:59 - 3:04
    Pięknie! Dzięki pętli
    pokazuje się tablica.
  • 3:04 - 3:09
    Jeśli dodamy więcej ludzi,
    np. faceta „O, nie!” lub Sala...
  • 3:09 - 3:12
    Dodam go do tablicy
    i będzie moim znajomym.
  • 3:12 - 3:14
    Świetnie! To mój kumpel!
  • 3:14 - 3:18
    Jak widać, program automatycznie
    pokazuje nowych znajomych,
  • 3:18 - 3:21
    bo zawsze przechodzi
    przez całą tablicę.
  • 3:21 - 3:24
    Możemy skasować stary program.
    Już go nie potrzebujemy.
  • 3:24 - 3:28
    Przejrzyjmy ten program
    i zobaczmy, co robi.
  • 3:29 - 3:31
    Zaczynamy od „friendNum”
    równego zero.
  • 3:31 - 3:35
    Sprawdzamy, czy „friendNum”
    jest mniejsze niż bieżąca długość.
  • 3:35 - 3:38
    Zero jest mniejsze od sześciu.
    To prawda.
  • 3:38 - 3:42
    Wejdźmy tutaj i napiszmy:
    „text my friends friendNum”.
  • 3:42 - 3:44
    To będzie zero. Pierwszy punkt.
  • 3:44 - 3:47
    A potem 30 plus zero razy 30.
  • 3:47 - 3:52
    Program pokazuje Sophię
    w pozycji 10-30.
  • 3:52 - 3:56
    Właśnie tak. Później:
    - „friendNum++”. I robi się 1.
  • 3:56 - 4:00
    Program pyta: „Czy 1 to mniej
    niż myFriends.length?”. Tak.
  • 4:00 - 4:02
    I działa dalej, i dalej...
  • 4:02 - 4:04
    W końcu dochodzimy do Sala.
  • 4:04 - 4:08
    Jest szóstym elementem tablicy,
  • 4:08 - 4:11
    ale ma nr 5, bo zaczynamy od zera.
  • 4:11 - 4:14
    Czy 5 jest mniejsze od 6? Tak.
  • 4:14 - 4:16
    Program pokazuje „myFriends5”.
  • 4:16 - 4:19
    Dalej jest 6. Pytamy:
  • 4:19 - 4:22
    „Czy 6 jest mniejsze od 6?”.
    Nie: jest równe.
  • 4:22 - 4:26
    To fałsz. Program nie pokaże
    szóstego elementu.
  • 4:26 - 4:30
    I dobrze, bo żaden nie ma
    takiego numeru.
  • 4:30 - 4:33
    Jest szósty element,
    ale numeru szóstego nie ma.
  • 4:33 - 4:39
    To zero i jedynka mogą wam mącić
    w głowach, ale przywykniecie.
  • 4:40 - 4:42
    To jest nasza pętla.
  • 4:42 - 4:46
    Możecie też używać pętli FOR,
    jeśli takie wolicie.
  • 4:46 - 4:52
    Wtedy powiemy tylko:
    „for' i 'var friendNum = 0;”
  • 4:53 - 4:58
    i podamy warunek:
    „friendNum < myFriends.length”
  • 4:58 - 5:01
    oraz zmianę: 'friendNum++'
  • 5:02 - 5:06
    Wewnątrz pętli FOR
    umieścimy ten fragment programu.
  • 5:07 - 5:09
    Zmienię „x”, żebyście zobaczyli,
  • 5:09 - 5:13
    że program robi to samo.
  • 5:13 - 5:17
    Używajcie do tablic pętli,
  • 5:17 - 5:19
    bo to wam da wielką moc!
Title:
Macierz w pętli (wersja wideo)
Description:

To tylko zapis naszych interaktywnych sesji poświęconych kodowaniu, stworzony by ułatwić ich przełożenie na inne języki. Polecamy obejrzenie tych sesji bezpośrednio pod adresem: https://pl.khanacademy.org/cs/programming/

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

Polish subtitles

Revisions