1 00:00:00,000 --> 00:00:11,952 2 00:00:11,952 --> 00:00:13,800 >> დევიდ ჯ Malan: ასე რომ, ეს არის CS50. 3 00:00:13,800 --> 00:00:18,970 და ეს იყო CS50 საკუთარი Colton Ogden, უფრო ვინ არის მუსიკის შეგიძლიათ 4 00:00:18,970 --> 00:00:22,820 ჩამოტვირთვა at soundcloud.com/cs50. 5 00:00:22,820 --> 00:00:26,690 >> ასე რომ, დღეს ჩვენ ფოკუსირება ყველა მეტი ხელოვნების პროგრამირებაში. 6 00:00:26,690 --> 00:00:28,980 და ჩვენ, სადაც დავტოვეთ off გასულ კვირას, აქცენტი 7 00:00:28,980 --> 00:00:31,660 on Scratch, რომელიც ამ გრაფიკული პროგრამირების ენა. 8 00:00:31,660 --> 00:00:35,490 და მიიღოს რამ ქვემოთ ქვედა დონეზე, გამოყენებით უფრო ტრადიციული პროგრამირების 9 00:00:35,490 --> 00:00:38,420 ენა ცნობილია როგორც C. მაგრამ გასწვრივ გზა, ხვდებიან, 10 00:00:38,420 --> 00:00:40,730 რომ იგივე იდეები ჩვენ ისაუბრა გასულ პარასკევს 11 00:00:40,730 --> 00:00:44,390 კვლავაც და არა მხოლოდ ამ ენის C, მაგრამ საუკეთესო ყველა სხვა 12 00:00:44,390 --> 00:00:46,350 ჩვენ შევხედოთ ამ სემესტრში. 13 00:00:46,350 --> 00:00:50,247 >> ასე რომ, ჩვენ უწოდა რამ აქ რა ბოლო დროს? 14 00:00:50,247 --> 00:00:51,830 ეს არის წარმომადგენელი განცხადებაში. 15 00:00:51,830 --> 00:00:53,080 ასე რომ, ჩვენ კი ამ განცხადებაში. 16 00:00:53,080 --> 00:00:54,100 და ეს აკეთებს რაღაც. 17 00:00:54,100 --> 00:00:56,910 ეს განკარგულება, კომპიუტერის ან Scratch შეიძლება შეასრულოს. 18 00:00:56,910 --> 00:00:59,910 და ამიერიდან, მოდით ასევე დაიწყება მოუწოდებს რაღაც მსგავსი ფუნქცია, 19 00:00:59,910 --> 00:01:02,070 მიზეზების გამო, ჩვენ უნდა მალე ვხედავ. 20 00:01:02,070 --> 00:01:03,681 >> იმავდროულად, ჩვენ ვნახეთ რამ, როგორიცაა ამ. 21 00:01:03,681 --> 00:01:05,680 და ეს არის ზოგადად ცნობილია, რა შენება? 22 00:01:05,680 --> 00:01:06,240 >> აუდიტორია: Loop. 23 00:01:06,240 --> 00:01:06,860 >> დევიდ ჯ Malan: ასე რომ loop. 24 00:01:06,860 --> 00:01:07,943 ასე რომ, საკმაოდ მარტივია. 25 00:01:07,943 --> 00:01:09,470 ეს ფაქტიურად იმას, თუ რას ამბობს. 26 00:01:09,470 --> 00:01:12,210 და Scratch, თუ გსურთ cram მეტი თავსატეხი ცალი არსებობს, 27 00:01:12,210 --> 00:01:13,950 ცალი გაიზრდება შეესაბამება მას. 28 00:01:13,950 --> 00:01:16,790 და ჩვენ ვხედავთ C, ჩვენ შეგვიძლია გავაკეთოთ იგივე. 29 00:01:16,790 --> 00:01:20,000 >> სხვა ტიპის loop, თუმცა, in Scratch შეიძლება იყოს სამუდამოდ, 30 00:01:20,000 --> 00:01:21,820 ან არსებობს რაიმე ნომერი სხვა მიდგომები. 31 00:01:21,820 --> 00:01:24,150 მაგრამ მოდით უფრო ზოგადი სახე, სახე 32 00:01:24,150 --> 00:01:27,402 რომ სავარაუდოდ საკმაოდ ნაცნობი, მარყუჟების ზოგადად. 33 00:01:27,402 --> 00:01:29,110 Mark Zuckerberg: One რამ, კომპიუტერები 34 00:01:29,110 --> 00:01:31,860 მართლაც კარგად არის იმეორებს ბრძანებები. 35 00:01:31,860 --> 00:01:33,910 პირი, ნეტავ კიდევ ნამდვილად შეწუხებული თუ 36 00:01:33,910 --> 00:01:36,730 უნდა გაეკეთებინათ იგივე ბევრი ჯერ ზედიზედ. 37 00:01:36,730 --> 00:01:40,530 მაგრამ კომპიუტერი შეიძლება გავაკეთოთ იგივე მილიონობით, თუნდაც მილიარდობით ჯერ, 38 00:01:40,530 --> 00:01:43,290 და არ მოგწყინდება, და შეძლებს განახორციელოს, რომ ნამდვილად კარგად. 39 00:01:43,290 --> 00:01:45,650 >> ასე მაგალითად, თუ მე სასურველი ვუსურვო ყველას 40 00:01:45,650 --> 00:01:48,840 on Facebook ბედნიერი დაბადების დღე გაგზავნით მათ ელექტრონული ფოსტით, 41 00:01:48,840 --> 00:01:51,550 ეს შესაძლოა ჩემთვის უფრო მეტია, ვიდრე საუკუნის რეალურად წერენ out 42 00:01:51,550 --> 00:01:53,000 ყველა იმ წერილებს ყველას. 43 00:01:53,000 --> 00:01:57,780 მაგრამ მხოლოდ რამდენიმე ხაზი კოდი, მე არ შემიძლია აქვს სისტემას ელ ყველას 44 00:01:57,780 --> 00:01:59,930 on Facebook მსურველი მათ ბედნიერი დაბადების დღე. 45 00:01:59,930 --> 00:02:02,730 ასე რომ, რა მარყუჟების და რატომ ისინი ძვირფასი და რაღაც 46 00:02:02,730 --> 00:02:04,740 რომ კომპიუტერი ძალიან კარგად. 47 00:02:04,740 --> 00:02:05,630 >> დევიდ ჯ Malan: ასე რომ, თუ თქვენ უკვე მიმღები 48 00:02:05,630 --> 00:02:07,820 ზოგიერთი CS50 და Dropbox სივრცეში გვიან, 49 00:02:07,820 --> 00:02:10,590 რომ რეალურად ზუსტად ის რასაც ჩვენ ამის გაკეთება გამოყენებით კოდი საკმაოდ იგრძნობა. 50 00:02:10,590 --> 00:02:12,600 ჩვენ არსებითად დიდი ცხრილების, რომელშიც 51 00:02:12,600 --> 00:02:15,016 ეგ უკვე შესაყვანი მათი სახელები და ელექტრონული ფოსტის მისამართები. 52 00:02:15,016 --> 00:02:18,160 და ჩვენ წერდა ერთი ციცქნა კოდი, რომელიც შეგიძლიათ iterate მეტი იმ მისამართებზე 53 00:02:18,160 --> 00:02:21,860 და შამფურზე უნიკალური მისამართები თუ ვინმეს წარმოდგენილი რამდენჯერმე. 54 00:02:21,860 --> 00:02:25,120 და ამის შემდეგ, ჩვენ ავტომატური ელ CS50-ს ბოტი, 55 00:02:25,120 --> 00:02:27,190 მათ შორის კუპონის კოდი. 56 00:02:27,190 --> 00:02:29,290 >> ახლა ჩვენ ასევე შევხედე ამ მშენებლობას ბოლო დროს. 57 00:02:29,290 --> 00:02:33,100 და ეს არის განსაკუთრებული მაგალითად, თუ რა? 58 00:02:33,100 --> 00:02:35,050 ასე რომ, yeah, ლოგიკური გამოხატულებაა. 59 00:02:35,050 --> 00:02:37,050 და ფორმა იგულისხმება ხელში რომ ისევე. 60 00:02:37,050 --> 00:02:39,966 ყველა ასეთი შეკითხვებს შექმნას ნამდვილი ან ყალბი in Scratch 61 00:02:39,966 --> 00:02:41,590 გამოიყურება პატარა რაღაც მსგავსი. 62 00:02:41,590 --> 00:02:43,200 და ჩვენ მოვუწოდებთ ამ ლოგიკური გამოხატულებაა. 63 00:02:43,200 --> 00:02:46,170 ეს მართლაც ჭეშმარიტი ან ცრუ, თუ არა. 64 00:02:46,170 --> 00:02:49,150 ეს არის გზა კითხვებზე პასუხის გასაცემად. 65 00:02:49,150 --> 00:02:52,420 >> და იმავდროულად თქვენ შეგიძლიათ გამოიყენოთ ეს ლოგიკური გამონათქვამები შიგნით აშენებს 66 00:02:52,420 --> 00:02:54,720 ასეთი, რომელიც რა თქმა უნდა პირობები 67 00:02:54,720 --> 00:02:57,259 ან ფილიალი, proverbial ჩანგლები საგზაო. 68 00:02:57,259 --> 00:02:59,550 და მათ შეუძლიათ გამოიყურება არა მხოლოდ მსგავსი, მაგრამ მათ შეუძლიათ აგრეთვე 69 00:02:59,550 --> 00:03:02,080 არ elses მათთან ასოცირებული. 70 00:03:02,080 --> 00:03:05,820 და თქვენ შეგიძლიათ რეალურად აქვს სამი გზა ჩანგალი საგზაო ან ოთხი გზა ჩანგალი 71 00:03:05,820 --> 00:03:08,340 გზაზე, უბრალოდ მობუდარი ეს ყველაფერი, 72 00:03:08,340 --> 00:03:10,510 როგორც თქვენ ხედავთ Scratch თუ არ უკვე. 73 00:03:10,510 --> 00:03:13,550 და როგორც თქვენ შეგიძლიათ ამის გაკეთება C ისევე. 74 00:03:13,550 --> 00:03:16,810 >> ავიღოთ კიდევ ერთი ზოგადი შევხედოთ alumnist, ისევე, რომელიც 75 00:03:16,810 --> 00:03:21,490 შეიძლება წარმოადგინოს განსხვავებული მიდგომა ამ რამ მოუწოდა პირობები. 76 00:03:21,490 --> 00:03:24,060 >> ბილ გეითსი: ხალხი, გადაწყვეტილებები ყოველდღე. 77 00:03:24,060 --> 00:03:27,530 მაგალითად, სანამ თქვენ გარეთ თქვენ სახის, თუ განაცხადი, რომელიც ამბობს, 78 00:03:27,530 --> 00:03:31,480 თუ ეს წვიმს მერე უნდა მიიღოს ჩემი ქურთუკი. 79 00:03:31,480 --> 00:03:36,820 და კომპიუტერების საოცარი ერთხელ თქვენ გადაწყვიტოს იმ სახის განცხადებები, 80 00:03:36,820 --> 00:03:42,280 რომ ისინი შეიძლება საიმედოდ შეასრულოს იმ რამ at წარმოუდგენელი სიჩქარე. 81 00:03:42,280 --> 00:03:48,240 და ასე კომპიუტერული პროგრამა მართლაც არის ცოტა მათემატიკის და ზოგიერთი 82 00:03:48,240 --> 00:03:53,050 თუ განცხადება, სადაც გადაწყვეტილება იღებს გააკეთა. 83 00:03:53,050 --> 00:03:55,020 >> დევიდ ჯ Malan: ასე რომ, როგორც მოგეხსენებათ, რომ ეს იყო 84 00:03:55,020 --> 00:03:57,880 ეგ, როგორიც ბილ გეიტსი, Paul Allen, და სხვები 85 00:03:57,880 --> 00:04:00,240 რომ მართლაც დაიწყო ე.წ. პერსონალური კომპიუტერი 86 00:04:00,240 --> 00:04:01,990 რევოლუცია რამდენიმე წლის წინ. 87 00:04:01,990 --> 00:04:04,140 ვიფიქრე, სანამ ჩვენ ჩაყვინთვის გარკვეული administrivia, 88 00:04:04,140 --> 00:04:09,920 ჩვენ გვინდა ეხება ზღაპარი საწყისი Albuquerque, New Mexico მუზეუმი ბუნებრივი ისტორია 89 00:04:09,920 --> 00:04:13,650 და მეცნიერების, სადაც რამდენიმე ბილ გეიტსი " და პოლ ალენმა ადრეული მოთხრობები 90 00:04:13,650 --> 00:04:17,470 რომლებიც ასე გაგვეცნო ახლა ჩვენ გვაქვს დღევანდელი ები და Macs და სხვა. 91 00:04:17,470 --> 00:04:22,390 ამ, თუმცა, ჩვენ გვჭირდება ორი მოხალისეები რომელსაც აქვს ძალიან კარგი თხრობის ხმები 92 00:04:22,390 --> 00:04:23,735 წაკითხვის script ხმამაღლა. 93 00:04:23,735 --> 00:04:25,530 >> ყველა უფლება, თუ როგორ შესახებ იქ. 94 00:04:25,530 --> 00:04:26,120 მოდის up. 95 00:04:26,120 --> 00:04:27,770 და რა წინ აქ. 96 00:04:27,770 --> 00:04:28,340 მოდის ქვემოთ. 97 00:04:28,340 --> 00:04:29,600 აიღეთ ადგილებში აქ. 98 00:04:29,600 --> 00:04:32,444 როგორც შენ ამუშავება, რამდენიმე ადმინისტრაციული განცხადებები. 99 00:04:32,444 --> 00:04:34,360 sectioning, პროცესი არჩევის განყოფილებიანი, 100 00:04:34,360 --> 00:04:36,068 დაიწყება ოთხშაბათი პარასკევის ჩათვლით. 101 00:04:36,068 --> 00:04:38,400 უფრო, რომ ამ მოდის ოთხშაბათი ლექცია. 102 00:04:38,400 --> 00:04:41,770 >> Super სექციები, იმავდროულად, არიან ის, რასაც ჩვენ ვთავაზობთ მომდევნო კვირას 103 00:04:41,770 --> 00:04:45,310 რომლის დროსაც მთელი კლასი მიწვეული მონაწილეობის საკმაოდ დიდი მასშტაბის 104 00:04:45,310 --> 00:04:47,690 სექციები, ერთი უფრო კომფორტული, ერთი ნაკლებად კომფორტული. 105 00:04:47,690 --> 00:04:51,340 და ჩვენ გამოვაცხადებთ არჩევნების ცნობები რომ, ასევე, მოგვიანებით ამ კვირაში. 106 00:04:51,340 --> 00:04:53,310 >> ამასობაში სექციები, თავად დაიწყებს 107 00:04:53,310 --> 00:04:57,241 კვირაში სამი, რა თქმა უნდა, ნულოვანი ინდექსი, რაც იმას ნიშნავს, რომ ეს არის რამდენიმე კვირის 108 00:04:57,241 --> 00:04:57,740 out. 109 00:04:57,740 --> 00:04:58,450 ასე რომ არ ინერვიულოთ. 110 00:04:58,450 --> 00:05:01,014 თქვენ ჯერ არ გაუშვა არაფერი გასწვრივ იმ ხაზები. 111 00:05:01,014 --> 00:05:03,930 ამასობაში კი ამასობაში, თუ გაქვთ რაიმე შეკითხვა ადმინისტრაციულად 112 00:05:03,930 --> 00:05:08,120 ელ თავს და Devon და Gabe და Rob ამ მისამართზე აქ. 113 00:05:08,120 --> 00:05:10,320 >> და ბოლოს, პრობლემა კომპლექტი 0, რა თქმა უნდა, გარეთ. 114 00:05:10,320 --> 00:05:12,320 თქვენ შეიძლება არ შეამჩნია, რომ რა თქმა უნდა, მისი ნახვა. 115 00:05:12,320 --> 00:05:14,840 ეს უნდა მოგაწვდით ყველა პასუხი კითხვებზე, 116 00:05:14,840 --> 00:05:18,250 თქვენ ალბათ გზაზე ნაცნობობა პრობლემა კომპლექტი. 117 00:05:18,250 --> 00:05:21,430 მაგრამ, თუ თქვენ აღმოჩნდეთ სჭირდება ეხმარებოდნენ, 118 00:05:21,430 --> 00:05:25,020 აუცილებლად დაესწრება საათებში, ორშაბათი, სამშაბათი, ოთხშაბათი, ხუთშაბათი 119 00:05:25,020 --> 00:05:27,290 ამ კვირაში საღამოს ოთხ სასადილოები. 120 00:05:27,290 --> 00:05:31,650 , რომ URL არსებობს ცნობები სადაც ოფისში საათი უნდა იყოს. 121 00:05:31,650 --> 00:05:34,000 >> ახლა მოდი შევხვდეთ ჩვენი ორი სტუმარი დღეს აქ. 122 00:05:34,000 --> 00:05:34,740 რა გქვია? 123 00:05:34,740 --> 00:05:35,290 >> JAY PAUL: Jay პავლე. 124 00:05:35,290 --> 00:05:36,880 >> დევიდ ჯ Malan: Jay პავლე, კარგია თქვენთან შეხვედრა. 125 00:05:36,880 --> 00:05:37,330 >> Hikari: Hikari. 126 00:05:37,330 --> 00:05:37,975 >> დევიდ ჯ Malan: Hikari? 127 00:05:37,975 --> 00:05:38,250 >> Hikari: Hikari. 128 00:05:38,250 --> 00:05:38,810 >> დევიდ ჯ Malan: Hikari. 129 00:05:38,810 --> 00:05:39,790 კარგია თქვენთან შეხვედრა, ისევე. 130 00:05:39,790 --> 00:05:42,123 Jay პავლე და Hikari აქვს მათ წინაშე ამ მუსიკა 131 00:05:42,123 --> 00:05:45,100 დგას ორი სკრიპტები რომ მე დაბეჭდილი ამ დილით, რომ New Mexico 132 00:05:45,100 --> 00:05:46,692 მუზეუმი ბუნებრივი ისტორია და მეცნიერება. 133 00:05:46,692 --> 00:05:48,400 და რა ვიფიქრე მე მინდა ოვერჰედის 134 00:05:48,400 --> 00:05:52,830 არის თანმხლებ თქვენი წაკითხვის სცენარი და ისტორიის 135 00:05:52,830 --> 00:05:54,700 ზოგიერთი ვიზუალური გამოსახულება, სიურპრიზები. 136 00:05:54,700 --> 00:05:57,512 >> და რა მე გაკეთდეს წინასწარ არის prehighlight თქვენი script 137 00:05:57,512 --> 00:05:59,470 ის, რაც თქვენ უნდა წაიკითხოთ, და რა უნდა წაიკითხონ. 138 00:05:59,470 --> 00:06:00,920 და ჩვენ, არსებითად, უბრალოდ ალტერნატიული პუნქტებში. 139 00:06:00,920 --> 00:06:03,211 ასე რომ, ეს ძალიან ჰგავს თქვენ შეიძლება გააკეთეთ ინგლისურ კლასი. 140 00:06:03,211 --> 00:06:06,875 რომ მართლაც აიძულებს აუდიტორია გვჯერა შენი ზღაპარი აქ. 141 00:06:06,875 --> 00:06:07,600 უნდა? 142 00:06:07,600 --> 00:06:13,272 ასე ამბავი აქ არის, ჩვენ გვაქვს BASIC, და ეს იწყება Cambridge. 143 00:06:13,272 --> 00:06:18,750 >> JAY PAUL: ეს იყო ზამთარში, 1974, კემბრიჯი, მასაჩუსეტსი 144 00:06:18,750 --> 00:06:20,240 ზამთარი შეიძლება იყოს ცივი. 145 00:06:20,240 --> 00:06:22,800 ბატკანძერი, ხანგრძლივი haired კოლეჯის dropout დაასახელა 146 00:06:22,800 --> 00:06:27,280 პოლ ალენი იყო drudging მასშტაბით Harvard მოედანზე, შეიწოვება თავის აზრებს. 147 00:06:27,280 --> 00:06:31,050 მისი ძირითადი შეშფოთება იმ დღეებში იყო, თუ როგორ უნდა მიიღოს მისი მეგობარი, ბილ გეიტსი, 148 00:06:31,050 --> 00:06:34,974 სკოლა მიეტოვებინა და წავიდეთ ბიზნეს მასთან. 149 00:06:34,974 --> 00:06:37,890 Hikari: ორი უკვე წავიდა მთელი რიგი ბიზნეს საწარმოების 150 00:06:37,890 --> 00:06:40,850 ერთად, დაწყებული Lakeside სკოლა Seattle, სადაც 151 00:06:40,850 --> 00:06:45,220 უხდიდნენ უფასო კომპიუტერის დრო შესამოწმებლად PDP-10 კომპიუტერის ლოკალური დრო 152 00:06:45,220 --> 00:06:46,580 გაზიარება კომპანია. 153 00:06:46,580 --> 00:06:50,930 ყველაზე ბოლო გეგმა იყო, რომ თავი დაანებონ სკოლის და ჩამოყალიბდეს პროგრამული უზრუნველყოფის კომპანია. 154 00:06:50,930 --> 00:06:53,440 Allen დატოვა Washington სახელმწიფო უნივერსიტეტი. 155 00:06:53,440 --> 00:06:58,380 მაგრამ ბოლო წუთს, Gates გადაწყვიტა გამყარებაში ერთად ჰარვარდის. 156 00:06:58,380 --> 00:07:02,080 >> JAY PAUL: იმ დღეს, გადაკვეთის Harvard მოედანზე, Allen მყივანი იანვარი, 157 00:07:02,080 --> 00:07:07,530 1975 საკითხი Popular Electronics დედამიწის გაჩერების სათაურით, 158 00:07:07,530 --> 00:07:11,900 მსოფლიოში პირველი მინიკომპიუტერების Kit რომ კონკურენტი კომერციული მოდელები. 159 00:07:11,900 --> 00:07:14,430 ქვეშ სათაურია სურათს პატარა ყუთი 160 00:07:14,430 --> 00:07:16,160 მორთული განათება და კონცენტრატორები. 161 00:07:16,160 --> 00:07:19,770 მას ეწოდებოდა MITS Altair 8800. 162 00:07:19,770 --> 00:07:24,100 და ალენ იცოდა, რომ ეს იყო ის, რაც მან უკვე ეძებს. 163 00:07:24,100 --> 00:07:26,350 >> Hikari: Days of დისკუსია მოჰყვა. 164 00:07:26,350 --> 00:07:30,170 ალენი და Gates ესმოდა მნიშვნელობაზე Altair. 165 00:07:30,170 --> 00:07:32,480 მათ ისაუბრეს ხშირად შესახებ მიკროპროცესორების 166 00:07:32,480 --> 00:07:35,250 და ელოდება რა მოხდება მათთან. 167 00:07:35,250 --> 00:07:39,770 ახლა იყო მინიკომპიუტერების ნაკრები საფარი პოპულარული ელ. 168 00:07:39,770 --> 00:07:42,830 ეს აშკარად არ ჰქონდა პროგრამული უზრუნველყოფა ამჟამად. 169 00:07:42,830 --> 00:07:46,830 მათ წარმოედგინათ ერი პროგრამისტები დაღმავალი MITS. 170 00:07:46,830 --> 00:07:49,590 ასე რომ, ისინი მოუწოდა ედ რობერტსი, კომპანიის ხელმძღვანელი, 171 00:07:49,590 --> 00:07:53,330 აცხადებდნენ აქვს მობილური ძირითადი პროგრამირების ენა თითქმის მზად 172 00:07:53,330 --> 00:07:54,710 რომ Altair. 173 00:07:54,710 --> 00:07:55,570 ეს არ გააკეთეს. 174 00:07:55,570 --> 00:07:58,910 და რობერტსი უნდა სცოდნოდა ეს არ გააკეთეს. 175 00:07:58,910 --> 00:08:03,170 ის მიღების 10 ზარი დღეში ადამიანი, რომელმაც BASIC თითქმის მზად არის. 176 00:08:03,170 --> 00:08:05,570 და მისი საფონდო პასუხი იყო, "პირველი პირი 177 00:08:05,570 --> 00:08:11,090 რომელიც აჩვენებს მდე სამუშაო BASIC იღებს კონტრაქტი. " 178 00:08:11,090 --> 00:08:13,910 >> JAY PAUL: Gates და Allen არასდროს მინახავს Altair. 179 00:08:13,910 --> 00:08:17,600 ისინი არასდროს კი მინახავს Intel 8080 მიკროპროცესორული 180 00:08:17,600 --> 00:08:19,060 გულში Altair. 181 00:08:19,060 --> 00:08:21,470 მაგრამ რამდენიმე წლის წინათ Allen დაწერილი პროგრამა 182 00:08:21,470 --> 00:08:25,220 წლის mainframe კომპიუტერი, რომელიც წააგავს ოპერაციის წინა Intel 183 00:08:25,220 --> 00:08:26,217 მიკროპროცესორული. 184 00:08:26,217 --> 00:08:28,300 და ამ დროს გარშემო, მათ ყველაფერს გააკეთებს იგივე. 185 00:08:28,300 --> 00:08:31,530 186 00:08:31,530 --> 00:08:34,380 >> Hikari: With Intel 8080 სახელმძღვანელო თავის მხრივ, 187 00:08:34,380 --> 00:08:37,770 Allen დაჯდა ჰარვარდის PDP-10 კომპიუტერული 188 00:08:37,770 --> 00:08:42,010 და დაწერა emulator და პროგრამული უზრუნველყოფის ინსტრუმენტები აუცილებელია გავაკეთოთ პროგრამირების. 189 00:08:42,010 --> 00:08:45,820 ამასობაში Gates აღარ აპირებს კლასები და თავისათვის 190 00:08:45,820 --> 00:08:48,120 დიზაინი BASIC, გამოყენებით ყველა ხრიკი 191 00:08:48,120 --> 00:08:53,130 მან იცოდა, რომ მიიღოს ზომა ქვემოთ 4 kilobytes. 192 00:08:53,130 --> 00:08:55,870 >> JAY PAUL: Out in Albuquerque, ედ რობერტსი მივიღე ზარი Gates 193 00:08:55,870 --> 00:08:59,754 ითხოვს შესახებ დამატებითი ინფორმაცია Altair სიფრთხილით კონკრეტული routines. 194 00:08:59,754 --> 00:09:01,170 არავის უკითხავს, ​​რომ ადრე. 195 00:09:01,170 --> 00:09:02,670 და რობერტსი დაიწყო დაინტერესებული. 196 00:09:02,670 --> 00:09:05,240 197 00:09:05,240 --> 00:09:07,970 >> Hikari: განვითარებასთან ერთად ინსტრუმენტები და დიზაინი მზად არის, 198 00:09:07,970 --> 00:09:10,780 გეითსმა და ალენმა დაწერა კოდექსის PDP-10, 199 00:09:10,780 --> 00:09:16,060 შეიარაღებულ ძალებში კიდევ ჰარვარდის სტუდენტი, Monte Davidoff, დაწერა მათემატიკის routines. 200 00:09:16,060 --> 00:09:19,450 მას შემდეგ, რაც უკანასკნელ ღამეს პროგრამირების, Allen მოუჭრა თვითმფრინავი 201 00:09:19,450 --> 00:09:22,970 სიტყვით BASIC to MITS. 202 00:09:22,970 --> 00:09:25,800 მან გაატარა თვითმფრინავი ვისრიალოთ შემაშფოთებელია. 203 00:09:25,800 --> 00:09:28,490 და უკან Cambridge გეითსის შემაშფოთებელია. 204 00:09:28,490 --> 00:09:32,100 მათ ტესტირება მათი ძირითადი და იგი მუშაობდა emulator. 205 00:09:32,100 --> 00:09:35,444 მაგრამ რა, თუ emulator იყო არასწორი? 206 00:09:35,444 --> 00:09:37,360 JAY PAUL: როგორც თვითმფრინავი მიუახლოვდა Albuquerque, 207 00:09:37,360 --> 00:09:40,070 Allen მიხვდა, რომ მათი BASIC, ახლა neatly შეიცავს 208 00:09:40,070 --> 00:09:42,460 პატარა როლი punched ქაღალდის ლენტი, რომ 209 00:09:42,460 --> 00:09:44,970 იქნება უსარგებლო გარეშე ცალკე პროგრამა, რომელსაც loader, რომ 210 00:09:44,970 --> 00:09:47,550 რომ გითხრათ Altair როგორ წაკითხვის ქაღალდის ლენტი ყოფნა 211 00:09:47,550 --> 00:09:49,620 ყელში შევიდა teletype მანქანა. 212 00:09:49,620 --> 00:09:52,970 მან თავისი რვეული და სწრაფად scribbled ქვემოთ loader პროგრამა 213 00:09:52,970 --> 00:09:56,819 ასამბლეის ენაზე, შემდეგ ხელით თარგმნა რომ შევიდა 1s და 0S 214 00:09:56,819 --> 00:09:57,985 Altair იქნებოდა მესმის. 215 00:09:57,985 --> 00:10:00,530 216 00:10:00,530 --> 00:10:03,830 >> Hikari: Allen ელოდება სუფთა, პატარა, მაღალტექნოლოგიური კომპანია 217 00:10:03,830 --> 00:10:05,470 მართავენ მამაკაცები ბიზნეს ლუქსი. 218 00:10:05,470 --> 00:10:09,210 ასე რომ, ის გაოცებული იყო, როდესაც Roberts შეხვდა მას აეროპორტში ეძებს როგორც ranch 219 00:10:09,210 --> 00:10:10,270 ხელი. 220 00:10:10,270 --> 00:10:12,070 Roberts გაკვირვებული იყო. 221 00:10:12,070 --> 00:10:16,340 როდესაც იგი დაეცა Harvard programmer ძვირადღირებული სასტუმრო, 222 00:10:16,340 --> 00:10:20,790 Allen იძულებული გახდა ეღიარებინა, რომ მას არ შეეძლო ოთახი. 223 00:10:20,790 --> 00:10:24,510 >> JAY PAUL: MITS, თავად იყო მდებარეობს მტვრიანი ზოლები ცენტრი. 224 00:10:24,510 --> 00:10:27,040 შიგნით cluttered workbench იყო Altair 225 00:10:27,040 --> 00:10:30,390 დატვირთული 5 kilobytes of მეხსიერება და მასთან დაკავშირებული საკაბელო 226 00:10:30,390 --> 00:10:32,030 რომ teletype მანქანა. 227 00:10:32,030 --> 00:10:37,200 რობერტსი და მთავარი ინჟინერი, კანონპროექტი Yates, დაელოდა expectantly 228 00:10:37,200 --> 00:10:40,660 როგორც ალენ იმართება მისი loader პროგრამა შევიდა Altair. 229 00:10:40,660 --> 00:10:44,980 Teletype დაიწყო chugging რადგან ის გამოყვანილია ქაღალდის ლენტი მეშვეობით ფირზე მკითხველს. 230 00:10:44,980 --> 00:10:47,215 დასჭირდა, ალბათ, 15 წუთი ჩატვირთვა პროგრამა. 231 00:10:47,215 --> 00:10:52,110 მაშინ teletype მოულოდნელად ნაბეჭდი მეხსიერების სწრაფი, მაშინ მზად დროული, 232 00:10:52,110 --> 00:10:55,340 და ალენ დაიწყო აკრეფით რამდენიმე ტესტი ბრძანებები. 233 00:10:55,340 --> 00:10:57,400 ყველას გაოცებას, პროგრამული მუშაობდა. 234 00:10:57,400 --> 00:10:58,525 იყო შეცდომები, რა თქმა უნდა. 235 00:10:58,525 --> 00:11:02,070 მაგრამ მთავარი ის იყო, ის მუშაობდა. 236 00:11:02,070 --> 00:11:06,570 >> Hikari: მოგვიანებით, მათი გზა $ 3.00 ლანჩი პანჩო ს, wasp გაფრინდა 237 00:11:06,570 --> 00:11:10,470 ფანჯრის პიკაპის სატვირთო და შეწუხებულმა Allen მკლავი. 238 00:11:10,470 --> 00:11:13,070 თუმცა, იმ დროს არაფერი შეიძლება გააფუჭოს განწყობა. 239 00:11:13,070 --> 00:11:17,210 Altair ახლა, მისი ძირითადი, პირველი კომერციული პროგრამული უზრუნველყოფა მთავარი 240 00:11:17,210 --> 00:11:23,260 კომპიუტერი, მიერ Paul Allen და ბილ Gates, ბიზნესის, როგორც Microsoft. 241 00:11:23,260 --> 00:11:25,336 >> დევიდ ჯ Malan: ბევრი მადლობა ჩვენი ორი მკითხველს. 242 00:11:25,336 --> 00:11:30,690 >> [ტაში] 243 00:11:30,690 --> 00:11:32,520 >> დევიდ ჯ Malan: ახლა თქვენ გაქვთ არჩევანი, 244 00:11:32,520 --> 00:11:35,880 ადრე დატოვებს, საქართველოს sparkly ან დიზელის dark-- oh, 245 00:11:35,880 --> 00:11:40,810 დაველოდოთ ერთი წმ wait-- sparkly და დიზელის მუქი სპილოს 246 00:11:40,810 --> 00:11:42,534 საწყისი CS50 საკუთარი Cheng Gong. 247 00:11:42,534 --> 00:11:43,450 Hikari: Aw, მადლობა. 248 00:11:43,450 --> 00:11:45,324 დევიდ ჯ Malan: ყველა მარჯვენა, დიდი მადლობა. 249 00:11:45,324 --> 00:11:49,855 [ტაში] 250 00:11:49,855 --> 00:11:51,105 დევიდ ჯ Malan: ასე რომ, ნამდვილი ამბავი. 251 00:11:51,105 --> 00:11:54,380 ეს არის იმის თქმა, რომ ყველა ეს მანქანები და მარტივია, რაც ჩვენ 252 00:11:54,380 --> 00:11:56,270 მათი გამოყენება ახლა და მიიღოს თავისთავად, მართლაც 253 00:11:56,270 --> 00:12:00,070 აქედან დაიწყო, რამდენიმე paces ამ ფაქტობრივი თეატრი. 254 00:12:00,070 --> 00:12:03,930 და ახლა, დღეს, თუ თქვენ არ ყოფილა, ეს არის Maxwell დვორკინმა კომპიუტერული 255 00:12:03,930 --> 00:12:05,810 მეცნიერებათა კორპუსში, ასევე გარშემო კუთხეში. 256 00:12:05,810 --> 00:12:09,760 და მეორე სართულზე ამ შენობა არ დევს სამი გვერდი 257 00:12:09,760 --> 00:12:12,740 ორიგინალური წყარო კოდი, რომელიც ბილ გეითსმა და პოლ ალენმა დაწერა. 258 00:12:12,740 --> 00:12:14,770 ფაქტობრივად, თუ გამოყენების მასშტაბირების თქვენ ხედავთ არა მხოლოდ 259 00:12:14,770 --> 00:12:17,350 მათი სახელები ორიგინალური ტიპის, არამედ 260 00:12:17,350 --> 00:12:22,100 მათი ხელმოწერები, რომ მორთული რამდენიმე წლის წინ, როდესაც ისინი ბოლო ეწვია. 261 00:12:22,100 --> 00:12:25,800 >> მაგრამ რა იყო, განსაკუთრებით დამაჯერებელი ეს არის ის, რაც მათ შეიქმნა იმისათვის, რომ 262 00:12:25,800 --> 00:12:29,760 იყო დაწერა პროგრამა, რომელიც მისცემს სხვა ხალხს წერენ 263 00:12:29,760 --> 00:12:30,950 საკუთარი პროგრამები. 264 00:12:30,950 --> 00:12:34,280 დროს ყველა იქ იყო ამ Altair მანქანა მიერ MITS. 265 00:12:34,280 --> 00:12:40,020 და ყველა ისინი საჭირო იყო გარკვეული გზა რაც ადვილი hobbyists და ადამიანი 266 00:12:40,020 --> 00:12:45,300 მინდა ჩვენგანი ამ ოთახში რეალურად პროგრამა რომ გარეშე აუცილებლად გაგება 267 00:12:45,300 --> 00:12:49,060 ასამბლეის კოდი, ან მანქანა კოდი, ან ღმერთმა ნუ ქნას, 0S და 1s. 268 00:12:49,060 --> 00:12:51,190 ჩვენ პროგრამისტების, როგორიცაა იმ ამ ოთახში, ჩვენ 269 00:12:51,190 --> 00:12:54,070 გსურთ შეძლებს გამოხატოს საკუთარ თავს ბევრად უფრო ფსევდო კოდი 270 00:12:54,070 --> 00:12:57,330 თუნდაც ეს ცოტა უფრო nit picky ვიდრე ჩვენ ვისაუბრეთ გასულ კვირას. 271 00:12:57,330 --> 00:13:00,970 ჩვენ არ გვინდა, რომ დაწერა კოდი მოსწონს, რომელიც პოლ ალენი და ბილ გეიტსი გააკეთა. 272 00:13:00,970 --> 00:13:04,850 ჩვენ, ნაცვლად, მინდა დაწერა კოდი, რომელიც გამოიყურება უფრო მოსახერხებელი. 273 00:13:04,850 --> 00:13:07,150 >> ახლა ეს არის ენა ცნობილია როგორც ძირითადი. 274 00:13:07,150 --> 00:13:11,497 და ხაზის ნომრები არსებობს, რაც თქვენ გამოყენება უბრალოდ ნომერზე ხაზების კოდი 275 00:13:11,497 --> 00:13:12,330 რომ თქვენ წერდა. 276 00:13:12,330 --> 00:13:14,038 ჩვენ კი არ უნდა გავაკეთოთ, რომ ამ დღეებში. 277 00:13:14,038 --> 00:13:16,060 მაგრამ ხედავთ აქ როგორ PRINT "Hello, World" 278 00:13:16,060 --> 00:13:18,660 მართლაც, სავარაუდოდ, ბეჭდვა მხოლოდ, რომ. 279 00:13:18,660 --> 00:13:22,710 ასე რომ, რა არის ბილ და პოლ გააკეთა იყო ხალხს მისცეს დაწერა კოდი მოსწონს 280 00:13:22,710 --> 00:13:27,240 ნაცვლად of-- თუ შევხედოთ კომპიუტერულ მეცნიერებათა wall-- კოდი მოსწონს ეს. 281 00:13:27,240 --> 00:13:29,290 >> ფაქტობრივად, CS50 ახლახანს მქონდა საშუალება, 282 00:13:29,290 --> 00:13:32,540 დასხდნენ პროფესორმა ჰარი Lewis კომპიუტერულ მეცნიერებათა დეპარტამენტი, რომელიც 283 00:13:32,540 --> 00:13:34,640 რეალურად ასწავლიდა Bill Gates რამდენიმე წლის წინ, 284 00:13:34,640 --> 00:13:38,460 და დგას აქ ადრე იმ სამი გვერდებზე ნაწყვეტები. 285 00:13:38,460 --> 00:13:39,560 მოდით შევხედოთ. 286 00:13:39,560 --> 00:13:45,520 >> HARRY LEWIS: რა უნდა აქ არის ჩამონათვალი ადრეული ნაჭერი პროგრამული უზრუნველყოფა, 287 00:13:45,520 --> 00:13:50,240 დაწერეს ბილ გეითსმა და პოლ Allen, დამფუძნებელი Microsoft. 288 00:13:50,240 --> 00:13:52,570 ასე რომ კოდი საინტერესოა ორი მიზეზის გამო. 289 00:13:52,570 --> 00:13:55,480 პირველ რიგში, იგი გახდა Microsoft-ის პირველი პროდუქტი, 290 00:13:55,480 --> 00:14:01,810 რომელიც თარჯიმანი ძირითადი პროგრამირების ენა. 291 00:14:01,810 --> 00:14:04,940 და მეორე, ეს იყო ერთი პირველი მცდელობა 292 00:14:04,940 --> 00:14:10,580 შექმნათ თარჯიმნის რომ უბრალო ადამიანს შეეძლო პერსონალური კომპიუტერი. 293 00:14:10,580 --> 00:14:12,670 >> ასე რომ, ბილ გეითსი იყო ბაკალავრიატის ჰარვარდის. 294 00:14:12,670 --> 00:14:14,820 დავიწყე სწავლა ჰარვარდში 1974 წელს. 295 00:14:14,820 --> 00:14:16,560 ეს გაკეთდა 1975 წელს. 296 00:14:16,560 --> 00:14:20,180 ასე რომ, ეს იყო კარიერის დასაწყისში და ადრეული ჩემი კარიერა. 297 00:14:20,180 --> 00:14:23,790 მე რეალურად ასწავლიდა კანონპროექტი რა თქმა უნდა, გარშემო ამ დროს. 298 00:14:23,790 --> 00:14:27,130 პოლ ალენი არ იყო ჰარვარდის სტუდენტი, მაგრამ ის 299 00:14:27,130 --> 00:14:31,020 იყო საშუალო სკოლა კლასელი ბილ გეიტსი. 300 00:14:31,020 --> 00:14:33,740 თუ მოვა და შევხედოთ იმ სიაში, თქვენ 301 00:14:33,740 --> 00:14:36,230 რეალურად მესამე სახელი, Monte Davidoff, 302 00:14:36,230 --> 00:14:39,260 ვინ იყო გეითსის კლასელი აქ ჰარვარდის. 303 00:14:39,260 --> 00:14:41,340 >> OK, ასე რომ აქ საინტერესო კომენტარი აქ. 304 00:14:41,340 --> 00:14:47,150 ის ამბობს: "4K შეგიძლიათ წაშალოთ კვადრატული ფესვი მაგრამ ამისთვის მარყუჟების უნდა მაინც იმუშავებს. " 305 00:14:47,150 --> 00:14:53,080 OK, ასე რომ ნიშნავს, რომ იქ იყო ორი გზა შეადგინონ ამ პროგრამის. 306 00:14:53,080 --> 00:14:57,860 ერთი იყო გასაშვებად მობილური ამ Altair კომპიუტერული 307 00:14:57,860 --> 00:15:04,310 რომ მხოლოდ 4K სიტყვა მეხსიერება, 4,096 სიტყვა მეხსიერება. 308 00:15:04,310 --> 00:15:07,050 მაგრამ დიდი ვერსია ჰქონდა 8K. 309 00:15:07,050 --> 00:15:09,770 და მერე რა ამ ამბობს, რომ 4K მობილური 310 00:15:09,770 --> 00:15:12,770 თქვენ ჰქონდა წაშლა კოდი რათა ის ჯდება. 311 00:15:12,770 --> 00:15:14,790 და ერთი რამ, რომ იქნება წაშლილი 312 00:15:14,790 --> 00:15:16,290 იქნება კვადრატული ფესვი რუტინული. 313 00:15:16,290 --> 00:15:20,360 მაგრამ როგორც ჩანს, ამისთვის მარყუჟების უნდა მაინც 314 00:15:20,360 --> 00:15:26,392 მუშაობა მაშინაც კი, როდესაც თქვენ შედგენის ქვემოთ მხოლოდ 4K მობილური კომპიუტერი. 315 00:15:26,392 --> 00:15:29,350 დევიდ ჯ Malan: ასე რომ, ერთი თემატიკის, როგორც ვნახავთ, კომპიუტერული მეცნიერების, 316 00:15:29,350 --> 00:15:31,430 არის ამ ცნება ბაზაში და აბსტრაქცია, 317 00:15:31,430 --> 00:15:34,670 და მართლაც იდგა shoulders ეგ ვინც არ მოვა ჩვენს წინაშე, არა 318 00:15:34,670 --> 00:15:37,890 განსხვავებით ზოგიერთი ბილ გეითსი და პოლ ალენმა თხრობითი აქ. 319 00:15:37,890 --> 00:15:40,080 და რა ეს იმას ნიშნავს, რომ დღეს ჩვენ შეგვიძლია მიიღოს 320 00:15:40,080 --> 00:15:43,490 მინიჭებული, რომ ყველაფერი რეალურად ადვილია ჩვენთვის დაწერა კოდი. 321 00:15:43,490 --> 00:15:47,170 მართლაც კოდი, როგორც ჩვენ განაცხადა, არის ტექნიკურად უფრო ცნობილია, როგორც წყარო კოდი. 322 00:15:47,170 --> 00:15:52,210 და ეს ამ English მსგავსი სინტაქსი რომელიც უფრო შესაბამისი და უფრო კარგად განსაზღვრული 323 00:15:52,210 --> 00:15:55,480 ვიდრე რაღაც ფსევდო კოდი, , რომელიც არ არის ფორმალური განმარტება. 324 00:15:55,480 --> 00:15:58,320 >> და დღეს, რასაც ჩვენ ვაპირებთ ფოკუსირება არის კოდის 325 00:15:58,320 --> 00:16:01,010 რომელიც ასე გამოიყურება, რაც მართლაც, ერთი შეხედვით, 326 00:16:01,010 --> 00:16:02,690 გამოიყურება სრულიად cryptic. 327 00:16:02,690 --> 00:16:08,540 და გულწრფელად, ეს გზა უფრო ესთეტიურად რთული, ვიდრე ძირითადი პროგრამა. 328 00:16:08,540 --> 00:16:13,300 ყველა ეს პროგრამა აკეთებს, გავიხსენოთ, თუ რას ვამბობთ? 329 00:16:13,300 --> 00:16:14,990 უბრალოდ ბეჭდავს "Hello World". 330 00:16:14,990 --> 00:16:19,600 და კიდევ შევხედოთ ყველა პერსონალის, ჩვენ გვჭირდება გადაიტანოთ გარშემო, რომ ძალიან მარტივი ფრაზა. 331 00:16:19,600 --> 00:16:21,750 მაგრამ სანამ ხანგრძლივი, ყველა ამ ხაზების და სხვა 332 00:16:21,750 --> 00:16:24,800 გახდის ბევრად უკეთესი გრძნობა თქვენ. 333 00:16:24,800 --> 00:16:26,940 >> და ნაკადის ასეთია. 334 00:16:26,940 --> 00:16:31,220 რაც ჩვენ გვჭირდება, ჩვენს ხელთ მიიღოს კოდი, ისევე როგორც წყარო 335 00:16:31,220 --> 00:16:32,340 კოდი, რომელიც ჩვენ უბრალოდ დაინახა. 336 00:16:32,340 --> 00:16:35,060 და ჩვენ გვჭირდება ახალი პროგრამა გასაშვებად ის მეშვეობით. 337 00:16:35,060 --> 00:16:39,130 ჩვენ უნდა ალგორითმები, რომ შეგიძლიათ კონვერტირება კოდის, ასე, 338 00:16:39,130 --> 00:16:41,932 შევიდა ობიექტის კოდი, 0S და 1s. 339 00:16:41,932 --> 00:16:43,890 სხვა სიტყვებით რომ ვთქვათ, ჩვენ ვაპირებთ ვისწავლოთ დღეს 340 00:16:43,890 --> 00:16:46,620 არის, თუ როგორ უნდა გავაკეთოთ ეს, დაწერა კოდის up ზედა, 341 00:16:46,620 --> 00:16:49,930 გაივლის მას, როგორც შეყვანის სპეციალური პროგრამა ცნობილია როგორც შემდგენელი, 342 00:16:49,930 --> 00:16:52,140 და ჩვენ ვაპირებთ წარმოების ობიექტის კოდი. 343 00:16:52,140 --> 00:16:54,600 რომელიც მხოლოდ ლამაზი გზა ამბობენ, რომ რაღაც 344 00:16:54,600 --> 00:16:58,350 რომელიც ასე გამოიყურება, გაივლის შევიდა პროგრამა მოუწოდა შემდგენელი, 345 00:16:58,350 --> 00:17:01,210 მწარმოებელი ობიექტის კოდი რომელიც ასე გამოიყურება. 346 00:17:01,210 --> 00:17:04,720 >> ასე რომ, ეს არის ფაქტიურად ნიმუში 0S და 1s 347 00:17:04,720 --> 00:17:08,550 რომ გაიგეს Intel კომპიუტერული ამ დღეებში, 348 00:17:08,550 --> 00:17:12,480 იმ შემთხვევაში, თუ ინტერპრეტაციას CPU, ტვინი შიგნით კომპიუტერი, 349 00:17:12,480 --> 00:17:16,130 სიტყვასიტყვით ამობეჭდოთ, უბრალოდ, "Hello World". 350 00:17:16,130 --> 00:17:19,670 ახლა იქ გზა უფრო 0S და 1s, ვიდრე თქვენ იმედი მაქვს, შეიძლება იყოს აუცილებელი. 351 00:17:19,670 --> 00:17:22,520 მაგრამ ეს იმიტომ, რომ ჩვენ ვაშენებთ კარგი გარიგება სირთულის 352 00:17:22,520 --> 00:17:24,270 რომ ჩვენ შეგვიძლია ამიერიდან თავისთავად. 353 00:17:24,270 --> 00:17:27,869 სხვა სიტყვებით, ბევრი ჭკვიანი ადამიანი არ მოგვცა უამრავი cool ინსტრუმენტები 354 00:17:27,869 --> 00:17:32,480 და მძლავრი პროგრამული უზრუნველყოფა, რომელიც ჩვენ შეუძლია მიიღოს პროექტები ჩვენი საკუთარი. 355 00:17:32,480 --> 00:17:33,400 >> ასე რომ, მოდით დავიწყოთ. 356 00:17:33,400 --> 00:17:36,640 გასულ პარასკევს, და პრობლემა Set 0 ამ კვირაში, 357 00:17:36,640 --> 00:17:39,000 თქვენ იქნება სათამაშოდ მსოფლიოს, რომ ჰგავს ეს. 358 00:17:39,000 --> 00:17:42,180 დღეიდან პრობლემა კომპლექტი 1 მომავალ კვირას კოდი 359 00:17:42,180 --> 00:17:45,410 აპირებს გამოიყურებოდეს ცოტა მეტი cryptic, მაგრამ ფუნქციურად 360 00:17:45,410 --> 00:17:46,940 იქნება იგივე. 361 00:17:46,940 --> 00:17:50,770 ასე რომ შეამჩნია, რა არის Scratch, ბოლოში არის C. გულწრფელად ვამბობ Scratch 362 00:17:50,770 --> 00:17:52,780 არის გაცილებით მეტი შესახებ მეგობრული და ხელმისაწვდომი. 363 00:17:52,780 --> 00:17:56,890 მაგრამ თუ ახლა შევადარებთ ვიზუალურად თავზე, ბოლოში, არსებობს სახის ერთ ერთი 364 00:17:56,890 --> 00:17:59,690 მიმოწერა თავსატეხი ცალი და ენა 365 00:17:59,690 --> 00:18:00,870 ჩვენ შესახებ თამაში. 366 00:18:00,870 --> 00:18:04,420 კერძოდ, ვთქვათ, ლურჯი თავსატეხი ცალი up ზედა, 367 00:18:04,420 --> 00:18:08,370 როგორც ჩანს, ექვივალენტური რა სიტყვით ან სპეციალური ფრაზა ამ ენაზე 368 00:18:08,370 --> 00:18:09,062 ე.წ. C? 369 00:18:09,062 --> 00:18:09,770 აუდიტორია: printf. 370 00:18:09,770 --> 00:18:10,728 დევიდ ჯ Malan: printf. 371 00:18:10,728 --> 00:18:12,140 ეს იმას ნიშნავს, ფორმატირებული ბეჭდვა. 372 00:18:12,140 --> 00:18:15,240 და ეს მხოლოდ ლამაზი გზა ამბობდა printf in C 373 00:18:15,240 --> 00:18:18,615 იქნება განცხადებაში ან ფუნქცია ბეჭდავს რაღაც ეკრანზე. 374 00:18:18,615 --> 00:18:19,990 რას ნიშნავს ეს ბეჭდვა ეკრანზე? 375 00:18:19,990 --> 00:18:23,627 რასაც თქვენ ვუთხრა მას შიგნით შეთავაზებებს, შიგნით ფრჩხილებში. 376 00:18:23,627 --> 00:18:25,460 ასე რომ კიდევ ერთხელ, მართლაც, არსებობს ბევრი პერსონალი 377 00:18:25,460 --> 00:18:27,990 რომ თქვენ უნდა გვახსოვდეს, ფრჩხილებში, quotes, semicolons, 378 00:18:27,990 --> 00:18:28,656 და ყველა ამ. 379 00:18:28,656 --> 00:18:30,600 მაგრამ ყველა, რომ არის ერთგვარი საქართველოს გვერდში წერტილი. 380 00:18:30,600 --> 00:18:33,660 საინტერესო takeaway ახლა ის არის, რომ ვთქვათ ბლოკი Scratch 381 00:18:33,660 --> 00:18:37,520 არის საკმაოდ ბევრი ეკვივალენტი printf განცხადება C. 382 00:18:37,520 --> 00:18:41,390 >> იმავდროულად, ყვითელი თავსატეხი ცალი დასაწყისშივე, როდესაც მწვანე დროშა დააწკაპებთ, 383 00:18:41,390 --> 00:18:44,736 ალბათ ექვივალენტი რა სიტყვით აქ? 384 00:18:44,736 --> 00:18:45,360 აუდიტორია: მთავარი. 385 00:18:45,360 --> 00:18:46,359 დევიდ ჯ Malan: ასე რომ მთავარი. 386 00:18:46,359 --> 00:18:47,410 იქნებ int, შესაძლოა ბათილად. 387 00:18:47,410 --> 00:18:51,280 მაგრამ ძირითადი სახის ჟღერს ეს მნიშვნელოვანია, და ეს ნამდვილად. 388 00:18:51,280 --> 00:18:54,080 ასე რომ, როდესაც მწვანე დროშა დააწკაპებთ კიდევ ერთხელ, თავსატეხი ცალი 389 00:18:54,080 --> 00:18:56,390 რომ ჩათვლით მთელი Scratch პროგრამა. 390 00:18:56,390 --> 00:19:02,140 მაგრამ ჩვენ ვაპირებთ, რომ ახლა დაიწყება მოუწოდებენ , რომ მთავარი, ეს ფუნქცია ცნობილია, როგორც ძირითადი. 391 00:19:02,140 --> 00:19:06,410 >> ახლა იმავდროულად ჩვენ გამოგიგზავნით განზოგადება ამ შემდეგნაირად. 392 00:19:06,410 --> 00:19:08,780 ჩვენ შეიძლება მოვუწოდებთ ვთქვა ფუნქცია. 393 00:19:08,780 --> 00:19:10,580 და ეს შეიძლება კონკრეტულად მოსწონს ეს. 394 00:19:10,580 --> 00:19:11,770 ისე, რაც შეეხება მარყუჟების? 395 00:19:11,770 --> 00:19:16,540 თუ ჩვენ გვინდა, რომ დაიწყოს კონვერტაცია ან თარგმნის უფრო Scratch C, 396 00:19:16,540 --> 00:19:19,400 ეს საგანი აქ, როგორც ჩანს, მხოლოდ ამბობს "Hello World" სამუდამოდ. 397 00:19:19,400 --> 00:19:23,060 ასე რომ, თუ გაერთიანდნენ ამ სკრიპტები cat in Scratch, 398 00:19:23,060 --> 00:19:26,560 ის უბრალოდ აპირებს შენარჩუნება ამბობდა ზოგიერთი სახის cartoon bubble, 399 00:19:26,560 --> 00:19:29,922 "Hello World, hello world, hello მსოფლიოში ", რეკლამა nauseum, სამუდამოდ. 400 00:19:29,922 --> 00:19:33,130 თუ ჩვენ გვინდა, რომ რამე მსგავსი C, ის აპირებს პატარა cryptic. 401 00:19:33,130 --> 00:19:35,463 მაგრამ ჩვენ შეგვიძლია მივაღწიოთ იგივე შედეგი, როგორც ჩვენ საბოლოოდ 402 00:19:35,463 --> 00:19:36,861 გაირკვეს, სინტაქსის მოსწონს ეს. 403 00:19:36,861 --> 00:19:39,360 მე ვაპირებ გამოიყენოთ printf ერთხელ, იმიტომ, რომ დღის ბოლოს 404 00:19:39,360 --> 00:19:42,040 მინდა ბეჭდვა "Hello World". 405 00:19:42,040 --> 00:19:45,610 და მე, როგორც ჩანს, გამოყენებით სიტყვით რომ არ არის სამუდამოდ. 406 00:19:45,610 --> 00:19:47,320 ის ნაცვლად სიტყვა ხოლო. 407 00:19:47,320 --> 00:19:49,650 მაგრამ მხოლოდ სემანტიკურად in ინგლისური, ხოლო სახის 408 00:19:49,650 --> 00:19:52,120 ვარაუდობს, რაღაც მარყუჟი ან ციკლი. 409 00:19:52,120 --> 00:19:55,070 >> ასე რომ, ეს მოხდება, რომ სიტყვით რომ C იყენებს. 410 00:19:55,070 --> 00:20:00,700 ხოლო ჭეშმარიტი, რატომ, ხოლო ნამდვილი ეფექტურად ნიშნავს სამუდამოდ? 411 00:20:00,700 --> 00:20:04,240 კარგად, ხოლო, როგორც ჩვენ მალე ვაფასებ უფრო, 412 00:20:04,240 --> 00:20:08,140 აქვს ამ ჩართული შემდეგ იგი სადაც თქვენ შეგიძლიათ განათავსოთ ლოგიკური გამოხატულებაა. 413 00:20:08,140 --> 00:20:11,360 და მანამ, სანამ გამოხატვის მართალია, ამ კოდექსის 414 00:20:11,360 --> 00:20:14,750 როგორც აღნიშნა ამ ორ curly braces რადგან ჩვენ მოვუწოდებთ მათ, 415 00:20:14,750 --> 00:20:16,880 უბრალოდ შეინახოს გაშვებული ისევ და ისევ. 416 00:20:16,880 --> 00:20:18,410 >> ასე რომ, ნამდვილი ასეა. 417 00:20:18,410 --> 00:20:20,900 ასე რომ, როდესაც ჭეშმარიტი ნიშნავს უბრალოდ ეს სამუდამოდ. 418 00:20:20,900 --> 00:20:23,480 თითქმის სულელური მშენებლობა გამოხატოს საკუთარი თავი. 419 00:20:23,480 --> 00:20:26,590 მაგრამ არ იყო forever სიტყვით C. იყო, ხოლო. 420 00:20:26,590 --> 00:20:29,390 და იყო ძალიან მარტივი ლოგიკური გამოხატვის როგორც ნამდვილი. 421 00:20:29,390 --> 00:20:32,210 და ასე, ჩვენ დავინახავთ, აღწევს იგივე შედეგს. 422 00:20:32,210 --> 00:20:33,890 >> სხვაგვარად, როგორ შეიძლება თქვენ განახორციელოს loop? 423 00:20:33,890 --> 00:20:36,980 ასევე, Scratch ალბათ მძიმე კოდი კონკრეტული 424 00:20:36,980 --> 00:20:39,430 საქართველოს გამეორების მარყუჟის აქ. 425 00:20:39,430 --> 00:20:43,210 და ისე, რომ ის, რასაც ჩვენ შეიძლება გავაკეთოთ ამ მობილური C, 426 00:20:43,210 --> 00:20:46,140 რომლითაც ჩვენ ე.წ. for loop. 427 00:20:46,140 --> 00:20:49,850 და ამისთვის loop აქ აპირებს რათა iterate, გარკვეულწილად cryptically, 428 00:20:49,850 --> 00:20:54,100 საწყისი ღირებულება 0 მდე მაგრამ არანაკლებ 10. 429 00:20:54,100 --> 00:20:55,955 >> ახლა ცვლადები in Scratch. 430 00:20:55,955 --> 00:20:57,830 თქვენ შეიძლება არ ჰქონდა შემთხვევა უნდა გამოიყენოს ეს. 431 00:20:57,830 --> 00:21:02,516 მაგრამ რა აზრი აქვს, ზოგადად, ცვლადი არ ვამბობთ, გასულ კვირას? 432 00:21:02,516 --> 00:21:03,015 რა არის ეს? 433 00:21:03,015 --> 00:21:03,780 >> აუდიტორია: პუნქტი. 434 00:21:03,780 --> 00:21:05,200 >> დევიდ ჯ Malan: აღვნიშნო? 435 00:21:05,200 --> 00:21:05,700 Oh, მიუთითებს. 436 00:21:05,700 --> 00:21:07,620 OK, შენახვა ტრეკზე რაოდენობა, მაგალითად, თამაში. 437 00:21:07,620 --> 00:21:09,510 ან საერთოდ აკეთებს რა ცვლადი? 438 00:21:09,510 --> 00:21:10,450 რა არის სასარგებლო, რომ მათ? 439 00:21:10,450 --> 00:21:10,825 >> აუდიტორია: Memory. 440 00:21:10,825 --> 00:21:11,750 >> დევიდ ჯ Malan: ჰო, ისე მეხსიერებაში. 441 00:21:11,750 --> 00:21:13,000 ეს შენახვის რაღაც. 442 00:21:13,000 --> 00:21:17,336 და სახის სულელური ვიზუალური მე ბოლო დროს იყო, ისევე როგორც ეს შუშის თასი. 443 00:21:17,336 --> 00:21:19,710 და თუ არ გვინდოდა შესანახად რაღაც შიგნით ცვლადი, 444 00:21:19,710 --> 00:21:21,918 მაგალითად ახლა არც ექვსი იმიტომ, რომ იქ 445 00:21:21,918 --> 00:21:23,450 ექვსი ping pong ბურთები აქ. 446 00:21:23,450 --> 00:21:26,158 ეს მხოლოდ გარკვეული სახის შენახვის კონტეინერი, ქვევმოთ hood 447 00:21:26,158 --> 00:21:30,030 ხორციელდება ბიტი, 0S და 1s, თუმცა კომპიუტერული ხდება ამის გაკეთება. 448 00:21:30,030 --> 00:21:32,900 >> ასე რომ, Scratch, თუ ჩვენ გსურთ აქვს ცვლადი, 449 00:21:32,900 --> 00:21:34,840 ჩვენ შეგვიძლია გამოვიყენოთ ნარინჯისფერი ბლოკი მოსწონს ეს. 450 00:21:34,840 --> 00:21:37,050 ჩვენ მოვუწოდებთ, რომ counter ამ კონკრეტულ შემთხვევაში. 451 00:21:37,050 --> 00:21:38,890 მე ინიციალიზაცია მას 0. 452 00:21:38,890 --> 00:21:41,080 და ის, რაც მე მაშინ? 453 00:21:41,080 --> 00:21:44,780 Forever, ამბობენ, counter, რომელიც, თუ თქვენ თამაშობთ, რომ Scratch, 454 00:21:44,780 --> 00:21:45,780 თქვენ უბრალოდ ნახეთ Scratch. 455 00:21:45,780 --> 00:21:49,920 კატა ან რასაც კოსტუმი დააყენა მას ეცოდინება ნომერზე კითხვა. 456 00:21:49,920 --> 00:21:52,840 >> ენის counter მიერ 1 როგორიცაა დამატება 1. 457 00:21:52,840 --> 00:21:56,580 და ეს აპირებს იმედი რა მერე რა? 458 00:21:56,580 --> 00:21:59,114 საწყისი 0 დან უსასრულობა, ან სანამ Scratch წყვეტები, 459 00:21:59,114 --> 00:22:01,030 ან სანამ ერთგვარი დაკარგავს ინტერესს ყურება 460 00:22:01,030 --> 00:22:02,650 რამდენად მაღალი, მას ნამდვილად შეუძლია ითვლიან. 461 00:22:02,650 --> 00:22:04,800 >> ასე როგორ შეიძლება ჩვენ გარდაქმნას ეს C? 462 00:22:04,800 --> 00:22:06,480 ის აპირებს პატარა cryptic. 463 00:22:06,480 --> 00:22:08,896 თუმცა ისევ და ისევ, თუ თქვენ შეხედეთ ყოველ ამ ხაზების ინდივიდუალურად 464 00:22:08,896 --> 00:22:10,410 ისინი სახის წყობა ზოგადად. 465 00:22:10,410 --> 00:22:13,526 ასე რომ, სავარაუდოდ int აპირებს რაღაც განსაკუთრებული მნიშვნელობა C. 466 00:22:13,526 --> 00:22:14,400 ჩვენ ვხედავთ, რომ ერთხელ. 467 00:22:14,400 --> 00:22:15,810 როგორც განზე, ეს იმას ნიშნავს რიცხვი. 468 00:22:15,810 --> 00:22:16,990 ასე რომ, ეს მხოლოდ იმას ნიშნავს, ნომერი. 469 00:22:16,990 --> 00:22:18,920 ასე რომ ტიპის შუშის თასი მინდა, ერთი 470 00:22:18,920 --> 00:22:21,120 რომ შენახვა ნომრები, არა პინგ პონგის ბურთები. 471 00:22:21,120 --> 00:22:25,520 და მე ვაპირებ გამოიყენოთ თანაბარი ნიშანი იქ მივანიჭოთ ის მნიშვნელობა 0. 472 00:22:25,520 --> 00:22:29,440 ასე რომ საკმაოდ მოსწონს კომპლექტი counter 0, მაგრამ C. 473 00:22:29,440 --> 00:22:32,840 >> იმავდროულად, ხოლო ჭეშმარიტი, რომ იყო ექვივალენტს, რა თქმა უნდა, სამუდამოდ, 474 00:22:32,840 --> 00:22:35,980 მიუხედავად იმისა, რომ პატარა cryptic, და შემდეგ შიგნით Curly braces. 475 00:22:35,980 --> 00:22:39,188 და შეგიძლიათ წარმოიდგინოთ, რომ ეს curly braces, რომელიც შეგიძლიათ ჩაწეროთ თქვენს კლავიატურაზე, 476 00:22:39,188 --> 00:22:43,110 მართლაც რომ ისევე, როგორც ცვალოთ მრუდის in ეს ყვითელი loop ბლოკები Scratch. 477 00:22:43,110 --> 00:22:45,700 იგი მოიცავს მრავალი ხაზი კოდი. 478 00:22:45,700 --> 00:22:48,120 >> Printf დღითიდღე ცოტა საშიში, რადგან მე 479 00:22:48,120 --> 00:22:51,120 არა მარტო მოჰყავს ფრჩხილებში. 480 00:22:51,120 --> 00:22:55,160 მაგრამ რა არის ახალი სინტაქსურად ამ მაგალითიდან? 481 00:22:55,160 --> 00:22:57,300 იქ პროცენტს დ. 482 00:22:57,300 --> 00:22:58,551 და შემდეგ წარმატებული ნ არის. 483 00:22:58,551 --> 00:23:00,883 ჩვენ მას ვხედავთ, რომ, მაშინაც კი, თუმცა მე ვერ აღვნიშნო ეს. 484 00:23:00,883 --> 00:23:01,886 შემდეგ იქ მძიმით. 485 00:23:01,886 --> 00:23:03,010 და მაშინ არსებობს counter. 486 00:23:03,010 --> 00:23:05,010 >> მაგრამ ჩვენ ვხედავთ, მხოლოდ მომენტი, რომ ეს მხოლოდ 487 00:23:05,010 --> 00:23:09,080 სტანდარტული გზა ამბობდა ბეჭდვა "ათობითი რიცხვი," გაცემა, unquote, 488 00:23:09,080 --> 00:23:10,500 ზოგიერთი ათობითი რიცხვი. 489 00:23:10,500 --> 00:23:13,370 მაგრამ მე მინდა გითხრათ, მოგვიანებით რა, რომ ათობითი ნომერი არის. 490 00:23:13,370 --> 00:23:16,835 ასე რომ ის ფაქტი, რომ მძიმე ამ ხაზის გამონათქვამი printf, 491 00:23:16,835 --> 00:23:18,710 ნიშნავს წავიდეთ წინ და ბეჭდვა ზოგიერთი ათობითი რიცხვი. 492 00:23:18,710 --> 00:23:23,110 ოჰ, და სხვათა შორის, ნომერი რასაც ღირებულება ამ ცვლადი. 493 00:23:23,110 --> 00:23:25,880 ასე რომ, ეს უფრო ნათელი, დავინახავთ მაგალითია 494 00:23:25,880 --> 00:23:30,930 სანამ ხანგრძლივი, მათ შორის ზუსტად printf კონტექსტში რეალური C პროგრამებს. 495 00:23:30,930 --> 00:23:33,472 >> ახლა მხოლოდ გადაიტანოთ up ზოგიერთი ამ აშენებს. 496 00:23:33,472 --> 00:23:36,680 ლოგიკური გამონათქვამები, თქვენ შეიძლება არ აქვს შემთხვევა უნდა გამოიყენოს ეს თქვენი პროგრამა 497 00:23:36,680 --> 00:23:39,450 მაგრამ თქვენ ალბათ ძალიან კარგად, მით უმეტეს, თუ გამოყენების პირობები. 498 00:23:39,450 --> 00:23:43,460 და ა.შ. ეს ორი მაგალითი ნულიდან ნიშნავს, თუ x ნაკლებია y, 499 00:23:43,460 --> 00:23:48,770 თუ x ნაკლებია, ვიდრე Y და Y ნაკლებია ვიდრე z, თუ როგორ შეიძლება ვთარგმნოთ, რომ? 500 00:23:48,770 --> 00:23:50,810 >> ასევე, C, ეს მხოლოდ ვაპირებთ ჰგავს ეს. 501 00:23:50,810 --> 00:23:55,300 პატარა cryptic, უფრო მრგვალი, რაღაც უცნაური ampersands, მაგრამ ძირეულად 502 00:23:55,300 --> 00:23:59,160 იდეები მარტივი, როგორც არის თავსატეხი ცალი მსოფლიოში. 503 00:23:59,160 --> 00:24:02,690 ჩვენ უბრალოდ შესამოწმებლად, თუ რაღაც ნაკლებია, ვიდრე რაღაც. 504 00:24:02,690 --> 00:24:03,910 >> როგორ მდგომარეობის შესახებ? 505 00:24:03,910 --> 00:24:09,710 მოკლედ, ინგლისურ, რას ნიშნავს ეს ბლოკი Scratch კოდი არ იტყვით? 506 00:24:09,710 --> 00:24:11,050 >> აუდიტორია: შედარება ორი ნომერი. 507 00:24:11,050 --> 00:24:13,760 >> დევიდ ჯ Malan: ადარებს ორ ნომრები, და თუ x ნაკლებია y 508 00:24:13,760 --> 00:24:14,860 ის ამბობს, რომ, როგორც დიდი. 509 00:24:14,860 --> 00:24:18,080 თუ x მეტია y იგი აცხადებს, რომ ისევე, სხვა 510 00:24:18,080 --> 00:24:20,740 თუ x უდრის y ის ამბობს, იმდენი. 511 00:24:20,740 --> 00:24:22,180 ახლა სად x და y მოდის? 512 00:24:22,180 --> 00:24:22,680 ვინ იცის. 513 00:24:22,680 --> 00:24:25,380 ბლოკი Scratch კოდი არის გარეთ კონტექსტში. 514 00:24:25,380 --> 00:24:29,050 მაგრამ ჩვენ გვინდა გავაკეთოთ, არის თარგმნის ეს მხოლოდ ერთი წუთით, რომ ნახოთ. 515 00:24:29,050 --> 00:24:31,660 >> ასე რომ, როგორც თქვენ მიიღებთ კომფორტულ ამ კვირაში პრობლემა Set 516 00:24:31,660 --> 00:24:34,190 0 თამაშობს ამ მსოფლიოში მარცხენა, გააცნობიეროს 517 00:24:34,190 --> 00:24:36,940 რომ იდეები არ იცვლება ამ კვირაში ან მომდევნო ან სხვაგან. 518 00:24:36,940 --> 00:24:38,690 ჩვენ უბრალოდ აპირებს წერა რამ 519 00:24:38,690 --> 00:24:41,240 სხვაგვარად ჩვენი კლავიატურის ნაცვლად ჩვენი მაუსი. 520 00:24:41,240 --> 00:24:44,577 >> ასე რომ, თუ x ნაკლებია, ვიდრე Y და არსებობს გარკვეული ფრჩხილებში არსებობს, 521 00:24:44,577 --> 00:24:47,160 შემდეგ იქ ზოგიერთი Curly braces ერთხელ სახის encapsulate ის 522 00:24:47,160 --> 00:24:48,970 ისევე, როგორც ყვითელი თავსატეხი ცალი გავაკეთოთ. 523 00:24:48,970 --> 00:24:53,000 და მე ვაპირებ printf x ნაკლებია, ვიდრე Y და სხვ. 524 00:24:53,000 --> 00:24:56,540 >> რა არის ლამაზი C, როგორც ხედავთ აქ, 525 00:24:56,540 --> 00:25:00,480 არის, რომ თქვენ არ მიიღოს ამ მობუდარი, მობუდარი, მობუდარი, რომ ის აუცილებლად 526 00:25:00,480 --> 00:25:02,220 აპირებს დააყენებს თქვენი კოდი მარჯვნივ. 527 00:25:02,220 --> 00:25:04,990 თქვენ შეგიძლიათ ნაცვლად აქვს ყველაფერი, შემდეგი შემადგენლობით neatly მოსწონს ეს. 528 00:25:04,990 --> 00:25:08,960 მაგრამ ეს მხოლოდ ესთეტიკური დეტალურად ჩვენ დავინახავთ, კიდევ ხანგრძლივი. 529 00:25:08,960 --> 00:25:09,660 >> ყველა უფლება. 530 00:25:09,660 --> 00:25:13,290 ასე რომ მოაქვს უკან ამ cryptic ეძებს პროგრამა. 531 00:25:13,290 --> 00:25:15,180 მოდით რეალურად წერა რამდენიმე კოდი. 532 00:25:15,180 --> 00:25:16,830 ახლა როგორ წავიდეთ შესახებ წერილობით კოდი? 533 00:25:16,830 --> 00:25:21,310 მთელი ამ წლების განმავლობაში, რომ თქვენ საკუთრებაში არსებული Mac ან PC, კომპიუტერი ან ლეპტოპი, 534 00:25:21,310 --> 00:25:24,520 თქვენ რეალურად ჰქონდა შესაძლებლობა წერა პროგრამული კოდი. 535 00:25:24,520 --> 00:25:27,050 მაგრამ თქვენ ალბათ დაკარგული სპეციალური ტიპის პროგრამა. 536 00:25:27,050 --> 00:25:28,470 შეგიძლიათ, რა თქმა უნდა დაწერა კოდი. 537 00:25:28,470 --> 00:25:30,740 მაგრამ თქვენ შეგიძლიათ არ არის აუცილებელი, იმ ყუთში, 538 00:25:30,740 --> 00:25:34,210 გარდაქმნას, რომ კოდის შევიდა ობიექტის კოდი, 0S და 1s 539 00:25:34,210 --> 00:25:35,619 გარეშე, რაც თქვენს კომპიუტერში? 540 00:25:35,619 --> 00:25:36,410 აუდიტორია: შემდგენელი. 541 00:25:36,410 --> 00:25:37,630 დევიდ ჯ Malan: ასე რომ, შემდგენელი, მარჯვნივ. 542 00:25:37,630 --> 00:25:39,730 ახლა ყველაზე მეტად თქვენ ალბათ არ ფლობენ შემდგენელი, 543 00:25:39,730 --> 00:25:41,259 არ გადმოწერილი შემდგენელი. 544 00:25:41,259 --> 00:25:44,300 მაგრამ დაინახავთ თქვენ შეგიძლიათ გადმოწეროთ ისევე როგორც საუკეთესო ნებისმიერი სხვა ნაჭერი პროგრამული უზრუნველყოფა. 545 00:25:44,300 --> 00:25:47,470 მსოფლიოში Mac OS, თქვენ შეიძლება უფასო და გადმოწერილი უკვე 546 00:25:47,470 --> 00:25:50,437 რაღაც მოუწოდა Xcode ან GCC და Clang. 547 00:25:50,437 --> 00:25:52,270 თუ მოდის Windows მსოფლიოში ალბათ 548 00:25:52,270 --> 00:25:56,190 გადმოწერილი Visual Studio, Visual Basic, გარემოში, როგორიცაა, რომ. 549 00:25:56,190 --> 00:25:59,200 არსებობს ათობით compilers ამ დღეებში, რომ თქვენ შეიძლება გამოიყენოთ. 550 00:25:59,200 --> 00:26:01,940 მაგრამ მოკლე აქ არის ის, რომ იყოს ტკივილი 551 00:26:01,940 --> 00:26:04,480 და, სიმართლე გითხრათ, ტექნოლოგიური კოშმარი ასობით 552 00:26:04,480 --> 00:26:07,680 ადამიანების სხვადასხვა კომპიუტერული კონფიგურაციის ყველა 553 00:26:07,680 --> 00:26:09,800 კონფიგურაციის მათი მანქანები ზუსტად იგივე გზა 554 00:26:09,800 --> 00:26:11,700 ასე რომ ჩვენ შეგვიძლია ყველა იყოს იმავე გვერდზე. 555 00:26:11,700 --> 00:26:15,240 >> ასე რომ, ის, რაც ჩვენ, ამის ნაცვლად, in CS50 არის მოგაწვდით 556 00:26:15,240 --> 00:26:18,349 სტანდარტული გარემო, Linux გარემოს შესახებ, რომელიც 557 00:26:18,349 --> 00:26:20,140 აპირებს გამოიყურებოდეს პატარა რაღაც მსგავსი. 558 00:26:20,140 --> 00:26:22,980 თქვენ უფრო მეტი ამ წელს პრობლემა Set 1 სპეციფიკაცია რომელიც 559 00:26:22,980 --> 00:26:25,330 წავა ონლაინ პარასკევს. 560 00:26:25,330 --> 00:26:28,360 >> და რას ნიშნავს ეს არის, რომ თქვენ ამიერიდან 561 00:26:28,360 --> 00:26:32,060 ვაპირებთ შეძლებს ჩამოტვირთოთ და დააყენოთ პროგრამა 562 00:26:32,060 --> 00:26:33,650 მოუწოდა CS50 ელექტრო მოწყობილობების. 563 00:26:33,650 --> 00:26:36,275 და თქვენ ვაპირებთ ჩამოტვირთოთ და დააყენოთ ერთი პროგრამა მოუწოდა 564 00:26:36,275 --> 00:26:40,300 hypervisor, რომელიც მხოლოდ ლამაზი გზა მიღწევის. 565 00:26:40,300 --> 00:26:44,600 თუ თქვენ ფლობდეს Mac ან PC ან Linux კომპიუტერზე ან Solaris კომპიუტერი, 566 00:26:44,600 --> 00:26:46,830 ან რასაც გიჟები ოპერაციული სისტემა თქვენ გაშვებული, 567 00:26:46,830 --> 00:26:49,820 თქვენ აპირებს ჩამოტვირთოთ პროგრამა მოუწოდა hypervisor, რომ ის, 568 00:26:49,820 --> 00:26:53,350 აპირებს CS50 ელექტრო თქვენს კომპიუტერში 569 00:26:53,350 --> 00:26:55,430 არ აქვს მნიშვნელობა რა ოპერაციული სისტემა. 570 00:26:55,430 --> 00:27:00,640 Hypervisor სხვა სიტყვებით აკონვერტებს ჩვენი პერსონალის ნებისმიერი ენის, 571 00:27:00,640 --> 00:27:03,850 რასაც ინსტრუქციები თქვენი საკუთარი კომპიუტერი ესმის. 572 00:27:03,850 --> 00:27:04,962 >> ასე რომ, ეს არის ბაზაში. 573 00:27:04,962 --> 00:27:06,920 და ისევ, ეს არის ერთგვარი თემატური კომპიუტერულ 574 00:27:06,920 --> 00:27:08,722 მეცნიერების, შენობა თავზე რამ. 575 00:27:08,722 --> 00:27:09,680 თქვენ ალბათ Windows. 576 00:27:09,680 --> 00:27:10,710 თქვენ ალბათ Mac OS. 577 00:27:10,710 --> 00:27:12,960 მაგრამ მომავალი კვირიდან თქვენ აპირებს გადმოწერილი 578 00:27:12,960 --> 00:27:14,980 უფასო ნაჭერი პროგრამული უზრუნველყოფა, მოუწოდა hypervisor. 579 00:27:14,980 --> 00:27:17,800 თქვენ აპირებს გადმოწერილი ნაჭერი პროგრამული მოუწოდა CS50 ელექტრო მოწყობილობების. 580 00:27:17,800 --> 00:27:21,050 >> რომ აპირებს აწარმოებს hypervisor, რომელიც აპირებს აწარმოებს თქვენს კომპიუტერში. 581 00:27:21,050 --> 00:27:23,030 და საბოლოო ჯამში, რომ ყველა ჩვენგანი 582 00:27:23,030 --> 00:27:26,220 აქვს მარტივი ფანჯრის მსგავსად, ამისათვის თქვენს Mac ან PC 583 00:27:26,220 --> 00:27:30,160 ეს გვაძლევს იმის ილუზია ყველა გაშვებული იგივე ოპერაციული სისტემა, 584 00:27:30,160 --> 00:27:32,800 ყოველგვარი სხვა გავლენა თქვენს კომპიუტერში. 585 00:27:32,800 --> 00:27:34,870 და თქვენ შეგიძლიათ სრული ეკრანის და არსებითად მოიქცევა 586 00:27:34,870 --> 00:27:37,550 თითქოს თქვენ გაშვებული ოპერაციული სისტემის მოუწოდა Linux, 587 00:27:37,550 --> 00:27:40,270 რაც CS50 ელექტრო საფუძველზე. 588 00:27:40,270 --> 00:27:42,930 >> მოდით რეალურად გამოიყენოს ეს ახლა წერენ პროგრამას. 589 00:27:42,930 --> 00:27:45,450 თქვენ შეგიძლიათ დაწეროთ პროგრამა გამოყენებით Microsoft Word. 590 00:27:45,450 --> 00:27:48,160 თქვენ შეგიძლიათ დაწეროთ პროგრამა გამოყენებით TextEdit, ან Notepad, 591 00:27:48,160 --> 00:27:51,880 ან WordPad, ან საკმაოდ ბევრი სიტყვა დამუშავების პროგრამა თქვენ ოდესმე გამოყენებული. 592 00:27:51,880 --> 00:27:55,174 მაგრამ რეალობა არ უნდა გამოყენება რეალურად ნებისმიერი იმ პროგრამებს. 593 00:27:55,174 --> 00:27:57,840 რა თქმა უნდა, არ უნდა გამოიყენოს რაღაც Microsoft Word, რომელიც 594 00:27:57,840 --> 00:28:01,120 აქვს თამამი მოსაპირკეთებელი და კურსივით და დიდი შრიფტები და პატარა შრიფტები, 595 00:28:01,120 --> 00:28:03,560 იმიტომ, რომ კომპიუტერი არ აინტერესებს რაიმე რომ. 596 00:28:03,560 --> 00:28:05,600 ყველა კომპიუტერი აპირებს აინტერესებს არის 597 00:28:05,600 --> 00:28:09,040 ინგლისური, როგორიცაა ინსტრუქციები დაწერილი C. 598 00:28:09,040 --> 00:28:12,050 >> ასე რომ ჩვენ ყველაფერს გავაკეთებთ, შიგნით of CS50 ელექტრო მოწყობილობების 599 00:28:12,050 --> 00:28:14,290 არის გამოიყენოს პროგრამის თავისუფლად შესაძლებელია, და ეს არის ის, 600 00:28:14,290 --> 00:28:17,360 წინასწარ დაყენებული ამ ელექტრო მოუწოდა gedit. 601 00:28:17,360 --> 00:28:22,280 და gedit არის მხოლოდ სუპერ მარტივი ტექსტური რედაქტორი, როგორიცაა Mac OS ის ​​TextEdit, 602 00:28:22,280 --> 00:28:26,200 როგორიცაა Windows Notepad, რომ აპირებს გამოიყურება პატარა რაღაც მსგავსი. 603 00:28:26,200 --> 00:28:28,910 >> მოდით რეალურად არ შევხედოთ სლაიდები ამ. 604 00:28:28,910 --> 00:28:32,580 მაგრამ მოდით რეალურად წასვლას გარემოს თავად. 605 00:28:32,580 --> 00:28:36,090 მე ვაპირებ წავიდეთ წინ და შესვლა, ამ სხვა ფანჯარაში, 606 00:28:36,090 --> 00:28:40,910 ჩემი CS50 ელექტრო მოწყობილობების, რომელიც მე წინასწარ დაყენებული ჩემს ლეპტოპში აქ. 607 00:28:40,910 --> 00:28:43,771 >> გაითვალისწინეთ, რომ, ისევე როგორც Windows და Mac OS, მას აქვს რამდენიმე მენიუები. 608 00:28:43,771 --> 00:28:45,520 როგორიცაა Windows ის აყენებს მას იქ ნაცვლად 609 00:28:45,520 --> 00:28:47,020 of Mac OS, რომელიც ხელს უწყობს მას იქ. 610 00:28:47,020 --> 00:28:48,930 მაგრამ რეალობა ის არის, რომ ეს ყველა სახის იგივე. 611 00:28:48,930 --> 00:28:50,770 და აქ არის მთელი რამოდენიმე პროგრამული უზრუნველყოფა. 612 00:28:50,770 --> 00:28:51,770 არსებობს Dropbox. 613 00:28:51,770 --> 00:28:54,780 არსებობს მთელი bunch of აქსესუარები, გრაფიკული პროგრამების, რომ ჩვენ 614 00:28:54,780 --> 00:28:56,430 გამოყენების შემდეგ ვადის პრობლემა კომპლექტი. 615 00:28:56,430 --> 00:28:59,650 არსებობს ბრაუზერში აგებულია ისე, რომ ეს არის სრულფასოვანი კომპიუტერი 616 00:28:59,650 --> 00:29:01,240 შიგნით კომპიუტერი. 617 00:29:01,240 --> 00:29:04,170 >> მაგრამ მე ვაპირებ დააწკაპუნეთ ამ leftmost თეთრი ხატია აქ, 618 00:29:04,170 --> 00:29:05,890 რომელიც არის ხატი Gedit. 619 00:29:05,890 --> 00:29:09,650 და ის აპირებს გახსნას ფანჯარა რომელსაც აქვს სამი პანელები მას, 620 00:29:09,650 --> 00:29:12,590 მარცხენა, ყველაზე ერთი და ბოლოში ერთი. 621 00:29:12,590 --> 00:29:16,071 >> ახლა კი ამ ზედა მარჯვენა ერთი, რომ მე ვაპირებ რეალურად წერენ რაღაც კოდი. 622 00:29:16,071 --> 00:29:16,820 ასე რომ, მოდით ეს ,. 623 00:29:16,820 --> 00:29:19,040 მე ვაპირებ წასვლა ფაილი, შენახვა. 624 00:29:19,040 --> 00:29:22,100 და თქვენ შეიძლება არ ოდესმე მინახავს ამ კონკრეტულ ფანჯარაში. 625 00:29:22,100 --> 00:29:23,620 მაგრამ ეს, როგორც Mac OS ან Windows. 626 00:29:23,620 --> 00:29:25,490 უბრალოდ window ყველა ფოლდერები 627 00:29:25,490 --> 00:29:27,290 რომ მე უნდა შიგნით ამ კომპიუტერში. 628 00:29:27,290 --> 00:29:30,320 >> და მე ვაპირებ გადარჩენა ფაილი, როგორც hello.c. 629 00:29:30,320 --> 00:29:32,690 და მე ვაპირებ წავიდეთ ადრე და დააჭირეთ Save. 630 00:29:32,690 --> 00:29:36,364 და ახლა შეამჩნია მაქვს tab ზედა მარცხენა მოუწოდა hello.c. 631 00:29:36,364 --> 00:29:38,280 ასე, ალბათ, საკმაოდ ნაცნობი კი, თუ თქვენ არ 632 00:29:38,280 --> 00:29:40,240 გამოიყენება ამ კონკრეტული პროგრამის. 633 00:29:40,240 --> 00:29:44,890 >> და ახლა მე ვაპირებ აკრიფოთ იმ საკმაოდ cryptic თანმიმდევრობა ბრძანებები 634 00:29:44,890 --> 00:29:46,360 რომ დავინახეთ მომენტში წინ. 635 00:29:46,360 --> 00:29:49,330 მოიცავს, სტანდარტული I / O.h. 636 00:29:49,330 --> 00:29:50,600 უფრო, რომ მალე. 637 00:29:50,600 --> 00:29:55,670 Int ძირითადი ბათილად, ღია curly გაუწიოს, დახურულ Curly გაუწიოს. 638 00:29:55,670 --> 00:30:01,570 და შემდეგ შიგნით არსებობს, მე ვფიქრობ, სადაც ჩვენ გვქონდა "Hello World" მძიმით. 639 00:30:01,570 --> 00:30:03,100 და ახლა გადარჩენა. 640 00:30:03,100 --> 00:30:08,780 >> ასე რომ ეს არის პროგრამა დაწერილი C, დაწერილი, ამიტომ კოდი. 641 00:30:08,780 --> 00:30:10,720 მაგრამ მე არ შემიძლია უბრალოდ გაუშვით ეს პროგრამა. 642 00:30:10,720 --> 00:30:13,390 მე ასეთი მინდა გაორმაგება დააწკაპუნეთ ხატი სადღაც, 643 00:30:13,390 --> 00:30:16,390 მაგრამ ხატი არსებობს სხვა ვიდრე კოდის ფაილი. 644 00:30:16,390 --> 00:30:20,359 რა, კიდევ ერთხელ, ეს პროცესი ახლა, მე უნდა აწარმოებს ამ ფაილის მეშვეობით? 645 00:30:20,359 --> 00:30:21,150 აუდიტორია: შემდგენელი. 646 00:30:21,150 --> 00:30:22,399 დევიდ ჯ Malan: ასე რომ, შემდგენელი. 647 00:30:22,399 --> 00:30:24,890 ასე რომ, სხვადასხვა კომპიუტერების თქვენ ამისათვის სხვადასხვა გზა. 648 00:30:24,890 --> 00:30:27,480 მაგრამ ის, რაც ჩვენ გავაკეთეთ აქ CS50 ელექტრო მოწყობილობების, რომ ის, 649 00:30:27,480 --> 00:30:31,260 წარმომადგენელი, თუ როგორ შეიძლება ამისათვის სხვადასხვა სისტემები, 650 00:30:31,260 --> 00:30:34,036 არის მე უბრალოდ აპირებს აწარმოებს ბრძანება მოუწოდა მიიღოს. 651 00:30:34,036 --> 00:30:35,660 და მიიღოს სიტყვასიტყვით აპირებს ამის გაკეთებას. 652 00:30:35,660 --> 00:30:36,640 მე პროგრამა. 653 00:30:36,640 --> 00:30:39,060 >> ასე რომ აპირებს აწარმოებს შემდგენელი ჩემთვის. 654 00:30:39,060 --> 00:30:42,160 და პროგრამის სახელი მე მინდა, რომ არის hello. 655 00:30:42,160 --> 00:30:43,510 ახლა არის პროგრამა. 656 00:30:43,510 --> 00:30:47,170 და არის ჭკვიანი საკმარისი გააცნობიეროს, რომ თუ მე ვიტყვი, რომ hello, 657 00:30:47,170 --> 00:30:50,980 ის აპირებს გამოიყურებოდეს ავტომატურად ფაილი სახელად hello.c 658 00:30:50,980 --> 00:30:53,420 მხოლოდ იმიტომ, რომ გზა ის კონფიგურაცია. 659 00:30:53,420 --> 00:31:00,300 >> ასე რომ, როდესაც მე ახლა დააჭიროთ აქ, ამ გიჟები cryptic ხაზი უბრალოდ მიიღო შესრულებული. 660 00:31:00,300 --> 00:31:02,720 და დამიჯერეთ, სანამ ხანგრძლივი, სულ რაღაც დღეებში, 661 00:31:02,720 --> 00:31:05,590 თქვენ მიხვდებით თუ რა ყველა რომ სისულელეა საშუალებით. 662 00:31:05,590 --> 00:31:11,150 მაგრამ ახლა, მხოლოდ ის ვიცი, რომ გამოიწვია აღსრულების შემდგენელი. 663 00:31:11,150 --> 00:31:13,290 სხვა სიტყვებით, იგი ნაპოვნი შემდგენელი ჩემი კომპიუტერი 664 00:31:13,290 --> 00:31:14,820 ეს არის ის, წინასწარ დაყენებული on CS50 ელექტრო მოწყობილობების 665 00:31:14,820 --> 00:31:16,560 ის, რომ ჩვენ ხელი თქვენთვის პრობლემა Set 1. 666 00:31:16,560 --> 00:31:20,990 და ეს მაშინ აიღო hello.c როგორც input, და წარმოებული, როგორც ჩანს, 667 00:31:20,990 --> 00:31:23,040 0S და 1s გამომავალი. 668 00:31:23,040 --> 00:31:29,410 >> და იყოს რა არ არის ეს ზოგავს იმ 0S და 1s ფაილი სახელად hello. 669 00:31:29,410 --> 00:31:33,180 და თუმცა ეს სინტაქსი ძალიან შეიძლება ახალი თქვენ, უბრალოდ განაცხადა dot 670 00:31:33,180 --> 00:31:37,110 slash მიესალმები იქნება ნიშნავს, რომელიც მე აწარმოებს ამ პროგრამის. 671 00:31:37,110 --> 00:31:40,360 >> ახლა და მინიმუმ რამდენიმე კვირა, თითქმის ყველა პროგრამა 672 00:31:40,360 --> 00:31:44,230 ჩვენ წერენ ვაპირებთ იყოს შავი და თეთრი ტექსტი ფანჯრები. 673 00:31:44,230 --> 00:31:47,006 არარის მაუსები, არ დაწკაპვით, ფანჯრები, ხატები. 674 00:31:47,006 --> 00:31:49,630 ჩვენ ვაპირებთ, რომ შევინარჩუნოთ ის მარტივი და ფოკუსირება ძირითადი იდეები 675 00:31:49,630 --> 00:31:52,490 თავდაპირველად, სანამ ჩვენ რაიმე მაღალ დონეზე, მაგალითად, 676 00:31:52,490 --> 00:31:56,410 როგორიცაა შესვენების თამაში, რომ ჩვენ ვისაუბრეთ შესახებ პირველი ლექცია გასულ კვირას. 677 00:31:56,410 --> 00:32:00,820 >> ასე რომ, როდესაც მე დააჭიროთ აქ, ეს ექვივალენტი ტექსტი გარემო 678 00:32:00,820 --> 00:32:03,272 გაორმაგება დაწკაპვით ხატი მოუწოდა hello. 679 00:32:03,272 --> 00:32:05,480 რას ველოდოთ მოხდეს, როდესაც მე დააჭიროთ შემდეგ? 680 00:32:05,480 --> 00:32:07,120 >> აუდიტორია: ეს კიდე ბეჭდვა "Hello World". 681 00:32:07,120 --> 00:32:10,000 >> დევიდ ჯ Malan: იმედია იქნება ბეჭდვა "Hello World". 682 00:32:10,000 --> 00:32:11,370 და მართლაც ასე. 683 00:32:11,370 --> 00:32:13,690 ახლა არსებობს გარკვეული cryptic სინტაქსი აქ. 684 00:32:13,690 --> 00:32:15,950 მოდით გადახვევა მხოლოდ მომენტი და ვნახოთ, თუ ჩვენ 685 00:32:15,950 --> 00:32:19,530 არ შეგიძლიათ inferring მხოლოდ მოუქნელმა, ცდილობს და ვერ, 686 00:32:19,530 --> 00:32:21,130 ის, თუ რა ხდება აქ. 687 00:32:21,130 --> 00:32:23,609 რა მოხდება, თუ დავაღწიოთ წარმატებული ნ? 688 00:32:23,609 --> 00:32:25,650 ახლა ზოგიერთი, ვინც უკვე პროგრამირდება ადრე ალბათ 689 00:32:25,650 --> 00:32:27,054 ვიცი მყისიერად რას ნიშნავს. 690 00:32:27,054 --> 00:32:29,220 მაგრამ იმ თქვენ, რომლებიც უკვე არასდროს არ პროგრამირდება ადრე, 691 00:32:29,220 --> 00:32:34,052 მინიმუმ ვფიქრობ, რომ საკუთარ თავს, რა ხდება შეცვალოს როდესაც მე გამეორება ამ პროგრამის? 692 00:32:34,052 --> 00:32:37,010 ამიტომ, მე ვაპირებ დაბრუნდეს ქვემოთ ჩემი პატარა შავი და თეთრი ფანჯარა, რომელიც 693 00:32:37,010 --> 00:32:39,290 ფანჯარა, რომელშიც შემიძლია შეადგინოს. 694 00:32:39,290 --> 00:32:41,130 მე ვაპირებ გადააკომპილეთ hello. 695 00:32:41,130 --> 00:32:43,520 ჩვენ ვაპირებთ, რომ იგივე cryptic თანმიმდევრობა ბრძანებები. 696 00:32:43,520 --> 00:32:45,719 და მე ვაპირებ ამის გაკეთებას dot ხაზი hello. 697 00:32:45,719 --> 00:32:48,260 და ახლა ვინმე, თუ თქვენ, ვინც არასდროს პროგრამირდება ადრე, 698 00:32:48,260 --> 00:32:49,770 რა შეიძლება იყოს განსხვავებული ამ დროს? 699 00:32:49,770 --> 00:32:50,020 Yeah. 700 00:32:50,020 --> 00:32:51,840 >> აუდიტორია: ეს არ შეწყვეტენ ბეჭდვა "Hello World". 701 00:32:51,840 --> 00:32:52,660 >> დევიდ ჯ Malan: იგი აპირებს, რომელთა მიზანია: უკაცრავად? 702 00:32:52,660 --> 00:32:54,210 >> აუდიტორია: ეს არ შეწყვეტენ ბეჭდვა ეს? 703 00:32:54,210 --> 00:32:55,810 >> დევიდ ჯ Malan: ეს იქნება არა შეწყვიტოს ბეჭდვა "Hello World". 704 00:32:55,810 --> 00:32:56,560 ასე რომ, არ არის ცუდი იდეა. 705 00:32:56,560 --> 00:32:58,633 სხვა იდეები? 706 00:32:58,633 --> 00:32:59,132 Yeah. 707 00:32:59,132 --> 00:33:00,060 >> აუდიტორია: Error გაგზავნა? 708 00:33:00,060 --> 00:33:01,750 >> დევიდ ჯ Malan: Error გაგზავნა, OK, შეიძლება იყოს. 709 00:33:01,750 --> 00:33:02,250 რა? 710 00:33:02,250 --> 00:33:05,479 აუდიტორია: ეს შეიძლება ბეჭდვა bracket ერთად მძიმით ისევე? 711 00:33:05,479 --> 00:33:08,270 დევიდ ჯ Malan: შესაძლოა ბეჭდვა bracket ერთად მძიმით ისევე. 712 00:33:08,270 --> 00:33:11,950 იქნებ, რომ წარმატებული შემდეგ არის რამდენიმე სახის terminous, რომ მნიშვნელოვანია. 713 00:33:11,950 --> 00:33:14,860 ნებისმიერი სხვა აზრები? 714 00:33:14,860 --> 00:33:16,412 >> ასე რომ ყველა კარგი იდეები. 715 00:33:16,412 --> 00:33:18,370 და რეალურად, ის აპირებს უნდა იყოს შეცდომა. 716 00:33:18,370 --> 00:33:20,400 ეს, ალბათ, ყველაზე მეტად უნდა იყოს პასუხი ზოგადი 717 00:33:20,400 --> 00:33:22,420 მომდევნო რამდენიმე კვირის განმავლობაში როცა ვისწავლით კოდი აქ. 718 00:33:22,420 --> 00:33:27,680 >> მაგრამ ახლა გვახსოვს, რომ კომპიუტერები მხოლოდ ის, რაც თქვენ ვუთხრა, უნდა გააკეთოს. 719 00:33:27,680 --> 00:33:30,400 ისევე როგორც სასაცილოა peanut კარაქი და ჟელე მაგალითად. 720 00:33:30,400 --> 00:33:33,860 ჩვენი ადამიანური კომპიუტერი მხოლოდ უნდა ის, რომ რა ვუთხარი, რომ ამის გაკეთება. 721 00:33:33,860 --> 00:33:36,250 ასე რომ, ამ შემთხვევაში, თუ თქვენ არ ვუთხრა კომპიუტერი 722 00:33:36,250 --> 00:33:41,190 გადავიდეს, რომ მოციმციმე კურსორი შემდეგი ხაზი, ის არ აპირებს ამის გაკეთებას. 723 00:33:41,190 --> 00:33:45,390 ასე რომ, როდესაც მე აწარმოებს ამ პროგრამის ახლა შეამჩნია განსხვავება. 724 00:33:45,390 --> 00:33:46,900 >> ჰგავს შეცდომა. 725 00:33:46,900 --> 00:33:49,190 ეს ესთეტიკური bug, ალბათ. 726 00:33:49,190 --> 00:33:53,310 მაგრამ რა არის ეს გამომავალი წინააღმდეგ ბოლო აშკარად? 727 00:33:53,310 --> 00:33:53,810 Yeah. 728 00:33:53,810 --> 00:33:54,920 >> აუდიტორია: ეს არ გააკეთა ახალი ხაზი. 729 00:33:54,920 --> 00:33:56,586 >> დევიდ ჯ Malan: ეს არ გააკეთა ახალი ხაზი. 730 00:33:56,586 --> 00:33:58,740 ახლა იმ თქვენ, რომლებიც აქვს იქნებ გააკეთა ვებ გვერდები 731 00:33:58,740 --> 00:34:01,910 ადრე, მოგეხსენებათ, რომ BR tag ან მუხლის მე tag, 732 00:34:01,910 --> 00:34:03,120 ძალიან მსგავსი სულისკვეთება. 733 00:34:03,120 --> 00:34:06,680 ბრაუზერში იგნორირება, სანამ თქვენ გითხრათ, ზუსტად რა უნდა გააკეთოს. 734 00:34:06,680 --> 00:34:10,020 ასევე, ენის მსგავსად C მხოლოდ გაკეთებას აპირებს, რაც თქვენ ვუთხრა მას ამის გაკეთება. 735 00:34:10,020 --> 00:34:12,730 >> ასე რომ, იმ მიზეზით, რომ ყველა ეს მაგალითები, 736 00:34:12,730 --> 00:34:15,350 ჯერჯერობით, აქვს სახის casually ჰქონდა ამ წარმატებული 737 00:34:15,350 --> 00:34:18,560 არსებობს, რომ ის საშუალებით რომელიც თქვენ გამოხატოს თავის 738 00:34:18,560 --> 00:34:21,380 როგორც ახალი ხაზი ხასიათი, ასე ვთქვათ. 739 00:34:21,380 --> 00:34:26,219 და თქვენ შეგიძლიათ სახის ვაფასებთ, ალბათ, რომ ეს იქნებოდა გამოიყურებოდეს სახის სულელური 740 00:34:26,219 --> 00:34:27,070 თუ სხვა არაფერი. 741 00:34:27,070 --> 00:34:29,150 თუ მინდოდა ახალი ხაზი, უბრალოდ, hitting შეიყვანეთ და შემდეგ სახის 742 00:34:29,150 --> 00:34:32,219 საქართველოს butchering კოდი მოსწონს, რომ არ უნდა ნამდვილად რუბლს თქვენ სწორი გზა. 743 00:34:32,219 --> 00:34:33,830 და მაშინაც კი, თუ თქვენ არ ნამდვილად აინტერესებს ამ ეტაპზე, 744 00:34:33,830 --> 00:34:35,830 თქვენ გააცნობიეროს, რომ ეს არ არის განსაკუთრებით 745 00:34:35,830 --> 00:34:37,870 კარგი ეძებს ნაჭერი კოდი. 746 00:34:37,870 --> 00:34:39,969 >> და მერე რა მსოფლიოში გადაწყვიტა წლის წინ 747 00:34:39,969 --> 00:34:43,420 რომ როდესაც გსურთ დააყენოს კურსორი გადატანა ახალი ხაზი პირდაპირ, 748 00:34:43,420 --> 00:34:46,332 თქვენ უნდა მკაფიოდ ამბობენ ახალი ხაზი, წარმატებული ნ. 749 00:34:46,332 --> 00:34:48,040 და არსებობს რამდენიმე სხვა სიმბოლოები, როგორიცაა, რომ. 750 00:34:48,040 --> 00:34:50,719 მაგრამ ახლა ჩვენ უბრალოდ ფოკუსირება წარმატებული ნ. 751 00:34:50,719 --> 00:34:53,790 >> ახლა მოდით პროგრამა ცოტა უფრო საინტერესო. 752 00:34:53,790 --> 00:34:59,200 მე ვაპირებ წავიდეთ წინ და ამ დროს ქმნის ახალ ფაილს. 753 00:34:59,200 --> 00:35:02,520 მე ვაპირებ, რათა გადავარჩინოთ ეს მიესალმები-1.c. 754 00:35:02,520 --> 00:35:05,540 და მხოლოდ ჩათვლით, მე ვაპირებ წასვლა მისი ჩემს Dropbox საქაღალდეში. 755 00:35:05,540 --> 00:35:09,030 >> როგორც თქვენ ხედავთ, რომ CS50 დოკუმენტაცია მოწყობილობების, 756 00:35:09,030 --> 00:35:11,210 მოგვიანებით ამ კვირაში პრობლემა კომპლექტი 1, ჩვენ მოგიწოდებთ 757 00:35:11,210 --> 00:35:13,230 თქვენ უნდა გამოიყენოთ Dropbox ან ექვივალენტი მომსახურება, 758 00:35:13,230 --> 00:35:15,430 იმიტომ, რომ მაშინ ყველა თქვენი კოდი მიერ იქნება გამყარებული ავტომატურად. 759 00:35:15,430 --> 00:35:17,830 და ამიტომაც მე წავიდა ამ საქაღალდეში აქ. 760 00:35:17,830 --> 00:35:20,230 >> და ახლა მე ვაპირებ დაწერას ოდნავ განსხვავებული პროგრამა. 761 00:35:20,230 --> 00:35:24,740 მოიცავს, სტანდარტული I / O.h, int ძირითადი ბათილად. 762 00:35:24,740 --> 00:35:29,660 და შემდეგ აქ printf, Hello World, რომელიც არის ზუსტად იგივე, როგორც ადრე. 763 00:35:29,660 --> 00:35:32,450 >> მაგრამ ახლა მინდა ბეჭდვა რაღაც რომ ცოტა განსხვავებული. 764 00:35:32,450 --> 00:35:34,800 მინდა ამობეჭდოთ, ამბობენ, "Hello, დავით." 765 00:35:34,800 --> 00:35:37,590 ყველა უფლება, ასე თვალნათლივ, ეს უნდა იმედია 766 00:35:37,590 --> 00:35:40,360 იმ შემთხვევაში, რომ, თუ recompile ეს პროგრამა, გამეორება, 767 00:35:40,360 --> 00:35:41,840 ის აპირებს ამბობენ, "hello, დავით." 768 00:35:41,840 --> 00:35:45,160 >> მაგრამ რა, თუ მინდა წარმოგიდგინოთ ამ სახის ცვლადი, 769 00:35:45,160 --> 00:35:49,240 ცნება კონტეინერი, რომ აპირებს შესანახად D-a-v-i-d და არ არის ძნელი კოდი ის 770 00:35:49,240 --> 00:35:50,600 შევიდა ჩემი პროგრამა. 771 00:35:50,600 --> 00:35:53,430 კარგად რა დავიწყო ამით რაღაც მსგავსი? 772 00:35:53,430 --> 00:35:57,120 >> სიმებიანი, ასე რომ ეს არის ცვლადი. 773 00:35:57,120 --> 00:36:00,250 თუ გსურთ სიმებიანი, a.k.a. სიტყვა ან ფრაზა. 774 00:36:00,250 --> 00:36:03,485 თანმიმდევრობა გმირები არის ის, რაც ჩვენ პროგრამირებაში დარეკეთ სიმებიანი. 775 00:36:03,485 --> 00:36:06,610 ჩვენ უბრალოდ აპირებს generically დარეკეთ ეს ის, რადგან ეს არის ლამაზი მარტივი სახელი. 776 00:36:06,610 --> 00:36:08,010 მაგრამ მე ვერ ეძახით არაფერი. 777 00:36:08,010 --> 00:36:12,920 >> მე ვაპირებ ვთქვა string s უდრის ციტირებას unquote, "დავითი", მძიმით. 778 00:36:12,920 --> 00:36:18,330 და ახლა მინდა ჩადეთ D-a-v-i-d შევიდა რა მე ბეჭდვა. 779 00:36:18,330 --> 00:36:23,720 და სანამ ჩვენ ვნახეთ teaser on ეკრანზე ზოგიერთი სპეციალური სინტაქსი 780 00:36:23,720 --> 00:36:26,050 რომ მოგვცა შემცვლელი ღირებულება. 781 00:36:26,050 --> 00:36:29,250 რა იყო განსაკუთრებული სიმბოლო სლაიდებს წინ? 782 00:36:29,250 --> 00:36:30,040 >> ამიტომ პროცენტს. 783 00:36:30,040 --> 00:36:33,830 იმ დროს ეს იყო პროცენტიანი დ ათობითი რიცხვი. 784 00:36:33,830 --> 00:36:35,850 რომ ნამდვილად არ ჩანს, შესაბამისი აქ. 785 00:36:35,850 --> 00:36:38,650 თურმე არსებობს კიდევ ერთი პროცენტი სიმბოლო, 786 00:36:38,650 --> 00:36:42,810 რომელიც პროცენტი s, რომელიც დგას ამისთვის placeholder სიმებიანი. 787 00:36:42,810 --> 00:36:49,350 >> ასე რომ, ახლა, ძალიან უბრალოდ, მე ვარ აპირებს წავიდეს მიიღოს hello-1, 788 00:36:49,350 --> 00:36:54,210 იმიტომ, რომ ამ ფაილის მოუწოდა მიესალმები-1.c, და დააჭიროთ. 789 00:36:54,210 --> 00:36:56,230 და მე ბრალია. 790 00:36:56,230 --> 00:36:57,394 რა ხდება? 791 00:36:57,394 --> 00:37:00,560 ისე, აქ, სადაც ჩვენ უნდა დაიწყოს ვაფასებ, რომ ჩვენ ამ ბრძანების 792 00:37:00,560 --> 00:37:02,810 ონლაინ გარემოს, ამ ტექსტის მხოლოდ გარემო. 793 00:37:02,810 --> 00:37:06,114 არ არსებობს დაწკაპვით ხატები როგორც ფოლდერები ახლავე. 794 00:37:06,114 --> 00:37:07,280 და ვფიქრობ უკან მომენტში წინ. 795 00:37:07,280 --> 00:37:10,740 რა ფოლდერი არ ვამბობ მე გადარჩენის ჩემი კოდი? 796 00:37:10,740 --> 00:37:11,657 ასე რომ Dropbox საქაღალდეში. 797 00:37:11,657 --> 00:37:12,989 შეეძლო ეწოდა არაფერი. 798 00:37:12,989 --> 00:37:14,530 მაგრამ ეს ხდება ე.წ. Dropbox. 799 00:37:14,530 --> 00:37:18,380 ასე რომ, მე რატომღაც უნდა ორმაგად დაწკაპეთ რომ Dropbox საქაღალდეში, რათა მიიღონ 800 00:37:18,380 --> 00:37:21,657 შევიდა და კიდევ ერთი, ჩემი კოდი მოუწოდა hello-1.c. 801 00:37:21,657 --> 00:37:24,490 ფაქტობრივად, ნება მომეცით წავიდეთ წინ და მინიმუმამდე ფანჯრის მხოლოდ ერთი წუთით. 802 00:37:24,490 --> 00:37:27,560 ისევე როგორც Windows და Mac OS, არსებობს ფოლდერები Linux. 803 00:37:27,560 --> 00:37:29,410 არსებობს ფოლდერები CS50 ელექტრო მოწყობილობების. 804 00:37:29,410 --> 00:37:32,380 ეს მხოლოდ ახლა ჩვენ შეზღუდეს თვითონ ამ ტექსტის გარემოში. 805 00:37:32,380 --> 00:37:34,700 >> მაგრამ თუ მე ორმაგი დაჭერით on Dropbox, შეამჩნია 806 00:37:34,700 --> 00:37:37,210 არის ფაილი, რომ მინდა კომპილაციის. 807 00:37:37,210 --> 00:37:41,430 მაგრამ მე უნდა ეს შავი და თეთრი ტერმინალის ფანჯარაში, ასე ვთქვათ. 808 00:37:41,430 --> 00:37:45,750 მაგრამ მე უნდა, აქედან გამომდინარე, გადაადგილება რომ ფოლდერი და დირექტორია. 809 00:37:45,750 --> 00:37:48,290 ისე ოდნავ arcane, მაგრამ თქვენ შეეგუება ამას. 810 00:37:48,290 --> 00:37:50,430 >> მსოფლიოში Linux, რაც კიდევ ერთხელ არის ოპერაციული 811 00:37:50,430 --> 00:37:54,860 სისტემა ჩვენ გაშვებული შიგნით CS50 ელექტრო, არსებობს ბრძანება მოუწოდა CD. 812 00:37:54,860 --> 00:37:58,310 რაც იმას ნიშნავს, მე შემიძლია ამის CD, სივრცე, Dropbox. 813 00:37:58,310 --> 00:37:59,900 CD, შეცვალოს დირექტორია. 814 00:37:59,900 --> 00:38:00,400 უფლება. 815 00:38:00,400 --> 00:38:02,890 უკან დღეს როდესაც ადამიანები გამოგონება კომპიუტერი და ოპერაციული 816 00:38:02,890 --> 00:38:05,806 სისტემები, როგორიცაა ამ, მათ სურდათ აკრიფოთ ნაკლები keystrokes შესაძლებელი. 817 00:38:05,806 --> 00:38:08,760 ასე რომ, ყველაზე იოლი გზა, ცვლილების დირექტორია იყო CD. 818 00:38:08,760 --> 00:38:13,910 >> ასე რომ, თუ მე მოხვდა CD, სივრცე Dropbox, შეამჩნევთ, თუ რა შეიცვალა. 819 00:38:13,910 --> 00:38:16,480 შიგნით ფრჩხილებში ელექტრო სახის 820 00:38:16,480 --> 00:38:19,360 საქართველოს humoring მე და ახსენებს, სადაც მე ვარ. 821 00:38:19,360 --> 00:38:21,480 ასე რომ ღია ფოლდერი არის Dropbox. 822 00:38:21,480 --> 00:38:24,950 თუ მე ახლა აკრიფოთ ls ამისთვის სია, კიდევ ერთხელ ლაკონური, 823 00:38:24,950 --> 00:38:27,540 იმიტომ, რომ ხალხს არ სურს ჩაწერეთ უკან დღეში l-i-s-t. 824 00:38:27,540 --> 00:38:29,300 ასე რომ, ისინი ნაცვლად გახადა ls. 825 00:38:29,300 --> 00:38:30,110 >> შევა. 826 00:38:30,110 --> 00:38:35,740 ყურადღება მიაქციეთ, მე, ორი რამ, hello-1.c, და შემდეგ ამ cryptic რამ, წყარო 1 მ. 827 00:38:35,740 --> 00:38:38,310 ეს მხოლოდ ჩემი გზა ამბობდა კოდის კვირა 1 ორშაბათი. 828 00:38:38,310 --> 00:38:42,020 რომ საქაღალდეში მე გადმოწერილი CS50 ნახვა, რომ მე მივიღე დღეს 829 00:38:42,020 --> 00:38:43,990 და მხოლოდ დააყენა იგი ელექტრო წინასწარ. 830 00:38:43,990 --> 00:38:47,550 >> მაგრამ ახლა ერთადერთი, რაც ჩვენ აინტერესებს მიღების ეს პროგრამა. 831 00:38:47,550 --> 00:38:50,440 ასე რომ, როდესაც მე აკრიფოთ მიიღოს hello-1, შეიყვანეთ. 832 00:38:50,440 --> 00:38:51,320 რა იგი. 833 00:38:51,320 --> 00:38:53,060 რაღაც წავიდა არასწორი. 834 00:38:53,060 --> 00:38:54,580 ასე რომ, მოდით აჯავრებენ ამ გარდა. 835 00:38:54,580 --> 00:38:58,489 და სამწუხაროდ, ეს არის სადაც რამ კიდევ ცოტა სტრესული, პირველ რიგში, 836 00:38:58,489 --> 00:39:00,280 ყოველ შემთხვევაში, თუ გვაქვს არასდროს არ პროგრამირდება ადრე. 837 00:39:00,280 --> 00:39:00,980 >> ჩემი ღმერთი. 838 00:39:00,980 --> 00:39:04,990 დავწერე ორი ხაზი პროგრამა და მაქვს ოთხი ხაზები შეცდომები. 839 00:39:04,990 --> 00:39:07,180 ასე რომ, რა ხდება აქ. 840 00:39:07,180 --> 00:39:11,370 პირველ რიგში, ყოველთვის გადახვევა უკან up და პირველი შეცდომა, 841 00:39:11,370 --> 00:39:15,730 რადგან ხშირად შემდგენლები მხოლოდ დაბნეული, რაც თქვენ და მე. 842 00:39:15,730 --> 00:39:17,000 Compilers საკმაოდ dumb. 843 00:39:17,000 --> 00:39:18,360 ისინი მხოლოდ რა თქვენ ვუთხრა, უნდა გააკეთოს. 844 00:39:18,360 --> 00:39:21,484 და თუ აღრეული მათ, ისინი მხოლოდ ვაპირებ სახის გადაყარეთ მათ ხელში 845 00:39:21,484 --> 00:39:25,010 და იქნებ იმისათვის, რომ უფრო შეცდომის შეტყობინებები ვიდრე რეალურად შესაბამისი. 846 00:39:25,010 --> 00:39:26,380 >> ასე რომ, მოდით შევხედოთ პირველი. 847 00:39:26,380 --> 00:39:27,540 Super cryptic პირველი. 848 00:39:27,540 --> 00:39:31,050 მაგრამ შეამჩნია, რომ აქ სახელი ფაილი, რომელიც მე ბრალია როგორც ჩანს. 849 00:39:31,050 --> 00:39:36,570 Colon 5, მსხვილი ნაწლავის 5 მხოლოდ იმას ნიშნავს, line 5 მეხუთე ხასიათი. 850 00:39:36,570 --> 00:39:39,760 ასე რომ, მეხუთე კოლონის გმირები, თუ თქვენ, შეცდომა. 851 00:39:39,760 --> 00:39:41,870 გამოყენება გამოუცხადებელ იდენტიფიკატორი სიმებიანი. 852 00:39:41,870 --> 00:39:43,120 ხომ არ იგულისხმეთ სტანდარტული n? 853 00:39:43,120 --> 00:39:44,850 >> არა, მე იმას ნიშნავდა, string. 854 00:39:44,850 --> 00:39:47,640 და შემდეგ ეს ერთგვარი გადაწერა და pasting 855 00:39:47,640 --> 00:39:50,700 რაც მე აკრეფილი ნამდვილად დავხაზო ყურადღებას, სადაც მე ბრალია. 856 00:39:50,700 --> 00:39:54,260 რატომღაც C, ან თუნდაც შემდგენელი 857 00:39:54,260 --> 00:39:56,470 არ ესმის სიტყვა string. 858 00:39:56,470 --> 00:39:57,890 და ეს იმიტომ, რომ ჩვენ მივიღეთ ეს. 859 00:39:57,890 --> 00:40:01,440 ამიტომ სიმებიანი არ არსებობს C. რაც CS50 აკეთებს, 860 00:40:01,440 --> 00:40:03,380 პირველი რამდენიმე კვირის განმავლობაში მხოლოდ კლასის, 861 00:40:03,380 --> 00:40:05,700 არის ჩვენ გთავაზობთ ზოგიერთი სწავლება დისკები, ასე ვთქვათ. 862 00:40:05,700 --> 00:40:11,160 და ჩვენ ამ სასწავლო თვლები შიგნით სპეციალური ფაილი სახელად cs50.h. 863 00:40:11,160 --> 00:40:14,970 >> ასე რომ, ეს მეორე ორი ფაილი სახელები, რომლებიც, როგორც ჩანს, დასრულდება dot h. 864 00:40:14,970 --> 00:40:16,300 მოდით გადახვევა. 865 00:40:16,300 --> 00:40:19,360 Printf განცხადება ან ფუნქცია რომ როგორც ჩანს, ბეჭდავს რაღაც 866 00:40:19,360 --> 00:40:20,580 ეკრანზე. 867 00:40:20,580 --> 00:40:23,470 მაგრამ თქვენ ვერ ვხედავ ჩემთვის განახორციელოს printf, მარჯვნივ. 868 00:40:23,470 --> 00:40:26,360 ვინმე წლის წინ განხორციელებული printf. 869 00:40:26,360 --> 00:40:30,420 რა ფაილი, რომ თქვენ ფსონს ის ან მან დააყენა განხორციელების 870 00:40:30,420 --> 00:40:34,270 განთავსების printf, კოდი printf? 871 00:40:34,270 --> 00:40:36,860 >> ფაილი სახელად სტანდარტული I / O.h. 872 00:40:36,860 --> 00:40:39,930 ფაქტობრივად, ეს, ალბათ ორი ფაილი: სტანდარტული I / O.h, 873 00:40:39,930 --> 00:40:42,650 რომელიც დგას header ფაილი, და სტანდარტული I / O.c, 874 00:40:42,650 --> 00:40:44,060 რომელიც დგას C კოდის. 875 00:40:44,060 --> 00:40:48,220 ასე რომ მას რამდენიმე წლის წინ plopped კოდი, რომელიც მათ დაწერეს შევიდა, რომ ფაილი 876 00:40:48,220 --> 00:40:51,240 ისე, რომ ხალხს ჩვენნაირი წლის შემდეგ შეიძლება შეიცავდეს ეს, 877 00:40:51,240 --> 00:40:53,040 ასე ვთქვათ, ჩვენი საკუთარი პროგრამები. 878 00:40:53,040 --> 00:40:56,320 >> და მართლაც, რა ფუნტი ნიშანი მოჰყვა სიტყვა მოიცავს აკეთებს. 879 00:40:56,320 --> 00:41:00,250 ეს გამოიყურება ადგილობრივ ხისტ დისკზე, პოულობს ფაილი მოუწოდა სტანდარტული I / O.h, 880 00:41:00,250 --> 00:41:03,840 და შემდეგ ეფექტურად ასლები და პასტები შიგნით ჩემი ფაილი. 881 00:41:03,840 --> 00:41:07,210 ასე რომ, ახლა ჩემი პროგრამა იცის, როგორ ბეჭდვა ეკრანზე. 882 00:41:07,210 --> 00:41:11,120 >> ასე რომ, ლოგიკა, სადაც არის სიმებიანი განსაზღვრული? 883 00:41:11,120 --> 00:41:12,260 >> აუდიტორია: cs50.h. 884 00:41:12,260 --> 00:41:13,290 >> დევიდ ჯ Malan: cs50.h. 885 00:41:13,290 --> 00:41:15,540 და მართლაც, რომ ის, რაც ჩვენ, ძირითადი პერსონალის გაკეთდეს. 886 00:41:15,540 --> 00:41:19,590 ჩვენ გამოიგონა რამდენიმე მონაცემთა ტიპები, ასე ვთქვათ, როგორც სიმებიანი, 887 00:41:19,590 --> 00:41:22,370 გარდა ამისა, თქვენ პირობა მიიღეთ უფასოდ, როგორიცაა int. 888 00:41:22,370 --> 00:41:26,010 და ჩვენ ვხედავთ, სხვების მსგავსად char ხასიათი და კიდევ რამდენიმე. 889 00:41:26,010 --> 00:41:30,670 შიგნით CS50.h, როგორც ჩანს, მინიმუმ რამდენიმე ნახსენები სიმებიანი. 890 00:41:30,670 --> 00:41:34,980 >> ასე რომ, ახლა ნება მომეცით წავიდეთ წინ და გამეორება მიიღოს hello-1. 891 00:41:34,980 --> 00:41:37,100 მე მიუახლოვდით კვლავ გადაკვეთა ჩემი თითები. 892 00:41:37,100 --> 00:41:41,370 ახლა, რომელმაც ერთი შეცვლა მე დაფიქსირდა საუკეთესო რამ. 893 00:41:41,370 --> 00:41:42,100 მაგრამ რა იგი. 894 00:41:42,100 --> 00:41:44,290 მეტი პროცენტით, ვიდრე მონაცემები არგუმენტები. 895 00:41:44,290 --> 00:41:45,980 რა გავაკეთო არასწორი ამ დროს? 896 00:41:45,980 --> 00:41:47,420 >> ასე რომ ჯერ კიდევ საკმაოდ cryptic. 897 00:41:47,420 --> 00:41:51,560 მაგრამ ეს შეცდომა არის 7 ხაზი და ხასიათი 21. 898 00:41:51,560 --> 00:41:53,880 მოდით წავიდეთ შევხედოთ აქ. 899 00:41:53,880 --> 00:41:55,350 ეს არის პატარა დახვეწილი. 900 00:41:55,350 --> 00:41:59,167 მაგრამ თუ თქვენ ფიქრობთ იმაზე, თუ რა ფუნდამენტური იდეები აქ, 901 00:41:59,167 --> 00:42:00,500 ალბათ, შეგვიძლია აჯავრებენ ამ გარდა. 902 00:42:00,500 --> 00:42:02,300 >> ამიტომ printf სახელით ფუნქცია. 903 00:42:02,300 --> 00:42:04,960 ფრჩხილებში, ჯერჯერობით არის ისევე რაც ჩვენ გარშემო 904 00:42:04,960 --> 00:42:07,005 პერსონალის ჩვენ გავლის საშუალებებით ფუნქცია. 905 00:42:07,005 --> 00:42:08,921 ყველა უფლება, მხოლოდ თვითნებური ადამიანის კონვენცია. 906 00:42:08,921 --> 00:42:09,919 გამოიყენოთ ფრჩხილებში. 907 00:42:09,919 --> 00:42:12,460 შიგნით იმ ფრჩხილებში ჩვენ უკვე აყენებს ორმაგ ბრჭყალებში, 908 00:42:12,460 --> 00:42:14,810 და შემდეგ სიმებიანი როგორც "Hello World". 909 00:42:14,810 --> 00:42:18,160 >> არამედ ის, რომ ადრე მაგალითად ძალიან მოკლედ ხომ არ შევხედოთ Scratch. 910 00:42:18,160 --> 00:42:22,590 და ჩვენ გვქონდა პროცენტი d, რა შიგნით იმ ფრჩხილებში 911 00:42:22,590 --> 00:42:23,730 რომ დავურეკე out სიტყვიერი? 912 00:42:23,730 --> 00:42:24,230 Yeah. 913 00:42:24,230 --> 00:42:28,166 >> აუდიტორია: ასე რომ ის, რაც თქვენ მიღების [INAUDIBLE] შიგნით [INAUDIBLE] 914 00:42:28,166 --> 00:42:30,200 ის, რაც ამ [INAUDIBLE]? 915 00:42:30,200 --> 00:42:31,200 დევიდ ჯ Malan: ზუსტად. 916 00:42:31,200 --> 00:42:32,700 ამიტომ ჩვენ გვქონდა პროცენტი დ. 917 00:42:32,700 --> 00:42:36,620 მაგრამ მაშინ ჩვენ მჭიდრო გაცემა, მძიმე, counter. 918 00:42:36,620 --> 00:42:37,120 უფლება. 919 00:42:37,120 --> 00:42:40,680 ჩვენ მითითებული, რაც ჩვენ გვინდა იმას, placeholder. 920 00:42:40,680 --> 00:42:44,621 მერე რა მე ვაპირებ აქ არის მძიმე, რა გინდა ჩემთვის? 921 00:42:44,621 --> 00:42:45,120 აუდიტორია: S. 922 00:42:45,120 --> 00:42:46,828 დევიდ ჯ Malan: S, იმიტომ, რომ ის ამ შემთხვევაში 923 00:42:46,828 --> 00:42:48,700 არის სახელი შენახვის კონტეინერი. 924 00:42:48,700 --> 00:42:50,180 ეს სახელი რომ შუშის თასი. 925 00:42:50,180 --> 00:42:53,610 მანამდე ეს იყო counter რომ მარტივი Scratch მაგალითად, ჩვენ შევხედე. 926 00:42:53,610 --> 00:42:56,630 ასე რომ, ახლა, რომელმაც ორი ცვლილებები, ნება მომეცით zoom 927 00:42:56,630 --> 00:42:59,800 და ცდილობენ კიდევ ერთხელ შეადგინონ ამ პროგრამის. 928 00:42:59,800 --> 00:43:01,596 >> ახლა ვხედავ, რომ cryptic ონლაინ. 929 00:43:01,596 --> 00:43:03,470 მაგრამ ეს, ფაქტობრივად, მომხმარებლის სახელი შემდგენელი. 930 00:43:03,470 --> 00:43:04,886 Clang არის სახელი შემდგენელი. 931 00:43:04,886 --> 00:43:07,100 მიიღოს მხოლოდ გადარჩენის ჩემთვის თავის ტკივილი ოდესმე 932 00:43:07,100 --> 00:43:09,830 ბეჭდვის, რომ ხანგრძლივი გიჟები ბრძანება out. 933 00:43:09,830 --> 00:43:14,900 ახლა, თუ არ dot slash მიესალმები-1, მე უნდა დაინახოს "hello, დავით." 934 00:43:14,900 --> 00:43:16,450 >> საკმაოდ underwhelming, თუმცა, არა? 935 00:43:16,450 --> 00:43:18,158 შეგვეძლო გავაკეთეთ ეს ბევრად უფრო მარტივად 936 00:43:18,158 --> 00:43:20,940 გარეშე ვსაუბრობთ ცვლადები და CS50.h და ყველა რომ. 937 00:43:20,940 --> 00:43:23,080 ასე რომ, მოდით ეს ცოტა უფრო საინტერესო. 938 00:43:23,080 --> 00:43:31,010 >> გარდა CS50.h, მქონე რამ, როგორიცაა სიმებიანი 939 00:43:31,010 --> 00:43:34,550 განაცხადა, რომ CS50 ბიბლიოთეკა ასევე აქვს რამდენიმე ფუნქცია. 940 00:43:34,550 --> 00:43:38,520 ასე რომ, ისევე წლის წინ, ვიღაცამ დაწერა printf და მისი სტანდარტული I / O.h 941 00:43:38,520 --> 00:43:39,530 და ზოგიერთი სხვა ფაილი. 942 00:43:39,530 --> 00:43:44,010 >> ჩვენ, CS50 პერსონალი, წერდა ფუნქცია ე.წ. GetChar, GetDouble, GetFloat, 943 00:43:44,010 --> 00:43:47,610 GetInt, GetLongLong, GetString, და ჩვენ შიგნით ფაილი 944 00:43:47,610 --> 00:43:49,890 ე.წ. CS50.h და CS50.c. 945 00:43:49,890 --> 00:43:51,880 და ჩვენ მათ შიგნით of CS50 ელექტრო მოწყობილობების. 946 00:43:51,880 --> 00:43:53,880 და ადამიანები, ასევე შეგიძლიათ უფასო მათ ამჟამად, თუ ისინი 947 00:43:53,880 --> 00:43:55,880 გვინდა, რომ დააყენა მათ საკუთარი კომპიუტერი, ისევე. 948 00:43:55,880 --> 00:44:00,880 რაც უნდა ითქვას, რომ ჩვენ შევქმენით ფუნქციები, რომელიც მიიღოს შეყვანის შესახებ. 949 00:44:00,880 --> 00:44:02,930 მე არ ვიცი, რა ყველა ამ მონაცემთა ტიპები. 950 00:44:02,930 --> 00:44:06,490 GetInt სახის პირდაპირი, როგორიცაა მთელი რიცხვი რატომღაც შესახებ. 951 00:44:06,490 --> 00:44:09,980 და GetString არის ალბათ მისაღებად სიტყვა ან სასჯელის შესახებ. 952 00:44:09,980 --> 00:44:11,770 >> ასე რომ, მოდით ფოკუსირება რომ. 953 00:44:11,770 --> 00:44:14,710 და მე ვაპირებ დაბრუნდეს ელექტრო და მე ვაპირებ წავიდეთ წინ 954 00:44:14,710 --> 00:44:20,790 და გადარჩენა ამ ფაილს, როგორც, მოდით, ეს მიესალმები-2.c როგორც ჩემი მეორე ვერსია. 955 00:44:20,790 --> 00:44:23,030 და მოდით რამდენიმე ცვლილებები. 956 00:44:23,030 --> 00:44:25,800 >> ამ დროს ნაცვლად მძიმე კოდირების დევიდ, რომელიც 957 00:44:25,800 --> 00:44:29,120 რაც თანმიმდევრულია მაგრამ underwhelming პროგრამა, 958 00:44:29,120 --> 00:44:32,640 რა მოხდება, თუ მე ნაცვლად ასე GetString? 959 00:44:32,640 --> 00:44:35,660 ახლა შეამჩნია GetString აქვს ღია ფრჩხილებში, 960 00:44:35,660 --> 00:44:38,500 დახურული ფრჩხილებში, იმიტომ, ის არ საჭიროებს რაიმე შეყვანის. 961 00:44:38,500 --> 00:44:40,850 ეს მხოლოდ აპირებს წავიდეთ მისაღებად string საწყისი მომხმარებელს. 962 00:44:40,850 --> 00:44:42,460 >> და ახლა სიტყვა სხვა სინტაქსი. 963 00:44:42,460 --> 00:44:45,439 Semicolons უბრალოდ დასრულდება ხაზი კოდი. 964 00:44:45,439 --> 00:44:46,730 თქვენ არ გჭირდებათ მათ ყველგან. 965 00:44:46,730 --> 00:44:48,896 მაგრამ ეს მხოლოდ იმას ნიშნავს, რომ მე ვარ გაკეთდეს ამ ხაზი კოდი. 966 00:44:48,896 --> 00:44:51,080 ნება მომეცით გადაადგილება გადატანა სხვა განაცხადი ან ფუნქცია. 967 00:44:51,080 --> 00:44:53,010 სიმებიანი აცხადებს ცვლადი. 968 00:44:53,010 --> 00:44:55,920 სიმებიანი ჰგავს ამბობდა მომეცი თასი, გთხოვთ. 969 00:44:55,920 --> 00:44:57,940 და ნება მიბოძეთ სიმებიანი იგი. 970 00:44:57,940 --> 00:44:59,430 >> და ახლა თანაბარი ნიშანი. 971 00:44:59,430 --> 00:45:03,510 რა არის თანაბარი ნიშანი არსებითად ექვივალენტური? 972 00:45:03,510 --> 00:45:04,500 >> აუდიტორია: მიანიჭეთ. 973 00:45:04,500 --> 00:45:06,190 >> დევიდ ჯ Malan: ჰო, მინიჭების ღირებულება. 974 00:45:06,190 --> 00:45:09,872 ასე რომ, თუ მე, მაგალითად, დარეკეთ ამ ფუნქციის GetString, 975 00:45:09,872 --> 00:45:12,830 და ჩვენ ვხედავთ მომენტში, რომ ის, ვაპირებთ შეეკითხება მომხმარებელს ამისთვის სიმებიანი. 976 00:45:12,830 --> 00:45:17,810 ეს არის, როგორც მაძლევენ, მაშინ დაწერა D-a-v-i-d ნაჭერი ქაღალდი. 977 00:45:17,810 --> 00:45:21,060 და როდესაც ვამბობ, string ტოლია GetString, 978 00:45:21,060 --> 00:45:24,140 თანაბარი ნამდვილად არ ნიშნავს თანაბარი C პროგრამირების. 979 00:45:24,140 --> 00:45:27,880 ეს იმას ნიშნავს დაავალოს, მარჯვენა ფლანგიდან მხარეს მარცხენა მხარეს. 980 00:45:27,880 --> 00:45:29,510 >> ასე რომ, მე მიღებული სიმებიანი. 981 00:45:29,510 --> 00:45:32,785 და თანაბარი ნიშანი ნიშნავს, რომ ეს შენახვის კონტეინერი მოუწოდა. 982 00:45:32,785 --> 00:45:36,730 და მაშინ გაივლის ამ off printf რეალურად ამის გაკეთება რამ. 983 00:45:36,730 --> 00:45:39,790 >> ასე რომ საბოლოო ჯამში, შემდეგ აპირებს გამოიყურება ცოტა განსხვავებული. 984 00:45:39,790 --> 00:45:40,840 მოდით მიიღოს hello-2. 985 00:45:40,840 --> 00:45:43,940 986 00:45:43,940 --> 00:45:45,260 ან ვერ იმუშავებს. 987 00:45:45,260 --> 00:45:46,450 თქვენ შემდეგ ერთად. 988 00:45:46,450 --> 00:45:47,940 მიიღოს hello 2 მუშაობდა. 989 00:45:47,940 --> 00:45:52,640 Dot slash მიესალმები-2, შეიყვანეთ. 990 00:45:52,640 --> 00:45:54,620 >> მე, როგორც ჩანს, აქვს უსასრულო loop ან რაღაც. 991 00:45:54,620 --> 00:45:55,453 არაფერი ხდება. 992 00:45:55,453 --> 00:45:56,134 რატომ? 993 00:45:56,134 --> 00:45:57,805 >> აუდიტორია: ეს მიღების უსასრულო ციკლი. 994 00:45:57,805 --> 00:45:59,430 დევიდ ჯ Malan: ეს არის უსასრულო ციკლი. 995 00:45:59,430 --> 00:46:02,710 ეს არის სახის მელოდება რეალურად, გაუწიონ მას გარკვეულ შეყვანის. 996 00:46:02,710 --> 00:46:05,800 ნება მომეცით წავიდეთ წინ და ტიპის დავით, და დააჭიროთ. 997 00:46:05,800 --> 00:46:07,230 და ახლა იგი აცხადებს, "hello, დავით." 998 00:46:07,230 --> 00:46:09,040 თუ მე აწარმოებს კიდევ ერთხელ. 999 00:46:09,040 --> 00:46:11,530 მოდით ჩაწერეთ Rob, "Hello, რობ". 1000 00:46:11,530 --> 00:46:13,900 >> ახლა ეს არის ყველაზე ცუდი ინტერფეისი ოდესმე. 1001 00:46:13,900 --> 00:46:16,110 შესახებ, როგორც ჩანს, უნდა იცოდეს, რა უნდა გააკეთოს. 1002 00:46:16,110 --> 00:46:17,120 მაგრამ არა აქვს მნიშვნელობა. 1003 00:46:17,120 --> 00:46:19,570 გამოყენებით ამ იმავე შენობაში ბლოკები ისევე, როგორც Scratch, 1004 00:46:19,570 --> 00:46:24,980 ჩვენ შეგვიძლია ამ პრობლემის გადაწყვეტა და აცხადებენ, რაღაც, როგორიცაა თქვენი სახელი, გთხოვთ, მსხვილი ნაწლავის, 1005 00:46:24,980 --> 00:46:27,820 ფართი, დახურული ციტირებით ახლოს ფრჩხილებში, მძიმით. 1006 00:46:27,820 --> 00:46:30,680 ასე, რომ ბევრი კიდევ ერთხელ სისულელეებისთვის ერთად სინტაქსის. 1007 00:46:30,680 --> 00:46:34,040 >> მაგრამ შეამჩნია მე უბრალოდ დასძინა თავსატეხი ცალი ზემოთ ამ ერთი 1008 00:46:34,040 --> 00:46:35,280 და ზემოთ ერთი. 1009 00:46:35,280 --> 00:46:38,870 ახლა, თუ გამეორება ამ, hello-2, შეიყვანეთ. 1010 00:46:38,870 --> 00:46:41,180 დაველოდოთ წუთში. 1011 00:46:41,180 --> 00:46:41,830 რა არის არასწორი? 1012 00:46:41,830 --> 00:46:43,570 ის არ იქცეოდა სხვაგვარად. 1013 00:46:43,570 --> 00:46:44,200 Yeah. 1014 00:46:44,200 --> 00:46:46,010 >> აუდიტორია: თქვენ არ აწარმოებს, რათა კიდევ ერთხელ. 1015 00:46:46,010 --> 00:46:47,968 >> დევიდ ჯ Malan: მე არ აწარმოებს გააკეთოს ერთხელ, მარჯვნივ. 1016 00:46:47,968 --> 00:46:49,430 ასე რომ, მე შეიცვალა ჩემი კოდი. 1017 00:46:49,430 --> 00:46:50,638 თუმცა ისევ და ისევ, იქ რომ ნაკადის. 1018 00:46:50,638 --> 00:46:54,530 კოდის მეშვეობით შემდგენელი აძლევს თქვენ ახალი ობიექტის კოდი, ან 0S და 1s. 1019 00:46:54,530 --> 00:47:00,209 ასე რომ, მე უნდა რეალურად გამეორება მიიღოს hello 2 შეიყვანეთ. 1020 00:47:00,209 --> 00:47:01,750 OK, რაღაც ჩანს არ მოხდა. 1021 00:47:01,750 --> 00:47:04,220 Dot slash მიესალმები-2. 1022 00:47:04,220 --> 00:47:05,390 თქვენი სახელი გთხოვთ. 1023 00:47:05,390 --> 00:47:09,990 და იყოს ნათელი ახლა, რატომ არის კურსორი იმავე ხაზის? 1024 00:47:09,990 --> 00:47:10,490 ზუსტად. 1025 00:47:10,490 --> 00:47:13,020 მე არ დააყენა წარმატებული n აქ ჩემი კოდი. 1026 00:47:13,020 --> 00:47:16,110 ასე რომ, ახლა მე შემიძლია წერა რაღაც Daven, შეიყვანეთ. 1027 00:47:16,110 --> 00:47:18,710 შემიძლია გაუშვით ერთხელ და აკრიფოთ რაღაც Gabe, შეიყვანეთ 1028 00:47:18,710 --> 00:47:22,250 და ჩვენ მივიღებთ სხვადასხვა პროგრამა ისევ და ისევ და ისევ. 1029 00:47:22,250 --> 00:47:28,940 >> ახლა საბოლოოდ ჩვენ ვაპირებთ უნდა გამოიყენოს რამდენიმე სხვადასხვა შესაძლებლობები. 1030 00:47:28,940 --> 00:47:32,860 უნდა დავნერგოთ საბოლოოდ გარკვეული პირობები გავაკეთოთ რამ, პირობითად. 1031 00:47:32,860 --> 00:47:35,550 შესაძლოა მარყუჟების ამიტომ ჩვენ შეგვიძლია გავაკეთოთ რამ ისევ და ისევ. 1032 00:47:35,550 --> 00:47:38,220 >> იქნებ ეს იქნება კარგი, თუ ჩვენ შეიძლება განახორციელოს საკუთარი ფუნქციები, 1033 00:47:38,220 --> 00:47:41,355 ისევე, როგორც ჩვენ შეგვიძლია განვახორციელოთ ჩვენი printf და საკუთარი ვერსია GetString 1034 00:47:41,355 --> 00:47:45,870 და GetFlow, რადგან საბოლოო ჯამში კი გამოყენებით ამ ბრძანების გარემო 1035 00:47:45,870 --> 00:47:49,780 შეგვიძლია გავაკეთოთ თუნდაც ყველაზე ვიზუალურად საინტერესო რამ. 1036 00:47:49,780 --> 00:47:51,950 >> მართლაც დასკვნა ნება მომეცით ამის გაკეთება. 1037 00:47:51,950 --> 00:47:54,020 მე ვაპირებ წავიდეთ წინ და დახურეთ ეს ფანჯარა 1038 00:47:54,020 --> 00:47:57,400 და გახსნა ეს ხატი აქ, რომელიც მხოლოდ დიდი 1039 00:47:57,400 --> 00:48:00,020 ვერსია, რომ ჩართული ტერმინალის ფანჯარაში. 1040 00:48:00,020 --> 00:48:02,329 ასე Gedit არა მხოლოდ ადგილი ჩემი კოდი, 1041 00:48:02,329 --> 00:48:05,620 მაგრამ ასევე აშენდა ტერმინალის ფანჯარა, შავი და თეთრი ფანჯარა, სადაც შემიძლია აწარმოებს 1042 00:48:05,620 --> 00:48:06,230 ბრძანებები. 1043 00:48:06,230 --> 00:48:08,600 >> უბრალოდ მოხდა გახსნა დიდი ვერსია ამ. 1044 00:48:08,600 --> 00:48:11,170 და ახლა მე ვაპირებ წასვლას საქაღალდეში, რომ მე უკვე 1045 00:48:11,170 --> 00:48:13,150 ბოლო წინასწარ თქმა უნდა ნახვა. 1046 00:48:13,150 --> 00:48:16,720 და მე ვაპირებ წავიდეთ წინ და გახსნა ფაილი სახელად thadgavin.c, 1047 00:48:16,720 --> 00:48:18,710 რომელიც დაიწერა ვინმე. 1048 00:48:18,710 --> 00:48:21,220 >> და თუ ჩვენ გადავხედავთ, ეს არ არის იმ ტიპის კოდი 1049 00:48:21,220 --> 00:48:24,370 ჩვენ უნდა წერა მას შემდეგ, რაც მიზანი ამ კოდი 1050 00:48:24,370 --> 00:48:28,450 დაეწერა prettiest ეძებს კოდი, რომ მას შეეძლო, 1051 00:48:28,450 --> 00:48:31,290 მიუხედავად იმისა, არის თუ არა სხვა ადამიანის ოდესმე 1052 00:48:31,290 --> 00:48:33,660 გაგება კოდი. 1053 00:48:33,660 --> 00:48:37,050 >> რა თქმა უნდა, ყოველ წელს არის ის, რაც არის ე.წ. obfuscated C კონკურსში, რომელიც 1054 00:48:37,050 --> 00:48:39,570 არის ნამდვილი geeks, რომლებიც წერენ კოდი, რომელიც არავინ წაიკითხოს, 1055 00:48:39,570 --> 00:48:42,050 მაგრამ ეს იმას რაღაც ან ძალიან მარტივი და მართლაც საოცარი. 1056 00:48:42,050 --> 00:48:43,890 და გვეგონა ჩვენ ავღნიშნო დადოს ამ სახეს 1057 00:48:43,890 --> 00:48:48,300 ის, რაც საკმაოდ გასაოცარი თქვენ შეიძლება არ მინახავს ერთხელ ადრე. 1058 00:48:48,300 --> 00:48:52,650 მაგრამ ჩვენ დასრულდება ამ შენიშვნა, dot ხაზი, thadgavin. 1059 00:48:52,650 --> 00:48:53,860 ეს მაშინ არის, თუ რა ელის. 1060 00:48:53,860 --> 00:48:57,140 1061 00:48:57,140 --> 00:48:58,500 >> სწორედ ეს CS50. 1062 00:48:58,500 --> 00:48:59,935 ვნახავთ თქვენ ოთხშაბათს. 1063 00:48:59,935 --> 00:49:04,284 1064 00:49:04,284 --> 00:49:10,016 >> [მუსიკის დაკვრა] 1065 00:49:10,016 --> 00:53:31,883