1 00:00:01,273 --> 00:00:04,238 ჩვენ ვუბრუნდებით პროგრამას, რომელიც ბეჭდავს ჩემი მეგობრების მწყობრს. 2 00:00:04,238 --> 00:00:07,007 მაგრამ აქ არის რაღაცა, რაც ნამდვილად მაღიზიანებს. 3 00:00:07,007 --> 00:00:08,685 ყოველ ჯერზე, როცა ვამატებ ახალ მეგობარს მწყობრში, 4 00:00:08,685 --> 00:00:11,295 უნდა დავუმატო ახალი text ბრანება აქ. 5 00:00:11,295 --> 00:00:13,378 მაგალითად ვამატებ ვინსტონს. 6 00:00:13,378 --> 00:00:15,211 ის ავტომატურად არ ჩნდება. 7 00:00:15,211 --> 00:00:20,630 თუ მინდა რომ გამოჩნდეს, უნდა დავწერო "text(myFriend[3]", შემდეგ შევცვალო 8 00:00:20,630 --> 00:00:23,560 y-ის პოზიცია და შემდეგ ვხედავთ ვინსტონს. 9 00:00:23,560 --> 00:00:25,434 ეს ცოტა ზედმეტი სამუშაოა. 10 00:00:25,434 --> 00:00:28,937 მე უბრალოდ მინდა, რომ ყოველჯერზე როცა დავამატებ ვინმეს მწყობრში, 11 00:00:28,937 --> 00:00:31,937 თავისით აკეთებდეს text ბრძანებას. 12 00:00:31,937 --> 00:00:34,716 გახსოვთ როდის ვისწავლეთ loop-ები? 13 00:00:34,716 --> 00:00:38,378 Loop-ები იყო კარგი გზა ერთი და იგივე კოდის გასამეორებლად ერთ რიგში. 14 00:00:38,378 --> 00:00:41,373 მაგალითად თუ გვინდოდა, რომ გვქონოდა რამოდენიმე ხე მწკრივში 15 00:00:41,373 --> 00:00:43,273 ან რამოდენიმე ბუშტი. 16 00:00:43,273 --> 00:00:47,733 როგორც ჩანს, loop-ები ასევე კარგი გზა გავუშვათ პატარა კოდი 17 00:00:47,733 --> 00:00:49,648 თითო ელემენტზე მწყობრში. 18 00:00:49,648 --> 00:00:54,378 სინამდვილეში, loop-ი ყოველთვის გჭირდებათ, როცა იყენებთ მწყობრს (array). 19 00:00:54,378 --> 00:00:57,378 ერთად მართლაც კარგად მუშაობენ. 20 00:00:57,378 --> 00:01:00,736 მოდით გამოვიყენოთ loop-ი, რომ გამოვსახოთ ჩემი მეგობრების სახელები, 21 00:01:00,736 --> 00:01:03,736 ამ text ბრძანებების მაგივრად, რომ განახოთ რას ვგულისხმობ. 22 00:01:03,736 --> 00:01:07,795 დავიწყოთ სამი კითხვით, რომელსაც ვუსვავთ ჩვენ თავს, როცა ვიწყებთ loop-ის გაკეთებას. 23 00:01:07,795 --> 00:01:13,438 პირველი, რა მინდა რომ გავიმეორო? შეხედეთ აქ. რა მეორდება? text ბრძანება. 24 00:01:13,438 --> 00:01:17,559 რა მინდა რომ შევცვალო ყოველ ჯერზე? მოდით შევხედოთ და ვნახოთ რა არის განსახვავებული. 25 00:01:17,559 --> 00:01:26,069 y-ის პოზიცია და ინდექსი, ხომ? ანუ მეგობრის ცვლადი და y-ის პოზიცია. 26 00:01:26,069 --> 00:01:33,570 და რამდენჯერ უნდა გავიმეოროთ? სანამ მეტი მეგობარი აღარ იქნება. 27 00:01:33,570 --> 00:01:37,440 ეხლა ვიცით რა გვინდა და შეგვიძლია გავაკეთოთ ჩვენი loop-ი. 28 00:01:37,440 --> 00:01:41,378 ვიწყებთ მოპიდაპირე ცვლადით, რომ ვიცოდეთ სად ვართ loop-ში. 29 00:01:41,378 --> 00:01:44,378 ანუ ვწერთ "var friendNum=0;" 30 00:01:44,378 --> 00:01:50,468 ვიწყებთ ნულით, იმიტომ რომ, ხომ გახსოვთ 0 არის პირველი ელემენტი მწყობრში, და არა 1. 31 00:01:50,468 --> 00:01:57,766 შემდეგ გვაქვს while loop-ი. ვწერთ "while(friendNum < my friends.length)' 32 00:01:57,766 --> 00:02:01,462 ჩვენ უნდა შევადაროთ მიმდინარე მოპირდაპირე ცვლადი, 33 00:02:01,462 --> 00:02:04,462 ჯამური რაღააცეების რიცხვს მწყობრში. 34 00:02:04,462 --> 00:02:07,731 loop-ის შიგნით, სადაც ვიყენებთ ჩვენს text ბრძანებას. 35 00:02:07,731 --> 00:02:10,711 ვწერთ, "text(myFriends[" - და შემდეგ აქ, რიცხვის მაგივრად, ჩავსვავთ "friendNum"-ს, 36 00:02:10,711 --> 00:02:15,630 რადგან "friendNum" წარმოადგენს მიმდინარე რიცხვს. 37 00:02:15,630 --> 00:02:17,961 შემდეგ ჩავსვათ მხოლოდ ერთ პოზიციას ჯერ-ჯერობით. 38 00:02:17,961 --> 00:02:22,710 ამან მოგვცა პატარა უსასრულო loop-ის შეცდომა, რადგან "friendNum"-თან 39 00:02:22,710 --> 00:02:25,710 დაკავშირებით არაფერი არ შეგვიცვლია. 40 00:02:25,710 --> 00:02:29,020 გახსოვთ, ჩვენ უნდა გავზარდოთ "friendNum" ყოველ ჯერზე, წინააღმდეგ შემთხვევაში 41 00:02:29,020 --> 00:02:33,320 loop-ი გაგრძელდება უსასრულოდ, რადგან ეს მნიშვნელობა ყოველთვის მართალია. 42 00:02:33,320 --> 00:02:39,271 ვხედავ რაღაც მოხდა. მოდით დავაკომენტარებ ძველ კოდს, რომ კარგად დავინახო რა მოხდა. 43 00:02:39,271 --> 00:02:43,607 ჩვენ გვაქვს ყველა სახელი, მაგრამ ყველა ერთ ადგილას წერია. 44 00:02:43,607 --> 00:02:45,706 ამიტომ, უნდა შევცვალოთ ჩვენ y პოზიცია. 45 00:02:45,706 --> 00:02:50,211 მოდით, ვთქვათ "friendNum*30". 46 00:02:50,211 --> 00:02:52,129 კარგით, ეს უკეთესია მაგრამ სოფია ეკრანს გარეთ არის და სოფიას ეს 47 00:02:52,129 --> 00:02:55,129 არ გუახარდება თუ გაიგებს. 48 00:02:55,129 --> 00:02:59,628 ამიტომ, მოდით დავამატოთ 30. ეხლა ყველა დაშორებულია 30-ით. 49 00:02:59,628 --> 00:03:04,294 ლამაზია! ეხლა ხედავთ loop-ი როგორ გამოსახავს ჩვენს მწყობრს. 50 00:03:04,294 --> 00:03:09,349 და ეს ნიშნავს რომ, თუ დავამატებთ მეტ ხალხს, როგორც OhNoesGuy ან შეიძლება Sal, 51 00:03:09,349 --> 00:03:11,569 თუ უბრალოდ დავამატებ მწყობრს, მაშინ Sal-ი იქნება ჩემი მეგობარი. მაგარია! 52 00:03:11,569 --> 00:03:13,569 ეხლა ის უკვე ჩემი მეგობარია. 53 00:03:13,569 --> 00:03:18,271 თქვენ ხედავთ, რომ ეს ავტომოტურად გვიჩვენებს ახალ მეგობრებს, 54 00:03:18,271 --> 00:03:21,271 რადგან ყოველთვის მთლიან მწყობრს გადის. 55 00:03:21,271 --> 00:03:24,296 შეგვიძლია წავშალოთ ჩვენი ძველი კოდი. მეტი აღარ გვჭირდება. 56 00:03:24,296 --> 00:03:28,237 მოდით გავიაროთ ეს კოდი თავიდან და გადავხედოთ რა აკეთებს. 57 00:03:28,237 --> 00:03:31,628 ჩვენ ვიწყებთ "friendNum" უდრის ნულით. 58 00:03:31,628 --> 00:03:34,673 ვამოწმებთ, რომ ვნახოთ, "friendNum"-ი თუ ნაკლებია მიმდინარე სიგრძეზე. 59 00:03:34,673 --> 00:03:37,841 წარმოვიდგენთ რომ ნული ნაკლებია ექვსზე. მართალია. 60 00:03:37,841 --> 00:03:41,712 შემდეგ შევდივართ აქ და ვწერთ text, ჩემი მეგობრები "friendNum". 61 00:03:41,712 --> 00:03:44,294 თავიდან ყველა გახდება ნული. 62 00:03:44,294 --> 00:03:47,295 შემდეგ, 30 პლუს 0 გამრავლებული 30-ზე. 63 00:03:47,295 --> 00:03:53,712 ეს გვიჩვენებს სოფიას 10-ზე და 30-ზე. ამას აკეთებს ეს. 64 00:03:53,712 --> 00:03:56,295 შემდეგ friendNum++. და შემდეგ ხდება 1. 65 00:03:56,295 --> 00:04:00,221 შემდეგ ბრუნდება უკან და ამომბს, "კარგი, 1 ნაკლებია "myFriends.length"-ზე? კი არის." 66 00:04:00,221 --> 00:04:02,388 და მიდის, მიდის და მიდის. 67 00:04:02,388 --> 00:04:08,034 და ბოლოს მივდივართ Sal-თან. გახსოვთ, Sal-ი არის მეექვსე ელემენტი მწყობრში, 68 00:04:08,034 --> 00:04:11,314 მაგრამ მისი ინდექსი არის 5, რადგან ვიწყებთ ნულიდან 69 00:04:11,314 --> 00:04:13,296 ხუთი ნაკლებია ექვსზე? კი. 70 00:04:13,296 --> 00:04:15,462 ამიტომ გვიჩვენებს "myFriends" ხუთს. 71 00:04:15,462 --> 00:04:21,628 შემდეგ ხდება ექვსი და ვამბობთ, "ექვსი ნაკლებია ექვსზე?" არა. ტოლია. 72 00:04:21,628 --> 00:04:25,440 ამიტომ ეს იქნება მცდარი. მეექსვე ელემენტს არსდროს არ გვიჩვენებს, 73 00:04:25,440 --> 00:04:29,972 რაც კარგია, რადგან ინდექს ექვსში არ არაფერი არ არის. 74 00:04:29,972 --> 00:04:32,772 მეექვსე ელემენტი არის, მაგრამ ინდექს ექვსში არაფერი არ არის. 75 00:04:32,772 --> 00:04:36,610 შეიძლება დამაბნეველი იყოს, ის ფაქტი რომ ნულია და ერთი 76 00:04:36,610 --> 00:04:38,570 და ამ ყველაფერს აკეთებს, მაგრამ მიეჩვევით. 77 00:04:38,570 --> 00:04:41,402 კარგით, ეს არის ჩვენი loop-ი. 78 00:04:41,402 --> 00:04:45,295 ეხლა, თუ გინდათ, შეგიძლიათ გამოიყენოთ for loop-ი, თუ გირჩევნიათ for loop-ები. 79 00:04:45,295 --> 00:04:49,212 for loop-ებისთვის, ჩვენ უბრალოდ დავწერთ for, და შემდეგ, "var friendNum = 0;" 80 00:04:49,212 --> 00:04:54,392 და შემდეგ გვაქვს ჩვენი პირობა 81 00:04:54,392 --> 00:04:57,237 "friendNum < myFriends.length" 82 00:04:57,237 --> 00:05:01,672 და შემდეგ ჩვენი ზრდადი - "friendNum++", 83 00:05:01,672 --> 00:05:06,711 და შემდეგ for loop-ის შიგნით, შეგვიძლია უბრალოდ ჩავსვათ კოდის ეს ხაზი. 84 00:05:06,711 --> 00:05:09,711 და მე შევცვლი x-ს, რომ დაინახოთ, რომ ზუსტად იგივეს აკეთებს. 85 00:05:09,711 --> 00:05:15,781 ასე რომ, თქვენი ნებაა რომელს გამოიყენებთ, მაგრამ იდეა ის არის რომ გამოიყენოთ 86 00:05:15,781 --> 00:05:21,109 loop-ი მწყობრის დროს, რადგან ეს ნამდვილად გაგაძლიერებთ.