>> [Музика свира]
>> Малан ДАВИД: У реду.
Добродошао назад.
То је ЦС50, а то је Једна недеља, Наставак.
Дакле, један од разлога што смо пролазили око технологијама као што су
Гоогле Стакло је да они долазе са нешто познат као АПИ,
Апплицатион Программинг Интерфаце.
И шта то значи да је са право фајлове и са правом
документација, ви у ствари можете писати софтвер за чак уређаје попут ових.
>> И оно што имамо на уму ка семестара крај је, ако је пројекат
укључује, рецимо, Гоогле би стекло жалба, видећемо шта можемо да урадимо у
Услови вас провлачење са неким позајмица хардвер као и
јавно доступних АПИ, тако да можете заправо почети израда софтвера
који ради на том истом Гоогле стакла.
>> Други уређај који смо играо у последње време смо мислили да је можда
забава на крају семестра је Ова мала ствар овде.
То се зове скок покрета, а шта си видети је технички
реклама за уређај, али је не говори о томе шта овај
Уређај је способан.
И, такође, долази са преко АПИ којима можете писати софтвер за
контролишете свој рачунар на начин баш свиђа ово овде један-минутни филм.
>> [ВИДЕО РЕПРОДУКЦИЈА]
>> [ЕНД ВИДЕО РЕПРОДУКЦИЈА]
>> Управо сада, овај уређај се дешава са се спровести као мали УСБ
конектор који можете да прикључите на вашем рачунар, али не бих се изненадио
ако дуго пре него што имамо ове врсте технологије у наредном серије рачунара
и Мац, тако да можете, заиста, интеракцију са њом у
начин као што је то.
У ствари, оно што сам мислио да ћу ја, такође, је Повукао сам се мало демонстрацију
програм који долази са овим софтвером.
Тако сам ставио мало сензор испред мог лаптопа.
>> И као што видите, већ остварује да ми је рука ту
контролише га.
И све што ова апликација ради је несметано мале ствари овако.
Али, можете да видите да је, заиста, Имам пет прстију тамо.
Ако можемо да се то да уради свих 10, можете замислити уредан клавир
апликација или као.
Дакле, ако желите да дође до после наставе данас и игра са тим како
добро, ви сте добродошли да.
Дакле, више о томе ка крају семестра.
>> Дакле, неколико административних најаве.
Једна, до одељак овог петка у подне на цс60.нет/сецтион.
То је УРЛ адреса на курс је као почетну.
У међувремену, међутим, суперсецтионс ће дебитовати у недељу.
Суперсецтионс су једнократни ствар, зато што нам је потребно неко време да се ради
ко је у којој секција и где.
>> Дакле Ово долази недељу, неће бити један одељак за оне мање удобан,
један одељак за оне удобније.
А они од вас негде у између су добродошли да иду у
или оба или ниједан.
Оба ће бити снимљен.
Они ће бити у већем аудиторијуму од секција нормално би било унутра
Али, циљ је да вас опремити са неки комфор са проблемом један сет,
са Ц, са ЦС50 апарата, овај викенд, чак и пре него што сте сазнали своју
формално секција задатак.
Тако ћете срести своју ТФ и ваш мањи Група сецтионматес у око
за недељу дана времена.
>> Радно време, у међувремену, су дешава.
Да ли их искористе вечерас или сутра увече, ако желите.
Проблем 0 скуп заказан је у петак.
Ово је дан касније од редовном четвртак.
Али проблем са сетом 1, видећете да он укључује неке загревање
вежбе са којима сте ви да проширите своје
Четвртак рок до петка.
Проблем 1 сет, у међувремену, дебитоваће на сајту је наравно ово долази
Петак, ако желите да се склупча са као што сам то некада давно крајем
Петак вече у својој соби.
>> Дакле цс50.нет/апплианце је место где можете добити апарат ЦС50
да смо почели да користе у понедељак.
Ми ћемо га користити мало више данас.
Али будите сигурни да је проблем сет 1 спецификација ће вас провести кроз
управо су кораци које треба да је горе и трчање.
Дакле, не брините о томе ради да је пре Псет 1 ако радије не бих.
>> У реду.
Дакле, ми смо гледали у понедељак у изворном коду, али у контексту новог
програмски језик, односно Ц и Ц, за разлику од нуле, није графички.
То није делове слагалице.
То је више налик енглески синтакса.
А ту је и пар корака у писаној форми, а заправо ради
Програм у Ц, јер поред извора Код овако, потребно је нешто
зове компајлер.
И у смислу лаике, шта нема компајлер уради за нас?
Да.
>> СТУДЕНТ: Он конвертује код да пишете на 1с и 0с.
>> ДАВИД Малан: Добро.
Дакле, он конвертује код који пишемо да 0с и 1с.
Он конвертује такозвани изворни код у објекат код, други који изгледа
мало нешто овако.
И то је ваш процесор, мозак унутрашњост рачунар, да због
људи који су створили те рачунаре, Знам шта ти низови
1с и 0с од просека.
>> Можда то значи отисак.
Можда то значи додатак.
Можда то значи одузимање.
Можда то значи приказати графички.
Постоје предефинисани обрасци бита да је свет одлучио значе
одређене ствари.
Међутим, за највећи део у овом курсу, ћемо радити на вишем нивоу, и
ми ћемо узети здраво за готово да постоји ствари као што су компајлери које могу
чине нашу функцију изворног кода на начин на који желимо.
>> Дакле, програм прво писао прошле недеље а онда је почео да се порт, тако да
говоре, да Ц прошле Понедељак, био је то.
Када се кликне зелена застава, поздрави.
То је, наравно, написан у Огреби.
И ја тврдио да је еквивалентно Програм у Ц изгледао мало
нешто овако.
>> Дакле, оно што сам мислио да ћемо урадити у почетку је, хајде да задиркују, осим што изгледа, на први поглед
поглед, додуше, као и прилично тајанствен синтакса, али ћете почети да приметити
обрасци веома брзо.
Оно што такође ћемо радити данас је обезбедити Ви са менталним модел за неке
канонска, неки стандардни конструкти у програмирању.
А онда ћемо заправо ћете се руке прљави неке примере, као и.
>> Дакле, за оне од вас удобније, схватају да ове недеље, а онда следећи
недеља може врло добро бити мало прегледа.
Али, посебно када хакер издање 1 сет проблема излази на
Наравно, сајт је у петак, ја мислим видећете да чак и попуните
неке празнине током следеће недеље или два, Ви ћете почети да се све више
изазов и сусрет нове и новије ствари.
>> Па хајде да зафркавати поред овог програма неколико линија у исто време.
На самом врху, имамо оно што је технички зове
Претпроцесор директива.
Ово је само линија кода који каже да обухвати садржај датотеке,
зове стандардни И / Н, стандардни улаз - или, извини, стандардни И / О, стандардна
улаз / излаз, ч., унутра мог сопственог програма.
>> Другим речима, ако сам написао ово Програм са једноставним уређивачем текста као
гедит, једноставније еквивалент нешто као Мицрософт Ворд, да
инструкција, # инцлуде стдио.х, само ће рећи компајлер, зграби
Садржај те друге датотеке, стдио.х, и налепите га овде.
>> Сада, зашто ме брига?
Шта ми тражимо је унутар овог фајла зове стдио.х, која се чува
негде на мом хард диску, или у овом случај, негде у ЦС50 апарат?
Неко други је ставио ту за мене.
Али, шта је у њему?
>> Да, па то је декларација принтф функција зове.
Дакле принтф функција која подсећа приказује речи и знакове и
бројеви на екрану у мојој надметања.
Али ја нисам написао.
ЦС50 није написала.
Неко је написао да је година, и они су суштини нам је дао рецепт за то
у датотеку под називом стдио.х.
Тако да прва линија само ми даје приступ на функције које је неко други
написао пре неколико година, међу што су принтф.
>> Сада, следећа линија ћу да махнем рука у, бар до следеће недеље.
Али за сада, знам да инт маин () је суштини еквивалент ово
жуте слагалице када зелена застава кликнули.
Свет, пре много година, одлучио је да, ако пишете програм
језик који се звао Ц, почнете ваш програм са линије
да изгледа.
За само недељу дана, то ће бити осећај шта је инт, што је празнина.
Али, за сада, само мислим о томе као ове жуте слагалица.
>> Сада поред, имамо коврџаву браце праћен од другог блиског коврџаве браце,
да тако кажем.
И видећемо током ове програма у Ц, као и
Јава и ПХП.
А ово само обухвати сродних линија кода.
Суштини отворена коврџава заграда каже, долази неки код.
И затворени коврџава браће, који је постављена у другом правцу, само
значи, да је за релевантни код.
>> Тако сочно ред у овај први Програм је последња, принтф,
цитирам-завршити цитат, здраво свет.
И ја назвао ствар између цитира шта последњи пут?
Тако да је ниска.
А Стринг је само тецхие термин за низ
карактера, реч, фраза.
Чак и једно слово могао бити двоструко цитирао.
Али то је секвенца нула или више знакова.
>> Обрнута коса црта-н, међутим, изгледа мало чудно.
Али, то једноставно значи нешто једноставно на рачунар.
Шта је обрнута коса црта-н?
Нова линија.
Дакле, то је само посебан редослед знакова да је свет одлучио
средство стави прелом реда тамо, јер компајлер ће заиста добити
збуњен, обично, ако вас, веома разумљиво, али погрешно, само
ударају Ентер да стави нове линије у вашем коду.
Морате бити мало више експлицитан у знак обрнуте косе-н.
>> И ми ћемо видети да постоји неколико других таквих обрасце за специјалне карактере.
На пример, ако сте хтели да пустите ум лута у корнер случај,
Претпостављам да сам желео да одштампате двоструки цитат на екрану за
било ког разлога, да се чини да бити мало проблематично, зар не?
Јер ако ставим дуплу цитат у средина "Хелло, Ворлд," за шта год
разлог, зашто вам се то чини потенцијално проблематично?
Она разбија стринг.
>> Компајлер је само програм.
Програм као компајлер це једноставно да читају ваш горњи код у дну,
лева на десно.
А ако види, уместо три двоструким наводницима два, то неће знати
Ако мислите да је ствар у лево треба да буде ниска, или да се ствар
право, или је цела ствар.
То је двосмислено, па шта типично компајлер ће урадите је само одлепим,
а ти дати поруку о грешци, и учинити да се баве овим проблемима.
>> Дакле, с обзиром да је обрнута коса црта-н означава нови линија, шта би сада својим инстинктима
почети да се, ако сте желели да се укључи нешто попут аномалија двоструко
цитирају унутрашњост овог иначе берзи ниска?
Обрнута коса црта-двоструки цитат.
И тако ћемо видети ово врсту обрасца превише.
>> Ако желите да урадите нешто мало чудно, видећете да
решења често следе образац, и инверзно
означава бекство секвенцу.
И то само значи нешто посебно који треба да представља у
другачији начин.
Што се тиче како се представљају косу црту, добро, ми ћемо
вратити на то.
Али, одговор је, такође, у ствари превише очигледно.
>> Па хајде да сада уведе неки други програмирање конструкти
које сте видели у нуле.
Вероватно сте узети здраво за готово Већ ако сте већ заронио у
Проблем сет 0.
Али, хајде да сада уводи у синтаксу Ц за ове иначе прилично интуитиван
идеје, бар неке од њих.
>> Дакле, овај појам условом или грана, а раније смо
представљени га са кодом који је изгледао овако са леве стране у Сцратцх -
ако је к мање од и, онда реците -
уместо тога сада у Ц - дозволите ми брус у на најједноставнијем случају -
Ми једноставно рећи, ако је, отворите заграда, нешто тачно -
Булов израз ће ићи где сам рекао стање -
затвори заграда, онда шта је унутар тих заграда.
>> Дакле, овде се, великих заграда су врста као што је Сцратцх
У облика слагалице комада.
Да оно што је унутар ових заграда.
У овом случају, смањи смањи.
А ово је приметити напред сласх, не обрнуту косу црту.
Коса црта, коса црта, за оне који су програмирани
пре, само значи -
то је само коментар.
Коментар није ред кода, по себи.
То је линија коју енглеског, људски, писали за себе да
Можда вас подсећају на нешто, да објаснити себи, да се објасни
неко други, што је шифра ради.
То је само описни коментар.
>> Сада, наравно, можемо да имамо двосмерну раскршћу управо на овај начин,
тространо раскршћу радећи ово, а ако наставите ово
образац, можете имати четири смера, пет-шест начин, начин рачва на путу ако
треба да обради, заиста, да многи услови.
А онда овде приметити паралелизам -
иф (услов), иф (услов), и једини који је мало
чудно је последња, која је само то остало.
Али опет, то је идентичан, концептуално, на шта смо урадили
већ, иако синтакса ће потребно мало навикавања.
>> Сада, у овом примеру, постоје нека друга чудна синтакса.
Ми видимо принтф опет, отворен заграде, и затвори заграда.
И унутрашњост је наводника.
Заграде, у контексту од принтф, идите на левој
и праву?
Шта ћемо показати да цитирали ниска као уопште?
>> Дакле, то је аргумент.
Сваки пут када имате функцију, као што је принтф, а затим и отворена заграда
затвори заграда и нешто у то, да ли је ниска, или
цео број, или било шта друго, што у између те заграде назива се
аргумент.
>> И управо аргумент утиче Понашање ове функције.
У овом случају, прилично је јасно како.
к <и је оно што се преноси у, да тако кажем, као аргумент.
И принтф ће принт управо то.
Јер сигурно, пре је особа године који спроводи иф имали појма
оно што смо људска наследници били ће се користити за инт.
Зато аргументи постоје, да утичу на понашање након функција је
било написано.
>> Сада, боолеан израз.
Видели смо ово раније у нуле.
Испоставило се да у Ц могуће је "или" их заједно, да тако кажем.
Две вертикалне пруге значи да је овај блок кода, ово урадили, ће
извршава ако је први услов тачан или други услов.
И иако можда нисте урадили ово нуле, ти заиста могао
уради у нуле, а можете изрази себе другачије -
ако је први услов и други услов су истините, онда шта је
унутар великих заграда.
>> И баш као што на страну, то је разлог дупли Амперсанд и двоструки
вертикална трака, на крају ћемо видети да једна вертикална трака и
једним Амперсанд заправо имају различите што значи у Ц. Дакле, за сада,
да се дуплирање симбола је намерно.
>> Па хајде да уведу, укратко, овај други мало синтаксе.
Ово не сасвим преносе на Огреби, али ја тврдим да могу
спроводи појам ако друго, ако друго, ако је друго, ако користите елсе
нешто што се зове свитцх изјаву.
А једини разлог то стварно постоји је само да вам дам, програмер,
мало другачији начин решавања неких проблем, иако је логично
не даје никакве нове могућности.
>> Под тим мислим на то.
Када кажете прекидач, а затим размак, а онда пар заграда, унутра
од којих се израз -
и то може бити мало не-очигледна у почетку, али то није аргумент,
технички, јер је прекидач није функција.
Дакле, за сада, само претпоставити да користимо заграде у различитим местима
из различитих разлога.
>> Дакле, прекидач на изразу значи да могу да ставио променљиву унутар оних
заграде где пише израз.
А онда, ако то променљива -
Претпостављам да се зове к, а то је само цео број -
Ја онда могу набројати на мом слајду Овде нешто овако.
Ако је к променљива мој, и ја Желим да урадим нешто ако је к
једнака 1, ја могу то да урадим.
>> Ако бих уместо тога желе да ураде нешто ако је к 2, ја могу то да урадим.
Иначе, ако желим да урадим нешто друго потпуно, ја могу да имам случај у подразумевани
том случају ја ова друга ствар.
Дакле, у том смислу, то је еквивалентно ако је к једнако једнак 1, иначе, ако друго,
али ја то сада помињем само зато ћемо га поново видети.
Али, за сада, само знам да постоји.
>> У реду.
Дакле, ово су последњи пар мало више комплекс на први поглед, али они
нешто прилично једноставно.
За петљу у Ц је комад кода који само ради нешто поново и
изнова и изнова.
И само досадне ствар је то је да је мало загонетан
да изрази себе у овој цикличне образац, али свет стандардизовани на
следећи начин.
>> Када користите за петљу, имате заградама поново.
И приметио два зарез тамо.
Та два зарез три одвојена различити изрази унутрашњост
заграде.
Један је такозвани инитиализатионс.
Један од њих је тзв стање.
А један је тзв исправке.
>> Погледао у апстрактно, ово је потпуно не-очигледна, па хајде да погледамо
на конкретном примеру.
У Огреби смо имали понављања блок.
И овај блок каже поновите 10 пута, кажу "Здраво, свете." Дозволите ми да тврде за
сада, а ми ћемо се вратити на ово, и то, такође, ће се упознају са
пре него што дуго, еквивалент Ц број се може рећи да је то -
за изјаве и простора, пар заграде, приметите зарез у
тамо, што одвојите три различита ствари, иницијализацију, на
стање, и ажурирање.
>> И Погоди шта Прво се ради.
Инт и = 0.
У смислу грубо лаик, оно што је да раде за нас, вероватно?
Тако да.
То је декларисање променљиве под називом И, и то је дајући какву вредност?
0.
Дакле, то је стварање променљиву зове И, складиштење вредност 0 у њему.
То је такозвани иницијализација.
>> У реду, сад сам тврдио раније да је средњи ствари, ја
<10, је услов.
Дакле, шта се ради?
Па, шта ради када се петља за Програм са петље за води, је
сваки пут када рачунар ради кроз Ова петља, одозго на доле, на врх
дно, баш као и ви урадили када рачунајући себе и седе,
опет и опет и опет, рачунар ће
Провери тај услов.
А ако и је мање од 10, да ће то урадити поново.
Ако и је мање од 10, да ће то урадити поново.
Ако и је мање од десет, да ће то урадити поново.
Тако да изгледа да сугерише да Надам се да се мења.
У супротном, имали бисмо бесконачну петља.
И заиста, ја се мења, јер Последња ствар после зареза тамо
је помало загонетан синтакса и + +.
Али они од вас који ово радили пре, то само значи
једноставно ста?
>> СТУДЕНТИ: [изнео ВОИЦЕС].
>> ДАВИД Малан: Додајте 1 до И.
Прираст и.
Дакле, видели смо огреботина слагалицу комад за то, у ствари.
То није личило и + +, али то једноставно значи, једноставно, повећавати
вреднују и за 1 сваки пут када се то уради.
Дакле буквално, почнете од иницијализација И на 0.
Затим проверите стање.
Да ли је 0 мање од 10?
Да.
Ми идемо кроз петљу.
>> Следећа ствар коју тврдим рачунара урадити је да ће
за повећање и.
Тако да сам сада је 1.
Она проверава стање.
1. Да ли је мање од 10?
Наравно.
Дакле, поново ради.
Онда се повећава и до 2 +.
2. Да ли је мање од 10?
Да.
И опет и опет и опет.
И на крају, због плус-плуссинг, добијамо да сам износи 10.
Да ли је 10 мање од 10?
Па, очигледно не.
И то је тачка у којој фор петља само зауставља.
А ако имате више кода на екран доле, рачунар
наставља да уместо воде тај код.
>> Па опет, иако ово ће изгледају и осећају мало чудно у
Прво, свакако за оне који никада програмирао раније, што
буквално смањује концептуално за шта је иначе веома
једноставна слагалица комад у Огреби.
>> У реду, обећао сам да бих бити и других аналога у нуле.
Превише Овде је тај.
И видели смо овог кратко последњи пут.
Али запамтите заувек блокира у Огреби?
То је само ради нешто заувек?
Сам тврдио да бисте могли да примените то на овај начин.
И ви у ствари можете спроведе ово у гомилу различитих начина.
>> Али, док је петља је само другачији Начин на Ц за себе изражавања.
На крају крајева, ви не можете да урадите све са вхиле петље да сте
не може са за петљу.
Дакле, они су на крају дан функционално исти.
Али, то вам омогућава да се изразите мало другачије у
следећи начин.
>> Са вхиле петље, то је оно што је у заграде која је поново проверавају и
изнова и изнова.
И чим тај израз је лажан, онда петља се зауставља извршавање,
и рачунар наставља да покренути било коју другу шифру
имају у датотеци.
>> Али оно што је интересантно овде је да сам буквално откуца тачно.
А истина је врста Боолеан вредности, вредност тачно или нетачно.
Дакле, да истина икада постати ако лажно Буквално смо
је тешко кодирана у мој програм?
Тако да нема.
То је мало чудно да сам ја ово урадио.
Али, истина је истина.
Нема плус-плуссинг.
Нема користи од варијабли у овде.
Па зато што сам хард-цодед док истина, ово петља ће увек да процени
опет и опет и опет.
>> Па колико пута је здраво свет ће штампати на екрану?
Заувек.
Бесконачан број пута док се не батерија умре или неки други спољни
догађај деси.
Дакле, ово вероватно није најбољи програм писати, јер уколико корисник
никада не може да напустите свој програм, то је вероватно није оно што сте намеравали.
>> Али понекад, програми треба да имају бесконачну петља.
На пример, ако ваш рачунар има Сат на њој, сигурно би
лепо ако ваш сат то се ажурирати сама заувек, мада некада
Друга или једном минут или тако нешто.
Дакле, чак и бесконачне петље имају своје место.
>> У реду.
На крају, овај.
А ово је мало другачије функционално, а ми ћемо се вратити на
ово вероватно у Псет 1.
Али постоји још једна врста петље назвао уради док петљи.
А једина разлика између до вхиле петље и, кажу, док петљу,
услов је да се не проверава пре него што изврши код, али после
извршите код.
Дакле, на врху за време петља, а док до
проверава да ли је на дну.
>> А то само значи да док петља обично извршава више пута
или мање пута него у вхиле петље?
Потенцијално више пута, јер је то док петља се јасно каже ово,
тек после чега сте проверили ако је услов унутар
заграде је тачно.
>> Тако да ћемо видети поново вероватно у Псет 1.
Ако сте икада желели да урадите нешто на најмање једном, а онда можда још
пута, ово је добар изградити за коришћење.
Али, док је петља, насупрот томе, да ли ће Прво проверите у каквом је стању.
И то је за петље у Ц, не док, док, и за петље.
И опет, они мап прилично лепо назад да се почеше, осим овај не
сасвим имају исти аналог у нуле.
>> Па, шта кажеш, сада, променљиве?
Дакле, ово је како сам проглашен за променљиву синтаксички неки дан.
Имао сам инт, који сам тврдио је цео број.
Сам тада имала променљиву зове бројач, а затим зарез.
Дакле, шта је ова линија кода ради?
То је, једноставно, изјављујући променљива -
који је, тражећи рачунар, дај ми део меморије, дај ми неке делове - у
коју може да ускладишти шта?
Инт.
А зарез само значи Крај линије кода.
>> Сада, друга линија је вероватно прилично гуессабле.
Шта је бројач = 0; ради?
То је додељивање 0 да се супротстави.
И то је друга ствар то је мало досадно
против, кажу, алгебре.
Док је у алгебри, знак једнакости значи једнако, овде у Ц, једнак
знак значи задатак.
Значи, шта је ставио на право у оно што је на левој страни.
И ми ћемо видети још један симбол, једнако једнако, ако желимо да заиста тестирати
за квалитет, помало љутито.
>> Али ово је мало неефикасан.
То је врста нервира да имам да декларишете променљиву и
онда му дати вредност.
Дакле, Ц ствари нам омогућава да поједностави и урадимо све одједном.
Можете да прогласи променљива на левој страни.
Још увек можете да урадите задатак на право да стављањем знака једнакости у
средњи.
Дакле, на крају дана, ова два еквивалент, али овај, искрено,
је вероватно боље навика да се у само зато што је нешто мање
код, то је мало лакше за читање, и то само затеже горе
ваш код, да тако кажем.
>> Има ли питања до сада о петљи, о варијабли, по условима, на
Боолеанс, било технички или концептуално?
У реду.
Тако сада овај следећи добија мало интересантније.
И ово је пример сам ставио прошле Време је само огреботина пресликава пример
више на Ц.
>> Дакле, функција.
У смислу лаике, шта је функција?
Мора да буде смелији са одговором.
Шта је функција?
>> СТУДЕНТ: Да ли нешто.
>> ДАВИД Малан: Шта је то?
>> СТУДЕНТ: Да ли нешто.
>> Малан ДАВИД: Да ли нешто.
ОК.
Почећемо тамо.
Дакле, функција ради нешто.
Дакле, то је део кода који је у суштини спроводи другде да
заиста уради нешто.
Сада, оно што је занимљиво у вези функције је да је потребно унос,
и може да произведе излаз.
И хајде да ствари узме погледај ово.
>> Дакле, човек иза завесе било намерно малопре.
Овде имамо табелу.
Али, претпоставимо да је ово у ствари представља велику кутију.
Дакле, то је такозвана црна кутија.
И уопште, у дизајну, у компјутер наука, црне кутије подразумева само
комада функционалности које неко реализовала, а ви не
неопходно знати, или брига како је то спроводи испод хаубе.
Само стало да ова црна кутија, које сада ћемо почети позива
функција, ради нешто.
>> Тако, на пример, ако је ова црна кутија на фаза овде представља принтф,
функција, ја знам из претходних примера принтф да траје један или више
аргументе, а прва од њих аргументи треба да буде ниска, као што је
"Здраво, свете." Па, ако сам особа писање програма, а ја желим
принтф да користите, ја, на пример, може узме парче празног папира овде и
црни маркер и писати на њему -
Погрешно сам "свет" -
Х-Е-Л-Л-О.
>> Тако да ћу узети мој црни фломастер и ја ћу писати, као велики и читљив колико могу на
ово парче папира, "Здраво, свете," И сада тврде да је мој аргумент.
Ово је стринг заступљени са комад белог папира.
И мој улаз сада на функцији принтф ће бити то.
Тако сам принтф зовем, пролазећи тај аргумент као улаз у њу.
>> И сад, ја не знам како је особа која је написао иф то урадио пре много година, али
Ја знам из свог тог документације његова сврха у животу је да одштампате оно што сам
обезбеди да је као улаз.
И тако, иако је примена је за мене без знања
испод хаубе, сада Видим, ох, то се ради.
Је штампан нешто на екрану.
И сада контролу програма, ако постоји било више линија кода, би
су се вратили у мени.
И тако је чињеница да је Колтон -
благословио његово срце, овде се крије испод сто пред свима вама -
је намерно у то не знам и не занима ме колико је принтф
спроводи.
Ја само знам, опет, из свог документација, шта то ради и како ја
ја би требало да га користе.
>> Сада, подсетити да принтф могао добити мало софистициранији.
Опет, ми само говоримо о еквивалент од рецимо блока Сцратцх-а.
Али сам исто то урадио прошли пут.
Желео сам да направим хелло програм мало динамичнији и не само тешко
Код нешто као "свет", а дефинитивно није тешко код нешто
произвољно као Д-А-В-И-Д у програм.
Хтео сам да пита корисника за његов или њен име, а затим урадите нешто са
да стринг који они пружају.
>> Дакле, постоји нешто мало другачије овде. принтф, малочас,
је, заиста, нешто уради, али је нису вратили ништа.
Зар не?
Колтон није ми додати ништа назад, нема парче папира.
Постојао је само споредни ефекат.
Мој пружање "хелло, ворлд", као Аргумент да Колтон резултирала
пропратни ефекат речи, неке речи, се појављује на екрану.
>> гетстринг, иако је мало другачије. гетстринг је такође
функционишу, али то даје неку вредност.
То не само да естетски споредни ефекат.
То ме у ствари даје, особа позивање или коришћењем функције,
нешто назад.
Дакле, у овом случају, је гетстринг зове са отвореним гетстринг
заграда, близу заграда.
Гетстринг ли, дакле, узети сви аргументи или мишљење?
Не, то не чини.
Његова сврха у животу је само да би стринг.
Потребно је да нема више детаља од тога.
Дакле, дозволите ми да иде напред и да се претварам, Поново, ова црна кутија није принтф,
али гетстринг, и пусти ме, лице писања овог програма, позовите или користите
гетстринг од само писање Г-е-Т-С-Т-Р-И-Н-Г, отворена заграда, близу
заграда, гетстринг.
>> Сада, немам појма како особље ЦС50 спроводи гетстринг, али знам да
ако довољно дуго, то ће урадити свој нешто испод хаубе, можда користећи
неке променљиве, можда користећи неке услови, можда користите неке петље,
Можда користите неке функције, можда користе -
Само покушавам да одуговлачење - можда помоћу неке друге програмирање функције.
Али, ако сам довољно дуго - у стварности, на рачунару, то се дешава
супер брзи -
ако довољно дуго, ова функција гетстринг ће добити низ
од стране корисника, који је вероватно куцање то се на њиховом тастатури, и
онда, када гетстринг врши све они ликови из корисника
и њихово складиштење у стринг, који функција, гетстринг, ће имати
спреман за мене неки излаз који сам ја ће да се преузме путем
Оператор додељивања.
>> И ако одем, заиста, на излазу овде, Обоси је великодушно
учествовао је, не знајући за то унапред, пишући своје име на ово
променљива, која се представља стринг.
Сада, оператор доделе средства, чак и иако ово може осећати помало
сувишан, ја заправо треба урадити да направи своју копију ово.
Јер на левој руци страна - Упс! -
Приметићете да сам у суштини имају ниску име на левој страни.
Дакле, ја ћу такође да мој примерак овог.
А ово је мало беле лажи, зато што ћемо видети у недељу или две да
време да жице нису ствари оно што они изгледају.
>> Али за сада, овде је повратна вредност.
Ево мог копија након тога коришћењем оператора доделе.
А сада, шта желим да урадим следеће?
Ми сада имамо други две линије кода.
Зато сада желим да принтф позовете.
Хајде сада да се претварамо да црно кутија је поново да буду
принтф и не гетстринг.
>> Принтф овај пут ће се узети колико аргументе?
Тако изгледа, то је као два.
Постоје две зарези у тамо, али један од тих навода, то је
унутар знакова навода.
Дакле, први аргумент је буквално Биће ово.
Х-Е-Л-Л-О, зарез, посто е, бацксласх-н.
И сада не пружа један аргумент, али два аргументи принтф.
>> А шта је требало да урадим иф са ова два улаза након што их прође у
као аргументи?
Требало би да се на други их, који сам назвао име, па
Други комад папира сам написао напоље Малопре се зове име.
То ће конектор на вредности унутар те променљиве у чувару места,
% С, тако да је, опет, само у трену време, ми ћемо видети ефекат страни од
принтф што се зове, где смо сада не види "хелло, ворлд", него "Здраво,
Обоси ".
>> Дакле, велики аплауз за обојицу наши волонтери, само један од њих знао
ово би могло да се дешава.
У реду.
Дакле, можда, једноставно је, Свакако, ако сте већ упознати
са што, надам се нећеш заборавити да посебно визуелни како
функције раде.
>> Дакле, постоји више од гетстринг.
Унутар ЦС50 библиотеке, ту је гомила функција, од којих
се капитализују само да јасно да смо писали ове функције.
Типично, у Ц, скоро сваки други Функција ћете користити је мала.
Али, ми смо намерно користили слова само да то буде јасно ово
Тренинг су точкови од сорти да ћемо користити за само неколико недеља да
поједноставити процес добијања унос од корисника.
>> ЦС50 библиотека не ради ништа да нисте сами могли урадити
Управо користећи Ц кода из олдсцхоол уџбеник.
Али, опет, ми их користимо као тренинг точкови сорти за само неколико
недеља, тако да можемо да се отараси сложености која убрзо ћете схватити
себе, да уради нешто као релативно једноставно као и добијање
унос од корисника.
>> Дакле, знате да ћете имати приступ да гетцхар, ГетДоубле -
двапут.
Вхат'с - и онда ГетФлоат.
Шта је пловак?
Почнимо тамо.
>> СТУДЕНТ: [ИНАУДИБЛЕ].
>> Малан ДАВИД: Да.
То је број са децималом.
Дакле, док је инт је цео број, који само је број од 0 до 9,
неки број понављања истог, пловак је нешто
са децималном тачком.
И двоструко, у међувремену, је такође број са децималом, али више
бројеви после децималне тачка, потенцијално.
>> Тако ћемо се вратити на ово пре дуго.
Али обично, сваки од ових типова подаци, сваки од ових типова променљивих
да библиотека као што је наша да се вратите на Ви, користите различит број битова
складиштење информација.
Типично, Знак, што само значи један лик, користи 8 бита.
И то је заправо у складу са нашом бајт волонтера који су прошле недеље
дошао и представља један АСЦИИ знак у исто време.
Дакле Цхар је 8 бита.
>> Пловак се дешава да се 32 бита, обично.
И двоструко, као што можете погодити, је заправо 64 бита, што је само још,
што значи да можете имати већи бројеви или више прецизности.
Али, опет, више о томе неки други пут.
ГетЛонгЛонг, у међувремену, мада глупо именован, је заиста само
цео број који је дупло већи, дупло дуг, потенцијално, као редовни
цео број, 64 уместо 32 бита.
И ГетСтринг смо користили.
>> Али, испоставља се, у ЦС50 библиотеци, који се реализује, као што ћемо видети, у
облик две датотеке, од којих се зове цс50.х, има још два
типови података у њој.
Боолеанс не постоје у језику Ц. Можете симулира их користећи само 1с и 0с
кроз своје програме.
Али, ми смо у библиотеци ЦС50 створили симболи "истинито" и "лажно"
да представља 1 и 0, тако да не да хард нешто код
буквално као 1 и 0.
Али, видећемо то поново.
>> Стринг, такође, не постоји.
И зато сам поменуо да је мало беле лажи за сада.
Али ми ћемо те одлепите слој пре дуго.
Али за сада, је ниска низ знакова.
>> У међувремену, у Ц, ви заиста имају различите типове података.
Обратите пажњу на то су мала.
Тако функције сте видели малочас су функције написао ЦС50 том
вратиће вам вредност која се налази у једну од ових категорија.
>> Пар преварити листова само да засади семе овде. принтф не само
С% узети као носиоци.
Потребно је% д за децимални целе бројеве, или% Радила бих као добро.
% Ф је покретном зарезу. % Ц је за Чар, ако желите да се прикључите само један
карактер у стринг Преформаттед као што смо радили, можете да користите Ц%.
>> А онда, помало љутито, ЛЛД% је за дуго, дуго децимални цео број,
што само значи да ако вам је потребно заиста велики број и користите нешто
назвао дуго дуго, који ћемо доћи назад на у псет, можете да користите% за ЛЛД
принтф рећи, прикључите заиста велики цео број овде путем своје друге или
неки други аргумент.
>> И на крају, ја сам обећао да постоји неколико других бекство
секвенце које принтф подржава.
Видели смо обрнуту косу црту-н.
Обрнута коса црта-Р можете видети.
То је нека врста старе школе ствар.
Ако сте икада користили прави писаћој машини година пре и повукао на курбле
који не само ротирали точкић да померите линију, такође преселио
Цела ствар скроз на преко лево, добро, само косу црту-Р
суштини помера курсор леђа на почетак реда
не померајући га.
Али, опет, више о томе, можда, у будућности.
>> Обрнута коса црта-цитат, обрнута коса црта-двоструки цитат, бацксласх-обрнута коса црта је
решење загонетке сићушно Сам алудирао раније.
И бацксласх-0 је заправо прилично занимљиво.
Али ми ћемо се вратити на да је пре дуго.
>> Зато ме пустите у, сада, ЦС50 апарата, и хајде да ствари раде
брзо загревање са једним од примера ми смо већ, а затим пређите на
нешто мало сложеније.
Дакле, ако ја отворим свој програм звао гедит -
ово је мој графички уредник.
И ја могу да урадим -
дозволите ми да тај прозор -
путем ове иконе Овде доле, гедит, у доњем левом
угао поред менија.
>> Ја ћу ићи напред и напредује, и сачувате овај пример у, рецимо, Џоне
Харвардова фолдер.
Џон Харвардова фасцикла је управо његов дом директоријум где све своје фајлове живи
подразумевано.
И ја ћу да сачувате ово као фајл који се зове здраво-0.ц.
И ја сам изабрао то име једноставно тако да поравнат са узорка кода на
Наравно аутора и ИоуТубе мрежи.
>> Сада ћу почети да напишем свој први програм.
Дозволите ми да увећате за читљивост.
И ја ћу ићи напред и рећи инт Главни празнина, која се само тако
жути комад слагалице који почиње програм.
Стечен сам навику над године отвара своју коврџаву браце, онда
Такође га затворите, а затим да се вратимо на где желим да ставим код, само
јер ми помаже да све уравнотежен, нарочито као што су моји
програм добије дуго.
>> И сада, овде, ја ћу да наставим и кажу, инт, цитирам Крај цитата,
Здраво свете, обрнута коса црта-н, близу цитат, затвори заграда, тачка и зарез.
Тако да само понављам све што смо узимали здраво за готово до сада.
Сада ћу да умањите.
>> И овај прозор терминала овде, шта ми је дозвољено да радим у ово црно
и бели прозор?
Шта могу да га користе?
Дакле, ово је место где сам покренути команде и где могу да састави ствари.
И ја ћу да га једноставно.
Идем да користите програм Нека се зове, што није
технички компајлер.
Зове Цланг компајлер, али Вратићемо се на то за
недељу или две је време.
>> За сада, само ћу да маке здраво-0, али оне који су били
поређењем у вашем уму оно што сам управо откуцан на шта је требало да откуца може
Већ знам да сам урадио нешто није у реду.
Дакле, јасно је да је неке грешке.
Пре него што сам чак и погледајте шта су они, било мисли о томе шта сам урадио погрешно?
>> СТУДЕНТИ: [изнео ВОИЦЕС].
>> Малан ДАВИД: Да.
Недостаје ми хеадер фајл библиотеке.
Било који од ових фајлова. Х називају се заглавље датотеке, и они су колективно
припадају ствари називају библиотекама.
Библиотеке су само комади кода да други људи написали.
Тако је стандардни [? и] библиотека? је колекција фајлова који садрже код
да други људи написали.
>> Тако ми недостаје то.
Па зашто ја добијам поруку о грешци?
Па, дозволите ми да поново помицати у мој прозор терминала овде.
И нажалост, у Ц, као у много програмски језици, посебно
ако је све ново за вас, грешка поруке су прецизни, али они су и
прилично загонетан.
А грешка овде, у црвено, је "Имплицитно декларисање библиотека функција
принтф са типа ", а онда Сцроллс у следећи ред, "инт цхар *,
... "То је стварно огромна брзо.
>> Али оно што би требало да почне да се уради, ако је, опет, нови на све ово, само да
почињу да траже кључне речи.
Јасно је, ја не могу да разумем пола речи видим још увек.
Ви ћете, међутим, у року од недељу дана.
Али ја принтф видим.
И то би требало да почне, пре дуго, да освежим памћење, у реду, инт.
Нешто није у реду са инт.
Да ли сам то чини погрешно?
Не, не изгледа као да - ох.
Ја не могу да га користе уколико не предајем компајлер да она постоји.
И тако, опет, иде са својим инстинктима, чак и ако не разумем стварно
стварне поруке о грешкама.
>> И заиста, решење је да се само укључите је на врху датотеке
тако, ресавинг мој досије са Контрола-С или Филе менију.
А ако се вратимо доле, Ја ћу ово да обришете.
Контрола-Л је само леп начин за брисање екрана.
А онда ћу да откуцате "направи здраво 0 "Ентер, а сада сам још увек видим
криптичан секвенца симбола, али Вратићемо се на то.
То је оно што чини ради за вас.
То аутоматизује процес преузимања прилично нервира укључује команде
Звека, стварна компајлер.
Али, чињеница да сам добио нема грешака значи да је ово требало да ради.
>> Тако да ја сад идем да радим - дозволите ми да увећате опет -
./хелло-0 Ентер, и заиста, ја видим "Здраво, свете." Дакле, хајде да сада повећа
ово икада тако нешто само да понове кораци смо намеравали.
Ја ћу да преименује ово са Сачувај као да хелло1.ц.
А сада ћу да декларишете променљиву зове име, па стринг име,
и ја ћу га ставити у Вредност цитатом-Ункуоте
Д-В-И-Д затвори цитат-зарез.
А сада ћу да замени "свет" са оним што чувар места за серију?
% С.
>> А сада, колико треба да аргументи принтф Искористите ово време?
Дакле, два.
И одем ван знакова навода.
Укуцамо "име" после зареза.
Али, ја сам урадио нешто друго није у реду овај пут.
Али, хајде да претпоставимо да ја нисам схвате да још.
Пусти ме овде.
>> И запазите, такође, постаје ми мало досадно да куцате "чине здраво 0" све
време, "направи", и све то.
Дакле, испада, у Линус можете често ударио стрелицу нагоре на вашем
тастатуре, а ви у ствари можете помицати кроз све команде које сам
извршена пре само сада.
Дакле, ако то урадим, горе, горе, ту је направити здраво 0.
Не желим то.
Ја само желим да се то промени у Здраво 1 овог пута, Ентер.
На крају, то ће уштедите мало времена.
>> У реду.
Нажалост, ту је грешка.
Тако да ме помицати горе.
Ово изгледа као да сам заиста искасапили овог програма.
Мислим, мој Боже, то је две линије кода, и њене линије 10 грешака.
Али погледајте на горњем прво.
Коришћење непријављеног идентификатор стринг.
Да ли мислим стандардни и н?
Не нисам.
Мислио сам стринг.
>> Али где је стринг променљива Тип изјавио, дд кажемо?
Тако да је у ЦС50 библиотеке.
Дакле, то није довољно, у ових првих пар недеља, само да користи
што нам даје Ц.
Такође ћу да се овде, и ја могао ставити изнад или испод, али ћу
само ти абецедно да ствари уредно.
Ја ћу укључити цс50.х, који је унапред инсталиран на
сте на ЦС50 апарата.
И то је опен соурце, па чак и људи на интернету може да га употреби на њиховој
своје рачунаре.
Али то долази са ЦС50 апарата.
>> Дакле, сада да се вратимо и поново компајлирате ово са 1 чине здраво.
Проклетство.
Још једна грешка.
Дозволите ми помицати до првог, мада.
Ово је мало сложен.
Мулти-карактер карактер константа.
То ме не помаже.
Али, погледајте, Цланг је макар мало бит пристојан, где са мало
зелена уметање симбола, она каже Овде је место где сам забрљао.
Зашто се то показује, да са мало зелена стрелица, на један цитат следећег
на моје име?
>> Дакле, то је једна од ствари које сте управо навићи, нарочито ако сте били
програмирање у Питхон-у, или ЈаваСцрипт, или други језици у којима овај детаљ
није битно.
У Ц, није свеједно.
Ако проглашења стринг, који је секвенца од 0 или више карактера,
заправо да користите наводнике.
Тако да сам у ствари треба да се промени ово поново за отварање цитат, затворите цитат, са
наводници.
Појединачне цитати имају своје место, али само када користите појединца
слова, али више о томе други пут.
За сада, наводници су неопходни.
>> Па сад, да се вратимо на мој терминал прозор, направити здраво 1.
А ко је сигуран?
Да ли је овај програм сада иде да правилно саставити?
ОК.
Дакле, нас троје да ово.
У реду.
Ентер.
И то је заправо урадио.
Тако да нема грешака овај пут, чак и мада овај програм је ушло мало
сложенији.
Ако ја сад дот цртица Здраво 1, Ентер, то ће рећи "здраво, Давид."
>> Али, хајде да трећи итерацију овога, где
Програм је заиста динамичан.
Дозволите ми да иде напред и промените датотеку име, само због усклађености са
датотеке које ћете имати на располагању теби после мрежи.
Ентер.
А сада ћу да одем у и не продавница "Давид" фиксирани овде.
Шта сам могао да урадим да веома једноставно побољшати овај програм?
>> Могу да позовем гетстринг.
Можда је мало не јасно шта је да се деси, па идем
да заправо додати још једну линију, принтф, и рећи име, дебелог црева, затворите цитат, само
да дају кориснику брз на екрану.
А сада ћу да овде иде, а ја сам намеравате да користите свој пречицу.
Идем да иде горе, горе, и промените здраво 1. до Хелло 2, Ентер.
И срећом, ја напредујемо.
>> А сада ћу да одем горе до тачке сласх Поздрав и
промени на 2, Ентер.
А сада мој програм -
Ја ћу повећати - постаје мало лепша.
Име ће бити, рецимо Роб овај пут, Ентер, здраво, Роб.
Ми то можемо поново.
Име, Лорен, Ентер.
Име, Јосиф, Ентер.
Име, хајде да покушамо да се тешко, Ентер.
Ех.
То није баш буба.
Дакле, то је само мало ружна.
Дакле, можда би могао да реши ово у будућности, не сада.
>> Али, како би инстиктивно иде о решавању
то посебан изазов?
Само изгледа глупо.
Како избећи ствари изгледа глупо?
Тако да смо могли да урадимо, у реду, чуо сам пар ствари, стање и петља.
Могли би да користите, један, услов, да проверите шта је дужина низа
корисник нам је дао?
А ако је 0, то је само цитирам Крај цитата, они само притисните ентер, затим
можда би требало да се дере на њих и затражити да их поново.
Али како да их подстакне опет?
Па, чуо сам и петље, и сам могао то урадити поново и поново и поново
пита корисника за исту ствар.
>> Па, хајде да урадимо још један пример користећи различите
Функција у ЦС50 библиотеци.
Дозволите ми да завршим ову датотеку.
Дозволите ми да направим нови.
И ја ћу га звати аддер.ц, само зато лако је урадити једноставну аритметику,
иако ће то бити потпуно ундервхелминг са оним што можете да урадите
са било којим модерним рачунаром.
>> Али, дозволите ми да иде напред и сада -
Научио сам лекцију прошли пут - укључити цс50.х, укључују стдио.х, инт
Главни празнина, која, за сада, само ћу преузме на слепу веру, али ћемо претпоставити
да ће разумети шта то значи пре дуго.
И ја ћу да кажем нешто као "дај ми инт."
>> И сад, како да ја добијем инт?
Желим да на крају прогласи променљиву зове к типа инт и
сачувати у њему цео број од корисника.
Дакле, то је залогај.
Али, ако неко жели да предложи, како ја изјављујем целобројну зове к?
Инт.
>> Дакле, то је заиста тако једноставно.
Дај ми инт.
Назовите то к.
Сада употребљавамо оператор додељивања.
И како да сачувате од оставио вредност корисника?
Не желим да позовем гетстринг, очигледно, већ Тоноване.
Сви аргументи?
Не.
Тако да је отворена заграда, затвори заграда одмах, а затим
зарез завршава линију.
>> Сада ме пусти да радим ово поново.
Дај ми још једну инт.
Овај пут ћу урадити инт, хајде да зову и, једнако Тоноване.
А сад ме пусти да радим нешто супер-једноставан као нека математика.
Дакле принтф, сума је% д Чувар места за инт.
И% Д, периода, обрнута коса црта-н.
>> У реду.
Дакле, то није стварно математика.
Али, ако желим да кажем збир ово Вредност плус ова вредност једнака ово
друга вредност, колико аргументи у укупно треба да буде принтф давање,
на крају?
Дакле четири, зар не?
Овај стринг а онда су три вредности.
Дакле, к је прво желим да будем прикључени први на% д.
година ће бити следећи.
>> И сад ја сам хтео да кажем З, али з не постоји.
Али, то није велика ствар.
Јер шта би ти инстинктивно учинити, нарочито ако сте имали
графиконима Калкулатор, шта куцате?
Шта мислите о Кс плус И?
Дакле, то није стварна променљива.
То је само збир два остале променљиве.
И то је потпуно легитимно.
Ц сигурно разуме једноставна аритметика овако.
>> Зарез, сачувајте.
Сада пусти ме доле и маке Аддер, Ентер.
Нема грешке, тако да је то напредак превише.
Упишите сабирача.
И још једна пречица на тастатури, ако почнете да се досађујете
са свим командама -
ако почнете да куцате команду, као што је тачка сласх оглас, а то је где се продаје
досада почиње у, обично можете погодити Таб да рачунар заврши
Остатак фразе за вас, ако то није двосмислена шта би требало да дође после оглас.
>> Дакле, дозволите ми сада ићи напред и кликнете на дугме Ентер.
Дајте ми један инт, 1, 2, и Срећом, то је 3..
Али, као и увек, програме за тестирање не би требало да се сведе на
само да пробам једном.
Да покушам случај угла, као негативна 1, ми 1, и да је један
проверава се као добро.
И вероватно желите да урадите нешто више ригорозно тестирање, али сам лепа
задовољни у којој је то у.
>> Па, сад да пробамо други програм да овај пут користи
Мало друге синтаксе.
Дозволите ми да креирате нову датотеку.
Назваћу ову цондитионс0.ц да поравнате са неким на мрежи код узорка.
И дозволите ми да иде напред и учинити укључују цс50.х, укључују
стдио.х, у главном празнини -
ОК.
Ту смо.
Имамо стандардне општенаменским.
>> И овај пут ћу рећи принтф, "Ја бих се инт, молим вас", само да
чине брза мало више пријатељски.
А сада желим да се инт од корисника.
Ја ћу да га зову н овај пут, само н јер звучи као број.
Тоноване, а сад, шта Желим да радим са њим?
Па, ако је н - и ја ћу увећате -
ако је н веће од 0, желим да урадите следеће -
принтф "Изабрао си позитиван број." Иначе, ја ћу инт типа "Ви
Изабрао негативан
број "У реду..
Дакле овај програм, иако сам то урадио брзо, изгледа право синтаксички.
Да пробам ово.
Направите Стање 0.
Изгледа да ради.
Стање 0, унесите.
Хајде да дамо од 50 инт.
Изабрао сам позитиван број.
Хајде да пробамо поново.
Стање 0.
Негативно 50.
Изабрао сам негативан број.
>> Али сада, дозволите ми да изаберете оно што ћемо задржати позивајући корнер случај, што је више
интересантан случај да мислите вам може дати неке проблеме, 0.
Сада, ја сам прилично сигуран да је ово један од они кутак случајеви где је нула
ни позитивно ни негативно, па зато програма, иако у синтаксички
исправи - она ​​саставља, то ради - није логички исправан.
Дакле, шта је једноставно поправити овде ако желим да открије, ако желите да управљате н
износи 0. одвојено?
>> Дакле, ако је н једнако 0, онда ја желим да кажем нешто као принтф "Изабрали сте 0".
Да пробам ово сада.
Дозволите ми да се вратим овде, јасно мој прозор, и рецомпиле.
Хм.
Једна грешка генеришу.
Али, да ли желите да проверите Ако је н једнако 0.
>> Па опет, још једна глупа ствар да се навикне, знак једнакости је
Оператор додељивања.
Дакле, то је заправо грешка у томе, технички, иако компајлер
штитила од себе, ми бисмо технички бити копирање 0 у Н, који
није оно што ја желим.
Желим да тестирате за равноправност са једнако једнако.
И тако да сада може да буде мој боље решење.
>> Дозволите ми да ово заправо поново сачувате као, рецимо, цондитионс1, да буде нова и побољшана.
Тако да сада ако компајлирате ово, то би услове -
упс - направити цондитионс1 тачка сласх цондитионс1, Ентер, "Ја бих инт,
молим "Ја. да идем напред и упишите 50.
То је још увек добра.
Негативно 50, и даље добро.
0, и то је заиста,, открити да сам изабрао 0.
>> Дакле, шта још могу да урадим сада са овим?
Па, свакако да све урадим сложене ствари.
Али оно што желим да предложим је да завршимо на овој поруци овде.
Ако се попните се ово, ви ћете видети, можда, омиљени цртани твој
до данас сте могли Никада нисам разумео.
И то је о квалитету смеха требало би да се са ЦС шалама.
Дакле, то је отприлике то.
>> Али више убедљив, мислио сам да Дајте нам мало задиркивање за понедељак.
Тако смо почели да користе целе бројеве.
Сте говорили смо да плута.
Чак смо из дублова, који, опет, ти бројеви
после децимале.
>> Али, испоставља се да плута и дубл, и, заиста, компјутери,
у основи, не могу да изразе неке вредности прецизно.
Ми знамо из математике класа које можете имати било који број бројева након
децимална тачка.
А можете чак ставити вертикалну црту да кажем ово да траје заувек.
>> Нажалост, не можете то чини на рачунару.
И тако кутак случајева јављају.
На пример, претпоставимо да сте раде нешто финансијски.
Радите математику са процентима, и
са доларима и центима.
А ти немој центи нужно линију горе.
Па, испоставило се да су фракције паре могу почети да саберете када
узору са рачунарског система на такав начин да паметно
људи могу искористити.
>> А оне који нису видели, ја бих да вам дам 30 секунди за задиркивање
диван филм познат као канцеларијски простор, који ће дају слику
Проблем који се бави прва ствар у понедељак.
Ако бисмо могли да смањите звук мало, ја вам дам 30
секунди пословног простора.
>> [ВИДЕО РЕПРОДУКЦИЈА]
>> -Мислим, да, ви нисте били приказују се и ви да задржим свој посао.
>> -У ствари, ја сам се промовише.
>> -Ја могу програмирати вирус који би рип то место ван велики пут.
>> -Па, како то функционише?
>> -Сваки пут када је трансакција банка се камата обрачунава, и тамо
су хиљаде дана, рачунар се завршава са ових фракција цента.
>> -Али ја не идем у ништа нелегално.
>> -Илегалне?
Самир, ово је Америка.
>> -Морамо да кунем се.
>> -Ако нико не зна за ово али нас, у реду?
Без породице, без девојке, нико.
>> -Наравно.
>> -Слажем се.
>> -Не брини, човече.
Нећу никоме рећи било.
>> [ЕНД ВИДЕО РЕПРОДУКЦИЈА]
>> ДАВИД Малан: Дакле, онда, је ЦС50, да је канцеларијски простор, а све
смисла у понедељак.
Видимо се онда.
>> НАРАТОР: На следећем ЦС50, Роб подешава да буду ван
Харвард оброк плана.