Основно съдържание
Програмиране
Курс: Програмиране > Раздел 1
Урок 12: Цикли- Въведение в while цикли
- Използване на while цикли
- Предизвикателство: Циклеща линийка
- Още за while циклите: Балончетата на Хопър
- Предизвикателство: Циклеща гледка
- Цикъл for! Нов вид цикъл
- Предизвикателство: Страница с редове
- Вложени for цикли
- Преговор: Цикли
- Проект: Построй си къща
© 2023 Khan AcademyУсловия за ползванеДекларация за поверителностПолитика за Бисквитки
Преговор: Цикли
Това е преговор на наученото в урока за цикли.
Когато пишем програми, често разбираме, че трябва да повторим част от кода няколко пъти, или да го повторим, като променяме нещо всеки път. За да не пишем всичкия този код, можем да използваме цикъл. В JavaScript има два вида цикли while и for.
while цикълът е начин да повтаряме код, докато дадено условие не стане лъжа. Например този while цикъл ще показва стойността на y в (30, y), докато y е по-малко от 400. Цикълът добавя 20 към y при всяка итерация, затова в началото y е 40, но след това нараства до 60, 80, 100, 120 и т. н.
var y = 40;
while (y < 400) {
text(y, 30, y);
y += 20;
}
Важно е в някакъв момент условието в скобите да стане лъжа, защото в противен случай ще получим т. нар. безкраен цикъл! Това би се случило ако махнем
y + = 20
, защото y ще остане 40 и винаги ще е по-малко от 400, а програмата няма да знае кога да спре.var y = 40;
while (y < 400) {
text(y, 30, y);
}
Цикълът for прилича много на while цикъла, но е с по-специализиран синтаксис. Програмистите са измислили цикъла for, когато са разбрали, че винаги правят три еднакви неща – създават променлива брояч (като y от горния пример), увеличават я с някакво число, а след това проверяват дали е по-малка от дадена стойност. В синтаксиса на for цикъла има специално място за всяко едно от тези три неща. Ето първият while цикъл от горния пример, записан като for цикъл:
for (var y = 40; y < 400; y += 20) {
text(y, 30, y);
}
Циклите могат да бъдат и вложени. Вложените цикли се използват често, особено в двуизмерното рисуване и чертане, защото по този начин се правят лесно форми, подобни на решетка. Когато вложим цикъл в цикъла, ние казваме на програмата да "прави това нещо X пъти и всеки път да прави другото нещо Y пъти." Представи си, че рисуваш мрежа – искаме да кажем на програмата да "създаде колони 10 пъти и за всяка колона да създаде по 15 клетки." Ето как можеш да използваш вложен цикъл, за да направиш това:
for (var col = 0; col < 10; col++) {
for (var row = 0; row < 15; row++) {
rect(col*20, row*20, 20, 20);
}
}
Кога да използваме for и кога while? Ти решаваш. Много програмисти предпочитат for циклите, защото така е по-трудно да се създадат безкрайни цикли по невнимание (по-трудно е да забравиш да увеличиш променливата брояч), но понякога цикълът while е по-подходящ. Опитай и двата начина!
Искаш ли да се присъединиш към разговора?
Все още няма публикации.