DAVID малая: Гэта CS50, і гэтая з'яўляецца пачаткам аднаго тыдня. І тое, што мы думалі, што мы зрабіць, гэта адступіць заслону прылада, якое многія з вас, напэўна прайшла міма зараз на працягу многіх гадоў, але, магчыма, ніколі цалкам не Вядома, што гэта такое. Такім чынам, гэта прылада будзе, верагодна, шукаць знаёма большасці з вас у цяперашні час. [Прайграванне відэа] Трыюмф-матэматычных і механічнае ўменне гэтай новай аўтаматычны вылічальнік Гарвардскім універсітэце. Складаныя праблемы матэматыкі пакласці праз машыну ў закадаваным выглядзе на Стужка дакладна вырашыць у хвіліну доля часу, неабходнага для чалавечых разлікаў. Прызначаны для паскарэння усіх формаў матэматычныя і навуковыя даследаванні, гіганцкі механічны мозг будзе працаваць на Злучаныя Штаты Флот да канца вайны. [КАНЕЦ ВИДЕОВОСПРОИЗВЕДЕНИЕ] DAVID малая: Так вось, што вы бачыце ў навуковы цэнтр, які з'яўляецца, дзе гэтая машына ў цяперашні час знаходзіцца. На самай справе вы бачыце толькі яго частка. Толькі частка ў цяперашні час на дысплеі, і гэта прылада пад назвай Mark I, і гэта было па сутнасці сапраўды велізарны калькулятар. Ён змяніў Mark II, і гэта ад Mark II, што мы на самай справе атрымаць крыху лексікон. Гэта першы зарэгістраваны выпадак тое, што вы збіраецеся стаць усе занадта добра знаёмыя з больш чым семестра - а менавіта памылка. Так яно і аказалася ў нейкі момант Марк II прылада не функцыянуе належным чынам, і пры бліжэйшым разглядзе сапраўды існуе памылка - молі - што молі - ўнутры. І з тых часоў, мы абазначылі памылкі ў праграмах, як памылкі. Так пра гэта ў будучыні. Гаворачы аб відэа, а таксама, калі вы яшчэ не зрабілі, ведаю, што гэта CS50 Відавочна, зняты. Лекцыі звычайна ідуць уверх адразу пасля класа ў свайго роду прэ-рэліз неотредактированными фармаце, а затым праз дзень або два праз, мы мірыцца з больш высокім дазволам і больш высокую якасць версіі. Вы можаце ўспомніць, Ванэса, якая была лёс гуляе з Google шкла, якія я не забыўся спаганяць гэты раз. Так што калі вы хочаце, каб прыдумаць пасля заняткаў і гуляць, яны павінны працаваць сёння. І калі вы хочаце, каб бачыць тое, што Ванэса бачыў на днях, што вы ўбачыце тут - дайце мне павялічыць гучнасць тут, на маім ноўтбуку. [Прайграванне відэа] -Такім чынам, дазвольце мне чаргу гэта адбылося. Добра. Так дакрануцца да гэтага. Добра. ОК, Шкло. Запіс відэа. Добра. Ванеса? [КАНЕЦ ВИДЕОВОСПРОИЗВЕДЕНИЕ] DAVID малая: Добра, так што прычына , Што яна не працуе для большасці з вас у ў канцы класа, таму што я прыступіў запісаць гадзіну, што кадры паказваючы на ​​сябе пасля таго, як Я паставіў шклянкі. Таму сёння, я пакіну іх, але слава Вам за тое, што Ванэса такой добры спорт. Між тым, пара аб'явы перш, чым мы прасоўвацца наперад сёння. Так што, CS50 мае традыцыю рабіць што ў нашых сілах, каб паспрабаваць зрабіць вельмі вялікага класа адчуваць сябе меншым. І ў гэтым кірунку, амаль кожную пятніцу, мы збіраемся ў рэстаране ў плошчы, агонь і лёд, з 30 ці 40 з вашых аднакласнікаў, сябе, некаторыя з выкладчыцкага складу, і мы проста ёсць вельмі нефармальны абед. Мы часта запрашаем сяброў з прамысловасці, Выпускнікі класа, выпускнікі каледжа, на самай справе проста пабалбатаць кожнага аднаго, пагаварыць пра жыццё пасля каледж, жыццё ў каледжы, і таму падобнае. Так што калі вы хацелі б прыняць удзел у гэтым Першы такі абед у гэтую пятніцу ў 1:15 вечара, з галавы да, што URL у некаторай кропцы. Колькасць месцаў абмежавана, таму мы будзем рабіць першы прыйшоў першы абслужыць. Але мы будзем рабіць гэта зноў на пастаяннай аснове, так што не хвалюйцеся, калі вы не ператварыць яго ў гэтай першай партыі. Зараз, з пункту гледжання рэсурсаў, якія прадстаўляюцца curricularly ходам, ёсць цэлая куча, і калі ў вас не пад'ехаў сайце курсу Ужо, у прыватнасці, пры лекцыі, вы выявіце, што ўсё, мы зрабілі на мінулым тыдні ёсць, як у відэа-і свайго роду электроннай форме. Але апроч відэа, вы знойдзеце што ў цяперашні час поўны тэкст стэнаграмы, напрыклад, кожнай лекцыі. Так што, калі мы на самай справе вярнуцца да гэтага экрану Тут з Ванесай, і перайдзіце да ніжняга куце экрана, вы выявіце, што на самой справе, а не для Лекцыя ў пятніцу, але калі мы вернемся да Асяроддзя, так як у гэтым рэжыме займае некалькі дзён, вы ўбачыце, што вы можаце на самай справе цягнуць уверх, да лепшага ці да Горш таго, кожнае слова, што я ці добраахвотнікам на сцэне сказаў. І не толькі ў гэтым. Вы сапраўды можаце шукаць яго, вы можаце націсніце на любы з гэтых прапаноў, скакаць на той момант у відэа, усё да і ў канцы робячы матэрыял ўсё больш прыдатныя для плавання. Але калі вы не хочаце прытрымлівацца яму у такіх дэталях, вы знойдзеце, для Напрыклад, гэта невялікае меню тут 1.5x хуткасць, хуткасць 2x, ці я F Я ўжо кажаце занадта хутка для вас, 0.75x хуткасці. Такім чынам рэалізаваць усе гэта даступныя там для вас. Але акрамя гэтага, для правядзення лекцый, разумеюць, што мы таксама зрабіць гэтыя рэсурсы таксама даступныя. Слайды, прыклады кода, усё, што я рабіць на сцэне ці перад класам, мы размесцім там, так што вы можаце гуляць уздоўж дома або ў Сандэрс. Але тое, што мы таксама думалі, што мы зробім гэта год упершыню таксама даць вам пакрокавыя кіраўніцтва з гэтых прыкладаў. Усё часцей, як я ўжо адлюстроўваецца на Значэнне лекцый CS50, я ўжо пачаў на пытанне, наколькі ён карысны для вы, хлопцы, сядзець там, для мяне стаяць тут, і для мяне гаварыць на вас, асабліва ў якасці матэрыялу, прыклады, становяцца ўсё больш складанымі. Паколькі нязменна, пасля некаторага ліку хвілін, хто-небудзь з зоны, і то вы прапускаеце некаторыя Ключавым момантам у некаторых Напрыклад, пасля чаго вы, па сутнасці скончылася ў працягу пакінутай частцы класа які не лепшым чынам выкарыстаць свой час, ці, на самай справе, наш калектыўна як клас. І таму тое, што мы думалі, што мы спрабуем зрабіць, асабліва для некаторых з больш складаныя прыклады, што я не мог бы зрабіць справядлівасць у класе, што мы маглі б не ёсць час для ў класе, ці вы можаце толькі зоны ў час, што мы будзем вырабляць серыі пакрокавых кіраўніцтваў гэтых прыклады, так што калі вы ідзяце ў, для Напрыклад, відэа ў мінулую пятніцу старонцы тут у прыкладах, вы ўбачыце, што на пятніцу, значыць, зараз гэтая спасылкі на пакрокавыя кіраўніцтва. І фармат гэтых будзе мяняцца з цягам часу. На дадзены момант, мы выкарыстоўваем просты YouTube плэйліст. Але тое, што я зрабіў з нашай здымачнай групы пасля было прайсці праз кожную і кожны з гэтых прыкладаў зноў жа, спадзяюся, паказваючы ў значна большай яснасці менавіта тое, што еду на дом маглі быць ці павінна быць ад кожнага з іх. Такім чынам, вы знойдзеце, напрыклад, за апошнія тыдзень, кожны з нуля прыклады мы прайшлі зроблена лінейна у гэтай модзе. Так што не саромейцеся займацца ці не ўдзельнічаць у гэтым матэрыяле. Сапраўды тэма гэтага канкрэтнага курсу тое, што ёсць, верагодна, больш ў выглядзе рэсурсаў, чым вы маглі б паглынаць больш Падчас семестра. Але гэта наўмыснай. Гэта прызначаецца, каб быць так, што вы, як асобныя студэнты могуць самастойна выбраць на аснове вашага стылю навучання. Так што калі лекцыі працаваць на вас, выдатна. Калі часткі працуюць на вас, выдатна. Калі працаваць на пакрокавыя кіраўніцтва Вам лепш, выдатна. Гэта сапраўды будзе да вас, каб выбраць якія рэсурсы працаваць лепш для вас. Нарэшце, дзякуючы выпускніку Вядома, мы таксама прадстаўляем кананічнай набор пісец нот. Таму замест таго, вы, хлопцы, кіраўнікі ўніз у лекцыях штабнаваць ўніз рэчы, якія прыходзяць у клас, мы, персаналу, прадаставіць вам тое, што мы адчуваю, кананічны набор заўваг да вызваліць вас гэтага адцягнення, так што Калі вы тут, і займаўся, вы сапраўды займаюцца з тым, што адбываецца, са сваімі аднакласнікамі робяць на этапе, з тым, што на экране, і не проста запісваць даслоўна тое, што адбылося, што было сказана. Так што рэалізаваць усе гэтыя рэсурсы якія даступныя для вас. Секционирование, у адказ на часта задаюць пытанні, пачнецца ў гэтую сераду. Мы па сутнасці, не чакаць, пакуль пасля таго як большасць іншых класаў, зроблены так, што мы можам мінімізаваць колькасць змяненняў што мы павінны зрабіць. Але прыдумляць гэтыя выходныя, пачынаючы Нядзеля, будзе адзін раз асобнік што мы называем супер раздзелах. Яны будуць знятыя для тых, хто не можа удзел, і, па сутнасці, кіраўнікі курсу будзе ісці нас праз некаторыя з часткі З курсу да канца праблема адзін набор, які будзе наша першая C заснавана Праблема набору. І гэта будзе толькі дадатковыя раздзелы у чаканні таго, што будзе стаць паўтаральных раздзелаў прывяло на 50 плюс курсу навучання стыпендыятаў штотыдзень. Па нядзелях або панядзелках або аўторках, мы ёсць 90 хвіліны раздзелаў ў вельмі традыцыйным сэнсе, які будзе магчымасці для рукі, і больш блізкі агляд Матэрыял курсу. Без далейшых цырымоній, дазвольце мне прадставіць Вядома галовамі, якія з'яўляюцца за кулісамі са мной, робіць усё адбудзецца. Калі тых, хто тут сёння можа далучыцца да мяне, Роб і Ларэн і Язэп і Лукас, усё з якіх былі з Вядома на працягу некаторага часу. RJ ўжо трэцяя падобная членам нашай каманды. Ён не мог быць тут сёння, але ён папрасіў мяне паказаць яго фота. Я не ўпэўнены, што хоча гэтага , Але вось ён. І дазвольце мне проста дазволіць камандзе кажуць прывітанне і прадставіцца, так што Вы пазнаеце іх, а таксама вашыя уласных таварышаў выкладання гэтага тэрміна. LAUREN CARVALHO: Прывітанне. Мяне клічуць Ларэн Карвалью. Я жыхар рэпетытара Левереттом ў доме. Я таксама вельмі рады быць галавы для CS50 ТБ у гэтым годзе. CS50 з'яўляецца вельмі складаным, а клас у выглядзе вельмі вялікага класа, так што калі ёсць якія-небудзь праблемы, калі вы адчуваеце, як вы адсталі, не саромейцеся звязацца з любым з нас у heads@cs50.het, ці да мяне, калі б ты падабаецца гуляць з маімі залатымі рэтрывер шчанюка. Вось Лукас. LUCAS FREITAS: Прывітанне, хлопцы. Мяне клічуць Лукас Фрейтас. Я малодшы [неразборліва] інфарматыцы і лінгвістыцы. На самай справе я з Бразіліі, і я таксама разумеюць даследаванняў Усходняй Азіі. Так што калі ў вас ёсць якія-небудзь пытанні аб камп'ютэрных навук або мовы ці што заўгодна, толькі дайце мне ведаць. Ці CS50, асабліва. Іосіф Онг: Прывітанне. Я Язэпа. Я старэйшы Навучанне кампутара навукі ў Elliott House. Такім чынам, давайце паглядзім. Вы ўбачыце мяне вакол правядзення аднаго з гэтых велізарных камер. Я рэзідэнт фатограф персаналу на 50, а таксама, і студэнты часта Часам прыняць мяне за азіяцкіх турыстаў. Так што калі вы бачыце мяне з камерай, не ўцякаюць. Проста ўсміхніцеся і не саромейся. І я спадзяюся, вам спадабаецца 50. Я гэта вельмі спадабалася, калі я ўзяў яго, і менавіта таму я для TFing гэтыя тры гады. ROB BOWDEN: Прывітанне. Я Роб. Гэта мой чацвёрты семестр з CS50. Я толькі што скончыў у траўні. Я быў у Kirkland. Я рады за гэты семестр, і я спадзяюся, што вы таксама. DAVID малая: Дзякуй у гэтым годзе кіраўнікі і RJ, а таксама. Так некалькі апошнія ноты на рэсурсы. Адзін з іх, мноства Р 0 ўжо запушчаны. Гэта адно існуе толькі ў стандартным выданне, якое прызначана для цалкам класа. Пачынаючы з мноства Р 1, будзе Хакер выданнях большасць набораў праблемы, якія, зноў жа, будзе ахопліваць матэрыял з трохі больш складанай задачай, у той час яшчэ тычыцца на некаторых па той жа тэматыцы. У зірніце на сайце курсу для гэтай спецыфікацыі для набору 0 р. Гадзіннік таксама пачнецца на гэтым тыдні, Сёння вечарам, заўтра, у сераду, і чацвер у розных сталовай залаў на тэрыторыі кампуса. Выезд cs50.net/ohs для офіса гадзін для курса, і разумею, што гэта будзе вельмі выпадковыя магчымасці, вядома, у пачатку семестра, прыехаць з вашым ноўтбук падчас мазгавога перапынку. Прынясі сяброў і балбатаць курсу ТФ і ЦС з любым Пытанні, якія вы маглі б мець. І я не магу падкрэсліць дастаткова, нават для нуля і праблема набору 0, то сапраўды няма нямы пытанне. Там не занадта нязручным студэнтам задаваць пытанні. Калі ласка, не саромейцеся, каб скарыстацца гэтага рэсурсу. Ён будзе там recurringly На працягу семестра як будзе CS50 абмяркоўваць. Гэта інтэрактыўнае абмеркаванне курсу форумах па гэтым адрасе там. Тое, што мы таксама зробім гэта падчас лекцый Таксама сачыць за гэтым, дзякуючы выкладанне курса каманды. І таму, калі ў вас ёсць пытанне падчас лекцыі, таму што я сказаў нешта дрэнна ці зусім няма, усе сродкі, спытаеце , Што ў рэальным часе, калі ў вас ёсць ноўтбука або тэлефона на вэб-сайце, і Мы зробім усё магчымае, практычна ў рэжыме рэальнага часу, каб адказаць на гэта. Ці ёсць якія-небудзь пытанні аб CS 50? Тады апошнія ноты маё. Гэтае пытанне з ненасычанага зб. У чым завяршыць сваё даследаванне карты, калі Вы яшчэ не зрабілі, разумееш, што Ўсёабдымная бачанне СБ ненасычанага, даступныя для ўсіх студэнтаў, якія на самай справе , Каб дапамагчы зняць вастрыню курсу як гэта, так бы мовіць, так што, калі Вы апынецеся позна ўначы, 2 раніцы, 3 раніцы, сапраўды біцца галавой супраць сцяне, дзе вы ведаеце, што 99% шляху да завяршэння, але вы ёсць так шмат іншых рэчаў, каб зрабіць, Я думаю, што лепш выкарыстоўваць, часта, з Час студэнтаў з'яўляецца сапраўды перайсці да гэтыя іншыя рэчы, каб можна было аптымізаваць свой час усё вакол. І СБ ненасычанага з'яўляецца адным механізмам, праз які вы можаце быць спакойныя ў тым, што 99% шляху ёсць яшчэ па-чартоўску добра. Аналагічным чынам, таксама, калі вы прыйшлі ў Вядома без папярэдняга фону або далёка не так, як вы фону лічыце, што вашы аднакласнікі маглі мець, праўдзівая ці ілжывым, разумею, што гэта магчымасць атрымаць вашыя рукі брудныя з курсам, паклаў пальцы ў вада, так бы мовіць, гэтак жа, як я сам зрабіў гадоў таму з прыдатны / не прыдатны. Як я ўжо казаў на мінулым тыдні, было гэта, вядома, як і іншыя, не былі даступныя прайшоў / не прайшоў у той час, я б, напэўна Ці не калі-небудзь ступіў нагой у клас, хоць я зрабіў, пяць тыдняў Праз перадумаю, якую вы можа таксама, і пераключыцца на або з ліста градуяваная статус. Добра. Такім чынам, мы глядзелі на рэчы, як гэта на Пятніца, і мы вельмі хутка збіраецца да пераходу на тое, што выглядае больш загадкавыя сёння. Але гэта тым не менш ж асноўныя ідэі. Які быў агульны тэрмін, які мы выкарыстоўваецца для апісання паззл , Якія выглядалі, як гэта? Так, з заявай. І вы можаце называць гэта любым некалькі рэчаў. Але мы будзем называць проста заяву, і заява проста паведамляе праграме - або ў выпадку нуля, Спрайт - нешта рабіць. Прывітанне ў гэтым выпадку. Нешта падобнае мы Замест завецца і што? Так, так што лагічны выраз. Лагічнае выраз, як раз тое, , Што з'яўляецца сапраўдным або ілжывых, так і драпінам прыцягвае іх з гэтай формай, але і з пытальным знакам, каб перадаць Ідэя пра тое, што адказ на гэтае пытанне ня з'яўляецца сапраўдным або ілжывых, так ці не , 1 або 0. І мы выкарыстоўваем гэтыя лагічныя выразы Ўнутры канструкцыі, такія як гэтыя, якія мы назвалі Што? Так, стан ці філіял. І ўмова вы бачыце тут, у Драпіны ёсць трохі запаўняльніка для паззл гэтай форме, мэта якога сёння так, што вы можаце перацягнуць яго і змесціце яго на вяршыні, а затым дыктаваць праграму, калі гэтага лагічнага выраз праўдзіва, робяць гэты набор інструкцый, гэта набор аператараў, яшчэ рабіць гэта іншы набор інструкцый. І нагадаць, што вы можаце Гняздо гэтых рэчаў. Нават пры тым, што не так шмат месца Візуальна у гэтым паззл, драпін будзе павялічвацца і памяншацца па памеры незалежна галаваломкі вы перацягнуць ў там так што вы можаце гэтага і гнязда ёсць тры шляхі развілкі дарог. IF, ELSE IF, ELSE. І вы нават можаце выйсці за межы, што, ўкладзенасці далей і далей па меры неабходнасці. Так, нарэшце, мы ўбачылі канструкцыі, такія як гэтым, інакш вядомы як цыкл. І гэта толькі тое, што робіць что-то зноў і зноў і зноў. У гэтым выпадку яно адбудзецца, будзе канчатковае колькасць разоў, але мы таксама бачылі прыклад, дзе колькасць раз прыйшоў з зменнай, так што можа змяніцца. І мы таксама бачылі зусім іншы блок называецца блок, які назаўжды дазволіла нам пятлю бясконца доўга. Так адна канструкцыя, якая драпін 2.0 мае - і тыя з вас больш зручная з папярэдняга фону ўжо добра знаёмыя з гэтым пабудаваць - гэтыя рэчы, якія мы называлі Што? Такім чынам, мы назвалі гэтыя функцыі, у адваротным выпадку вядомы як працэдур. Там у невялікі семантычнае адрозненне, але мы будзем называць іх проста функцыямі. І функцыі, у выпадку драпін, з'яўляецца карыстацкай часткі галаваломкі, якія Вы самі можаце стварыць, так што ў вас ёсць новая частка галаваломкі, якая, у дадзеным выпадку, можна было б назваць кашаль, што з'яўляецца сярод усіх іншых даступныя часткі галаваломкі з нуля. Нават пры тым, MIT ня вынаходзіў гэта паззл, што вы зрабілі. Так функцыя дазваляе ствараць новыя паводзін, даць яму імя функцыі і затым выклікаць яго, так бы мовіць. Сапраўды выкарыстоўваць яго ў праграмах зноў і зноў і зноў, не чакаючы для каго-то, як MIT ўніз па дарозе да вынайсці новую функцыянальнасць з нуля. Вы самі можаце пабудаваць гэтыя галаваломкі часткі сябе, а затым выкарыстоўваць іх ў вашых уласных праграмах. І мы ўбачым, напрыклад паўтараюцца , Што сёння і далей. Такім чынам, сёння мы пераходзім зараз на нешта больш складаных. Але ў рэшце рэшт, што-то больш магутным і выразным і больш Прадстаўнік шлях, які мы будзем на ўвесь семестр на працягу шэрагу моў - што код або зыходны код. І зыходны код, аказваецца, не тое, што кампутар Звычайна на самай справе працуе. Зыходны код выглядае прыкладна так. Так што гэта, зноў жа, магчыма, самы просты праграму можна напісаць у мову, званы C. Мы пачнем Акрамя гэтага дражняць ў хуткім часе, і калі гэта сапраўды выглядае як грэцкі з вамі прама зараз, паверце мне. На працягу ўсяго толькі тыдзень ці два час, гэта будзе занадта добра знаёмыя і на самай справе досыць сапраўды адлюстроўвае сітуацыю больш складаныя прыклады, з якімі вы будзеце таксама атрымаць больш зручнымі. Але вы не можаце проста запусціць гэтую такога кода звычайна. Вы павінны ператварыць яго ў нешта, што сам кампутар разумее. І так для гэтага, нам трэба нешта мы збіраемся называць кампілятарам. Кампілятар гэта праграма, якая прымае зыходны код, як вы толькі што бачылі, як ўваход, і яна вырабляе нулёў і тыя, у якасці выхадных, у адваротным выпадку вядомы як аб'ектны код. І гэта тыя нулёў і адзінак, што можа выглядаць зусім так, што у канчатковым рахунку, маюцца на ўвазе Вашым Mac або кампутара. Калі вы калі-небудзь чулі маркетынгу Выраз Intel Inside, што як раз азначае, што кампанія пад назвай Intel выпусціла мозг з кампутарам - інакш вядомы як цэнтральны працэсар, Цэнтральнае працэсарны прылада - і гэта толькі тое, што разумее шаблоны нулёў і адзінак. І такім шляхам пераўтварэння зыходнага кода ў аб'ектнага кода праз гэты працэс тут што мы будзем рабіць з дапамогай некалькіх каманд крыху пазней, вы стварэнне шаблонаў нулёў і адзінак што супрацоўнікі Intel ёсць вырашыла прадстаўляць пэўныя заявы. Зараз, я нават не ведаю, які ў тым, які, проста зірнуўшы на гэтых нулёў і адзінак. Большасць людзей у гэтыя дні няма. Але дзесьці ёсць мадэль нулёў і адзінак, які ўяўляе аператара друку. Дзе-то там можа быць іншай набор нулёў і адзінак, што ўяўляюць паняцце ці назаўжды Паўтарыць 10 раз ці нават мяу, калі гэта фактычна гэта праграма, якая можа ўключаюць некаторыя гукі. Карацей кажучы, людзі проста вырашылі, гэтак жа, як мы зрабілі для ASCII - для літар алфавіту на мінулым тыдні - людзі вырашылі, што нават да больш складанай структуры нулёў і адзінак ўяўляюць сабой больш складанае паводзіны як друк або кажуць або мяўкаць. І таму на сённяшні дзень, і ў значнай ступені наперад у семестр, мы возьмем для разумеюцца, што нехта лічыў, , Як гэта зрабіць, што адлюстраванне. Але мы, у адпаведнасці з гэтай ідэяй слаёў-над працы людзей якія прыехалі перад намі, будзе прымаць для як належнае той факт, што гэта адбываецца пад капотам. Але мы значна больш зацікаўлены ў Будынак рэчы, якія з'яўляюцца больш цікавае на вяршыні ўсяго гэтага. І так сапраўды, першая праграма, якую мы пісаў у гэтай драпін было супер проста Адзін з іх, Hello World. І вы можаце думаць пра гэта як Асноўнай праграмай, якая кіруе для Scratch паводзіны па стане на мінулую пятніцу. Сёння мы збіраемся пачаць перакладаць Драпіны кавалачкі галаваломкі зыходны код на гэтай мове называецца З так, што было падобна на гэта Пятніца, пачынаючы з сённяшняга дня і далей, з'яўляецца Цяпер будзем глядзець, як гэта. Па агульным прызнанні больш загадкавымі. Гэта даволі адцягвае і род розумаў здранцвенне, каб бачыць усе каціроўкі і кропкі з коскай і дужкі і гэтак далей. Але калі вы пачынаеце ігнараваць усё, што вы Не разумею, і сапраўды з нецярпеннем у сутнасці белы тэкст на Экран, вядома, вы бачыце, як я, "Hello, World". Гэта лініі з фіялетавы заяву наверсе, і аказваецца , Што асноўным ключавых словах збіраецца выбудоўвацца канцэптуальна, калі зялёная Сцяг націснуў. Такім чынам, іншымі словамі, у той час як у драпін, мы рэалізуем гэтую праграму Здравствуй свет з гэтымі двума частак галаваломкі, на С, мы збіраемся рэалізаваць яго з гэтым чатыры зашыфраванае ліній. Але, як мы паглыбляцца ў гэта, вы бачыць, што кожны з гэтых белыя знакі на экране на самай справе мае шэраг істотных сэнс, і большасць нашых праграм збіраюцца структурна выглядаць зусім тое ж самае. Так што заява, каб было ясна, што быў падобны "Скажы прывітанне свет" на Пятніца збіраецца пачаць шукаць як гэта на панядзелак. Е ("Hello, World"). І ёсць некаторыя дзіўныя зваротную касую рысу N, ёсць дужкі, ёсць кропкай з коскі. Але ў рэшце рэшт, ключ вынас сёння з'яўляецца тое, што ўсё, што мы робім перакладае рэчы з карціны ўтвараюць у тэкставай форме. Так цыкл, які выглядаў так на мінулым тыдні збіраецца выглядаць нешта накшталт гэтага. І дазвольце мне адмовіцца, як і ў Драпіны, ёсць розныя спосабы дасягнення той жа мэты. Тое ж самае ў C. Я не паказваць вам толькі спосаб рабіць рэчы, але адзін з спосабаў перавесці гэта назаўжды блакаваць ў цыкл ў C. Вось гэтая вось, паўторыце 10 разоў. Гэты сапраўды выгляд выгібаў розум у першы раз вы яго бачыце. Але для рэалізацыі, што з гэтага часу, Мы збіраемся выкарыстоўваць цыкл, так бы мовіць. І ясна ёсць некаторы сінтаксіс, што і трохі комплексе з і я роўныя і 0, але як толькі мы апускаемся у якія Сёння і далей, вы толькі збіраецеся бачыць, што гэта ўсё проста робяць некаторыя асноўныя арыфметычныя дзеянні, каб прымусіць нас ад 0 на да 9 або 10 у гэтым выпадку. Нарэшце, з зменнымі, вы памятаеце , Што пераменная частка сховішчы. Ну, што мы мелі на левым там у мінулым тыдні будзе выглядаць трохі нешта накшталт гэтага на гэтым тыдні. Але зноў жа, пра гэта ў будучыні. У нас былі лагічныя выразы, якія на мінулым тыдні, выглядае наступным чынам. На гэтым тыдні і далей, яны збіраюцца пачынаюць выглядаць трохі падобнае. А гэта на самай справе трохі абнадзейвае. Гэта на самай справе амаль так жа проста як зеляніна блокаў. Але тут у нас ёсць, зноў жа, некаторыя новыя сінтаксісу з амперсанда, але вы можаце думаю, можа быць, у той час як у нуля, вы сказаць-N-D, мабыць, у C, мы збіраўся сказаць Ампэрсанд Ампэрсанд. Але ўсё гэта стане прыродныя хуткім часе. Ўмовамі. На мінулым тыдні, здавалася, гэта злева. На гэтым тыдні, на правым, гэта будзе выглядаць так. Але, зноў жа, ключ вынас тут з'яўляецца тое, што як вы бачыце такія рэчы, як, што на направа, а асабліва, калі менш зручная, гэта свайго роду над вашым галава, вы атрымаеце трохі перагружаныя, што Я сапраўды паняцця не маю, як я мог магчыма прыдумаць што з нуля - ня каламбур - проста разумею, што гэта сапраўды тое ж самае Ідэя, што, верагодна, адчуваў значна больш прыродныя папярэдняга тыдня. І нават калі вы не нырнуў у Праблема набору 0, я мяркую, вы знойдзеце што кавалачкі галаваломкі даволі інтуітыўна, або па крайняй меры стаць таму з цягам часу. Так што давайце апусканне цалі Давайце пэцкаць рукі тут з гэтай першай просты праграмы. І простыя, вядома, адносныя. Каб зрабіць гэта, я збіраюся змяніць экраны на гэта прылада я патэлефанаваў CS50 прыбора. CS50 прыбор кавалак праграмнае забеспячэнне, якое працуе ўнутры вокны на маім Mac, і вы таксама можаце запусціць яго ў акне ўнутры вашага ПК, што дазваляе мне мець сапраўды такі ж Кампутарная сераду як кожны TF, а кожны CA, як кожны студэнт ў класе. Паколькі CS50 прыбор літаральна іншай аперацыйнай сістэмы называецца Linux - спецыяльна Fedora Linux - і мы, супрацоўнікі, наладзілі працэс ўстаноўкі для гэтага аперацыйнай сістэмы такім чынам, што адзін, ёсць трохі CS50 лагатып у сярэдняга, два, ёсць карыстацкае меню на дно, і тры, педагагічнай, Мы спрасцілі карыстацкі інтэрфейс, а наколькі магчыма, такім чынам, што пры першай загрузцы гэтую рэч па сваім меркаванні Mac або ПК, у вас тая ж асяроддзя як усе астатнія, і вы ёсць усе інструменты, якія спатрэбяцца па курсе, без высвятлення таго , Як усталяваць і кожнага кожны інструмент у паасобку. Так што гэта выглядае адносна як Mac OS або вокнаў. У ніжнім левым куце, вы па сутнасці маюць меню Пуск роду, альбо з меню Apple. І тады ў вас ёсць тое, што мы падазраваны быць вашым тры найбольш распаўсюджаных абразоў. Адным з іх з'яўляецца Chrome. Там у браўзэры ўнутры апарата. Два з'яўляецца праграма пад назвай Gedit, якая Коратка мы бачылі на мінулым тыдні, якая з'яўляецца проста графічны рэдактар. І тры такое тэрмінал праграмы, якая з'яўляецца чорна-белае акно з мінулых гадоў, што дазваляе нам набраць пабольш таемнымі, але больш магутных каманд у нашай клавіятуры. Так што я збіраюся ісці наперад і націсніце на Gedit, і будзьце ўпэўненыя, што праблема набор 1, які будзе выпушчаны ў пятніцу, будзе вы пройдзеце праз усе тыя ж крокі. Звярніце ўвагу, што ў мяне ёсць даволі простае Інтэрфейс карыстальніка з трох частак. На левым, у мяне ёсць вялікія пустыя акно з назвай зыходнага кода. Вось дзе я збіраюся ўбачыць рэзюмэ любы код, які я пішу. На правай баку, у мяне ёсць вялікі ўкладка, у цяперашні час выратаваны, і гэта дзе мой код збіраецца пайсці. І на дне, я убудаванага Акно тэрмінала, чорна-белыя Радок у якой я магу ўводзіць каманды на кампіляцыі і запуску маёй праграмы - гэта ёсць, зрабіць і запусціць мой праграм. Такім чынам, давайце пачнем з простага. Дазвольце мне падысці да файл, захаваць. Я збіраюся ісці наперад і ісці ў jharvard. Такім чынам, прылада, незалежна ад таго, які ваша імя, належыць хлопцу па імені Джон Гарвард, у каго ёсць дома jharvard каталогаў, усярэдзіне якой усе свае Файлы пойдзе. Гэта ваша ўласная копія яго рахунак, так што мы не ўсе абмен той жа жорсткі дыск. Вы проста павінны ілюзіі уласных Джона Гарварда. Загадзя, я на самой справе усталяваны Dropbox. Прыбор пастаўляецца з preprepared Dropbox, так што калі што-то пойдзе не так на працягу семестра, калі ў Вас ёсць наладзілі прыбор са свабоднай Dropbox кошт, усе вашы файлы будуць аўтаматычнае рэзервовае капіраванне, каб вы можа вельмі лёгка аднавіць іх. І я збіраюся пайсці ў маю Dropbox каталог, а там ужо ідзе , Ёсць некалькі іншых рэчаў там. Але я збіраюся ісці наперад і перайдзіце ў меню Файл, Захаваць. Я збіраюся ісці ў jharvard, Dropbox, і тут, я збіраюся даць маёй праграме супер проста імя, hello.c, а затым захавайце. Так што ў мяне такі ж самы інтэрфейс цяпер. Адзінае, што змянілася з'яўляецца ўкладка наверсе. Так што я вельмі хутка збіраецца ўзнавіць што праграма ад слізгае хвіліну таму. Так у асноўных (несапраўднымі), а затым Е, "Hello, World", зашыфраванае N зваротную касую рысу, недалёка цытаты, зачыніце дужкі, кропка з коскі, а Затым Ctrl S для захавання. І звярніце ўвагу, як у баку, што толькі што з'явіліся тут у левым верхнім куце. І гэта не карысна сёння, але будзе карысна з цягам часу. Вы проста бачыце, зноў жа, рэзюмэ код, які вы напісалі. І таму, што я напісаў тое, што называецца Асноўны, таму слова асноўнага выскачыў да туды. Але па большай частцы, мы гэтага не трэба сёння. Добра, я сцвярджаю, што гэта маё першая праграма, напісаная на праграмаванне мову, званы C. Мы ведаем, з пятніцы што тое, што гэтая рэч будзе рабіць вельмі нецікава, калі я перспектыве гэта проста паказваюць - іншымі словамі, друкаваць, як кампутар Вучоны скажа - прывітанне свет на экране. Такім чынам, каб зрабіць гэта, вы заўважыце, што ў мяне ёсць спусціцца сюды, каб мой тэрмінал вокны, і зараз у мяне ёсць мігцяць радка. Але гэта цяпер клавіятура версіі мой Джон Гарвард хатнім каталогу. Гэта клавіятура шлях, праз які правесці мой жорсткі дыск. Таму я не магу на самой справе тыпу, як я зрабіў на мінулым тыдні зрабіць прывітанне, таму што гэта збіраюся сказаць не правілы для зборкі мэты - нешта не так. Я не зусім ведаю, што гэта паведамленне сродкаў, але гэта таму, што па змаўчанні, Пры гэтым чорна-белым акне адкрыўся, я ўнутры Джона Гарварда хатнім каталогу. Але дзе ж я захаваю гэтую праграму? У маёй тэчцы Dropbox. Цяпер, усе мы выраслі з кампутара, дзе вы проста двойчы пстрыкніце на абразок папкі, ён адкрываецца, і вуаля. Вось дзе файл з імем hello.c будзе. Такім чынам, на самай справе, давайце зробім гэта. Дазвольце мне ісці наперад і мінімізаваць Gedit гэтак жа, як вы б на АС Windows ці Mac OS. Адпусціце мяне ў галоўную тэчку ў левым верхнім куце. Я тут ўбачыце кучу тэчак. Вось мая тэчка Dropbox. Галочка азначае, што яна была сінхранізавана. І ёсць некалькі рэчаў, тут, не заўважыць, што гэта hello.c Сапраўды прама там. І так у Mac OS або вокны, звычайна, Я двойчы пстрыкаю, яна адкрывае ў усе праграмы, і я добра ісці. Але цяпер, па меншай меры, пачынаючы з сённяшняга дня, мы трэба зрабіць крок назад, каб проста даць вам некаторыя асноўныя прылады для вашага набор інструментаў, з якім рабіць больш магутныя рэчы ў хуткім часе. Так што па гэтым запрашэнні, я павінен зрабіць эквівалентам двайнога пстрычкі Dropbox тэчку. І каб зрабіць гэта, я збіраюся ўвесці для CD перайдзіце ў каталог, Dropbox, увядзіце. А зараз звярніце ўвагу на мае дужках так званае хуткае цяпер кажа, што я знаходжуся ў Тыльда, крыху хвалістыя знак у левым верхнім куце большасць клавіятур, / Dropbox. Гэта проста скарочаная запіс кажуць чалавеку, вы цяпер ўнутры тэчку Dropbox, як калі б ты двойчы націснуў на яе. Так што цяпер, калі я пайду наперад і тып Марка прывітанне, увядзіце, я бачу, вельмі загадкавым каманда, але не паведамленне пра памылку, здаецца, а затым іншы міргае радку. І калі вы памятаеце, вельмі хутка у пятніцу, мы зрабілі гэта. . / Прывітанне. Тое, што вы зараз ўбачыце, з'яўляецца вынікам майго запуску гэтай праграмы, ці, у Mac АС і PC ўмовах, калі я звычайна двойчы націсніце на праграму -. дадатак праграмы або. EXE, ён адкрывае акно і запускае. Увёўшы. / Прывітанне гэтак жа, як падвойнае націснуўшы праграмы, каб запусціць яго, але з дапамогай маёй клавіятуры. Калі ласка, увядзіце, прывітанне свет. І гэта ўсё. Так што давайце дражніць гэтага на часткі, каб такім чынам не адчувае сябе занадта шмат, як грэцкі. Так. / Ці азначае, што? Любы, хто калі-небудзь рух клавіятуры навакольнага асяроддзя, як гэта, што кропка на ўвазе? Бягучага каталога. Такім чынам, бягучы каталог проста сінонім тэчку. Так, кажучы, кропка слэш, я кажу, шукаць праграму пад назвай Hello ў бягучы каталог - у бягучай тэчцы. Іншымі словамі, маё Dropbox тэчкі. І менавіта таму пасля Націск Enter на самай справе працуе гэтая праграма. Калі б я цяпер тыпу LS, заўважылі, што я бачу, усё ў маёй тэчцы Dropbox. Атрыманне Started.pdf, якая Dropbox дае вам бясплатна, мае фота каталог: каталог, незахаваных Дакумент 1, які я зрабіў па памылцы Хвіліну таму foo.c, якое я зрабіў раней сёння, а затым дзве лініі - hello.c і прывітанне. Hello.c з'яўляецца праграма, якую я напісаў разам з Gedit, і тое, што прывітанне ў зялёны? Прывітанне ў зялёным гэта выкананы файл. Іншымі словамі, калі я выканаў гэтую каманду Хвіліну таму - дайце мне згарнуць назад у часе - калі я бег зрабіць прывітанне, гэта прамежкавы крок тут. І патрэбна было hello.c ў якасці ўваходных дадзеных - AKA зыходным кодам - ​​і яна зрабіла файл з імем прывітанне, як выхад, які змяшчае ўсе гэтыя нулі і адзінкі. І менавіта таму, у рэшце рэшт, я магу на самай справе выканаць каманду. / прывітанне. З-за Intel Inside, мая аперацыйная сістэмы, Linux, адкрывае гэтыя нулі і адзінак, перадае іх у мозг мой кампутар - CPU - CPU і што ведае, о, вось шаблон з нулёў і адзінак, што кажа раздрукаваць наступныя рэчы на экране. Што наступную рэч? Двукоссі, "прывітанне свет". Добра, кароткі агляд некаторых з гэтыя каманды, так што мы можам пачаць прымаць іх як належнае. Дазвольце мне перайсці да , Дзе мы спыніліся. І вы памятаеце, што ў нас былі CD на нашым заднім канцы хвіліну таму. Гэта, я адважуся сказаць, для сённяшніх мэт - можа быць, на гэтым тыдні - толькі каманды, якія мы можа спатрэбіцца ўвесці ў каманднай Акрамя падкажуць зрабіць. Так CD за што змагаецца? Перайдзіце ў каталог. Гэта проста эквівалент падвойнага пстрычцы на тэчцы. І як у бок, калі вы атрымліваеце страціў усё ўнутры вашага Прылада, такім чынам, што Dropbox - Я хачу вярнуцца да маіх jharvard каталога - Калі вы сумняваецеся, CD, увядзіце, без іншых словамі, і ён проста маланкі Вас , Дзе вы пачалі, якая з'яўляецца міленькі ярлык. Добра, так што цяпер іншыя каманды. LS. Я набраў, што хвіліну таму. Што вы думаеце LS азначае? Такім чынам, спіс, ці не так? Яшчэ ў той дзень, калі людзі прыходзілі з гэтымі камандамі, яны спрабавалі быць эфектыўнай, і даволі тыпу з L-I-S-T-Enter, яны вырашыў LS. Гэта выдатна. Гэта гучыць досыць, як спіс. Давайце проста тыпу LS ўвайсці, і што спіс файлаў і тэчак у маім бягучай тэчкі. MkDir, вы можаце здагадацца. Зрабіць каталог. Так што вам не пайсці на некаторыя меню Файл і выбраць новую тэчку ў гэтым асяроддзі. Хутчэй за ўсё, вы ўводзіце каманду прасторы MkDir а затым імя тэчкі што вы хочаце стварыць, і гэта будзе зроблена. RM, вы можаце здагадацца. Выдаліць або выдаліць. Так што калі вы хочаце выдаліць файл, вы гл ў задачы вызначце, як можа гэта зрабіць. І RmDir, выдаліце ​​каталог. Так што, зноў жа, я, як правіла, лётаюць па некаторых з гэтых дэталяў, адзін, таму што яны не ўсё, што жа весела правесці часу, а два, мы дамо вам у значна больш падрабязна ў любым з Праблема вядома, вызначае, у прыватнасці, стандартнай выданняў, любы з стадый што вам можа спатрэбіцца ўвесці так што вы ўсё больш і больш зручныя з гэтымі рэчамі. Але цяпер дазвольце мне дражніць адзін ад аднаго адна рэч. Калі мы набралі прывітанне зрабіць хвіліну назад, мы бачылі загадкавыя паслядоўнасці каманд. Мы бачылі, зноў жа, зрабіць прывітанне. Добра, давайце зробім гэта. Я збіраўся зрабіць памылку, але [Неразборліва] цяпер прызнаць, што я быў гатовы і робяць гэта свядома. Што я зрабіла не так зараз? Так, так што я не ў Dropbox каталог, таму што імгненне таму я тыпізаваных CD і проста націсніце ўвод. Гэта павялічанае мяне туды, дзе я пачынаў, якія не там, дзе мой файл , Таму я сапраўды трэба зрабіць, CD Dropbox ўвайсці, і цяпер я магу рабіць RM прывітанне увядзіце, выдаліць звычайны файл прывітанне. Я не ведаю, чаму гэта так загадкава. Гэта проста азначае, вы ўпэўненыя, Вы хочаце выдаліць Прывітанне? Вы можаце ўвесці Y для так, пазначце, і цяпер яго няма. І цяпер, калі я тып Марка Добры дзень яшчэ раз, гэта збіраецца ўзнавіць мой аб'ектны код, аднаўляць гэтыя нулі і адзінкі. Але тое, што здзелка з гэтая каманда вельмі доўгая? Ну, мы гэта дражніць адзін ад аднаго ў хуткім часе, але зрабіць - Я сказаў трохі хлусня раней - не зьяўляецца кампілятарам. Зрабіць гэта праграма, якая аўтаматычна высвятляе, як запусціць кампілятар для вас. Так, каманда, што вы сапраўды павінны быць працаваць, для таго, каб пераўтварыць hello.c прывітанне на самай справе выглядае трохі больш, як гэта. І не дай Бог у нас ёсць на самай справе памятаю, каб калі-небудзь, што цэлы тып Паслядоўнасць каманд па-за. Мэта зрабіць у жыцці, каб памятаць, што ступень складанасці нам і аўтаматызаваць тое, што інакш быць вельмі стомным крокаў. Але я не магу, што прыблізны. Так што за гэтую маленькую шпаргалку тут, я здагадваецеся, гэтая каманда раблю, проста увёўшы ляскам, якая з'яўляецца назва кампілятара мы будзем з дапамогай гэтага семестра. Калі хто-небудзь з вас калі-небудзь рабіў IOS развіцця на iPhone або IPad, Clang з'яўляецца праграмай вы выкарыстоўвалі ў Xcode, каб зрабіць вашыя прыкладання. Clang, хоць, гэта проста яшчэ адна праграма чыё імя мы можам набіраць у каманднай Падкажыце, а шляхам увядзення гэтага цяпер, Я магу ўявіць тое, што гэта маленькі прадстаўнік каманд у будучыні. Такім чынам, дазвольце мне зрабіць гэта ўручную. Так RM прывітанне, і цяпер апавяшчэнне пры Я, як і санітарнай праверкі - . / Прывітанне, як ты думаеш, я павінны ўбачыць, калі я магу гэта зрабіць? Нейкая памылка. Няма такога каталога файл. Так што адзін на самай справе даволі прамой. Так што цяпер дазвольце мне ачысціць экран. Control S проста чысціць экран выдаліць некаторыя адцягваючыя фактары. А цяпер я збіраюся ўручную Тып ляск-O прывітанне hello.c. Дык што ж гэта збіраецца зрабіць? Дакладна тое ж самае, што робяць зрабіў для намі, але я выкінуць некаторыя з лішніх слоў. Clang гэта праграма, якая збіраецца ўзяць. C у якасці ўваходнага файла і вырабляць нулёў і адзінак на выхадзе. Але-о далейшым будзем называць камутатара або сцягам. Гэта проста тэхнар жаргоне кажуць гэтае слова, якое вы ўводзіце ў запрашэнні што так ці інакш ўплывае на паводзіны праграмы вы працуеце. Так хто-небудзь хоча паваражыць -О, што перадае? Выхадны. Гэта проста нехта вырашыў азначае-O выхадны файл з імем прывітанне і ўзяць у якасці уваходнага незалежна ад апошняга слова на падказка, hello.c, так што калі я ударыў Ўвесці, нішто, здаецца, здарылася. І як ні дзіўна, у гэтым свеце Праграмаванне, калі нічога не здарыцца, гэта, верагодна, добрая рэч таму што няма ніякай памылкі паведамленне на экране. Добры дзень, Enter. Мая праграма ў цяперашні час працуюць. Але я магу рабіць дурныя дробязі, як гэта. ляск-O, Hihihi, hello.c, ўвайсці, і зараз у мяне ёсць ідэнтычныя праграму пад назвай Hihihi. Ён паводзіць сябе гэтак жа, але імя па-асабліваму. Так што гэта толькі сказаць, што, калі вы хочаце ўплываць на паводзіны праграмы, мы збіраемся больш бачыць рэчы называюцца аргументы каманднага радка. Гэта лінія. Ты ўводу каманд. Ergo, камандны радок. І аргументы каманднага радка проста слова ці маленькія кавалачкі сінтаксіс, так ці інакш ўплываць на паводзіны праграм, якія мы праводзім. Добра, што, мабыць, самае сумнай праграмай можна запісаць і паглядзець. Давайце зараз зрабіць што-то больш цікавай. Дазвольце мне пайсці далей і стварыць новы файл. Я збіраюся ісці наперад і захаваць гэта ў Галоўная Джона Гарварда каталогу,, назавем яго custom.c, быць трохі карыстацкія праграмы. Я збіраюся павялічыць на маю верхнюю частку Ўкладкі тут і пачаць усё нанова. Ўключаюць у сябе стандартныя stdio.h. Больш падрабязна пра гэта ў дадзены момант. тап_п (несапраўднымі), больш на , Што ў адзін момант. Е ("Прывітанне, Дэвід»). Значна цікавей, ці не так? Такім чынам, калі - не таму, што маё імя, толькі таму, што ўсё па-іншаму - зрабіць карыстацкі ўвод. Карыстальніцкія, прывітанне, Дэвід. Але нават гэта таксама хлусня. Гэтая праграма можа таксама назваць david.c, таму што гэта не карыстацкі паводзіны наогул. Сапраўды, я хачу праграму, якая пытаецца ў карыстальніка яго імя. Так як я магу гэта зрабіць? Ну, дазвольце мне пракруткі уверх тут. І перш, чым я выкарыстоўваю з заявай, у Драпіны, перш чым выкарыстоўваць Е, інакш вядомы як функцыю, хай мяне спачатку спытаць карыстальніка што-небудзь ўвесці. Такім чынам, каб зрабіць гэта, мне трэба зрабіць некалькі рэчаў. Адзін з іх, мне трэба месца для захоўвання карыстальнікаў назваць пасля таго як я спытаўся ў яго, ці яе за гэта. Якая канструкцыя мне трэба выкарыстоўваць, верагодна, для захоўвання значэння, як гэта? Зменнай. Так у адрозненне ад нуля, дзе вы проста атрымаеце добры кавалак галаваломкі, вось, мы павінны выкарыстанне, відавочна, словы выказаць сябе. І надалей, у любы час вы хочаце слова або фразу, у праграмаванні, мы будзем называць гэта радок. Так што радок з'яўляецца слова або фразу. Гэта паслядоўнасць з нуля ці больш персанажаў, больш фармальна. І калі вы хочаце такой зменнай існуе, вы павінны сказаць, дайце мне адзін. І спосаб, з дапамогай якога вы зрабіць гэта, каб кажуць коскі радок з, дзе з можа быць усё, што заўгодна. На самай справе, з трохі ў захапленне. Дазвольце мне ісці наперад і больш выразна называць яго імя. Дайце мне радкі з імем імя. Але цяпер, што такое чалавек імя па змаўчанні? Ну, а калі чалавек не ўводзіце нічога ў, відавочна, там збіраецца няма ніякага значэння ў імя. І аказваецца, у C, калі вы не даяце зменнай значэнне, гэта будзе ёсць смецце значэння. Гэта, магчыма, некаторых выпадковых нулёў і з іх, так што вы толькі збіраецеся паглядзець смецця, па-сапраўднаму, на экране калі вы спрабуеце паказаць яго. Але я магу выправіць, кажуць, на самай справе, магазін ўнутры імя наступнае значэнне. Тое, як вы захоўваеце значэння ў зменных калі ў вас ёсць імя зменнай на налева, вы павінны нейкім чынам паставіць тое, што вы неабходна захоўваць у ім справа, і сінтаксіс, што адбываецца , Складаецца ў наступным. Мы не бачылі гэта раней, але ўзяць на веру, на імгненне, што там існуе яшчэ адна заява, у свеце што я збіраюся зноў выклікаць функцыю, і гэтая функцыя называюць атрымаць радок. І ён робіць, што літаральна. Гэта нейкім чынам атрымлівае паслядоўнасць сімвалаў ад чалавечага, а затым робіць нешта з ім. І гэта будзе выглядаць як загадкавыя сінтаксісу. Звычайна, калі вы выкарыстоўваеце знак роўнасці - вы знаходзіцеся ў свеце, скажам, алгебра і вы на самой справе кажучы х роўны 1. Тут мы не гаворым, што Назва роўна атрымаць радок. Мы кажам, што ў краме тое, што імя на правай баку гэтага знака роўнасці. Знак роўнасці ўяўляе аператара прысвойвання. Гэта сінтаксіс, які кажа, што паклаў на правай баку ўнутры што на левай баку. Так атрымаеце радок новая частка функцыянальнасць, што не толькі нешта - запытвае ў карыстальніка радок - яна таксама вяртае яго, так бы мовіць. Такім чынам, давайце паглядзім, што адбываецца адбывацца тут. Я збіраюся ісці наперад цяпер і паменшыць маштаб, і я збіраюся атрымаць пару памылкі ў маёй радку. Я збіраюся зрабіць карыстацкі тып, увядзіце. Нічога сабе. Цэлая куча памылак. Добра, так што гэта выгляд Пераважная, вядома, на першы, але аказваецца, усё гэта вельмі Праўда загадкавыя паведамленні пра памылкі спасылаючыся на нейкія мадэлі, якія мы пачынаем бачыць на працягу доўгага часу. Так што гэта адна я буду абрываць, , Таму што гэта ў першую чаргу. Выкарыстанне неаб'яўленай радкі ідэнтыфікатара. Гэта проста азначае, што Gedit або Clang, у дадзеным выпадку, не ведае што я маю на ўвазе пад радком. І гэта таму, што ў C, праграмаванні мовы, там на самай справе няма зменнай тыпу радок. C не ведае, што струны існуюць. Але мы, CS50 персанал, робяць. І вось напярэдадні клас, мы створаны файл з імем CS50.h. А ўнутры гэтага файла - і больш на сінтаксіс наперадзе - ўнутры гэтага файла вызначэння таго, што я толькі што вызначылі вусна ў выглядзе радка. Так проста, заключыўшы адзін радок кода ў маёй праграме, я зараз навучання і зрабіць Gedit і Clang У сваю чаргу, што радок. Я не ведаю, як яшчэ. Праз некалькі тыдняў мы лупіны таму гэтым пластом. Але цяпер, ведаю, што гэта вучыць кампілятар, што радок на самай справе. Так што цяпер дазвольце мне ясна маё Тэрмінал тут. Дазвольце мне зноў запусціць ствараць уласныя, і я вырашыць усе гэтыя праблемы. Так што гэта таксама будзе , Паўтаральная тэма. Я толькі напісаў 9 радок праграмы, і Пакуль у мяне было 18 радкоў памылак. Гэта выгляд запалохвання. Але разумею, што яны часта каскад такіх што адна маленькая памылка выклікае блытаніны для кампілятара, і ён выглядае нашмат горш, чым гэта. Так што цяпер праніклівы назіральнік будзе ведаць, што я атрымліваю радок з карыстальнікаў, але я на самой справе не рабіць тое, што з ім? Я на самой справе не робяць нічога з ім. Так што, калі я на самой справе запуск карыстацкага зноў, гэта будзе проста сядзець там. Што адбываецца? Мая праграма, здаецца, затрымаўся на якой лініі, вы б сказалі? Так гэта на самай справе затрымаліся ў радку 7. І мы не бачылі гэта раней, але у радку 7, ёсць, зноў жа, гэта заяву, атрымаць радок. І гэта тое, што ён кажа. Ён чакае цяпер для чалавека ўзяць радок. Гэта зусім неинтуитивными да мяне, чалавека, таму што ў мяне не было сказана, што рабіць. Але дазвольце мне ісці наперад на веры і Дазвольце мне прыкідвацца Роб. Enter. Гэта не праграма збіраўся. Так у нас ёсць першы блог. Але давайце паспрабуем разважаць праз чаму гэта так. Па-першае, дазвольце мне выправіць гэта першая праблема. Дазвольце мне дадаць радок, якая кажа тут Е, як цябе завуць? Давайце проста зрабіць блізка цытаты, зачыняе дужкі. Цяпер дазвольце мне паўторна запусціць праграму. Праблема. Я не бачу гэтага. Права. Я не перакампіляваць. Такім чынам, у мове, як C, таму што вы змяняць зыходны код не азначае, што вы змянілі свой код аб'екта для генерацыі новага кода аб'екта, новых нулёў і адзінак. Вам трэба перакампіляваць. Калі б я цяпер паўторна запусціць звычай, увядзіце, ах, трохі больш ясным. Мяне клічуць Боб. Тым не менш калясцы. І я б сцвярджаць, што ёсць Зараз пару памылак. Гэта проста выглядае агідным, шчыра кажучы. Маўляў, мінімальна, я павінен мець прасторы або перамесціце курсора на новы радок. А на самай справе, новая радок. Гэта накшталт таго, ключавая фраза тут мы бачылі, але не вызначаны. Тое, якім чынам вы атрымліваеце тэкст , Каб перайсці на наступны радок, Вы не зробіце гэтага. Гэта збівае з толку да кампутара. Гэта выглядае як дзве асобныя лініі кода, ні адзін з якіх зусім правільна. Вы замест гэтага павінны быць больш відавочным і кажуць, дайце мне новую лінію, якую мы прадстаўляюць у C з касымі н. Такім чынам, ёсць некалькі такіх знакаў. Зваротная касая рыса N выправім гэта эстэтычны. Дазвольце мне перакампіляваць праграму. Дазвольце мне зноў запусціць маю праграму. Гэта выглядае лепш. Гэта ўсё яшчэ даволі прымітыўныя, але гэта таксама яшчэ багі. Такім чынам, ёсць адна - нават калі вы ніколі не праграмавалі раней, верагодна, можна зрабіць здагадку на тое, чаму гэтая праграма ўсё яшчэ памылковым. Што мне трэба зрабіць, што Я яшчэ не зрабіў? Так што я на самой справе рабіць нешта з імем. Гэтак жа, як у нуля, можа на самай справе прызначыць зменную як N або процідзеяння, як мы зрабілі ў мінулым тыдзень - значэнне. Але калі вы нічога не робіце з яна, нічога не здарыцца. Добра, так што давайце выправім. Дазвольце мне мой тып зменнай там, і я пайду сюды. Дазвольце мне перакампіляваць, дазвольце мне паўторных, Роб. Цяпер я проста ідыёт, так? Так што гэта не сапраўды атрымліваю мяне далей. Але гэта было зусім натуральна інстынкту, я б сцвярджаць, правільна? Калі зменная называецца імя, і я хочаце, каб ён там, чаму б мне проста не увядзiце яго там? Ну, вядома, у нас ёсць адрозніваць зараз паміж тым, што з'яўляецца радком? Звярніце ўвагу, што ў двукоссях тут, прывітанне завуць? На самай справе гэта само па сабе з'яўляецца радком. Гэта жорстка. Гэта не ад чалавечай. Гэта ад мяне, арыгінальны праграміст, але гэта ўсё яшчэ радок. Так што калі вы літаральна напісаць N-А-М-Е ўнутры струны, тое, што будзе надрукавана? Ну, N-А-М-Е. Мы замест гэтага трэба Е сказаць, не друкуюць літаральна назваць. Раздрукуйце Значэнне імя і прозвішча. І каб зрабіць гэта, мы робім наступнае. І гэта ўсяго толькі чалавечыя канвенцыі. Мы замест гэтага кажаце% З, і што выступае за радком. А потым у канцы майго блізкага двукоссі, Я збіраюся паставіць коску і перадаць другі аргумент ў гэтай заяве. Я збіраюся ўвесці імя там. Так што цяпер у нас ёсць заўважыць трохі новага сінтаксісу. У нас яшчэ ёсць дзве дужкі, а з гэтага часу дазвольце мне сказаць, што матэрыял у дужках ўяўляе аргументаў на функцыю - Ўваходы якія так ці інакш збіраецца ўплываць на яго паводзіны. Так па гэтай логіцы, колькі аргументаў Е зусім, здаецца, прымаючы ў гэты момант? Так што, падобна, бярэ два, і гэта сапраўды меў на ўвазе па коска тут. Так што гэта адзін аргумент у двукоссі. Хоць яна мае коска ў ім, Усё ў двукоссі, што азначае, гэта адна доўгая радок. Коска, імя зменнай. Так што цяпер дазвольце мне змяншэння. Дазвольце мне яшчэ раз запусціць яго. Роб. Чорт пабяры, што ж я зрабіў не так? Добра, так што вам прыйдзецца перакампіляваць. Такім чынам, яшчэ раз, лёгка зрабіць памылкі на ранніх стадыях зноў і зноў. Так што цяпер паўторна запусціць звычай, Роб, ўвайсці, і вуаля. Цяпер у нас ёсць свая праграма. Так што зараз у мяне ёсць праграма, якая з дапамогай некалькіх характарыстык , Якія варта адзначыць. Адзін з іх, я выкарыстоўваю CS50.h, у адваротным выпадку вядомага як CS50 бібліятэкі. І ўнутры CS50 бібліятэкі функцый, якія іншыя людзі напісалі - а менавіта персанал - для вас выкарыстоўваць, і атрымаць радок з'яўляецца адным з іх. Усярэдзіне радкі 2 stdio.h, і чаму гэта там? Зрабіць здагадку. Тое, што існуе ўнутры стандартныя IO аднаго з бацькоў? Printf. Так Е, вы не бачыце яго ў любым месцы яшчэ на экране. Ён павінен прыйсці з Кампутар як-то. Адкуль яно ўзялося? Гэта ўнутры - гэта аб'явіць, так бы мовіць, усярэдзіне файл з імем stdio.h. Зараз, на гэты матэрыял, мы вернемся у канчатковым рахунку, таму што гэта крыху адцягвае на дадзены момант. Гэта ставіцца да нашых тыпам вяртаецца значэння. Гэта ставіцца да аргумента. Але на сённяшні дзень, мы засяроджаны толькі тут, на гэтых лініях. Так імя радкі, проста каб нагадаць, Што ж гэта зрабіць для мяне? Так што абвясцілі зменную тып радка. Так што гэта прызначаецца, каб быць для слоў, Не для лікаў. Гэтак жа, як у бок, калі я сапраўды хацеў , Каб гэта было побач, я б сказаў, нешта накшталт Int. Калі б я хацела быць з якая плавае кропкай Значэнне, нешта з коскі, Я б сказаў, з якая плавае кропкай. Але на сённяшні дзень, я толькі што сказаў радок. І я даў гэтую зменную імя імя, але я не мог назваў гэта нічога. На самай справе, першапачаткова, я назваў яго С. Гэта вось як раз яшчэ адну заяву. Колькі аргументаў гэтай заяву прымаеце? Так што гэта проста прымаць, і што проста эстэтычны дэталь паказана тое, што на Экран для мяне. Што гэта за лінія 8 робіць З пункту гледжання непрафесіяналы? Гэта становіцца значэнне з карыстальнікаў, а менавіта - радок - і тое, што ён робіць з ім? Гэта, па сутнасці яго здачы ў хлопец на левай баку знак роўнасці, так што ў гэтым выпадку імя зменнай можа фактычна захаваць яго. А потым другая Е Напрыклад функцыі. І мы кажам, каб выклікаць функцыю. Каб выкарыстоўваць функцыю для выкліку функцыі. Гэтая рэч мабыць прымае два аргументу. Гэта адзін, коска, гэта адно. Гэты сама з'яўляецца радком , Які змяшчае запаўняльнік. Сродкі% S паставіць іншую радок тут. І так, паставіўшы імя пасля коска, гэта ўстаўка што галоўнае для мяне. Так што я магу рабіць іншыя рэчы, па-ранейшаму. Дазвольце мне цяпер ісці наперад і зрабіць некалькі дурная праграма, але дазвольце мне выдаліць гэтую, і дазвольце мне стварыць цыкл. У той час як сапраўдныя. Сімвал сапраўднага, відавочна, заўсёды будзе праўдай. Дык што ж гэта я пятлю індукцыі шляхам запісы радкі, як гэта? Так бясконцы цыкл, правільна? Проста ў той час як сапраўдныя. Там няма, як я магу змяніць слова дакладнай быць нічым іншым, так што гэта проста збіраюся працаваць вечна. Так што калі вы калі-небудзь на самай справе была праграма ў вашым Mac або ПК, які, здаецца б, заручыўся, ці ён робіць нешта і нешта, і вы проста не можа атрымаць рэч не кінуць, калі вы перазагрузіць кампутар або падцягнуць Дыспетчар задач і да т.п., Вось такі прыклад. Я магу сказаць: "Я багі праграмы". Зачыніць цытаты, зачыніце дужкі, кропка з коскі. Такім чынам, яшчэ раз, звярніце ўвагу на мадэлі. Нават калі некаторыя з нашых новых сінтаксіс, Ключавое слова ў той час, ключавое слова праўда, Заўважце, што я той жа выгляд фігурныя дужкі. У мяне ёсць кропка з коскі і дужкі. А цяпер давайце ісці наперад і скласці гэты. Зрабіць звычай, звычай. Таму ў дадзены момант, вы не трэба перазагрузіць прыбор, усё ў парадку? Так лёгкі ўрок тут з двума пальцамі, кіравання C, мы кінуць гэтую праграму. Але вы можаце бачыць, чаму менавіта гэтая рэч паўтаралася зноў і зноў. Я магу зрабіць што-то трохі складаней, так як тізер. Я збіраюся ісці наперад і сказаць наступнае. Для унутр, які з'яўляецца цэлым лікам, я проста Радавое назва мы даем найбольш Зменныя у праграмаванні, калі вы проста падлік, роўная 0. Дазвольце мне пайсці далей і сказаць, пакуль я ёсць, скажам так, менш чым у 100, я плюс плюс. Мы таму ў гэты сінтаксіс, але гэта проста азначае, павялічваем я зноў і зноў. І тое, што я хачу тут рабіць? Printf: «Я магу лічыць да Я". Гэта багі праграмы. Што я на самой справе маюць намер тут? Працэнт не з, але за што не здагадаецеся гэта. % D з'яўляецца дзесятковы цэлае. Коска я. Дазвольце мне вярнуцца. Дазвольце мне цяпер рабіць з перакампіляваць. Дазвольце мне цяпер паўторна з карыстацкімі. Я магу разлічваць сапраўды па-чартоўску хутка, калі Я пішу праграму, як гэта. Зараз давайце зробім што-небудзь трохі ненаўмыснага. Як наконт давайце зробім гэта, пакуль я больш або роўна 0. Што гэта збіраецца выклікаць? Так лагічна, гэта не так мудры, таму што цяпер, калі я запусціць паўторна, пералік галасоў, Цяпер я магу разлічваць вельмі, вельмі высока. На жаль, амаль гэтак жа высокім, як я магу лічыльнік 4000000000, так што гэта будзе зойме некаторы час. Дык чаму б нам не пакінуць гэта як наш захапляльным, паабяцаўшы, што на Асяроддзя, мы ўбачым, калі гэтай праграме робіцца. Два, мы прадставім, як вы сябе напісаць сваю ўласную функцыю, так што вельмі хутка, у сераду, мы будзем, як мы Пераход з нуля ў С, пачаць пісьмова ўсё больш і больш складанымі праграм, якія робяць шмат, нашмат больш, чым гэтая. Мы будзем бачыць вас тады. [Апладысменты] Выступоўца 1: На наступным CS50, Галаваломка Дзень атрымаўся.