< Return to Video

Intro to While Loops | Computer Programming | Khan Academy

  • 0:01 - 0:05
    Нека говорим за цикли. Тук имам while-цикъл и само с няколко реда код
  • 0:05 - 0:07
    мога да напиша това съобщение надолу по целия екран.
  • 0:07 - 0:10
    Ако отида и променя съобщението така, за да го направя по-добро,
  • 0:10 - 0:12
    всичките се променят.
  • 0:12 - 0:16
    И как работи това? Е, можем да разгледаме този код отново след момент.
  • 0:16 - 0:19
    Но нека първо се върнем стъпка назад и помислим как можем да напишем тази програма,
  • 0:19 - 0:22
    с помощта само на това, което знаем до момента, без да използваме цикли.
  • 0:22 - 0:27
    За да направим това, просто ще пишем някакъв текст отново и отново и отново, нали?
  • 0:27 - 0:30
    Ще напишем text, в скобите message, ще го сложа на първо място,
  • 0:30 - 0:33
    и сега всичко опира просто до повтаряне на това
  • 0:33 - 0:36
    достатъчно пъти, че в крайна сметка да стигнем до най-долу.
  • 0:36 - 0:39
    И това изисква доста работа, нали?
  • 0:39 - 0:43
    Защото долният край е много далеч. И е още по-зле, ако
  • 0:43 - 0:47
    после ми кажеш, "хей, това не беше 70, трябва да е по-близо, някъде около 60".
  • 0:47 - 0:51
    И сега това оказва влияние върху това, защото то също трябва да бъде по-малко,
  • 0:51 - 0:55
    и това продължава по-нататък, колкото повече извиквания на text имаме.
  • 0:55 - 0:58
    Всъщност по този начин ще ни отнеме още повече време да стигнем до долу.
  • 0:58 - 1:02
    И това наистина е болка, но за щастие на помощ ни идват циклите.
  • 1:02 - 1:06
    Оттук нататък, винаги когато видиш повтарящ се код като този, първата ти мисъл трябва да бъде:
  • 1:06 - 1:08
    "Мога ли да ползвам цикъл?"
  • 1:08 - 1:10
    Цикълът ще ни позволи да повтаряме тази част от кода отново и отново и
  • 1:10 - 1:14
    отново, като правим само малки промени всеки път.
  • 1:14 - 1:18
    Ето как бихме могли да пренапишем този код с цикъл. Като начало трябва да напишем "while",
  • 1:18 - 1:22
    малки скоби и къдрави скоби. Ще получим това съобщение, но
  • 1:22 - 1:26
    това е само защото не сме готови още. Не се притеснявай, ще се махне, щом приключим.
  • 1:26 - 1:31
    Всеки път, когато пишеш цикъл, трябва да отговаряш на три основни въпроса.
  • 1:31 - 1:33
    И ето ги:
  • 1:33 - 1:37
    първият въпрос е: "Какво искам да повтарям?".
  • 1:37 - 1:41
    И това, което искаме да повтаряме, трябва да влезе между къдравите скоби.
  • 1:41 - 1:46
    Искаме да повтаряме извикването на text, затова го слагаме вътре.
  • 1:46 - 1:50
    Но е малко глупаво, нали? Защото сега просто ще повтаряме
  • 1:50 - 1:53
    едно и също извикване на text отново и отново, което не ни помага много, нали? Трябва нещо
  • 1:53 - 1:58
    да се променя. Това ни води до въпрос две, който е: "Какво искам да променям всеки път?".
  • 1:58 - 2:01
    Искаме да променим тази y позиция, нали? Искаме да стане 60 и после искаме
  • 2:01 - 2:06
    да стане 80. Тогава ще направим това променлива,
  • 2:06 - 2:09
    наречена у, защото това е позицията по у. ще декларирам променлива
  • 2:09 - 2:13
    тук горе. Тя ще започва от 40. И сега, най-накрая, просто трябва
  • 2:13 - 2:17
    да променяме у. Можем да направим това тук долу , можем да кажем "у става у + 20"
  • 2:17 - 2:21
    и тогава ще става по-голямо всеки път. И всъщност можем да използваме
  • 2:21 - 2:25
    урока за лесния начин за инкрементиране тук. Можем просто
  • 2:25 - 2:29
    да използваме прекия път. Това е страхотно и сега
  • 2:29 - 2:33
    ни остава само третият въпрос, който е: "Колко дълго трябва да повтарям това?".
  • 2:33 - 2:37
    Искаме да правим това отново и отново и отново, но не искаме да го правим завинаги, нали?
  • 2:37 - 2:39
    Ако го правим завинаги, първо, това е доста дълго време за чакане,
  • 2:39 - 2:41
    второ, възможно е дори да блокира браузъра ти.
  • 2:41 - 2:44
    Да се надяваме, че няма да стане. В действителност искаме
  • 2:44 - 2:47
    да правим това само докато достигнем края на страницата, нали?
  • 2:47 - 2:48
    Което значи, че искаме да го правим докато у е по-малко от 400.
  • 2:50 - 2:52
    Просто слагаме това тук вътре и сме готови!
  • 2:52 - 2:56
    Това съобщение се изписва надолу по целия екран.
  • 2:56 - 3:00
    И виждаш, че е много по-просто по този начин, отколкото по предишния, който
  • 3:00 - 3:04
    ни отнемаше много време за написване, но дори не бяхме свършили една четвърт от работата.
  • 3:04 - 3:08
    Тогава можем да махнем това и програмата ни е готова.
  • 3:08 - 3:12
    Нека се опитаме да придобием по-добро разбиране за това какво се случва. За да направим това, ще
  • 3:12 - 3:16
    принтирам у всеки път. Ще напиша "у сега е " и после тук долу
  • 3:16 - 3:19
    ще залепвам стойността на у в края на съобщението, за да я виждаме.
  • 3:19 - 3:23
    В момента стойността се променя през 20 и можем да променим това,
  • 3:23 - 3:27
    като просто променим тази променлива тук. Или можеш да го направиш например
  • 3:27 - 3:31
    50. И сега те се променят през 50. Подобно на това,
  • 3:31 - 3:36
    можем да си играем с тези стойности и да ги променяме.
  • 3:36 - 3:39
    И можеш да видиш как това променя къде спира програмата.
  • 3:39 - 3:44
    За да разбереш това, можеш да го мислиш като нещо подобно на
  • 3:44 - 3:47
    условна конструкция с if. Имаме булев израз тук вътре
  • 3:47 - 3:52
    точно както учихме. И после правим тялото на конструкцията,
  • 3:52 - 3:55
    тази част, само ако булевият израз е верен, иначе просто прескачаме
  • 3:55 - 3:59
    до края. Интересното е, че с while-цикъл всъщност
  • 3:59 - 4:04
    има нещо тайно най-долу, което ти казва "върни се в началото
  • 4:04 - 4:07
    на цикъла". И тази тайна инструкция означава,
  • 4:07 - 4:11
    че вместо да излезем и да продължим нататък, както при
  • 4:11 - 4:15
    конструкция if, всеки път когато изпълним тялото на цикъла, ще се връщаме и ще проверяваме дали
  • 4:15 - 4:19
    условието все още е вярно. И ако е, просто ще повторим още
  • 4:19 - 4:23
    веднъж. И точно както предполагаш, и при второто повторение ще направим същото,
  • 4:23 - 4:27
    ще проверим: "хей, върни се в началото; у все още ли е по-малко от"
  • 4:27 - 4:32
    279?" И ако е, ще повторим още веднъж и ще продължим да проверяваме.
  • 4:32 - 4:35
    И ако не е, ще се върнем в началото ето тук. И най-накрая
  • 4:35 - 4:38
    ще избягаме и ще продължим с нашата програма.
  • 4:38 - 4:43
    Супер, има още много интересни начини за използване на цикли, които ще научим скоро, но
  • 4:43 - 4:47
    засега това е отлично начало.
Title:
Intro to While Loops | Computer Programming | Khan Academy
Description:

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

Bulgarian subtitles

Revisions