< Return to Video

Intro to While Loops | Computer Programming | Khan Academy

  • 0:01 - 0:07
    Nu skall vi prata om loopar. Här har jag en så kallad "while" loop och med bara några korta rader kod, kan jag skriva ut detta meddelande över hela skärmen. Coolt va?
  • 0:07 - 0:10
    Om jag nu ändar meddelandet så här, för att göra det snyggare, så...
  • 0:10 - 0:12
    ändras allihopa!
  • 0:12 - 0:16
    Ok, men hur fungerar det här? Vi ska titta på det alldeles strax
  • 0:16 - 0:19
    men först tar vi ett steg tillbaka och funderar lite över hur vi hade kunnat skapa detta programmet
  • 0:19 - 0:22
    med vad vi redan vet utan att använda loopar.
  • 0:22 - 0:27
    För att klara av det skulle vi behöva skriva om samma bit kod om och om igen, eller hur?
  • 0:27 - 0:33
    Vi vill skriva text "message", så jag börjar med att stoppa in det och nu återstår bara att upprepa det
  • 0:33 - 0:36
    tillräckligt många gånger för att komma hela vägen ner till botten.
  • 0:36 - 0:39
    Och det kommer kräva en hel del knappande, eller hur?
  • 0:39 - 0:43
    Särskilt eftersom botten är långt bort. Det är till och med värre om du t.ex påpekar
  • 0:43 - 0:47
    att "Det här skulle inte vara 70, den måste ligga närmre, den måste ligga vid typ
  • 0:47 - 0:51
    60". Då kommer det påverka den här eftersom den också måste förminskas
  • 0:51 - 0:55
    och så fortsätter det, ju fler rader kod vi har, desto värre blir det
  • 0:55 - 0:58
    Det är till och med så att det kommer ta ännu längre tid att nå botten med detta sättet.
  • 0:58 - 1:02
    Det här är svinjobbigt helt enkelt! Som tur är har vi tillgång till loopar för att hjälpa oss att vara lata...
  • 1:02 - 1:06
    Från och med nu när du ser upprepad kod som den här, bör din första tanke vara...
  • 1:06 - 1:10
    "kan jag stoppa det i en loop?" Då kan jag upprepa det så många gånger jag vill.
  • 1:10 - 1:14
    med små förändringar varje gång. Nu kollar vi på
  • 1:14 - 1:18
    hur vi kan göra för att skriva den här koden med en loop. Till att börja med behöver vi skriva "while",
  • 1:18 - 1:22
    sätta dit parenteserna och slutligen ett par måsvingar. Vi kommer få det här fel-meddelandet, men
  • 1:22 - 1:26
    det beror bara på att vi inte är klara än, så oroa dig inte, det försvinner strax!
  • 1:26 - 1:30
    Vare gång du skapar en loop måste du svara på 3 grundfrågor.
  • 1:30 - 1:37
    Och här är de. Den första är, "Vad är det jag vill upprepa?" och
  • 1:37 - 1:41
    det vi vill upprepa skall vi stoppa in mellan måsvingarna
  • 1:41 - 1:46
    I det här fallet vill vi upprepa strängen "text", så släng in det här.
  • 1:46 - 1:50
    Det här verkar dock inte helt rätt, för att nu kommer vi bara upprepa
  • 1:50 - 1:54
    samma textsnutt om och om igen vilket inte riktigt är vad vi vill... vi vill ju ha något som
  • 1:54 - 1:58
    ändras. Därför ställer vi oss nästa fråga, som är "Vad är det jag vill ändra på varje gång?"
  • 1:58 - 2:02
    Det vi vill ändra är den här "y" positionen, eller hur? Vi vill att den ska bli 60 och sedan
  • 2:02 - 2:06
    80. Vi gör om den till en variabel istället och ger den
  • 2:06 - 2:12
    namnet "y", eftersom det är y positionen. Vi definierar en variabel här uppe. Jag ger den ett startvärde på 40.
  • 2:12 - 2:21
    Slutligen vill vi att Y ändrar på sig. Det kan vi fixa här nere, vi säger "y" får y + "20" då kommer Y att växa varje gång. Här kan vi faktiskt utnyttja
  • 2:21 - 2:23
    det vi lärde oss om genvägar för att öka siffror.
  • 2:23 - 2:30
    Vi använder genvägen här direkt y +=20. Kanon!...Nu återstår bara den tredje frågan
  • 2:30 - 2:33
    som är, "Hur många gånger, eller hur länge vill vi upprepa det här?"
  • 2:33 - 2:36
    Vi vill ju göra det om och om och om igen, men inte i all evighet eller hur?
  • 2:36 - 2:41
    för det första är en evighet...ganska länge att behöva vänta och för det andra kan det få
  • 2:41 - 2:45
    browsern att krascha...Men förhoppningsvis inte. Hursomhelst, vi vill ju
  • 2:45 - 2:49
    bara hålla på tills vi når botten på den här sidan, vilket innebär att vi vill upprepa
  • 2:49 - 2:53
    så länge y är mindre än 400. Vi skriver därför det här.
  • 2:53 - 2:57
    Och vips! Texten är skriven längs hela sidan.
  • 2:57 - 3:00
    Verkar det inte lite lättare? Det tog typ lika lång tid att skriva,
  • 3:00 - 3:05
    för man fick tänka lite mer, men det tar bara en fjärdedel av platsen
  • 3:05 - 3:07
    Vi raderar denna delen och där har vi vårt färdiga program.
  • 3:07 - 3:11
    Nu skall vi försöka förstå vad som händer lite bättre och för att göra det
  • 3:11 - 3:15
    kommer jag att skriva ut y varje gång. Jag kommer säga "nu är y" och sedan sätta dit
  • 3:15 - 3:19
    y på slutet av meddelandet så att vi kan se värdet på det.
  • 3:19 - 3:23
    För tillfället ändrar värdet sig med 20 och vi kan ändra på det
  • 3:23 - 3:26
    genom att ändra på den här variabeln. det är jättelätt. Vi kan t.ex ändra den till...50
  • 3:27 - 3:31
    Nu kommer Y att ändra sig med 50 istället. På samma sätt
  • 3:32 - 3:36
    kan du testa och leka med de andra värdena och få dom att ändra på sig.
  • 3:36 - 3:40
    Och se hur det påverkar var programmet slutar
  • 3:40 - 3:44
    Ett sätt att tänka sig detta, är att det är lite som
  • 3:44 - 3:48
    en "if" sats. Vi har vårt boolean-uttryck här inuti
  • 3:48 - 3:53
    precis som du lärde dig innan, ....och sedan utförs koden i satsen, alltså
  • 3:53 - 3:56
    den här delen, bara om boolean påståendet är sant... annars hoppar vi
  • 3:56 - 3:59
    till slutet. Det coola med while loopen är att vi har...
  • 3:59 - 4:04
    en osynlig funktion, längst ner som säger åt uttrycket att "börja om från början
  • 4:04 - 4:07
    av loopen". detta innebär att istället för
  • 4:07 - 4:12
    att hoppa ur satsen och bara fortsätta, som med en "if" sats
  • 4:12 - 4:15
    Så varje gång vi utför koden i loopen går vi tillbaka och kollar om
  • 4:15 - 4:19
    påståendet fortfarande är sant. Och OM det är det, upprepar vi bara alltihopa en gång till.
  • 4:20 - 4:24
    Och precis som du kanske har listat ut, efter andra gången vi upprepar, gör vi samma sak om igen...
  • 4:24 - 4:27
    vi går tillbaka till början och kollar, "är y fortfarande mindre
  • 4:27 - 4:31
    än 279?" Och i så fall, upprepar vi det en gång till och fortsätter kolla.
  • 4:31 - 4:34
    Och om så inte är fallet, går vi tillbaka hit. Och slutligen
  • 4:34 - 4:37
    kan vi hoppa ur loopen och fortsätta med vårt program.
  • 4:38 - 4:43
    Lysande, Det finns många fler intressanta sätt att använda loopar på som vi kommer att lära oss om snart,
  • 4:43 - 4:46
    men hur som helst, nu har vi lärt oss en massa om detta.
Title:
Intro to While Loops | Computer Programming | Khan Academy
Description:

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

Swedish subtitles

Revisions