1 00:00:07,830 --> 00:00:12,200 [Powered by Google Translate] DAVID Malan: ეს არის CS50, და ეს არის დაწყების კვირა 1. 2 00:00:12,200 --> 00:00:15,520 რა გვეგონა ჩვენ გვინდა გავაკეთოთ დღეს არის მიიღოს ვიხსენებთ 3 00:00:15,520 --> 00:00:18,290 რაღაც ბევრ თქვენგანს ალბათ დადიოდა წარსულში ზოგიერთი 4 00:00:18,290 --> 00:00:20,570 ახლა არის და შეიძლება ცოტა ნაცნობი. 5 00:00:20,570 --> 00:00:23,720 ეს რამ აქ, ამ თქმა უნდა არის - 6 00:00:23,720 --> 00:00:24,155 აუდიტორია: მეცნიერების. 7 00:00:24,155 --> 00:00:26,030 DAVID Malan: მეცნიერების ცენტრი. 8 00:00:26,030 --> 00:00:28,940 ასე რომ, ეს არის რეალურად ერთი ყველაზე ადრეული კომპიუტერები 9 00:00:28,940 --> 00:00:30,220 უკან 1940. 10 00:00:30,220 --> 00:00:33,790 ეს იყო ერთერთი პირველი ელექტრომექანიკური კომპიუტერები 11 00:00:33,790 --> 00:00:35,730 რომ შეეძლო განსაკუთრებით ხანგრძლივი, 12 00:00:35,730 --> 00:00:38,450 თვითმმართველობის მდგრადი computations, და რაც ჩვენ რეალურად ვხედავთ 13 00:00:38,450 --> 00:00:41,580 მეცნიერების ცენტრი არის მხოლოდ პატარა ნაჭერი ამ რამ. 14 00:00:41,580 --> 00:00:44,170 რა გვეგონა ჩვენ გვინდა გავაკეთოთ მაშინ არის მიიღოს ვიხსენებთ ვიდეო 15 00:00:44,170 --> 00:00:46,670 რომ გაკეთდა ცოტა ხნის წინ, ვნერგავთ ამ 16 00:00:46,670 --> 00:00:47,520 რამ მსოფლიოში. 17 00:00:47,520 --> 00:00:50,200 და დაინახავთ საწყისი მუსიკა და ხმა, რომ მართლაც იმ 18 00:00:50,200 --> 00:00:52,070 ძალიან ბედნიერი ჯერ. 19 00:00:54,885 --> 00:00:59,700 >> [ვიდეო აღწარმოების] 20 00:00:59,700 --> 00:01:02,490 -ტრიუმფი მათემატიკური და მექანიკური უნარი არის ამ 21 00:01:02,490 --> 00:01:06,340 დიდი ახალი ავტომატური კალკულატორი ჰარვარდის უნივერსიტეტი. 22 00:01:06,340 --> 00:01:08,620 რთული პრობლემების მათემატიკაში, დააყენა მეშვეობით 23 00:01:08,620 --> 00:01:12,420 მანქანა კოდირებული ფორმით ფირზე, მათ ზუსტად მოგვარდება 24 00:01:12,420 --> 00:01:15,200 წუთი ფრაქცია საჭირო დროისა ადამიანის 25 00:01:15,200 --> 00:01:16,450 გაანგარიშებით. 26 00:01:27,050 --> 00:01:30,600 განკუთვნილია დააჩქარებს ყველა ფორმის მათემატიკური და სამეცნიერო 27 00:01:30,600 --> 00:01:34,610 კვლევის, გიგანტური მექანიკური ტვინის იმუშავებს ერთიანი 28 00:01:34,610 --> 00:01:36,570 შტატები საზღვაო სანამ ომი დასრულდა. 29 00:01:50,280 --> 00:01:52,980 >> DAVID Malan: რაც თქვენ შეიძლება არ ვიცი ის არის, რომ ეს იყო 30 00:01:52,980 --> 00:01:56,310 იგივე მოწყობილობა, რომელიც ვადის ჩვენ ყველა ახლა მიიღოს საკმაოდ ბევრი 31 00:01:56,310 --> 00:01:59,300 თავისთავად ცხადად იყო coined, რომ ხარვეზის შესახებ. 32 00:01:59,300 --> 00:02:01,140 ასე რომ ერთი ინჟინრები მუშაობენ ამ კომპიუტერზე 33 00:02:01,140 --> 00:02:05,280 სიტყვასიტყვით ნაპოვნი პატარა moth ავტომატში, რამაც 34 00:02:05,280 --> 00:02:07,580 ზოგიერთ არასწორი გაანგარიშებები. 35 00:02:07,580 --> 00:02:10,410 და როგორც ამბავი მიდის, რომ moth იყო სატელეფონო ამ შესვლა 36 00:02:10,410 --> 00:02:14,180 ჟურნალი აქ, უკან 9 სექტემბერს, 1940 წელს, რაც, 37 00:02:14,180 --> 00:02:16,550 და ამით დაიბადა მსოფლიოს ტერმინი "ხარვეზის". 38 00:02:16,550 --> 00:02:19,880 ასე რომ ამიერიდან მიგვაჩნია შეცდომები უნდა იყოს ნებისმიერი სახის შეცდომები 39 00:02:19,880 --> 00:02:23,290 პროგრამები, თუ არა ადამიანის მიერ ან, ამ შემთხვევაში, მწერები. 40 00:02:23,290 --> 00:02:25,030 >> ასე რომ რამდენიმე განცხადებები, როგორც ვაგრძელებთ. 41 00:02:25,030 --> 00:02:29,160 ამიტომ CS50 აქვს ტრადიცია სთავაზობს lunches of ჯიშები შესახებ 42 00:02:29,160 --> 00:02:31,600 საუკეთესო პარასკევს დროს სემესტრში, სადაც ჩვენ ვიღებთ 30 დან 43 00:02:31,600 --> 00:02:34,650 40 სტუდენტებს ცეცხლი და ყინულის მოედანზე ამისთვის ჩვეულებრივი 44 00:02:34,650 --> 00:02:36,390 chitchat, საუბარი კომპიუტერულ მეცნიერებათა 45 00:02:36,390 --> 00:02:37,420 ლაპარაკი მომავალში. 46 00:02:37,420 --> 00:02:40,000 ჩვენ ვიწვევთ კურსდამთავრებულები და მეგობრები მრეწველობის სტატისტიკა up 47 00:02:40,000 --> 00:02:40,690 სტუდენტებს ასევე. 48 00:02:40,690 --> 00:02:44,020 მართლაც მიმართ ბოლომდე მიღების რა საკმაოდ დიდ კლასის 49 00:02:44,020 --> 00:02:46,740 უფრო ინტიმური, ერთხელ მაინც ხოლო 50 00:02:46,740 --> 00:02:47,710 subsets სტუდენტების. 51 00:02:47,710 --> 00:02:50,940 ასე რომ, თუ გსურთ შემოგვიერთდნენ ამ პარასკევი, 1:15 PM, წასვლა 52 00:02:50,940 --> 00:02:53,340 CS50.net/lunch to RSVP. 53 00:02:53,340 --> 00:02:55,840 და ჩვენ ყველაფერს გავაკეთებთ ამ recurringly, ასე რომ არ ინერვიულოთ, თუ თქვენ არ 54 00:02:55,840 --> 00:02:57,930 შორის პირველი 30 ან იმდენად ამ კვირაში. 55 00:02:57,930 --> 00:02:59,070 >> ამიტომ scribe აღნიშნავს. 56 00:02:59,070 --> 00:03:01,500 სიტყვა რესურსები, ახლა დაიწყება მყოფი ხელმისაწვდომია 57 00:03:01,500 --> 00:03:03,040 სტუდენტებს კლასი. 58 00:03:03,040 --> 00:03:05,540 ისე, რომ თქვენი თავები არ უნდა იყოს ქვემოთ დროს ლექციები 59 00:03:05,540 --> 00:03:08,560 scribbling ქვემოთ ყველაფერს ვამბობ და ა.შ., თუ ​​რას ვაკეთებთ 60 00:03:08,560 --> 00:03:10,765 ნაცვლად არის უზრუნველყოფს აკადემიური პერსონალის 61 00:03:10,765 --> 00:03:11,920 კანონიკური კომპლექტი შენიშვნები. 62 00:03:11,920 --> 00:03:14,850 ასე რომ ჩვენ ერთი ჩვენი სწავლების პრაქტიკის, ენდრიუ Sellergren, 63 00:03:14,850 --> 00:03:17,830 ვინც ზის ქვემოთ ყოველ კვირას, მიმოხილულია ვიდეოები და შემდეგ 64 00:03:17,830 --> 00:03:19,730 წერს ქვევით, რაც ჩვენ მიგვაჩნია, რომ საკმაოდ 65 00:03:19,730 --> 00:03:21,840 ავტორიტეტული კომპლექტი შენიშვნები. 66 00:03:21,840 --> 00:03:24,180 და ანდრიას უყვარდა, ასევე, საქართველოს აყენებს snarky სქოლიოში წელს 67 00:03:24,180 --> 00:03:24,820 ბოლოში. 68 00:03:24,820 --> 00:03:27,300 ასე რომ თქვენ იმედია დატკბეს ამ როგორც მინიშნება წიგნი 69 00:03:27,300 --> 00:03:30,230 გართობა, ასევე, მოდის Quiz დრო, როგორც შესაძლებლობა განიხილოს 70 00:03:30,230 --> 00:03:31,830 რა მოხდა ინდივიდუალური ლექცია. 71 00:03:31,830 --> 00:03:33,580 ასე რომ იმ უკავშირდება შესახებ ლექციები გვერდზე. 72 00:03:33,580 --> 00:03:35,300 >> პრობლემა კომპლექტი 0, იმავდროულად, არის გარეთ. 73 00:03:35,300 --> 00:03:37,470 და კუთხით რესურსი ხელმისაწვდომი - 74 00:03:37,470 --> 00:03:38,020 walkthrough. 75 00:03:38,020 --> 00:03:39,730 მილო ხელმძღვანელობდა პირველ პარასკევს. 76 00:03:39,730 --> 00:03:41,470 იგი გადაიღეს, დაუსვან ონლაინ შაბათი. 77 00:03:41,470 --> 00:03:44,030 და ასე გააცნობიეროს, თუ თქვენ ნამდვილად არ დარწმუნებული სად უნდა დაიწყოს, 78 00:03:44,030 --> 00:03:47,280 ამ ან მომავალში P-კომპლექტი, ყოველთვის ჩართოთ პირველი და 79 00:03:47,280 --> 00:03:49,300 walkthrough ან ვიდეო მათი. 80 00:03:49,300 --> 00:03:52,950 Sectioning წარმოება; საათზე cs50.net/section არის სადაც თქვენ 81 00:03:52,950 --> 00:03:54,540 უნდა წარმოადგინოს თქვენი არჩევანი, თუ არ 82 00:03:54,540 --> 00:03:55,880 უკვე, რომელსაც დღეს. 83 00:03:55,880 --> 00:03:58,140 რადგან სექციები დაიწყება მოდის კვირა, ორშაბათი, 84 00:03:58,140 --> 00:03:58,760 და სამშაბათი. 85 00:03:58,760 --> 00:04:02,470 ჩვენ ამას ვაკეთებთ სექციები იმ სამი დღის განმავლობაში, ყოველ კვირას 86 00:04:02,470 --> 00:04:03,870 სემესტრის ყველაზე ნაწილი. 87 00:04:03,870 --> 00:04:06,600 ჩვენ ასევე წარმოგიდგინოთ, კიდევ ერთხელ, სხვადასხვა კომპოზიციები. 88 00:04:06,600 --> 00:04:08,270 ასე რომ თქვენ უნდა სთხოვა ამ sectioning ფორმით, თუ 89 00:04:08,270 --> 00:04:10,350 არ მინახავს ეს უკვე, თუ თქვენ ერთი იმ ნაკლებად 90 00:04:10,350 --> 00:04:12,800 კომფორტული, უფრო კომფორტული, ან სადღაც შორის. 91 00:04:12,800 --> 00:04:14,960 და თუ თქვენ სახის on ღობე, ზოგადად სადღაც 92 00:04:14,960 --> 00:04:18,160 შორის არის ის, რაც ყველაზე მეტად სტუდენტები დასრულდება მდე შემოწმების. 93 00:04:18,160 --> 00:04:19,579 ოფისი საათის დაიწყოს ამაღამ. 94 00:04:19,579 --> 00:04:23,020 >> ამიტომ Scratch საკმაოდ დაბალი გასაღები, მიუხედავად იმისა, რომ ეს ბუნებრივია 95 00:04:23,020 --> 00:04:25,300 to გადაეყარონ სხვადასხვა შეცდომები, ან იყოს გაურკვეველი, თუ როგორ უნდა 96 00:04:25,300 --> 00:04:26,550 განახორციელოს რაიმე. 97 00:04:26,550 --> 00:04:28,880 ასე რომ მიხვდებიან, რომ დავიწყებთ საათებში ამ კვირაში. 98 00:04:28,880 --> 00:04:30,500 ისინი ყველაფერს იყოს Annenberg ორშაბათს, სამშაბათს, ოთხშაბათს, 99 00:04:30,500 --> 00:04:34,300 ხუთშაბათი, საწყისი 8:00 PM 11:00 PM განმავლობაში ტვინის შესვენების. 100 00:04:34,300 --> 00:04:38,160 ზემო classmen შეუძლიათ მიიღონ, და თუ თქვენ ოდესმე უჭირთ მისაღებად 101 00:04:38,160 --> 00:04:40,720 წელს კარით, რადგან ისინი გექნებათ swiping, უბრალოდ გაიგო თქვენი გზა 102 00:04:40,720 --> 00:04:42,560 და ხსნიან თქვენ ერთად CS50. 103 00:04:42,560 --> 00:04:45,230 როგორც წესი 20 დან 30 ჩვენგანს შესახებ პერსონალი იქნება მას დახმარებას 104 00:04:45,230 --> 00:04:46,190 თქვენ ერთ ერთი. 105 00:04:46,190 --> 00:04:48,980 >> ჩასვლისთანავე იდეა არის ამ: თქვენ მოუტანს თქვენი ლეპტოპი, 106 00:04:48,980 --> 00:04:51,300 თქვენ თქვენი დამტენი, ჩვენ გვექნება დამატებითი ძალა cords, 107 00:04:51,300 --> 00:04:53,320 განსაკუთრებით გასწვრივ სამხრეთ კედელზე Annenberg აქ 108 00:04:53,320 --> 00:04:55,080 არსებობს უამრავი ელექტრო საშუალებებს. 109 00:04:55,080 --> 00:04:59,290 და მთავარი შესვლის წერტილი საათებში Q & არის წასვლა 110 00:04:59,290 --> 00:05:01,690 cs50.net/discuss და დატოვე 111 00:05:01,690 --> 00:05:02,580 თქვენი შეკითხვა არსებობს. 112 00:05:02,580 --> 00:05:05,600 და წარწერა იგი pset 0 ან 1 pset, რასაც კვირაში 113 00:05:05,600 --> 00:05:06,810 შეიძლება მოხდეს, რომ იყოს. 114 00:05:06,810 --> 00:05:09,240 და შემდეგ, რაც ჩვენ გავაკეთებთ არის აქვს მაგიდასთან სწავლების პრაქტიკის 115 00:05:09,240 --> 00:05:12,040 და რა თქმა უნდა თანაშემწეები, ზოგადად 8 ან 10 ან იმდენად ჩვენგანი, 116 00:05:12,040 --> 00:05:14,430 გადის, შენახვა სიფხიზლისაკენ თვალის ფორუმში, და 117 00:05:14,430 --> 00:05:16,810 plucking off კითხვები მართლაც როგორც სწრაფად, როგორც შეგვიძლია, 118 00:05:16,810 --> 00:05:19,600 მხედველობაში თქვენ დაკავშირებული შეტყობინება თუ არ ი იმ 119 00:05:19,600 --> 00:05:22,220 თქუენგან, ონლაინ ცნობას, შესაბამისი. 120 00:05:22,220 --> 00:05:24,280 და მაშინ, თუ არსებობს პრობლემები, როგორც იქ აუცილებლად 121 00:05:24,280 --> 00:05:27,190 იქნება, ან უბრალოდ უფრო გრძნობა დაიწოს ერთ ერთი, 122 00:05:27,190 --> 00:05:28,660 მუშაობა მეშვეობით პრობლემები ვინმეს. 123 00:05:28,660 --> 00:05:30,810 >> ან უბრალოდ მოვიდეს ოფისში საათის ნამდვილად 124 00:05:30,810 --> 00:05:31,640 სჭირდება, რომ განწყობა. 125 00:05:31,640 --> 00:05:33,400 თქვენ არ მინდა გავლა ელექტრონული ფორმით, თქვენ 126 00:05:33,400 --> 00:05:34,410 ნამდვილად გსურთ შეხვდება ვინმე. 127 00:05:34,410 --> 00:05:37,240 ინფორმაცია, რომ ჩვენთვის, და რა მოხდება, როდესაც თქვენი 128 00:05:37,240 --> 00:05:40,620 კითხვაზე უკვე დაინახა აპარატის წევრი და ჩვენ 129 00:05:40,620 --> 00:05:43,660 განსაზღვროს, yup, ეს უნდა იყოს გაგზავნილი ერთი 20 ან 130 00:05:43,660 --> 00:05:47,800 30 გუნდის შემადგენლობა აქ ადგილობრივად, ვნახავთ ზედა დაუტოვებიათ ამ 131 00:05:47,800 --> 00:05:51,590 პატარა შეიყვანეთ რიგში ღილაკს იწყება flashing on cs50.net / 132 00:05:51,590 --> 00:05:52,165 განიხილავენ. 133 00:05:52,165 --> 00:05:55,260 და ეს არის გეუბნებოდით, რომ თქვენ ახლა უკვე მიიწვია, ასე 134 00:05:55,260 --> 00:05:56,880 საუბარი, შესვლის რიგიდან. 135 00:05:56,880 --> 00:05:59,090 და დაწკაპვით რომ ღილაკს, თქვენი სახელი ამის შემდეგ გამოჩნდება 136 00:05:59,090 --> 00:06:02,660 iPad, რომ CS50 greeter, ერთი რა თქმა უნდა ხელმძღვანელები, ნების 137 00:06:02,660 --> 00:06:05,250 იყოს ჩატარების ახლოს შესასვლელთან Annenberg, რომელიც მაშინ 138 00:06:05,250 --> 00:06:08,630 ნახავთ, როგორც გამოსახული აქ, სტუდენტებს, რომლებმაც კითხვების 139 00:06:08,630 --> 00:06:11,630 მარცხენა, პერსონალის წევრები, რომლებიც იმყოფებიან მარჯვენა. 140 00:06:11,630 --> 00:06:14,830 და click of მარცხენა და მარჯვენა, ბრაუზერში იქნება 141 00:06:14,830 --> 00:06:18,610 დაიწყება flashing როგორც კი, მაგალითად, პროფესორი McGonnagal 142 00:06:18,610 --> 00:06:21,460 მზად არის, რომ ნახოთ თქვენ კონკრეტულ მაგიდაზე Annenberg. 143 00:06:21,460 --> 00:06:23,340 >> ამიტომ ჩვენ გარკვეული ამ შარშან. 144 00:06:23,340 --> 00:06:25,430 ჩვენ rebooted საათებში და 145 00:06:25,430 --> 00:06:26,980 ხელახლა განხორციელებული დიდი პროგრამული უზრუნველყოფა. 146 00:06:26,980 --> 00:06:29,940 ასე რომ მიხვდებიან, რომ ეს იქნება თბილი up ამ კვირაში. 147 00:06:29,940 --> 00:06:32,970 არამედ გააცნობიეროს ძალიან, წლების განმავლობაში წარსულში, როგორც თქვენ ალბათ მსმენია 148 00:06:32,970 --> 00:06:35,710 მეგობრებისგან, საოფისე საათი ჰქონდა მართლაც 50 დან 149 00:06:35,710 --> 00:06:37,040 150 სტუდენტი ერთდროულად. 150 00:06:37,040 --> 00:06:39,300 და ეს უბრალოდ არ შეიძლება ჩვენთვის გაუმკლავდეს, რომ 151 00:06:39,300 --> 00:06:42,060 ეფექტურად, ერთი წლის ერთი, მთელი საღამოს. 152 00:06:42,060 --> 00:06:44,570 და მერე რა რომ ჩვენ მართლაც აპირებს ცდილობენ ამის გაკეთებას წელს არის 153 00:06:44,570 --> 00:06:46,590 ესარგებლა იმ ფაქტს, რომ ბევრი შეკითხვა 154 00:06:46,590 --> 00:06:49,050 ხშირად დასმულ და ხშირ შემთხვევაში შეიძლება უკეთესი უპასუხა 155 00:06:49,050 --> 00:06:50,030 asynchronously. 156 00:06:50,030 --> 00:06:52,140 ასე რომ თქვენ შეგიძლიათ სახის ვფიქრობ მეშვეობით პერსონალის საპასუხოდ, 157 00:06:52,140 --> 00:06:54,360 და ჩვენ შეიძლება ვიფიქროთ თქვენი კოდი, გარეშე ცხარე 158 00:06:54,360 --> 00:06:57,050 წნევა აუცილებლად იბრძვის 159 00:06:57,050 --> 00:06:58,210 მეშვეობით ეს თალიზში. 160 00:06:58,210 --> 00:07:00,980 ამიტომ, ჩვენ ვარაუდით, უხეშად მესამე ან ნახევარი კითხვები 161 00:07:00,980 --> 00:07:03,500 იქნება გავგზავნე პირადად, და ჩვენ შევეცდებით pluck off როგორც 162 00:07:03,500 --> 00:07:05,530 რის შედეგადაც ნახევარი ან მეტი ელექტრონულად, 163 00:07:05,530 --> 00:07:06,710 დროს საათებში. 164 00:07:06,710 --> 00:07:08,070 და გავაგრძელებთ გამოიყენოს იმსჯელებს 165 00:07:08,070 --> 00:07:09,990 მთელ კვირაში ისევე. 166 00:07:09,990 --> 00:07:12,680 >> და ბოლოს, გააცნობიეროს, რომ ეს კურსი შეიძლება გაიაროს / ჩავარდება. 167 00:07:12,680 --> 00:07:16,230 ასე რომ, თუ თქვენ წლის ღობე ან უბრალოდ ფიქრობთ, რომ თქვენ ნამდვილად 168 00:07:16,230 --> 00:07:18,650 არ ვიცი, თუ ეს მსოფლიოში თქვენთვის, ან ეს მართლაც 169 00:07:18,650 --> 00:07:21,310 საკმაოდ საგარეო თქვენ, გააცნობიეროს, რომ ეს არის შესანიშნავი გზა 170 00:07:21,310 --> 00:07:24,840 მოპოვების გარკვეული ნდობის რომელთანაც დახევას შევიდა 171 00:07:24,840 --> 00:07:26,780 კლასის, როგორიც მე გულწრფელად, წლის წინ. 172 00:07:26,780 --> 00:07:28,630 და მაშინ, ხუთი კვირის სახის ფიგურა გარეთ 173 00:07:28,630 --> 00:07:30,850 თავის, თუ გსურთ დარჩება მიღება / ვერ, გადახვიდეთ წერილი 174 00:07:30,850 --> 00:07:31,800 კლასის, ან მოსწონს. 175 00:07:31,800 --> 00:07:34,050 და, როგორც წესი, რა გაივლის / ვერ ამჯამად, მე ვფიქრობ, სტუდენტებისათვის არის 176 00:07:34,050 --> 00:07:36,700 რომ, თუ თქვენც არ დაიშურებთ, რომ 10 საათის განმავლობაში, 20 საათი, რაც არ 177 00:07:36,700 --> 00:07:38,830 შესაძლოა, გარკვეული პრობლემები, და თქვენ banging თქვენი უფროსი 178 00:07:38,830 --> 00:07:39,690 წინააღმდეგ კედელზე, 179 00:07:39,690 --> 00:07:41,750 და ნამდვილად ვერ აყვანას რაღაც ქვემოთ და თქვენ 180 00:07:41,750 --> 00:07:44,230 აქვს უამრავი სხვა რამ, რაც უნდა გავაკეთოთ, პატიოსნად, რაც მე 181 00:07:44,230 --> 00:07:46,070 ვფიქრობ გაივლის / ვერ არის, სჭირდება პირას გამორთვა 182 00:07:46,070 --> 00:07:47,250 სიტუაციებში, როგორიცაა, რომ. 183 00:07:47,250 --> 00:07:49,350 სად თქვენ გადაღებული რამ 90% გზა. 184 00:07:49,350 --> 00:07:50,830 თქვენ იცით, ეს არ საკმაოდ სრულყოფილი. 185 00:07:50,830 --> 00:07:52,950 მაგრამ თქვენ ბევრი გარეთ, მიუხედავად ამისა. 186 00:07:52,950 --> 00:07:55,440 ასე მიიჩნევენ მიღება / ვერ როგორც გაწვდით, რომ 187 00:07:55,440 --> 00:07:57,590 გონებრივი მოდელი, ალბათ. 188 00:07:57,590 --> 00:08:00,680 >> ყველა უფლება, ასე რომ გასულ კვირას ჩვენ dove შევიდა Scratch, და ჩვენ 189 00:08:00,680 --> 00:08:03,610 ისაუბრა პროგრამირების შესახებ საკმაოდ მაღალი დონის გრაფიკული. 190 00:08:03,610 --> 00:08:05,340 და დღეს ჩვენ გადასვლას ენა 191 00:08:05,340 --> 00:08:08,300 მოუწოდა C, ქვედა დონის პროგრამირების ენა თავზე 192 00:08:08,300 --> 00:08:11,260 რომელიც მრავალი თანამედროვე ენებზე ახლა აგებული, მათ შორის რამდენიმე 193 00:08:11,260 --> 00:08:13,010 საქართველოს პირობა ჩვენ უნდა გამოყენებით მიმართ ტერმინი ბოლოს. 194 00:08:13,010 --> 00:08:15,530 და syntactically, რაც მათ გამოიყურებოდეს 195 00:08:15,530 --> 00:08:17,330 არის ყველა საკმაოდ მსგავსი. 196 00:08:17,330 --> 00:08:19,080 მოდით ახლა გადავიდეთ რათა ამ გარდამავალ აქ. 197 00:08:19,080 --> 00:08:21,730 ასე რომ, ეს იყო პროგრამა გასულ კვირას რომ იყო მარტივი of 198 00:08:21,730 --> 00:08:22,910 Hello world პროგრამები. 199 00:08:22,910 --> 00:08:25,560 ეს უბრალოდ დაბეჭდილი რომ ეკრანზე Hello world, ერთად 200 00:08:25,560 --> 00:08:27,650 პატარა სიტყვის ბუშტი გამოდის კატა. 201 00:08:27,650 --> 00:08:30,590 ისე, თუ ჩვენ ახლავე თარგმნოს ამ სხვა 202 00:08:30,590 --> 00:08:33,419 ენა, გააცნობიეროს, რომ იდეები დღეს და ოთხშაბათს 203 00:08:33,419 --> 00:08:36,450 იდენტური, მაგრამ სინტაქსი იწყებს შეიცვლება. 204 00:08:36,450 --> 00:08:39,370 ასე რომ, მაშინ როდესაც გასულ კვირას გვქონდა, როდესაც მწვანე დროშა დააწკაპებთ, ამბობენ 205 00:08:39,370 --> 00:08:40,340 Hello world. 206 00:08:40,340 --> 00:08:43,870 დღეს ჩვენ ვაპირებთ აქვს int, მთავარ, ბათილად, printf, 207 00:08:43,870 --> 00:08:46,350 დაბრუნების, ზოგიერთი სხვა სინტაქსის იქ ისევე. 208 00:08:46,350 --> 00:08:49,200 Curly braces, და ბრჭყალების და შეთავაზებები და whatnot. 209 00:08:49,200 --> 00:08:54,520 მაგრამ გვესმის, რომ ძირითადი იდეა აქ არის ბეჭდვის, 210 00:08:54,520 --> 00:08:58,470 და საბოლოოდ ის ფაქტი, რომ ძირითად არის იქნება 211 00:08:58,470 --> 00:09:00,770 სინონიმი დაწყების პროგრამა. 212 00:09:00,770 --> 00:09:04,250 მთავარი იქნება, სადაც მწვანე დროშა ჩათვლით რამ off. 213 00:09:04,250 --> 00:09:06,390 >> ახლა მოდით აჯავრებენ გარდა ზოგიერთი შენობა ბლოკები აქ 214 00:09:06,390 --> 00:09:08,650 სანამ ჩვენ ჩაყვინთვის შევიდა კონკრეტული მაგალითები. 215 00:09:08,650 --> 00:09:11,620 ამიტომ, ჩვენ მოუწოდა ამ განაცხადი გასულ კვირას, რომლის დროსაც უბრალოდ 216 00:09:11,620 --> 00:09:12,470 ინსტრუქცია. 217 00:09:12,470 --> 00:09:15,660 გააკეთეთ - ამ შემთხვევაში, მიესალმები მსოფლიოში. 218 00:09:15,660 --> 00:09:18,400 კარგად C, თუ დავაკვირდებით მხოლოდ, რომ ხაზი, ასე ჩვენ 219 00:09:18,400 --> 00:09:20,920 იწყებს გამოხატავს კონკრეტულ თავსატეხი ცალი: 220 00:09:20,920 --> 00:09:24,780 printf ("Hello World");. 221 00:09:24,780 --> 00:09:27,330 და ახლა ჩვენ აჯავრებენ ამ გარდა სულ უფრო და უფრო მეტი დრო, 222 00:09:27,330 --> 00:09:29,330 მაგრამ ვაცნობიერებთ, რომ არსებობს ნიმუში აქ. 223 00:09:29,330 --> 00:09:31,870 ასე ერთი, ჩვენ გვაქვს ამ რამ მოუწოდა printf, რომელიც 224 00:09:31,870 --> 00:09:34,310 არსებითად ანალოგიური სიტყვა Say. 225 00:09:34,310 --> 00:09:35,800 სწორედ რასაც ის აპირებს. 226 00:09:35,800 --> 00:09:37,870 Printf და F აქ ნიშნავს "დაფორმატებული". 227 00:09:37,870 --> 00:09:39,270 ასე რომ, ეს მხოლოდ იმას ნიშნავს, თქვენ შეგიძლიათ ჩაწეროთ 228 00:09:39,270 --> 00:09:41,600 სხვადასხვა ესთეტიკური მონაცემებით. 229 00:09:41,600 --> 00:09:43,770 ამიტომ ციტირებით unquote არის დასაწყისში, რასაც ჩვენ ვაპირებთ 230 00:09:43,770 --> 00:09:45,340 დაიწყოს მოუწოდებდა სიმებიანი. 231 00:09:45,340 --> 00:09:47,110 სიტყვა, ფრაზა, წინადადება. 232 00:09:47,110 --> 00:09:50,220 String in პროგრამირების ენა არის თანმიმდევრობა ნულოვანი 233 00:09:50,220 --> 00:09:51,330 ან მეტი სიმბოლო. 234 00:09:51,330 --> 00:09:54,390 ასე რომ H-E-L-L-O, მძიმით, და ა.შ. არის, 235 00:09:54,390 --> 00:09:56,290 ციტირებით unquote, სიმებიანი. 236 00:09:56,290 --> 00:09:58,710 და ახლა backslash N, პატარა syntactically უცნაური, მაგრამ ჩვენ 237 00:09:58,710 --> 00:10:01,780 უკვე განსაზღვრულია, რომ გასულ კვირას, როგორც იმას ნიშნავს, თუ რა? 238 00:10:01,780 --> 00:10:02,630 უბრალოდ ახალი ხაზი. 239 00:10:02,630 --> 00:10:05,000 უბრალოდ გზა conveying კომპიუტერის გსურთ 240 00:10:05,000 --> 00:10:07,700 ეკვივალენტს hitting შეიყვანეთ არსებობს, მაგრამ თქვენ არ 241 00:10:07,700 --> 00:10:10,460 გვინდა რეალურად დააჭიროთ და ამიტომ სასადილო up ყველა 242 00:10:10,460 --> 00:10:12,130 გაფორმებით, თქვენი ფაქტობრივი პროგრამა. 243 00:10:12,130 --> 00:10:15,500 ახლა ფრჩხილებში დაურთოს ეს კონტექსტი, ღია PAREN და 244 00:10:15,500 --> 00:10:18,130 მჭიდრო PAREN, და შიგნით რომ არის ჩვენი სიმებიანი. 245 00:10:18,130 --> 00:10:22,600 იმიტომ რომ იმიტომ, დო, და სხვა პროგრამირების 246 00:10:22,600 --> 00:10:27,510 ენებზე, რამ, როგორიცაა printf მიიღოს არგუმენტები, ან მიიღოს 247 00:10:27,510 --> 00:10:28,420 პარამეტრების. 248 00:10:28,420 --> 00:10:31,490 >> ასე რომ დავიწყოთ ფიქრი ახლა ამ purple Say ბლოკი როგორც 249 00:10:31,490 --> 00:10:34,890 ფუნქცია, როგორც მეთოდი, როგორც პროცედურა. 250 00:10:34,890 --> 00:10:36,890 შეგიძლიათ ნამდვილად ეძახით რაც გაგიხარდებათ ახლა, მაგრამ 251 00:10:36,890 --> 00:10:39,260 ეს ერთგვარი მინიატურული პროგრამა, რომელიც მხოლოდ ერთი 252 00:10:39,260 --> 00:10:41,480 რამ, ერთ ხაზზე, არანაკლებ. 253 00:10:41,480 --> 00:10:43,620 ამიტომ printf ასევე რასაც ჩვენ ვაპირებთ დავიწყოთ მოუწოდებენ 254 00:10:43,620 --> 00:10:46,680 ფუნქცია და ფუნქციები რაღაც - ამ შემთხვევაში 255 00:10:46,680 --> 00:10:49,320 ბეჭდავს ფორმატირებული სიმებიანი რომ ეკრანზე - 256 00:10:49,320 --> 00:10:53,220 მაგრამ ფუნქციებს იღებენ აგრეთვე არგუმენტები ან პარამეტრებს. 257 00:10:53,220 --> 00:10:55,880 და არგუმენტები ან პარამეტრების, მადლობა, იგულისხმება 258 00:10:55,880 --> 00:11:01,220 რომ მათი საქციელი შეიძლება გავლენა მოახდინა, რაც თქვენ კორიდორი 259 00:11:01,220 --> 00:11:03,420 შიგნით ფრჩხილებში. 260 00:11:03,420 --> 00:11:06,460 ასე რომ, ამ შემთხვევაში, printf საჭიროებებს უნდა უთხრა რა ბეჭდვა და ჩვენ 261 00:11:06,460 --> 00:11:09,520 უბრალოდ კორიდორი, ორმაგ ბრჭყალებში აქ, სიმებიანი, რომ ჩვენ 262 00:11:09,520 --> 00:11:11,270 ნამდვილად გინდათ ბეჭდვა. 263 00:11:11,270 --> 00:11:14,060 და მძიმით წლის ბოლომდე ამ ხაზის მხოლოდ 264 00:11:14,060 --> 00:11:18,020 ისტორიული nuisance რომლის დასასრულს საუკეთესო ხაზების კოდი, 265 00:11:18,020 --> 00:11:21,170 თქვენ დააყენა მძიმით, რათა სუპერ ნათელი კომპიუტერი 266 00:11:21,170 --> 00:11:23,020 რომ ეს ხაზი კოდი დამთავრდა აქ. 267 00:11:23,020 --> 00:11:25,600 ახლა ეს არის კარგი, რადგან როგორც ჩვენ დავინახავთ, როგორც პროგრამების უფრო 268 00:11:25,600 --> 00:11:29,030 კომპლექსი, მძიმით გახდის სუპერ წმინდა ჩვენთვის ადამიანები, 269 00:11:29,030 --> 00:11:32,280 და ასევე კომპიუტერს, სადაც ხაზი კოდი დაწყება და დასასრული. 270 00:11:32,280 --> 00:11:34,360 გააცნობიეროს, რომ რამდენიმე ენა არ გვაქვს 271 00:11:34,360 --> 00:11:35,045 ამ იგივე დეტალები. 272 00:11:35,045 --> 00:11:37,870 და ფაქტია, რომ JavaScript, თქვენ ყოველთვის არ გვჭირდება რაღაც 273 00:11:37,870 --> 00:11:38,670 მოსწონს მძიმით. 274 00:11:38,670 --> 00:11:40,210 მაგრამ უფრო, რომ მოვა. 275 00:11:40,210 --> 00:11:41,170 >> ამიტომ მარყუჟების. 276 00:11:41,170 --> 00:11:43,520 ჩვენ გვქონდა მსგავსი რამ, ძალიან ინტუიციურად, ცხადია, არ 277 00:11:43,520 --> 00:11:44,860 რაღაც ისევ და ისევ და ისევ. 278 00:11:44,860 --> 00:11:47,720 Like აყენებს on წინდები, ან ამბობდა Hello, ამ შემთხვევაში. 279 00:11:47,720 --> 00:11:51,090 ისე, დღეიდან დო, შეიძლება გამოხატოს ამ Scratch 280 00:11:51,090 --> 00:11:54,970 ბლოკირება როგორც ხოლო (ნამდვილი) printf ("Hello World"). 281 00:11:54,970 --> 00:11:57,630 ასე რომ შეამჩნია ჩვენ ვიწყებთ დაეყრდნონ სიტყვასიტყვით თავსატეხი 282 00:11:57,630 --> 00:11:58,480 ცალი მხრიდან ადრე. 283 00:11:58,480 --> 00:12:01,310 ჩვენ გვყავს იგივე purple ბლოკი, მაგრამ შიგნით ამ 284 00:12:01,310 --> 00:12:04,880 bracketed სამუდამოდ ბლოკი და საუკეთესო გზა თარგმნოს, რომ 285 00:12:04,880 --> 00:12:06,480 to C ასეთია. 286 00:12:06,480 --> 00:12:08,130 იქ არ არის სამუდამოდ სიტყვით. 287 00:12:08,130 --> 00:12:10,940 თქვენ არ შეგიძლიათ უბრალოდ აკრიფოთ F-o-r-e-V-e-რ C. 288 00:12:10,940 --> 00:12:13,440 ასე რომ უახლოესი ანალოგი არის ხოლო. 289 00:12:13,440 --> 00:12:17,050 >> ახლა, ხოლო (ნამდვილი) როგორც ჩანს ცოტა სულელური, რადგან არ ღირებულება 290 00:12:17,050 --> 00:12:18,700 ჭეშმარიტი ოდესმე ცვლილება? 291 00:12:18,700 --> 00:12:19,810 სავარაუდოდ არ. 292 00:12:19,810 --> 00:12:22,770 ეს იგივეა, თითქოს ამბობდა, ხოლო ერთი, ხოლო, ხოლო ჭეშმარიტი. 293 00:12:22,770 --> 00:12:25,430 ეს ყველაფერი იგივე, ჭეშმარიტი ყოველთვის შემთხვევაში. 294 00:12:25,430 --> 00:12:29,860 ასე რომ, ეს მარყუჟი რეალურად inducing რა სახის loop? 295 00:12:29,860 --> 00:12:31,210 უბრალოდ უსასრულო ციკლი, მარჯვნივ. 296 00:12:31,210 --> 00:12:32,930 სამუდამოდ მარყუჟი ან როგორც ჩვენ მას გასულ კვირას, 297 00:12:32,930 --> 00:12:33,870 მხოლოდ უსასრულო ციკლი. 298 00:12:33,870 --> 00:12:35,250 ასე რომ ხანდახან რომ ცუდია. 299 00:12:35,250 --> 00:12:37,060 ზოგჯერ რომ bug, ზოგჯერ ამიტომ თქვენ 300 00:12:37,060 --> 00:12:39,340 დაწნული Beach ball ან Hourglass ან მოსწონს. 301 00:12:39,340 --> 00:12:41,260 მაგრამ ამ შემთხვევაში, ჩვენ შეგნებულად, რადგან რაც არ უნდა 302 00:12:41,260 --> 00:12:43,040 მიზეზი, სურდა ბეჭდვა იგივე ერთხელ 303 00:12:43,040 --> 00:12:43,970 და ისევ და ისევ. 304 00:12:43,970 --> 00:12:45,900 ან შემთხვევაში მოსწონს watch, გსურთ 305 00:12:45,900 --> 00:12:47,470 რაღაც ისევ და ისევ და ისევ. 306 00:12:47,470 --> 00:12:49,070 ასე უსასრულო მარყუჟების შესაძლოა აზრი. 307 00:12:49,070 --> 00:12:53,560 სწორედ ასე დო შეიძლება თარგმნოს სამუდამოდ უნდა კოდი. 308 00:12:53,560 --> 00:12:55,570 >> ახლა ამ ერთი პატარა უფრო კონკრეტული. 309 00:12:55,570 --> 00:12:58,880 ჩვენ გავიმეოროთ 10 ჯერ შემდეგ განაცხადი. 310 00:12:58,880 --> 00:13:02,490 ასე რომ სანამ (ნამდვილი) არ საკმაოდ იქ მუშაობენ, რადგან ჭეშმარიტი არის 311 00:13:02,490 --> 00:13:03,590 ყოველთვის მართალია. 312 00:13:03,590 --> 00:13:07,060 ასე რომ, თუ ჩვენ ნაცვლად შევხედოთ C ვერსია, ახლა სინტაქსის იღებს 313 00:13:07,060 --> 00:13:08,180 ცოტა მეტი cryptic. 314 00:13:08,180 --> 00:13:11,380 მაგრამ უნდა იყოს პატიოსანი ერთხელ თქვენ დაიწყება, რომ ეს, ეს ყველაფერი იღებს 315 00:13:11,380 --> 00:13:12,600 საკმაოდ ნაცნობი სწრაფად. 316 00:13:12,600 --> 00:13:14,370 ასე რომ, ეს არის ის, რაც ე.წ. ამისთვის loop. 317 00:13:14,370 --> 00:13:17,210 ამისთვის loop აპირებს ვუთხრა კომპიუტერში რომ რამე 318 00:13:17,210 --> 00:13:20,710 ისევ და ისევ და ისევ რადგან 319 00:13:20,710 --> 00:13:21,850 ეს ყველაფერი არის ჭეშმარიტი. 320 00:13:21,850 --> 00:13:23,370 ახლა რას ვგულისხმობთ, რომ? 321 00:13:23,370 --> 00:13:25,470 ისე, არსებობს სამ ნაწილად, რათა ამისთვის მარყუჟი, და ჩვენ ვაპირებთ 322 00:13:25,470 --> 00:13:28,240 დაუბრუნდეს ამ კონტექსტში ფაქტობრივი 323 00:13:28,240 --> 00:13:29,100 მაგალითები მომენტში. 324 00:13:29,100 --> 00:13:31,650 ასე რომ არ ინერვიულოთ, თუ ის არ საკმაოდ ჩაიძიროს ყველა ერთდროულად. 325 00:13:31,650 --> 00:13:35,400 მაგრამ int i = 0 არის, ხანგრძლივი ამბავი მოკლე და განაცხადა, რომ მომეცი 326 00:13:35,400 --> 00:13:38,290 ცვლადი რომ ტიპის რიცხვი, ასე რომ მომეცი ნომერი 327 00:13:38,290 --> 00:13:40,890 მოუწოდა მე და ინიციალიზაცია მას 0. 328 00:13:40,890 --> 00:13:43,460 სწორედ მომეცი მოსწონს ალგებრული ცვლადი x და 329 00:13:43,460 --> 00:13:44,580 ინიციალიზაცია მას 0. 330 00:13:44,580 --> 00:13:46,250 მაგრამ ამ შემთხვევაში ჩვენ მას მე. 331 00:13:46,250 --> 00:13:49,120 შემდეგ შუა, ნათქვამია მე ნაკლებია 10. 332 00:13:49,120 --> 00:13:52,150 რომ ვეუბნებოდი კომპიუტერი შემდეგი პერსონალი ცოტა ხნის 333 00:13:52,150 --> 00:13:53,770 როგორც მე ნაკლებია 10. 334 00:13:53,770 --> 00:13:55,370 და ცხადია, რომ ეს იწყება არანაკლებ 10 რადგან 335 00:13:55,370 --> 00:13:56,550 იგი იწყება 0. 336 00:13:56,550 --> 00:13:59,150 მაშინ ბოლოს, თქვენ შეგიძლიათ, ალბათ მიხვდები რა + + საშუალებით. 337 00:13:59,150 --> 00:14:02,140 ეს ცოტა სინტაქსი, რომ მხოლოდ იმას ნიშნავს, ნამატი მე. 338 00:14:02,140 --> 00:14:05,270 ასე რომ დაამატოთ 1 I, ისევ და ისევ და ისევ. 339 00:14:05,270 --> 00:14:09,260 >> და ისე, თითქოს ჩვენ დავინახავთ ამ მარყუჟის, ამ სინტაქსი, არამედ ახორციელებს 340 00:14:09,260 --> 00:14:12,160 ზუსტად იგივე, რაც, სიმართლე გითხრათ, წელს Scratch იყო ასე 341 00:14:12,160 --> 00:14:13,250 ბევრად უფრო ადვილია, რათა გამოხატოს. 342 00:14:13,250 --> 00:14:15,170 გაიმეორეთ 10, და თქვენ კეთდება. 343 00:14:15,170 --> 00:14:17,690 In C, და უმეტეს პროგრამირების ენები, უნდა ვიყოთ 344 00:14:17,690 --> 00:14:20,190 ცოტა მეტი სასწავლო კომპიუტერული და რეალურად 345 00:14:20,190 --> 00:14:21,630 დააკონკრეტა მსგავსი რამ. 346 00:14:21,630 --> 00:14:23,730 მაგრამ ჩვენ დავბრუნდებით ამ და სხვა სინტაქსი. 347 00:14:23,730 --> 00:14:24,780 >> რა ცვლადები? 348 00:14:24,780 --> 00:14:26,940 In Scratch გვქონდა რაღაც ამ ფორთოხალი ბლოკები, 349 00:14:26,940 --> 00:14:28,180 სადაც მე შეიძლება განაცხადოს ცვლადი. 350 00:14:28,180 --> 00:14:30,000 მოდით თვითნებურად ეძახით Counter. 351 00:14:30,000 --> 00:14:31,880 მოდით ინიციალიზაცია მას 0, ხოლო შემდეგ 352 00:14:31,880 --> 00:14:33,240 მოდით სამუდამოდ რაღაც. 353 00:14:33,240 --> 00:14:35,760 ამ შემთხვევაში წელს Scratch მე ვამბობ, counter, ისე 354 00:14:35,760 --> 00:14:38,230 cat აპირებს აქვს პატარა სიტყვის ბუშტი რომ საუბარი 355 00:14:38,230 --> 00:14:40,010 ხმების რომ ამ ცვლადში. 356 00:14:40,010 --> 00:14:42,460 და შემდეგ ჩვენ გვყავს ენის counter მიერ 1. 357 00:14:42,460 --> 00:14:45,760 ასე რომ ეს ყველაფერი გახვეული შიგნით სამუდამოდ საკეტი. 358 00:14:45,760 --> 00:14:48,960 ამიტომ, ჩვენ უკვე გვყავს შენობა ბლოკები C ერთად 359 00:14:48,960 --> 00:14:50,040 რაც თარგმნოს ამ. 360 00:14:50,040 --> 00:14:51,650 >> ერთი გზა ჩვენ შეგვიძლია გავაკეთოთ, რომ ეს. 361 00:14:51,650 --> 00:14:53,890 მომეცი მთელი რიცხვი, ეძახით Counter. 362 00:14:53,890 --> 00:14:55,190 ინიციალიზაცია მას 0 363 00:14:55,190 --> 00:14:56,490 წელს პირველი ხაზი არსებობს. 364 00:14:56,490 --> 00:14:59,390 მიუხედავად იმისა, (ნამდვილი), ასე რომ მე ქურდობაში ეს იდეა დან მხოლოდ მომენტში 365 00:14:59,390 --> 00:15:01,300 წინ, წავიდეთ წინ და ნუ შემდეგ. 366 00:15:01,300 --> 00:15:04,880 ამობეჭდვა counter და შემდეგ ნამატი counter, 367 00:15:04,880 --> 00:15:06,930 ისევ და ისევ, და ისევ. 368 00:15:06,930 --> 00:15:09,380 ან ერთხელ, + + უბრალოდ ნიშნავს დაამატოთ 1 რაიმე. 369 00:15:09,380 --> 00:15:11,030 მაგრამ არის ახალი ნაჭერი სინტაქსი აქ. 370 00:15:11,030 --> 00:15:15,730 რა jumping out როგორც არ შედის ჩვენი წინა მაგალითები? 371 00:15:15,730 --> 00:15:17,190 დიახ, ეს% d. 372 00:15:17,190 --> 00:15:19,810 ასე რომ თქვენ შეგიძლიათ იქნებ infer რა ამ ყველაფერს აკეთებს, გულწრფელად, დაფუძნებული 373 00:15:19,810 --> 00:15:21,410 რა Scratch ბლოკი აკეთებს. 374 00:15:21,410 --> 00:15:24,510 მაგრამ კვლავ C, ჩვენ უბრალოდ უნდა იყოს ცოტა მეტი კერძოდ 375 00:15:24,510 --> 00:15:25,990 როდესაც საქმე გამოხატავს საკუთარ თავს. 376 00:15:25,990 --> 00:15:30,560 >> ამიტომ printf ("% d \ n"). 377 00:15:30,560 --> 00:15:32,320 კარგად უმეტესობა, რომ ჩვენ შეგვიძლია გადაყარეთ როგორც ნაცნობი. 378 00:15:32,320 --> 00:15:34,910 შეთავაზებები მხოლოდ იმას ნიშნავს, რომ ის ტექსტი, backslash N 379 00:15:34,910 --> 00:15:35,970 მხოლოდ ახალი ხაზი. 380 00:15:35,970 --> 00:15:38,860 ასე მხოლოდ ახალი რამ აქ არის% d. 381 00:15:38,860 --> 00:15:40,390 და ეს ყველაფერი არის placeholder. 382 00:15:40,390 --> 00:15:43,510 % D აპირებს აღინიშნოს ათობითი რიცხვი. 383 00:15:43,510 --> 00:15:47,820 და% d საშუალებით კომპიუტერი, დაუსვან ათობითი რიცხვი აქ. 384 00:15:47,820 --> 00:15:49,450 ისე, რა რაოდენობის გსურთ დააყენა იქ? 385 00:15:49,450 --> 00:15:52,400 ისე, როგორც შეგიძლიათ, ალბათ infer, შემდეგ მძიმით ვამბობთ 386 00:15:52,400 --> 00:15:55,480 Counter, რომ სახელწოდება ცვლადი, რომ ჩვენ დეკლარირებული ან 387 00:15:55,480 --> 00:15:57,260 შექმნილი წყვილი ხაზები ადრე. 388 00:15:57,260 --> 00:16:02,420 ასე რომ, ეს უბრალოდ C გზა ჩართვის ცვლადი შევიდა 389 00:16:02,420 --> 00:16:04,480 სიმებიანი დინამიურად ვითარდება. 390 00:16:04,480 --> 00:16:07,350 იმის გამო, რომ პირიქით, მე რომ ნაცვლად გაკეთდეს რაღაც 391 00:16:07,350 --> 00:16:12,470 ამ, printf ("მთვლელი"), რას ამ 392 00:16:12,470 --> 00:16:15,220 პროგრამის ნაცვლად გავაკეთოთ, სავარაუდოდ? 393 00:16:15,220 --> 00:16:17,260 იგი ყველაფერს სიტყვასიტყვით ბეჭდვა "მთვლელი". 394 00:16:17,260 --> 00:16:18,750 რომელი არ არის ეფექტი, რომ მინდა. 395 00:16:18,750 --> 00:16:20,920 მე უნდა შეცვალოს ზოგიერთი რიცხვითი მნიშვნელობა. 396 00:16:20,920 --> 00:16:24,340 ამიტომ, ჩვენ დავინახავთ, რომ ფუნქციები, მაშინ, ისევე როგორც printf, შეუძლია არ 397 00:16:24,340 --> 00:16:26,930 მხოლოდ მარტოხელა არგუმენტები, როგორიცაა 398 00:16:26,930 --> 00:16:28,150 "Hello World". 399 00:16:28,150 --> 00:16:32,050 მათ შეუძლიათ მიიღონ ციტირებით unquote მძიმით, და შემდეგ ზოგიერთი ცვლადის 400 00:16:32,050 --> 00:16:35,830 რომ მიიღებს plugged შევიდა, როგორც ვნახავთ, წინა სიმებიანი 401 00:16:35,830 --> 00:16:38,280 მეშვეობით ამ% ნიშანი placeholders. 402 00:16:38,280 --> 00:16:39,660 >> კარგად რა ლოგიკური გამონათქვამები? 403 00:16:39,660 --> 00:16:42,200 ლოგიკური გამონათქვამები იყო ამ ღირებულებების, ჭეშმარიტი ან მცდარი. 404 00:16:42,200 --> 00:16:42,830 დიახ ან არა. 405 00:16:42,830 --> 00:16:44,020 1 ან 0. 406 00:16:44,020 --> 00:16:45,190 ან გამოსართავად. 407 00:16:45,190 --> 00:16:47,570 ასე რომ Scratch ისინი ასე გამოიყურება, და შეამჩნია, რომ 408 00:16:47,570 --> 00:16:50,170 ქვედა ბლოკი აქ არის რეალურად ერთობლიობაში 409 00:16:50,170 --> 00:16:51,500 ორი პატარა ბლოკები. 410 00:16:51,500 --> 00:16:53,610 ასე, რომ სახის გამოათრიეს და ჩამოაგდო სამი თავსატეხი ცალი 411 00:16:53,610 --> 00:16:56,450 ერთად, რათა, რომ აღარ თავსატეხი ცალი იქ ისე, რომ მე 412 00:16:56,450 --> 00:17:00,420 შეეძლო გადმოეცა იმ აზრს, რომ მინდა x ნაკლები Y და 413 00:17:00,420 --> 00:17:02,540 Y ნაკლები z. 414 00:17:02,540 --> 00:17:05,790 და ასე, რომ შეიძლება თარგმნოს ეს ორი ცალკე ხაზები შემდეგნაირად. 415 00:17:05,790 --> 00:17:08,650 დაბრუნება ერთი შეიძლება ძალიან trivially ითარგმნა ენაზე C, 416 00:17:08,650 --> 00:17:10,069 მხოლოდ x 00:17:11,990 იქნებ ზოგიერთ ფრჩხილებში კარგი ღონისძიება. 418 00:17:11,990 --> 00:17:15,520 ხოლო შემდეგ C, თქვენ არ წერენ და აღინიშნოს 419 00:17:15,520 --> 00:17:16,819 ერთობლიობაში რაღაც. 420 00:17:16,819 --> 00:17:19,585 თქვენს ნაცვლად წერენ &&. 421 00:17:19,585 --> 00:17:22,849 და როგორც ჩვენ საბოლოოდ ვხედავთ, ერთი ampersand ხდება 422 00:17:22,849 --> 00:17:23,880 ვგულისხმობ რაიმე განსხვავებული. 423 00:17:23,880 --> 00:17:27,530 ამიტომ && უბრალოდ ნიშნავს იდეა და. 424 00:17:27,530 --> 00:17:30,040 >> ასე რომ კიდევ ერთხელ, მიუხედავად იმისა, რომ ამ იწყებს გამოიყურება საკმაოდ რთული, 425 00:17:30,040 --> 00:17:32,560 ერთი მიზნებისათვის შემოღების Scratch, გარდა 426 00:17:32,560 --> 00:17:34,810 უბრალოდ მქონე სახის fun on-ramp, სადაც შეგიძლიათ გააკეთოთ 427 00:17:34,810 --> 00:17:36,590 რაღაც რომ ძალიან გრაფიკული და ანიმაციური და 428 00:17:36,590 --> 00:17:39,000 shareable და მოსწონს, ასევე გადმომეცა იდეა, რომ 429 00:17:39,000 --> 00:17:42,010 ყველა იდეები ჩვენ ვიწყებთ diving შევიდა დღეს და Onward 430 00:17:42,010 --> 00:17:44,300 უკვე რომლებიც განხორციელებულია კი, რომ მარტივი 431 00:17:44,300 --> 00:17:46,850 ინტერფეისი წლიდან დღეში ერთი. 432 00:17:46,850 --> 00:17:47,790 რაც შეეხება ამ ერთ აქ? 433 00:17:47,790 --> 00:17:48,860 >> ასე პირობები. 434 00:17:48,860 --> 00:17:50,590 ამიტომ Scratch ბლოკის მარცხენა იქ გამოიყურება 435 00:17:50,590 --> 00:17:51,610 ცოტა უფრო რთული. 436 00:17:51,610 --> 00:17:52,650 მაგრამ ეს მხოლოდ ზოგიერთ გადმოიყვანა და 437 00:17:52,650 --> 00:17:54,140 ჩაშვების ნაცნობი დარტყმები. 438 00:17:54,140 --> 00:17:56,690 თუ x არის ნაკლები Y, ვთქვათ ასე. 439 00:17:56,690 --> 00:17:59,900 Else თუ x მეტია y, ვთქვათ ასე. 440 00:17:59,900 --> 00:18:02,460 სხვაგან, ჩვენ შეგვიძლია ვივარაუდოთ, ლოგიკურად ეს inferred რომ 441 00:18:02,460 --> 00:18:03,580 ისინი უნდა იყოს თანაბარი. 442 00:18:03,580 --> 00:18:05,220 ამიტომ ამბობენ, რომ ისინი თანასწორი. 443 00:18:05,220 --> 00:18:07,690 ახლა C მარჯვენა, იმავე ზუსტი რამ. 444 00:18:07,690 --> 00:18:09,730 და შენიშნავს, რომ curly braces ვაპირებთ იყოს 445 00:18:09,730 --> 00:18:12,190 თვისება C და სხვა ენებზე, რომ ამის გაკეთება დალაგება 446 00:18:12,190 --> 00:18:13,210 საქართველოს encapsulation. 447 00:18:13,210 --> 00:18:15,470 ისევე როგორც თუ ბლოკი ამ ყვითელი რამ რომ სახის 448 00:18:15,470 --> 00:18:17,770 grabbing purple ბლოკის შიგნით მას. 449 00:18:17,770 --> 00:18:19,480 ანალოგიურად ეს braces - 450 00:18:19,480 --> 00:18:20,870 ამ Curly braces - 451 00:18:20,870 --> 00:18:24,710 ნიშნავდა conjure up იმავე იდეას მოიცავს ერთ ან მეტ 452 00:18:24,710 --> 00:18:27,680 ხაზების კოდი რომლებიც indented შიგნით მათ. 453 00:18:27,680 --> 00:18:31,270 ასე მარჯვენა მხარეს აქ, თუ x ნაკლები Y, printf 454 00:18:31,270 --> 00:18:32,270 ("X ნაკლებია, ვიდრე Y"). 455 00:18:32,270 --> 00:18:34,980 Else თუ x მეტია y, ამობეჭდოთ იგივე. 456 00:18:34,980 --> 00:18:38,360 Else ბეჭდვა, რომ ისინი თანასწორი. 457 00:18:38,360 --> 00:18:41,750 >> ასე მოკლედ, არსებობს საკმაოდ პირდაპირი რუკების ან თარგმანი 458 00:18:41,750 --> 00:18:44,720 ენის ჩვენ ვნახეთ დღემდე, მათ შორის ზოგიერთი 459 00:18:44,720 --> 00:18:45,940 უფრო დახვეწილი თვისებები. 460 00:18:45,940 --> 00:18:48,680 ასე რომ თქვენ შეიძლება არ იყოს გამოყენებისას თქვენი პროექტი, ან შეიძლება არ 461 00:18:48,680 --> 00:18:51,150 იყოს გამოყენებისას თქვენი პროექტის ამ კვირაში. 462 00:18:51,150 --> 00:18:54,650 მაგრამ ჩვენ ეს ყველაფერი მოუწოდა კოლექტორები in C. In Scratch, 463 00:18:54,650 --> 00:18:55,680 ისინი მოუწოდა სიები. 464 00:18:55,680 --> 00:18:59,370 და ჩვენ ვხედავთ ამ ერთად Fruitcraft RPG გასულ კვირას. 465 00:18:59,370 --> 00:19:01,320 პატარა ლურჯი ბიჭი, რომელიც ფეხით გარშემო, კრეფა up 466 00:19:01,320 --> 00:19:03,010 ალუბალი და ფორთოხალი და მოსწონს. 467 00:19:03,010 --> 00:19:05,110 კარგად Scratch, რომ განხორციელდა ამ ფორთოხლის 468 00:19:05,110 --> 00:19:09,000 ბლოკირება რომელიც შეიცავს სიტყვას; ამ შემთხვევაში, ჩვენ სიტყვასიტყვით 469 00:19:09,000 --> 00:19:10,800 დასძინა "ფორთოხალი", რათა 470 00:19:10,800 --> 00:19:12,460 ცვლადში ინვენტარი. 471 00:19:12,460 --> 00:19:14,910 ასე რომ, C, ამ სინტაქსის აპირებს მიიღოს ცოტა მეტი cryptic. 472 00:19:14,910 --> 00:19:17,250 და ჩვენ დავბრუნდებით ამ მომავალ კვირას და უფრო მეტი 473 00:19:17,250 --> 00:19:21,060 საინტერესო რამ სამყაროში კრიპტოგრაფიის იგი. 474 00:19:21,060 --> 00:19:23,990 მაგრამ ბოლოში აქ, ამ ორ წყებას არსებითად 475 00:19:23,990 --> 00:19:27,550 თარგმნა ენაზე იმას თუ რას ვაკეთებთ ერთ Scratch გადაკეტვას არსებობს. 476 00:19:27,550 --> 00:19:30,120 მაგრამ უფრო, რომ მოვა. 477 00:19:30,120 --> 00:19:34,120 >> ასე აყენებს ერთად, აქ არის პროგრამა C. მოდით 478 00:19:34,120 --> 00:19:36,590 სწრაფად აჯავრებენ გარდა ზოგიერთი ცალი სინტაქსი აქ, არამედ 479 00:19:36,590 --> 00:19:40,300 მაშინ მოდით რეალურად დაიწყოს წერა რამდენიმე კოდი, გაეცნოს 480 00:19:40,300 --> 00:19:42,440 თქვენ ზოგიერთ ინსტრუმენტები ჩვენ უნდა გამოყენებით, და თუ ჩვენ 481 00:19:42,440 --> 00:19:45,400 შეიძლება დაეყრდნონ ახლა ზოგიერთი ამ ძირითადი შენობა ბლოკების საწყისი 482 00:19:45,400 --> 00:19:49,150 გასულ კვირას, ახლა syntactically in C. ამიტომ ზედა აქ, ამ 483 00:19:49,150 --> 00:19:51,380 ალბათ ერთ ერთი ყველაზე მოსაწყენი პროგრამები შეგიძლიათ 484 00:19:51,380 --> 00:19:53,130 წერენ უმეტეს ნებისმიერი პროგრამირების ენაზე. 485 00:19:53,130 --> 00:19:55,010 მაგრამ სახის განსაკუთრებული მნიშვნელობა იმიტომ რომ 486 00:19:55,010 --> 00:19:58,120 კანონიკური პროგრამა, რომელიც ნებისმიერი კომპიუტერული მეცნიერი წერს, როდესაც 487 00:19:58,120 --> 00:19:59,620 სწავლების ვინმე პროგრამირების ენა - 488 00:19:59,620 --> 00:20:01,230 Hello world პროგრამა. 489 00:20:01,230 --> 00:20:05,120 >> ამრიგად, ძალიან ზემოთ, ჩვენ ვხედავთ ამ ცნება # include 490 00:20:05,120 --> 00:20:08,180 შემდეგ, დახრილი ფრჩხილები, stdio.h. 491 00:20:08,180 --> 00:20:10,580 ჩვენ ვაპირებთ დაბრუნებას, მაგრამ რეალურად რა, რომ 492 00:20:10,580 --> 00:20:13,770 ნიშნავს, რომ არსებობს ფაილური ამ სამყაროში მოუწოდა სტანდარტული 493 00:20:13,770 --> 00:20:17,670 I / O, stdio dot თ, და ეს მხოლოდ ტექსტური ფაილი, 494 00:20:17,670 --> 00:20:19,240 ვიღაცამ დაწერა წლის წინ. 495 00:20:19,240 --> 00:20:22,550 და შიგნით რომ ტექსტური ფაილი არიან მთელი bunch of 496 00:20:22,550 --> 00:20:25,840 ფუნქციები, ან მეთოდები, ან პროცედურები, რომ ვინმე 497 00:20:25,840 --> 00:20:28,970 წერს, რომ ჩვენ ვართ ბენეფიციარები რადგან ჩვენ 498 00:20:28,970 --> 00:20:31,420 ახლა გამოყენება, რომ პირის კოდი. 499 00:20:31,420 --> 00:20:33,070 ფუნქციების მან დაწერა. 500 00:20:33,070 --> 00:20:36,320 ამ შემთხვევაში, printf არ არის რაღაც, რომ დავწერე, ეს 501 00:20:36,320 --> 00:20:37,500 არ არის რაღაც, რომ CS50 დაწერა. 502 00:20:37,500 --> 00:20:40,290 ეს რაღაც, რომ ვიღაცამ დაწერა წლის წინ და დასვა 503 00:20:40,290 --> 00:20:43,450 ფაილი სახელად stdio.h და შემდეგ, როგორც განზე დააყენა 504 00:20:43,450 --> 00:20:45,830 მეორე ნაწილი ფუნქციის სხვა ფაილი. 505 00:20:45,830 --> 00:20:46,940 მაგრამ ჩვენ იქ. 506 00:20:46,940 --> 00:20:50,070 >> ასე # include მხოლოდ ჩვენი გზა ამბობდნენ, წელს 507 00:20:50,070 --> 00:20:53,110 C, მომეცი ხელმისაწვდომობის ფუნქციები რომ ვინმე წერდა. 508 00:20:53,110 --> 00:20:55,490 და ამ შემთხვევაში მე ზრუნვა, რადგან მინდა printf. 509 00:20:55,490 --> 00:20:57,530 ჩვენ მივიღებთ int ძირითადი (void). 510 00:20:57,530 --> 00:21:00,160 ასე რომ, ეს არის ერთ ერთი ეს ყველაფერი, სიმართლე გითხრათ, რომ დღეს 0, 511 00:21:00,160 --> 00:21:02,400 საკმაოდ ბევრი მე რომ სახის ზონის გარეთ, რადგან ეს მხოლოდ 512 00:21:02,400 --> 00:21:03,260 არ საინტერესო 513 00:21:03,260 --> 00:21:04,780 ინტელექტუალურად, ზოგიერთი სინტაქსს. 514 00:21:04,780 --> 00:21:07,940 მაგრამ ახლა ვიცი, რომ ფუნქციები, სხვაგვარად ცნობილია როგორც 515 00:21:07,940 --> 00:21:11,660 პროცედურები, ან მეთოდები, ზოგადად აწარმოოს გარკვეული მნიშვნელობა. 516 00:21:11,660 --> 00:21:12,520 ისინი რაღაც. 517 00:21:12,520 --> 00:21:13,810 ისინი ამუშავება პასუხი. 518 00:21:13,810 --> 00:21:15,020 ისინი აწარმოებენ გამომუშავება. 519 00:21:15,020 --> 00:21:18,780 ასე int შემდეგი მთავარ მხოლოდ ჩვენი სტენოგრამის გზას ვამბობ, 520 00:21:18,780 --> 00:21:21,380 რომ ამ ფუნქციას, ამ პროცედურას, რომელიც საბოლოოდ აპირებს 521 00:21:21,380 --> 00:21:22,650 გადმოგცეთ უკან ნომერი. 522 00:21:22,650 --> 00:21:24,370 და რატომ არის რომ, ჩვენ დაბრუნდება. 523 00:21:24,370 --> 00:21:27,810 მთავარი არის მხოლოდ რა მსოფლიოში სტანდარტი რა 524 00:21:27,810 --> 00:21:30,990 ფუნქცია, რომ აპირებს მიიღოს შესრულებული C პროგრამის როდესაც 525 00:21:30,990 --> 00:21:31,860 თქვენ გაუშვით. 526 00:21:31,860 --> 00:21:34,160 ძალადაკარგულად მხოლოდ იმას ნიშნავს, ამ რამ, მთავარი, იღებს არ 527 00:21:34,160 --> 00:21:35,270 არგუმენტები, ამ შემთხვევაში. 528 00:21:35,270 --> 00:21:36,400 ამიტომ მე ყოფნის super სიცოცხლისუნარიანობა. 529 00:21:36,400 --> 00:21:38,160 იქ არ არის სიმებისათვის იქ არ მძიმეები. 530 00:21:38,160 --> 00:21:40,690 ძალადაკარგულად ნიშნავს არანაირი არგუმენტი მთავარ. 531 00:21:40,690 --> 00:21:44,350 >> ახლა ბოლოს, საბედნიეროდ, ბოლო ორი ხაზი იცნობს. 532 00:21:44,350 --> 00:21:46,160 Inside Curly braces გვაქვს printf 533 00:21:46,160 --> 00:21:47,620 და ჩვენ გვაქვს დაბრუნების. 534 00:21:47,620 --> 00:21:50,450 და დაბრუნების სახის სამწუხაროა, რომ ჩვენ უნდა 535 00:21:50,450 --> 00:21:53,510 ვთქვათ არსებობს, რადგან ამ შემთხვევაში ეს არ აკეთებს ყველა რომ 536 00:21:53,510 --> 00:21:54,600 დიდი ინტერესი გამოიწვია. 537 00:21:54,600 --> 00:21:58,790 მაგრამ კომპიუტერულ პროგრამას, როდესაც ფუნქცია დააბრუნებს 0, 538 00:21:58,790 --> 00:22:00,610 ეს ნიშნავს, რომ ყველა კარგად არის. 539 00:22:00,610 --> 00:22:01,820 არაფერი არ მოხდა ისე. 540 00:22:01,820 --> 00:22:06,170 ამის საპირისპიროდ, თუ ფუნქცია დააბრუნებს 1, ან ნეგატიური 1, ან 541 00:22:06,170 --> 00:22:11,670 უარყოფითი 1.337, ან შემთხვევითი რიცხვები როგორც რომ, რომ 542 00:22:11,670 --> 00:22:14,020 ზოგადად იმას ნიშნავს, რომ შეცდომა რეალურად მოხდა. 543 00:22:14,020 --> 00:22:16,150 ასე რომ, თუ თქვენ თქვენი Mac ან PC, თუ თქვენ ოდესმე დავინახე 544 00:22:16,150 --> 00:22:18,590 ზოგიერთი შემაშფოთებელი გაგზავნა, რადგან თქვენს კომპიუტერში ავარიულად ან 545 00:22:18,590 --> 00:22:20,660 გაყინული, და იქ cryptic შეცდომა, 546 00:22:20,660 --> 00:22:23,320 და შემდეგ რამდენიმე კოდი, ისევე როგორც სისტემის კოდი 547 00:22:23,320 --> 00:22:25,110 1,2,3,4, ზოგიერთი ნომერი, 548 00:22:25,110 --> 00:22:29,270 რომ ზოგადად არის ზედმეტი დეტალი ვუთხრა 549 00:22:29,270 --> 00:22:32,110 ყველაზე მეტად ჩვენს ადამიანებში, მაგრამ ეს არის ის, რაც ზოგიერთი ფუნქცია ან რამდენიმე 550 00:22:32,110 --> 00:22:34,890 პროგრამა ფაქტობრივად დაბრუნდა, არასამთავრობო zero ღირებულება. 551 00:22:34,890 --> 00:22:38,540 და საკეთილდღეოდ არის ის, რომ 0 ნიშნავს ყველა ისევე, და 552 00:22:38,540 --> 00:22:40,470 მაშინ არსებითად აქვს უსასრულო რაოდენობის რამ 553 00:22:40,470 --> 00:22:41,130 შეიძლება არასწორი. 554 00:22:41,130 --> 00:22:44,700 რის გამოც ისინი აირჩია 0 კარგი და არასამთავრობო ნულოვანი მნიშვნელობა 555 00:22:44,700 --> 00:22:46,450 ცუდი, როგორც ჩვენ უნდა მალე ვხედავ. 556 00:22:46,450 --> 00:22:47,870 >> მოდით წავიდეთ წინ და დაწეროთ ამ. 557 00:22:47,870 --> 00:22:51,610 ასე რომ გავიხსენოთ, რომ მეორე დღეს მე ჩემი Mac უნდა გაიხსნას 558 00:22:51,610 --> 00:22:53,970 ტერმინალი ფანჯარა, და მერე გახსნეს ტექსტი პროგრამა, ისევე როგორც 559 00:22:53,970 --> 00:22:55,900 TextEdit, და დავიწყე წერა რამდენიმე კოდი. 560 00:22:55,900 --> 00:22:56,580 კარგად რომ ჯარიმა. 561 00:22:56,580 --> 00:22:58,636 მაგრამ თქვენი გამოცდილება იქნება სხვადასხვა on Mac, ან 562 00:22:58,636 --> 00:23:01,220 on Solaris კომპიუტერი, Linux კომპიუტერზე, რასაც ოპერაციული 563 00:23:01,220 --> 00:23:02,810 სისტემა თქვენ მოხდეს უნდა გამოყენება. 564 00:23:02,810 --> 00:23:04,970 და ისე რა თქმა უნდა, ჩვენ ნაცვლად გამოიყენოს ეს რაღაც 565 00:23:04,970 --> 00:23:07,010 მოუწოდა CS50 ელექტრო მოწყობილობების. 566 00:23:07,010 --> 00:23:10,420 ამიტომ CS50 ელექტრო მოწყობილობების არის ჩამოსატვირთი ნაჭერი პროგრამული უზრუნველყოფა 567 00:23:10,420 --> 00:23:13,640 რომელიც საშუალებას გაძლევთ აწარმოებს ოპერაციული სისტემა უწოდა Linux, 568 00:23:13,640 --> 00:23:16,810 კონკრეტულად Fedora Linux, საკუთარ Mac ან PC. 569 00:23:16,810 --> 00:23:20,810 გაქვთ და ამ მიერ ჩამოტვირთვის რაღაც მოუწოდა hypervisor. 570 00:23:20,810 --> 00:23:23,100 ასე რომ ეს ყველაფერი იყოს დოკუმენტირებული პრობლემა კომპლექტი 1. 571 00:23:23,100 --> 00:23:25,240 და თქვენ იხელმძღვანელებენ მიმართ, რაც თქვენ უნდა ჩამოტვირთოთ. 572 00:23:25,240 --> 00:23:27,510 მაგრამ საბოლოო ჯამში, თუ არა აქვს Mac ან PC, არის თქვენ 573 00:23:27,510 --> 00:23:29,080 download ზოგიერთი უფასო პროგრამული უზრუნველყოფის. 574 00:23:29,080 --> 00:23:32,340 მაშინ ჩამოტვირთოთ CS50 ელექტრო და თქვენ გითხრათ, რომ 575 00:23:32,340 --> 00:23:33,960 უფასო პროგრამული უზრუნველყოფის - hypervisor - 576 00:23:33,960 --> 00:23:38,080 გასაშვებად CS50 ელექტრო in ფანჯარა თქვენს კომპიუტერში. 577 00:23:38,080 --> 00:23:39,490 და რა ხდება ამ. 578 00:23:39,490 --> 00:23:43,660 >> მე ახლა, შეამჩნევთ აქ, რა ჩანს desktop 579 00:23:43,660 --> 00:23:44,130 გარემოს. 580 00:23:44,130 --> 00:23:46,150 და ნება მომეცით რეალურად shrink ამ ერთჯერადი ფანჯარაში. 581 00:23:46,150 --> 00:23:49,640 ასე რომ, ეს არის არის ჩემი Mac, მცირედი ფანჯარა აქ და შიგნით 582 00:23:49,640 --> 00:23:51,300 ამ ფანჯარაში ხდება იყოს მთლიანად 583 00:23:51,300 --> 00:23:52,380 სხვადასხვა ოპერაციული სისტემა. 584 00:23:52,380 --> 00:23:55,250 მართლაც არსებობს ამ Start მენიუში ქვევით აქ, თქვენში 585 00:23:55,250 --> 00:23:57,990 Windows, რომელსაც აქვს მთელი bunch of ქვე მენიუები, მათ შორის 586 00:23:57,990 --> 00:24:00,720 ბმული CS50 მექანიკური, Dropbox, და მოსწონს. 587 00:24:00,720 --> 00:24:03,480 და რა ამ გარემოში ახლა არის სტანდარტული გარემო 588 00:24:03,480 --> 00:24:06,280 რომ ყველას შეუძლია გამოიყენოს, რათა არ აქვს მნიშვნელობა რა თქვენი 589 00:24:06,280 --> 00:24:08,960 კომპიუტერი, რაც თქვენ დამონტაჟებული, რა ვერსია 590 00:24:08,960 --> 00:24:11,430 of Mac OS ან Windows თქვენ გაშვებული, ჩვენ ყველა ახლა 591 00:24:11,430 --> 00:24:12,800 იგივე გარემოში. 592 00:24:12,800 --> 00:24:15,850 და ახლა ამ გარემოში ჩვენ შეგვიძლია დავიწყოთ წერა რამდენიმე კოდი. 593 00:24:15,850 --> 00:24:18,480 >> ამიტომ მე ვაპირებ წავიდეთ წინ და გახსნას პროგრამა მოუწოდა gedit. 594 00:24:18,480 --> 00:24:21,500 ეს არის შედარებით notepad.exe, ან 595 00:24:21,500 --> 00:24:22,790 TextEdit on Mac. 596 00:24:22,790 --> 00:24:25,390 და ეს მხოლოდ სუპერ მარტივი ტექსტი რედაქტირება პროგრამა 597 00:24:25,390 --> 00:24:27,500 რომ ასე გამოიყურება ერთი შეხედვით. 598 00:24:27,500 --> 00:24:30,640 ახლა ძალიან ზევით, მაქვს თეთრი პალიტრა, ბოლოში მე 599 00:24:30,640 --> 00:24:33,860 ეს შავი ფანჯარა რომ ამბობს jharvard @ ელექტრო მოწყობილობების. 600 00:24:33,860 --> 00:24:36,440 და ეს იმიტომ, რომ მომხმარებელს, რომ ჩვენ წინასწარ შექმნილი 601 00:24:36,440 --> 00:24:38,430 ყველასათვის ეწოდება ჯონ ჰარვარდის. 602 00:24:38,430 --> 00:24:41,490 მას აქვს ფოლდერი სადაც ყველა მისი ფაილი ვაპირებთ წასვლა, და 603 00:24:41,490 --> 00:24:43,500 აქ, სადაც ჩვენ შეგვიძლია დავიწყოთ წერა რამდენიმე კოდი. 604 00:24:43,500 --> 00:24:45,810 ნება მომეცით, წავიდეთ წინ აქ და მასშტაბის მხოლოდ ცოტა, და მე 605 00:24:45,810 --> 00:24:51,550 აპირებს # მოიცავს , int ძირითადი (void), და 606 00:24:51,550 --> 00:24:57,470 მაშინ მე აპირებს printf ("Hello World") 607 00:24:57,470 --> 00:24:59,490 ; დაბრუნებას 0. 608 00:24:59,490 --> 00:25:01,400 ახლა ეს არის ყველა საკმაოდ შავი და თეთრი. 609 00:25:01,400 --> 00:25:03,830 >> ნება მომეცით წავიდეთ წინ და ნუ ერთი რამ ასწავლოს gedit რა მე 610 00:25:03,830 --> 00:25:04,510 რეალურად აკეთებს. 611 00:25:04,510 --> 00:25:06,140 ნება მომეცით წასვლა შენახვა როგორც. 612 00:25:06,140 --> 00:25:08,560 მე ვაპირებ აირჩიოს დროს მარცხენა მხარეს აქ jharvard. 613 00:25:08,560 --> 00:25:11,010 ასე რომ კიდევ ერთხელ, თუნდაც თქვენ არასდროს არ გამოიყენება Linux ადრე, გულახდილად 614 00:25:11,010 --> 00:25:13,680 ამ დღეებში, ყველა მათგანი devolving შევიდა არსებითად 615 00:25:13,680 --> 00:25:14,590 იმავე ტიპის ინტერფეისი - 616 00:25:14,590 --> 00:25:16,030 Mac OS, Windows, და Linux. 617 00:25:16,030 --> 00:25:18,680 ასე რომ, მე აირჩია jharvard სახლში ფოლდერი აქ. 618 00:25:18,680 --> 00:25:21,120 და მე ვაპირებ გადარჩენა ამ ფაილის როგორც hello.c. 619 00:25:21,120 --> 00:25:24,260 ამრიგად, ძალიან ზემოთ, მე აკრეფილი hello.c; დასახელებისგან C 620 00:25:24,260 --> 00:25:26,520 პროგრამა. გ გაფართოება 621 00:25:26,520 --> 00:25:27,570 რა საერთო პრაქტიკა. 622 00:25:27,570 --> 00:25:28,650 მე მოხვდა შენახვა. 623 00:25:28,650 --> 00:25:32,510 და ახლა რა ლამაზი არის, რომ მე ეფექტურად ასწავლიან gedit, 624 00:25:32,510 --> 00:25:33,690 რომ ეს არის C პროგრამა. 625 00:25:33,690 --> 00:25:36,470 გაითვალისწინეთ, რომ ჩემი შავი და თეთრი ტექსტი არის ფერი კოდირებული ან 626 00:25:36,470 --> 00:25:39,330 სინტაქსი ხაზი გაუსვა, რომელიც მხოლოდ ამახვილებს ჩემი ყურადღებას 627 00:25:39,330 --> 00:25:41,540 სხვადასხვა სემანტიკური ნაწილების პროგრამა. 628 00:25:41,540 --> 00:25:44,260 ზედა მარცხენა იქ, როგორც ჩემი პროგრამები კიდევ უფრო რთული, მე 629 00:25:44,260 --> 00:25:47,060 გვექნება შემაჯამებელი ყველა რამ მე არ წერია. 630 00:25:47,060 --> 00:25:48,050 ასე რომ ეს იყო. 631 00:25:48,050 --> 00:25:52,350 ნება მომეცით ახლა დააშორებს და ქვევით ამ ტერმინალის ფანჯარაში. 632 00:25:52,350 --> 00:25:54,570 >> ასე რომ, ეს ალბათ ახალი ბევრ ადამიანს. 633 00:25:54,570 --> 00:25:57,260 თუ თქვენ არ გამოიყენება ბრძანების გარემოს, თქვენ არასოდეს 634 00:25:57,260 --> 00:26:00,020 გამოიყენება DOS, ან თქვენ არ გამოიყენება Linux, ან თქვენ არასდროს გაიხსნა 635 00:26:00,020 --> 00:26:02,550 თქვენი Mac OS ტერმინალის ფანჯარა, არსებობს უამრავი რამ, რაც 636 00:26:02,550 --> 00:26:04,820 შეეძლო ერთად GUI, როგორიცაა მიუთითებს, და დაჭერით, და 637 00:26:04,820 --> 00:26:07,080 გადმოიყვანა და ჩაშვების, და მოსწონს, მაგრამ ზოგადად - 638 00:26:07,080 --> 00:26:09,360 რა თქმა უნდა მსოფლიოში კომპიუტერულ მეცნიერებათა - 639 00:26:09,360 --> 00:26:11,580 გამოყენებით ბრძანების, სადაც თქვენ არ თქვენი მაუსის 640 00:26:11,580 --> 00:26:14,220 ზოგადად, თქვენ მხოლოდ თქვენს კლავიატურაზე, ფაქტიურად ბევრი 641 00:26:14,220 --> 00:26:17,260 უფრო ძლიერი ვიდრე ინტერფეისი, ერთხელ თქვენ მიიღებთ acclimated to 642 00:26:17,260 --> 00:26:18,580 სხვადასხვა ბრძანებებს. 643 00:26:18,580 --> 00:26:20,940 და თქვენ ერთგვარი თავისუფალი თავს სჭირდება აღვნიშნო და დააჭირეთ 644 00:26:20,940 --> 00:26:21,690 ზე ყველაფერი. 645 00:26:21,690 --> 00:26:23,890 ასე რომ gedit ჩვენ ერთგვარი აქვს საუკეთესო ორივე სამყაროს. 646 00:26:23,890 --> 00:26:25,600 ჩვენ შეგვიძლია გადააადგილება ტექსტი, ვხედავთ მას 647 00:26:25,600 --> 00:26:26,840 ლამაზი და ფერადი კოდირებული. 648 00:26:26,840 --> 00:26:29,630 მაგრამ როდესაც საქმე დროის გასაშვებად ჩვენი პროგრამა, ჩვენ ზოგჯერ 649 00:26:29,630 --> 00:26:31,750 ისარგებლეთ ამ პატარა ფანჯარა აქ. 650 00:26:31,750 --> 00:26:33,460 >> ამიტომ მე ვაპირებ წავიდეთ წინ და ამის გაკეთება. 651 00:26:33,460 --> 00:26:36,420 ქვედა შავი და თეთრი ფანჯარა, მე ვაპირებ წავიდეთ წინ 652 00:26:36,420 --> 00:26:37,890 და დაწეროთ clang. 653 00:26:37,890 --> 00:26:40,130 და clang არის სახელი შემდგენელი. 654 00:26:40,130 --> 00:26:43,310 ეს პროგრამა, რომელიც აკონვერტებს ჩემი კოდის 655 00:26:43,310 --> 00:26:48,770 შევიდა, ასე რომ, ობიექტის კოდი. 656 00:26:48,770 --> 00:26:51,270 0S და 1s, რომ ჩვენ ვნახეთ მოკლედ გასულ კვირას. 657 00:26:51,270 --> 00:26:53,700 შეგახსენებთ, გასულ კვირას, ჩვენ დაგვპირდნენ, რომ ჩვენ ვაპირებთ 658 00:26:53,700 --> 00:26:55,920 აქედან რაღაც მსგავსი - ჩვენ საჭიროებს 659 00:26:55,920 --> 00:26:57,010 მსგავსი რამ - 660 00:26:57,010 --> 00:26:58,700 და ეს ნამდვილად არ რაღაც რომ ადამიანის აპირებს 661 00:26:58,700 --> 00:26:59,690 გავაკეთოთ ხელით. 662 00:26:59,690 --> 00:27:01,980 ასე რომ ნაცვლად ჩვენ ვაპირებთ გამოვიყენოთ პროგრამა, და რომ პროგრამა 663 00:27:01,980 --> 00:27:03,430 ამ შემთხვევაში ეწოდება Clang. 664 00:27:03,430 --> 00:27:06,020 და სახელი ჩემი პროგრამა hello.c. 665 00:27:06,020 --> 00:27:09,670 რათა მოხდეს კომპილაციის hello.c საწყისი კოდის შევიდა 666 00:27:09,670 --> 00:27:12,930 ობიექტის კოდი, ან 0S და 1s, უნდა საკმარისი უბრალოდ 667 00:27:12,930 --> 00:27:14,820 ამ და დააჭიროთ. 668 00:27:14,820 --> 00:27:16,850 >> Okay, არაფერი ჩანს არ მოხდა. 669 00:27:16,850 --> 00:27:20,450 მაგრამ მე ვიცი ახლა, ან გასულ კვირას, რომ რა სახელით 670 00:27:20,450 --> 00:27:24,920 პროგრამა, როცა დაწერილი C, არის სულელურად მოუწოდა a.out. 671 00:27:24,920 --> 00:27:26,610 ყველაზე uninteresting სახელი თქვენ ვერ ამუშავება. 672 00:27:26,610 --> 00:27:28,790 ეს არის პირველი წერილი ანბანი, აქედან არის, რა იყო 673 00:27:28,790 --> 00:27:29,960 outputted, მაგრამ ასე იქნება ეს. 674 00:27:29,960 --> 00:27:33,570 ეს არის ჩემი პროგრამა, და ახლა dot ხაზი, როგორც ვნახავთ, არის 675 00:27:33,570 --> 00:27:36,170 რეალურად მხოლოდ ერთგვარი უსაფრთხოების თვისება, რადგან 676 00:27:36,170 --> 00:27:38,250 a.out არის პროგრამა დავწერე. 677 00:27:38,250 --> 00:27:39,650 ეს არ მოდის და ჩემი კომპიუტერიდან, ის არის 678 00:27:39,650 --> 00:27:40,790 არ Program Files. 679 00:27:40,790 --> 00:27:42,910 ეს არ Mac OS-ის პროგრამები საქაღალდეში. 680 00:27:42,910 --> 00:27:45,740 მე უნდა იყოს სუპერ გამოკვეთილ კომპიუტერული და აცხადებენ, 681 00:27:45,740 --> 00:27:49,030 ამ პროგრამის a.out, არის მიმდინარე საქაღალდეში, 682 00:27:49,030 --> 00:27:50,260 მიმდინარე დირექტორია. 683 00:27:50,260 --> 00:27:53,160 და ისე წარმოადგინოს ეს გარემო მოსწონს 684 00:27:53,160 --> 00:27:57,070 არის dot წარმოადგენს რომელ ფოლდერსაც თქვენ გაკეთებული სისტემაში 685 00:27:57,070 --> 00:27:59,420 და ა.შ.. / მხოლოდ ნიშნავს აწარმოებს a.out 686 00:27:59,420 --> 00:28:00,530 მიმდინარე საქაღალდეში. 687 00:28:00,530 --> 00:28:04,830 მე აწარმოებს ამ შეიყვანეთ და voila, ჩემი პირველი პროგრამა. 688 00:28:04,830 --> 00:28:05,990 >> ახლა ნება მომეცით მიიღოს უკან გადადგმული ნაბიჯია. 689 00:28:05,990 --> 00:28:08,280 ეს ფანჯარა არის პატარა პატარა, და მიხვდებიან, რომ ბოლოში 690 00:28:08,280 --> 00:28:10,340 დაუტოვებიათ მოწყობილობის აქ არის კიდევ ერთი ხატი. 691 00:28:10,340 --> 00:28:12,660 ერთი არის Chrome, რომელიც უნდა იყოს საკმაოდ ნაცნობი, უბრალოდ ვებგვერდი 692 00:28:12,660 --> 00:28:14,350 ბრაუზერის შიგნით ელექტრო მოწყობილობების. 693 00:28:14,350 --> 00:28:16,340 და ეს შავი და თეთრი ხატია მხოლოდ 694 00:28:16,340 --> 00:28:17,720 უფრო დიდი ტერმინალი ფანჯარა. 695 00:28:17,720 --> 00:28:19,830 ასე რომ, თუ იგი იღებს პატარა შემაშფოთებელი დასალაგებლად აქვთ მხოლოდ 696 00:28:19,830 --> 00:28:22,270 ამ პატარა პატარა ნაჭერი ფანჯარა რომელიც უნდა შეარჩიონ 697 00:28:22,270 --> 00:28:24,370 ერთად პროგრამები, შეგვიძლია ნაცვლად ამის გაკეთება. 698 00:28:24,370 --> 00:28:26,640 და ახლა დავიწყებ აკრეფის რამდენიმე მალე 699 00:28:26,640 --> 00:28:27,980 უნდა იყოს ნაცნობი ბრძანებები. 700 00:28:27,980 --> 00:28:28,900 LS. 701 00:28:28,900 --> 00:28:31,410 ამიტომ ls არის შემქმნელი ჩამონათვალი. 702 00:28:31,410 --> 00:28:33,900 ასე რომ Mac OS ან Windows, თქვენ ამას ჩვეულებრივ ორჯერ დააწკაპუნეთ 703 00:28:33,900 --> 00:28:36,510 საქაღალდე და შემდეგ, voila, ხედავთ ყველა სხვადასხვა ფაილები 704 00:28:36,510 --> 00:28:37,210 და დასტების. 705 00:28:37,210 --> 00:28:39,650 In ბრძანების გარემო, სადაც შეგიძლიათ მხოლოდ აკრიფოთ 706 00:28:39,650 --> 00:28:42,390 ბრძანებების ან ტექსტი, ls არის ეკვივალენტი. 707 00:28:42,390 --> 00:28:44,380 ასე რომ ეჩვენებინა რა ამ დირექტორიაში. 708 00:28:44,380 --> 00:28:46,540 >> ახლა არის bunch პერსონალის აქ რომ ორივე პატარა 709 00:28:46,540 --> 00:28:48,190 ნაცნობი და პატარა უცნობ. 710 00:28:48,190 --> 00:28:50,740 მაგრამ ცნობა, ისევე, როგორც Windows და Mac OS, jharvard 711 00:28:50,740 --> 00:28:52,190 აქვს დესკტოპის ფოლდერი. 712 00:28:52,190 --> 00:28:54,520 ასე რომ ნებისმიერი ხატები, რომლებიც მაგიდაზე მოხდება 713 00:28:54,520 --> 00:28:55,650 უნდა იყოს, რომ საქაღალდეში. 714 00:28:55,650 --> 00:28:57,250 არსებობს ჩამოტვირთვების ფოლდერი, პერსონალი რომ 715 00:28:57,250 --> 00:28:58,890 Chrome შეიძლება დააყენოს იქ. 716 00:28:58,890 --> 00:28:59,250 Dropbox. 717 00:28:59,250 --> 00:29:01,820 ასე რომ ელექტრო მოწყობილობების გააჩნია ჩაშენებული მხარდაჭერა Dropbox 718 00:29:01,820 --> 00:29:04,500 ასე რომ მეტი სემესტრის, შეგიძლიათ სინქრონიზაციის თქვენი Dropbox 719 00:29:04,500 --> 00:29:06,420 ანგარიშის ისე, რომ ყველა თქვენი პროგრამების გამყარებული. 720 00:29:06,420 --> 00:29:08,050 ისინი ხელმისაწვდომია თქვენს კომპიუტერში სხვა. 721 00:29:08,050 --> 00:29:09,780 თუ რამე ოდესმე მიდის არასწორი ერთად ელექტრო მოწყობილობების, თქვენ შეგიძლიათ 722 00:29:09,780 --> 00:29:11,340 ძალიან მარტივად აღდგენა Dropbox. 723 00:29:11,340 --> 00:29:12,940 ასე რომ ფოლდერი არის იქ რომ. 724 00:29:12,940 --> 00:29:14,660 არსებობს ორი ფაილი რომ მე მივიღე - hello.c 725 00:29:14,660 --> 00:29:16,540 და a.out. 726 00:29:16,540 --> 00:29:18,530 და შემდეგ უფლება არსებობს რამდენიმე სხვა ფოლდერები რომ ჩვენ 727 00:29:18,530 --> 00:29:20,710 მისაღებად მიმართ ბოლომდე სემესტრის ერთად ვებგვერდი 728 00:29:20,710 --> 00:29:21,540 პროგრამირების. 729 00:29:21,540 --> 00:29:26,160 ასე რომ, როდესაც გავაკეთო. /, A.out, მიუთითოთ, რომ ვამბობ, წავიდეთ 730 00:29:26,160 --> 00:29:29,460 დირექტორიაში მე, მიმდინარე დირექტორიაში და გაუშვით 731 00:29:29,460 --> 00:29:32,465 პროგრამის მოუწოდა a.out უფლება არსებობს. 732 00:29:32,465 --> 00:29:35,810 >> ყველა უფლება ისე, რომ ლამაზი და კარგია, მაგრამ ეს არ არის ყველა, რომ 733 00:29:35,810 --> 00:29:38,550 მყარი დაწერა პროგრამა მოუწოდა დაეხმარონ a.out. 734 00:29:38,550 --> 00:29:40,790 ასე რომ ჩვენ შეგვიძლია რეალურად ამის გაკეთება ცოტა განსხვავებულად. 735 00:29:40,790 --> 00:29:43,980 ასე რომ ნაცვლად მხოლოდ გაშვებული clang, hello.c, მოდით დაამატოთ 736 00:29:43,980 --> 00:29:46,850 რასაც ბრძანების არგუმენტი. 737 00:29:46,850 --> 00:29:50,730 ასე რომ ბრძანების არგუმენტი, ან შეცვლა, ამ შემთხვევაში, მხოლოდ 738 00:29:50,730 --> 00:29:54,930 კიდევ ერთი სიტყვა ან ფრაზა, რომ თქვენ ტიპის სწრაფი შემდეგ 739 00:29:54,930 --> 00:29:56,290 პროგრამის გსურთ აწარმოებს. 740 00:29:56,290 --> 00:29:59,970 ასე რომ, ამ შემთხვევაში, clang არის პროგრამა მინდა აწარმოებს,-o 741 00:29:59,970 --> 00:30:03,480 საშუალებების გამომავალი ფაილი რომ აღარ მოუწოდა a.out. 742 00:30:03,480 --> 00:30:07,510 გამოყვანის ფაილი სახელად hello, და ამისათვის მიერ შედგენა 743 00:30:07,510 --> 00:30:10,200 ბოლო სიტყვა ხაზი, hello.c. 744 00:30:10,200 --> 00:30:13,200 ასე მოკლედ, ეს არის ძალიან მარგინალური გაუმჯობესების, რომლის დროსაც 745 00:30:13,200 --> 00:30:15,850 ნაცვლად, რომელმაც ამ stupidly დაასახელა ფაილი a.out, 746 00:30:15,850 --> 00:30:21,430 შემიძლია ახლა clang-o hello, მაშინ hello.c, და 747 00:30:21,430 --> 00:30:22,530 შემდეგ დააჭიროთ. 748 00:30:22,530 --> 00:30:25,510 არაფერი ჩანს მოხდეს, მაგრამ კიდევ ერთხელ ჰგავს - 0, როდესაც 749 00:30:25,510 --> 00:30:28,510 არაფერი ჩანს რომ მოხდეს, რომ არაფერს ნიშნავს არასწორი მოხდა - 750 00:30:28,510 --> 00:30:31,460 ამიტომ მოდით ls ახლა, შეიტანეთ, და მართლაც მე ახლა 751 00:30:31,460 --> 00:30:32,780 აქვს მიესალმები პროგრამა. 752 00:30:32,780 --> 00:30:38,510 ასე რომ, თუ მე აკრიფოთ მიესალმები ახლა, ბრძანება ვერ იქნა ნაპოვნი. 753 00:30:38,510 --> 00:30:39,440 OK,. /. 754 00:30:39,440 --> 00:30:40,220 ასე რომ სწორედ. 755 00:30:40,220 --> 00:30:43,170 ასე რომ, რადგან ეს პროგრამა დავწერე, და ეს არ მოდის ერთად 756 00:30:43,170 --> 00:30:45,810 კომპიუტერი,. / Hello, მიუთითოთ, ნიშნავს 757 00:30:45,810 --> 00:30:47,350 მე კოალიციაში hello. 758 00:30:47,350 --> 00:30:48,440 >> ასე რომ ის არსებობს. 759 00:30:48,440 --> 00:30:51,070 ეხლა ჩვენ ყველაფერს საბოლოოდ კიდევ უფრო და უფრო command line 760 00:30:51,070 --> 00:30:54,110 არგუმენტები, რომ საშუალებას მოგვცემს უფრო მეტი, მაგრამ მხოლოდ იმ მიზნით 761 00:30:54,110 --> 00:30:57,760 ვისაც ეს შეიძლება იყოს წლის ქუდი, მინდა რეალურად წასვლას 762 00:30:57,760 --> 00:31:01,910 დირექტორია აქ და მხოლოდ მოგცემთ teaser, თუ როგორ სხვაგან ჩვენ 763 00:31:01,910 --> 00:31:05,770 შეიძლება წავიდეს შესახებ ახორციელებს Hello world. 764 00:31:05,770 --> 00:31:10,730 ნება მომეცით წასვლას აქ, და მე ვაპირებ გახსნა. 765 00:31:10,730 --> 00:31:13,090 ასე რომ, რეალურად, მე ვაპირებ აგიხსნათ რა ვაკეთებ, ისე 766 00:31:13,090 --> 00:31:15,610 ეს არის სასარგებლო. 767 00:31:15,610 --> 00:31:17,410 ნება მიბოძეთ უკან მდე. 768 00:31:17,410 --> 00:31:19,620 >> ასე რომ მე ამით დიდი ხნის განმავლობაში. 769 00:31:19,620 --> 00:31:23,030 ასე რომ შეამჩნია დასრულდა უფლება არსებობს რამდენიმე 770 00:31:23,030 --> 00:31:26,940 დირექტორიები, რომლებიც უცნაური სახელწოდებით source1m და source1w. 771 00:31:26,940 --> 00:31:28,830 ეს არის უბრალოდ სულელური კონვენციის ვიყენებთ. 772 00:31:28,830 --> 00:31:31,825 წყარო მხოლოდ იმას ნიშნავს, კოდის, 1 ნიშნავს ეს კვირაში ერთი, და 773 00:31:31,825 --> 00:31:34,000 მ ნიშნავს ეს ორშაბათს, და w ნიშნავს ეს კვირა. 774 00:31:34,000 --> 00:31:34,900 ასე რომ არაფერი cryptic არსებობს. 775 00:31:34,900 --> 00:31:37,830 უბრალოდ სტენოგრამის ნოტაცია. 776 00:31:37,830 --> 00:31:39,860 ეს ლურჯი რამ ფოლდერები, სხვაგვარად ცნობილია როგორც 777 00:31:39,860 --> 00:31:40,630 დირექტორიების. 778 00:31:40,630 --> 00:31:43,870 მინდა წასვლას რომ ფოლდერი არის და ნორმალური კომპიუტერი 779 00:31:43,870 --> 00:31:45,710 შემეძლო მხოლოდ ორჯერ დააწკაპუნეთ საქაღალდეში ხატი და 780 00:31:45,710 --> 00:31:46,810 იქ ყველა ჩემს კომპიუტერში. 781 00:31:46,810 --> 00:31:49,270 მაგრამ ბრძანების გარემო, მე ვერ გავაკეთებ საკმაოდ 782 00:31:49,270 --> 00:31:52,640 რომ, ასე ნაცვლად, უნდა შეიცვალოს დირექტორიები ხელით. 783 00:31:52,640 --> 00:31:57,900 ასე რომ, თუ I ტიპის CD და შემდეგ source1m, შეიყვანეთ შეამჩნევთ, რომ 784 00:31:57,900 --> 00:32:01,180 ჩემი დროული, რამ თეთრი დროს მარცხენა, უბრალოდ შეიცვალა. 785 00:32:01,180 --> 00:32:03,690 და ა.შ. რა თქმა უნდა, როდესაც ეს უბრალოდ განაცხადა ფრჩხილებში და მერე 786 00:32:03,690 --> 00:32:06,450 პატარა squiggle, tilde სიმბოლო, რომ მხოლოდ იმას ნიშნავდა, მე ვიყავი 787 00:32:06,450 --> 00:32:08,800 იოანე ჰარვარდის სახლის დირექტორია, მისი ჩემი დოკუმენტები, 788 00:32:08,800 --> 00:32:10,390 მისი პირადი საქმეები. 789 00:32:10,390 --> 00:32:14,000 მაგრამ ახლა ფრჩხილებში წერია ~ / source1m. 790 00:32:14,000 --> 00:32:17,090 ეს მხოლოდ იმას ნიშნავს, მე საქაღალდეში მოუწოდა source1m 791 00:32:17,090 --> 00:32:19,160 რომ იოანე ჰარვარდის სახლის დირექტორია. 792 00:32:19,160 --> 00:32:22,030 ასე რომ, თუ მე ახლა მინდა ჩამოთვლა ფაილი ფოლდერის, ადვილად 793 00:32:22,030 --> 00:32:25,300 კითხვას, აკრიფოთ მხოლოდ ls. 794 00:32:25,300 --> 00:32:28,860 და ახლა მე ვხედავ ყველა ფაილი, რომელიც მე წინასწარ შექმნილი დღევანდელი 795 00:32:28,860 --> 00:32:31,020 ლექცია, რაც, ან ყველაზე მეტად რაც, მოხდება 796 00:32:31,020 --> 00:32:32,740 უნდა დასრულდეს. გ. 797 00:32:32,740 --> 00:32:36,210 >> ნება მომეცით, წავიდეთ წინ არის და აწარმოებს gedit პროგრამის მოუწოდა 798 00:32:36,210 --> 00:32:39,140 holloway.c, რომელიც დაწერილი ზოგიერთი შემთხვევითი ჰაკერი 799 00:32:39,140 --> 00:32:42,920 ინტერნეტში, რომელიც გამოიყურება პატარა მოსწონს ეს. 800 00:32:42,920 --> 00:32:44,880 და ჩვენ არ ვაპირებთ გავლა ამ ერთი ნებისმიერ 801 00:32:44,880 --> 00:32:48,530 დეტალურად, არამედ იმ უფრო კომფორტული, კერძოდ, თუ 802 00:32:48,530 --> 00:32:50,935 გსურთ მიიღოს ამოიცნობთ, თუ რა ამ პროგრამის აკეთებს აქ. 803 00:32:57,950 --> 00:32:59,990 დანარჩენი დავრწმუნდი, თუ თქვენ ნაკლებად ან უფრო კომფორტული, 804 00:32:59,990 --> 00:33:01,655 ჩვენ კი არ მიიღოთ ამ სახის რამ ბოლოსთვის 805 00:33:01,655 --> 00:33:02,160 ამ სემესტრში. 806 00:33:02,160 --> 00:33:05,390 ეს არის რა მაგალითია obfuscated C კონკურსში, რომელიც 807 00:33:05,390 --> 00:33:08,390 საშუალებები წერენ საუკეთესო cryptic ეძებს პროგრამა თქვენ შესაძლოა 808 00:33:08,390 --> 00:33:10,820 შეიძლება რომ outdo სხვა ჭკვიანი ადამიანები, რომლებიც ასეთივე 809 00:33:10,820 --> 00:33:13,010 ცდილობს დაწეროს ნივთები და გამოიჩენენ, რომ მათ შეუძლიათ დაწერონ 810 00:33:13,010 --> 00:33:14,280 მეტი cryptic რამ, ვიდრე თქვენ. 811 00:33:14,280 --> 00:33:17,290 ასე რომ, ეს არ არის მაგალითი კარგად დაწერილი პროგრამის 812 00:33:17,290 --> 00:33:21,260 პერსპექტივა სტილი, ეს არის მაგალითი იმისა, რომ პროგრამა 813 00:33:21,260 --> 00:33:22,860 გაიმარჯვებს კონკურსში, ხალხისთვის ცდილობს 814 00:33:22,860 --> 00:33:24,090 იყოს ბუნდოვანი და აბსტრაქტული. 815 00:33:24,090 --> 00:33:27,670 >> ასე რომ, თუ ჩვენ აწარმოებს ამ რამ, ნება მომეცით წასვლას ჩემი ტერმინალის ფანჯარა, 816 00:33:27,670 --> 00:33:28,110 ასე ვთქვათ. 817 00:33:28,110 --> 00:33:29,650 ასე რომ, ეს შავი და თეთრი გარემოს ეწოდება 818 00:33:29,650 --> 00:33:31,160 ტერმინალის ფანჯარაში ზოგადად. 819 00:33:31,160 --> 00:33:32,600 ნება მომეცით წავიდეთ წინ და კომპილირება. 820 00:33:32,600 --> 00:33:34,440 მე არ ვაპირებ გამოიყენოს clang, რადგან ამ პროგრამის 821 00:33:34,440 --> 00:33:36,340 პატარა cryptic და მას სჭირდება სხვადასხვა 822 00:33:36,340 --> 00:33:38,190 შემდგენელი, ერთი მოუწოდა gcc. 823 00:33:38,190 --> 00:33:39,200 მაგრამ ეს იმას იგივე. 824 00:33:39,200 --> 00:33:41,130 იგი იღებს კოდის გააპროტესტებენ კოდი. 825 00:33:41,130 --> 00:33:43,940 და ახლა თუ აწარმოებს a.out, რომ პროგრამის 826 00:33:43,940 --> 00:33:46,065 უბრალოდ დაინახა აკეთებს ამას. 827 00:33:49,220 --> 00:33:51,170 ასე რომ თანამემამულე, რომ წელიწადში მოიგო, რომ კონკურსში. 828 00:33:51,170 --> 00:33:54,020 Anyhow, ჩვენ არ ვაპირებთ ამ მიმართულებით, თავისთავად. 829 00:33:54,020 --> 00:33:57,400 >> მოდით რეალურად ცდილობენ ახლა აჯავრებენ გარდა რა შეგვიძლია გავაკეთოთ 830 00:33:57,400 --> 00:33:59,540 ამ საბაზისო შენობის ბლოკები, რათა უფრო და უფრო 831 00:33:59,540 --> 00:34:00,590 საინტერესო პროგრამები. 832 00:34:00,590 --> 00:34:02,800 ამიტომ ჩვენ წერილობითი პროგრამა, ჩვენ აწარმოებს პროგრამა. 833 00:34:02,800 --> 00:34:05,780 ახლა ჩვენ შეგვიძლია რეალურად გაამარტივებს და აღარ წერენ 834 00:34:05,780 --> 00:34:07,210 სიტყვა clang ბრძანებათა ზოლზე. 835 00:34:07,210 --> 00:34:10,710 თურმე, როგორც ჩვენი პროგრამების უფრო cryptic, ჩვენ შევძლებთ, ან 836 00:34:10,710 --> 00:34:14,699 უფრო რთული არამედ, ჩვენ შეგვიძლია რეალურად აწარმოებს ამ ბრძანებას. 837 00:34:14,699 --> 00:34:17,610 ნება მომეცით, დავუბრუნდე ჩემს სახლში დირექტორია, ასე ვთქვათ, ნება მომეცით 838 00:34:17,610 --> 00:34:20,750 ამოიღონ - Rm არის remove ბრძანება - I'm going ამოიღონ 839 00:34:20,750 --> 00:34:23,060 ფაილი სახელად a.out და hello. 840 00:34:23,060 --> 00:34:25,489 და ახლა ცნობა, ბრძანების გარემო, ჰგავს, რომელიც 841 00:34:25,489 --> 00:34:27,800 GUI, თქვენ აიძულა. მე ვერ დააჭირეთ ღილაკს თუმცა, მე 842 00:34:27,800 --> 00:34:31,040 უნდა აკრიფოთ Y ამისთვის კი, Y ამისთვის კი. 843 00:34:31,040 --> 00:34:33,460 და ახლა თუ აკრიფოთ ls კვლავ შეამჩნევთ, რომ იმ მწვანე 844 00:34:33,460 --> 00:34:35,469 პროგრამები - a.out და მიესალმები - 845 00:34:35,469 --> 00:34:35,734 არ გაქრება. 846 00:34:35,734 --> 00:34:37,340 ვუფრთხილდეთ Rm. 847 00:34:37,340 --> 00:34:39,739 მას შეუძლია გააკეთოს ცუდი რამეები, ისევე, როგორც თქვენ შეგიძლიათ მიერ გადმოიყვანა 848 00:34:39,739 --> 00:34:40,810 რამ თქვენი ურნის. 849 00:34:40,810 --> 00:34:43,989 >> ახლა მოდით წავიდეთ წინ - და მე ვერ გავაკეთებ ამ - clang-o 850 00:34:43,989 --> 00:34:45,139 hello, მიესალმები - 851 00:34:45,139 --> 00:34:46,884 მე უკვე შეწუხებული აკრეფით, რომ ბრძანება. 852 00:34:46,884 --> 00:34:48,080 მიუხედავად იმისა, რომ მე აკრეფილი ეს პატარა სწრაფად. 853 00:34:48,080 --> 00:34:51,870 ასე რომ ჩვენ შეგვიძლია გავაკეთოთ ნაცვლად მიიღოს hello. 854 00:34:51,870 --> 00:34:53,880 ასე რომ არ არის შემდგენელი. 855 00:34:53,880 --> 00:34:57,720 უბრალოდ მეგობრული პროგრამა, რომელიც მოდის Linux, ამ 856 00:34:57,720 --> 00:34:59,070 შემთხვევაში - ოპერაციული სისტემა - 857 00:34:59,070 --> 00:35:02,480 რომ automates პროცესში შედგენა პროგრამები. 858 00:35:02,480 --> 00:35:05,555 ასე რომ ნაცვლად დამახსოვრების clang-o ფაილის სახელი და 859 00:35:05,555 --> 00:35:08,190 მაშინ ა.შ., განსაკუთრებით ერთხელ იმ ხაზების მისაღებად აღარ და 860 00:35:08,190 --> 00:35:10,110 აღარ შემიძლია უბრალოდ წერენ მიიღოს. 861 00:35:10,110 --> 00:35:12,030 და ეს არის აპირებს Spit out მთელი bunch პერსონალის, რომ 862 00:35:12,030 --> 00:35:13,940 ჩვენ საბოლოოდ ვხედავთ ამ სემესტრში. 863 00:35:13,940 --> 00:35:17,500 მაგრამ შეამჩნევს არის თუ ტიპის ls, მიესალმები დაბრუნდა ჩემი დირექტორია. 864 00:35:17,500 --> 00:35:19,850 მართლაც შემიძლია აწარმოებს იგი. / Hello. 865 00:35:19,850 --> 00:35:23,330 ასე რომ მხოლოდ automates პროცესში გაშვებული, რა იყო, 866 00:35:23,330 --> 00:35:26,910 ამ შემთხვევაში, გაცილებით ადრე, უფრო რთული ბრძანება. 867 00:35:26,910 --> 00:35:29,060 ამიტომ, ჩვენ ვაპირებთ დავიწყოთ გამოყენებით მარკა, მხოლოდ იმიტომ, რომ ეს ბევრი 868 00:35:29,060 --> 00:35:30,530 მეტი მომხმარებლის მეგობრული. 869 00:35:30,530 --> 00:35:32,770 >> მაგრამ ახლა მოდით უფრო საინტერესო პროგრამა 870 00:35:32,770 --> 00:35:34,650 ვიდრე უბრალოდ მიესალმები. 871 00:35:34,650 --> 00:35:38,680 ასე რომ, პროგრამების ჩვენ წერილობითი დღემდე იქ მთავარ. 872 00:35:38,680 --> 00:35:40,890 ეს მხოლოდ ნაგულისხმევი რაც ჩათვლით ყველაფერი off. 873 00:35:40,890 --> 00:35:43,340 თუმცა, არსებობს სხვა ფუნქციები არსებობს ასევე, და 874 00:35:43,340 --> 00:35:45,890 stdio.h არის, რაც ჩვენ ვნახეთ ზედა ჩვენი 875 00:35:45,890 --> 00:35:48,480 ფაილი წინაშე, და არის ის, რაც ცნობილია, როგორც სტანდარტულ ბიბლიოთეკაში. 876 00:35:48,480 --> 00:35:51,300 შიგნით სტანდარტული ბიბლიოთეკა მთელი bunch of ფუნქციები 877 00:35:51,300 --> 00:35:53,850 რომ ვინმე წერს, და ჩვენ შეგვიძლია დავიწყოთ გამოყენებით ამ 878 00:35:53,850 --> 00:35:55,050 ფუნქციების დაწერა მეტი 879 00:35:55,050 --> 00:35:56,760 საინტერესო პროგრამები საკუთარ თავს. 880 00:35:56,760 --> 00:35:58,370 >> ნება მომეცით, დავუბრუნდე ელექტრო მოწყობილობების. 881 00:35:58,370 --> 00:35:59,820 მე ვაპირებ დახურვა ტერმინალის ფანჯარაში. 882 00:35:59,820 --> 00:36:02,630 მე ვაპირებ დახუროს რამ დაწერა ადრე, და უბრალოდ 883 00:36:02,630 --> 00:36:07,350 შევიდა hello.c, და შეამჩნია, ახლა შემიძლია შემდეგ. 884 00:36:07,350 --> 00:36:09,730 Hello world არ არის ყველა, რომ საინტერესო, მინდა 885 00:36:09,730 --> 00:36:11,770 personalize ეს პროგრამა თვითონ. 886 00:36:11,770 --> 00:36:13,440 ასე რომ ნაცვლად ამბობდა მსოფლიოში, მე ვაპირებ 887 00:36:13,440 --> 00:36:14,830 წავიდეთ წინ და ვთქვათ - 888 00:36:14,830 --> 00:36:16,880 მე ვერ აკრიფოთ დავით - მაგრამ ეს ნამდვილად არის ერთგვარი 889 00:36:16,880 --> 00:36:18,050 ფუნდამენტურად იგივე. 890 00:36:18,050 --> 00:36:19,970 მაგრამ მოდით ვცდილობთ out ამ placeholder იდეა. 891 00:36:19,970 --> 00:36:24,460 შეგახსენებთ, რომ C, საკმაოდ წელს printf, ჩვენ გვქონდა ამ 892 00:36:24,460 --> 00:36:28,110 placeholders, და არსებობს მხოლოდ% d. 893 00:36:28,110 --> 00:36:31,150 ასე% d იყო, სწრაფი sanity ქვითარი. 894 00:36:31,150 --> 00:36:32,310 Okay, ათობითი რიცხვი, რომ არის ის. 895 00:36:32,310 --> 00:36:33,860 ათობითი ციფრები, ეს იყო. 896 00:36:33,860 --> 00:36:37,755 ასე% C, როგორც ჩვენ ვაწყდებით, იქნება ხასიათი. 897 00:36:37,755 --> 00:36:40,530 განათავსეთ ხასიათი აქ, წერილში მეშვეობით z, 898 00:36:40,530 --> 00:36:41,600 ან პუნქტუაციის სიმბოლო. 899 00:36:41,600 --> 00:36:45,590 ერთჯერადი ხასიათი,% f, რა სხვა ენებზე? 900 00:36:45,590 --> 00:36:47,020 ასე რომ მცურავი წერტილი ღირებულება. 901 00:36:47,020 --> 00:36:47,880 რეალური რაოდენობა. 902 00:36:47,880 --> 00:36:51,550 ასე რომ არ ათობითი რიცხვი - ეს არის რეალურად ნამდვილი ნომერი 903 00:36:51,550 --> 00:36:54,130 ათობითი წერტილი, და ზოგიერთი ხმების ციფრები მარცხნივ 904 00:36:54,130 --> 00:36:55,520 და მარჯვნივ. 905 00:36:55,520 --> 00:36:58,060 % S, სტრიქონი. 906 00:36:58,060 --> 00:36:59,530 რომ ერთ ჩვენ ვაპირებთ ვხედავ ხშირად. 907 00:36:59,530 --> 00:37:02,140 სიმებიანი, კიდევ ერთხელ, მხოლოდ ერთი სიტყვით, ფრაზა, თანმიმდევრობა 908 00:37:02,140 --> 00:37:03,330 ინდივიდუალური სიმბოლო. 909 00:37:03,330 --> 00:37:06,730 და ბოლოს, lld? 910 00:37:06,730 --> 00:37:08,210 ასე რომ, ეს უფრო კუთხეში შემთხვევაში. 911 00:37:08,210 --> 00:37:09,850 ხანგრძლივი ათობითი. 912 00:37:09,850 --> 00:37:12,035 ასე რომ, თუ გსურთ არა მხოლოდ ნომერი, რომელიც ამ დიდ, თქვენ 913 00:37:12,035 --> 00:37:14,160 მინდა უფრო დიდი რაოდენობის, თქვენ აპირებს უნდა მიუთითოს, რათა 914 00:37:14,160 --> 00:37:16,400 კომპიუტერი რომ კონკრეტული ზომა. 915 00:37:16,400 --> 00:37:17,610 >> მოდით tweak ამ ცოტა. 916 00:37:17,610 --> 00:37:20,610 და არა მხოლოდ მძიმე კოდი დავით, ნება მომეცით ოდნავ 917 00:37:20,610 --> 00:37:22,460 დინამიურად ამბობენ% s. 918 00:37:22,460 --> 00:37:25,790 ასე დააყენა% s აქ, რაც placeholder for სიმებიანი. 919 00:37:25,790 --> 00:37:30,500 მაშინ ნება მომეცით გავაკეთოთ მძიმით, და შემდეგ "დავითი" აქ. 920 00:37:30,500 --> 00:37:32,770 ახლა ეს არ არის ყველა, რომ ინტელექტუალურად საინტერესო, 921 00:37:32,770 --> 00:37:35,060 რადგან ყველა მე ვაკეთებ ახლა ნამდვილად შექმნა სამუშაოები 922 00:37:35,060 --> 00:37:35,790 კომპიუტერი. 923 00:37:35,790 --> 00:37:39,660 იმის ნაცვლად, რომ გითხრათ კომპიუტერი ამ ერთდროულად, მე ახლა 924 00:37:39,660 --> 00:37:43,760 ამბობდა ამის გაკეთება და ჩადეთ სიმებიანი აქ საბოლოოდ, მძიმე, 925 00:37:43,760 --> 00:37:44,950 აქ არის ის, რომ სიმებიანი. 926 00:37:44,950 --> 00:37:47,220 ასე რომ, ეს არ არის უკეთესი გაუმჯობესებას, მაგრამ არანაკლებ 927 00:37:47,220 --> 00:37:49,010 ნაბიჯი უფრო საინტერესო პროგრამა. 928 00:37:49,010 --> 00:37:51,240 რადგან ახლა, მინდა წავიდეთ წინ და ამ ფანჯრის პატარა 929 00:37:51,240 --> 00:37:56,850 დიდია, ნება მომეცით წავიდეთ წინ და აწარმოებს მიიღოს hello. 930 00:37:56,850 --> 00:38:01,340 და ახლა,. / A.out არ მუშაობს, რატომ? 931 00:38:03,880 --> 00:38:05,570 ყველა უფლება, ახლა კი მოუწოდა hello. 932 00:38:05,570 --> 00:38:09,400 ასე რომ კიდევ ერთხელ გააკეთოს, და ასევე clang ერთად-o, ეწოდა 933 00:38:09,400 --> 00:38:11,120 პროგრამა უნდა იყოს რაღაც უფრო საინტერესო. 934 00:38:11,120 --> 00:38:13,060 და voila: ახლა კი ამბობს მიესალმები დავით. 935 00:38:13,060 --> 00:38:14,590 >> ყველა უფლება, ისევ სულელური პროგრამა. 936 00:38:14,590 --> 00:38:18,070 ახლა მოდით რეალურად დაბრუნდეს აქ და დანერგვა ცნება 937 00:38:18,070 --> 00:38:18,810 საქართველოს ცვლადი. 938 00:38:18,810 --> 00:38:21,600 არ იქნება ლამაზი, თუ შეიძლება განაცხადოს ცვლადი 939 00:38:21,600 --> 00:38:23,150 რომელთა ტიპის სიმებიანი? 940 00:38:23,150 --> 00:38:26,720 და ცვალებადი ღირებულების რეალურად მოდის მომხმარებლის 941 00:38:26,720 --> 00:38:27,810 მას ან თავად. 942 00:38:27,810 --> 00:38:30,240 ასე თვითნებურად, მე ვაპირებ მოვუწოდო ჩემი variable s, რომელიც 943 00:38:30,240 --> 00:38:32,410 უბრალოდ საერთო კონვენციის როდესაც თქვენ ერთი ცვლადში 944 00:38:32,410 --> 00:38:33,250 სიმებიანი. 945 00:38:33,250 --> 00:38:35,670 მე აპირებს თანაბარი ნიშანი, ხოლო შემდეგ მე ვაპირებ მოვუწოდო 946 00:38:35,670 --> 00:38:38,030 ფუნქციის მოუწოდა GetString. 947 00:38:38,030 --> 00:38:40,830 ამიტომ GetString არ არის რაღაც, რომ მოდის ჩაშენებული C. ეს 948 00:38:40,830 --> 00:38:43,330 ფუნქცია რომ CS50 პერსონალის წერდა, ნამდვილად მხოლოდ 949 00:38:43,330 --> 00:38:45,670 ამ პირველი რამდენიმე კვირის, გამარტივება პროცესში 950 00:38:45,670 --> 00:38:49,450 მიღების მომხმარებლის შეყვანის და იძენს მომხმარებლის შეყვანის სახით 951 00:38:49,450 --> 00:38:51,960 საქართველოს სიმები, ან ნომრები, და ასეთი. 952 00:38:51,960 --> 00:38:55,520 ამიტომ GetString ჰგავს printf, მაგრამ აშკარად, ვიდრე 953 00:38:55,520 --> 00:38:58,700 ბეჭდვა ეს აპირებს რა მისი სახელი ამბობს, მიიღოს სიმებიანი. 954 00:38:58,700 --> 00:39:00,970 მაგრამ გამოიყენოს GetString, ჩვენ ვაპირებთ უნდა გააკეთოთ ცვლილება 955 00:39:00,970 --> 00:39:03,180 აქ, სცილდება ამ. 956 00:39:03,180 --> 00:39:07,170 ასე რომ ინტუიციურად, ამ პროგრამის, იმედია, აპირებს როგორღაც 957 00:39:07,170 --> 00:39:09,700 მიიღოს სიმებიანი საწყისი მომხმარებელი, და მაშინ რა არის ის აპირებს 958 00:39:09,700 --> 00:39:11,460 რომ სიმებიანი, მოუწოდა s? 959 00:39:15,060 --> 00:39:16,470 უბრალოდ აპირებს ბეჭდვა ეს, არა? 960 00:39:16,470 --> 00:39:18,870 ჯერ კიდევ არ არის მასტიმულირებელი პროგრამა, რადგან ყველა ეს ხდება 961 00:39:18,870 --> 00:39:22,160 გააკეთოთ plug ამ ღირებულების შევიდა, სადაც% s 962 00:39:22,160 --> 00:39:23,750 ამბობს, რომ უნდა წავიდეს. 963 00:39:23,750 --> 00:39:25,290 >> მოდით მინიმუმ ვხედავთ ამ მოქმედებაში. 964 00:39:25,290 --> 00:39:27,040 ნება მომეცით შენახვა და დააშორებს. 965 00:39:27,040 --> 00:39:30,280 ახლა ჩემი ტერმინალის ფანჯარაში ქვემოთ აქ, პატარა ნაჭერი ერთი, 966 00:39:30,280 --> 00:39:32,760 ნება მომეცით კიდევ ერთხელ გავაკეთოთ მიიღოს hello. 967 00:39:32,760 --> 00:39:35,160 Okay, და AH, Damn, მე მივიღე მთელი bunch of შეცდომები. 968 00:39:35,160 --> 00:39:38,020 ნება მომეცით გადახვევა მდე, და ჩვენ ვხედავთ ჩვენი პირველი - 969 00:39:38,020 --> 00:39:40,430 მოდით რეალურად ამის გაკეთება წელს უფრო დიდი ფანჯარაში, ასე რომ თქვენ 970 00:39:40,430 --> 00:39:42,110 ხედავთ, როგორ ცუდად მე ბრალია - 971 00:39:42,110 --> 00:39:44,460 ასე რომ hello. 972 00:39:44,460 --> 00:39:46,540 Okay, რომ კატასტროფა, არა? 973 00:39:46,540 --> 00:39:48,740 მე დაწერილი სამი ხაზი კოდი და 974 00:39:48,740 --> 00:39:50,070 ეს მომცა 12 შეცდომები. 975 00:39:50,070 --> 00:39:51,980 მაშ რატომ არის ეს? 976 00:39:51,980 --> 00:39:55,720 ასე რომ საბედნიეროდ, oftentimes როდესაც ხედავთ ბევრი, ბევრი შეცდომები 977 00:39:55,720 --> 00:39:57,730 spitting გარეთ ერთდროულად, ეს მართლაც მხოლოდ იმიტომ, რომ თქვენ 978 00:39:57,730 --> 00:39:59,760 დაბნეული კომპიუტერი აქ. 979 00:39:59,760 --> 00:40:02,330 და ეს რჩება დაბნეული ახლა იგი იღებს ქვემოთ აქ. 980 00:40:02,330 --> 00:40:04,400 ამიტომ მხოლოდ იწყება tripping და stumbling, და 981 00:40:04,400 --> 00:40:07,310 spitting მეტი საშინელი პერსონალის ვიდრე რეალურად ვრცელდება. 982 00:40:07,310 --> 00:40:10,120 ასე რომ ზოგადად, ყოველთვის იწყება ზედა ერთი. 983 00:40:10,120 --> 00:40:13,320 >> ასე რომ ძალიან დაბრუნება საუკეთესო მაგალითად წითელი, 984 00:40:13,320 --> 00:40:14,740 შეცდომა არის ამ. 985 00:40:14,740 --> 00:40:17,750 გამოყენება გამოუცხადებელ იდენტიფიკატორი სიმებიანი, არც მე 986 00:40:17,750 --> 00:40:19,160 ნიშნავს სტანდარტს? 987 00:40:19,160 --> 00:40:19,900 მე არ. 988 00:40:19,900 --> 00:40:24,180 ამას ვგულისხმობდი სიმებიანი, მაგრამ ეს იმიტომ, რომ, ძალიან, სიტყვა string 989 00:40:24,180 --> 00:40:26,020 რომ მე შენარჩუნება გამოყენებით სიტყვიერი რეალურად 990 00:40:26,020 --> 00:40:27,240 არ არსებობს C ან. 991 00:40:27,240 --> 00:40:29,470 ეს რაღაც ჩვენ ვიყენებთ მხოლოდ პირველი ორი კვირის 992 00:40:29,470 --> 00:40:34,500 აქ, მაგრამ ის არსებობს ფაილი სახელად cs50.h. 993 00:40:34,500 --> 00:40:37,110 ასე რომ, ახლა, ვიცით, რომ არსებობს ამ სხვა ბიბლიოთეკაში, რომ 994 00:40:37,110 --> 00:40:39,330 პერსონალის წერდა, ამიტომ დაწერილი მეტი ხნის წინ, ვიდრე 995 00:40:39,330 --> 00:40:40,510 stdio.h. 996 00:40:40,510 --> 00:40:45,020 მაგრამ შიგნით cs50.h არის განმარტება, სინონიმი 997 00:40:45,020 --> 00:40:48,310 ჯიშები, რომელიც ქმნის ამ სიტყვის სიმებიანი. 998 00:40:48,310 --> 00:40:50,890 >> ახლა ნება მომეცით დაბრუნდეს ჩემი ტერმინალის ფანჯარაში. 999 00:40:50,890 --> 00:40:53,200 მე ვაპირებ გარკვევას ამ მთელი სასადილო მიერ Ctrl-L. ჩვენ ყველაფერს მხოლოდ 1000 00:40:53,200 --> 00:40:55,700 wipe ყველაფერი სუფთა, და მე ვაპირებ წავიდეთ წინ და მიიღოს 1001 00:40:55,700 --> 00:40:57,860 მიესალმები ერთხელ, შეიყვანეთ. 1002 00:40:57,860 --> 00:40:59,440 ასე რომ, თუ რა მოხდა ახლა? 1003 00:40:59,440 --> 00:41:01,150 ახლა ყველა იმ შეცდომების წავიდა. 1004 00:41:01,150 --> 00:41:02,230 მერე რა არ მე ნამდვილად კეთდება? 1005 00:41:02,230 --> 00:41:05,920 მე უბრალოდ ისწავლება კომპიუტერის რომ სიმებიანი არსებობს, და ეს 1006 00:41:05,920 --> 00:41:07,890 ამ ფაილის მოუწოდა cs50.h. 1007 00:41:07,890 --> 00:41:10,930 ასე რომ შეწყვიტოს პრეტენზიებს, რადგან ახლა თქვენ იცით სად შეიძლება ვიპოვოთ 1008 00:41:10,930 --> 00:41:13,220 რომ ფუნქცია განცხადებას ასე ვთქვათ. 1009 00:41:13,220 --> 00:41:15,200 სადაც ის არსებობს მსოფლიოში. 1010 00:41:15,200 --> 00:41:18,820 >> ახლა მე ვაპირებ წავიდეთ წინ და აწარმოებს hello. 1011 00:41:18,820 --> 00:41:22,300 მე, როგორც ჩანს, აქვს უსასრულო მარყუჟის, არაფერი ხდება. 1012 00:41:25,530 --> 00:41:26,870 ასე რომ მე უნდა აკრიფოთ რაღაც აქ, მარჯვნივ. 1013 00:41:26,870 --> 00:41:29,650 პირველი ხაზი კოდი ჩემი პროგრამა GetString. 1014 00:41:29,650 --> 00:41:31,750 ამიტომ სიტყვასიტყვით მელოდება მიიღოს სიმებიანი. 1015 00:41:31,750 --> 00:41:33,680 ასე რომ ამ მხრივ კი, ეს უსასრულო ციკლი. 1016 00:41:33,680 --> 00:41:36,520 როგორც ჩანს წელს GetString არის რა საქციელი, რომ ჩვენ 1017 00:41:36,520 --> 00:41:37,510 წერდა - თანამშრომლები - 1018 00:41:37,510 --> 00:41:39,550 რომ ამბობს დაველოდოთ და დაველოდოთ და დაველოდოთ და დაველოდოთ და დაველოდოთ, 1019 00:41:39,550 --> 00:41:42,550 სანამ მომხმარებლის გაძლევთ სიმებიანი აკრეფით რაღაც სისტემაში 1020 00:41:42,550 --> 00:41:46,000 ნება მომეცით, წავიდეთ წინ და ტიპის D--V - I-დ, შეიყვანეთ. 1021 00:41:46,000 --> 00:41:47,420 და იქ არის, მიესალმები დავით. 1022 00:41:47,420 --> 00:41:50,430 >> ახლა ამჯამად ამ თითქოს ეს მხოლოდ აქტი? 1023 00:41:50,430 --> 00:41:52,810 ნება მომეცით წავიდეთ წინ და აკრიფოთ ტომი. 1024 00:41:52,810 --> 00:41:54,740 შეიყვანეთ, okay, როგორც ჩანს, სამუშაო. 1025 00:41:54,740 --> 00:41:59,130 სამუშაოები რობ, სამუშაოები Zamyla, მუშაობს - okay. 1026 00:41:59,130 --> 00:42:01,000 ამიტომ იმუშავებს, სავარაუდოდ. 1027 00:42:01,000 --> 00:42:05,030 ასე რომ უნდა ამობეჭდოთ რაც ჩვენ რეალურად მისცეს მას, 1028 00:42:05,030 --> 00:42:07,830 და ჩვენ შეგვიძლია ვიყოთ ცოტა რთული აქ. 1029 00:42:07,830 --> 00:42:12,130 ვნახოთ თუ რაღაც მსგავსი hello. 1030 00:42:12,130 --> 00:42:18,000 შეიძლება მეტი აქ, ვნახოთ, ასლი, პასტა. 1031 00:42:18,000 --> 00:42:19,950 მე არ ვაპირებ, რომ სწრაფად ჩასვით რომ ბევრჯერ აქ. 1032 00:42:19,950 --> 00:42:24,410 Paste, okay, Shift + Ctrl + V. ასე რა 1033 00:42:24,410 --> 00:42:26,970 მოხდეს რომ ცუდი აქ? 1034 00:42:26,970 --> 00:42:27,770 >> Okay, ასე, segfaults. 1035 00:42:27,770 --> 00:42:29,710 ასე რომ ზოგიერთი თქვენგანი წინასწარი ფონზე ეცოდინებათ, რომ 1036 00:42:29,710 --> 00:42:32,710 ზოგადად, რაც კომპიუტერები უამრავი საშუალებებით, როდესაც ისინი 1037 00:42:32,710 --> 00:42:36,140 ალბათ არ გულისხმობს მიიღოს ხანგრძლივი სახელები მოსწონს - ცუდი 1038 00:42:36,140 --> 00:42:36,740 რამ ხდება. 1039 00:42:36,740 --> 00:42:39,230 მართლაც, სამყაროში ვებგვერდი, ძალიან, ეს ხდება საკმაოდ მწირი, 1040 00:42:39,230 --> 00:42:41,000 რის, როდესაც თქვენ დიზაინის ნახვა, როდესაც თქვენ 1041 00:42:41,000 --> 00:42:43,850 პროექტირება Facebook, თქვენ უნდა გააკეთოთ თვითნებური გადაწყვეტილებები up 1042 00:42:43,850 --> 00:42:45,370 წინა, როგორიცაა სანამდე გაგრძელდება ვინმეს 1043 00:42:45,370 --> 00:42:46,360 Facebook ნიკი იყოს? 1044 00:42:46,360 --> 00:42:48,050 ან რამდენ ხანს იქნება ვინმეს სახელი იყოს? 1045 00:42:48,050 --> 00:42:50,110 რამდენ ხანს იქნება ვინმეს ტელეფონის ნომერი იყოს და ასე შემდეგ. 1046 00:42:50,110 --> 00:42:53,580 და თუ პროგრამისტები მიიღოს ცუდი ვარაუდები, პროგრამები შესვენება 1047 00:42:53,580 --> 00:42:56,640 რადგან თქვენ ცდილობენ მათთვის უფრო გამომუშავება, მეტი შეყვანის 1048 00:42:56,640 --> 00:42:58,330 უფრო მეტიც, ვიდრე მათ აქვთ მეხსიერებაში. 1049 00:42:58,330 --> 00:43:01,860 ან RAM გამოყოფილი, და ასე რომ, თუ ახლა მე 'Enter, 1050 00:43:01,860 --> 00:43:04,640 რომ პროგრამა რეალურად მუშაობდა, რადგან ჩვენ იმყოფებოდნენ ბიბლიოთეკა 1051 00:43:04,640 --> 00:43:06,790 და ჩვენ, ფაქტობრივად, მოსალოდნელია ამ კონკრეტულ შემთხვევაში. 1052 00:43:06,790 --> 00:43:10,900 მაგრამ უდავოდ ამ სემესტრში, თქვენ უნდა დაწეროს მინიმუმ ერთი 1053 00:43:10,900 --> 00:43:13,280 პროგრამა, რომელიც აცხადებენ, რომ ეს სიტყვები. 1054 00:43:13,280 --> 00:43:16,520 დამახსოვრება ამ კვირის ახლა, შესაძლოა, ორი დღის ამიერიდან. 1055 00:43:16,520 --> 00:43:18,760 სეგმენტაციის ბრალია ცუდი რამ. 1056 00:43:18,760 --> 00:43:21,920 ეს იქნება მიმართეთ თქვენს აკეთებს, რომ რაღაც კომპიუტერულ 1057 00:43:21,920 --> 00:43:23,310 არ გავუსწრო. 1058 00:43:23,310 --> 00:43:25,810 და ამ შემთხვევაში, თქვენ, პროგრამისტი, არ გავუსწრო. 1059 00:43:25,810 --> 00:43:27,720 ჰგავს რა ამ pile of წინდები, იყო სხვადასხვა 1060 00:43:27,720 --> 00:43:29,520 კუთხეში შემთხვევაში ჩვენ შეეძლო შეექმნა. 1061 00:43:29,520 --> 00:43:32,340 ანალოგიურად პროგრამების თუ არ გავუსწრო რამდენი ხანი 1062 00:43:32,340 --> 00:43:33,310 ვინმეს სახელი იქნება. 1063 00:43:33,310 --> 00:43:35,890 ან რა თუ მაქვს მუქარის მომხმარებელი, და მისი სახელი არის 1064 00:43:35,890 --> 00:43:37,230 რეალურად საკმაოდ ცოტაა, მაგრამ ისინი უბრალოდ ვცდილობთ 1065 00:43:37,230 --> 00:43:37,960 to mess with me? 1066 00:43:37,960 --> 00:43:40,490 რა იქნება ქცევის ჩემი პროგრამა? 1067 00:43:40,490 --> 00:43:43,930 ისე, ამ შემთხვევაში, რაიმე შედეგს რეალურად მისაწოდებლად. 1068 00:43:43,930 --> 00:43:44,750 >> ასე რომ მოდით ეს. 1069 00:43:44,750 --> 00:43:46,860 In 90 წუთი, ეს საშინელი ხანგრძლივი დროის 1070 00:43:46,860 --> 00:43:47,780 გავაკეთოთ კომპიუტერულ მეცნიერებათა. 1071 00:43:47,780 --> 00:43:49,550 რატომ არ მივიღებთ შევიდა ჩვევა აღების ხუთი წუთი 1072 00:43:49,550 --> 00:43:51,520 შესვენება აქ, და როდესაც ჩვენ დავბრუნდებით, ჩვენ ჩაყვინთვის შევიდა ზოგიერთი 1073 00:43:51,520 --> 00:43:53,430 უფრო რთული და მყარი პროგრამებს? 1074 00:43:53,430 --> 00:43:54,680 ხუთი წუთის განმავლობაში. 1075 00:43:56,910 --> 00:43:58,160 >> ყველა უფლება. 1076 00:44:01,138 --> 00:44:02,780 ასე რომ ერთი სწრაფი კომენტარი. 1077 00:44:02,780 --> 00:44:05,590 მე მითხრეს, რომ მიუხედავად იმისა, რომ ეს იყო ეკრანზე, სანამ, თუ რა 1078 00:44:05,590 --> 00:44:08,880 გამოვიდა ჩემი პირით იყო cs50.net/rsvp. 1079 00:44:08,880 --> 00:44:11,670 ეს არის სწორი. cs50.net/lunch. 1080 00:44:11,670 --> 00:44:16,030 ახლა შეგიძლიათ RSVPing ამ დროს / ლანჩი. 1081 00:44:16,030 --> 00:44:16,980 მაგრამ მოდით ეს არის. 1082 00:44:16,980 --> 00:44:20,150 ასე რომ, ეს იყო სუპერ სწრაფი, სუპერ ახალი, უამრავი FOLKS. 1083 00:44:20,150 --> 00:44:21,560 ძველი ქუდი ზოგიერთი FOLKS. 1084 00:44:21,560 --> 00:44:24,930 მოდით გადახვევა მხოლოდ მომენტში და ვნახავთ, როგორ მივიღეთ, რათა 1085 00:44:24,930 --> 00:44:29,350 ამ Hello world გამომავალი მხოლოდ მომენტში წინ. 1086 00:44:29,350 --> 00:44:31,780 >> ამიტომ პირველი, ამ CS50 ელექტრო მოწყობილობების. 1087 00:44:31,780 --> 00:44:34,270 ერთხელ, ნაჭერი პროგრამული უზრუნველყოფა, პრობლემის მითითებული 1 აპირებს ვუთხრა 1088 00:44:34,270 --> 00:44:36,610 თუ როგორ უნდა გადმოწეროთ, სადაც მისი ჩამოტვირთვა, რა უნდა მიჰყვეთ 1089 00:44:36,610 --> 00:44:37,430 და სხვ. 1090 00:44:37,430 --> 00:44:39,670 და მერე კიდევ თქვენ დაიცვას იმ ინსტრუქციების, თქვენ გექნებათ 1091 00:44:39,670 --> 00:44:42,840 მაქსიმალურად თქვენი ფანჯარა, და თქვენი Mac ან PC გამოიყურება 1092 00:44:42,840 --> 00:44:43,910 პატარა რაღაც მსგავსი. 1093 00:44:43,910 --> 00:44:47,170 შავი ფონზე, მთავარი ფოლდერი ზედა, სადაც ყველა 1094 00:44:47,170 --> 00:44:49,850 თქვენი ფაილების წასვლა, ნაგვის შეიძლება ზედა მარცხენა, 1095 00:44:49,850 --> 00:44:51,130 მენიუ ბოლოში. 1096 00:44:51,130 --> 00:44:54,010 ასე რომ კიდევ ერთხელ, საკმაოდ მსგავსი სულისკვეთებით, რათა Mac OS ან Windows, 1097 00:44:54,010 --> 00:44:56,040 მიუხედავად იმისა, რომ ეს მოხდება იქნება Linux. 1098 00:44:56,040 --> 00:44:58,120 ასე რომ რა მივიღეთ შემდეგი გავაკეთოთ? 1099 00:44:58,120 --> 00:44:59,580 კარგად დავიწყეთ წერა პროგრამები. 1100 00:44:59,580 --> 00:45:02,260 და გავიხსენოთ გასულ კვირას, რომ ყველა ეს ხდება დაწერა 1101 00:45:02,260 --> 00:45:04,970 პროგრამა არის მარტივი ტექსტური რედაქტორი, 1102 00:45:04,970 --> 00:45:06,550 მოსწონს ჩასაწერი ან TextEdit. 1103 00:45:06,550 --> 00:45:08,360 გულწრფელად ვამბობ, თქვენ შეგიძლიათ კიდევ გამოიყენოთ Microsoft Word. 1104 00:45:08,360 --> 00:45:11,170 მაგრამ ცუდი საბოლოოდ მოხდეს, რადგან ისინი ძალიან 1105 00:45:11,170 --> 00:45:13,930 მძიმე გადასცა გადაწყვეტა პროგრამის წერა, პლუს ეს გამოგიგზავნით 1106 00:45:13,930 --> 00:45:15,400 შეინახეთ ის არასწორი ფაილის ფორმატი. 1107 00:45:15,400 --> 00:45:18,150 მაგრამ ეს მხოლოდ ტექსტური რედაქტორი, სიტყვა პროცესორი, რომელიც ყველა რომ 1108 00:45:18,150 --> 00:45:19,390 საჭირო დაწერა პროგრამა. 1109 00:45:19,390 --> 00:45:23,420 >> ასე რომ, CS50 ელექტრო მოწყობილობების, ჩვენ შეგვიძლია გავაკეთოთ ეს ერთი მარტივი გზა. 1110 00:45:23,420 --> 00:45:25,580 ჩვენ შეგვიძლია უბრალოდ დააწკაპუნეთ ამ ხატულაზე ქვედა მარცხენა. 1111 00:45:25,580 --> 00:45:28,790 ისევ და ისევ, პრობლემა მითითებული იქნება 1 გირჩევთ ამ და voila - 1112 00:45:28,790 --> 00:45:31,210 თქვენ ამ შავი და თეთრი ინტერფეისი, სადაც შეგვიძლია დავიწყოთ 1113 00:45:31,210 --> 00:45:32,160 წერა კოდი. 1114 00:45:32,160 --> 00:45:34,960 მოდით ახლა გადავიდეთ წერილობით სუპერ მარტივი პროგრამა ერთხელ. 1115 00:45:34,960 --> 00:45:38,890 მე ვაპირებ წასვლა მდე ფაილი, შენახვა, და მე ვაპირებ მოვუწოდო 1116 00:45:38,890 --> 00:45:42,870 ამ, ასე ვთქვათ, hello2.c. 1117 00:45:42,870 --> 00:45:45,410 და მე უბრალოდ ვეუბნებოდი ეს დაწკაპვით jharvard, დაუსვან მას 1118 00:45:45,410 --> 00:45:46,750 მისი მთავარი დირექტორია, მე ნამდვილად არ აღელვებს 1119 00:45:46,750 --> 00:45:47,980 სადაც ეს ერთი მიდის. 1120 00:45:47,980 --> 00:45:49,090 და შემდეგ შენახვა. 1121 00:45:49,090 --> 00:45:50,880 და ახლა შეიძლება დაიწყოს წერა ჩემი პროგრამა. 1122 00:45:50,880 --> 00:45:53,560 და მახსოვს საწყისი ადრე რომ უნდა დაწეროს int 1123 00:45:53,560 --> 00:45:55,400 ძირითადი (void). 1124 00:45:55,400 --> 00:45:57,000 მიუახლოვდით ზედა მარცხენა. 1125 00:45:57,000 --> 00:46:02,670 და მაშინ მინდა ვთქვა printf, ორი. 1126 00:46:02,670 --> 00:46:05,690 და ახლა სტრიქონების გადატანით, მჭიდრო ციტირებით ახლოს 1127 00:46:05,690 --> 00:46:07,820 ფრჩხილებში, მძიმით. 1128 00:46:07,820 --> 00:46:10,560 და მერე ქვევით აქ ჩემი ტერმინალის ფანჯარაში რომ 1129 00:46:10,560 --> 00:46:12,840 ჩართული gedit, უბრალოდ მოხერხებულობის. 1130 00:46:12,840 --> 00:46:15,200 და მე ვაპირებ წავიდეთ წინ და დაწეროთ მიიღოს hello, მაგრამ არა 1131 00:46:15,200 --> 00:46:17,500 მიესალმები მარტო, hello2. 1132 00:46:17,500 --> 00:46:20,490 >> ასე რომ ჩემი ფაილის მოუწოდა hello2.c. ჩემი ფაილის ამიტომ 1133 00:46:20,490 --> 00:46:23,510 უნდა მოეთხოვოს hello2, ამ შემთხვევაში. 1134 00:46:23,510 --> 00:46:26,490 Dammit, რა გავაკეთო არასწორი? 1135 00:46:26,490 --> 00:46:29,490 ყველა უფლება, ამიტომ მე ნათლად გამოტოვებული ხაზი, თუ გავიხსენებთ რა 1136 00:46:29,490 --> 00:46:31,020 წინა პროგრამების გამოიყურებოდეს. 1137 00:46:31,020 --> 00:46:32,480 მაგრამ ვნახოთ, შევძლებთ თუ არა აჯავრებენ ამ გარდა. 1138 00:46:32,480 --> 00:46:35,310 სამწუხაროდ, ადამიანები, რომლებიც წერენ პროგრამებს, რომელთანაც 1139 00:46:35,310 --> 00:46:38,820 ჩვენ წერენ პროგრამებს არ გაამარტივებს რამ ყველა რომ კარგად. 1140 00:46:38,820 --> 00:46:41,520 ამიტომ, ჩვენ უნდა სახის skim მეტი რა არ მიიღოს საკმაოდ 1141 00:46:41,520 --> 00:46:44,050 იგრძნოს აქ და ვნახოთ, შევძლებთ თუ გაერკვნენ, რა არასწორი. 1142 00:46:44,050 --> 00:46:46,700 ძალიან პირველი ხაზი იქ ამბობს მინიშნებით გამოცხადების C 1143 00:46:46,700 --> 00:46:49,310 ბიბლიოთეკის ფუნქცია printf ერთად ტიპის int. 1144 00:46:49,310 --> 00:46:51,210 OK, მივხვდი, ნაწილი რომ. 1145 00:46:51,210 --> 00:46:54,570 მაგრამ, როგორც ჩანს უნდა alluding იმ ფაქტს, რომ მე გამოიყენება printf 1146 00:46:54,570 --> 00:46:55,700 არასწორი, რატომღაც. 1147 00:46:55,700 --> 00:46:56,930 და რა გაგებით არის ეს არასწორია? 1148 00:46:56,930 --> 00:46:59,970 მე უბრალოდ არ ასწავლიან კომპიუტერს რომ წელს ფაილი 1149 00:46:59,970 --> 00:47:01,420 მოუწოდა stdio.h. 1150 00:47:01,420 --> 00:47:04,120 ახლა მხოლოდ უნდა მხოლოდ გვემახსოვრება რომ printf არის 1151 00:47:04,120 --> 00:47:06,540 წელს stdio.h, და მართლაც, იქ იყოს სხვა 1152 00:47:06,540 --> 00:47:08,900 ფუნქციებს, რომ იგივე ფაილი, რომელიც ჩვენ შეეგუება. 1153 00:47:08,900 --> 00:47:12,490 >> ახლა ნება მომეცით წავიდეთ წინ და მოხვდა Ctrl-L უბრალოდ მიანიშნა, რომ 1154 00:47:12,490 --> 00:47:16,050 დაშორებით, გამეორება მიიღოს hello2 და voila. 1155 00:47:16,050 --> 00:47:19,490 და ეს ბრძანება ერთხელ, უფრო რთული, ვიდრე ჩვენ განუმარტოს 1156 00:47:19,490 --> 00:47:20,520 დღევანდელი მიზნებისათვის. 1157 00:47:20,520 --> 00:47:23,570 მაგრამ ამანაც აწარმოებს clang და clang იღებს კოდის და 1158 00:47:23,570 --> 00:47:24,870 SpitS გარეთ 0S და 1s. 1159 00:47:24,870 --> 00:47:28,610 და იმ 0S და 1s ამ შემთხვევაში უწოდებენ რა? 1160 00:47:28,610 --> 00:47:29,470 Okay, ობიექტი კოდი. 1161 00:47:29,470 --> 00:47:32,210 და ფაილი რომ ისინი წელს ეწოდება, ასე რომ, 1162 00:47:32,210 --> 00:47:33,820 hello2, ამ შემთხვევაში. 1163 00:47:33,820 --> 00:47:37,040 რადგან ჩემი ტექსტური ფაილი იყო hello2.c, შეიყვანეთ. 1164 00:47:37,040 --> 00:47:39,820 და ახლა არ მიიღოს ორი ძახილის წერტილი, ძახილის 1165 00:47:39,820 --> 00:47:41,880 წერტილი, ძახილის წერტილი. 1166 00:47:41,880 --> 00:47:45,430 ყველა უფლება, ასე რომ, ჩვენ გვაქვს ახლა უნარი მიიღოს სიმები, 1167 00:47:45,430 --> 00:47:46,280 როგორც ჩანს. 1168 00:47:46,280 --> 00:47:48,190 ისე, რა ვიღებთ წევრებს? 1169 00:47:48,190 --> 00:47:51,010 >> კარგად CS50 ბიბლიოთეკა, არსებობს სხვა ფუნქციებს, 1170 00:47:51,010 --> 00:47:53,300 ვაპირებთ გაამარტივებს ჩვენი ცხოვრება ამ პირველი რამდენიმე დღის განმავლობაში. 1171 00:47:53,300 --> 00:47:56,350 GetChar, GetDouble, GetFloat, GetInt, 1172 00:47:56,350 --> 00:47:57,290 GetLongLong, GetString. 1173 00:47:57,290 --> 00:47:59,550 კარგად, მოდით pluck off იოლი ამ პირველი. 1174 00:47:59,550 --> 00:48:01,430 GetString სიტყვასიტყვით არ რომ. 1175 00:48:01,430 --> 00:48:04,210 უბრალოდ ზის იქ, ელოდება მომხმარებელს აკრიფოთ რაღაცას, 1176 00:48:04,210 --> 00:48:07,170 და როგორც კი აკრიფოთ რაღაცას და დააჭიროთ, ეს 1177 00:48:07,170 --> 00:48:08,860 აკეთებს რაღაც, რომ ღირებულება. 1178 00:48:08,860 --> 00:48:11,700 მოდით დავუბრუნდეთ, რომ მაგალითად, რომ ნახოთ ზუსტად რა 1179 00:48:11,700 --> 00:48:12,950 GetString აკეთებდა. 1180 00:48:12,950 --> 00:48:17,445 ნება მომეცით წავიდეთ წინ და ქმნის წელს gedit, hello.c, და გავიხსენოთ 1181 00:48:17,445 --> 00:48:20,590 რომ უფლება, სანამ შესვენების ეს სადაც ჩვენ შეჩერდით. 1182 00:48:20,590 --> 00:48:23,240 >> მოდით ახლა აჯავრებენ ამ დაშლის პატარა უფრო დეტალურად. 1183 00:48:23,240 --> 00:48:27,190 ასე რომ on line 6, არსებობს ორი რამ 1184 00:48:27,190 --> 00:48:28,450 ხდება მომენტში. 1185 00:48:28,450 --> 00:48:32,630 თანაბარი ნიშანი არის ჰყოფს პირველ ნახევარში და მეორე ნახევარში. 1186 00:48:32,630 --> 00:48:34,670 ა.შ. მარცხენა მხარეს თანაბარი ნიშანი, ჩვენ 1187 00:48:34,670 --> 00:48:35,580 ამბობდა string s. 1188 00:48:35,580 --> 00:48:37,580 და მაშინ, ერისკაცად წარმოგვიდგება მისი თვალსაზრისით, რა არის string s 1189 00:48:37,580 --> 00:48:41,040 აკეთებს, როგორ ფიქრობთ? 1190 00:48:41,040 --> 00:48:42,990 ეს შექმნის რა? 1191 00:48:42,990 --> 00:48:44,930 ამიტომ შექმნა string მოუწოდა s. 1192 00:48:44,930 --> 00:48:46,370 ახლა რა, რომ ნამდვილად ნიშნავს? 1193 00:48:46,370 --> 00:48:51,540 ისე, ეს დაჯავშნა ფართი სიმებიანი მოუწოდა s. 1194 00:48:51,540 --> 00:48:52,490 ეს არ არის საკმაოდ უფლება. 1195 00:48:52,490 --> 00:48:53,120 რა არის ეს აკეთებს? 1196 00:48:53,120 --> 00:48:55,400 კარგად კომპიუტერები, როგორც მოგეხსენებათ, აქვს მყარი დისკები, რომ სადაც 1197 00:48:55,400 --> 00:48:56,300 თქვენი ფაილი ინახება. 1198 00:48:56,300 --> 00:48:59,100 კომპიუტერები აქვს RAM, და რომ სადაც პროგრამების ჩატვირთვის 1199 00:48:59,100 --> 00:49:00,240 ხოლო ისინი გაშვებული. 1200 00:49:00,240 --> 00:49:02,470 ასე რომ, როდესაც თქვენ ორჯერ დააწკაპუნეთ ხატი და Microsoft Word ხსნის 1201 00:49:02,470 --> 00:49:06,380 up, Microsoft Word გაშვებულია, ასე ვთქვათ, წელს RAM, რომელიც 1202 00:49:06,380 --> 00:49:08,160 ელექტრონული ნაწილი თქვენს კომპიუტერში. 1203 00:49:08,160 --> 00:49:10,660 არ ფიზიკური, მექანიკური ნაწილი რომ დაწნული, სადაც 1204 00:49:10,660 --> 00:49:12,640 მონაცემები ზოგადად ინახება ხანგრძლივი ვადით. 1205 00:49:12,640 --> 00:49:15,810 ამიტომ string s არის საკმაოდ ბევრი ეუბნება კომპიუტერი მომეცი 1206 00:49:15,810 --> 00:49:18,150 საკმარისი RAM, რათა შეწყობოდა სიმებიანი. 1207 00:49:18,150 --> 00:49:20,450 ახლა რომ ცოტა oversimplification, რადგან 1208 00:49:20,450 --> 00:49:22,300 რამდენად დიდი არის სიმებიანი იქნება? 1209 00:49:22,300 --> 00:49:24,410 კარგად ჩვენ რეალურად ჯერ არ ვიცით, ისე კვირის მოსვლა 1210 00:49:24,410 --> 00:49:27,290 ჩვენ რეალურად უკან დახევის ფენას, რომელიც სიმებიანი და 1211 00:49:27,290 --> 00:49:28,510 ჩვენ გეტყვით რა ის მართლა. 1212 00:49:28,510 --> 00:49:31,050 სიმებიანი, ამ დროისთვის, მხოლოდ ლამაზი გამარტივებას ჩვენი სამყარო. 1213 00:49:31,050 --> 00:49:35,700 მაგრამ string s აცხადებს სიმებიანი მოუწოდა s, ახლა. 1214 00:49:35,700 --> 00:49:36,520 აცხადებს სიმებიანი. 1215 00:49:36,520 --> 00:49:39,310 იგი იტოვებს ზოგიერთი სივრცეში RAM for სიმებიანი მომხმარებელს 1216 00:49:39,310 --> 00:49:40,150 შესახებ შეიტანოთ. 1217 00:49:40,150 --> 00:49:41,840 >> ახლა მოდით წავიკითხოთ in უფლება თანაბარი ნიშანი. 1218 00:49:41,840 --> 00:49:44,110 ასე რომ ამბობს GetString (). 1219 00:49:44,110 --> 00:49:45,070 და პატარა საღი აზრის შეამოწმოს. 1220 00:49:45,070 --> 00:49:47,940 ის ფაქტი, რომ არაფერი შიგნით ფრჩხილებში 1221 00:49:47,940 --> 00:49:50,810 გულისხმობს რა GetString? 1222 00:49:50,810 --> 00:49:52,180 იგი იღებს არანაირი არგუმენტი. 1223 00:49:52,180 --> 00:49:55,290 ანუ, ვერ ახდენს გავლენას მისი ქცევა არანაირად. 1224 00:49:55,290 --> 00:49:58,940 ყოველთვის, როცა მისი გამოყენება, ეს იქნება კიდევ სიმებიანი და ამით ყველაფერი მთავრდება. 1225 00:49:58,940 --> 00:50:02,210 პირიქით, printf, იმედია მისი ქცევა არ 1226 00:50:02,210 --> 00:50:03,010 შეცვალოს ყოველ ჯერზე. 1227 00:50:03,010 --> 00:50:05,230 წინააღმდეგ შემთხვევაში, ეს საკმაოდ უსარგებლო ბეჭდვის ფუნქცია თუ 1228 00:50:05,230 --> 00:50:06,480 ეს იმას იგივე. 1229 00:50:06,480 --> 00:50:07,970 თუ ეს ყოველთვის ბეჭდავს დავით ან რამე 1230 00:50:07,970 --> 00:50:09,500 თვითნებური ყველა დროის. 1231 00:50:09,500 --> 00:50:11,540 ამიტომ printf აზრი ჰქონდეს არგუმენტი. 1232 00:50:11,540 --> 00:50:14,240 GetString ნამდვილად არ სჭირდება არგუმენტი, რადგან მინდოდა 1233 00:50:14,240 --> 00:50:16,700 მიიღოს სიმებიანი საწყისი მომხმარებელი და ეს მომხმარებელს, რომელიც ხდება 1234 00:50:16,700 --> 00:50:19,580 მიაწოდოს დინამიზმის აკრეფით სხვადასხვა წერილებს 1235 00:50:19,580 --> 00:50:20,850 ყოველ დროს კლავიატურაზე. 1236 00:50:20,850 --> 00:50:23,140 >> რას GetString ნუ საბოლოოდ? 1237 00:50:23,140 --> 00:50:25,080 იფიქრეთ, როგორც ეს პატარა შავი ყუთი. 1238 00:50:25,080 --> 00:50:29,340 და ეს შავი ყუთი იღებს არ შეყვანა, მაგრამ როდესაც თქვენ bang on 1239 00:50:29,340 --> 00:50:33,240 ეს, ის SpitS გარეთ სიმებიანი რომ მომხმარებელს უკვე აკრეფილი შემოსული 1240 00:50:33,240 --> 00:50:36,660 და ის ფაქტი, რომ არსებობს თანაბარი ნიშანი არსებობს ნიშნავს მიიღოს 1241 00:50:36,660 --> 00:50:39,890 რა არის Spit out მარჯვენა და ჩაწეროთ იგი შიგნით 1242 00:50:39,890 --> 00:50:41,390 რა მარცხენა. 1243 00:50:41,390 --> 00:50:43,470 ასე რომ თანაბარი ნიშანი აქ, ფაქტობრივად, არ ნიშნავს, 1244 00:50:43,470 --> 00:50:46,490 თანასწორობა, არამედ ტექნიკურად ნიშნავს დავალება. 1245 00:50:46,490 --> 00:50:49,330 Take ღირებულება მარჯვენა, და მისი 1246 00:50:49,330 --> 00:50:51,050 ცვლადი მარცხენა. 1247 00:50:51,050 --> 00:50:52,820 ასე რომ ყველა რომ ხდება იქ. 1248 00:50:52,820 --> 00:50:55,640 >> ახლა ხაზის 7, ჩვენ მოუწოდებდა printf. 1249 00:50:55,640 --> 00:50:58,170 ამიტომ printf იმედია დღითიდღე პატარა მოსაწყენი მიერ არის. 1250 00:50:58,170 --> 00:50:59,530 ამიტომ ბეჭდვა ფორმატირებული სიმებიანი. 1251 00:50:59,530 --> 00:51:00,440 რა სიმებიანი? 1252 00:51:00,440 --> 00:51:05,460 ამობეჭდვა, "H-E-L-L-O,% s 1253 00:51:05,460 --> 00:51:07,840 \ N ". 1254 00:51:07,840 --> 00:51:10,470 ყველა უფლება, ასე რომ რას მინდა დანამატი for% s? 1255 00:51:10,470 --> 00:51:12,960 სიტყვასიტყვით, რაც ინახება s. 1256 00:51:12,960 --> 00:51:15,570 ასე რომ, ამ შემთხვევაში, ცოტა საღი აზრის შემოწმება, რამდენი არგუმენტები აკეთებს 1257 00:51:15,570 --> 00:51:16,820 printf მიიღოს? 1258 00:51:19,860 --> 00:51:21,110 Okay, მე გავიგე ერთი. 1259 00:51:23,840 --> 00:51:26,330 გავიგე ერთი ერთხელ. 1260 00:51:26,330 --> 00:51:27,730 ორი, მე გავიგე ორი. 1261 00:51:27,730 --> 00:51:29,920 და როგორ დაახლოებით სამი? 1262 00:51:29,920 --> 00:51:30,450 Okay, სამი? 1263 00:51:30,450 --> 00:51:30,930 შესანიშნავი. 1264 00:51:30,930 --> 00:51:33,170 სამი სავარაუდო პასუხი, მხოლოდ ერთი მათგანი არის სწორი. 1265 00:51:33,170 --> 00:51:36,390 ასე რომ არგუმენტები კვლავ გავლენას ახდენს ქცევის ფუნქცია. 1266 00:51:36,390 --> 00:51:39,380 წარსულში, printf არც მხოლოდ ერთი არგუმენტი. 1267 00:51:39,380 --> 00:51:42,260 "Hello World" იყო ერთი არგუმენტი. 1268 00:51:42,260 --> 00:51:45,190 თუმცა, ახლა, შეამჩნევთ, სადაც ეს მძიმით არის. 1269 00:51:45,190 --> 00:51:49,600 ეს მძიმით არის გარეთ ციტირებით / unquote, რაც იმას ნიშნავს, 1270 00:51:49,600 --> 00:51:52,170 hey printf, აქ მოდის მეორე არგუმენტი. 1271 00:51:52,170 --> 00:51:54,240 >> ამიტომ მძიმეები უმეტეს პროგრამირების ენები 1272 00:51:54,240 --> 00:51:57,300 ცალკე მრავალჯერადი არგუმენტები. 1273 00:51:57,300 --> 00:51:59,600 ასე რომ პასუხი აქ ნამდვილად არ არის ერთი, რადგან 1274 00:51:59,600 --> 00:52:00,390 არსებობს ამ მძიმით. 1275 00:52:00,390 --> 00:52:03,680 ასე მინიმალურად, printf აშკარად აღების ორი 1276 00:52:03,680 --> 00:52:04,940 არგუმენტები ამ დროს. 1277 00:52:04,940 --> 00:52:07,050 მაგრამ შესაძლებლობა შეასრულა კითხვა აქ არის რა 1278 00:52:07,050 --> 00:52:07,990 ამ მძიმით? 1279 00:52:07,990 --> 00:52:11,260 ამჯამად ამ გულისხმობს, რომ იქ რეალურად სამ არგუმენტს? 1280 00:52:11,260 --> 00:52:13,820 ეს, ამ, და ეს. 1281 00:52:13,820 --> 00:52:18,820 ასე რომ არა, იმიტომ, რომ მძიმით არის შიგნით შეთავაზებები, რომელიც 1282 00:52:18,820 --> 00:52:20,890 ნიშნავს ეს მართლაც მხოლოდ ესთეტიკურ ინგლისური. 1283 00:52:20,890 --> 00:52:23,180 მას არაფერი აქვს საერთო რაოდენობის 1284 00:52:23,180 --> 00:52:24,890 არგუმენტები ამ პროგრამაში. 1285 00:52:24,890 --> 00:52:27,670 ასე რომ, ეს არის მძიმით გარეთ ორმაგი შეთავაზებები. 1286 00:52:27,670 --> 00:52:28,850 ხოლო შემდეგ დაბრუნდნენ 0. 1287 00:52:28,850 --> 00:52:30,980 ახლა მოდით უბრალოდ სახის მიიღოს ამ ერთი რწმენა ამისთვის 1288 00:52:30,980 --> 00:52:34,460 დღეს, და მხოლოდ ის ვიცი, რომ როდესაც ფუნქციების კეთდება შესრულებაში 1289 00:52:34,460 --> 00:52:37,950 ხაზების კოდი, ისინი უნდა ზოგადად დააბრუნებს მნიშვნელობას. 1290 00:52:37,950 --> 00:52:42,010 ამ შემთხვევაში, მხოლოდ იმიტომ, რომ ძირითად უნდა დაბრუნდეს int, 1291 00:52:42,010 --> 00:52:44,320 ეს მხოლოდ გზა ენა C მუშაობს. 1292 00:52:44,320 --> 00:52:47,040 >> ასე რომ, ვინაიდან არაფერი არ მოხდა ისე, იგრძნობა ამ პროგრამის 1293 00:52:47,040 --> 00:52:49,960 ჯარიმა, უბრალოდ მძიმე კოდირებული სანაცვლოდ 0. 1294 00:52:49,960 --> 00:52:52,980 მაგრამ განსხვავებით, და მე ვაპირებ წერენ ეს ფსევდო კოდი 1295 00:52:52,980 --> 00:52:55,020 ახლა, ჰგავს ჯოზეფ გააკეთა, როდესაც ჩვენ გავაკეთეთ წინდების 1296 00:52:55,020 --> 00:52:56,220 მაგალითად გასულ კვირას. 1297 00:52:56,220 --> 00:53:00,440 თუ რამე არ მოხდა ისე, - ეს არ არის ფაქტობრივი კოდი - წავიდა 1298 00:53:00,440 --> 00:53:06,570 არასწორი, მაშინ დაბრუნდებიან, ვთქვათ, 1. 1299 00:53:06,570 --> 00:53:08,770 Else დაბრუნებას 0. 1300 00:53:08,770 --> 00:53:10,070 ასე რომ, ეს არის სადაც ჩვენ ვაპირებთ ამ. 1301 00:53:10,070 --> 00:53:12,090 ეს არ არის ფაქტობრივი C კოდი, უბრალოდ pseudocode. 1302 00:53:12,090 --> 00:53:14,010 მაგრამ ეს როგორ შეიძლება დაბრუნდეს 1303 00:53:14,010 --> 00:53:15,580 სხვადასხვა შესაძლო მნიშვნელობებია. 1304 00:53:15,580 --> 00:53:19,520 მაგრამ ახლა მე უბრალოდ აპირებს წავიდეთ წინ და უკან დაბრუნებას 0. 1305 00:53:19,520 --> 00:53:24,410 ყველა უფლება, რაიმე კითხვა ამგვარად შორს სინტაქსი, ფუნქციონირება, 1306 00:53:24,410 --> 00:53:25,000 ან მოგწონთ? 1307 00:53:25,000 --> 00:53:26,280 ჰო, წელს უკან. 1308 00:53:26,280 --> 00:53:27,530 >> აუდიტორია: [INAUDIBLE] 1309 00:53:30,510 --> 00:53:32,210 DAVID Malan: იქნებ ცოტა louder? 1310 00:53:32,210 --> 00:53:34,325 რატომ ამ პროგრამის დაბრუნების 0, და? 1311 00:53:34,325 --> 00:53:35,575 აუდიტორია: [INAUDIBLE] 1312 00:53:39,910 --> 00:53:43,450 DAVID Malan: Oh, ეს იმიტომ, რომ მე მივიღე ზარმაცი, უკაცრავად. 1313 00:53:43,450 --> 00:53:48,290 არარის კარგი აკადემიური საპასუხოდ, დაუბრუნოს 0. 1314 00:53:48,290 --> 00:53:52,690 მე შემიძლია სახის სამაშველო ამ, განაცხადა ტექნიკურად C, თუ მთავარი 1315 00:53:52,690 --> 00:53:55,900 არ მკაფიოდ დაბრუნების ღირებულება, 0 დაუბრუნდება 1316 00:53:55,900 --> 00:53:57,730 ავტომატურად თქვენთვის. 1317 00:53:57,730 --> 00:54:00,290 რაც მართალია, მე არა მხოლოდ დაფარვა. 1318 00:54:00,290 --> 00:54:03,270 მაგრამ, მე უნდა ყოფილიყო იგი ამ გზით. 1319 00:54:03,270 --> 00:54:05,250 არარის საინტერესო takeaway ვიდრე რომ გარდა ჩემი შეცდომა იყო. 1320 00:54:05,250 --> 00:54:06,170 ჰო? 1321 00:54:06,170 --> 00:54:08,470 >> აუდიტორია: ჩვეულებრივ, როდესაც თქვენ აკრიფოთ ბათილად, რაც იმას ნიშნავს, რომ თქვენ 1322 00:54:08,470 --> 00:54:10,770 არ დაბრუნებას რაღაც. 1323 00:54:10,770 --> 00:54:11,420 DAVID Malan: სწორი. 1324 00:54:11,420 --> 00:54:15,800 თუ ნაცვლად, თქვენს მიერ მითითებული ადრე სახელით ფუნქცია, ამისთვის 1325 00:54:15,800 --> 00:54:18,590 მაგალითად აქ, ბათილად, მაშინ ფუნქცია 1326 00:54:18,590 --> 00:54:20,480 არ დააბრუნებს არაფერი. 1327 00:54:20,480 --> 00:54:25,210 და ამიტომ მინდა უბრალოდ, ვამბობთ, დაბრუნების ან არაფერი საერთოდ, 1328 00:54:25,210 --> 00:54:26,730 და რომ იყოს თანმიმდევრული. 1329 00:54:26,730 --> 00:54:27,750 და ჩვენ დავბრუნდებით იმ. 1330 00:54:27,750 --> 00:54:31,030 და მხოლოდ FYI, ერთი იჭერს ერთად სწავლის 1331 00:54:31,030 --> 00:54:33,450 პროგრამების სამყაროში, რომელსაც აქვს ასობით წიგნი და 1332 00:54:33,450 --> 00:54:36,180 ასობით საიტებზე out არსებობს თქვენ უცვლელად 1333 00:54:36,180 --> 00:54:38,220 ვხედავთ სხვადასხვა სინტაქსი სხვადასხვა წიგნები 1334 00:54:38,220 --> 00:54:40,220 სხვადასხვა ადამიანებს. 1335 00:54:40,220 --> 00:54:42,100 გააცნობიეროს ჩვენ გავაკეთებთ სექციები და ლექციები უნდა იყოს 1336 00:54:42,100 --> 00:54:42,960 თანმიმდევრული. 1337 00:54:42,960 --> 00:54:46,660 მაგრამ ზოგჯერ ნახავთ კონფლიქტის სინტაქსი. 1338 00:54:46,660 --> 00:54:48,540 ასე რომ როდესაც ეჭვი, ჰკითხეთ. 1339 00:54:48,540 --> 00:54:51,100 და ზოგადად, ჩვენ ვიზრუნებთ in ლექციები და სექციები 1340 00:54:51,100 --> 00:54:53,710 თითქმის ყოველთვის წარადგინოს იგი სწორი გზა. 1341 00:54:53,710 --> 00:54:56,070 და მე ვიტყვი, თითქმის ყოველთვის, რადგან მაგალითია. 1342 00:54:56,070 --> 00:54:56,860 გაქვთ სხვა კითხვები? 1343 00:54:56,860 --> 00:55:01,590 >> აუდიტორია: არა% s არსებობს გარეთ ელექტრო? 1344 00:55:01,590 --> 00:55:03,710 DAVID Malan: არა% s არსებობს გარეთ ელექტრო? 1345 00:55:03,710 --> 00:55:04,180 დიახ. 1346 00:55:04,180 --> 00:55:07,760 ასე% s არ უკავშირდება C. იმისა, რომ ჩვენ იყენებთ მას 1347 00:55:07,760 --> 00:55:10,290 ელექტრო ფუნდამენტურად არაფერი აქვს ერთად 1348 00:55:10,290 --> 00:55:12,080 თვისებები ენა ჩვენ გამოყენებით. 1349 00:55:12,080 --> 00:55:15,990 მართლაც, გასულ კვირას, როდესაც ჩვენ გამოყენებული ჩემი Mac, მე დავწერე 1350 00:55:15,990 --> 00:55:17,160 C კოდექსის ჩემი Mac. 1351 00:55:17,160 --> 00:55:20,020 შემეძლო არ გამოიყენება% s ჩემი Mac, და თქვენ შეიძლება გამოიყენოთ ეს 1352 00:55:20,020 --> 00:55:22,400 თქვენი Windows კომპიუტერში თუ თქვენ დააყენეთ შემდგენელი, მოსწონს 1353 00:55:22,400 --> 00:55:24,070 Visual Studio საწყისი Microsoft. 1354 00:55:24,070 --> 00:55:24,990 ასე% s. 1355 00:55:24,990 --> 00:55:27,860 ყველაფერი ვაკეთებთ შიგნით ფანჯრის დღეს უნდა 1356 00:55:27,860 --> 00:55:31,140 საერთო C. და ფუნდამენტურად არაფერ შუაშია 1357 00:55:31,140 --> 00:55:33,450 ოპერაციული სისტემის საკითხს. 1358 00:55:33,450 --> 00:55:35,900 პირიქით, შავი და თეთრი ტერმინალის ფანჯარაში - როდესაც 1359 00:55:35,900 --> 00:55:40,160 მე აკრეფის რამ, როგორიცაა ls და RM, და CD - 1360 00:55:40,160 --> 00:55:42,020 რომ აქვს კავშირი არა ოპერაციული სისტემა და 1361 00:55:42,020 --> 00:55:43,562 ნავიგაცია გარშემო. 1362 00:55:43,562 --> 00:55:44,546 Yeah. 1363 00:55:44,546 --> 00:55:46,520 აუდიტორია: ვგულისხმობდი ბიბლიოთეკა, CS50 ბიბლიოთეკაში. 1364 00:55:46,520 --> 00:55:49,960 DAVID Malan: Okay, ასე რომ, თუ თქვენ ნიშნავს, სიტყვით ტექსტი, რომ 1365 00:55:49,960 --> 00:55:52,460 მხოლოდ არსებობს CS50 ბიბლიოთეკა, სწორი. 1366 00:55:52,460 --> 00:55:55,350 რომ არ არსებობს C თავად, და მართლაც რამდენიმე 1367 00:55:55,350 --> 00:55:58,220 კვირის ჩვენ გადაყარეთ CS50 ბიბლიოთეკა და დაიწყოს 1368 00:55:58,220 --> 00:56:02,290 აკეთებს რამ ნულიდან თავს, ასე ვთქვათ. 1369 00:56:02,290 --> 00:56:02,940 გაქვთ სხვა კითხვები? 1370 00:56:02,940 --> 00:56:04,577 Yeah. 1371 00:56:04,577 --> 00:56:05,827 >> აუდიტორია: [INAUDIBLE] 1372 00:56:09,470 --> 00:56:10,160 DAVID Malan: კარგი კითხვაა. 1373 00:56:10,160 --> 00:56:11,720 არიან ბრძანებები ასოთი? 1374 00:56:11,720 --> 00:56:13,710 და ნება მომეცით მიიღოს განსხვავება აქ. 1375 00:56:13,710 --> 00:56:15,840 ამიტომ ბრძანებები ზოგადად რამ ჩვენ წერენ ზე 1376 00:56:15,840 --> 00:56:17,940 ბოლოში ფანჯარა, წელს ტერმინალის ფანჯარაში. 1377 00:56:17,940 --> 00:56:21,770 არაფერი აქ იქნება განცხადებებს ან C კოდი. 1378 00:56:21,770 --> 00:56:24,490 მაგრამ ორივე შემთხვევაში, პასუხი არის იგივე, დიახ. 1379 00:56:24,490 --> 00:56:27,800 ორივე გარემოში, C კოდი ზედა და 1380 00:56:27,800 --> 00:56:29,910 ოპერაციული სისტემის ბრძანება ხაზს 1381 00:56:29,910 --> 00:56:31,440 ბოლოში, არის ასოთი. 1382 00:56:31,440 --> 00:56:33,830 ასე რომ თქვენ უნდა capitalize GetString ერთად დედაქალაქში G, 1383 00:56:33,830 --> 00:56:37,050 კაპიტალური ს თქვენ უნდა დაწეროს printf ყველა ამას. 1384 00:56:37,050 --> 00:56:39,520 თქვენ უნდა აკრიფოთ ls ყველა ამას. 1385 00:56:39,520 --> 00:56:43,260 ასე რომ, თითქმის ყველა სიტუაციაში ამ სემესტრში, საქმეს, რომელიც 1386 00:56:43,260 --> 00:56:44,820 ფაქტობრივად, ამ საკითხზე. 1387 00:56:44,820 --> 00:56:46,148 დიახ. 1388 00:56:46,148 --> 00:56:47,398 >> აუდიტორია: [INAUDIBLE] 1389 00:56:54,770 --> 00:56:56,480 DAVID Malan: Ah, ასე okay, რა, თუ გვქონდა ფაილი 1390 00:56:56,480 --> 00:56:57,840 მოუწოდა hello.d. 1391 00:56:57,840 --> 00:57:00,090 გამოდის, D არის პროგრამირების ენა. 1392 00:57:00,090 --> 00:57:02,790 და ასე, რიგ შემთხვევებში, შეიძლება რეალურად დაწეროს პროგრამა 1393 00:57:02,790 --> 00:57:06,190 რომ ფაილი და არ ის შედგენილი, რომ მოდის. 1394 00:57:06,190 --> 00:57:09,090 ჩვენ შეგვიძლია, და ფაქტობრივად, მოკლე პასუხი არის, არ ვიცი. 1395 00:57:09,090 --> 00:57:10,440 ამიტომ, ჩვენ ვაპირებთ ამის გაკეთებას. 1396 00:57:10,440 --> 00:57:13,040 ნება მომეცით წავიდეთ წინ და შევქმნათ ახალი ფაილი. 1397 00:57:13,040 --> 00:57:15,580 და Spin აქ, პატიოსნად ზოგადად, არის როდესაც რაიმე ეჭვი 1398 00:57:15,580 --> 00:57:18,130 ამ სემესტრში, და თქვენ გაქვთ თქვენი მოწყობილობის ან კომპიუტერული 1399 00:57:18,130 --> 00:57:20,030 გახსნა, წავიდეთ წინ და ძიებასა. 1400 00:57:20,030 --> 00:57:23,740 ამიტომ მე ვაპირებ შენახვა ფაილი სახელად hello.d. 1401 00:57:23,740 --> 00:57:25,010 შენახვა. 1402 00:57:25,010 --> 00:57:29,070 და მე ვაპირებ აწარმოებს მიიღოს მიესალმები შეიყვანეთ. 1403 00:57:29,070 --> 00:57:31,660 იგი თითქოს infer რომ გ იყო უფრო მეტი ალბათობით 1404 00:57:31,660 --> 00:57:35,920 ვიდრე დ, ამ შემთხვევაში. 1405 00:57:35,920 --> 00:57:38,046 სხვა კითხვები. 1406 00:57:38,046 --> 00:57:40,456 Yeah. 1407 00:57:40,456 --> 00:57:41,706 >> აუდიტორია: [INAUDIBLE] 1408 00:57:48,170 --> 00:57:49,837 DAVID Malan: Okay, ამბობენ, რომ კიდევ ერთხელ. 1409 00:57:49,837 --> 00:57:51,087 აუდიტორია: [INAUDIBLE] 1410 00:58:04,250 --> 00:58:05,780 DAVID Malan: რა წასვლა შესახებ დიაგნოზი, რომ ან 1411 00:58:05,780 --> 00:58:06,380 troubleshooting რომ? 1412 00:58:06,380 --> 00:58:08,800 ასე რომ, სავარაუდოდ, რადგან ისინი სხვადასხვა ენებზე, 1413 00:58:08,800 --> 00:58:10,280 სავარაუდოდ თქვენ დაიჭერს სრულად 1414 00:58:10,280 --> 00:58:11,580 სხვადასხვა პროგრამა outputted. 1415 00:58:11,580 --> 00:58:14,140 თქვენ დაიჭერს სრულიად განსხვავებული შეცდომის შეტყობინებები. 1416 00:58:14,140 --> 00:58:16,750 და ასევე უბრალოდ თვალსაზრისით დიზაინი, ეს იქნებოდა სავარაუდოდ იქნება 1417 00:58:16,750 --> 00:58:19,140 ცუდი დიზაინი გადაწყვეტილება უნდა წერილობით ორ სხვადასხვა 1418 00:58:19,140 --> 00:58:21,510 ენებზე თითქმის იდენტურად დაასახელა ფაილი წელს 1419 00:58:21,510 --> 00:58:23,000 ზუსტად იგივე დირექტორიაში, გამოყენებით 1420 00:58:23,000 --> 00:58:24,550 ავტომატური ინსტრუმენტი, როგორიცაა მიიღოს. 1421 00:58:24,550 --> 00:58:27,750 ასე, რომ შეიძლება ასევე დააყენებს უკან და ამბობენ 15 წლის აკეთებს ეს 1422 00:58:27,750 --> 00:58:29,190 არასდროს რომ შეცდომა იყო. 1423 00:58:29,190 --> 00:58:30,030 შეიძლება მოხდეს. 1424 00:58:30,030 --> 00:58:31,190 მაგრამ უბრალოდ სხვადასხვა, ვფიქრობ, 1425 00:58:31,190 --> 00:58:33,180 ლოგისტიკური თავდაცვითი ადგილი. 1426 00:58:33,180 --> 00:58:35,440 Plus შეცდომის შეტყობინებები, რომ მოჰყვეს, რომელიც 1427 00:58:35,440 --> 00:58:37,260 საბოლოოდ გამოვლენა რა საკითხი. 1428 00:58:37,260 --> 00:58:39,120 მაგრამ შესაძლებელი კუთხეში შემთხვევაში. 1429 00:58:39,120 --> 00:58:41,730 >> ყველა უფლება, მოდით შემოიღონ მხოლოდ რამდენიმე სხვა 1430 00:58:41,730 --> 00:58:45,600 მახასიათებლები აქ არის, ასე რომ ჩვენ შეგვიძლია დავიწყოთ მშენებლობაზე უფრო 1431 00:58:45,600 --> 00:58:47,140 და უფრო რთული პროგრამა. 1432 00:58:47,140 --> 00:58:49,000 ასე რომ, პირველ რიგში, მათემატიკის. 1433 00:58:49,000 --> 00:58:51,520 ამიტომ მათემატიკის მაგალითები მხოლოდ სახის ადვილი პირველ კვირას. 1434 00:58:51,520 --> 00:58:53,560 ეს არ არის იმის თქმა, რომ ყველა პროგრამირების დაახლოებით 1435 00:58:53,560 --> 00:58:54,390 მათემატიკის. 1436 00:58:54,390 --> 00:58:57,890 რა თქმა უნდა, გაგება სხვადასხვა თვისებები 1437 00:58:57,890 --> 00:58:59,610 მათემატიკის, ალგებრა, კერძოდ, არის 1438 00:58:59,610 --> 00:59:00,330 საკმაოდ შესაბამისი აქ. 1439 00:59:00,330 --> 00:59:03,010 უმაღლეს დონეზე CS კლასების, წრფივი ალგებრა, 1440 00:59:03,010 --> 00:59:03,920 Calculus, და მოსწონს. 1441 00:59:03,920 --> 00:59:06,500 მაგრამ რეალიზება უმეტესობა, რაც ჩვენ გავაკეთებთ ამ სემესტრის ამცირებს არ 1442 00:59:06,500 --> 00:59:09,230 to მათემატიკის, და, რა თქმა უნდა, არ არითმეტიკა, თავისთავად, მაგრამ ნამდვილად 1443 00:59:09,230 --> 00:59:11,570 უბრალოდ ლოგიკა და აზროვნების ფრთხილად. 1444 00:59:11,570 --> 00:59:14,310 და ამიტომ ეს ურთიერთკავშირი, რომ კომპიუტერული მეცნიერების დიდი ხანია ჰქონდა, 1445 00:59:14,310 --> 00:59:16,570 განსაკუთრებით საშუალო სკოლა დონეზე, ერთად მათემატიკის, არის 1446 00:59:16,570 --> 00:59:17,370 ცოტა დამაბნეველი. 1447 00:59:17,370 --> 00:59:20,090 რადგან ყველაზე პროგრამებს, ჩვენ წერენ, მართლაც, არის 1448 00:59:20,090 --> 00:59:23,290 სახის მაღალ დონეზე და ფოკუსირება პრობლემის გადაჭრის რომ, 1449 00:59:23,290 --> 00:59:26,410 დარწმუნებული, შესაძლოა გამოვიყენოთ გარდა ამისა, გამოკლება, და სხვადასხვა 1450 00:59:26,410 --> 00:59:28,650 მათემატიკური ფორმულები ან მოსწონს, 1451 00:59:28,650 --> 00:59:30,860 მაგრამ დღის ბოლოს, ის შესახებ ფიქრი და არა 1452 00:59:30,860 --> 00:59:33,240 უბრალოდ განხორციელების ხომ შეიძლება ეს გააკეთა, როგორიცაა საერთაშორისო გამჭვირვალობა 1453 00:59:33,240 --> 00:59:35,050 კალკულატორი in საშუალო სკოლა. 1454 00:59:35,050 --> 00:59:38,410 >> ამრიგად, რომ განაცხადა, მოდით ახლა რაღაც ამ 1455 00:59:38,410 --> 00:59:40,980 მათემატიკური ოპერატორები, რომ არსებობენ, რათა შევძლოთ მოგზაურობა 1456 00:59:40,980 --> 00:59:43,950 მეტი ზოგიერთი ფუძემდებლური ასპექტები პროგრამირება, ან 1457 00:59:43,950 --> 00:59:48,930 ამ შემთხვევაში C. ასე რომ, როგორც CS50 ბიბლიოთეკა ვარაუდით, 1458 00:59:48,930 --> 00:59:51,520 და დღეს ჩვენ მხოლოდ გამოყენებით GetString - და მომენტი 1459 00:59:51,520 --> 00:59:52,940 ალბათ ერთი სხვა ფუნქცია - 1460 00:59:52,940 --> 00:59:55,380 მაგრამ არსებობს სხვადასხვა მონაცემები ტიპების კომპიუტერი. 1461 00:59:55,380 --> 00:59:58,550 დასასრულს დღეს, კომპიუტერები მხოლოდ ვიცი 0S და 1s. 1462 00:59:58,550 --> 01:00:01,880 მაგრამ გავიხსენოთ, რომ გასულ კვირას ჩვენ ვისაუბრეთ ორობითი სისტემა 1463 01:00:01,880 --> 01:00:05,000 წელს წარმოადგენს ნომრები, როგორიცაა ნომერი 0, და 1 და 2, 1464 01:00:05,000 --> 01:00:07,480 ყველა გზა ზე მდე 8, როგორც Nate-ის ვიდეო. 1465 01:00:07,480 --> 01:00:08,840 და მაშინ ჩვენ შეგვიძლია ითვლიან ბევრად უფრო მაღალია, როგორც ჩვენ 1466 01:00:08,840 --> 01:00:10,000 გააკეთა სცენაზე აქ. 1467 01:00:10,000 --> 01:00:15,660 მაგრამ თუ გსურთ წარმოადგენენ არა მხოლოდ ციფრები მაგრამ წერილებს, 1468 01:00:15,660 --> 01:00:18,240 ჩვენ, ადამიანები, უნდა ამუშავება ზოგიერთი თვითნებური 1469 01:00:18,240 --> 01:00:21,180 კონვენციები, რომლის დროსაც თუ დღის ბოლოს ყველა ჩემი კომპიუტერი 1470 01:00:21,180 --> 01:00:24,260 არ არის უნარი გამოხატოს 0S და 1s, ისევე ჩვენ უმჯობესია 1471 01:00:24,260 --> 01:00:27,990 დაიწყოს მასტანდარტიზირებელი ნიმუში 0S და 1s რომ წარმოადგენენ 1472 01:00:27,990 --> 01:00:28,800 სხვადასხვა რამ. 1473 01:00:28,800 --> 01:00:32,370 ნიმუში 0S და 1s, რომელიც წარმოადგენს წერილში. 1474 01:00:32,370 --> 01:00:34,840 ნიმუში 0S და 1s რომ წარმოადგენენ წერილში z. 1475 01:00:34,840 --> 01:00:37,600 ნიმუში 0S და 1s რომ წარმოადგენენ ფერი ცისფერი, ან 1476 01:00:37,600 --> 01:00:38,600 წითელი, ან მოსწონს. 1477 01:00:38,600 --> 01:00:42,360 ჩვენ უნდა გამოვიყენოთ ყველა ამ 0S და 1s გამოხატოს ვდებთ წელს 1478 01:00:42,360 --> 01:00:45,140 სხვადასხვა კონტექსტში, სხვადასხვა გზით, რომლებიც არ არიან 1479 01:00:45,140 --> 01:00:46,470 აუცილებლად numeric. 1480 01:00:46,470 --> 01:00:51,150 >> ამიტომ თვალსაზრისით წარმომადგენლობა, C აქვს სხვადასხვა მონაცემთა ტიპები, 1481 01:00:51,150 --> 01:00:52,550 და ჩვენ ვნახეთ ერთი ასეთი ჯერჯერობით. 1482 01:00:52,550 --> 01:00:54,940 ჩვენ ვნახეთ int, და გაფრთხილების რა არ ეკრანზე 1483 01:00:54,940 --> 01:00:56,140 ახლავე არის სიმებიანი. 1484 01:00:56,140 --> 01:00:58,550 სიმებიანი არ, ფაქტობრივად, არსებობს C. ისევ, ეს 1485 01:00:58,550 --> 01:01:00,610 გამარტივებას ჩვენ წარდგენის პირველად 1486 01:01:00,610 --> 01:01:01,570 რამდენიმე კვირის. 1487 01:01:01,570 --> 01:01:03,770 Char არის ინდივიდუალური ხასიათი. 1488 01:01:03,770 --> 01:01:07,050 Float არის რეალური ნომერი, ერთად ათობითი წერტილი და ციფრები უნდა 1489 01:01:07,050 --> 01:01:09,066 მარცხენა და მარჯვნივ. 1490 01:01:09,066 --> 01:01:16,040 ორმაგი არის ის, რაც, მათ, ვისაც დაბრუნება ადრე ფონზე? 1491 01:01:16,040 --> 01:01:19,720 ამიტომ ორმაგი ორჯერ რაღაც. 1492 01:01:19,720 --> 01:01:21,240 დასძენს ორჯერ იმდენი სიზუსტით. 1493 01:01:21,240 --> 01:01:22,440 ასე რომ რას ნიშნავს ეს? 1494 01:01:22,440 --> 01:01:26,090 ასე რომ თითოეულ ამ შემთხვევაში, მსოფლიოს მსგავსი სტანდარტიზებული 1495 01:01:26,090 --> 01:01:27,960 რამდენი ბიტი გამოიყენება წარმოადგენენ 1496 01:01:27,960 --> 01:01:29,160 თითოეული ეს ყველაფერი. 1497 01:01:29,160 --> 01:01:31,590 ასე რომ, თუ თქვენ ადევნებდნენ Nate ს ASCII ვიდეო უკვე ნაწილი 1498 01:01:31,590 --> 01:01:36,170 საქართველოს pset 0, თუ გვიან ამ კვირაში თქვენ, თქვენ ალბათ იცით 1499 01:01:36,170 --> 01:01:37,450 რომ ASCII - 1500 01:01:37,450 --> 01:01:38,610 ხასიათი წარმომადგენლობების - 1501 01:01:38,610 --> 01:01:40,670 გამოყენება რამდენი ბიტი? 1502 01:01:40,670 --> 01:01:43,410 და თქვენ ალბათ კი მახსოვს ჩვენი დემო გასულ კვირას, თუ როგორ 1503 01:01:43,410 --> 01:01:45,500 ბევრი სცენაზე. 1504 01:01:45,500 --> 01:01:46,840 ასე 7 ან 8, როგორც წესი. 1505 01:01:46,840 --> 01:01:49,230 ასე რომ ზოგადად 8, და იქ რაღაც იწოდებოდა გაგრძელდეს 1506 01:01:49,230 --> 01:01:51,240 ASCII, რომელიც იყენებს ყველა 8 ბიტი, ნაცვლად 7. 1507 01:01:51,240 --> 01:01:54,710 მაგრამ ზოგადად, ჩვენ ვსაუბრობთ იმ უფლებამოსილების 2, ასე რომ, ამ შემთხვევაში, 8. 1508 01:01:54,710 --> 01:01:58,900 ასე რომ char in პროგრამირების ენა ჩვეულებრივ 8 ბიტი. 1509 01:01:58,900 --> 01:02:02,550 ასე int ზოგადად 32 ბიტი. 1510 01:02:02,550 --> 01:02:04,810 Float ზოგადად 32 ბიტი. 1511 01:02:04,810 --> 01:02:08,060 ორმაგი ზოგადად 64 ბიტი. 1512 01:02:08,060 --> 01:02:08,870 და რას ნიშნავს ეს? 1513 01:02:08,870 --> 01:02:11,500 ეს იმას ნიშნავს, თქვენ შეგიძლიათ წარმოადგენს უფრო დიდი ციფრები, ან იმ შემთხვევაში, 1514 01:02:11,500 --> 01:02:15,490 რეალური ციფრები, შეგიძლიათ კიდევ ბევრი გვაქვს ნომრები შემდეგ 1515 01:02:15,490 --> 01:02:16,240 ათობითი ადგილი. 1516 01:02:16,240 --> 01:02:18,980 გაცილებით მეტი სიზუსტით, ამ შემთხვევაში. 1517 01:02:18,980 --> 01:02:21,780 არის ხანგრძლივი ხანგრძლივი, სამწუხაროდ დაასახელა. 1518 01:02:21,780 --> 01:02:24,340 ასე რომ არსებობს int რომელიც 32 ბიტი. 1519 01:02:24,340 --> 01:02:29,800 არსებობს ხანგრძლივი რომელიც, nope, 32 ბიტი. 1520 01:02:29,800 --> 01:02:32,610 და ხანგრძლივი ხანგრძლივი რომელიც 64 ბიტი. 1521 01:02:32,610 --> 01:02:34,830 თუმცა ზოგიერთი ეს ის კონტექსტში მგრძნობიარე, ეს დამოკიდებულია 1522 01:02:34,830 --> 01:02:36,190 როგორი კომპიუტერი გაქვთ. 1523 01:02:36,190 --> 01:02:40,510 ასე რომ ზოგადად, ჩვენ აკონკრეტებენ, საშინაო დავალების ან ინტელექტუალური, როდესაც 1524 01:02:40,510 --> 01:02:41,180 ეს ფაქტიურად საკითხები. 1525 01:02:41,180 --> 01:02:43,080 მაგრამ საქმე ის არის, არსებობს ყველა ამ სხვადასხვა 1526 01:02:43,080 --> 01:02:44,250 წარმომადგენლობების აქ. 1527 01:02:44,250 --> 01:02:45,950 >> მოდით რეალურად ჩაყვინთვის შევიდა პროგრამა. 1528 01:02:45,950 --> 01:02:48,300 იმის ნაცვლად, რომ დაეწერა ეს ერთი ნულიდან, მინდა წავიდეთ წინ 1529 01:02:48,300 --> 01:02:50,940 და ქმნის დღევანდელი კოდის - რაც არის 1530 01:02:50,940 --> 01:02:54,980 ონლაინ - თუ გსურთ Tinker გარშემო შემოსული, ან დაბრუნების შესახებ 1531 01:02:54,980 --> 01:02:57,120 ოთხშაბათს ელექტრო თქვენს კომპიუტერში, ინსტრუქციები 1532 01:02:57,120 --> 01:02:59,160 ამისთვის რაც ბმული on კურსი ვებგვერდი. 1533 01:02:59,160 --> 01:03:00,830 აქ სუპერ მარტივი პროგრამა. 1534 01:03:00,830 --> 01:03:02,520 მაგრამ მივიღე პატარა რაღაც ახალი ზედა, რომ 1535 01:03:02,520 --> 01:03:03,650 არ გვქონდა ადრე. 1536 01:03:03,650 --> 01:03:05,800 მთელი უამრავი ლურჯი ხაზები ტექსტი. 1537 01:03:05,800 --> 01:03:08,410 ასე რომ ეს ლურჯი ხაზები წარმოადგენენ კომენტარები. 1538 01:03:08,410 --> 01:03:10,620 ასე რომ საკმაოდ სასარგებლოა პროგრამის შეძლონ წერა 1539 01:03:10,620 --> 01:03:13,160 რამდენიმე კომენტარი საკუთარ თავს, ან კოლეგებს, ან მეგობრები, ან 1540 01:03:13,160 --> 01:03:15,700 სწავლების პრაქტიკის, რომ სახის აღწერს რა ხდება 1541 01:03:15,700 --> 01:03:18,500 ამ ფაილის, მაგრამ არაფერი აქვთ ერთად C კოდი თავისთავად. 1542 01:03:18,500 --> 01:03:20,860 არაფერ შუაშია პროგრამის ფუნქციურად, უბრალოდ 1543 01:03:20,860 --> 01:03:21,760 ესთეტიკას. 1544 01:03:21,760 --> 01:03:24,580 ასე რომ გზა ხაზვის დო არის თქვენ ზოგადად დაიწყოს თქვენი 1545 01:03:24,580 --> 01:03:29,860 კომენტარების / * და თქვენ დასრულდება თქვენი კომენტარი 1546 01:03:29,860 --> 01:03:31,270 * /. 1547 01:03:31,270 --> 01:03:34,140 და თუ თქვენ ნამდვილად anal და მოსწონს მიაპყროს სახის სურათები, 1548 01:03:34,140 --> 01:03:35,870 მაშინ მინდა დააყენა მთელი ბევრი ვარსკვლავი, ნეტავ გააკეთებს 1549 01:03:35,870 --> 01:03:36,970 პატარა ყუთი მოსწონს ეს. 1550 01:03:36,970 --> 01:03:37,990 მაგრამ არცერთი რომ საკითხები. 1551 01:03:37,990 --> 01:03:40,230 ერთადერთი, რაც მნიშვნელოვანია არის ძალიან პირველი 1552 01:03:40,230 --> 01:03:41,620 და ძალიან ბოლო. 1553 01:03:41,620 --> 01:03:43,820 ეს არის რასაც მრავალ ხაზის კომენტარი. 1554 01:03:43,820 --> 01:03:46,610 და ეს მხოლოდ ადამიანის კონვენციის ხშირად ვარსკვლავი და ყუთი 1555 01:03:46,610 --> 01:03:48,420 რამ ასე, თუ თქვენ გაქვთ ბევრი თავისუფალი დრო. 1556 01:03:48,420 --> 01:03:51,550 >> ამიტომ მას შემდეგ, რაც თქვენ დაწერილი რამდენიმე კომენტარი, ზოგადად, მოდის 1557 01:03:51,550 --> 01:03:53,160 ფაქტობრივი guts პროგრამის. 1558 01:03:53,160 --> 01:03:55,630 აი ჩვენი ნაცნობი # მოიცავს . 1559 01:03:55,630 --> 01:04:00,410 და უბრალოდ სწრაფი, ეს აუცილებელია თუ არა საჭირო? 1560 01:04:00,410 --> 01:04:02,860 აუდიტორია: აუცილებელია. 1561 01:04:02,860 --> 01:04:04,390 DAVID Malan: ასე რომ რეალურად საჭირო არ არის. 1562 01:04:04,390 --> 01:04:07,070 რატომ, თუმცა, არის ეს საჭირო არ? 1563 01:04:07,070 --> 01:04:08,170 ასე რომ არ არსებობს printf. 1564 01:04:08,170 --> 01:04:08,510 მართლაც. 1565 01:04:08,510 --> 01:04:10,470 ყველა ვაკეთებთ ამ პროგრამაში არის მათემატიკა. 1566 01:04:10,470 --> 01:04:11,640 ასე, რომ შეიძლება რეალურად წაშლა რომ. 1567 01:04:11,640 --> 01:04:14,330 ასე, რომ თქვენ ყოველთვის არ უნდა შეიცავდეს რაიმე ზე 1568 01:04:14,330 --> 01:04:15,420 ზევით პროგრამა. 1569 01:04:15,420 --> 01:04:17,020 >> მოდით გაამარტივებს ამ bit. 1570 01:04:17,020 --> 01:04:18,650 და ახლა შეამჩნია რა ეს პროგრამა აკეთებს. 1571 01:04:18,650 --> 01:04:19,920 ბევრი საინტერესო. 1572 01:04:19,920 --> 01:04:21,410 int x = 1. 1573 01:04:21,410 --> 01:04:22,550 ისე, რა არის ეს აკეთებს? 1574 01:04:22,550 --> 01:04:25,130 ისე, ვფიქრობ, თავში გონებრივი მოდელი ადრე. 1575 01:04:25,130 --> 01:04:27,500 მარცხენა მხარეს ამ გამოხატვის აკეთებს იმას? 1576 01:04:31,440 --> 01:04:32,830 შექმნა ფართი რიცხვი. 1577 01:04:32,830 --> 01:04:33,930 ასე რომ რა ზომის? 1578 01:04:33,930 --> 01:04:36,980 ასევე, ჩვენ არ უნდა გაიგოს, რომ 32 ბიტი. 1579 01:04:36,980 --> 01:04:40,070 მანამდე, string იყო ტექნიკურად 32 ბიტი, მაგრამ უფრო 1580 01:04:40,070 --> 01:04:40,950 on რომ მომავალში. 1581 01:04:40,950 --> 01:04:42,240 მაგრამ int არის 32 ბიტი. 1582 01:04:42,240 --> 01:04:45,590 ასე რომ, ეს გამოხატვის მარცხენა აქ, int x უბრალოდ ამბობს hey 1583 01:04:45,590 --> 01:04:48,490 ოპერაციული სისტემა, მომეცი 32 ​​ბიტი ოპერატიული - 1584 01:04:48,490 --> 01:04:50,450 სხვაგვარად ცნობილია როგორც 4 bytes of RAM - 1585 01:04:50,450 --> 01:04:53,930 ასე რომ შემიძლია დააყენა მთელი ამ სივრცეში. 1586 01:04:53,930 --> 01:04:55,330 რა რიცხვი არ გვინდა დააყენა? 1587 01:04:55,330 --> 01:04:56,640 ისე, უბრალოდ ნომერი 1. 1588 01:04:56,640 --> 01:04:59,530 int y იღებს 2, აკეთებს ზუსტად იგივე რამ, მიუხედავად იმისა, 1589 01:04:59,530 --> 01:05:02,160 ნომერი მეტია, თვალსაზრისით მასშტაბები. 1590 01:05:02,160 --> 01:05:04,790 პუნქტების თავისთავად ჯერ კიდევ მხოლოდ 32 ბიტი. 1591 01:05:04,790 --> 01:05:06,520 უბრალოდ ნიმუში ბიტი განსხვავებულია, რათა 1592 01:05:06,520 --> 01:05:08,260 წარმოადგენენ 1 წინააღმდეგ 2. 1593 01:05:08,260 --> 01:05:11,980 int z ახლა ამბობს მომეცი კიდევ 32 ბიტი, ეძახით z, და ამით 1594 01:05:11,980 --> 01:05:14,210 summation საქართველოს 1 და 2 იქ. 1595 01:05:14,210 --> 01:05:18,050 ასე რომ ახლა z სავარაუდოდ შენახვის ღირებულება 3, 1596 01:05:18,050 --> 01:05:19,360 და შემდეგ დაბრუნდნენ 0. 1597 01:05:19,360 --> 01:05:23,020 >> ახლა ამ პროგრამის ამჯამად მას არაფერი საინტერესო? 1598 01:05:23,020 --> 01:05:26,170 ასე რომ რეალურად არაფერს აკეთებს საინტერესო, ნებისმიერ 1599 01:05:26,170 --> 01:05:28,450 გრძნობა, რადგან, თუ რატომ? იგი აკეთებს რაღაც მათემატიკის. 1600 01:05:28,450 --> 01:05:30,590 მაგრამ არ ბრუნდებოდა პასუხი, უფლება. 1601 01:05:30,590 --> 01:05:31,790 ეს დაბრუნების 0. 1602 01:05:31,790 --> 01:05:33,440 ეს არ დაბეჭდვის პასუხი. 1603 01:05:33,440 --> 01:05:35,760 ასე რომ ამ პროგრამის ძირეულად უსარგებლო, როგორც ეს 1604 01:05:35,760 --> 01:05:36,350 დგას ახლა. 1605 01:05:36,350 --> 01:05:37,220 იგი აკეთებს რაღაც მუშაობა. 1606 01:05:37,220 --> 01:05:39,530 იგი აპირებს გარკვეული რაოდენობის წამში, ან microseconds, რათა 1607 01:05:39,530 --> 01:05:41,510 აწარმოებს, მაგრამ რეალურად არ აკეთებს არაფერს 1608 01:05:41,510 --> 01:05:42,770 სასარგებლოა ადამიანის. 1609 01:05:42,770 --> 01:05:46,810 >> მოდით რეალურად ახლა გახსნა math2, სადაც ახლა მე რეალურად 1610 01:05:46,810 --> 01:05:48,250 დაბეჭდვის შედეგი. 1611 01:05:48,250 --> 01:05:51,260 ასე რომ, ეს ძალიან შეიძლება inferred ჩვენი წინა მაგალითები. 1612 01:05:51,260 --> 01:05:54,320 თუკი მინდა დაკავდით მარტივი მათემატიკა, int x = 1, Y 1613 01:05:54,320 --> 01:05:56,820 = 2. Z არის 1 plus 2 არის. 1614 01:05:56,820 --> 01:05:59,240 რა არის ეს აპირებს ამობეჭდოთ აშკარად? 1615 01:05:59,240 --> 01:06:00,120 მხოლოდ 3. 1616 01:06:00,120 --> 01:06:01,590 ამიტომ სწრაფი საღი აზრის შეამოწმოს. 1617 01:06:01,590 --> 01:06:03,830 ნება მომეცით გადაინაცვლოს ამ დირექტორიაში. 1618 01:06:03,830 --> 01:06:06,480 ასე CD source1m. 1619 01:06:06,480 --> 01:06:09,370 ნება მომეცით წავიდეთ წინ და ტიპის მიიღოს math2. 1620 01:06:09,370 --> 01:06:11,510 არარის შეცდომის შეტყობინებები გამოვიდა, ნება მომეცით, აწარმოებს - 1621 01:06:11,510 --> 01:06:14,800 არ a.out--ნება მომეცით აწარმოებს math2. შეიყვანეთ. 1622 01:06:14,800 --> 01:06:16,750 მართლაც, ეს ამობეჭდილი 3. 1623 01:06:16,750 --> 01:06:18,460 კარგად მოდით შევხედოთ ვარიანტი ამ. 1624 01:06:18,460 --> 01:06:23,870 In math3.c, ჩვენ ახლა ამ მაგალითს აქ. 1625 01:06:23,870 --> 01:06:26,540 >> ასე რომ, ეს ერთი სახის საინტერესო. 1626 01:06:26,540 --> 01:06:32,000 ასე რომ ამ ერთი აქ, პასუხი აპირებს მიიღოს 1 დაყოფილი 10, 1627 01:06:32,000 --> 01:06:33,910 და შენიშნავს, მე გამოაცხადა როგორც float. 1628 01:06:33,910 --> 01:06:35,200 რატომ მინდა, რომ იყოს float? 1629 01:06:35,200 --> 01:06:36,110 ისე, ეს ფრაქცია. 1630 01:06:36,110 --> 01:06:37,140 ეს იქნება რეალური რაოდენობა. 1631 01:06:37,140 --> 01:06:40,970 ასე რომ, ეს იქნება 0.1, იმედია - 10%, ამ შემთხვევაში. 1632 01:06:40,970 --> 01:06:42,610 და რა მერე გვინდა ამობეჭდოთ? 1633 01:06:42,610 --> 01:06:43,440 ისე, ეს პასუხი. 1634 01:06:43,440 --> 01:06:44,760 კარგად, მოდით აჯავრებენ ამ გარდა პირველი. 1635 01:06:44,760 --> 01:06:47,020 ა.შ. მარცხენა მხარეს, განაცხადოს 1636 01:06:47,020 --> 01:06:49,410 ათწილადი, ეძახით უპასუხოს. 1637 01:06:49,410 --> 01:06:52,280 მარჯვენა მხარეს, ნუ 1 დაყოფილი 10 და დააყენა, რომ 1638 01:06:52,280 --> 01:06:54,370 უპასუხოს შიგნით ცვლადი. 1639 01:06:54,370 --> 01:06:56,410 ახლა, ამ ხაზის გამოიყურება ცოტა მეტი cryptic. 1640 01:06:56,410 --> 01:06:59,440 მაგრამ შეამჩნია რამდენიმე ნაცნობი თვისებები. % ნიშნავს აქ მოდის 1641 01:06:59,440 --> 01:07:00,490 placeholder. 1642 01:07:00,490 --> 01:07:03,230 ვ ნიშნავს აქ მცურავი წერტილი ღირებულება, უბრალოდ რეალური 1643 01:07:03,230 --> 01:07:05,490 ნომერი, რაღაც ერთად ათობითი წერტილი. 1644 01:07:05,490 --> 01:07:07,330 0.2 საშუალებით რა? 1645 01:07:07,330 --> 01:07:10,740 ვინმეს ვიცით ადრე გამოცდილება? 1646 01:07:10,740 --> 01:07:12,010 ორი ათობითი ადგილებში. 1647 01:07:12,010 --> 01:07:14,050 ამიტომ ჩვენ არ უნახავს ამ ადრე, მაგრამ ეს მხოლოდ გზა 1648 01:07:14,050 --> 01:07:16,360 განხორციელებისას ცოტა მეტი კონტროლი printf და 1649 01:07:16,360 --> 01:07:20,840 გამონათქვამი არ მაძლევს 30 ქულა შემდეგ ათობითი წერტილი, 1650 01:07:20,840 --> 01:07:22,490 ნაცვლად მომეცი მხოლოდ 2. 1651 01:07:22,490 --> 01:07:23,960 >> და მაშინ მოდით წავიდეთ წინ და აწარმოებს ამ. 1652 01:07:23,960 --> 01:07:30,160 ასე რომ მათემატიკის 3 და ახლა ნება მომეცით აწარმოებს მათემატიკის 3, შეიყვანეთ. 1653 01:07:30,160 --> 01:07:34,630 და ეს არ არის სწორი. 1654 01:07:34,630 --> 01:07:37,390 ჩვენ, როგორც ჩანს, არ შეექმნა ჩვენი პირველი ნამდვილი bug. 1655 01:07:37,390 --> 01:07:39,400 კარგად, იქნებ მე უბრალოდ არ ეძებს მჭიდრო საკმარისი. 1656 01:07:39,400 --> 01:07:41,960 ნება მომეცით ახვიდეთ აქ, და ნება მიბოძეთ 20 ათობითი 1657 01:07:41,960 --> 01:07:43,300 წერტილი ადგილებში. 1658 01:07:43,300 --> 01:07:47,950 და ნება მომეცით შეადგინონ ამ გააკეთეთ math3, აწარმოებს. 1659 01:07:47,950 --> 01:07:50,960 Pretty დარწმუნებული 1 დაყოფილი 10 არ არის 0. 1660 01:07:50,960 --> 01:07:54,270 ასე რომ, რა ხდება? 1661 01:07:54,270 --> 01:07:56,740 კარგად okay, ამიტომ რეალურად ეს არ უნდა გავაკეთოთ ეს. 1662 01:07:56,740 --> 01:07:57,600 სწორედ კარგი აზრის. 1663 01:07:57,600 --> 01:07:59,140 ეს მართლაც მხოლოდ დამთხვევა 1664 01:07:59,140 --> 01:08:00,220 რომ ვაკეთებთ ამ. 1665 01:08:00,220 --> 01:08:02,010 მაგრამ იმის დასამტკიცებლად, რომ ეს არ არის ის, მე 1666 01:08:02,010 --> 01:08:03,160 დაბრუნების რაღაც შემთხვევითი. 1667 01:08:03,160 --> 01:08:05,160 ნუ გააკეთებთ ამას სახლში, რადგან უბრალოდ არასწორია. 1668 01:08:05,160 --> 01:08:08,000 მაგრამ მიიღოს math3, ნება მომეცით გაუშვით. 1669 01:08:08,000 --> 01:08:10,690 ასე რომ არაფერი აქვს, რასაც მე დაბრუნებას, მხოლოდ უნდა გააკეთოს 1670 01:08:10,690 --> 01:08:11,940 რა მე ბეჭდვა. 1671 01:08:11,940 --> 01:08:14,150 მაგრამ გავიგე მისი დანგრევა აქ. 1672 01:08:14,150 --> 01:08:15,270 რა? 1673 01:08:15,270 --> 01:08:17,524 აუდიტორია: ამიტომ, ჩვენ უნდა დაწეროთ ნომრები 1674 01:08:17,524 --> 01:08:19,680 გაყოფის, როგორც - 1675 01:08:19,680 --> 01:08:20,319 >> DAVID Malan: Okay კარგი. 1676 01:08:20,319 --> 01:08:22,810 ამიტომ, ჩვენ უნდა დაწეროთ ნომრები მონაწილე 1677 01:08:22,810 --> 01:08:25,979 სამმართველოს აქ როგორც მცურავი პუნქტიანი აფასებს საკუთარ თავს. 1678 01:08:25,979 --> 01:08:29,359 ასე რომ პრობლემა აქ არ არის, როგორც ადრე: C, როგორც ბევრი 1679 01:08:29,359 --> 01:08:31,819 ენებზე, აქვს სხვადასხვა ტიპის მონაცემები. 1680 01:08:31,819 --> 01:08:34,600 და იმ მონაცემთა ტიპები, მაგალითად, ეს აქ. 1681 01:08:34,600 --> 01:08:37,430 და მონაცემთა ტიპები კითხვა აქ, როცა ტიპი 1 და მერე 1682 01:08:37,430 --> 01:08:40,870 ტიპის 10, ალბათ, რა ტიპის მონაცემები? 1683 01:08:40,870 --> 01:08:42,170 ასე რომ ალბათ int, არა? 1684 01:08:42,170 --> 01:08:44,149 ეს ნამდვილად არ float რადგან იქ არ არის ათობითი 1685 01:08:44,149 --> 01:08:45,460 წერტილი ან რამე მაგდაგვარს. 1686 01:08:45,460 --> 01:08:48,270 ასე რომ, რეალურად, მაქვს int დაყოფილი int. 1687 01:08:48,270 --> 01:08:52,160 >> ასე რომ საინტერესო რამ შესახებ მათემატიკის და კომპიუტერულ არის, რომ 1688 01:08:52,160 --> 01:08:54,840 თუ თქვენ აკეთებთ სამმართველოს გამოყენებით რიცხვებით - 1689 01:08:54,840 --> 01:08:57,310 1 დაყოფილი 10, დიახ არის 0.1. 1690 01:08:57,310 --> 01:09:01,420 თუმცა, როდესაც თქვენ გამყოფი რიცხვი მიერ მთელი რიცხვი, 1691 01:09:01,420 --> 01:09:06,859 პასუხი უნდა იყოს ასევე მთელი რიცხვი მხოლოდ იმიტომ, ახლა. 1692 01:09:06,859 --> 01:09:08,630 და რაც გულისხმობს შემდეგ? 1693 01:09:08,630 --> 01:09:13,640 ისე, თუ პასუხი 1 დაყოფილი 10 უდრის 0.1, რა 1694 01:09:13,640 --> 01:09:15,680 კომპიუტერის გაკეთებას აპირებს, რომელიც არ ვიცი როგორ 1695 01:09:15,680 --> 01:09:19,270 წარმოადგენენ 0.1, რადგან ისინი მცურავი წერტილი ღირებულება, არ 1696 01:09:19,270 --> 01:09:21,910 მთელი რიცხვი, ის აპირებს Chop off ყველაფერი შემდეგ 1697 01:09:21,910 --> 01:09:27,470 ათობითი წერტილი და უბრალოდ გაჩვენებთ 0 დასაწყისში. 1698 01:09:27,470 --> 01:09:29,540 და ის ფაქტი, რომ ის ბეჭდვას, როგორც მცურავი წერტილი 1699 01:09:29,540 --> 01:09:31,200 ღირებულება, უბრალოდ ესთეტიკური რამ. 1700 01:09:31,200 --> 01:09:34,279 ეს იმიტომ, რომ მე აიძულა კომპიუტერიდან ბეჭდვა ეს 1701 01:09:34,279 --> 01:09:35,229 მცურავი წერტილი ღირებულება. 1702 01:09:35,229 --> 01:09:37,720 მართლაც მე გამოაცხადა როგორც float, მაგრამ მათემატიკის არის 1703 01:09:37,720 --> 01:09:39,010 ხდება აქ. 1704 01:09:39,010 --> 01:09:41,859 >> ნება მომეცით, რეალურად დაფიქსირება ამ ერთ საკმაოდ მარტივი გზა. 1705 01:09:41,859 --> 01:09:45,250 რატომ არ მე უბრალოდ 10.0 და 1.0, თუმცა 1706 01:09:45,250 --> 01:09:47,609 ტექნიკურად მე ვერ მიიღოს away მასთან უბრალოდ აკეთებს ერთი იმ. 1707 01:09:47,609 --> 01:09:50,630 ახლა ნება მომეცით წავიდეთ წინ და მიიღოს math3. 1708 01:09:50,630 --> 01:09:56,350 ნება მომეცით წავიდეთ წინ და ახლა აწარმოებს math3, შეიყვანეთ. 1709 01:09:56,350 --> 01:09:57,500 და ახლა, OH ბიჭი. 1710 01:09:57,500 --> 01:10:00,050 ახლა ჩვენ გვაქვს ახალი პრობლემა საერთოდ. 1711 01:10:00,050 --> 01:10:05,600 ასე უკეთესი, უფლება; ჩვენ უფრო ახლოს 0.1, მაგრამ რაც ნათლად არის 1712 01:10:05,600 --> 01:10:06,240 არასწორი აქ? 1713 01:10:06,240 --> 01:10:08,260 თუ ჩვენ ცრუობს თქვენ წლების განმავლობაში, არა? 1714 01:10:08,260 --> 01:10:13,660 1 დაყოფილი 10 ფაქტიურად არ საკმაოდ 0.1, ისე რა 1715 01:10:13,660 --> 01:10:14,700 მართლაც ხდება? 1716 01:10:14,700 --> 01:10:16,420 კარგად შეგიძლიათ სახის მიზეზი ამ ლოგიკურად. 1717 01:10:16,420 --> 01:10:19,200 თუ კომპიუტერში მხოლოდ სასრულ თანხის RAM დაიწყოს 1718 01:10:19,200 --> 01:10:23,530 , და მართლაც კომპიუტერი მხოლოდ იყენებს 32 ბიტს ამისთვის 1719 01:10:23,530 --> 01:10:26,200 მცურავი წერტილი ღირებულება, იგი დგას, რომ მიზეზი, რომ 1720 01:10:26,200 --> 01:10:29,870 სასრულ რაოდენობის ბიტი, 32 ამ შემთხვევაში, დიახ, შეგიძლიათ 1721 01:10:29,870 --> 01:10:31,050 წარმოადგენს ბევრი პერსონალი. 1722 01:10:31,050 --> 01:10:33,220 ეს ფაქტიურად არის ოთხი მილიარდი სხვადასხვა ღირებულებების შეიძლება იყოს 1723 01:10:33,220 --> 01:10:38,040 წარმოდგენილი 32 ბიტი, 2 დან 32, მაგრამ მაინც სასრული. 1724 01:10:38,040 --> 01:10:40,730 ასე რომ პრობლემა ის არის, არსებობს უსასრულო რაოდენობის ნამდვილი 1725 01:10:40,730 --> 01:10:41,370 ციფრები, უფლება. 1726 01:10:41,370 --> 01:10:43,560 თუ მაძლევს რეალური ნომერი, მე ყოველთვის იპოვით თქვენთვის ერთი 1727 01:10:43,560 --> 01:10:46,080 ოდნავ უფრო, ოდნავ ნაკლები, მხოლოდ tweaking 1728 01:10:46,080 --> 01:10:47,970 ციფრები, რომლებიც შემდეგ ათობითი წერტილი. 1729 01:10:47,970 --> 01:10:50,870 ასე რომ, თუ თქვენ არ უსასრულო რაოდენობის ბიტი, თქვენ 1730 01:10:50,870 --> 01:10:52,940 ვერ შესაძლოა წარმოადგენდეს უსასრულო 1731 01:10:52,940 --> 01:10:54,800 პუნქტების რეალური ციფრები. 1732 01:10:54,800 --> 01:10:58,090 >> ასე რომ არსებობს ამ თანდაყოლილი ორაზროვნება კომპიუტერები და 1733 01:10:58,090 --> 01:11:00,930 ამ იღებს იმყოფებოდა ყველა დროის თუნდაც უმარტივესი of 1734 01:11:00,930 --> 01:11:02,260 პროგრამების მოსწონს ეს. 1735 01:11:02,260 --> 01:11:05,640 არამედ რამდენიმე ძალიან რეალური სამყაროს პრობლემაც. 1736 01:11:05,640 --> 01:11:07,790 ფაქტობრივად, მოდით მიიღოს მომენტში უბრალოდ შეხედეთ 1737 01:11:07,790 --> 01:11:09,530 რაღაც რომ მოხდა სინამდვილეში რეალობად. 1738 01:11:09,530 --> 01:11:11,620 ჩვენ უყუროთ მხოლოდ პირველი რამდენიმე წუთის, შემდეგ კი 1739 01:11:11,620 --> 01:11:13,270 ჩვენ პოსტი ლინკები ხაზზე. 1740 01:11:13,270 --> 01:11:16,700 მაგრამ ეს არის აღთქმა, რომ მხოლოდ ის, რაც შეიძლება არასწორი, საკმაოდ 1741 01:11:16,700 --> 01:11:19,680 პატიოსნად, ძალიან ტრაგიკული გზა, როდესაც ეს ყველაფერი არ 1742 01:11:19,680 --> 01:11:23,870 დასაფასებელია ან უბრალოდ ჩვენ ადამიანებს უშვებენ შეცდომებს, როდესაც საქმე 1743 01:11:23,870 --> 01:11:26,792 ამ სახის განხორციელების დეტალებს თანამედროვე კომპიუტერი. 1744 01:11:26,792 --> 01:11:27,284 >> [VIDEO Playing] 1745 01:11:27,284 --> 01:11:30,730 -ჩვენ ახლა დაბრუნდით საინჟინრო უბედურებების თანამედროვე Marvels. 1746 01:11:30,730 --> 01:11:32,200 კომპიუტერები. 1747 01:11:32,200 --> 01:11:34,920 ჩვენ ყველა მოდის მიიღოს ხშირად frustrating პრობლემები 1748 01:11:34,920 --> 01:11:36,750 რომ წავიდეთ მათთან. 1749 01:11:36,750 --> 01:11:40,690 Bugs, ვირუსებს, და პროგრამული უზრუნველყოფის glitches მცირე ფასების 1750 01:11:40,690 --> 01:11:42,550 გადაიხადოთ მოხერხებულობისთვის. 1751 01:11:42,550 --> 01:11:45,170 მაგრამ მაღალი ტექნიკური და მაღალი სიჩქარით სამხედრო და სივრცეში 1752 01:11:45,170 --> 01:11:48,450 პროგრამის განცხადებები, პატარა პრობლემა შეიძლება იყოს 1753 01:11:48,450 --> 01:11:52,220 Magnified შევიდა უბედურება. 1754 01:11:52,220 --> 01:11:56,780 4 ივნისს, 1996, მეცნიერები მზად დაიწყოს უპილოტო 1755 01:11:56,780 --> 01:11:58,430 Ariane 5 რაკეტა. 1756 01:11:58,430 --> 01:12:00,750 ეს იყო დატვირთული სამეცნიერო თანამგზავრების განკუთვნილია 1757 01:12:00,750 --> 01:12:03,580 დაამყაროს ზუსტად როგორ დედამიწის მაგნიტური ველი 1758 01:12:03,580 --> 01:12:06,900 ურთიერთქმედებს მზის ქარები. 1759 01:12:06,900 --> 01:12:10,330 სარაკეტო აშენდა ევროპის კოსმოსური სააგენტო და 1760 01:12:10,330 --> 01:12:13,450 გააუქმა off მისი დაწესებულებაში სანაპიროზე საფრანგეთის გაიანა. 1761 01:12:13,450 --> 01:12:16,970 >> -დაახლოებით შესახებ 37 წამში შევიდა ფრენის, მათ პირველი 1762 01:12:16,970 --> 01:12:19,700 შენიშნა რაღაც ხდებოდა არასწორი, რომ რეაქტიული საქშენები იყო 1763 01:12:19,700 --> 01:12:21,590 swiveling ისე, რომ ისინი მართლაც არ უნდა. 1764 01:12:21,590 --> 01:12:25,020 დაახლოებით 40 წამში შევიდა ფრენის, ნათლად ავტომობილის 1765 01:12:25,020 --> 01:12:27,340 იყო პრობლემები, და ეს მაშინ, როდესაც ისინი გადაწყვეტილება 1766 01:12:27,340 --> 01:12:28,136 გაანადგუროს იგი. 1767 01:12:28,136 --> 01:12:31,450 სპექტრი უსაფრთხოების მოხელის უზარმაზარ guts დაპრესილი 1768 01:12:31,450 --> 01:12:34,160 ღილაკს, ააფეთქეს სარაკეტო სანამ გახდებოდა 1769 01:12:34,160 --> 01:12:37,470 Hazard საჯარო უსაფრთხოებას. 1770 01:12:37,470 --> 01:12:40,750 >> -ეს იყო maiden voyage of Ariane 5, და მისი 1771 01:12:40,750 --> 01:12:43,990 განადგურების მოხდა გამო ხარვეზის ჩართული 1772 01:12:43,990 --> 01:12:45,480 სარაკეტო ის პროგრამული. 1773 01:12:45,480 --> 01:12:47,660 >> -პრობლემა Ariane იყო, რომ ნომერი, რომელიც 1774 01:12:47,660 --> 01:12:51,245 მოითხოვს 64 ბიტი გამოთქვას და მათ სურდათ გადაიყვანოთ იგი 1775 01:12:51,245 --> 01:12:53,010 დან 16 bit ნომერი. 1776 01:12:53,010 --> 01:12:54,900 ისინი ფიქრობდნენ, რომ ხმების არასდროს ყოფილა 1777 01:12:54,900 --> 01:12:56,280 იქნება ძალიან დიდი, 1778 01:12:56,280 --> 01:12:59,920 რომ ყველაზე მეტად იმ ციფრები წელს 64 bit ნომერი იყო 0S. 1779 01:12:59,920 --> 01:13:01,860 ისინი არასწორია. 1780 01:13:01,860 --> 01:13:04,550 >> -უუნარობა ერთ პროგრამული უზრუნველყოფის პროგრამა მიიღოს 1781 01:13:04,550 --> 01:13:07,730 სახის ნომერი მიერ გამომუშავებული სხვა იყო ფესვი 1782 01:13:07,730 --> 01:13:08,930 უკმარისობა. 1783 01:13:08,930 --> 01:13:11,490 პროგრამული უზრუნველყოფის დამუშავება გახდა ძალიან ძვირადღირებული ნაწილი 1784 01:13:11,490 --> 01:13:13,280 ახალი ტექნოლოგია. 1785 01:13:13,280 --> 01:13:16,530 Ariane 4 სარაკეტო იყო ძალიან წარმატებული. 1786 01:13:16,530 --> 01:13:19,100 იმდენად, რამდენადაც პროგრამული შექმნილი იგი ასევე გამოიყენებოდა 1787 01:13:19,100 --> 01:13:21,050 წელს Ariane 5. 1788 01:13:21,050 --> 01:13:25,530 >> -ძირითადი პრობლემა იყო ის, რომ Ariane 5 იყო სწრაფად, 1789 01:13:25,530 --> 01:13:27,280 დააჩქარა სწრაფად. 1790 01:13:27,280 --> 01:13:30,590 და პროგრამული უზრუნველყოფის არ ჰქონდა აღრიცხვა რომ. 1791 01:13:30,590 --> 01:13:33,060 >> -განადგურების სარაკეტო იყო უზარმაზარი ფინანსური 1792 01:13:33,060 --> 01:13:37,670 უბედურება, ყველა გამო წუთი პროგრამული შეცდომა. 1793 01:13:37,670 --> 01:13:40,750 მაგრამ ეს არ იყო პირველად მონაცემები კონვერტაციის პრობლემები ჰქონდა 1794 01:13:40,750 --> 01:13:43,680 ხშირია თანამედროვე სარაკეტო ტექნიკა. 1795 01:13:43,680 --> 01:13:44,390 >> DAVID Malan: ჩვენ დავტოვებთ მას რომ. 1796 01:13:44,390 --> 01:13:46,870 მაგრამ ეს პატივისცემის თუ რამდენად გამოიყენება ზოგიერთი 1797 01:13:46,870 --> 01:13:48,750 ამ ყველაზე დაბალი დონე დეტალები, რომ ჩვენ დავიწყეთ 1798 01:13:48,750 --> 01:13:50,040 შეისწავლონ დღეს არიან. 1799 01:13:50,040 --> 01:13:52,510 ისე კი, როგორც თქვენ გაქვთ პატარა სცილდება ალბათ ზოგიერთი 1800 01:13:52,510 --> 01:13:55,240 სინტაქსი და arcaneness აქ, გააცნობიერონ, რომ მეტი 1801 01:13:55,240 --> 01:13:57,690 ტერმინი ჩვენ იყოს მიმართული მხოლოდ როგორ გამოიყენება ეს არის 1802 01:13:57,690 --> 01:13:59,530 მსოფლიოს მიღმა CS. 1803 01:13:59,530 --> 01:14:00,780 ჩვენ ვხედავთ თქვენ ოთხშაბათს.