< Return to Video

Intro to While Loops | Computer Programming | Khan Academy

  • 0:00 - 0:02
    Beszéljünk most a ciklusokról!
  • 0:02 - 0:07
    Van itt egy while ciklusunk, és ezzel a néhány
    sornyi kóddal teleírtuk a képernyőt.
  • 0:07 - 0:10
    Ha itt elöl átírom az üzenetet,
  • 0:10 - 0:11
    akkor mindegyik sor megváltozik.
  • 0:11 - 0:15
    De miért? Hogyan működik? Mindjárt átnézzük
    a kódot,
  • 0:15 - 0:20
    de előtte lépjünk egyet vissza, és gondoljuk át,
    hogy hogyan írnánk meg ezt a programot
  • 0:20 - 0:23
    a mostani tudásunkkal, ciklus használata nélkül.
  • 0:23 - 0:24
    Ehhez azt kell tennünk,
  • 0:24 - 0:27
    hogy ugyanazt a szöveget kiírjuk újra és újra.
  • 0:27 - 0:32
    Leírom, hogy text, majd az üzenetet (message)
    az elejére teszem, és ezt fogom ismételni
  • 0:32 - 0:35
    egymás alatt sokszor, egészen az aljáig.
  • 0:35 - 0:38
    De ez elég sok munka lesz, nem?
  • 0:38 - 0:42
    Merthogy az alja elég messze van. Ráadásul,
    még rosszabb a helyzet, ha szólsz, hogy
  • 0:42 - 0:46
    igazából ennek nem is 70-nek kellene lennie,
    hanem 60-nak, hogy közelebb legyen.
  • 0:46 - 0:50
    És ez nem csak ezt befolyásolja, mert ugye a
    többinek is végig kisebbnek kell lenni,
  • 0:50 - 0:53
    ezért ezt minden text függvénynél
    módosítanom kell.
  • 0:53 - 0:58
    Sőt ez még sokkal tovább tartana, ha egész az
    aljáig szeretnék leérni.
  • 0:58 - 1:01
    Ez így tehát elég bajos, de szerencsére ott
    vannak ciklusok,
  • 1:01 - 1:03
    amik pont ebben segítenek.
  • 1:03 - 1:06
    Mostantól mindig, ha ilyesmi ismétlődő kódot
    látsz, arra gondolj:
  • 1:06 - 1:08
    "Tudok erre ciklust használni?".
  • 1:08 - 1:11
    A ciklus segít, hogy egy kódrészletet újra és
    újra ismételj úgy,
  • 1:11 - 1:14
    hogy minden alkalommal csak kicsit változtatsz
    valamin.
  • 1:14 - 1:17
    Nézzük meg, hogy írhatjuk át ezt ciklus
    segítségével.
  • 1:17 - 1:22
    Először leírjuk, hogy "while", majd kerek
    zárójelek végül kapcsos zárójelek.
  • 1:22 - 1:24
    Kapunk egy üzenetet, de csak azért, mert még
    nem vagyunk készen.
  • 1:24 - 1:27
    Ne aggódj, ez el fog majd tűnni.
  • 1:27 - 1:31
    Minden egyes alkalommal, ha ciklust írsz,
    három kérdésre kell választ adnod.
  • 1:31 - 1:33
    Itt is vannak - angolul.
  • 1:33 - 1:36
    Az első kérdés az, hogy "Mit szeretnék
    ismételni?"
  • 1:36 - 1:40
    és bármit is szeretnél ismételni, az a kapcsos
    zárójelek közé kell, hogy kerüljön.
  • 1:40 - 1:44
    Tehát most a "text" hívást szeretnénk minden
    alkalommal ismételni, tegyük is ide.
  • 1:44 - 1:46
    De ennek így nincs sok értelme, ugye?
  • 1:46 - 1:50
    Mert hát most ugyanazt a text hívást ismételjük
    újra és újra, ami nem segít.
  • 1:50 - 1:53
    Valami olyanra lenne szükségünk, ami változik.
  • 1:53 - 1:57
    És ebben segít a második kérdés: "Mit kell
    megváltoztassak, minden egyes alkalommal?"
  • 1:57 - 2:02
    Az "y" pozíciót szeretnénk változtatni, ugye?
    Azt szeretnénk, ha 60 lenne, majd 80,
  • 2:02 - 2:05
    úgyhogy készítünk inkább ehhez egy változót.
  • 2:05 - 2:08
    Legyen y, mert az y pozíciót tároljuk benne.
  • 2:08 - 2:11
    Itt fent deklaráljuk, a kezdeti értéke 40 lesz.
  • 2:11 - 2:16
    Remek, most már csak annyit kell tennünk,
    hogy megváltoztatjuk az y-t.
  • 2:16 - 2:20
    Ezt itt lent tehetjük meg: legyen y értéke "y +
    20",
  • 2:20 - 2:22
    így minden alkalommal egyre nagyobb lesz.
  • 2:22 - 2:27
    Sőt! Használhatjuk a korábban tanult rövidebb
    formát inkrementálásra.
  • 2:27 - 2:30
    Jó, most már csak a harmadik kérdést kell
    megválaszolnunk.
  • 2:30 - 2:32
    "Milyen sokáig kellene ismételnünk?"
  • 2:32 - 2:36
    Szeretnénk ezt újra és újra ismételni, de nem
    örökké, ugye?
  • 2:36 - 2:39
    Ha örökké szeretnénk csinálni, az nagyon
    sokáig tartana,
  • 2:39 - 2:44
    másrészt az is lehet, hogy összeomlana miatta
    a böngészőnk, és ezt nem akarjuk.
  • 2:44 - 2:49
    Tehát igazából csak addig szeretnénk ezt
    csinálni, amíg az oldal aljára nem érünk, igaz?
  • 2:49 - 2:54
    Tehát addig, amíg y értéke 400-nál kisebb. Ezt
    pedig ide írjuk.
  • 2:54 - 2:58
    És készen is vagyunk! Az üzenetünk az egész
    vásznat beborította!
  • 2:58 - 3:01
    Láthatod, hogy ez sokkal egyszerűbb, mint a
    korábbi megoldás,
  • 3:01 - 3:06
    amivel nagyjából ugyanennyi időt töltöttünk, de
    akkor a negyede sem volt még kész.
  • 3:06 - 3:09
    Ezt ki is törölhetjük, hiszen itt van a
    programunk.
  • 3:09 - 3:11
    Próbáljuk meg jobban megérteni, hogy mi is
    történik itt!
  • 3:11 - 3:14
    Ehhez minden alkalommal kiíratom az y-t.
  • 3:14 - 3:19
    Ideírom, hogy "y értéke most" (y is now) és
    odaírom a végére az y értékét.
  • 3:19 - 3:24
    Láthatjuk, hogy az érték jelenleg 20-asával
    változik, és ha ezt módosítani szeretnénk,
  • 3:24 - 3:27
    megváltoztatjuk ezt az értéket. Például 50-re.
  • 3:27 - 3:30
    És akkor látszik is, hogy 50-esével változik.
  • 3:30 - 3:34
    Hasonlóképpen megváltoztathatod akár ezeket
    az értékeket is,
  • 3:34 - 3:39
    és látni fogod, milyen hatással van a
    programodra, például, hogy mikor áll meg.
  • 3:39 - 3:44
    Hogy megértsd, arra is gondolhatsz, hogy ez
    valójában kicsit olyan, mint egy "if".
  • 3:44 - 3:48
    Van itt egy logikai kifejezés, amiről korábban
    már tanultál.
  • 3:48 - 3:51
    És akkor hajtjuk végre a törzsét az utasításnak,
  • 3:51 - 3:55
    ha a logikai érték igaz, egyébként a végére
    ugrunk.
  • 3:55 - 3:59
    De ami ebben érdekes, az az, hogy a while
    ciklus esetén
  • 3:59 - 4:04
    van egy titkos utasítás a végén, ami azt mondja
    "menj vissza a ciklus elejére".
  • 4:04 - 4:07
    És ez a titkos utasítás azt jelenti,
  • 4:07 - 4:10
    hogy ahelyett, hogy tovább folytatnánk, mint az
    "if"-nél,
  • 4:10 - 4:15
    minden alkalommal végrehajtjuk a ciklus
    törzsét, majd visszamegyünk,
  • 4:15 - 4:21
    és megvizsgáljuk, hogy a feltétel továbbra is
    igaz-e. És ha igen, megismétljük még egyszer...
  • 4:21 - 4:25
    És biztos ki is találtad, hogy mikor másodjára
    ismételjük, ugyanez történik...
  • 4:25 - 4:28
    ellenőrizzük, hogy az y még mindig kisebb-e
    mint 279.
  • 4:28 - 4:32
    És ha igen, megismételjük és megint
    ellenőrizzük.
  • 4:32 - 4:35
    És ha nem, visszatérünk az elejére.
  • 4:35 - 4:38
    És végül kilépünk és továbbhaladunk a
    programunkban.
  • 4:38 - 4:39
    Nagyszerű!
  • 4:39 - 4:43
    A ciklusok még sokféleképpen használhatóak,
    és fogunk is még tanulni róluk,
  • 4:43 - 4:45
    de már most is sok hasznos dolgot láttál!
Title:
Intro to While Loops | Computer Programming | Khan Academy
Description:

more » « less
Video Language:
English
Team:
Khan Academy
Duration:
04:46

Hungarian subtitles

Revisions