If you're seeing this message, it means we're having trouble loading external resources on our website.

თუ ვებფილტრს იყენებთ, დარწმუნდით, რომ *.kastatic.org და *.kasandbox.org დომენები არ არის დაბლოკილი.

ძირითადი მასალა

მიმოხილვა: ციკლების შექმნა

ეს იმ მასალის მიმოხილვაა, რომელიც განვიხილეთ ციკლების ამ სახელმძღვანელოში.
პროგრემირების წერისას ხშირად ვამჩნევთ, რომ კოდის ნაწილის გამეორება ან მცირე ცვლილებით გამეორება გვსურს. ერთი და იგივე კოდის რამდენჯერმე დაწერის თავიდან ასარიდებლად შეგვიძლია, გამოვიყენოთ ციკლი. JavaScript-ს აქვს ორნაირი ციკლი: while ციკლი და for ციკლი.
while ციკლი არის კოდის გამეორების საშუალება მანამ, სანამ კონკრეტული პირობა მცდარი არ გახდება. მაგალითად, ეს while ციკლი გამოიტანს y-ის მნიშვნელობას (30, y)-ზე მანამ, სანამ y ნაკლებია 400-ზე. ციკლი ყოველი იტერაციისას y-ს ამატებს 20-ს, შესაბამისად, 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);
}
აგრეთვე შესაძლებელია ციკლების ჩადგმა. ციკლების ჩადგმა ძალიან გავრცელებული პრაქტიკაა, განსაკუთრებით 2-განზომილებიანი ნახატების შექმნისას, რადგან ეს გვაძლევს საშუალებას, შევქმნათ ბადისმაგვარი ფიგურები. როდესაც ერთ ციკლს მეორეში ვდგამთ, ჩვენ ვეუბნებით პროგრამას, „გააკეთე ეს 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 ციკლის გამოყენება უფრო ლოგიკური იყოს. სცადეთ ორივე!

გსურთ, შეუერთდეთ დისკუსიას?

პოსტები ჯერ არ არის.
გესმით ინგლისური? დააწკაპუნეთ აქ და გაეცანით განხილვას ხანის აკადემიის ინგლისურენოვან გვერდზე.