1 00:00:00,000 --> 00:00:01,500 >> [За възпроизвеждане на музика] 2 00:00:01,500 --> 00:00:11,000 3 00:00:11,000 --> 00:00:16,110 >> DAVID Malan: Добре това е CS50 и това е краят на една седмица. 4 00:00:16,110 --> 00:00:20,760 Така че бих искал да се въведе моята бивша advisee, Andel Duff, който не само прави 5 00:00:20,760 --> 00:00:25,460 iPhone 5 щандове, както и тази аналой, той също кара коли. 6 00:00:25,460 --> 00:00:27,927 7 00:00:27,927 --> 00:00:29,510 Ансел DUFF: Как върви, всички? 8 00:00:29,510 --> 00:00:31,980 Аз просто искам да ви разкажа малко малко за Formula SAE, на което аз 9 00:00:31,980 --> 00:00:32,604 съм капитан. 10 00:00:32,604 --> 00:00:33,437 Това е екип MIT. 11 00:00:33,437 --> 00:00:35,520 Аз просто искам да ви кажа, момчета малко за него 12 00:00:35,520 --> 00:00:37,520 и да се надяваме да генерира някакъв интерес. 13 00:00:37,520 --> 00:00:41,590 >> Така че нека просто да преминават през Няколко неща за нашия екип. 14 00:00:41,590 --> 00:00:43,640 Така че ние сме напълно студент писта, където всички 15 00:00:43,640 --> 00:00:47,300 на дизайна членове, симулира, тест, и производител на подсистема 16 00:00:47,300 --> 00:00:48,090 на колата. 17 00:00:48,090 --> 00:00:51,240 Ние разполагаме със собствена работилница и гаражи, и N52-- или грешка, 18 00:00:51,240 --> 00:00:54,140 N51--, която е една и съща сграда Тъй като науката музей на MIT. 19 00:00:54,140 --> 00:00:55,990 И ние сме хората че карам колата. 20 00:00:55,990 --> 00:00:58,340 Има един национален конкурс в началото на лятото, 21 00:00:58,340 --> 00:01:01,215 И тогава там са по-малки дузпи състезания през годината. 22 00:01:01,215 --> 00:01:04,400 И след това, което правим обучение на водачи дни, за да се запознаят на нови членове. 23 00:01:04,400 --> 00:01:08,280 >> Нашите изграждане ден са на Събота от 11 ч. до 20:00. 24 00:01:08,280 --> 00:01:11,060 Обяд и вечеря се полагат специални грижи на, от Bertucci и Beantown 25 00:01:11,060 --> 00:01:12,130 съответно. 26 00:01:12,130 --> 00:01:15,260 Имаме седмична среща и семинар, който е за курс кредит. 27 00:01:15,260 --> 00:01:18,560 Кое е по-нова от този семестър, и тя също така ще бъде за следващия семестър, 28 00:01:18,560 --> 00:01:19,940 така че може да премине-обл за това. 29 00:01:19,940 --> 00:01:22,960 И тогава имаме проектиране, магазин, и CAD ден през седмицата, 30 00:01:22,960 --> 00:01:26,870 има предвид, че членовете на ЕП ще независимо CAD части, за да склад и така нататък. 31 00:01:26,870 --> 00:01:29,200 >> Така че за електрическо инженерство в екипа 32 00:01:29,200 --> 00:01:31,110 ние имаме теглителна, система за високо напрежение, 33 00:01:31,110 --> 00:01:33,390 която работи при номинална 300 волта, което включва 34 00:01:33,390 --> 00:01:35,360 мотори, моторни контролери, и батерии. 35 00:01:35,360 --> 00:01:37,235 Тогава имаме ниско електрическа система, която тече 36 00:01:37,235 --> 00:01:40,180 при 12 волта, което включва контроли могат възли, мозъка 37 00:01:40,180 --> 00:01:41,570 кутия, и таблото. 38 00:01:41,570 --> 00:01:43,890 Що CS върви, ние правим имате уеб сайт поддръжка 39 00:01:43,890 --> 00:01:47,940 че имаме нужда направил за събития, членство промени, нови снимки и PR материали. 40 00:01:47,940 --> 00:01:51,540 И тогава имаме код, който контролира кола за нашия тракшън контрол, изстрелване 41 00:01:51,540 --> 00:01:55,750 контрол, контрол на таблото, въртящия момент, и регенеративни спирачни системи, които 42 00:01:55,750 --> 00:01:59,170 тичам обикновено в MATLAB, Simulink и LabView. 43 00:01:59,170 --> 00:02:00,910 >> Ще ви кажа малко за колата. 44 00:02:00,910 --> 00:02:02,470 Така че това е около 500 паунда. 45 00:02:02,470 --> 00:02:04,285 Тя е правила ограничават до 85 kw. 46 00:02:04,285 --> 00:02:08,310 Тя разполага с 2 EMRAX 207 мотори в Обратно, по един за всяко от задните колела. 47 00:02:08,310 --> 00:02:11,880 Той има специално изградена батерии от призматични A123 торбичка клетки, 48 00:02:11,880 --> 00:02:14,780 в размер на 300 волта и 5,6 киловата часа. 49 00:02:14,780 --> 00:02:17,950 И това е директно задвижване с съотношение 2.64 до 1 диск. 50 00:02:17,950 --> 00:02:20,970 Ето някои от снимките, които взе от него в конкуренция. 51 00:02:20,970 --> 00:02:25,820 Ето конуса на гърба, носа, и тук са моторите, 52 00:02:25,820 --> 00:02:29,682 тези големи черни дискове под et мъжки Ману. 53 00:02:29,682 --> 00:02:32,140 Ето един слайд, който извадих от схемата ни конкуренция. 54 00:02:32,140 --> 00:02:35,389 И това е само сравнявайки нашата кола до двойка на търговски достъпни автомобили, 55 00:02:35,389 --> 00:02:38,380 като KTM XBOW, Ариел Atom, и Caterha M 7-280. 56 00:02:38,380 --> 00:02:42,110 Ако сте запознати с цена, мощност издърпайте тегло, долара за конски сили, 57 00:02:42,110 --> 00:02:44,930 долара на въртящ момент, и нашата кола ги издухва от водата. 58 00:02:44,930 --> 00:02:47,520 Ако имате някакви въпроси, нахвърлям този имейл адрес. 59 00:02:47,520 --> 00:02:50,800 Снимайте ни имейл на fsae@mit.edu. 60 00:02:50,800 --> 00:02:53,350 >> Ние сме щастливи да се говори за нещо, което искаш. 61 00:02:53,350 --> 00:02:55,600 Студенти от Харвард са вид на малцинството в отбора. 62 00:02:55,600 --> 00:02:58,350 Ако имате някакви въпроси относно че моля не ни застрелят имейл, 63 00:02:58,350 --> 00:03:00,810 щастливи да се говори, и аз отивам да се насочват обратно към Дейвид. 64 00:03:00,810 --> 00:03:01,550 Благодаря. 65 00:03:01,550 --> 00:03:02,466 Оценявам го, момчета. 66 00:03:02,466 --> 00:03:03,615 [APPLAUSE] 67 00:03:03,615 --> 00:03:07,080 68 00:03:07,080 --> 00:03:10,980 >> DAVID Malan: Ансел прекара лятото Работейки с нас тук, на територията на колежа в CS50 69 00:03:10,980 --> 00:03:11,480 това лято. 70 00:03:11,480 --> 00:03:13,505 И в допълнение към работата на неща като бинарните крушки, 71 00:03:13,505 --> 00:03:16,090 той всъщност наистина отворихме eyes-- и мина в particular-- 72 00:03:16,090 --> 00:03:20,535 на това, което наистина е пресечната точка на не на хардуер и софтуер може да бъде. 73 00:03:20,535 --> 00:03:23,410 В действителност много от нещата, той просто обиколи вас чрез крайна сметка са 74 00:03:23,410 --> 00:03:26,030 създаден първият в областта на софтуера, и след това в крайна сметка произвежда 75 00:03:26,030 --> 00:03:27,299 в реалния свят в хардуера. 76 00:03:27,299 --> 00:03:29,590 Така че, ако сте заинтересувани от проучване, че пресичане, 77 00:03:29,590 --> 00:03:31,430 може би има достъп до тази група. 78 00:03:31,430 --> 00:03:34,140 >> Сега междувременно, тези от вас, , които са фенове на технологиите, 79 00:03:34,140 --> 00:03:36,140 и Apple продукти в специално знам, че има 80 00:03:36,140 --> 00:03:37,860 са няколко Съобщения вчера. 81 00:03:37,860 --> 00:03:39,776 Но ние смятахме, че ще се покаже ви един, който излезе 82 00:03:39,776 --> 00:03:43,590 няколко дни преди тази може да не сте виждали. 83 00:03:43,590 --> 00:03:46,150 >> Йорген EGHAMMER: Знаете ли, веднъж в известно време нещо 84 00:03:46,150 --> 00:03:49,540 идва заедно, че променя начина, по който живеем. 85 00:03:49,540 --> 00:03:53,479 Устройство толкова прост и интуитивен да го използвате се чувства почти познато. 86 00:03:53,479 --> 00:03:59,710 87 00:03:59,710 --> 00:04:04,138 Въвеждане 2015 IKEA каталог. 88 00:04:04,138 --> 00:04:10,420 Това не е дигитална книга или електронна книга, тя е книга-книга. 89 00:04:10,420 --> 00:04:14,440 >> Първото нещо е да се отбележи, е не кабели, дори и захранващ кабел. 90 00:04:14,440 --> 00:04:18,519 The IKEA каталог 2015 е напълно заредена, 91 00:04:18,519 --> 00:04:20,550 и живота на батерията е вечен. 92 00:04:20,550 --> 00:04:27,300 Интерфейсът е 7.5 с 8 инча но може да се разшири до 15 с 8 инча. 93 00:04:27,300 --> 00:04:32,410 Навигацията се основава на тактилна технология, която всъщност можете да почувствате. 94 00:04:32,410 --> 00:04:37,120 >> Съдържание идва с предварително инсталирана чрез 328 с висока резолюция страници 95 00:04:37,120 --> 00:04:40,180 вдъхновя обзавеждане на дома идеи. 96 00:04:40,180 --> 00:04:43,740 За стартиране на браузъра, просто натиснете и плъзнете. 97 00:04:43,740 --> 00:04:50,870 Отдясно наляво да се движат напред, ляво на дясно да се движи назад. 98 00:04:50,870 --> 00:04:52,770 >> Забележете нещо друго? 99 00:04:52,770 --> 00:04:53,780 Точно така. 100 00:04:53,780 --> 00:04:55,190 Не лаг. 101 00:04:55,190 --> 00:04:58,400 Всеки кристално чиста страница товар мигновено, 102 00:04:58,400 --> 00:05:00,586 без значение колко бързо превъртане. 103 00:05:00,586 --> 00:05:03,710 Ако искате да получите бърз преглед, просто да го държите в дланта на ръката си, 104 00:05:03,710 --> 00:05:06,816 и само с помощта на палеца, скорост разглеждате съдържанието. 105 00:05:06,816 --> 00:05:10,930 >> Ако откриете нещо, което искате да запазите за по-късно, можете просто да го маркирате. 106 00:05:10,930 --> 00:05:17,620 И дори ако затворите приложението, лесно можете да намерите маркера отново. 107 00:05:17,620 --> 00:05:18,490 Невероятно. 108 00:05:18,490 --> 00:05:20,434 >> [СМЯХ] 109 00:05:20,434 --> 00:05:21,406 [APPLAUSE] 110 00:05:21,406 --> 00:05:26,760 111 00:05:26,760 --> 00:05:29,870 Така че това ни довежда до на края на една седмица. 112 00:05:29,870 --> 00:05:31,760 Няколко съобщения предприятието. 113 00:05:31,760 --> 00:05:33,440 Така че сега профилиране е в прогрес. 114 00:05:33,440 --> 00:05:36,860 Отиди на този адрес тук някъде между предприятието и петък по обяд 115 00:05:36,860 --> 00:05:39,960 действително да уточни дали сте сред тези, които по-малко удобни, по- 116 00:05:39,960 --> 00:05:41,690 удобни, или някъде по средата. 117 00:05:41,690 --> 00:05:44,511 >> Това обикновено е един от тези неща, които просто вид знам. 118 00:05:44,511 --> 00:05:47,510 И всъщност тези от вас, които са по-малко комфортен вероятно знаете много, 119 00:05:47,510 --> 00:05:49,634 тези от вас, които са по- комфортен знае колкото, 120 00:05:49,634 --> 00:05:54,960 и отново, ако не сте съвсем сигурни коя на тези кофи попаднат в сте 121 00:05:54,960 --> 00:05:56,210 Вероятно някъде по средата. 122 00:05:56,210 --> 00:05:59,810 Но бъдете сигурни, можете да сменяте след няколко седмици, ако е необходимо. 123 00:05:59,810 --> 00:06:02,620 >> В същото време, за следващата седмица не започнем секции по себе си, 124 00:06:02,620 --> 00:06:04,760 но супер секции, които са отворени за всички студенти. 125 00:06:04,760 --> 00:06:08,220 Това идва неделя на място, за да бъдат обявени на интернет страницата на курса 126 00:06:08,220 --> 00:06:10,190 ние ще имаме един за тези, по-малко удобни, 127 00:06:10,190 --> 00:06:12,470 както и един за тези по-удобно. 128 00:06:12,470 --> 00:06:15,460 И тези, някъде по средата може да избере коя от тези две, 129 00:06:15,460 --> 00:06:17,360 или и двете, ако искате, да седне-ин. 130 00:06:17,360 --> 00:06:19,630 И цел на тези ще бъде в крайна сметка от C, 131 00:06:19,630 --> 00:06:22,440 които ние ще продължим нашата разговор от днес. 132 00:06:22,440 --> 00:06:25,070 >> Проблем зададете 0 междувременно е надявам се във вашите ръце. 133 00:06:25,070 --> 00:06:27,500 Официално дължи утре, Четвъртък, по обяд. 134 00:06:27,500 --> 00:06:29,490 Освен ако не спечелят в една от вашите пет късни дни, 135 00:06:29,490 --> 00:06:31,780 което би го донесе до петък по обед. 136 00:06:31,780 --> 00:06:34,420 Проблем комплект 1 междувременно ще бъде публикуван на интернет страницата на курса. 137 00:06:34,420 --> 00:06:37,381 И това ще бъде нашата първа набег като клас в C. 138 00:06:37,381 --> 00:06:40,630 И този проблем зададете спец ще ви преведе чрез много от механиката на това, което 139 00:06:40,630 --> 00:06:43,960 ние започнахме да говорим за в понеделник, и ние ще продължим да говорим за днес. 140 00:06:43,960 --> 00:06:46,770 C, Linux, на CS50 уред, всичко това 141 00:06:46,770 --> 00:06:48,990 ще ви очакват в спецификацията. 142 00:06:48,990 --> 00:06:52,840 >> Работно време междувременно са в ход, в бакалавърска трапезарията. 143 00:06:52,840 --> 00:06:56,240 Насочете се към този URL тук, за да видите График за тази вечер и утре, 144 00:06:56,240 --> 00:06:57,930 ако искате да участвате. 145 00:06:57,930 --> 00:07:01,920 Въпроси междувременно, така че да можете имат възможности да задават въпроси 146 00:07:01,920 --> 00:07:05,860 асинхронно, 24/7, да разбере, че сте без да се ограничава до раздели и офис 147 00:07:05,860 --> 00:07:09,530 часа, а по-скоро този инструмент тук, CS50 Обсъждане в този URL 148 00:07:09,530 --> 00:07:12,150 ще бъде на линия на курса бюлетин софтуер борда, чрез който 149 00:07:12,150 --> 00:07:15,030 можете да задавате въпроси на съученици и също персонал. 150 00:07:15,030 --> 00:07:18,492 Така че имайте предвид, че ресурсите, както добре. 151 00:07:18,492 --> 00:07:20,200 Междувременно традиция започва този петък. 152 00:07:20,200 --> 00:07:23,200 Както може би сте зърнали от тийзър видео миналата сряда е, 153 00:07:23,200 --> 00:07:25,510 имаме традиция най- всеки петък по време на мандата 154 00:07:25,510 --> 00:07:28,750 на приема на около 50 студенти и персонала на местен ресторант, наречен 155 00:07:28,750 --> 00:07:31,510 Огън и лед, в които ние сме обикновено се присъединиха някои възпитаници 156 00:07:31,510 --> 00:07:33,850 или приятели от промишлеността като цяло да се стремят 157 00:07:33,850 --> 00:07:35,780 да се направи голям клас чувстват по-малък. 158 00:07:35,780 --> 00:07:37,560 Така че това е напълно случаен обяд. 159 00:07:37,560 --> 00:07:40,160 А китка от нас, персоналът особено, ще свирят на музикални столове 160 00:07:40,160 --> 00:07:43,360 и общуване с учениците за 50, живот извън 50, 161 00:07:43,360 --> 00:07:46,510 живот в бъдеще, в реалния свят, Говоря за възможности за работа 162 00:07:46,510 --> 00:07:47,680 с приятели в промишлеността. 163 00:07:47,680 --> 00:07:51,110 >> Така че, ако искате да се присъедините към нас този петък, се отправят към този URL тук. 164 00:07:51,110 --> 00:07:54,180 Space е ограничен, но ние ще направим това recurringly целия план. 165 00:07:54,180 --> 00:07:57,380 Главата няма да cs50.harvard.edu/rsvp. 166 00:07:57,380 --> 00:07:59,380 И ако те не получават в този път, за да не се притеснявате. 167 00:07:59,380 --> 00:08:02,390 Ние ще го направим отново в следващите седмици, както добре. 168 00:08:02,390 --> 00:08:05,434 >> Така че това е картината боядисахме миналата седмица, 169 00:08:05,434 --> 00:08:07,350 и вие вероятно сте били впускал в този момент. 170 00:08:07,350 --> 00:08:10,360 Но нека да се опитаме да се свърже това сега на това, което ние ще направим днес 171 00:08:10,360 --> 00:08:11,440 и по-нататък. 172 00:08:11,440 --> 00:08:14,760 Може ли един доброволец? 173 00:08:14,760 --> 00:08:16,000 Добре, или няколко. 174 00:08:16,000 --> 00:08:18,460 Какво ще кажете за тук на край, в синя риза. 175 00:08:18,460 --> 00:08:20,329 Ела, какво е вашето име? 176 00:08:20,329 --> 00:08:20,870 ALANA: Алана. 177 00:08:20,870 --> 00:08:21,661 DAVID Malan: Алана. 178 00:08:21,661 --> 00:08:25,100 Така Алана, само за moment-- хубаво да се срещнем ти-- 179 00:08:25,100 --> 00:08:28,260 ще играе ролята на тази функция тук. 180 00:08:28,260 --> 00:08:31,290 Пурпурният блок сме нарича досега функция. 181 00:08:31,290 --> 00:08:34,830 Така че това, което аз отивам да напред тук и предлагат Алана 182 00:08:34,830 --> 00:08:38,380 е малко етикет име, за да ясно каква е ролята, която играете. 183 00:08:38,380 --> 00:08:39,753 >> Така че ти ще бъдеш речем блок. 184 00:08:39,753 --> 00:08:41,419 Ако искате да отидете напред и да сложи това. 185 00:08:41,419 --> 00:08:43,169 И ние ще се запази тази супер проста. 186 00:08:43,169 --> 00:08:46,180 Ако целта на една ръка разстояние е просто сега, за да изпълни с Alana, 187 00:08:46,180 --> 00:08:49,710 тази така наречена каже блок, ето как това ще работи. 188 00:08:49,710 --> 00:08:52,574 I трябва-- нека го наречем аргумент или параметър, 189 00:08:52,574 --> 00:08:54,240 това е наистина само един празен лист хартия. 190 00:08:54,240 --> 00:08:57,239 И това е бял до вид да напомня на бялото поле, в което можете 191 00:08:57,239 --> 00:08:58,080 може да пише думи. 192 00:08:58,080 --> 00:09:00,660 >> В същото време аз отивам да отидете тук. 193 00:09:00,660 --> 00:09:06,560 Отивам да вървим напред и напиши H-E-L-L-О запетая свят. 194 00:09:06,560 --> 00:09:09,972 И сега, като казват, че програмист, не всъщност знаят как да каже нещо. 195 00:09:09,972 --> 00:09:12,180 Аз може да излезе с думите, Но не е задължително 196 00:09:12,180 --> 00:09:15,220 знам как да се изразя устно или на екрана. 197 00:09:15,220 --> 00:09:17,280 И така, какво ще да направите, е да вземе това парче 198 00:09:17,280 --> 00:09:21,157 на функционалност, чиито input-- или аргумент, тъй като ние ще го наричаме, 199 00:09:21,157 --> 00:09:23,990 Аз съм писал за тази част от есето и аз отивам да го изнесат. 200 00:09:23,990 --> 00:09:26,831 >> И наистина това е ролята, която функции в един език за програмиране 201 00:09:26,831 --> 00:09:27,330 може да играе. 202 00:09:27,330 --> 00:09:29,246 Нещо подобно на дума блок могат да бъдат възложени на външни изпълнители 203 00:09:29,246 --> 00:09:32,074 на някой, който наистина знае това, което той или тя говори. 204 00:09:32,074 --> 00:09:33,990 Така че, ако ще се засили през тук само за момент, 205 00:09:33,990 --> 00:09:40,092 Аз отивам да мине този вход към Алана, и молим да се каже, този вход. 206 00:09:40,092 --> 00:09:41,202 >> ALANA: Здравей, свят. 207 00:09:41,202 --> 00:09:42,160 DAVID Malan: Това е всичко. 208 00:09:42,160 --> 00:09:43,326 Така, че е функция. 209 00:09:43,326 --> 00:09:46,556 Сега можем да го отнеме малко повече, можем да направим стъпка напред тук. 210 00:09:46,556 --> 00:09:48,180 Тъй като това беше ясно underwhelming. 211 00:09:48,180 --> 00:09:51,670 Така че нека сега да конвертирате това нещо малко по-сложни. 212 00:09:51,670 --> 00:09:53,630 >> Така че това, разбира се, е нашата C версия. 213 00:09:53,630 --> 00:09:56,760 Така че сега, ако искате да вземете, че еднократна, че името етикет изключен, 214 00:09:56,760 --> 00:09:58,530 и нека да ви постави на ново име. 215 00:09:58,530 --> 00:10:00,850 Но в основата си играе същата роля, 216 00:10:00,850 --> 00:10:03,400 той просто така се случва да да се нарече ФОРМАТ сега. 217 00:10:03,400 --> 00:10:06,930 >> Историята е, разбира се, ще е-- вероятно 218 00:10:06,930 --> 00:10:09,317 точно както underwhelming-- е ще бъде следното. 219 00:10:09,317 --> 00:10:10,650 Вие сега функция ФОРМАТ. 220 00:10:10,650 --> 00:10:13,300 Аз съм абонати, или на програмист, който иска 221 00:10:13,300 --> 00:10:15,745 да стои на раменете на хора в миналото като теб, 222 00:10:15,745 --> 00:10:18,670 които вече сте измислили как действително да напиша нещо надолу. 223 00:10:18,670 --> 00:10:20,650 И така този път, вместо да каже, че нека да 224 00:10:20,650 --> 00:10:22,255 всъщност използват нашия екран тук. 225 00:10:22,255 --> 00:10:24,130 Така че, ако искате да се оттегли тук, аз отивам 226 00:10:24,130 --> 00:10:27,196 да премине отново това като вход към моя ФОРМАТ приятел. 227 00:10:27,196 --> 00:10:29,320 Ако можете да отидете напред и да отпечатате, че на екрана, 228 00:10:29,320 --> 00:10:31,611 просто чрез рисуване с вашия пръст на черен екран. 229 00:10:31,611 --> 00:10:43,680 230 00:10:43,680 --> 00:10:44,180 Отлично. 231 00:10:44,180 --> 00:10:47,350 Добре, така че много съспенс за как това щеше да играе навън. 232 00:10:47,350 --> 00:10:51,390 >> Така че сега нека вземем нещата едно окончателно ниво, ако можехме, както следва. 233 00:10:51,390 --> 00:10:53,980 Така че това е програма C както казахме миналия път. 234 00:10:53,980 --> 00:10:57,460 И това просто прави това, което си направил, то отпечатва на екрана, здравей, свят. 235 00:10:57,460 --> 00:11:00,290 Въпреки че има ясно много на разсейващи неща там. 236 00:11:00,290 --> 00:11:03,630 Но нека вземем нещата с една степен и въвеждане на тази версия, която припомни 237 00:11:03,630 --> 00:11:06,160 е третата версия, която ние достигнахме до последния момент. 238 00:11:06,160 --> 00:11:09,120 >> И сега там е ясно две употреби на ФОРМАТ. 239 00:11:09,120 --> 00:11:12,280 Има две повиквания към Алана в този случай за ФОРМАТ, 240 00:11:12,280 --> 00:11:14,740 но има и призив до друга функция. 241 00:11:14,740 --> 00:11:17,150 Каква е тази функция ясно? 242 00:11:17,150 --> 00:11:17,650 Getstring. 243 00:11:17,650 --> 00:11:18,980 >> Можем ли да получим още един доброволец? 244 00:11:18,980 --> 00:11:20,980 Добре, хайде нагоре. 245 00:11:20,980 --> 00:11:21,805 Как ти е името? 246 00:11:21,805 --> 00:11:22,990 >> JAVIER: Хавиер. 247 00:11:22,990 --> 00:11:24,750 >> DAVID Malan: Javier, хайде нагоре. 248 00:11:24,750 --> 00:11:27,270 Така че ролята на Хавиер е на това парче хартия. 249 00:11:27,270 --> 00:11:28,860 Което аз отивам да се обадя генерично ите. 250 00:11:28,860 --> 00:11:32,250 Сега това е променлива, това е от тип низ, като подразбиращи 251 00:11:32,250 --> 00:11:34,290 от тази втора линия в средата там. 252 00:11:34,290 --> 00:11:36,540 И бих искал да отида да ми донесе низ. 253 00:11:36,540 --> 00:11:40,120 Конкретно главата надолу към оркестъра раздел и ми се името на някого, 254 00:11:40,120 --> 00:11:43,142 и да се върне с променлива съдържащ тази стойност. 255 00:11:43,142 --> 00:11:44,225 Тя може да бъде всеки, който искате. 256 00:11:44,225 --> 00:11:47,590 257 00:11:47,590 --> 00:11:48,520 >> Ето ни и нас. 258 00:11:48,520 --> 00:11:53,620 259 00:11:53,620 --> 00:11:55,960 Добре, Хавиер е записвам името. 260 00:11:55,960 --> 00:12:02,210 261 00:12:02,210 --> 00:12:03,280 Добре. 262 00:12:03,280 --> 00:12:05,740 Ние всички можем да се досещате как това ще се разиграе. 263 00:12:05,740 --> 00:12:07,489 Ние сме може би belaboring точката на какво 264 00:12:07,489 --> 00:12:10,320 функция е това, но въпреки това ви благодаря много. 265 00:12:10,320 --> 00:12:13,890 >> Така че Хавиер е върнал този низ тук, което не мога да видя, 266 00:12:13,890 --> 00:12:15,800 Джонатан е низ че ние сме придобили. 267 00:12:15,800 --> 00:12:18,330 Така че сега това, което всъщност ще да предостави на Алана макар 268 00:12:18,330 --> 00:12:20,150 е нещо малко по-различно. 269 00:12:20,150 --> 00:12:23,800 Защото в тази версия на програма, първо там, да се посочи името си. 270 00:12:23,800 --> 00:12:26,160 Така че много първи аргумент Трябва да се осигури Алана 271 00:12:26,160 --> 00:12:33,030 с ще бъде буквално да посочи името си. 272 00:12:33,030 --> 00:12:35,280 Добре, толкова просто като това Бих предаде това за вас. 273 00:12:35,280 --> 00:12:36,730 И тъй като аз пиша състава на следващия аргумент, ако сте 274 00:12:36,730 --> 00:12:39,230 Искам да отида напред и да напиша тази на дъската, да вървим напред 275 00:12:39,230 --> 00:12:42,659 и да направи последен пример тук, за да направи ясно какво е в крайна сметка трябва да се случи. 276 00:12:42,659 --> 00:12:44,450 Така името си, напишете го към върха 277 00:12:44,450 --> 00:12:47,220 ако нямате нищо против, просто така, че имаме стая за една секунда линия. 278 00:12:47,220 --> 00:12:52,890 Тъй като последното нещо, което аз отивам До сега ви осигури не е един, 279 00:12:52,890 --> 00:12:57,220 но две парчета хартия. 280 00:12:57,220 --> 00:12:58,074 >> Добре. 281 00:12:58,074 --> 00:13:01,920 H-E-L-L-О запетая и след един празен ред. 282 00:13:01,920 --> 00:13:04,780 Така че това, което аз съм на път да предаде Алана сега е нещо малко по-различно. 283 00:13:04,780 --> 00:13:08,600 Не само, че тя все това, където запълване в празната представлява 284 00:13:08,600 --> 00:13:12,050 че percent-- Каква беше контейнер ние сме били използвате? 285 00:13:12,050 --> 00:13:13,890 Да, така процента ите. 286 00:13:13,890 --> 00:13:16,530 В същото време аз отивам да мине нея във втори аргумент, който 287 00:13:16,530 --> 00:13:19,290 е точно това, което Javier възстановен от Джонатан. 288 00:13:19,290 --> 00:13:20,534 >> Така че нека да ви дам тези две. 289 00:13:20,534 --> 00:13:22,575 Ако искате да, давай напред и печат на този смисъл. 290 00:13:22,575 --> 00:13:25,660 291 00:13:25,660 --> 00:13:28,130 Какво в крайна сметка се случва сега е, Алана отново 292 00:13:28,130 --> 00:13:29,410 играе ролята на ФОРМАТ. 293 00:13:29,410 --> 00:13:32,160 Javier играеше ролята на GetString. 294 00:13:32,160 --> 00:13:34,700 Така, че ще ви бъде за спомен. 295 00:13:34,700 --> 00:13:39,910 И в крайна сметка това, което се случва, въпреки този hello-- Да вървим напред и запетая. 296 00:13:39,910 --> 00:13:41,410 ALANA: Знаете ли да получа това все още или не? 297 00:13:41,410 --> 00:13:43,451 DAVID Malan: Да, можете двамата получи наведнъж. 298 00:13:43,451 --> 00:13:45,740 Така че идеята е, че сега може да обърне страницата 299 00:13:45,740 --> 00:13:50,000 да се справят с втория от тези два входа. 300 00:13:50,000 --> 00:13:53,280 Така че това е само да чука у дома посоча, че докато Алана екзекутиран 301 00:13:53,280 --> 00:13:55,830 тази зелена линия тук, а след това Хавиер е направил това за нас 302 00:13:55,830 --> 00:13:57,820 и да се върне при мен нещо ние ще се обадя и, но това е наистина 303 00:13:57,820 --> 00:13:59,520 точно това парче хартия, на собствените си. 304 00:13:59,520 --> 00:14:02,320 И сега Алана е направил тази трета линия. 305 00:14:02,320 --> 00:14:06,010 >> И въпреки че всичко това изглежда толкова невероятно загадъчно може би 306 00:14:06,010 --> 00:14:08,870 На пръв поглед, той наистина е толкова просто като това. 307 00:14:08,870 --> 00:14:11,390 Минавайки входове наоколо, получаване на резултати, или 308 00:14:11,390 --> 00:14:14,560 са физически върна нещо, или виждате страничен ефект като този. 309 00:14:14,560 --> 00:14:17,170 Нещо визуално написано на екрана. 310 00:14:17,170 --> 00:14:19,990 Така че нека да вървим напред и да благодаря Алана и Javier, 311 00:14:19,990 --> 00:14:25,012 , който е бил тук, за се присъедини към нас тук. 312 00:14:25,012 --> 00:14:25,934 >> [APPLAUSE] 313 00:14:25,934 --> 00:14:29,360 314 00:14:29,360 --> 00:14:33,480 >> Така че нека сега приемаме за даденост колко ясно всичко това може да бъде. 315 00:14:33,480 --> 00:14:36,775 И нека да се пристъпи към реално направи нещо в реалната код. 316 00:14:36,775 --> 00:14:40,620 Така на екрана тук е снимка на така наречената CS50 уреда. 317 00:14:40,620 --> 00:14:43,980 И ако сте имали най-, като 14:00 в сряда следобед, 318 00:14:43,980 --> 00:14:46,602 обясни на някой приятел какво CS50 уреда е, 319 00:14:46,602 --> 00:14:48,185 как бихте го определи в едно изречение? 320 00:14:48,185 --> 00:14:52,160 321 00:14:52,160 --> 00:14:53,240 Всяко едно изречение? 322 00:14:53,240 --> 00:14:54,876 Да? 323 00:14:54,876 --> 00:14:57,334 STUDENT: Това е като програма , което прави компютъра на всеки 324 00:14:57,334 --> 00:14:58,460 тичам с една и съща система. 325 00:14:58,460 --> 00:14:59,210 DAVID Malan: Добър! 326 00:14:59,210 --> 00:15:02,810 Това е програма, която позволява на всеки компютър, за да тичам с една и съща система. 327 00:15:02,810 --> 00:15:04,920 Това е нещо на собствения си копие на операционна 328 00:15:04,920 --> 00:15:07,540 система, която се случва да се нарича Linux Ubuntu. 329 00:15:07,540 --> 00:15:11,070 И той работи ефективно в рамките на прозореца на собствения си Mac или PC, 330 00:15:11,070 --> 00:15:15,080 така че по този начин точно от портата в 1 седмица, всички тук в класа 331 00:15:15,080 --> 00:15:17,590 има достъп до същите инструменти, същата конфигурация, 332 00:15:17,590 --> 00:15:21,250 и няма специфичен кривата на обучение на Mac или PC в частност. 333 00:15:21,250 --> 00:15:25,620 >> Сега ние се отвори, вътре в CS50 уред в понеделник, тази програма тук. 334 00:15:25,620 --> 00:15:27,040 Това се случва, да се нарича Gedit. 335 00:15:27,040 --> 00:15:29,050 Но това е наистина само графичен редактор. 336 00:15:29,050 --> 00:15:33,170 Това е нещо подобно на Notepad или Текст Редактиране на Windows или Mac OS съответно. 337 00:15:33,170 --> 00:15:36,720 И аз предложих, че има наистина три важни части към този екран. 338 00:15:36,720 --> 00:15:39,560 Горната страна е мястото, където ще напишете кода. 339 00:15:39,560 --> 00:15:44,080 И това е мястото, където сме прекарали голяма част от нашия три примера в лекция в понеделник. 340 00:15:44,080 --> 00:15:47,650 Дъното се обадихме какво, този черен прозорец, така ли? 341 00:15:47,650 --> 00:15:48,640 >> STUDENT: Compiler? 342 00:15:48,640 --> 00:15:51,500 >> DAVID Malan: Compiler ние преглеждана с помощта на този прозорец. 343 00:15:51,500 --> 00:15:53,040 Но в по-общ. 344 00:15:53,040 --> 00:15:54,540 Да, това е само терминален прозорец. 345 00:15:54,540 --> 00:15:57,780 Това е стар термин възраст, които просто описва по същество мигащ 346 00:15:57,780 --> 00:16:01,910 бързо, че преди да бъдат използвани години на един от тези големи монитори CRT стил. 347 00:16:01,910 --> 00:16:04,300 Но в днешно време това е нещо на виртуален софтуер. 348 00:16:04,300 --> 00:16:06,710 И прозорците на терминала Нека да ни пишете команди. 349 00:16:06,710 --> 00:16:11,750 Това нещо като опростена версия на потребителския интерфейс или интерфейс. 350 00:16:11,750 --> 00:16:14,060 Това не е графичен потребителски интерфейс или GUI, 351 00:16:14,060 --> 00:16:17,250 това е интерфейс, базиран на текст или интерфейс на командния ред. 352 00:16:17,250 --> 00:16:20,770 >> И наистина това е, когато в крайна сметка Аз бях в състояние да пиша някакъв код. 353 00:16:20,770 --> 00:16:24,200 След като бях написал някакъв код обаче, Припомняме, че аз използвах тази команда. 354 00:16:24,200 --> 00:16:26,210 И тъй като името вид на предполага, този 355 00:16:26,210 --> 00:16:29,860 ми позволява да се направи програма, наречена Здравейте. 356 00:16:29,860 --> 00:16:33,400 Но това, което е наистина правиш? 357 00:16:33,400 --> 00:16:36,180 Ами грим е като моя вход, ми изходния код, 358 00:16:36,180 --> 00:16:39,380 и превръщането на това, което, в крайна сметка? 359 00:16:39,380 --> 00:16:40,060 >> Код Object. 360 00:16:40,060 --> 00:16:42,790 И обектен код е просто фантазия начин да се каже нули и единици. 361 00:16:42,790 --> 00:16:46,420 И тогава, след като аз исках да тече този обект код, 362 00:16:46,420 --> 00:16:50,940 веднъж исках да мине като вход тези нули и единици в моя компютър 363 00:16:50,940 --> 00:16:54,430 мозъка, така наречените процесора или централен процесор, 364 00:16:54,430 --> 00:16:55,730 Аз трябваше да стартирате програмата. 365 00:16:55,730 --> 00:16:59,042 Но това не е съвсем проста в понеделник като просто двойно кликване някои икона. 366 00:16:59,042 --> 00:17:01,375 Вместо това ми трябваше, за да направите, за да стартирате програмата? 367 00:17:01,375 --> 00:17:04,130 368 00:17:04,130 --> 00:17:07,890 >> Какво беше това втората команда? 369 00:17:07,890 --> 00:17:09,619 Чувам малко наклонени черти? 370 00:17:09,619 --> 00:17:10,544 Да, така ли? 371 00:17:10,544 --> 00:17:12,474 >> STUDENT: Dot наклонена черта и името на програмата. 372 00:17:12,474 --> 00:17:13,349 DAVID Malan: Точно така. 373 00:17:13,349 --> 00:17:15,030 Dot наклонена черта и името на програмата. 374 00:17:15,030 --> 00:17:16,210 Сега какво означава това? 375 00:17:16,210 --> 00:17:19,470 Ами точка е просто една тайнствена начин каже текущата директория. 376 00:17:19,470 --> 00:17:23,440 Каквато и да е папка, в която се намирате, е Съответно, както е представен като точка. 377 00:17:23,440 --> 00:17:26,680 Наклонената черта е точно това, което сте виждали в Mac OS и Windows в продължение на години, 378 00:17:26,680 --> 00:17:30,329 това е разделител между директория или папка и останалата част от някакво име. 379 00:17:30,329 --> 00:17:32,620 В Windows това се случва, за да отидете назад, в Linux и Mac 380 00:17:32,620 --> 00:17:34,210 OS това се случва, за да вървиш напред. 381 00:17:34,210 --> 00:17:37,560 Но това е само на сепаратора, така че е просто безинтересно синтактична подробности. 382 00:17:37,560 --> 00:17:40,440 >> Сочният част, разбира се, името на програмата, Hello. 383 00:17:40,440 --> 00:17:42,650 И това е, което правят е създадена за нас. 384 00:17:42,650 --> 00:17:44,910 Тя извежда този файл за нас. 385 00:17:44,910 --> 00:17:46,700 Но как се стигна до този момент? 386 00:17:46,700 --> 00:17:48,870 Нека сега да поиска от въпрос, това, което е наистина 387 00:17:48,870 --> 00:17:52,470 става тук, най-малко с отношение на някои от този синтаксис? 388 00:17:52,470 --> 00:17:57,000 >> Така че в една присъда, или така, как да обясним далеч 389 00:17:57,000 --> 00:17:59,020 този първи ред, който е подчертани в зелено? 390 00:17:59,020 --> 00:18:02,998 Какво беше това на първа линия правиш, по отношение на моята програма? 391 00:18:02,998 --> 00:18:03,974 Да? 392 00:18:03,974 --> 00:18:05,067 >> STUDENT: [недоловим]. 393 00:18:05,067 --> 00:18:06,150 DAVID Malan: Кажи го отново? 394 00:18:06,150 --> 00:18:08,734 STUDENT: Включително и изтегляне последните функции [недоловим]. 395 00:18:08,734 --> 00:18:09,483 DAVID Malan: Добре. 396 00:18:09,483 --> 00:18:11,900 Включително, аз няма да кажа изтегляне, но нека да кажем, 397 00:18:11,900 --> 00:18:15,500 включително функции, които хората са написани в миналото. 398 00:18:15,500 --> 00:18:18,260 И тези функции се изпълняват някъде в компютъра ми. 399 00:18:18,260 --> 00:18:20,470 Някой е написал файл Преди години, и този файл 400 00:18:20,470 --> 00:18:23,490 е някъде във вътрешността на CS50 уред, или на моя твърд диск 401 00:18:23,490 --> 00:18:24,480 по-общо. 402 00:18:24,480 --> 00:18:27,810 И така, тази линия се казва по същество, да намеря този файл, стандартна I / O точки 403 00:18:27,810 --> 00:18:31,740 ч, както и копие и поставете съдържанието му точно тук, на върха на моя файл 404 00:18:31,740 --> 00:18:33,860 така че не е нужно да се направите това ръчно себе си. 405 00:18:33,860 --> 00:18:40,970 >> И сред най-сочните парчета вътре в този файл, ние доминираха е каква функция? 406 00:18:40,970 --> 00:18:45,740 Каква функция е да кажем е обявен или споменати в стандарт I / O точка Н 407 00:18:45,740 --> 00:18:47,120 най-вероятно? 408 00:18:47,120 --> 00:18:47,900 ФОРМАТ, нали? 409 00:18:47,900 --> 00:18:50,797 Ние не пиша ФОРМАТ на Понеделник, той просто съществува. 410 00:18:50,797 --> 00:18:52,880 Много прилича Алана просто дойде на сцената и тя просто 411 00:18:52,880 --> 00:18:55,540 съществувала и знаеше как да се направи нещо на екрана, 412 00:18:55,540 --> 00:18:58,660 така се ФОРМАТ съществува от много години. 413 00:18:58,660 --> 00:19:00,240 И така, това е начина, по който достъп до него. 414 00:19:00,240 --> 00:19:03,280 Сега, ако се движим тук, Основната е аналогичен ние 415 00:19:03,280 --> 00:19:06,620 каза на парче пъзел нарича, когато зелен флаг кликнали 416 00:19:06,620 --> 00:19:07,620 в света на Scratch. 417 00:19:07,620 --> 00:19:10,130 Това е просто вид на име по подразбиране, че хората 418 00:19:10,130 --> 00:19:13,340 реши да представляват подразбиране входна точка към дадена програма. 419 00:19:13,340 --> 00:19:16,540 В парчето на програмния код че ще се изпълни първо. 420 00:19:16,540 --> 00:19:19,700 >> Междувременно тези фигурни скоби са нещо като извита форма 421 00:19:19,700 --> 00:19:21,410 на много от тези жълти скреч парчета. 422 00:19:21,410 --> 00:19:24,860 Те вид капсулиране цяло куп инструкции заедно. 423 00:19:24,860 --> 00:19:28,350 Така че просто вид се свързва заедно някои, свързани функционалност. 424 00:19:28,350 --> 00:19:33,750 ФОРМАТ разбира се е функция, която отпечатва на екрана, като просто го направих. 425 00:19:33,750 --> 00:19:35,190 >> Какво ще кажете за тези скоби? 426 00:19:35,190 --> 00:19:38,770 Как бихте define-- дори ако сте никога програмиран и преди, но само въз основа 427 00:19:38,770 --> 00:19:41,320 Отсега нататък все по-голям се надяваме, интуиция, какво 428 00:19:41,320 --> 00:19:43,290 са скобите правят за нас тук? 429 00:19:43,290 --> 00:19:45,450 Или това, което са те околните? 430 00:19:45,450 --> 00:19:46,360 Да? 431 00:19:46,360 --> 00:19:49,360 >> STUDENT: Казват, че това, което ти започваш да се отпечата с ФОРМАТ. 432 00:19:49,360 --> 00:19:52,401 >> DAVID Malan: Да, те казват какво ти започваш да се отпечата с ФОРМАТ. 433 00:19:52,401 --> 00:19:56,260 Или по-общо, те са заобикалящата входовете на функцията. 434 00:19:56,260 --> 00:19:58,530 Така че почти можеш да мислиш на тези скоби 435 00:19:58,530 --> 00:20:01,620 като като метал клип на тази клипборда. 436 00:20:01,620 --> 00:20:05,940 Това е, което държи, е това, което е ще се използват за осигуряване на аргументи 437 00:20:05,940 --> 00:20:08,500 в функцията, която в този случай се нарича ФОРМАТ. 438 00:20:08,500 --> 00:20:12,390 >> Така в общия почти всеки време, което наричаме функция, 439 00:20:12,390 --> 00:20:14,280 ние ще видите скоби чифт. 440 00:20:14,280 --> 00:20:17,000 Може би с нещо в нея, както сега, може би нищо в него. 441 00:20:17,000 --> 00:20:19,770 Но това е, когато вие ще постави входовете, или така наречените аргументи 442 00:20:19,770 --> 00:20:20,680 на функция. 443 00:20:20,680 --> 00:20:22,470 >> Ето един такъв аргумент. 444 00:20:22,470 --> 00:20:24,467 Аз бях подчерта всичко между кавичките, 445 00:20:24,467 --> 00:20:26,300 защото се оказва в този език, наречен 446 00:20:26,300 --> 00:20:29,950 C, когато искате да представляват string--, че е дума или фраза 447 00:20:29,950 --> 00:20:33,470 или дори paragraph-- трябва да го обграждат с двойни кавички. 448 00:20:33,470 --> 00:20:35,420 Не единични кавички, двойни кавички. 449 00:20:35,420 --> 00:20:37,460 И това е точно това, което съм направил тук. 450 00:20:37,460 --> 00:20:39,900 >> В същото време има фънки символ към края там. 451 00:20:39,900 --> 00:20:41,600 П наклонена черта. 452 00:20:41,600 --> 00:20:43,460 Какво да кажем, че представител? 453 00:20:43,460 --> 00:20:44,093 Да? 454 00:20:44,093 --> 00:20:44,980 >> STUDENT: A нов ред. 455 00:20:44,980 --> 00:20:45,896 >> DAVID Malan: New линия. 456 00:20:45,896 --> 00:20:47,910 Добре, че не правим обикновено удари Enter, когато 457 00:20:47,910 --> 00:20:50,430 Ако искате програмата да изплюе нов ред. 458 00:20:50,430 --> 00:20:54,210 Вместо да го кажа изрично с този наистина тайнствена парче 459 00:20:54,210 --> 00:20:58,770 синтаксис, наклонена черта н, че искате нов ред, за да отида там. 460 00:20:58,770 --> 00:20:59,810 И накрая точката и запетаята. 461 00:20:59,810 --> 00:21:01,560 Ние наистина не говори твърде много за това, 462 00:21:01,560 --> 00:21:04,893 и досега това ще бъде проклятието на някои на съществуването си за първия проблем 463 00:21:04,893 --> 00:21:07,990 настроен, когато просто не успя да реализира сте забравили нещо толкова глупаво 464 00:21:07,990 --> 00:21:08,614 като точка и запетая. 465 00:21:08,614 --> 00:21:11,600 И обикновено го поставя там ще оправи този проблем. 466 00:21:11,600 --> 00:21:13,511 Но това, което го прави за нас, бихте ли казали? 467 00:21:13,511 --> 00:21:15,670 >> STUDENT: [недоловим]. 468 00:21:15,670 --> 00:21:17,484 >> DAVID Malan: Моля? 469 00:21:17,484 --> 00:21:18,532 >> STUDENT: [недоловим]. 470 00:21:18,532 --> 00:21:19,990 DAVID Malan: Довършителни изявление. 471 00:21:19,990 --> 00:21:22,770 Това е нещо подобно на периода на края на изречение на английски, 472 00:21:22,770 --> 00:21:25,790 има предвид, че в този език С него се приключва изявление. 473 00:21:25,790 --> 00:21:29,250 Инструкция на програмиране код, който просто искам да кажа, 474 00:21:29,250 --> 00:21:30,500 Приключих с това. 475 00:21:30,500 --> 00:21:32,240 Сега забелязвам, че е само един тук. 476 00:21:32,240 --> 00:21:34,614 Така че не искам да отида в навика да поставят точка и запетая 477 00:21:34,614 --> 00:21:36,190 след всяка затворена скоба. 478 00:21:36,190 --> 00:21:38,610 Например там е никой Следващата да анулира, а ние ще 479 00:21:38,610 --> 00:21:40,430 се върне в бъдеще какво невалидна средства. 480 00:21:40,430 --> 00:21:44,080 Но в този случай вашият ФОРМАТ е функция, или декларация се използва, 481 00:21:44,080 --> 00:21:47,420 и така искаме да имаме, че край в самия край на това. 482 00:21:47,420 --> 00:21:50,980 >> И аз умишлено бране на C. И честно казано много езици като C, C ++, 483 00:21:50,980 --> 00:21:55,000 Java, JavaScript, и произволен брой други езици имат много от тях 484 00:21:55,000 --> 00:21:56,730 вид синтактични подробности. 485 00:21:56,730 --> 00:22:00,120 Това със сигурност, ако сте нов в Програмирането може наистина ви спъне. 486 00:22:00,120 --> 00:22:02,307 И вие ще ми марка думи, някои от вас ще 487 00:22:02,307 --> 00:22:04,140 имат този опит в работно време или в края 488 00:22:04,140 --> 00:22:07,554 през нощта работи върху някои р-набор, където проклетия си програма, просто не се събират, 489 00:22:07,554 --> 00:22:09,470 тя не работи, имате Не знам какво не е наред, 490 00:22:09,470 --> 00:22:11,513 изглежда напълно логически правилно за вас. 491 00:22:11,513 --> 00:22:13,596 И това е, защото сте забравили нещо като удря 492 00:22:13,596 --> 00:22:15,250 точка и запетая в края на някаква линия. 493 00:22:15,250 --> 00:22:17,590 >> Но това са нещата, за които сте Ще незабавно да се научим да виждаме. 494 00:22:17,590 --> 00:22:20,048 И наистина това са нещата, че на CA и TF имат 495 00:22:20,048 --> 00:22:23,210 е нещо като обучен, за да видите много по-бързо от теб. 496 00:22:23,210 --> 00:22:26,610 И така, това е само да се каже, тъй като Потопете се в проблем зададете един особено, 497 00:22:26,610 --> 00:22:28,217 Не се разочароват от тези неща. 498 00:22:28,217 --> 00:22:30,050 Щом нещо се аклиматизира на света, 499 00:22:30,050 --> 00:22:35,130 започнете да виждате неща, които може да не види на пръв поглед тази първа седмица. 500 00:22:35,130 --> 00:22:37,440 >> Така че изходния код е нещо подобно. 501 00:22:37,440 --> 00:22:40,370 Искаме да го премине в т.нар компилатор. 502 00:22:40,370 --> 00:22:42,850 И това компилатор като казахме осигурява изход 503 00:22:42,850 --> 00:22:45,660 известен като обектен код, за т.нар нули и единици. 504 00:22:45,660 --> 00:22:47,747 Но от там, какво ни дава това? 505 00:22:47,747 --> 00:22:49,080 Ами това ни дава тези модели. 506 00:22:49,080 --> 00:22:52,020 И отново вашия компютър, Вашата Intel вътре, 507 00:22:52,020 --> 00:22:54,350 разбира тези модели от нули и единици. 508 00:22:54,350 --> 00:22:57,300 И понякога модела представлява действителен десетичен номер 509 00:22:57,300 --> 00:22:59,770 както видяхме миналата седмица, понякога представлява писмо 510 00:22:59,770 --> 00:23:02,730 като видяхме миналата седмица, понякога тя представлява инструкция, 511 00:23:02,730 --> 00:23:05,460 като отпечатване на нещо на екрана. 512 00:23:05,460 --> 00:23:08,782 >> Така ФОРМАТ за instance-- а по-скоро, нека назад. 513 00:23:08,782 --> 00:23:11,240 Ние сме били като за даденост че тези нули и единици са 514 00:23:11,240 --> 00:23:14,200 произведени от тази команда марка. 515 00:23:14,200 --> 00:23:16,050 Но марка не е компилатор. 516 00:23:16,050 --> 00:23:19,370 Уверете се, не е нещо, което в средата това е производството на нули и единици. 517 00:23:19,370 --> 00:23:23,780 Вместо да е просто много удобно наречена програма, чиято цел в живота 518 00:23:23,780 --> 00:23:27,267 е по същество, за да разбера как да компилирате вашата програма. 519 00:23:27,267 --> 00:23:29,350 И ние го използваме в тези първата седмица, защото тя просто 520 00:23:29,350 --> 00:23:30,910 ни спестява много неприятности. 521 00:23:30,910 --> 00:23:34,080 >> Но това, което правят е наистина прави, когато компилирате здравей, 522 00:23:34,080 --> 00:23:36,690 е, както казахме миналия път, това е търси на твърдия ви диск 523 00:23:36,690 --> 00:23:40,620 или в текущата папка, за файл с име, което, както изглежда? 524 00:23:40,620 --> 00:23:41,815 Hello.c, нали? 525 00:23:41,815 --> 00:23:43,190 Това е просто вид на конвенция. 526 00:23:43,190 --> 00:23:45,620 Това е произволна, но това е начина, по който стоят нещата. 527 00:23:45,620 --> 00:23:48,620 Уверете се, ако просто укажете името на програма, която все още не съществува, 528 00:23:48,620 --> 00:23:52,200 тя ще изглежда за изходния код във файл, по подразбиране означава hello.c. 529 00:23:52,200 --> 00:23:53,530 И ако той се намира, чудесно. 530 00:23:53,530 --> 00:23:56,650 Това ще да конвертирате този източник код в обектен код за вас. 531 00:23:56,650 --> 00:23:59,670 >> Но всеки път, когато съм се удари Въведете след пускането направи здравей, 532 00:23:59,670 --> 00:24:03,560 Спомняте ли си последния път, когато виждам доста дълъг и загадъчен последователност 533 00:24:03,560 --> 00:24:06,430 на други бели букви и героите на екрана? 534 00:24:06,430 --> 00:24:11,220 Ами това е действителната команда, действителната компилатор, който е действал. 535 00:24:11,220 --> 00:24:15,500 Така че действителната компилаторът ще използваме по-голямата част семестъра е нещо, наречено трясък. 536 00:24:15,500 --> 00:24:19,280 Някои от вас може би са използвали Visual Studio преди, или GCC, 537 00:24:19,280 --> 00:24:21,340 или произволен брой други компилатори. 538 00:24:21,340 --> 00:24:22,620 Ние ще използваме трясък. 539 00:24:22,620 --> 00:24:26,950 >> И звъня ни позволява всъщност да конвертирате този код към обектния код. 540 00:24:26,950 --> 00:24:29,430 Какво означава това всъщност означава на практика? 541 00:24:29,430 --> 00:24:33,390 Ами нека да отидат в един от Моите папки от миналия път. 542 00:24:33,390 --> 00:24:35,760 Вътре на CS50 уреда. 543 00:24:35,760 --> 00:24:42,080 И нека да вървим напред и да се създаде тази същия файл, включват стандартни I / O точки з. 544 00:24:42,080 --> 00:24:42,875 Int основен невалидна. 545 00:24:42,875 --> 00:24:46,000 И ние ще се върнем в бъдеще, тъй като до каква INT средства и какви нищожни средства. 546 00:24:46,000 --> 00:24:49,130 Но за сега нека да направим здравей свят наклонена черта N, 547 00:24:49,130 --> 00:24:50,500 точно както направихме на дъската. 548 00:24:50,500 --> 00:24:53,930 >> Позволете ми да запазите този файл, наречен hello.c. 549 00:24:53,930 --> 00:24:58,280 И сега, ако искам да се съберат тази I could-- нека я увеличите в-- Run 550 00:24:58,280 --> 00:25:00,450 направи здравей влиза. 551 00:25:00,450 --> 00:25:02,645 И това отново е че много загадъчен линия. 552 00:25:02,645 --> 00:25:05,120 Но сега поне една дума вероятно скача от вас. 553 00:25:05,120 --> 00:25:07,087 Звъня е тази линия, което видяхме преди. 554 00:25:07,087 --> 00:25:10,420 Сега има много други неща, честно казано че ще махне ръцете ни в за днес. 555 00:25:10,420 --> 00:25:14,020 Но има няколко подгрупи, няколко символа в тук 556 00:25:14,020 --> 00:25:14,907 , които са от интерес. 557 00:25:14,907 --> 00:25:16,490 Но аз ще отида напред и да направите това. 558 00:25:16,490 --> 00:25:18,281 Отивам в първия манш Здравейте, само за да докаже 559 00:25:18,281 --> 00:25:20,320 че това работи, тъй като беше в понеделник. 560 00:25:20,320 --> 00:25:22,330 Но сега аз отивам да изтриете програмата. 561 00:25:22,330 --> 00:25:25,870 И още много като имахме тези кратки имена последен път, 562 00:25:25,870 --> 00:25:29,787 командата за премахване на нещо е RM, премахвате, влиза. 563 00:25:29,787 --> 00:25:31,870 Ще получите някои доста загадъчни въпроси. 564 00:25:31,870 --> 00:25:35,210 Трудно ми е да повярвам, че можете да направите дори и този въпрос е трудно да се разбере. 565 00:25:35,210 --> 00:25:38,100 Но премахнете обикновен файл здравей просто средства искаш да изтриете здравей. 566 00:25:38,100 --> 00:25:42,650 >> И аз мога да отида напред и да напишете г. за Да, Enter, а сега го няма. 567 00:25:42,650 --> 00:25:45,130 Какво означава това сега, ако изчистите екрана си, 568 00:25:45,130 --> 00:25:47,301 е, че вместо правиш направи hello-- ви 569 00:25:47,301 --> 00:25:48,800 Знаеш ли, аз съм все по-добър в това. 570 00:25:48,800 --> 00:25:50,690 Отивам да тичам съставител себе си. 571 00:25:50,690 --> 00:25:53,330 Не ми трябва някаква програма, която да разбера какво ми файл се нарича. 572 00:25:53,330 --> 00:25:55,370 Написах hello.c, I знам как се нарича, 573 00:25:55,370 --> 00:25:57,640 Аз съм несъмнено може да напишете това. 574 00:25:57,640 --> 00:26:02,620 Така че аз отивам да вървим напред и не звъня hello.c Enter. 575 00:26:02,620 --> 00:26:03,264 >> Изглежда, да работят. 576 00:26:03,264 --> 00:26:05,930 И няма допълнителна продукция, защото трясък е компилатор. 577 00:26:05,930 --> 00:26:08,590 Това е, което се конвертира изходния код на нули и единици. 578 00:26:08,590 --> 00:26:12,870 Така че, ако аз сега правя точка наклонена черта здравей Enter, хм. 579 00:26:12,870 --> 00:26:14,630 Ново съобщение днес грешка. 580 00:26:14,630 --> 00:26:17,610 Така че Баш е само името на мига бързо, че ние използваме. 581 00:26:17,610 --> 00:26:20,360 Това е грубо опростяване, но за сега това е всичко, което е, 582 00:26:20,360 --> 00:26:21,401 това е мига ред. 583 00:26:21,401 --> 00:26:22,880 И това е защо го вика при нас. 584 00:26:22,880 --> 00:26:25,690 >> Няма такъв файл или директория е малко по-ясно. 585 00:26:25,690 --> 00:26:28,190 Но със сигурност е направил, че обектен код. 586 00:26:28,190 --> 00:26:30,930 Но уловката е, че ако напишете командата 587 00:26:30,930 --> 00:26:34,650 към списъка на съдържанието на този директория, която е какво? 588 00:26:34,650 --> 00:26:36,210 ли за списък. 589 00:26:36,210 --> 00:26:39,332 Има един куп неща тук, някои от които дойдоха с уреда, 590 00:26:39,332 --> 00:26:42,040 като моята папка Desktop, Downloads папка, Dropbox папка, както и всички 591 00:26:42,040 --> 00:26:42,850 тези неща. 592 00:26:42,850 --> 00:26:45,410 Но това, което е интересно е hello.c, който 593 00:26:45,410 --> 00:26:47,286 Аз създадох преди малко с Gedit. 594 00:26:47,286 --> 00:26:49,160 И това, което е най-странното търси име тук, 595 00:26:49,160 --> 00:26:53,110 може би, че не сме виж последния момент на всички? 596 00:26:53,110 --> 00:26:54,710 >> a.out, нали? 597 00:26:54,710 --> 00:26:56,920 Така през деня, то Просто реших, че когато 598 00:26:56,920 --> 00:26:58,760 компилирате програма за първи път, 599 00:26:58,760 --> 00:27:02,360 и не посочите името на даден файл, да го наричаме. 600 00:27:02,360 --> 00:27:05,800 И a.out просто означава, че това е изхода на компилатор. 601 00:27:05,800 --> 00:27:07,790 Така че това е ужасно име за дадена програма. 602 00:27:07,790 --> 00:27:12,820 Но от тази логика, точка, наклонена черта за текущата директория, наклонена черта a.out, 603 00:27:12,820 --> 00:27:16,102 би трябвало да означава, че има в действителност ми здравей свят програма. 604 00:27:16,102 --> 00:27:17,560 Сега малко се затопли упражнения, също. 605 00:27:17,560 --> 00:27:20,420 Ако искате да преименувате тази файл, оказва се, че сте 606 00:27:20,420 --> 00:27:23,000 преместване на файл от едно име на друго. 607 00:27:23,000 --> 00:27:28,750 Така MV a.out, а след това да го наречем здравей Enter. 608 00:27:28,750 --> 00:27:30,940 Така че това е команда Linux. 609 00:27:30,940 --> 00:27:34,370 DOS имаше преди години, Windows има терминален прозорец 610 00:27:34,370 --> 00:27:36,460 от някакъв вид, който изглежда по този начин, Linux и Mac 611 00:27:36,460 --> 00:27:38,140 компютри имат тази мига бързо. 612 00:27:38,140 --> 00:27:41,490 Въпреки че повечето от нас вероятно Рядко, ако изобщо някога, да я използват. 613 00:27:41,490 --> 00:27:44,590 >> Но това, което съм направил е пуснете програма, чието име е MV, 614 00:27:44,590 --> 00:27:47,900 и аз съм го снабдени с два аргумента, така да се каже. 615 00:27:47,900 --> 00:27:48,630 Два входа. 616 00:27:48,630 --> 00:27:50,260 a.out е оригиналното име. 617 00:27:50,260 --> 00:27:51,630 Hello е новото име. 618 00:27:51,630 --> 00:27:55,670 Така че, ако аз сега правя точка наклонена черта здравей, Въведете, че съществува. 619 00:27:55,670 --> 00:28:00,770 И ако го направя точка наклонена черта a.out, какво очакваш аз трябва да видя? 620 00:28:00,770 --> 00:28:02,250 >> Bash, няма такъв файл или директория. 621 00:28:02,250 --> 00:28:03,350 Защото аз просто го преименува. 622 00:28:03,350 --> 00:28:04,975 Така че това отнема малко време за опознаване. 623 00:28:04,975 --> 00:28:06,977 Но проблемът комплект 1 спецификация наистина ще 624 00:28:06,977 --> 00:28:08,810 държа ръката ти през някои от тези minutae. 625 00:28:08,810 --> 00:28:11,050 Тъй като това е пълен интелектуална разсейване 626 00:28:11,050 --> 00:28:12,966 от по-интересните идеи в ръка, които 627 00:28:12,966 --> 00:28:15,310 всъщност създаване нещо от код. 628 00:28:15,310 --> 00:28:18,830 Но нека да направим една модификация Сега за тази програма. 629 00:28:18,830 --> 00:28:23,150 >> Спомнете си, че последният път, когато направи нещо, като този, ФОРМАТ името си. 630 00:28:23,150 --> 00:28:25,790 И наистина ние просто направи това на големия екран там. 631 00:28:25,790 --> 00:28:30,640 И след това, което направих низ и получава GetString отворени скоба, близо скоба. 632 00:28:30,640 --> 00:28:33,430 И скоба само стенограмите нотация за скоби. 633 00:28:33,430 --> 00:28:36,460 Така се GetString вземат никакви аргументи? 634 00:28:36,460 --> 00:28:38,440 Не входове Не, но тя се нуждае от скобите, 635 00:28:38,440 --> 00:28:41,830 защото това е, което разграничава свикване на функция. 636 00:28:41,830 --> 00:28:46,440 >> Така че аз ще отида напред и да се опитаме да тичам съставител на тази програма сега. 637 00:28:46,440 --> 00:28:50,774 Звъня hello.c, защото аз не се променя името си за сега. 638 00:28:50,774 --> 00:28:51,940 И аз имам един куп грешки. 639 00:28:51,940 --> 00:28:53,570 Да намалите тук. 640 00:28:53,570 --> 00:28:55,420 Ако превъртите нагоре отново, както казах миналия път, 641 00:28:55,420 --> 00:28:58,420 на първо място, същата грешка че аз имам за последен път. 642 00:28:58,420 --> 00:29:04,210 На линия 6 на hello.c Имах недекларирания идентификатор низ, 643 00:29:04,210 --> 00:29:05,590 съм означава стандарт в? 644 00:29:05,590 --> 00:29:06,750 Аз не го направих. 645 00:29:06,750 --> 00:29:10,050 Защото това, което аз направих грешка има в тази програма, ако си спомняш от последния път? 646 00:29:10,050 --> 00:29:13,219 647 00:29:13,219 --> 00:29:15,010 Да, ние се нуждаем от така наречените помощни колела 648 00:29:15,010 --> 00:29:16,510 че ние просто ще се използва за няколко седмици. 649 00:29:16,510 --> 00:29:19,480 Но аз трябва да се уточни, че също така, някъде във вътрешността на уреда, 650 00:29:19,480 --> 00:29:22,720 е файл, който ние написахме само преди няколко години. 651 00:29:22,720 --> 00:29:26,500 Вътре в които са функции като очевидно GetString. 652 00:29:26,500 --> 00:29:35,160 Така че сега, ако се върна тук, увеличавате, и изпълнете отново трясък hello.c. 653 00:29:35,160 --> 00:29:36,500 По дяволите, друга грешка. 654 00:29:36,500 --> 00:29:38,590 Но ние не сме виждали това и преди. 655 00:29:38,590 --> 00:29:41,900 >> Това е малко по- езотеричен, за да разбера. 656 00:29:41,900 --> 00:29:46,910 Но това е умишлено на екрана, защото искахме да разкажем тази история. 657 00:29:46,910 --> 00:29:51,280 Когато компилирате hello.c, точно както картината от преди предложено, 658 00:29:51,280 --> 00:29:54,650 сте само конвертиране, че изходния код на нули и единици. 659 00:29:54,650 --> 00:30:00,340 Сега персонал CS50 преди няколко години написах CS50.h, и съответен файл, 660 00:30:00,340 --> 00:30:01,640 CS50.c. 661 00:30:01,640 --> 00:30:04,490 А преди няколко години ние,, компилиран тези файлове 662 00:30:04,490 --> 00:30:07,290 във файл, което се случва да се нарича CS50.o. 663 00:30:07,290 --> 00:30:09,180 >> Или това може да се преименува на няколко различни неща. 664 00:30:09,180 --> 00:30:11,054 Но това е един лесен начин на мислене за него. 665 00:30:11,054 --> 00:30:14,960 Така че ние компилиран CS50 е библиотека в нули и единици. 666 00:30:14,960 --> 00:30:20,340 Но никъде не съм определено че искам да комбинирате моите нули 667 00:30:20,340 --> 00:30:24,030 и такива за моя здравей свят програма с нули и единици 668 00:30:24,030 --> 00:30:29,760 че CS50 персонал създадена няколко години Преди в една цялостна програма. 669 00:30:29,760 --> 00:30:34,100 Всичко, което е определено от писане трясък hello.c е компилирате hello.c. 670 00:30:34,100 --> 00:30:38,380 >> Аз не съм казал, звъня да връзка в нули и единици 671 00:30:38,380 --> 00:30:41,650 че CS50 персонал създаден за вас преди известно време. 672 00:30:41,650 --> 00:30:48,280 Така че това е един лесен за поправка непокрит л за връзка, CS50. 673 00:30:48,280 --> 00:30:52,600 И ние отново ще видим това не след дълго отново и отново. 674 00:30:52,600 --> 00:30:54,420 Но забележете сега не е имало оплаквания. 675 00:30:54,420 --> 00:30:59,770 Така че сега, ако аз тичам точка наклонена черта Здравейте, сега тя работи. 676 00:30:59,770 --> 00:31:03,840 Въпреки, че е малко подвеждащо тъй като аз просто пресъздадени какво файл? 677 00:31:03,840 --> 00:31:05,880 a.out. 678 00:31:05,880 --> 00:31:07,930 >> Така че нека ме назад само за един миг. 679 00:31:07,930 --> 00:31:10,900 Програмата просто компилиран има три реда код. 680 00:31:10,900 --> 00:31:14,710 Когато аз се завтече Здравей свят, здравей момент Преди, аз не виждам името си. 681 00:31:14,710 --> 00:31:17,080 И това е, защото аз се завтече версия на програмата възраст. 682 00:31:17,080 --> 00:31:22,700 Но ако наистина тече точка наклонена черта a.out Въведете, името си, Роб, здравей, 683 00:31:22,700 --> 00:31:23,370 свят. 684 00:31:23,370 --> 00:31:23,870 Hm. 685 00:31:23,870 --> 00:31:26,110 Това е нещо като бъг. 686 00:31:26,110 --> 00:31:28,560 Вероятно е искал да каже Роб, нали? 687 00:31:28,560 --> 00:31:30,997 Така че каква е уговорката тук в код. 688 00:31:30,997 --> 00:31:31,872 STUDENT: [недоловим]. 689 00:31:31,872 --> 00:31:38,415 690 00:31:38,415 --> 00:31:39,290 DAVID Malan: Точно така. 691 00:31:39,290 --> 00:31:43,160 Така че аз просто трябва да се направи, че окончателното ощипване така че аз съм преминаване в контейнер, 692 00:31:43,160 --> 00:31:45,690 като запълване на празната проба, както направихме преди малко. 693 00:31:45,690 --> 00:31:47,870 Но процента и сега е че попълнете бланката. 694 00:31:47,870 --> 00:31:52,100 Така че накрая нека да разкрие един последен подробно, така че няма магия. 695 00:31:52,100 --> 00:31:54,090 Отивам да вървим напред и да се отървете от Hellow. 696 00:31:54,090 --> 00:31:56,070 Отивам да вървим напред и да се отървете от a.out. 697 00:31:56,070 --> 00:31:58,410 Така че сега нямам никакви програми, просто ми е изходен код. 698 00:31:58,410 --> 00:32:01,100 И аз отивам да изпълните малко по-дълга команда, трясък 699 00:32:01,100 --> 00:32:05,650 непокрит о здравей hello.c тире LCS50. 700 00:32:05,650 --> 00:32:08,700 >> Сега това започва някак да отидете в едното ухо и излиза от друга може би. 701 00:32:08,700 --> 00:32:10,366 Но просто дразни, освен това, което това се прави. 702 00:32:10,366 --> 00:32:14,910 Звъня е компилатор, тире LCS50 на умишлено в самия край 703 00:32:14,910 --> 00:32:18,330 какво прави в едно изречение? 704 00:32:18,330 --> 00:32:19,607 Връзки към библиотеката CS50. 705 00:32:19,607 --> 00:32:21,440 Грабва нули и тези, които правят на персонала 706 00:32:21,440 --> 00:32:23,310 и ги очарова в моя собствена програма. 707 00:32:23,310 --> 00:32:27,040 Така че на последния въпрос на ръка е, това, което е пробив о здравей вероятно 708 00:32:27,040 --> 00:32:30,530 прави, дори ако никога не сте виждал този синтаксис преди? 709 00:32:30,530 --> 00:32:34,920 >> Извеждане на програма, която е не на име a.out по подразбиране. 710 00:32:34,920 --> 00:32:37,330 По-скоро това е наречен здравей. 711 00:32:37,330 --> 00:32:39,460 Така че сега не е a.out. 712 00:32:39,460 --> 00:32:42,660 Няма такъв файл или директория, защото аз изрично каза 713 00:32:42,660 --> 00:32:46,720 наричаме тази програма здравей, така че Сега мога да напишете в такова име 714 00:32:46,720 --> 00:32:47,790 и да го държат. 715 00:32:47,790 --> 00:32:50,180 >> Сега, честно казано, момчето е, че безинтересно да има 716 00:32:50,180 --> 00:32:52,170 да си спомня всичко това малко дреболии, нали? 717 00:32:52,170 --> 00:32:54,180 Така че нека да вървим напред и да се отървете от здравей отново. 718 00:32:54,180 --> 00:32:57,880 И нека сега се върнем към един свят, в което е достатъчно да се каже, направи здравей. 719 00:32:57,880 --> 00:33:00,410 Но това е магията, която да се прави за вас, 720 00:33:00,410 --> 00:33:02,320 това е скука, че го прави за вас. 721 00:33:02,320 --> 00:33:04,630 И тъй като нашите програми и проблеми да получат по-сложни, 722 00:33:04,630 --> 00:33:06,142 направи наистина ще ти бъда приятел. 723 00:33:06,142 --> 00:33:07,850 Защото не е твърде дълго от сега отиваме 724 00:33:07,850 --> 00:33:11,150 да има програми, които са написани Не с един файл, но на няколко файла, 725 00:33:11,150 --> 00:33:16,310 и да направи ще автоматизира процеса на съставяне на всички, че за нас заедно. 726 00:33:16,310 --> 00:33:20,620 >> Така че сега отпечатате. 727 00:33:20,620 --> 00:33:24,960 ФОРМАТ е вътре в този файл, стандарт I / O точки ч, което сме виждали преди, 728 00:33:24,960 --> 00:33:26,980 но има какво още да се ФОРМАТ от това. 729 00:33:26,980 --> 00:33:30,482 Има наклонена черта N, но има също така куп други аварийни последователности. 730 00:33:30,482 --> 00:33:32,940 И бягство последователност е просто луксозен начин на казвайки нещо 731 00:33:32,940 --> 00:33:35,990 който започва с наклонена черта, не наклонена черта, наклонена черта, 732 00:33:35,990 --> 00:33:37,920 и прави някои специални неща. 733 00:33:37,920 --> 00:33:43,770 И ние няма да се спирам по-голямата част от тях, но защо е там, обратно наклонена черта двойни кавички, 734 00:33:43,770 --> 00:33:44,830 мислиш ли? 735 00:33:44,830 --> 00:33:48,010 Защо има тази странна поредица от символи, наклонена черта двойни кавички, 736 00:33:48,010 --> 00:33:50,505 защо това може да бъде полезна? 737 00:33:50,505 --> 00:33:51,380 STUDENT: [недоловим]. 738 00:33:51,380 --> 00:33:56,594 739 00:33:56,594 --> 00:33:57,760 DAVID Malan: Точно така, нали? 740 00:33:57,760 --> 00:34:01,830 Нека се върнем към нашия свят програма здравей че сме виждали доста пъти вече, 741 00:34:01,830 --> 00:34:05,880 всеки път, когато съм виждал, че здравей свят програма сме имали двойни кавички вътре 742 00:34:05,880 --> 00:34:08,210 от които е здравей запетая свят наклонена черта п. 743 00:34:08,210 --> 00:34:10,070 Но мисля, че за себе си, Какво става, ако действително 744 00:34:10,070 --> 00:34:12,520 Исках да отпечатате един цитат марка? 745 00:34:12,520 --> 00:34:16,100 Вашият първи инстинкт може да бъде, аз не знам защо може да искате да направиш-- тук, 746 00:34:16,100 --> 00:34:18,780 ние може да бъде малко пасивен агресивен, здравей приятел. 747 00:34:18,780 --> 00:34:21,350 Ние може да искате да направите нещо подобно. 748 00:34:21,350 --> 00:34:25,230 >> Но защо е това сега проблематично? 749 00:34:25,230 --> 00:34:28,730 Пренебрегването на къдрава кавички настрана, че тоника направи за нас автоматично. 750 00:34:28,730 --> 00:34:29,730 Защо това е проблематично? 751 00:34:29,730 --> 00:34:36,719 752 00:34:36,719 --> 00:34:37,270 >> Точно така. 753 00:34:37,270 --> 00:34:39,022 Защото ние имаме като 4 кавички. 754 00:34:39,022 --> 00:34:41,230 Ами на първо едно вероятно продължава с втората, 755 00:34:41,230 --> 00:34:43,271 и може би четвъртият върви с една трета, 756 00:34:43,271 --> 00:34:46,170 или, искам да кажа, че дори не съм сигурен, нито е компютъра ще бъде. 757 00:34:46,170 --> 00:34:48,352 Компютри Отново, компилатори отново, са доста тъпи. 758 00:34:48,352 --> 00:34:50,060 Те ще правят това, което само можете да им кажа да се направи. 759 00:34:50,060 --> 00:34:54,270 И ако не сте недвусмислено те вероятно ще хвърли грешка. 760 00:34:54,270 --> 00:34:57,700 >> Ако не сте недвусмислено за това как да направи фъстъчено масло и желе сандвич 761 00:34:57,700 --> 00:34:59,510 странни неща могат да пристигат. 762 00:34:59,510 --> 00:35:00,580 Това е една и съща идея. 763 00:35:00,580 --> 00:35:03,100 Сега е достатъчно да се каже, че има някои други аварийни последователности, 764 00:35:03,100 --> 00:35:04,820 но ние ще дойдем до онези преди дълго. 765 00:35:04,820 --> 00:35:07,410 По същество това бягство последователности представляват нещо 766 00:35:07,410 --> 00:35:10,480 че може да не бъде в състояние твърде лесно на клавиатурата, 767 00:35:10,480 --> 00:35:12,010 без да объркват компютъра. 768 00:35:12,010 --> 00:35:15,733 >> Сега междувременно имаме Запазено място в ФОРМАТ. 769 00:35:15,733 --> 00:35:19,630 Процент г, които също могат да бъдат написани в почти всички случаи, като процента I, 770 00:35:19,630 --> 00:35:21,610 е контейнер за какъв тип данни? 771 00:35:21,610 --> 00:35:23,920 Какъв вид на стойност? 772 00:35:23,920 --> 00:35:24,920 A десетичен номер. 773 00:35:24,920 --> 00:35:27,234 Така че всъщност ние ще започнем използване на процента аз, защото това е 774 00:35:27,234 --> 00:35:28,650 малко по-просто, като цяло число. 775 00:35:28,650 --> 00:35:29,550 Процент аз. 776 00:35:29,550 --> 00:35:31,320 Едно число, което се случва да бъде знак. 777 00:35:31,320 --> 00:35:35,690 >> Процент и ние вече казах беше контейнер за низ. 778 00:35:35,690 --> 00:35:38,630 Което е просто дума, фраза, абзац, есе, независимо. 779 00:35:38,630 --> 00:35:40,830 Това е последователност на героите на някои дължина. 780 00:35:40,830 --> 00:35:42,820 И ние ще видим не след дълго някои от тези други. 781 00:35:42,820 --> 00:35:45,950 Но процента C е за един символ. 782 00:35:45,950 --> 00:35:48,500 Процент F е за плаваща точка номер, 783 00:35:48,500 --> 00:35:50,860 като истински номер, който има десетична точка в него, които 784 00:35:50,860 --> 00:35:52,550 е не разбира цяло число. 785 00:35:52,550 --> 00:35:54,670 И там е цялата куп други. 786 00:35:54,670 --> 00:35:56,990 >> Междувременно в С, и в много езици, 787 00:35:56,990 --> 00:35:58,650 имаме различни типове данни. 788 00:35:58,650 --> 00:36:00,650 Различни видове стъклени чаши, ако щете. 789 00:36:00,650 --> 00:36:03,830 Купата аз използвах за последен път беше за пинг-понг, 790 00:36:03,830 --> 00:36:06,990 но ние може да съхранява различен ценности като символи и низове 791 00:36:06,990 --> 00:36:10,820 и числа в контейнер, като променлива, и С има тези. 792 00:36:10,820 --> 00:36:14,020 Char е видът на данните, типа на променлива 793 00:36:14,020 --> 00:36:15,700 , в която можете да съхранявате символ. 794 00:36:15,700 --> 00:36:19,560 Float е вид променлива в , които можете да съхранявате реално число. 795 00:36:19,560 --> 00:36:21,220 >> Int е разбира се за вътр. 796 00:36:21,220 --> 00:36:23,760 И по-скоро абсурдно обявен за дълго, дълго 797 00:36:23,760 --> 00:36:26,830 е мястото, където можете да съхранявате по същество един наистина дълъг номер, с още по- 798 00:36:26,830 --> 00:36:29,930 повече цифри тогава Типичен вътр мощ магазин. 799 00:36:29,930 --> 00:36:32,420 Но ние ще се върна на това след дълго. 800 00:36:32,420 --> 00:36:35,520 >> В CS50 точка з междувременно друга заглавния файл 801 00:36:35,520 --> 00:36:37,630 че сме виждали няколко пъти в употреба, има 802 00:36:37,630 --> 00:36:41,350 други два вида данни, които не съществува в C обикновено. 803 00:36:41,350 --> 00:36:45,000 Един от тях е низ, и ще видим в няколко седмици какви конци наистина 804 00:36:45,000 --> 00:36:46,610 са под предния капак. 805 00:36:46,610 --> 00:36:47,950 И едно е булев. 806 00:36:47,950 --> 00:36:51,650 И булев е променлива, която може да вземе само на определени ценности. 807 00:36:51,650 --> 00:36:54,370 И само въз основа на миналата седмица обяснение на Scratch, 808 00:36:54,370 --> 00:36:56,680 а отскоро и C, какво бихте предполагам 809 00:36:56,680 --> 00:37:01,770 са две възможни стойности за някакъв контейнер, който е от тип булев? 810 00:37:01,770 --> 00:37:02,860 >> Да и не. 811 00:37:02,860 --> 00:37:03,870 Един и нула. 812 00:37:03,870 --> 00:37:04,502 Вярно или невярно. 813 00:37:04,502 --> 00:37:07,460 И наистина това да е последното, което има тенденция да бъде конвенционален в програмен 814 00:37:07,460 --> 00:37:10,030 език, казвайки нещо като вярно или невярно. 815 00:37:10,030 --> 00:37:13,160 >> Междувременно библиотеката CS50 идва с куп функционалност 816 00:37:13,160 --> 00:37:16,640 че персоналът е написал за теб, Освен това само за да се низ. 817 00:37:16,640 --> 00:37:20,910 Писахме предварително функции, които може да се получи число от потребителя 818 00:37:20,910 --> 00:37:22,990 получите един символ, получите плувка, че 819 00:37:22,990 --> 00:37:25,160 е просто число с десетичната запетая. 820 00:37:25,160 --> 00:37:28,290 Вземи дълго, дълго, наистина голяма стойност от потребителя. 821 00:37:28,290 --> 00:37:30,930 Така че ние само съм виждал това в действия под формата на GetString. 822 00:37:30,930 --> 00:37:33,230 Но чрез тези функции скоро ще бъде в състояние да пиша 823 00:37:33,230 --> 00:37:36,070 програми, които се въвеждат от потребителя. 824 00:37:36,070 --> 00:37:39,230 >> В същото време смятат, че това програма, и да разгледа 825 00:37:39,230 --> 00:37:42,600 как сега ние може да започне, за да добавите да с нови конструкции. 826 00:37:42,600 --> 00:37:44,530 Един бърз вихрушка турне и след това ние ще разгледаме 827 00:37:44,530 --> 00:37:47,340 в някакъв писмено някои програми за ръчно себе си. 828 00:37:47,340 --> 00:37:49,700 Отсега нататък, ако искаме да прилагане на състояние, 829 00:37:49,700 --> 00:37:52,790 това няма да изглежда като хубав малък доста пъзел парче. 830 00:37:52,790 --> 00:37:54,460 Тя ще изглежда малко по-тайнствена. 831 00:37:54,460 --> 00:37:57,620 Но това е каноническа структура на състояние в С 832 00:37:57,620 --> 00:38:00,380 >> Думата ако две скоби, в които 833 00:38:00,380 --> 00:38:02,590 ще бъде някакъв вид от Булев израз. 834 00:38:02,590 --> 00:38:04,999 Сега наклонена черта в средата, това е 835 00:38:04,999 --> 00:38:07,290 в момента, нещо като pseudocode код контейнер. 836 00:38:07,290 --> 00:38:11,576 Но по-правилно, всеки ред код в C, която започва с наклонена черта 837 00:38:11,576 --> 00:38:12,850 е коментар. 838 00:38:12,850 --> 00:38:15,920 >> Това е като лепкава бележка, че може да постави на есе, отпечатани върху хартия. 839 00:38:15,920 --> 00:38:17,290 Това е бележка до себе си. 840 00:38:17,290 --> 00:38:20,100 Тя не разполага с функционален влияние върху програмата. 841 00:38:20,100 --> 00:38:23,580 Това е нещо като напомняне, това е вашата собствена документация за това какво се случва. 842 00:38:23,580 --> 00:38:25,720 Така че правя това в момента е нещо като контейнер 843 00:38:25,720 --> 00:38:27,560 за каквото и да е вътре на тези фигурни скоби 844 00:38:27,560 --> 00:38:29,810 в крайна сметка ще се направи нещо. 845 00:38:29,810 --> 00:38:35,160 >> Междувременно имате две вилици в път, един, ако друг се изгради по този начин. 846 00:38:35,160 --> 00:38:37,024 Можете, ако ElseIf, иначе. 847 00:38:37,024 --> 00:38:39,690 Сега тя е да се отбележи, особено ако сте били Googling около 848 00:38:39,690 --> 00:38:42,480 онлайн ресурси от любопитство, или ако вземеш 849 00:38:42,480 --> 00:38:44,575 един от курса препоръчваните книги за C, 850 00:38:44,575 --> 00:38:48,430 ще видите, че хората имат много на различни предпочитания за това как 851 00:38:48,430 --> 00:38:50,510 да изразят себе си в код. 852 00:38:50,510 --> 00:38:53,800 Някои хора обичат да се постави фигурни скоби, както съм направил тук. 853 00:38:53,800 --> 00:38:57,760 Някои хора обичат да сложи къдрава скоби например до тук. 854 00:38:57,760 --> 00:39:01,700 >> Някои хора обичат да сложи иначе тук и тогава това тук. 855 00:39:01,700 --> 00:39:05,120 Има всякакви начини, за да писане на код, и никой от тях не 856 00:39:05,120 --> 00:39:06,566 са прави за себе си. 857 00:39:06,566 --> 00:39:08,440 Въпреки че има няколко че са доста погрешно. 858 00:39:08,440 --> 00:39:11,315 Но има не-- ако това е в крайна сметка е много религиозен дебат. 859 00:39:11,315 --> 00:39:13,940 В действителност, един от най-досадни неща за компютърни науки 860 00:39:13,940 --> 00:39:16,310 е как упорит компютърни учени може да бъде. 861 00:39:16,310 --> 00:39:19,880 И вие ще намерите с течение на времето, че дори да развиете лични предпочитания 862 00:39:19,880 --> 00:39:22,130 за това как трябва да изглежда вашия код. 863 00:39:22,130 --> 00:39:27,162 >> Не просто се държат, а не само да създаде изход, но как трябва да изглежда естетично. 864 00:39:27,162 --> 00:39:30,120 Така че това, което ние ще направим, е да ви води по пътя към, за сега поне 865 00:39:30,120 --> 00:39:34,825 стандартен CS50 стил че най-малко поддържа нещата униформа и лесен за четене. 866 00:39:34,825 --> 00:39:37,330 Но повече за тези разграничения преди дълго. 867 00:39:37,330 --> 00:39:41,830 >> A Булев израз в C, ако Исках да кажа, ако това условие е вярно, 868 00:39:41,830 --> 00:39:44,650 и това е друго условие е Вярно е, че не пиша думата 869 00:39:44,650 --> 00:39:46,610 и, както бихте направили на английски език. 870 00:39:46,610 --> 00:39:50,580 Можете вместо това използвайте амперсанд амперсанд, по причини, ние ще се върнем към. 871 00:39:50,580 --> 00:39:54,520 Ако искате да се каже, или да използвате две вертикални линии, които на клавиатура US 872 00:39:54,520 --> 00:39:57,650 обикновено е над Enter ключ до наклонената черта. 873 00:39:57,650 --> 00:40:03,080 И това просто означава, че ако това условие или това е друго условие е вярно направи това. 874 00:40:03,080 --> 00:40:05,210 >> В същото време там е това луд нещо, което 875 00:40:05,210 --> 00:40:07,760 ще имате повод да се използва веднъж в известно време. 876 00:40:07,760 --> 00:40:10,390 Но това е просто алтернатива начин да изразиш себе си. 877 00:40:10,390 --> 00:40:12,400 Това, за сега, нека да постановяват, това е просто 878 00:40:12,400 --> 00:40:16,880 друг фънки начин за изразяване на ако ElseIf, ElseIf, ElseIf, ElseIf. 879 00:40:16,880 --> 00:40:19,720 Това е просто форматиран по отношение от случаите, в които буквално 880 00:40:19,720 --> 00:40:23,420 изброявам ценностите, които може да искате да проверите за. 881 00:40:23,420 --> 00:40:24,410 >> Междувременно контури. 882 00:40:24,410 --> 00:40:26,842 Видяхме сравнение на Изтъркайте с примка. 883 00:40:26,842 --> 00:40:29,550 И аз отивам да махам с ръка в това, което всеки един от тези неща означава. 884 00:40:29,550 --> 00:40:33,520 Но забележете, че една линия ще много често започва с ключова дума за. 885 00:40:33,520 --> 00:40:36,350 Или той ще започне с ключови думи, когато. 886 00:40:36,350 --> 00:40:41,360 Или той ще започне с ключова дума направи, и завършва с ключова дума време. 887 00:40:41,360 --> 00:40:43,920 >> Но това, което ние сме на път да видим е нещата по този начин. 888 00:40:43,920 --> 00:40:47,950 Ето, най-общо в C, как бихте могли да декларира променлива и да го даде стойност. 889 00:40:47,950 --> 00:40:50,610 В C не е достатъчно, като в Scratch, просто 890 00:40:50,610 --> 00:40:52,810 кажа да ми даде променлива, наречена нещо. 891 00:40:52,810 --> 00:40:55,960 Трябва да кажа, C, и кажи компилатора, по-конкретно, 892 00:40:55,960 --> 00:40:58,680 какъв тип стойност, което правите Искам да сложа в купата на стъкло. 893 00:40:58,680 --> 00:40:59,610 >> Дали е цяло число? 894 00:40:59,610 --> 00:41:02,210 Ако е така, вие трябва да буквално се каже INT и след това 895 00:41:02,210 --> 00:41:04,220 името на променливата, След точка и запетая. 896 00:41:04,220 --> 00:41:08,050 Ако вместо това исках низ и призова тя е, както аз направих моя код тук днес, 897 00:41:08,050 --> 00:41:10,920 бихте казали низ и запетая. 898 00:41:10,920 --> 00:41:14,200 Щом искате да го даде стойност След това можете да използвате знака за равенство, 899 00:41:14,200 --> 00:41:16,211 иначе известни като оператор за присвояване. 900 00:41:16,211 --> 00:41:17,960 И забележете как всеки на тези редове с код 901 00:41:17,960 --> 00:41:20,650 има точка и запетая в края на това. 902 00:41:20,650 --> 00:41:22,550 >> Но честно казано това е просто изглежда малко грозно. 903 00:41:22,550 --> 00:41:26,580 Защо не мога да кажа на компютъра, даде ми променлива и го инициализира с нула. 904 00:41:26,580 --> 00:41:28,380 Това е, дай ми една празна стъклена купа. 905 00:41:28,380 --> 00:41:28,980 Докато можете. 906 00:41:28,980 --> 00:41:32,250 И така, един от решението ви призовава ще Трябва да се направи стилистично течение на времето 907 00:41:32,250 --> 00:41:36,290 е, мислиш ли, писане на код, подобен на този, или ти вид го почисти и да впечатли 908 00:41:36,290 --> 00:41:39,040 хора, като пишете две линии, както само един. 909 00:41:39,040 --> 00:41:41,830 И това ще се счита обикновено по-елегантен начин 910 00:41:41,830 --> 00:41:43,870 на писане на код стилово. 911 00:41:43,870 --> 00:41:45,200 >> Функции сме разбира се виждал. 912 00:41:45,200 --> 00:41:46,340 Те ще вземат този формат. 913 00:41:46,340 --> 00:41:48,881 Името на функция, някои скоби, а след това може би някои 914 00:41:48,881 --> 00:41:49,910 неща вътре. 915 00:41:49,910 --> 00:41:52,540 Или можете да видите употреби на множество функции страна 916 00:41:52,540 --> 00:41:55,980 от страна, като нещо подобно на това. 917 00:41:55,980 --> 00:41:59,390 Сега като допирателна, прави тази шега сега да има смисъл? 918 00:41:59,390 --> 00:42:03,566 919 00:42:03,566 --> 00:42:04,960 >> [СМЯХ] 920 00:42:04,960 --> 00:42:09,360 Това не означава, че е смешно, но това е може би направи малко по-дълбок смисъл. 921 00:42:09,360 --> 00:42:12,140 Така че сега нека да отидат в CS50 уред за миг. 922 00:42:12,140 --> 00:42:14,640 И нека да се отвори една закачка тук. 923 00:42:14,640 --> 00:42:17,470 >> И наистина една от причините, за въвеждане на IKEA на стоките 924 00:42:17,470 --> 00:42:20,080 и мига на снимката на iPhone преди малко 925 00:42:20,080 --> 00:42:24,700 е действително да вратовръзка заедно на факт е, че само преди няколко години, през 2007 г., 926 00:42:24,700 --> 00:42:26,540 това парче код е освободен, което е 927 00:42:26,540 --> 00:42:29,820 един от първите изпълнението на част от софтуера 928 00:42:29,820 --> 00:42:31,494 че прави това, което се нарича трикове. 929 00:42:31,494 --> 00:42:34,410 За незапознатите, съвети и трикове нещо като телефон или iPhone 930 00:42:34,410 --> 00:42:37,680 означава основно фигуриращ как да направя неща 931 00:42:37,680 --> 00:42:39,864 с това, че компанията който я направи, не е имал намерение. 932 00:42:39,864 --> 00:42:42,780 Като искате да инсталирате определен софтуер, който не е в хранилището на ап, 933 00:42:42,780 --> 00:42:45,405 съвети и трикове на вашия телефон, който правиш такива неща и повече. 934 00:42:45,405 --> 00:42:47,447 Но това, което беше забавно в 2007-- и е имало 935 00:42:47,447 --> 00:42:49,780 десетки различни версии от тези неща, тъй като тогава, 936 00:42:49,780 --> 00:42:53,540 във всички видове на languages-- е, че тази програма тук, нарича iUnlock, 937 00:42:53,540 --> 00:42:57,036 всъщност е написана на C. И така, аз спря на изходния код за тази, 938 00:42:57,036 --> 00:42:59,910 само за да покаже вид вас някои от приликите с конструкциите 939 00:42:59,910 --> 00:43:01,450 ние сме били обсъждане по този начин досега. 940 00:43:01,450 --> 00:43:05,150 Сега вече има начин по-голяма сложност тук отколкото сме виждали вече в клас. 941 00:43:05,150 --> 00:43:07,160 Позволете ми да се придвижите нагоре само малко тук. 942 00:43:07,160 --> 00:43:11,520 >> Но забележете these-- добре забелязваме няколко неща-- но забележите тези редове тук, 943 00:43:11,520 --> 00:43:14,090 включително стандартен I / O точки з. 944 00:43:14,090 --> 00:43:17,660 И всичко-- линия 24, моля те забележите стандарт I / O 945 00:43:17,660 --> 00:43:21,380 точка з и цял куп други Файловете, които явно други хора 946 00:43:21,380 --> 00:43:22,160 са написани. 947 00:43:22,160 --> 00:43:24,850 И ако ние превъртете надолу през това, малко произволно, 948 00:43:24,850 --> 00:43:27,910 забелязвате аз не знам как да пиша всичко това все още се задължително 949 00:43:27,910 --> 00:43:28,880 но има ако. 950 00:43:28,880 --> 00:43:30,400 Така че очевидно това има клон. 951 00:43:30,400 --> 00:43:33,210 >> И ако превъртете надолу малко допълнително има и друг, ако. 952 00:43:33,210 --> 00:43:38,210 Ако превъртите нагоре, мисля, че около линия 100 видях за. 953 00:43:38,210 --> 00:43:40,020 Така че аз не съм съвсем сигурен как работи това все още, 954 00:43:40,020 --> 00:43:43,180 но това е за линия, която ще позволете ми да превъртите някои брой пъти. 955 00:43:43,180 --> 00:43:45,230 И ако преминете всички пътя към дъното 956 00:43:45,230 --> 00:43:51,020 Виждам, че има функционират тук нарича 957 00:43:51,020 --> 00:43:54,570 Основната, както и някои допълнителни кредити за вашето удоволствие четене. 958 00:43:54,570 --> 00:43:57,830 >> Така че това е само за say-- и ние ще сложим тази онлайн сред източник на курса 959 00:43:57,830 --> 00:44:01,480 код today--, че дори и някои от тях устройства, които ние приемаме за даденост, 960 00:44:01,480 --> 00:44:05,130 в края на деня, вие сте все още използването на тези основни конструкции, които сме 961 00:44:05,130 --> 00:44:07,430 вече въвеждане досега. 962 00:44:07,430 --> 00:44:08,620 Това е достатъчно, че един. 963 00:44:08,620 --> 00:44:11,480 Добре, така че сега нека да всъщност се изгради нещо. 964 00:44:11,480 --> 00:44:15,640 >> Да отидем отвъд нещо подобно hello.c, и отварянето на тази, 965 00:44:15,640 --> 00:44:17,170 нека да напиша тази програма тук. 966 00:44:17,170 --> 00:44:19,850 Отивам да вървим напред и напише програма, наречена adder.c, 967 00:44:19,850 --> 00:44:23,310 , чиято цел в живота е да бъде като първият ми супер прост калкулатор 968 00:44:23,310 --> 00:44:24,840 че просто добавя няколко номера. 969 00:44:24,840 --> 00:44:27,050 Не защото това е трудно проблем, но тъй като тя 970 00:44:27,050 --> 00:44:29,390 ми позволява да се връзвам заедно с няколко неща. 971 00:44:29,390 --> 00:44:33,100 Така че аз отивам да вървим напред и да включва Standard I / O точки ч и CS50 точка з. 972 00:44:33,100 --> 00:44:34,670 Отивам да кажа INT главната невалидна. 973 00:44:34,670 --> 00:44:36,545 И отново в бъдеще ние ще се върнем към него 974 00:44:36,545 --> 00:44:38,560 в в този контекст и нищожни средства. 975 00:44:38,560 --> 00:44:43,340 >> И сега аз ще кажа нещо като ФОРМАТ, дай ми едно цяло число. 976 00:44:43,340 --> 00:44:47,610 И сега на втората ми линия, как мога да изразя себе си като 977 00:44:47,610 --> 00:44:50,980 че искам да декларира променлива че това ще се съхранява на вътр? 978 00:44:50,980 --> 00:44:55,470 Буквално какво да напишете, ако искам да създаде променлива, която съхранява на вътр 979 00:44:55,470 --> 00:44:58,270 бихте ли казали? 980 00:44:58,270 --> 00:44:59,650 INT А е равно на getint. 981 00:44:59,650 --> 00:45:00,485 Разбира се, така че да работи. 982 00:45:00,485 --> 00:45:02,360 И точно за съгласуваност с кода, който Ви 983 00:45:02,360 --> 00:45:04,485 видите онлайн, нека промяна този на х, само защото х 984 00:45:04,485 --> 00:45:06,830 е често срещано име на променлива да се използва, най-малко в алгебра. 985 00:45:06,830 --> 00:45:08,720 Сега нека да вървим напред и да се ФОРМАТ отново. 986 00:45:08,720 --> 00:45:10,692 Дай ми друга число. 987 00:45:10,692 --> 00:45:12,900 И сега аз ще вид на поучим от този модел, 988 00:45:12,900 --> 00:45:14,490 Отивам да се каже, вътр Y получава да GetInt. 989 00:45:14,490 --> 00:45:16,340 >> И ние не сме използвали GetInt преди, но просто 990 00:45:16,340 --> 00:45:19,860 като GetString отива и получава низ, като Хавиер направи от страна на публиката, 991 00:45:19,860 --> 00:45:22,780 По същия начин прави GetInt започне да мига на подсказването. 992 00:45:22,780 --> 00:45:26,750 И ефективно да чака за потребителя да му се даде цяло число, като го напишете в 993 00:45:26,750 --> 00:45:27,900 и удря Enter. 994 00:45:27,900 --> 00:45:30,850 Сега накрая аз отивам да правя това, ФОРМАТ сумата на-- 995 00:45:30,850 --> 00:45:36,080 и ме остави да получите фантазия сега-- процента I и процента I присъства 996 00:45:36,080 --> 00:45:39,270 аз удивителен знак наклонена черта п. 997 00:45:39,270 --> 00:45:42,750 И какво мислиш, че аз отивам да сложи в предприятието и допълнителните входове 998 00:45:42,750 --> 00:45:44,620 да ФОРМАТ? 999 00:45:44,620 --> 00:45:47,380 >> Аз не искам да кажа, буквално цитирам цитата х. 1000 00:45:47,380 --> 00:45:52,210 Искам да клас в х и тогава, и сега нека да получите фантазия 1001 00:45:52,210 --> 00:45:54,420 и нека просто да приемем, ние можем да направим това, което искаме. 1002 00:45:54,420 --> 00:45:56,330 Какво искаш да кажеш след това? 1003 00:45:56,330 --> 00:45:57,070 х плюс Y. 1004 00:45:57,070 --> 00:45:58,520 И наистина, че ще работи. 1005 00:45:58,520 --> 00:46:01,760 Това е минимално езиците за програмиране разбирам основна аритметика, 1006 00:46:01,760 --> 00:46:03,500 И така, това в действителност трябва работа. 1007 00:46:03,500 --> 00:46:06,730 >> Така че нека да вървим напред и да се направи разширител в черно и бяло моя прозорец 1008 00:46:06,730 --> 00:46:08,090 тук, Enter. 1009 00:46:08,090 --> 00:46:10,830 Cryptic линия, но няма грешка съобщение, така че е добре. 1010 00:46:10,830 --> 00:46:14,410 Dot наклонена черта ехидна, дай ми едно цяло число, 1. 1011 00:46:14,410 --> 00:46:16,230 Дай ми друга число, 2. 1012 00:46:16,230 --> 00:46:18,770 Сумата от 1 и 2 е 3. 1013 00:46:18,770 --> 00:46:21,730 >> Добре, така че е доста тривиално програма, но това, което го направи? 1014 00:46:21,730 --> 00:46:25,680 Това ми позволи да използвате функцията наричаме тук, обадете се на друга функция тук, 1015 00:46:25,680 --> 00:46:29,260 две повиквания към GetInt, а трето повикване, за да ФОРМАТ, 1016 00:46:29,260 --> 00:46:30,720 и след това с помощта на тези контейнери. 1017 00:46:30,720 --> 00:46:33,160 Така че това е малко по- сложни, отколкото миналия път. 1018 00:46:33,160 --> 00:46:35,260 Но какво, ако искам да да се получи малко по-красиви? 1019 00:46:35,260 --> 00:46:38,900 >> Позволете ми да отида напред и сега правим това. 1020 00:46:38,900 --> 00:46:42,890 Нека да вървим напред и да се създаде нов файл, наречен условия нула. 1021 00:46:42,890 --> 00:46:44,890 И аз отивам да спаси известно време заради класове 1022 00:46:44,890 --> 00:46:48,260 и просто да поставите в тази код като отправна точка. 1023 00:46:48,260 --> 00:46:51,510 И сега аз съм просто ще постави нещо ново тук, в средата. 1024 00:46:51,510 --> 00:46:55,889 Така ФОРМАТ Бих искал цяло число моля. 1025 00:46:55,889 --> 00:46:58,180 И всичко това в момента е на разположение на интернет страницата на курса, 1026 00:46:58,180 --> 00:47:00,556 не е нужно всичко това напишете в клас, ако предпочитате да не. 1027 00:47:00,556 --> 00:47:02,638 ПНА, а сега отивам да използва, вместо на X и Y, 1028 00:47:02,638 --> 00:47:05,270 Отивам да се използва N, което е вероятно най-общо наименование 1029 00:47:05,270 --> 00:47:09,220 за цяло число в компютърна програма. 1030 00:47:09,220 --> 00:47:12,060 И сега искам да направя Малко решение тук. 1031 00:47:12,060 --> 00:47:15,460 Отивам да видя дали п е по-голяма от 0, тогава 1032 00:47:15,460 --> 00:47:23,670 Отивам да кажа printf-- Опа, printf-- ти избра положително число, 1033 00:47:23,670 --> 00:47:25,370 удивителен знак наклонена черта п. 1034 00:47:25,370 --> 00:47:26,460 Затворете това. 1035 00:47:26,460 --> 00:47:33,150 Иначе аз отивам да отпечатате ФОРМАТ ти избра отрицателно число. 1036 00:47:33,150 --> 00:47:35,377 >> Сега, преди да ми крещиш, нека да стартирате тази програма. 1037 00:47:35,377 --> 00:47:36,210 Позволете ми да сляза тук. 1038 00:47:36,210 --> 00:47:40,730 И как мога да се състави програма наречен условия тире 0? 1039 00:47:40,730 --> 00:47:42,300 Направете условия тире 0. 1040 00:47:42,300 --> 00:47:45,560 Нещо тъпо име, но-- дяволите. 1041 00:47:45,560 --> 00:47:47,560 OK, добро преподаване момент. 1042 00:47:47,560 --> 00:47:48,410 Защо, че счупи? 1043 00:47:48,410 --> 00:47:51,360 1044 00:47:51,360 --> 00:47:54,710 >> Какво съм случайно наричаме този файл? 1045 00:47:54,710 --> 00:47:56,876 Можете да вид заключим от раздела тук. 1046 00:47:56,876 --> 00:47:58,750 Така че това не е лошо, че аз Направих това, защото това 1047 00:47:58,750 --> 00:48:00,208 ще се случи, може би за някои от вас. 1048 00:48:00,208 --> 00:48:03,880 Така че аз случайно името ми състояние код източник 0. 1049 00:48:03,880 --> 00:48:09,950 Но ми изходния код от Конвенцията следва е във файл, наречен състояние 0 тире С, 1050 00:48:09,950 --> 00:48:11,720 или каквото и точка в. 1051 00:48:11,720 --> 00:48:12,610 >> Така че нека да се определи това. 1052 00:48:12,610 --> 00:48:16,880 Точно като Microsoft Word мога да отида до да спаси колкото и да направя състояние 0 точка в. 1053 00:48:16,880 --> 00:48:20,100 Сега, само за да бъде подредено съм ще отида напред и да се премахне 1054 00:48:20,100 --> 00:48:23,020 състояние 0, което е версия моята възраст. 1055 00:48:23,020 --> 00:48:26,550 А сега нека да се направи състояние 0, Enter. 1056 00:48:26,550 --> 00:48:27,870 ОК, изглежда добре. 1057 00:48:27,870 --> 00:48:29,510 >> Състояние 0, Enter. 1058 00:48:29,510 --> 00:48:33,530 Бих искал цяло число, моля, 50, ти избра положително число. 1059 00:48:33,530 --> 00:48:35,390 Сега какво ще кажеш за отрицателна 50? 1060 00:48:35,390 --> 00:48:37,660 Избрал отрицателно число. 1061 00:48:37,660 --> 00:48:39,605 Какво ще кажете сега, 0. 1062 00:48:39,605 --> 00:48:42,250 1063 00:48:42,250 --> 00:48:45,350 Сигурен, че 0 не е отрицателен. 1064 00:48:45,350 --> 00:48:47,780 >> Така че това е нещо логично бъг. 1065 00:48:47,780 --> 00:48:50,680 Как мога да поправя това? 1066 00:48:50,680 --> 00:48:57,260 Иначе, ако н е по-малко от 0, правя това, в противен можем да имаме три начин клон тук, 1067 00:48:57,260 --> 00:49:01,740 ФОРМАТ ви качват 0. 1068 00:49:01,740 --> 00:49:06,150 Така че сега, ако аз преиграна това програма, след съставянето на този списък 1069 00:49:06,150 --> 00:49:10,790 отново с марка, а сега преиграна състояние 0, това, което ще видите тук 1070 00:49:10,790 --> 00:49:14,570 е 0 ми дава, че продукцията. 1071 00:49:14,570 --> 00:49:16,280 Е, къде отиваме с това? 1072 00:49:16,280 --> 00:49:18,930 >> Ами това е много лесно да се изгуби от поглед на гората за дърветата. 1073 00:49:18,930 --> 00:49:23,590 И така ни позволи да се заключи, с този 2 и 1/2 минути видео 1074 00:49:23,590 --> 00:49:25,710 че в крайна сметка е малко на реклама от Google, 1075 00:49:25,710 --> 00:49:28,850 но това наистина е свидетелство за това, което дори при използването на тези основни сграда 1076 00:49:28,850 --> 00:49:33,020 блокове в крайна сметка можем да направим, след като имаме малко програмиране 1077 00:49:33,020 --> 00:49:34,463 Находчивите под коланите. 1078 00:49:34,463 --> 00:49:35,150 >> [За възпроизвеждане на музика] 1079 00:49:35,150 --> 00:49:38,370 1080 00:49:38,370 --> 00:49:40,540 >> SAROO Брайърли (дублаж): Това беше преди 26 години, 1081 00:49:40,540 --> 00:49:42,470 и аз бях на път да се превърне 5. 1082 00:49:42,470 --> 00:49:45,465 Ние стигнахме до гарата и качихме нашия влак заедно. 1083 00:49:45,465 --> 00:49:48,010 Брат ми току-що каза аз ще остана тук, а аз ще се върна. 1084 00:49:48,010 --> 00:49:51,140 А аз просто си помислих, добре знаете, Че може и просто да отида да спя 1085 00:49:51,140 --> 00:49:52,690 и той просто ще ме събуди. 1086 00:49:52,690 --> 00:49:55,145 И когато се събудих на следващата ден, цялата превоз 1087 00:49:55,145 --> 00:49:59,125 беше празна на влак беглец, призрак влак мен като аз не знам къде. 1088 00:49:59,125 --> 00:50:01,980 1089 00:50:01,980 --> 00:50:06,280 >> Бях приет до Австралия, да австралийски семейство. 1090 00:50:06,280 --> 00:50:09,710 И майка ми беше украсена стая с картата на Индия, 1091 00:50:09,710 --> 00:50:11,950 които тя поставя в непосредствена близост до леглото ми. 1092 00:50:11,950 --> 00:50:15,830 Събудих се всяка сутрин виждайки, че на картата, а оттам и 1093 00:50:15,830 --> 00:50:18,530 някак остави спомените живи. 1094 00:50:18,530 --> 00:50:20,530 Хората ще кажат, че сте се опитва да намери игла 1095 00:50:20,530 --> 00:50:23,560 в купа сено, Saroo вие никога няма да го намерите. 1096 00:50:23,560 --> 00:50:28,540 >> Щях да светна от местата, които съм използва, за да отидете, на мига на моето семейство 1097 00:50:28,540 --> 00:50:29,890 изправена. 1098 00:50:29,890 --> 00:50:34,060 Имаше образа на майка ми, седна с кръстосани крака, 1099 00:50:34,060 --> 00:50:35,740 Просто гледам да плаче. 1100 00:50:35,740 --> 00:50:38,160 Животът е толкова трудно. 1101 00:50:38,160 --> 00:50:41,237 Това беше моето съкровище. 1102 00:50:41,237 --> 00:50:44,320 И аз търсех в Google Map и осъзнах, че е Google Earth, както добре. 1103 00:50:44,320 --> 00:50:48,140 В един свят, където бихте могли да увеличите, Започнах да имат всички тези мисли 1104 00:50:48,140 --> 00:50:51,500 и какви възможности че това може да направи за мен. 1105 00:50:51,500 --> 00:50:54,890 Казах си, вие знаете, вие сте имам всички тези фотографски спомени 1106 00:50:54,890 --> 00:50:58,590 и забележителности от къде си, и Знаете ли какво град прилича. 1107 00:50:58,590 --> 00:51:03,060 Това може да е приложение, което можете да използвате, за да намери своя път обратно. 1108 00:51:03,060 --> 00:51:06,720 >> Мислех, добре аз ще сложи точка на Гара Калкута, 1109 00:51:06,720 --> 00:51:10,890 и радиус линия, вие знаете, че вие трябва да се търси около тази област. 1110 00:51:10,890 --> 00:51:13,750 Някак натъкнах тези релси. 1111 00:51:13,750 --> 00:51:18,160 И аз започнах да я следната и Аз дойдох до жп гара, която 1112 00:51:18,160 --> 00:51:22,228 отразява едно и също изображение който беше в моите спомени. 1113 00:51:22,228 --> 00:51:23,707 Всичко съвпада. 1114 00:51:23,707 --> 00:51:27,950 Просто си помислих, да, аз знам къде отивам. 1115 00:51:27,950 --> 00:51:30,116 Аз съм просто ще позволи на карта, която имам в главата ми 1116 00:51:30,116 --> 00:51:33,080 води ме и ме върна в моя роден град. 1117 00:51:33,080 --> 00:51:36,420 >> Стигнах до прага на къщата, в която съм се родил. 1118 00:51:36,420 --> 00:51:39,140 И обиколи около 15 м зад ъгъла, 1119 00:51:39,140 --> 00:51:42,980 имаше три дами, стоящи извън, в непосредствена близост един до друг. 1120 00:51:42,980 --> 00:51:47,830 И средната една пристъпи напред, и Просто си помислих, че това е майка ти. 1121 00:51:47,830 --> 00:51:53,450 Тя се наведе напред, тя ме прегърна, и ние бяхме там в продължение на около пет минути. 1122 00:51:53,450 --> 00:51:56,530 1123 00:51:56,530 --> 00:51:59,000 >> Тя сграбчи ръката ми и тя ме заведе до къщата 1124 00:51:59,000 --> 00:52:02,450 и се качи на телефона, където тя звънна сестра ми и брат ми 1125 00:52:02,450 --> 00:52:05,600 да се каже, че, знаете ли, брат ти има само 1126 00:52:05,600 --> 00:52:09,340 всички изведнъж се появи като призрак. 1127 00:52:09,340 --> 00:52:12,440 И след това семейството се събира отново отново. 1128 00:52:12,440 --> 00:52:15,110 Всички Всичко е добре, Помагах на майка ми се, 1129 00:52:15,110 --> 00:52:17,110 тя не трябва да бъде роб далеч. 1130 00:52:17,110 --> 00:52:19,555 Тя може да живее останалата част от живота си в мир. 1131 00:52:19,555 --> 00:52:23,460 >> Това беше на игла в купа сено, но иглата е бил там. 1132 00:52:23,460 --> 00:52:24,400 Всичко е там. 1133 00:52:24,400 --> 00:52:28,260 Всичко, което имаме в света е при крана на един бутон. 1134 00:52:28,260 --> 00:52:32,010 Но трябва да има волята и решимостта да го искат. 1135 00:52:32,010 --> 00:52:32,950 >> [За възпроизвеждане на музика] 1136 00:52:32,950 --> 00:52:36,420 1137 00:52:36,420 --> 00:52:38,170 DAVID Malan: Чудесно сладък атестат 1138 00:52:38,170 --> 00:52:40,540 само това, което можеш сега правим с технологиите. 1139 00:52:40,540 --> 00:52:43,390 Ние ще се видим следващата седмица. 1140 00:52:43,390 --> 00:52:44,374