1 00:00:00,000 --> 00:00:03,160 >> დევიდ ჯ Malan: დავუშვათ, ჩვენ გვინდა დავწეროთ პროგრამა, რომელიც სთხოვს ყველას 2 00:00:03,160 --> 00:00:06,740 ოთახში მათი ასაკი, და შემდეგ ბეჭდავს out რამდენი წლის იმ ხალხს, იქნება 3 00:00:06,740 --> 00:00:07,520 წელი შესაბამისად? 4 00:00:07,520 --> 00:00:09,900 ახლა, ბუნებრივია არითმეტიკული ამ პრობლემა იქნება საკმაოდ 5 00:00:09,900 --> 00:00:10,660 პირდაპირი. 6 00:00:10,660 --> 00:00:14,090 მაგრამ საინტერესო კითხვა, თუ ჩვენ არ ვიცი წინასწარ, თუ რამდენი ადამიანი 7 00:00:14,090 --> 00:00:16,790 ვაპირებთ, რომ ამ ოთახში, როგორ შეგვეძლო წასვლა შენახვის 8 00:00:16,790 --> 00:00:17,980 ყველა მათი ასაკის? 9 00:00:17,980 --> 00:00:19,680 კარგად, მოდით შევხედოთ. 10 00:00:19,680 --> 00:00:22,760 >> დავიწყოთ პირველი რითაც შესახებ, რადგან მე ვაკეთებ აქ, 11 00:00:22,760 --> 00:00:26,410 რაოდენობის ხალხი ოთახში გამოყენებით GetInt და do-ხოლო loop რათა 12 00:00:26,410 --> 00:00:28,220 კიდევ მთელი რიცხვი n. 13 00:00:28,220 --> 00:00:32,310 ვფიქრობ, ჩვენ ახლა მინდა ვკითხო ყოველი ასეთი ადამიანი ოთახში მათი ასაკი. 14 00:00:32,310 --> 00:00:35,820 ისე, ჩემი ინსტინქტები იქნება გამოიყენოს loop უნდა გავაკეთოთ, რომ რითაც, მაგრამ ასევე 15 00:00:35,820 --> 00:00:37,840 გჭირდებათ ადგილი შესანახად იმ ადამიანების ასაკის. 16 00:00:37,840 --> 00:00:40,760 და ჩემი პირველი ინსტინქტები არ იქნება გამოყენება ცვლადი პირველი 17 00:00:40,760 --> 00:00:43,690 პირის ასაკი, სხვა ცვლადი მეორე პირის ასაკი, 18 00:00:43,690 --> 00:00:44,780 სახის გასწვრივ ხაზები. 19 00:00:44,780 --> 00:00:46,230 Int ასაკი - 20 00:00:46,230 --> 00:00:48,850 კარგად, მოდით ეძახით 1 პირველი პირი. 21 00:00:48,850 --> 00:00:51,480 Int age 2 მეორე პირი. 22 00:00:51,480 --> 00:00:53,980 Int ასაკის 3 მესამე პირი. 23 00:00:53,980 --> 00:00:56,750 >> მაგრამ დაველოდოთ წუთში, ეს არ არის, ალბათ, საუკეთესო გზა დაცემას. 24 00:00:56,750 --> 00:01:00,620 იმიტომ, რომ მე არ ვიცი წინასწარ წერა და შედგენა ეს პროგრამა, თუ როგორ 25 00:01:00,620 --> 00:01:02,330 ბევრი წევრებს არ იქნება. 26 00:01:02,330 --> 00:01:06,590 და უფრო მეტიც, თუ არსებობს, როგორც ბევრი როგორც 100 users, გამოცხადების 100 ცვლადები 27 00:01:06,590 --> 00:01:10,350 სახის უცნაური დაასახელა, როგორც ეს არ იგრძნონ ძალიან საუკეთესო დიზაინის. 28 00:01:10,350 --> 00:01:14,430 >> კარგად, საბედნიეროდ არსებობს სხვა ტიპის ცვლადში მასივი, რომ 29 00:01:14,430 --> 00:01:18,710 საშუალებას გვაძლევს შესანახად ნებისმიერი რაოდენობის ints შიგნით, მაშინაც კი, თუ ჩვენ არ ვიცით, 30 00:01:18,710 --> 00:01:22,190 როდესაც წერა ჩემი პროგრამა, რამდენი ასეთი ints ჩვენ ვაპირებთ გვჭირდება. 31 00:01:22,190 --> 00:01:25,970 მოდით backtrack და წაშლა რამდენიმე ints, და ნაცვლად შეცვლის 32 00:01:25,970 --> 00:01:29,620 ერთ ცვლადში, ვთქვათ, ასაკის, მრავლობითი. 33 00:01:29,620 --> 00:01:33,420 მაგრამ მოდით კიდევ უფრო დააკონკრეტა ამ ხაზის კოდი კვადრატულ ფრჩხილებში, რომ ჩვენ 34 00:01:33,420 --> 00:01:35,460 მინდა n ints. 35 00:01:35,460 --> 00:01:39,570 და ამიტომ ჩვენ ერთობლივად ეხება ამ ints რადგან ასაკის. 36 00:01:39,570 --> 00:01:43,490 >> ახლა რაღაც მომენტში მე შეუძლია მიიღოს ყოველ ints ამ მასივი 37 00:01:43,490 --> 00:01:47,270 ასეთივე გზით კვადრატული ფრჩხილი ნოტაცია, დაწყებული 0. 38 00:01:47,270 --> 00:01:51,720 მოდით გაგრძელება ახლა loop to შეეკითხება მომხმარებლებს მათი ასაკის. 39 00:01:51,720 --> 00:01:54,780 განთავსების int მივიღებ 0. 40 00:01:54,780 --> 00:01:59,464 I ნაკლებია N, იმ ადამიანთა რიცხვი, ოთახში, მე plus plus. 41 00:01:59,464 --> 00:02:06,610 >> და ახლა ამ მარყუჟის, ვთქვათ, printf ასაკის პირი ნომერი, პროცენტი I 42 00:02:06,610 --> 00:02:09,430 არის placeholder, მძიმით. 43 00:02:09,430 --> 00:02:13,210 და ახლა, ვიდრე დაიწყება დათვლის დან 0 თავად პროგრამას, მოდით 44 00:02:13,210 --> 00:02:17,180 მინიმუმ ბიჯი I 1 ისე, რომ ნორმალური პირი, ამ პროგრამის გამოყენებისას 45 00:02:17,180 --> 00:02:20,120 არ ითვლიან მოსწონს კომპიუტერის მეცნიერი შეიძლება. 46 00:02:20,120 --> 00:02:26,130 მოდით ახლა ასაკის, bracket I, რითაც მიუთითებს, რომ i-th ასაკის ჩვენი 47 00:02:26,130 --> 00:02:31,480 array ასაკის აპირებს დაბრუნების ღირებულება GetInt. 48 00:02:31,480 --> 00:02:37,800 >> ახლა ქვემოთ ამ მარყუჟის, მოდით გაგრძელება უნდა ვივარაუდოთ, რომ გარკვეული დროის განმავლობაში გადის. 49 00:02:37,800 --> 00:02:41,690 და მოდით ახლა გაგრძელება სხვა loop რეალურად ასაკში ყველას ოთახი 50 00:02:41,690 --> 00:02:42,800 ერთი წლით. 51 00:02:42,800 --> 00:02:48,110 ასე რომ კიდევ ერთხელ, რადგან int მე კიდევ 0, მე ნაკლებად ვიდრე N, რაოდენობის ხალხი 52 00:02:48,110 --> 00:02:49,680 ოთახში, მე plus plus. 53 00:02:49,680 --> 00:02:57,210 >> და ახლა შიგნით ამ მარყუჟის, ვთქვათ, printf ერთ წელიწადში პირი ნომერი, ან, 54 00:02:57,210 --> 00:03:00,990 პროცენტიანი I არის placeholder, იქნება იყოს, პროცენტი მე კიდევ ერთი 55 00:03:00,990 --> 00:03:03,210 placeholder, წლის. 56 00:03:03,210 --> 00:03:07,230 ხოლო შემდეგ დანამატის იმ placeholders, მოდით პირველ ვთქვა, მე პლუს 57 00:03:07,230 --> 00:03:11,220 1, ასე რომ ერთხელ ჩვენ დაიწყება დათვლის საქართველოს შესახებ 1. 58 00:03:11,220 --> 00:03:18,630 და მაშინ მოდით plug რომ პირის ასაკი როგორც ასაკის bracket I პლუს 1, რითაც 59 00:03:18,630 --> 00:03:23,740 სასურველი go მიიღეთ i-th ასაკის ჩვენი array ასაკის, დაამატეთ 1, და შემდეგ 60 00:03:23,740 --> 00:03:28,370 ჩადეთ ეს თანხა ჩვენი placeholder, close paren, მძიმით. 61 00:03:28,370 --> 00:03:33,280 >> მოდით ახლა შეადგინონ ამ პროგრამის მარკა ასაკის, და მოდით გაუშვით dot 62 00:03:33,280 --> 00:03:34,990 slash ასაკის. 63 00:03:34,990 --> 00:03:38,770 და ვფიქრობ, რომ არსებობს მხოლოდ სამი ადამიანი ოთახში, და ვინმე არის 18, 64 00:03:38,770 --> 00:03:40,700 ვინმე არის 19, ვინმე არის 20. 65 00:03:40,700 --> 00:03:45,350 ისე, ერთი წლის შემდეგ, თითოეული მათგანი ეგ იქნება 19, 20 და 21, 66 00:03:45,350 --> 00:03:46,600 შესაბამისად. 67 00:03:46,600 --> 00:03:48,948