ЛУЦАС ФРЕИТАС: У реду, претпостављам сада смо уживо. Добродошли на ЦС50 Суперсецтион. Ми смо мање удобан. Моје име је Луцас Фреитас. Ја сам један ЦС50 Шеф подгрупа. То је Лорен. ЛАУРЕН Царвалхо: Здраво, ја сам Лорен. Ја сам такође шеф ТФ за ЦС50. ЛУЦАС ФРЕИТАС: Данас ми ћемо само дати преглед шта све можете момци су научили у недељу једном, надам се да вам дам добар смисла да оно што треба да знате за проблем је поставили. Само пар најаве. Пре свега, радно време. Радно време се дешава од понедељка до четвртка у различитим кућама у Анненберг сваки дан. Они су веома добар ресурс за вас момци да дођу и питају питања, и разговарају са ТФС, па чак и размена идеје са другим ученицима. Дакле, будите сигурни да користите тај ресурс у вашу корист. Друга ствар је Примена ЦС50. За последњи [неразумљиво] ви не морају да заправо имају апарат. Управо је учинио све у ваш лични рачунар. Али за овај проблем, ви заправо имате да имају виртуелну машину, тако да сигурни да преузмете ЦС50 Примена и подесите га. И трећа ствар је обавезно почети проблем скуп АСАП само јер је много лакше да пронађу помоћи када сте у почетком недеље. Зато што људи имају тенденцију да сачека последње секунде за почетак проблема сет, а онда одете у радног времена, и ту је доста људи. Где ако идете у понедељак, идеш да види да можете да разговарате са ТФС прилично за целу ноћ, и они ће бити више него срећан да вам помогне. ЛАУРЕН Карваљо: Могу ли престати ти за само једну секунду? Да ли су сви били у могућности да преузмете ЦС50 апарат? Да ли људи покушали? ЛУЦАС ФРЕИТАС: За преузимање, по начин, можете добити упутства на цс50.нет/апплианце. ЛАУРЕН Карваљо: У реду. И то чини мало потрајати за наше сис админи да сте добили дозволу кључ, па се пријавите за бесплатна пробна први. На тај начин ћете га имати за 30 дана, а затим сачекајте да се лиценцни кључ који би требало да јој теби за годину дана. ЛУЦАС ФРЕИТАС: Пре свега, хајде да причамо мало о ЦС50 Апплианце. Примена ЦС50 је заправо виртуелна машина које ћеш покренете у вашем рачунару који је у основи ради други рачунар унутар свог рачунара. Што је прилично кул. А заправо то је свуда користи. Људи који се технологије би знати да ово се користи све време. ви? Може имати више рачунара у једном уређају. Хајде да ствари погледамо на апарат. Када идете у Апплианце после регистровање, ти ћеш морати да ставите своје име и пријавите се на Харварду тако да можемо да вас све регистроване. Ви ћете видети у основи само тапета, а затим и за одмор Смеће, и онда ови мали иконе. Ова три иконе су заправо највише важне ствари које можете имати у ваш апарат. Први је гедит, што је текст уредник, баш као Нотепад или слично било какав текст едитору. То је само нешто што ми користимо за писање код и онда ствари са њим. Друга ствар која ми имају овде је Цхроме. Дакле, ако вам је потребно да користите Интернет у Апплианце, то је шта можете да користите. И трећа ствар је терминал, који је заправо веома слатко. Људи обично се некако плаше терминала, јер је ово веома старински апликација у којој сте Само укуцајте у основи све са тастатура. Не постоји много интеракције са миша. Али заправо терминала чини веома добре ствари. Пре свега, хајде да идемо кроз неке команде које могу користити у терминалу. ЛАУРЕН Карваљо: И слободно да се заустави нас ако имате било каквих питања. ЛУЦАС ФРЕИТАС: Да. Дакле, прва команда да имамо за терминал је ли. Да ли у основи значи лист све, све датотеке и сви директори, да ја имам на месту да а у. Дакле, ако ја радим овде лс, идем да видим да ја имам неке директоријуме. Имам десктоп, довнлоадс, дневници, и вхостс. Они су у плаво, јер су све директоријуме. Онда имате неке друге датотеке. Имате попут Поздрав и хелло.ц, који су само фајлови, а они су у различите боје. Дакле, ово је веома важно команда само можете видети шта су фајлови и директоријуме које имате у директоријуму који сте на у терминалу. Када видите јхарвард @ апарата и онда мало симбол тамо, тилда, то само значи да је то директоријум који сте у овом тренутку. ЛАУРЕН Карваљо: Дакле куцате лс је готово као што ћете кликнути на фолдер да је наведена тамо, у то показује ти сав садржај који су унутар тог фолдера. ПУБЛИКА: Да ли постоји текст после хелло.ц? ЛАУРЕН Царвалхо: О, ви не можете види да, зато што је плаво. ЛУЦАС ФРЕИТАС: Он каже резање и вхостс. ЛАУРЕН Карваљо: То су само остали фолдери. Жао ми је, стварно је тешко видети. Можда ако искључена светла? Колтон, да ли желите да покушате и наћи прекидач за светло? Извини због тога. Нисам мислио о томе. ЛУЦАС ФРЕИТАС: Али то је у основи - Да, ако можеш - ЛАУРЕН Карваљо: зум у вашем екрану. ЛУЦАС ФРЕИТАС: Ја не радим имају ту функцију. ЛАУРЕН Карваљо: [ИНАУДИБЛЕ]. У реду. Па, само има доста природног светло у овој соби, као добро. ЛУЦАС ФРЕИТАС: Хајде да претпоставимо да постоје два директоријума тамо. ЛАУРЕН Карваљо: Само имајте са нама. Ово је једини део који ћеш се гледа на терминалу. ЛУЦАС ФРЕИТАС: следећа команда је у основи можда желите да организујете датотека - На пример, сви твоји Ц фајлова у једном именик-али ви немате директоријум само за Ц поднесе још. Ви у основи можете креирати директоријум коришћењем терминала, као и, што је иста ствар као и десним кликом и говорећи Нова фасцикла. Команда је направити директоријум, који је мкдир, тако у основи "направити" и "Директоријум." А онда можете ставити Назив директоријума. Рецимо да сам хтела да се зове, Ја не знам, рецимо псет1 Доинг ово, само сам створио директоријум. Хајде да проверите да је тамо. Дакле, ако ја урадим лс, сад видим логове, и тада псет1, а затим вхостс. Дакле, имам нови директоријум тамо. А онда након што сте нови директоријум, можда желите да се крећете у њега, па следећа команда Овај ЦД, који у основи значи само ићи на специфичан директоријум. Дакле, ако желим да идем у псет1, Ја само могу да урадим цд псет1. ЛАУРЕН Карваљо: ЦД је скраћеница за промену именик, [ИНАУДИБЛЕ] на стању запамтите то. ЛУЦАС ФРЕИТАС: А сад ви видите да уместо само да јхарвард апарата, ја сам јхарвард апарат, а затим псет1, јер то је показивање ми где сам ја у овом рачунару. Сада, ако желим да се вратим у директоријум који је био пре тога, ја може да уради ЦД Дот, који управо значи ићи у директоријум који сам био пре, као родитељ овог именик, у основи. А сад видим да сам назад на јхарвард. Следећа ствар коју могу да урадим то је РМ, који је уклонити датотеку. На пример, хајде да прво урадимо лс да видим шта ја овде имам. Ја имам здраво и хелло.ц. Рецимо да желим да их уклоните. Ја могу да урадим рм здраво. То ће рећи "уклонити редовно фајл здраво? "А ја кажем:" Да. "И сада, ако ја уради лс, видим да је то више не постоји. Ако покушам да користим РМ за именик, мада, то не иде да ти ништа. То ће рећи, хеј, ви Не можете да уклоните директоријум. Дакле, имамо овај други доћи зове рмдир, који само у основи значи уклоните директоријум. Могу, на пример, уклонити псет1. А ако ја урадим лс, ја не радим има га више. Сва питања у вези овога? Не? Да? ПУБЛИКА: Важно је да одеш простор после - кад год почните да куцате нешто у? ЛУЦАС ФРЕИТАС: Да. Ако урадим волим цд и директоријум, Морам да ставим размак. Шта простор причаш? ЛАУРЕН Карваљо: простор између ЦД и [ИНАУДИБЛЕ]. ЛУЦАС ФРЕИТАС: Да, ви ћете морати да ставио размаке јер је цд команда, а затим следећи стринг који ти тип је у основи директоријум. Дакле, то је као аргумент. Да? ПУБЛИКА: Када списку, сви они су различите директоријуме, зар не? ЛУЦАС ФРЕИТАС: Да, они су су у именику. ПУБЛИКА: Шта је разлика међу директоријуме? ЛУЦАС ФРЕИТАС: Они су само различите фасцикле. Директоријум је фасцикла у вашем рачунару. ПУБЛИКА: Отвори фолдер. ЛУЦАС ФРЕИТАС: Да, то је само отворена фасцикла. ЛАУРЕН Царвалхо: овде, они који су у плавом су стварни директоријуме које можете добити у и онда видети гомилу ствари које су у то, што је несрећна јер ви не можете заправо чита оне у плаво. И они у белом су само фајлови који су у тренутном директоријуму. ЛУЦАС ФРЕИТАС: Со директоријуме су фолдери. Остали су они фајлови. ПУБЛИКА: Шта је команда да га ресетује или да га обришете? ЛУЦАС ФРЕИТАС: Да бисте обрисали? ЛАУРЕН Карваљо: Да бисте обрисали? ЛУЦАС ФРЕИТАС: Мислим да то је "јасно." Да. Значи само укуцајте јасно ако Ваш екран је превише неуредан. Има ли још питања? И ви ћете научити гомилу друге команде само природно током семестар јер су веома корисни. Дакле, хајде да причамо о састављању. Разговарали смо о псеудокоду и изворни код и објектни код. И ту је доста кодова, и можда ви сте збуњени о томе. Хајде да причамо мало о томе шта дешава када пишете програм, а ви га компајлирати, и она постаје извршни фајл. То су све речи које сте момци вероватно чули, а можда нисте сигурни шта се дешава. Рецимо, на пример, да ја желим да написати програм који каже "здраво." прва ствар која долази у ваш ум је ви некако покушавате да мислим о томе како си ти урадити да у вашем уму, и Ви вероватно мислите на енглеском или неки други језик, као природни језик, вероватно. И онда ви мислите, добро, ако желим да се, на пример, написати програм који каже "здраво", ја бих почети програм, Ја ћу одштампати здраво, а онда ћу отказ програм. То је Псеудокод. Ово је само у основи покушавате да доћи до низа догађаја да ћеш учинити да се у стању да напише програм. Онда имате изворни код, и изворни код не мора да посебно бити у Ц Причамо око изворни код у Ц јер је то језик учимо, али наравно код може бити прилично било програмски језик који имате. Касније у семестру, идеш да уче друге језике. То је такође изворни код. На пример, овде, ово је мој извор код, а онда сам, укључујући библиотека, а онда почнем главни, а онда сам одштампате. И Лаура ће мало да разговарамо мало о свему овоме. Дакле, ово је изворни код. А шта је код објекат? Објекат је гомила нула и оне, у суштини. Шта се дешава је да у почетку имају Псеудокод, који је све на енглеском. И ја мислим, ти то разумеш. Вероватно твоји пријатељи разумеју она, а већина људи би разумеју идеју. Али компјутери су стварно глупи, а они не разумеју енглески, тако да су превели у нешто, обично преведен на неки програмски језик. И ви можете мислити о програмирању језик као врста као језика да кажете рачунара хов да говоре и да разумеју. Ви у основи пишете нешто у језик који обоје и ваше рачунар разуме. То је изворни код. Тако ће облик Псеудокод на извору код, то је на вама. То је у основи радиш свој програм. Али проблем је у томе компјутер не чак разуме програмски језик. Он не разуме изворног кода уопште. То је заправо само разуме нуле и јединице. Дакле, имамо овај веома магичну ствар која се зове компајлер, који у основи је ће да се зове извор који вам написао на језику и ви и рачунар говоре, а сада си ће да се трансформише да у нуле и јединице. Дакле, у основи оно што ради је компајлер добија изворни код, у овом случају Ц, она ће да га трансформишу у нула и оне које рачунар разуме и може да извршна датотека из ње. Да ли то смисла? Можете само да помисли на компајлера као нека врста преводиоца који је помажући на рачунар вам објаснити управо оно што је требало да уради. Али како да саставе. Вратимо се на Апплианце, и рецимо да ја радим тај програм. Прво ћу да креирате директоријум овде, а ја ћу да га зовем "Пракса." Сада ћу да се крећете у директоријум, тако цд пракса. Сада сам у пракси. Сада желим да почне гедит, па како то да урадим? Ја или да кликнете овде, или ја могу само буквално укуцајте "гедит", а то ће да отвори за мене. Сада ћу да куцате свој програм, тако управо оно што сам написао у слајду. Ја проглашења библиотеку. Радим инт маин, празнину. И сад ја радим принтф, здраво. Сада ћу да би сачували. Дозволите ми да га ставите у пракси, и Идем да зовем ову хелло.ц. Дакле, сада је сачувана. Ако желим да га саставе, ја заправо могу то учинити на два различита места. Ја или могу то да урадим у прозору терминала, тако да је ово велика, или можете користи гедит да заправо има прозор терминала овде. Тако да можете врло једноставно само радим ваш број, а онда можете само укуцајте год овде, и покушајте да га саставе. Па како да саставе код? Најлакши начин да ми имамо је помоћу направити, што је функција која је у основи ће састави свој код. Потребно је само да кажем направити здраво, тако "Направити" и назив програма. Упс. То је чудно. ЛАУРЕН Карваљо: Можете ли [ИНАУДИБЛЕ]? ЛУЦАС ФРЕИТАС: Извини. Нисам га сачувати у право директоријум. Дођите да вежбате, а сада сачувајте га као хелло.ц. Жао ми је. Сада је сачувана. Дозволите ми да урадим лс и бити сигуран да је то овде. У реду, сада је овде. Тако да сада ако ја направити здраво, то испљуне много ствари, али онда то само даје ми још један ред за терминала, који значи да је био успешан. Тако да сада, ако ја радим ан лс опет, ја заправо види ову датотеку у зелено, који је извршна датотека. А онда, ако желим да га покренете, све то Морам да урадим је тачка коса црта здраво. То ће рећи здраво овде, тако то је управо оно што сам га питао да. Постоји још један начин састављања, који се користе звека. Цланг је само компајлер који имамо, и то је мало опсирнији у компајлирати га. Али то ради само као добро. Дакле, ако ја урадим јека, а затим-О, а затим име које желим да дам извршни фајл, па рецимо "Здраво." А онда фајл који желим саставити, хелло.ц. То такође ће саставити. И имате фајл овде, и Ја само могу да га изврши, као добро. Дакле, обоје раде. Да ли то смисла? Има ли питања? ПУБЛИКА: Можете ли зоом у мало? ЛУЦАС ФРЕИТАС: Извините? ПУБЛИКА: Зоом ин? ЛАУРЕН Карваљо: Ја мислим да ти само да командује, плус. ЛУЦАС ФРЕИТАС: Заповеди шта? ЛАУРЕН Карваљо: Команда плус. ЛУЦАС ФРЕИТАС: Не ЛАУРЕН Царвалхо: О, то није одлазак на посао, јер - то је зато што смо поставили резолуцију за ову ствар. ЛУЦАС ФРЕИТАС: Ја не радим мислим да можемо да зумирате унутра Да, не можемо да увећате. Да ли имате још питања? Извините. ПУБЛИКА: Можете ли поновити звека? ЛУЦАС ФРЕИТАС: звека? Цланг је иста ствар као и марка, али Разлика је у томе што прво ћу да пишу цланг, што је команда, онда ћу да урадим -0, све, што је само шта ћемо да уче касније као заставом. Дакле, само мислим да увек треба да стави-о. И онда прво, ти ћеш ставити име извршне датотеке, у основи фајл који сте ће створити. Тако да могу рећи, на пример, и хелло2 затим фајл који желим да састави, који је в фајл.. Дакле, то је хелло.ц. Да ли то смисла? ПУБЛИКА: Хало шта? Шта је то? ЛУЦАС ФРЕИТАС: хелло.ц. А ако ја то саставити, и ако Ја ли, ја такође имам хелло2 да сам саставио. А ако покушате да га покренете, он ће уради исту ствар као и здраво, само принт здраво. ПУБЛИКА: долазе за марка Како можете ставити хелло.ц после? ЛУЦАС ФРЕИТАС: У марка, ви не морају да стави. ц. У направити, само реци назив програма. Не морате да кажете. Ц. Али за кланг, требало би. ПУБЛИКА: Са кланг ти такође морати да додате [неразумљиво] ЛАУРЕН Карваљо: Да. Дакле, имате у библиотеку. ЛУЦАС ФРЕИТАС: Да, то је нешто ћемо користити касније. То се зове повезивање, и мислим да смо ће касније говорити о томе. Још једно питање? ПУБЛИКА: Да ли сте ставили тачка коса црта звека? ЛУЦАС ФРЕИТАС: Не Тачка коса црта је само да отворите извршна датотека. Дакле звека, само писати "звека," и онда ако желите да отворите извршни фајл који сте управо саставио, онда ти дот сласх и име. Да ли то смисла? ПУБЛИКА: Ако сте били да само промене [ИНАУДИБЛЕ] на Хелло Ворлд, зар не да га компајлирате? ЛУЦАС ФРЕИТАС: Да. ако желим да кажем, на пример, "здраво тамо, "ја могу само да га сачувате сада, и ја само га саставити поново. Дакле, дозволите ми да урадим маке здраво. А ако ја здраво, то ће кажу "здраво." Има смисла? Има ли још питања? ПУБЛИКА: Да ли треба да укључи стандардни И / О да координира рад? ЛУЦАС ФРЕИТАС: Да. Стандардни И / О је у основи библиотека која има имплементација за принтф. Тако да ствар право на врх укључује стдио. То је, укључујући библиотеку која у основи има гомилу другачији алата које можете користити. један? Од њих је принтф да је функција који у основи отисци поруке на екрану. Има ли још питања? Не? У реду. Дакле, хајде да разговарамо о томе - ЛАУРЕН Карваљо: Хајде само идите у водичу стилу. Да ли желите да само га наћи овде? ЛУЦАС ФРЕИТАС: Значи идемо да разговарамо о стилу. ЛАУРЕН Царвалхо: О, Дејвид није завршио. У реду. Зашто не врати у стил на самом крају? То је заправо било ажурирана док ми причамо. ЛУЦАС ФРЕИТАС: Да. Нека је пут за Давида да завршимо то. ЛАУРЕН Царвалхо: Цан ми заправо пребацити? Тако да се надам сви били уживајући нуле. Нажалост, време је да се удаљи од ове - нажалост то је време да се удаљи од ових лепих програмских блокова на Ц. Али срећом, све програмирање конструише да ли сте године ради са нуле у су директно преводив на Ц, а ми смо ће почети да уче о неки од њих одмах. Хајде да прво разговарамо о условима у логичким изразима. Ово се ради на резерви батерија. ЛУЦАС ФРЕИТАС: Како је то не ради? У реду. Ти иди тамо, ја ћу добити - ЛАУРЕН Карваљо: Па услови су важни јер нам омогућавају да увести логику у нашим програмима. Ево пример стања у оквиру Ц програма. Хајде да приметити како то - Дакле, ово стање блок овде, ово иф изјава неће извршити осим услов унутар заграде, н већи од 0, вредност труе. Сада, сви услови у ф изјаве су Булове изразе, што значи да су само две опције. Они или могу оценити да истина, или они могу проценити на фалсе. Дакле овде, па ово има смисла, зар не? н већи од 0, значи да је позитиван број, што значи да ће се штампати напоље "си изабрао позитиван број." Постоји много Булових израза који може формирати стање са прва изјава. Имамо мање од. Ово је мање од или једнака. Ово је само смешно [ИНАУДИБЛЕ]. Ако желите да се деси иф ако је већи или једнак 0, онда ти ће изабрати ово. Дакле, једнако само додаје право након већи од знак. Једнаке једнаки, који се разликује од само један знак једнакости, једнаки једнаки заправо значи да све што је на лева страна овога је исти као оно што је на десној страни ове где један знак једнакости је шта? Оно је само један знак једнакости? Задатак. ЛУЦАС ФРЕИТАС: Ко је то рекао? Да ли је то бомбона? О, не. Извините. Извините. Ви обоје добити слаткише. Ох, у реду! Троје људи се бомбона! ЛАУРЕН Карваљо: Дакле, ово је један овде је прасак оператер претходи знак једнакости, тако да је није једнако. Дакле, ако је то било у мом стању, тело стања би извршити само ако је било шта у лево није исто као шта је са десне стране. Ја такође могу имати само знак узвика. Заправо ћемо видети у функцију повуците како би се то користи. ЛУЦАС ФРЕИТАС: Има ли питања? Не? ЛАУРЕН Карваљо: Можемо комбиновати ове Логички изрази да се изгради више замршене условна исказа. Дакле овде, ако ма шта је на левој страни на десној страни двоструког барова или све што је на десној страни двоструки барови вредност труе, онда ћемо одштампати неважећи. И онда овде, ако без обзира да на левој страни два амперсандс и шта год је на десној страни на десној страни два амперсандс вредност труе, онда ми ћемо одштампати важећа. Двоструки барови се називају логички Оператор ОР двоструки амперсандс су зове логично оператора АНД. Да? ПУБЛИКА: Да ли су они само мала слова л'с? ЛАУРЕН Царвалхо: Не Они заправо су - знате реакцију, као изнад тастера за повратак? Да ли то видите? ЛУЦАС ФРЕИТАС: То је заправо бар. ЛАУРЕН Карваљо: То је заправо само два бара. ПУБЛИКА: Можете ли користите једнак једнак за гудаче? ЛУЦАС ФРЕИТАС: Не Идемо да научимо касније нешто о томе. ЛАУРЕН Карваљо: Постоји функција које можете да користите. Али ви не морате да брину да још увек. Шта ако ја дам овај програм број 5? Шта ће одштампати? ПУБЛИКА: [ИНАУДИБЛЕ] важи. ЛАУРЕН Карваљо: Важи? Да. Ја не знам ко је добио то. [СМЕХ] ЛАУРЕН Карваљо: То је врста страшно [ИНАУДИБЛЕ]. ПУБЛИКА: Дакле, дупли и, то само значи и? ЛАУРЕН Карваљо: Да. Дакле, број 5 је и већи од 0 и мање од 100. ПУБЛИКА: Зашто би то бити један? ЛАУРЕН Карваљо: Један је амперсанд заправо нешто другачија, а то је оператер над битовима, који ћете уче о касније. Али то је нешто што заиста функционише са битова датог броја. ЛУЦАС ФРЕИТАС: Само да они не морају да брину о томе за сада. ЛАУРЕН Карваљо: Мислим да је то вероватно долази следеће недеље. ЛУЦАС ФРЕИТАС: Има ли још питања? Не? ЛАУРЕН Карваљо: Дакле, ми смо видели да блокирати може да стоји сама, али то може такође бити упарени са блоком и друго. Дакле, у овом случају, ако је н веће од 0, идемо да одштампате "Иоу Изабрао позитиван број. "друго, што значи ако је 0 или ако је мање од 0, идемо да одштампате, "Изабрао си негативан број." Занимљива ствар овде је да су су искључују једни друге. Никада ће бити случај у којима ово и ово могу и одштампати. Сигуран сам да сте радили са ако / друго кутија у Огреби, па ово би требало да буде прилично познато. Да? ПУБЛИКА: Да ли нам треба простор између инт н једнако Затамњена затим простор у ако изјава? Као ми користимо линију [неразумљиво] ЛАУРЕН Царвалхо: О, простор овде? ПУБЛИКА: Као да је, али ти дупло простор. Не, иди горе. Иди горе. ЛУЦАС ФРЕИТАС: Само линија? ПУБЛИКА: Да. ЛУЦАС ФРЕИТАС: Само празан ред? ПУБЛИКА: Да. ЛАУРЕН Карваљо: Празан ред? Не. То је само стилска ствар. ЛУЦАС ФРЕИТАС: То је исто као некад само прескочите неке линије, тако да код не изгледа као огроман блок текста. ЛАУРЕН Карваљо: Мислим да је оно што се десило било да смо имали коментар овде, али ја узео га тако да би ви имали да размишља о коду радије него само прочитао мој коментар. У принципу, размак неће стварно утичу на начин ваш програм покреће. То је више од стилске ствар. И када имамо водича ажурирани стил и спреман да иде до краја суперсецтион, причаћемо о томе више. Нешто није у реду са овај програм, зар не? Пошто 0 није стварно негативан број. Дакле, хајде да видимо да ли можемо да поправимо то. Вероватно можете замислити са овим каже, зар не? Ако је н већи од 0, штампамо, "Ти Изабрао позитиван број. "Онда још ако је н мање од 0, "Изабрао си негативан број. "друго," Изабрао си 0. " Сада занимљива ствар је да је ово може да иде у недоглед. Можете имати ако блок, ан иф блок, други друго, ако блок, иф, иф, елсе, друго, у основи докле год желите. И када изграђена овако, ови су сви ће бити искључују једни друге. Да? ПУБЛИКА: Па зашто не можете да користите само још ако уместо [ИНАУДИБЛЕ]? ЛАУРЕН Карваљо: У овом случају, да сам могао користити други ако, и било би јер апсолутно добро Услови су сами искључују једни друге. Али, ако су услови нису били искључиви један од другог, то би присиљавају их да никада обоје процени, ако то има смисла. ПУБЛИКА: У том случају, могли смо гнездо други Ако у првом ако? ЛАУРЕН Карваљо: Ако - шта мислите? ПУБЛИКА: Ако два услова се међусобно не искључују? ЛАУРЕН Карваљо: Ако су услови се међусобно не искључују? Али ви желите само један од њих да ради? ПУБЛИКА: Желиш само ако уместо другог. ЛАУРЕН Карваљо: Да. Увек ће бити много од начина које можете да урадите ово. Можете их дефинитивно гнездо. И ви ћете видети у будућности слајду који можете имати више ИФС, само један другом. Али ово је начин логички организовању протока вашег програма. ЛУЦАС ФРЕИТАС: И ту је још један ствар, је да сте питали за стављање ако и онда још ако. То би ишло савршено, али то је лоше дизајн јер у основи ако проверите прво да ли, и приметите да број већи од 0, што могу само завршити програм. Не морате да проверите да ли то је мање од 0, зар не? Али, ако не, ако ако, то ће проверити обоје, а ако радим ако друго јест, то ће да провери да ли то је већи од 0. Ако јесте, то неће ни гледати на осталим линијама кода. Дакле, ви у суштини проверавам као два пута непотребно, па зато смо урадите ако друго ако. Има ли још питања? ПУБЛИКА: Значи функционалност од другог уколико је исти као ако је то само ако? ЛАУРЕН Царвалхо: Не Ви заправо ћеш видети у мој следећи слајд пример у којој може бити другачије. У овом случају, то је скоро исто. Дакле, овде имамо пример вишеструких ако изјаве, и функционалност није исто као да сам управо рекао, ако друго, ако је друго, ако друго. Хајде да размишљам о томе шта би се штампати да ли сам унесите број 95 у овај програм. ПУБЛИКА: [ИНАУДИБЛЕ] ЛАУРЕН Карваљо: И онда? ПУБЛИКА: [ИНАУДИБЛЕ] ЛАУРЕН Карваљо: Да. Дакле, у овом случају, ови услови су међусобно не искључују једни друге. И зато нема ништа заустављање овај услов из евалуацију ако то један већ има, то су само све ће да одштампате. Па како бих могао да поправим ово? ПУБЛИКА: елсе ИФС? ЛАУРЕН Карваљо: Можете користити другде ИФС. Могао променили редослед од њих, зар не? Ако сам прво урадио ово? Па, у ствари, не. То не би радио за 95. ЛУЦАС ФРЕИТАС: Не, само друго ИФС. ЛАУРЕН Карваљо: друго ИФС би то фиксно. Да ли то разјаснити забуну између ИФС и други ИФС? ПУБЛИКА: Само сам хтео да вас питам, да ли ти још нисам користио ако, да ће престати? ЛАУРЕН Карваљо: У реду. Дакле, само ово прво. Ако сам ушао број 95, само ово би одштампан, а она никада није би напредовао на друго. ЛУЦАС ФРЕИТАС: Само мало мисли о она као да се то догоди, урадите то. Друго је као ако не, чек за ово, а онда уради то. Дакле, као да су сви међусобно ексклузивни. Ви не можете да добијете на два дела над онима. ПУБЛИКА: Можете ли користите логичан И за ту ситуацију? ЛАУРЕН Карваљо: Да. То је још један начин на који смо могли имају фиксне овај проблем. Ми смо могли да дефинишу креће се, зар не? Тако сам могао да кажем, ако је н веће од 90 и мање од - добро, ваљда ово не баш важно, али овде сам могао рећи да ли н је већи од 80 и мање од 90. Већи од 70, мање од 80. То би такође радили. [СМЕХ] ЛУЦАС ФРЕИТАС: Она је уплашена. ЛАУРЕН Карваљо: Не плашите се. ЛУЦАС ФРЕИТАС: То није да ће то бити у реду. То је само да је непотребно је опсирније. Као у компјутерској науци, један треба бити што једноставнији док имате функционалност. Да ли желите да бомбону? ПУБЛИКА: Не треба. ЛАУРЕН Карваљо: Плашиш свако, Лукас. ЛУЦАС ФРЕИТАС: Извини. ЛАУРЕН Карваљо: Дејвид помиње ови пребацили изјаву у класи. У суштини оно што се дешава је прекидач изјава узима променљиву. У овом случају, ми узимамо цео број. Ако је цео број 1, идемо на штампају, "Изабрао си мали број. "Ако цео број је 1," Ти Изабрао средњи број. "Ако цео број је 3, "Изабрао си висок број "И ја. такође имао подразумевани случај овде доле, али то не показује горе, који је превише лош. У основи, ово је само други синтакса. Могли смо реализовали ово тачно Иста ствар са ако и иначе, ако изјаве. Али, када постоји много другачији услови и много другачији варијације на оно што желите да урадите за сваки улаз, ово је опција. Дакле, то је само добар синтакса знати. Да? ПУБЛИКА: Зашто је не бацксласх н у првој? ЛАУРЕН Карваљо: За горе? Нема косих н тамо јер Тоноване - ако покушате ово, то ће да ти дам ову линију. Дај ми цео број између 1 и 3. И ако сам ставио зазор н, то би поведи ме у следећи ред, али сам желео да откуцате цео број одмах после дебелог црева. Могли сте ставити зазора н. То није велика ствар. Да? ПУБЛИКА: За овај код, је ово један случај, је то што то је први случај? Јер - ЛАУРЕН Царвалхо: Не, не, не. Дакле, ово је ми дају цео број између 1 и 3. Ако је н 1, да штампам ово. Ако сам питао за писма, могао сам рекао дајте ми писмо између А и Ц. Онда би ово било случај А. ПУБЛИКА: [ИНАУДИБЛЕ]. Случај би само [ИНАУДИБЛЕ] ЛАУРЕН Царвалхо: Да, у праву. Да? ПУБЛИКА: Шта ако сте желели да имате више од релационог израза? Дакле, уместо да кажете н једнак 1, [ИНАУДИБЛЕ] н је већи од 1 у првом случају? ЛАУРЕН Царвалхо: Заправо, ако ја не радим дефинисати неки од ових случајева, ово би се носе доле. Па заправо, можда ово није шта питате. ЛУЦАС ФРЕИТАС: Мислим да је пита да ли случај је н веће од 0, случај мање од 0. ЛАУРЕН Карваљо: Можда прекидач изјава није баш оно што желите за коришћење у том случају. ЛУЦАС ФРЕИТАС: Изјава прекидач је само за вредности, тако да сте проверу вредност је као ово или оно. Дакле, не можете заправо пут услове. ПУБЛИКА: Шта ако особа типови са [ИНАУДИБЛЕ]? ЛАУРЕН Карваљо: То би било мој подразумевани случај, који нажалост Ви не можете да видите. ЛУЦАС ФРЕИТАС: [ИНАУДИБЛЕ] да их виде. ЛАУРЕН Царвалхо: Заправо, знаш шта? Хајдемо да студира 50, а ја ћу само увећали на слајдовима на студије 50, јер је ово само нервира. Дакле, дозволите ми заправо иду у стању. Ово је само да узети мало времена. У реду. Дакле, жао ми је. Барем сада ћемо моћи да видимо све то без одсецања. У реду. Дакле, ако су ставили у 10, ми бисмо дефаулт овде на мом подразумевани случај, и ја би само штампање неважећи зато што сам замолио их да унесете цео број између 1 и 3. Има ли још питања? Да? ПУБЛИКА: Рецимо за случај једне, случај три, да сте хтели да буде све иста ствар, тако да сте покупили број то није медиј број. У том случају, било би сувишно? Да ли би само променити текст у оба од њих, или ће ту бити неких редундантност? Да ли постоји начин да се комбинују [ИНАУДИБЛЕ]? ЛАУРЕН Карваљо: Постоје начини да се комбиновати их, али ја верујем да могу само комбинују суседних оне. Дакле, ако нисам ништа дефинишу за случај два, то би применити на оба случаја. Ох, ако нисам ставио ништа за случај један, то би применити на оба Случај један и два. Ако то има смисла. ПУБЛИКА: Можете ли поновити тај? ЛУЦАС ФРЕИТАС: У реду. Ако сте у основи јесте, као, ви имате иста ствар, али ви не ставите нешто овде, ти би било за Случај један или два случаја, урадите то. Зар не? А то значи раскид ако добијете у том случају, само остави. Дакле, то је оно што кочница значи. Дакле, ако сам урадио ово, ви погледате, то је један случај, а ви само да урадите. Ако је то био случај два, такође би само дођи и уради то. ПУБЛИКА: Али ви можете да урадите? Ако постоји нешто за Случај два [ИНАУДИБЛЕ] ЛАУРЕН Карваљо: Не могу да верујем можете да урадите то. Мислим да не можете да прескочите около. Можеш ли то, Роб? Не слажем се. ПУБЛИКА: Дакле, само један број може ићи након случају, зар не? Ту не може бити случај један, зарез, две? ЛУЦАС ФРЕИТАС: Не, не можеш. Ти дефинитивно не могу. ЛАУРЕН Карваљо: Мислим, поента је ово је опција, а то не би могао уклапају у ваш случај коришћења, па онда би користити ако услови. ПУБЛИКА: Па зашто би сте то урадили? Прекидач? ЛАУРЕН Карваљо: Ја ово користи ако сте веома дефинисан - заправо, Лукас, је си блокира. ЛУЦАС ФРЕИТАС: Ох, извините. ЛАУРЕН Карваљо: Ако имате веома дефинисане понашања која желите за сваки улаз, ово може да буде мало више него концизан исписивањем ако изјава за сваку од њих. ПУБЛИКА: Шта значи бреак значи опет? ЛАУРЕН Карваљо: Пауза значи зауставити. Запамтите, ако ја нисам имао ту паузу овде, ми би само пао у следећи случај. ЛУЦАС ФРЕИТАС: Пауза значи да се из изјаве прекидача. Јер ако је 1, хоћу да одштампате ово и оставити. Не желим да проверим још нешто. ПУБЛИКА: Не желиш да одштампате било шта друго. ЛУЦАС ФРЕИТАС: Да. Зато што је међусобно искључују. ПУБЛИКА: И ово само наставите на следећи случају ако први случај није истина? Или да ли то тестира све случајеве у исто време? ЛУЦАС ФРЕИТАС: Не, то чекови секвенцијално. Секвенцијално, да. Још једно питање, онда морамо да идемо даље тако да можемо да покрије све. Да? ПУБЛИКА: Дакле, за случај, могли имати уради нешто осим само оног? Можете ли му дати опсег? ЛУЦАС ФРЕИТАС: Не ЛАУРЕН Карваљо: Мислим да не можете му дати опсег. ЛУЦАС ФРЕИТАС: Не можете не могу му дати опсег. ПУБЛИКА: случај је специфичан [ИНАУДИБЛЕ]. ЛУЦАС ФРЕИТАС: Смена је врста вредности. Ви радите различите ствари у зависности на вредности, специфична вредност. Ви не можете да урадите опсег, не можете урадите било шта друго. То је само још један инструмент да видим. ЛАУРЕН Карваљо: Већина људи не користе пребаците изјаве веома много у ЦС50, али то је тамо. У реду. Дакле, следећа ствар ћемо да разговарамо о је тернарни оператера. Ово је само још један тип од условне. У суштини оно што се овде дешава је да сам тражећи цео број, а ако је н већи од 100, ја ћу да одштампате "Висока." Ако није, ја ћу да одштампати "ниска". Дакле, шта ради је услов овде у загради, а ви могу некако мисле питања као ја питам да ли ово је истина или не. Ако је то истина, ја ћу ово прво урадити ствар, а ако то није истина, ја сам да уради ову другу ствар. Сва питања у вези тернарни оператера? ЛУЦАС ФРЕИТАС: Само желим напоменути из Давид је да кад год имате услов - ЛАУРЕН Карваљо: Ваљда је Дејвид гледање преко ливе стреам. ЛУЦАС ФРЕИТАС: Он ради Живот ток сада. Дакле, кад год имате услов, ви сте требало да стави витичасте заграде, баш као што је то у прекидачем изјава овде. Имамо витичасте заграде овде. За шта год услови, ти си такође требало да стави то. ЛАУРЕН Карваљо: Видећеш ово у водичу стилу. Ми не заправо имају стил за сада. Мислим да је Дејвид је још увек ради. ЛУЦАС ФРЕИТАС: Он је рекао да је то је само ради сада. ЛАУРЕН Царвалхо: О, то је сада ради? У реду. Дакле, очигледно је ове године у стилу води, чак и ако имате само једну линију, мораш да стави оне цурли протеза ин Не нужно потребно да за функционалност програма. И можда би управо требало да направимо паузу након услови и идите право у упутству за јасан стил неке од ових ствари? ЛУЦАС ФРЕИТАС: Да. Да ли имате неко питање? ПУБЛИКА: Не, ја ћу само чекати до водича стилу. ПУБЛИКА: Можете ли се вратити до тројног оператера? ЛАУРЕН Царвалхо: тернерних, да. ЛУЦАС ФРЕИТАС: тернарни оператер је у основи ако други изјава, али уместо да имају две линије провере иф а затим друго, ви имате само једну линију. Дакле, у основи, ако желим да дам стринг Вредност високе или ниске, и ја Желим да урадим висок ако је н веће од 100 или ниска ако је мање, шта ја могу да урадим је ово [ИНАУДИБЛЕ] стринг ће бити, а онда сам питајте програм н већи од 100? Зато ја имам овај израз у заградама и затим знак питања. Ја питам да ли је већи од 100? Ако јесте, то ће бити висока. Ако није, то ће бити ниска. Дакле, у основи оно што ви мислите да је питате питање, па ставите у заградама услов. Онда стави знак питања јер ви то питате. И ако је ово истина, то ће бити у прве вредности [ИНАУДИБЛЕ] овде. Ако није, ја ћу да ставим вредност која је после дебелог црева. Има ли смисла? То је такође нешто што је као алат у Ц, али ви не морате да посебно га користе. Али ЦС људи обично воле да јер само штеди линије. ЛАУРЕН Карваљо: То је веома елегантно. То се много у само једној изјави. ПУБЛИКА: Дакле, посто је знак само без обзира на резултате претходна линија? ЛАУРЕН Царвалхо: О, жао ми је. Овај проценат је заправо знак чувар места за ово с. У изјави принтф, имаш ово стринг овде, што је оно што се дешава у штампају, али не можеш само стави ово с унутра. У супротном би одштампали Повратак на е буквално. Зато смо ставили одсто овде да задржи ово место се држи за било шта долази после зареза. Дакле, за ниску, имаш одсто с. За цео број, посто ја. За пловак, ф одсто. Видећете они као ми види више примера. Али можда би требало да разговарају о стил за неко време, сада да је горе. ЛУЦАС ФРЕИТАС: Ако идете на цс50.нет/стиле, идете да видите стил водич. За проблема сетовима, свој резултат за Проблем комплет се састоји од обима, који у основи значи да ако сте урадили све делови проблема постављени или ако покушао нешто. Друга ствар је исправност, који средства се ваш програм ради оно што је требало да се ради, или се имати бубе, или се то не ради шта то је требало да уради. Трећа ствар је дизајн, што значи ти спровођење овог добро, или су користите непотребне изјаве? Тако на пример, ако желите да поновите број 10 пута, пишеш за петљу или се ви само радите 10 пута иста изјава, само радим копија и паста. Дакле, дизајн је за то. И на крају, имате стила. Стил је као судећи ако ваш код изгледа читљив и некако прилично. То у основи значи само је ваш код читљив? Да ли би неко други ко је гледао су Ваш шифра бити у стању да разуме шта то ради? Да ли има коментаре и слично? Хајде да причамо о стилу који ви треба да користите. Прва ствар је коментара. Коментари су веома важни за ваше Код јер понекад радите ваш програм, а тачно знате шта желите да то урадите почнете кодирање, само укуцајте гомилу Ц. Али ако неко гледа се да си код, они неће бити у стању да разумеју, јер они не знају ствари које су у вашој глави, као што су песудоцоде, па можда они ће имају тешко време да схвате шта код ради. Дакле коментари су заиста корисно објаснити некоме ко гледа Ваш код шта ради, и заправо чак и за тебе, они су веома корисни. Као што иде у тежим и тешким Псетс, ћеш видети да код добија дуже, а затим коментари су заиста важно да ли се сећате шта сваки део вашег програма ради. Да бисте ставили коментар, можете једноставно да урадите сласх сласх а затим написати коментар. И цела линија је део коментара, и шта год да напише, то неће бити користи за коду. То је у основи као компајлера ће игнорисати то. Да ли то смисла? ПУБЛИКА: Шта ти опет урадити За објаву коментара? ЛУЦАС ФРЕИТАС: Ово? Сласх сласх? Кад год куцате уписали косу црту, без обзира је у тој линији не иде да се сматрати Ц. Да? ПУБЛИКА: Дакле, после коментара, ви само унесите и започели нови ред? ЛУЦАС ФРЕИТАС: Да, тачно. ЛАУРЕН Карваљо: коса црта коса црта је за једну линију коментаре. ЛУЦАС ФРЕИТАС: На пример, овде имамо - дозволите ми да увећате - На пример, овде сам проглашења флоат, али можда ако само стави ово у свом коду, као и ти немам појма шта то ради, као заправо неко ко гледа овај код ће бити, као, шта дођавола дешава? Ако сте ставили коментар рекавши "претворити Фаренхајт на Целзијуса, чини много више смисла. Ти си, као, у реду, ти си радите конверзију. Да ли то смисла? Дакле, то је само нешто што помаже људима припремите код и направити можете бити у могућности да организује Ваш шифра боље. Друга ствар је да можете да урадите Мулти-лине коментаре, па имају један коментар за гомилу линија. Уместо да стави уписали косу црту, коментари први линија, сласх сласх, друга линија, и тако даље, ви могу користити косе црте звезду. Начин на који ви то урадите је да за Прва линија коментара, ти си ће да уради сласх стар стар, тако само тако. Баш као овде имамо почетак Програм, обично стави ко си су, шта овај програм ради, и такве ствари. То је нешто као главом за програм. Опет, то није нешто што компајлер ће да брине о, али то је важно за вас да знате шта ово Програм ради или за друге људе да зна шта ради ваш програм. Дакле, ви не сласх стар стар, а затим Последња линија ћеш да урадиш звезду сласх бити у стању да затвори да коментар. Дакле, у основи за све остале линије, само могу да пишу шта год, и то се све ће бити игнорисани. И такође, баш као стил, ви видите да свака од линија има звезду, и све звезде су поравнати. То су важне ствари тако да ваш код изгледа лепо. Звучи добро? Сада, услови. Шта Дејвид је говорио да би требало заправо ставио у тим слајдовима, јесте да када имате било какве изјаве, ако или било каквог услова, требало би да користите витичасте заграде да покаже да то је оно што ће се догодити када имате стање. Технички, када имате услов а онда следећи ред је само један линија, не технички имати ставити витичасте заграде. У основи компајлер би разумели она ионако као имплицитно. Али за ЦС50, ми вас питам момци да стави великих заграда само тако да ваше код је организованије и више читљив. Зато што код добија дуже ако вам немају витичасте заграде и тако. Постаје заиста неуредно. ЛАУРЕН Карваљо: То је управо шта Дејвид управо указао у мојим претходним слајдовима. Дефинитивно ради без чекињастим протезе, али за стилских разлога ћемо питати да ви пут онима унутра А када сте почели да се приказују стиле50, која је врста провере за 50 стил, она ће вас подсетити да то урадите. ЛУЦАС ФРЕИТАС: И још једна ствар је запамтите да заједно ставити витичасте заграде у свакој линији. Па ви урадите, на пример, ја с. Идите до следеће линије, отворите Цурли браће, онда идите на следећу линију. Увлачење, који је четири простори. Онда шта год пишете, онда други линија, и затворите коврџаву браће. Дакле, будите сигурни да су и они коврџава протеза су у различитим линијама. ПУБЛИКА: Дакле, ако овај код имала као 10 друго ИФС, ово треба бити 10 комплета загради? ЛУЦАС ФРЕИТАС: Да, за сваку од њих. Да. Дакле, ако, иф, и тако даље. ПУБЛИКА: Можеш ли не притисните Таб да увучете? ЛУЦАС ФРЕИТАС: Ми вас момци да користе четири просторе. Неки текст едитори преводити картицу као четири простори аутоматски. гедит не, тако да морате да учинити простор спаце простор. То је такође нешто што неки програмери само да табс, неки програмери само уради четири простора, и неки други људи чак ураде два или три простора. То је само да ту тражимо ти момци могу да се ураде четири просторе. ПУБЛИКА: Има скоро сигурно Мора да буде начин за гедит да аутоматски [ИНАУДИБЛЕ]. Као нема [ИНАУДИБЛЕ] ради то. ЛУЦАС ФРЕИТАС: Да. Мислим да можете да одете на Сеттингс. ПУБЛИКА: То је већ чини све да. ЛУЦАС ФРЕИТАС: Већ ради? У реду. Дакле, само будите сигурни да вам имају четири простора. ПУБЛИКА: Да ли морамо да стави Цурли конзоле у ​​за петље, као и? ЛУЦАС ФРЕИТАС: Да. ЛАУРЕН Карваљо: Кад год ваш енкапсулира блок кода, само користите витичасте заграде. И пре него што ти мислиш да смо управо ми као плакат о томе без икаквог Разлог, ако ви идете да добијете тецх стажирање у великим компанијама, они ће вам дати водич стил, и они ће вам рећи да је ово оно што ваш код треба да изгледа. И мада сте научили да код као ово, можда у вашем стажирању ћете морати да урадите нешто потпуно другачија. Они не очекују да у складу њиховом стилу. ЛУЦАС ФРЕИТАС: И још једна ствар је да ли сте приметили како имам као к, простор, мање, простор, 0? Кад год имате оператера - то може бити као плус, минус, пута, мање, веће, без обзира оператер - морате да ставите простор на левој страни и право на оператера. ЛАУРЕН Карваљо: То су зове бинарни операнди. Само будите сигурни да увек простор од ваших бинарних операнада. ЛУЦАС ФРЕИТАС: Ово је не бинарни операнд. ЛАУРЕН Карваљо: То је јер је потребно двоје. ЛУЦАС ФРЕИТАС: О, да. Ок, прекидачи. Прво, морате да видите да баш као у другом или ако изјави, ви имате да стави коврџаву браће у свом реду и под коврџавом браце овде. Обратите пажњу да постоји један простор после прекидача, баш као у ако и други имали смо једну размак између да и заграде. Дакле, морате да ставите да. И нема простора после сваког од заграда или пре краја од заграда. Дакле, видите да је то све заједно, а такође воле овде. Да? ЛАУРЕН Карваљо: Мислим да морамо да идемо даље. ЛУЦАС ФРЕИТАС: Дакле, ово је део стил за који имате за ЦС50. Будите сигурни да иду на цс50.нет/стиле и погледај ово. То су веома важни за свој резултат стил. Дозволите ми да се вратим на изјаву. ЛАУРЕН Карваљо: Радије бих само користите стиле50. Само ћемо да идемо право на петљи. У реду. Дакле, хајде да се вратимо на садржај, сада да смо отишли ​​у водичу стилу. Петље, ви сте их видели у нуле, и ћемо говорити о њима у Ц. У за петље, постоје Три порције за Проглашење ово за петље. Имаш своју иницијализацију у која сте поставили своје променљиве. Имаш своје стање, које су проверу да ли је нешто тачно или нетачно и да ли петља треба да се настави. А ти имаш свој упдате, који ажурира своје променљиве. Хајде само узети брзи поглед на неке Ц Код овог за петље у акцију. Шта се дешава овде је у иницијализација, ми смо ја постављање на 0. У стању смо проверу да ли је мање од 10. И у ажурирању смо увецава и. Дакле, шта ће бити резултат ово за петљу? ЛУЦАС ФРЕИТАС: У ствари, пре свега, се ви знате шта ја + + је? ПУБЛИКА: Повећана од 1.. ЛУЦАС ФРЕИТАС: повећана за 1, да. Дакле, ово је иста ствар као и радим ја једнако И плус 1. И приметите да немамо простора између ја и + +. Дакле, да ли ви знате шта ће то урадити? Може ли ми неко рећи? И можда се неки слаткиш због тога? ПУБЛИКА: [ИНАУДИБЛЕ] ЛУЦАС ФРЕИТАС: У реду. [ИНАУДИБЛЕ] покажи свима касније [ИНАУДИБЛЕ]. Да, то ће показати "ово је ЦС50 "10 пута. ЛАУРЕН Карваљо: Претпостављам да је то у наслову слајда. ЛУЦАС ФРЕИТАС: О, да. [СМЕХ] ЛУЦАС ФРЕИТАС: То помаже. ЛАУРЕН Карваљо: Па они су за петље. Идемо да видимо још неке примере од петље за касније. Али, хајде да ствари погледамо Друга врста петље срешћете у Ц, и то се зове док петља. У вхиле, ви сте Управо сам услов. Услов се проверава у почетак, а ако тај услов процењује да истина, онда код унутар тело вхиле блока ће извршити. И код ће наставити да извршава све док је услов остаје истина. Ево пример вхиле петље у Ц Идемо да поставите тачку на 10 до почињу са. Докле год број већи од 0, ћемо задржати штампање ово променљива овде. Идемо у декрементирати пребројавање и затим проверите поново стање. Штампа, умањење, провера услов поново. Овде имамо пример који се односи на ваше питање раније. Имали смо с одсто када смо били штампање ниску, а сада то смо штампања инт, имамо посто сам уместо као наш чувар места. Писма треба да буду прилично интуитиван, а за ниску, ја за инт. Дакле, ако то код извршава, требало би да одбројава од 10 до 0, штампање сваки цео број. ЛУЦАС ФРЕИТАС: А можете мислити посто јер се осећа као празно простор, а онда си ставио ово променљива овде у том празном простору. Тако, на пример, овде ћу имати само празно, а онда ја стављам рачунати тамо, вредност бројања. Да ли то смисла? Могу ли да урадим као принтф а затим цитира, рачунају? Да ли би то раде? ПУБЛИКА: Не ЛУЦАС ФРЕИТАС: Не, зато што ће заправо принт реч "бројање" уместо штампања вредности. Ово је како да га одштампате вредности према променљиву уместо само име променљиве. Има ли питања? ПУБЛИКА: Зашто користити за као супротна време? ЛАУРЕН Карваљо: Ја бих користити за петља ако знам тачно колико итерација Желим да моји петља за покретање. У овом случају, није битно, јер, Мислим, само сам покушавао да мислим на заиста једноставан Пример за овај слајд. Али, рецимо да желите нешто да наставим док - ЛУЦАС ФРЕИТАС: На пример, ти си тражећи улаз до особе даје вам право улаз. Дакле, као док улаз није У реду, стално питају за њега. Или као док сте родитељи не дају ти новац, стално питају за њега. [СМЕХ] ЛАУРЕН Карваљо: Ви не знате како много пута ћете морати да урадите. ЛУЦАС ФРЕИТАС: Зато што ви не урадите знам колико пута је то ће да настави. ЛАУРЕН Карваљо: Али за петљу, потребно је да знате колико пута. Да? ПУБЛИКА: Само да разјаснимо, проценат каже да је то нешто о томе да деси, на И је за цео број, и бацксласх н - ЛАУРЕН Царвалхо: Средства? Ко зна шта значи обрнута коса црта н? Нова линија, да. Тачно. ЛУЦАС ФРЕИТАС: Можете мислити н као нове линије. ЛАУРЕН Карваљо: Лепо. ПУБЛИКА: Шта је то кол дасх дасх [ИНАУДИБЛЕ]? ЛУЦАС ФРЕИТАС: Тачка минус минус је иста ствар као плус плус, али уместо повећања, то је смањење од 1. ЛАУРЕН Карваљо: Било више док петље питања? Не? О, требало је да су прескочили да. Ово је до вхиле петље. Врло сличан вхиле осим у овај случај проверавамо стање после код у телу петља извршава једном. Тако смо извршава код први без обзира на све. Онда смо проверили стање, извршити опет, ако је услов тачан. Ви ћете се наћи користећи ово када питате за корисников унос. Зато што сте увек ћеш морати да питати једном, а онда зависно од тога шта улаз је корисник, можда ћете морати да репромпт и питам поново и поново, ако улаз није био оно што Очекује се да буде. ПУБЛИКА: Дакле, то је као образац за људе да попуне. ЛАУРЕН Царвалхо: Да, тачно. Наћи ћете, ја мислим, у свој први Псет, ти ћеш морати да користите уради и петљу да прикупи улаз од корисника. ПУБЛИКА: У зависности од ситуације, Ваши док петље ће тежити да ради више Чешће него док петље, као од стране једног или тако нешто? ЛАУРЕН Карваљо: Ако је то тачно - ЛУЦАС ФРЕИТАС: Они увек треба да раде тачан износ времена које вам желите да покренете. Као што смо користили урадимо док јер смо заиста желео да се унос најмање једном. У док петље, понекад не желиш да га изврши уопште ако то није случај да се изврши. Тако да зависи од дизајна. Мислим, можете да урадите док употреба или док све док ваша шифра не да то је требало да уради. ЛАУРЕН Карваљо: Али ја радим да је одговор на ваше Питање је вероватно да. Рецимо услов била лажна. У једном случају би покренути једном, и други случај би покренути нула пута. Дакле, да. Има ли још питања? Да? ПУБЛИКА: Може бити услов петље за петљу у смислу променљива други од [ИНАУДИБЛЕ]. ЛАУРЕН Царвалхо: Да, то може бити било шта. Вероватно за почетак Псетс, ви неће морати да се суочи тај случај, али дефинитивно може бити било шта. ЛУЦАС ФРЕИТАС: Мислим да Завршили смо овде. ЛАУРЕН Карваљо: Јесмо ли? Не? ЛУЦАС ФРЕИТАС: Петље? Да. ЛАУРЕН Карваљо: Не би требало да буде. О, ми смо урадили са петље. У реду. Заправо, јер смо тако разговарали много, хајде да сви заправо крећете преко на студи.цс50.нет/цондитионс. И ти ћеш да се крећете доле да проблеми додатак. Па, у ствари, док људи постају ово поставили, ЦС50 Студија је ће бити алат који ће ваши подгрупа користити да се припреме за секције и то ви можете да користите ако пропустите одељке. То ће садржати гомилу слајдова, неке савете и трикове за сваки тема, а неки проблеми из праксе са решењима. Зашто не сви само да погледам на овај проблем овде. Жао ми је, требао сам подсетио људи да доведу лаптоп данас. Али ако немате лаптопа, то је у реду. Можете само да запишете ово доле на комад папира или погледати преко раме вашег суседа. Хајде да покушамо и написати програм који пита корисника да нагађамо, просечан број деце по породици јединица у Сједињеним Државама. Тај број је 2, узгред, као и ти може видети из ових примера. Ми желимо да одштампате просечан број деце по породици у САД, онда смо Желим да шта? Желимо да прикупља инпут од корисника. А онда у зависности од тога шта корисник је улаз је, идете да одштампате или је ово тачно или је то нетачно. И прва ствар коју ћу види, ако кликнете на малу стрелицу у дно проблема додатак је спот да запишете неке Псеудокод. Значи, не програмирање још. Ти само добијање ваше идеје како. Да ли неко жели да помогне Лукаса дошао са правом Псеудокод за овај проблем? ЛУЦАС ФРЕИТАС: Шта је прва ствар да ми вероватно треба да урадимо овде? Шта ви мислите? ПУБЛИКА: [ИНАУДИБЛЕ] ЛУЦАС ФРЕИТАС: Да, у реду. Дакле, штампа. Само реци штампаних овај просек број људи? У реду. Штампа питање, рецимо. Након што сам одштампате ово питање, Шта да радим? ПУБЛИКА: Гет улаз. ЛУЦАС ФРЕИТАС: Гет улаз. Још нешто? ПУБЛИКА: Стање. ЛУЦАС ФРЕИТАС: Стање. ЛАУРЕН Карваљо: Шта је то Услов ће бити? ПУБЛИКА: број [ИНАУДИБЛЕ]. ЛАУРЕН Карваљо: У реду. ЛУЦАС ФРЕИТАС: Па шта ћу Провери у стању? ПУБЛИКА: Ако једнак 2. ЛАУРЕН Карваљо: Ако је једнак 2. Тачно. ЛУЦАС ФРЕИТАС: Да ли постоји нешто остало што треба да урадим? ПУБЛИКА: Тачка. ЛУЦАС ФРЕИТАС: Дакле, ако је то једнако 2, рецимо - дозволите ми да пишем ако улаз једнака на 2, онда шта ћу да урадите је да штампа исправна. И онда још, ја ћу за штампање неисправан. Још нешто? Не? ЛАУРЕН Карваљо: Дакле, ви можете да кликнете на - нема свако има ово доле? ЛУЦАС ФРЕИТАС: Има ли смисла? Дакле, хајде да покушамо да код ово. ЛАУРЕН Карваљо: Ако кликнете мали арров, заправо штеди ваше Псеудокод, који је заиста узбудљиво. И можете да оне у коментарима ако желите само да се подсетим ста да радим. ЛУЦАС ФРЕИТАС: Па, на пример, први Идем да одштампате питање, па како ћу да урадим то, у ствари? принтф. Тако иф, а питање је просечна број деце по породица у САД. Онда ћу добити улаз од корисника. Па како могу да урадим? ПУБЛИКА: Гет Инт. ЛАУРЕН Карваљо: Затамњена. ЛУЦАС ФРЕИТАС: У реду. Дакле прво прогласити, зар не? инт, назовимо га н једнако Затамњена. А сада стање. Дакле, дозволите ми да кажем да ћу довде потврду одговор. Дакле, прво, ако је улаз, што је н, једнако у - како ћу да напишем то? ПУБЛИКА: Једнака једнаки. ЛУЦАС ФРЕИТАС: Савршено. Тако н. И приметите да радим размак, једнако, једнако, простор, истина. И сад шта да радим? Нешто веома важно за стил. Великих заграда. А онда ћу да одштампате. Како да одштампам? принтф. ПУБЛИКА: Може ли се великим словом? ЛУЦАС ФРЕИТАС: Не Требало би да буде све малим словима. Дакле, то је тачно. Да ли би ово довољно за принтф изјава, или сам ја нешто пропустио? ПУБЛИКА: Нова линија. ЛУЦАС ФРЕИТАС: Нова линија, да. И сада још. ПУБЛИКА: Да ли постоји простор после принтф, или не? ЛАУРЕН Карваљо: Ми треба да проверите упутство стил. ПУБЛИКА: Не би требало да буде. ЛУЦАС ФРЕИТАС: не би требало да буде, у реду. Па друго, иф, "То је нетачно." ЛАУРЕН Царвалхо: Упс, ваши цитати. ЛУЦАС ФРЕИТАС: У реду. Још нешто? Да ли изгледа добро? ЛАУРЕН Карваљо: Хоћемо да пробамо? ЛУЦАС ФРЕИТАС: Да, хајде да га покренете. Дакле, то је састављање, и то Чини се да то ради. Хајде да покушамо двоје деце. То је тачно. А сада хајде да поново покрене, али сада уместо тога стављања двоје деце, да кажу да ћу ставити као пет. То је нетачно. Тако се чини да то ради. ЛАУРЕН Карваљо: Зашто их не покажу шта се дешава ако ставите нешто цудно, као нека писма. ЛУЦАС ФРЕИТАС: О, да. Хајде да проверите да. Шта ако корисник покушава да неред са својим програмом, а они само пишем, ја не знам двојицу. То ће рећи Понови. ЛАУРЕН Карваљо: Па Затамњена их пита да поново. Ми нисмо имали да се брину тога сами. ЛУЦАС ФРЕИТАС: Да. Дакле, ако сам стварно ставио број, то је ће ме стално питају да поново. ПУБЛИКА: Како сте га покренете? ЛУЦАС ФРЕИТАС: Само кликните овај тастер звезда. ЛАУРЕН Карваљо: Треба да идеш горе. Изволи. ЛУЦАС ФРЕИТАС: звезда дугме тамо. Да? ПУБЛИКА: Да ли затражити [неразумљиво] са превише децималне бројеве? ЛАУРЕН Карваљо: Верујем да хоће. ЛУЦАС ФРЕИТАС: Ако се то деси, шта? ЛАУРЕН Карваљо: Ако упишете у децимални број, ја мислим ће то подстаћи. ЛУЦАС ФРЕИТАС: Да видимо. ЛАУРЕН Царвалхо: Због то није инт. ЛУЦАС ФРЕИТАС: Да. ЛАУРЕН Карваљо: Дакле, то није инт, Гет Међ ће вас питати да поново. ПУБЛИКА: Па где у том коду ће бити децималног места да тражи корисник да они морају да уђу цео број конкретно? ЛАУРЕН Карваљо: Затамњена је заправо то ради за нас. ПУБЛИКА: Не, ја мислим да смо хтели за улазак у [ИНАУДИБЛЕ] ЛУЦАС ФРЕИТАС: Можете рећи као просечна број деце у САД. Не знам. Можемо рећи, на пример, "Молим те улаз цео број. " ЛАУРЕН Карваљо: број једнак просечном броју. Мислим, то је само како Ти то реч, зар не? ЛУЦАС ФРЕИТАС: Да. Ово није део заправо кодирање. То је више од ма шта слично идете да желите да писати у вашем програму. ПУБЛИКА: Како би смо га покренете, ако је је заправо у гедит [ИНАУДИБЛЕ]. Уместо да притиснете игру? ЛУЦАС ФРЕИТАС: Хоћемо Прво га саставити. Ми то можемо радећи маке и име датотеке. И онда да га покренете, учинићемо дот косу црту и назив програма. ПУБЛИКА: Претпостављам мислио сам ако хтели смо да одговоримо на програму њихово нетачно, неважећи унос, Ви не треба да стави у - ЛУЦАС ФРЕИТАС: Нећемо бити у стању да урадите то јер код овог казе ретри долази из Гет Међ који је функција која се већ спроводи за нас преко ЦС50 библиотеци, а пошто то је већ имплементиран тамо, ми не може само [ИНАУДИБЛЕ]. ЛАУРЕН Карваљо: Ако не користите Тонирана, онда можете да урадите то. ЛУЦАС ФРЕИТАС: Да. Али ако користите Затамњена, ти не можеш. Има ли још питања? ПУБЛИКА: Да ли сте отишли ​​са сличним ГетФлоат а онда бити у стању да стави она у децимала? ЛУЦАС ФРЕИТАС: Да. ПУБЛИКА: У реду. Онда само могао унос флоат а екуалс - ЛАУРЕН Карваљо: Да. Потпуно исто, осим флоат уместо инт. ЛУЦАС ФРЕИТАС: Само га ставите овде и онда ГетФлоат тамо. ПУБЛИКА: Као што ће видети или видели - ЛАУРЕН Карваљо: имамо нема стечен још. ПУБЛИКА: - ради неједнакости са пловци не [ИНАУДИБЛЕ] ПУБЛИКА: Шта је тачка-зарез значи? ЛАУРЕН Карваљо: зарез само значи да је ова изјава је потпуна, и ми ћемо да идемо на следећи слајд. ПУБЛИКА: Тако да је неопходно сваки пут? ЛАУРЕН Карваљо: Да. Па, добро, па не за ове услове, зато што су енцапсулатинг нешто. Дакле, у основи, ако нешто изазива да онда креирате коврџаву браће блок, немојте ставити тачку и зарез на крају. ЛУЦАС ФРЕИТАС: Али све друго, да. Када завршите изјаву, стави зарез. А ако сте заборавили зарез, компајлер ће да се наљути на тебе, и ти ћеш имати да покушате да га поправите. ЛАУРЕН Карваљо: Ако сам ставио зарез овде, да би се зауставити ово, и ја никада не би добили да изврши оно што је унутра, успут. Дакле, то је једна од оних уобичајених грешака. ПУБЛИКА: Увек извршавање. ЛАУРЕН Карваљо: Да. У овом случају, ми смо увек би извршава оно што је унутра. ПУБЛИКА: Ваш стил [ИНАУДИБЛЕ] приложите да је за тебе, мислио. ЛАУРЕН Царвалхо: Ох, то је истина. ПУБЛИКА: [ИНАУДИБЛЕ] сингл линија ствар [ИНАУДИБЛЕ] ПУБЛИКА: Да? ПУБЛИКА: Можете ли имате више улази у једну линију? Дакле, као што можете питати кориснике да одштампате две ствари? ЛАУРЕН Карваљо: Не користите - ЛУЦАС ФРЕИТАС: Не Рецимо да ја желим да се овај цео м. Морам то да урадим у другој линији. ПУБЛИКА: Ако сте били да покренете да, како [ИНАУДИБЛЕ]? То би одштампали упит тамо [ИНАУДИБЛЕ] и онда ћеш ући један и - ЛАУРЕН Царвалхо: Па, покрените га. Мислим, нема ништа од нас заустављање само га ради и види шта ће се десити. ЛУЦАС ФРЕИТАС: Мислим да је то ће се жали на нас јер ми не користимо - ЛАУРЕН Карваљо: Упс. ЛУЦАС ФРЕИТАС: То се жалио на нас десно сада, јер ми не користимо ово променљива, али ако јесам, на пример, н је једнако једнако, и м једнако једнака, онда шта ће десити у овом случају? Шта би овај програм учинити? ПУБЛИКА: Ја се само питам како би - ЛАУРЕН Карваљо: Она само жели да знам како то изгледа као, ја мислим, зар не? Тако да је један од њих, а затим то је овај други. Мислим да треба да идемо даље, јер имамо још један слиде схов да иде пре - желиш да се повуче горе математику? ЛУЦАС ФРЕИТАС: Да, математика. ЛАУРЕН Царвалхо: Дајте ми само један секунд. Постоји неколико различитих нумеричка Променљиве у Ц нумеричких података у Ц се могу сврстати у различите типове, а то су оне које ћете види најчешће. А кам је цео број. Не можете имати никакве децимала. У Апплианце, потребно је 32 бита за чување инт. Пловак може имати децимале. Такође је потребно 32 бита за складиштење пловак у Апплианце. Двоструко је број са децимала тачка која траје 64 бита да га сачувате, што значи да можете да имате већа прецизност јер можете имати више - шта се то зове? ЛУЦАС ФРЕИТАС: Да, то је више. ЛАУРЕН Царвалхо: Више места после децималног зареза. И дуго дуго је цео број који траје 64 бита за упаљено је у Апплианце. ЛУЦАС ФРЕИТАС: Па то може бити већи од интс може бити. ЛАУРЕН Карваљо: ствар о подацима типови у Ц је да вам кажем шта врсту података можете да сачувате у променљивој. Они вам рећи како можете да користите ово променљива у вашем програму. Веома је важно да само пратите онога што тип података који користите, а ако ви морате да баци од типа података на други, уверите се да знате тачно шта се дешава када је ливење одвија. И ви ћете видети пример касније на овим слајдовима у грешка која се може десити. Хајде да погледамо неке математике у Ц и Мислим стварно пажљиво, претпостављам, о томе шта се дешава када се то математика се одржава. У првом реду, шта је дешава када Изјављујем к? ПУБЛИКА: Ти омогућавајући к да буде нешто? ЛАУРЕН Карваљо: Да. Па, ја стварно питам радом систем за 32 бита меморије, зар не? У којој сам се похрањује инт, и Идем да позовем тај инт к. ЛУЦАС ФРЕИТАС: У суштини дешава у меморији и проналажење места која има 32 бита и изрека, хеј, ја желим тај простор, и то ће се звати к. Дакле, ти си само прилично налаз кутија у меморији на сторе вредности за к. ЛАУРЕН Карваљо: И онда сам иницијализацију к, што значи да сам само чувате вредност 2 у том месту, те комад меморије, које смо питали радом систем за. А овде шта ми радимо је ми у ствари декларисање и иницијализација и у једној линији уместо у два реда, као што смо урадили овде, који је такође савршено добро, Ми смо додајући 1 до к, и ми смо то складиштење вредност у г. ЛУЦАС ФРЕИТАС: Дакле, у основи оно што овај линија ради, она сада налази кутију за и, а онда њена вредност, што идете да стави у кутији, је ће бити вредност к, плус 1. Тако да има ту кутију за г. Она добија вредност к, изгледа овде, а видим да је то 2. Стави га тамо, плус 1, тако она ставља 3 тамо. Да ли то смисла? Дакле, г би 2 у овом случају. ЛАУРЕН Карваљо: У реду, у реду. Видели смо неке додатак, па хајде да сада мисле око подела у Ц. Овде сам декларисање и иницијализација плутају зове одговор и дељењем 1 са 10, а онда сам штампања одговор на две децимале. И имајте на уму овде, у мојој изјави принтф, када желим да одштампате нешто у два децимале,% .2 ф је оно што желим да користим. Дакле, тачка 2 се само каже Требају ми два места после децималног одштампан. Сада, шта ће се десити ако сам покренути овај код? Да ли неко има идеју? Шта би одштампати? ЛУЦАС ФРЕИТАС: Које су ми очекујемо да се. ЛАУРЕН Карваљо: Шта урадити желимо, пре свега? ЛУЦАС ФРЕИТАС: [ИНАУДИБЛЕ] ЛАУРЕН Царвалхо: 0.1, да. Али шта ће одштампати? ПУБЛИКА: [ИНАУДИБЛЕ] ЛАУРЕН Царвалхо: Па, не, заправо. То је оно што сам говорио о томе зашто Потребно је да задржи веома пажљиво пратите Ваши типови података. Дакле, оно што тип података је ово? Да ли је инт, зар не? Нема децимално место. 10 је такође инт. Нема децимално место. Ако сам поделити инт по инт, ја се инт што није 0,1, јер интс не могу имати децимале, али само 0. Јер само инт Скраћује ван децимале. ЛУЦАС ФРЕИТАС: Па кад год да урадите операције са интс, ти ћеш добити инт као одговор. Дакле, у основи, шта рачунар ради, то је дели од 1 10, а она добија 0.1. Али онда је то као, чекај, ово је требало да буде цео број, тако да само игноришу 0.1, тако да је сада само 0. ЛАУРЕН Карваљо: Дакле, када сам одштампате ово напоље, ја се за 0,00, а не 0,10. ЛУЦАС ФРЕИТАС: Да ли то смисла? ЛАУРЕН Карваљо: То је врста од несрећа, зар не? ЛУЦАС ФРЕИТАС: Па како можемо поправити ово? ЛАУРЕН Царвалхо: Хајде да покушати и поправити то. Ево примера где сам заправо ливење Тхе 1 и 10 до плута. Дакле, сада, 1 више није инт. 1 је пловак. Узгред, ово је само синтакса за када желите да се баци са једне Тип података у други. Ви само можете ставити тип података у заграде и имају само да претходи вредност да сте ливење. Дакле овде, ја дељењем плутају по пловак да добијете одговор пловак. И да, то би у Чињеница принт 0.10. Да ли то смисла? ЛУЦАС ФРЕИТАС: Значи тип ливење је само конвертовање из једног типа у други. Дакле флоат 1 је заправо 1.000. Није баш то, али то је нешто са децимале то је заправо 1. Да ли то смисла? Да? ПУБЛИКА: Шта ако јеси пловак одговор једнака 1,0 подељено са 10? ЛАУРЕН Карваљо: Ти стварно дешава да се види да у следећем слајду. То је заправо наш следећи слајд јако. Ово је у ствари лепше него укуцајте ливење, ја мислим. Дакле, ова два су пловци само по природа чињенице да има децимална места. Да? ПУБЛИКА: Шта ако си урадио [ИНАУДИБЛЕ] подељено са 10? ЛАУРЕН Карваљо: У ствари пловак подељен инт заправо вам даје флоат, тако да ће радити добро. Чекај, да ли сви разумеју? Јер ово ће бити стварно велика ствар у Псет1, заправо. Да? ПУБЛИКА: Можете ли само брзо ићи преко црвеном делу? ЛАУРЕН Карваљо: црвени део, да. Лукас, хоћеш да? ЛУЦАС ФРЕИТАС: У реду. Дакле, запамтите да проценат је чувар места. То је као празан простор. Дакле, хајде да покушамо да разумемо све да се овде дешава. Проценат значи да је чувар места. Онда имате ф, што значи да ово је чувар места за пловак. Последња ствар која ми овде имамо јесте .2, Што значи желим да имам два децимале за пловка. Ако сам само имао% ф, они ће ставити гомила децимале. Тако сам само да стави .2 или .1 или .5, или год, и то ће ставити да Број децималних места. Једина ствар је да ако сте ставили као .100 Или .1,000, није заправо ће ставити све те децимална места зато што нема довољно меморије имати ту прецизност. Има ли још питања? Да? ПУБЛИКА: Дакле, само лебди омогућава да иду даље од целих бројева? ЛУЦАС ФРЕИТАС: Да. ЛАУРЕН Царвалхо: Па, само пловак вам омогућава да имате децимална места. ЛУЦАС ФРЕИТАС: То само значи да вам Сада можете имати децималне бројеве. ПУБЛИКА: Зашто бисмо икада користити цели бројеви? ЛУЦАС ФРЕИТАС: Зашто би користите бројеве? Можда ако рачунајући од 0 до 10., желите да користите заправо цео број. Не морате да користите пловак. У неким ситуацијама, ви не урадите морају да заправо - ЛАУРЕН Карваљо: Можда не желе децимала. ЛУЦАС ФРЕИТАС: Можда ви не урадите желите да користите пловак. ЛАУРЕН Карваљо: Друга ствар је, запамтите, обојица стави пловак и инт узети 32 бита да их складишти, а можда Ви не желите да губите бита на децимална места. ЛУЦАС ФРЕИТАС: Да. Па као, само мислим о томе. Имате 32 бита за обоје инт и пловак. За инт, сви ти 32 бита идите на целобројну делу. Ако користите пловак са 32 бита, тебе имају део ове меморије се користи за број, за цео број, и други део који се користи за децимална места. То значи да не можете да добијете на Веома је велики број са сплавова јер пловак је већ доста користим меморија за децимале. Да? ПУБЛИКА: Тај први одговор, Шта је тачно то ради? Да ли је постављање вредност флоат једнаког на тај чувар места на које можете сећам га у следећем реду? Она каже флоат одговор. ЛУЦАС ФРЕИТАС: Да. Дакле, пловак одговор значи да добијате сада мало кашика у меморији која има пловак, а то се дешава да се зове одговор. Дакле, то је оно што плутају одговор ради. И онда кажете да унутар ово, ти ћеш ставити резултат тога. Тако ћеш да урадиш 1.0 подељен 10.0, добијате 0.1, а затим ставите да унутар одговор. ЛАУРЕН Карваљо: Дакле, у једној линији, ми смо декларисање и иницијализација овај пловак зове одговор. ЛУЦАС ФРЕИТАС: Занимљиво, иако ово је само једна линија, то ради више операција. То је само начин Ц киријом користите мање шифру. То је исто као тројног оператера, како можете једноставно да урадите [ИНАУДИБЛЕ] у једној линији. То заправо ради исту ствар као и ради пловак одговор, зарез и онда одговор једнако ово, али уместо што ви урадите две линије за то, то је као пречицу. Да? ПУБЛИКА: Дакле, ако сте покренули ово, било би 0.10? ЛУЦАС ФРЕИТАС: Да. Да? ПУБЛИКА: Да ли одговорити ацтуалли шифру, или је то само име? ЛАУРЕН Царвалхо: Ово је заправо шифра. То је оно што ћемо да поменемо нашу променљиву. ПУБЛИКА: Дакле, то је само Име [ИНАУДИБЛЕ]. ЛАУРЕН Карваљо: Да. Могао сам рекао пловак к једнако 1.0. ЛУЦАС ФРЕИТАС: ствар је у томе име променљиве је нешто што ви користите. То је важно за вас. За актуелног програма, једина ствар да битно је вредност коју имају унутар корпе. Разлог зашто сте променљиве и Имена променљивих је тако знао би шта сте се баве, као која врста података си приступ у време. Али за саму код, ако зовете то одговорити или питање или било шта, прилично, није битно. Није битно. Докле год сте доследни у сваком појава је и тако да га зову нешто друго. Да? ПУБЛИКА: Да ли варијабле превазилазе функцију? Као, ако сте били да креирате заграду [ИНАУДИБЛЕ], могао си само [ИНАУДИБЛЕ] опет одговорим? ЛАУРЕН Царвалхо: Не ПУБЛИКА: [ИНАУДИБЛЕ] ЛАУРЕН Царвалхо: Не То би бити изван обима овог посебног променљиве. А заправо, то је некако занимљиво, јер када имамо ствари као што су петље или ако ових услови, ако прогласи променљиву у другом сету заграда, она стварно постоји само унутар тих заграда. ПУБЛИКА: једна последња ставка о су [ИНАУДИБЛЕ] плута. Зашто би сте икада желите да користите Интс? То је више Узгред него било шта, али ваш рачунар знатно бољи у руковању Интс него што је на руковање сплавова. То је као редоследу магнитуда брже. Дакле, ако ми само рукује плута само, ствари ће бити много спорији. ЛАУРЕН Царвалхо: У ствари, чини се да буде проблем са сплавова. ЛУЦАС ФРЕИТАС: Врста разлога за да, можете мислити, како у бинарни можете да представљају целе бројеве стављањем 0 је и 1 је. ЛАУРЕН Карваљо: То је следећа ствар. ЛУЦАС ФРЕИТАС: У реду. Страва. ЛАУРЕН Царвалхо: Само држите ту мисао. ЛУЦАС ФРЕИТАС: У реду, ја ћу реци ти касније. ЛАУРЕН Карваљо: Пре него што дођемо до чега Лукас је управо говорио, оператер предност. То је здрав разум. Момци су урадили ово довољно. Дакле, само ако је нешто у загради, то ће се десити прво. То је множење има предност преко тога, одузимање, такве ствари. Па заправо, само да ли неко жели да реците ми шта заправо број један процењује да? ПУБЛИКА: 27. ЛАУРЕН Карваљо: 27? Да. ЛУЦАС ФРЕИТАС: Дозволите ми да дам бомбоне са људима. ЛАУРЕН Карваљо: У реду. Шта је број два? Шта је број два? ПУБЛИКА: 22. ЛАУРЕН Царвалхо: 22, да. Ја не знам ко је добио то. Број три? ПУБЛИКА: 10. ЛАУРЕН Царвалхо: 10, да. Цоол. Тако модулу. Лукас, хоћеш да објасните модулу? ЛУЦАС ФРЕИТАС: Модуло је ово оператер то је заправо веома корисна за гомила проблема. Ако ја радим 55 модулу 10, шта ради ово рецимо да желим да подели 55 од 10.. Шта ја добијам? То се осећа као да сам ја у ствари само ради поделе, шта је Први пут да сам добио цео број? ПУБЛИКА: 5. ЛУЦАС ФРЕИТАС: 5. А онда је остатак 5, зар не? Дакле, то је као 5 пута 10 плус 5. У суштини, оно што се по модулу, она покушава да поделити овај број од овога, и види шта је остатак дивизије. ЛАУРЕН Карваљо: Па то је само враћа остатак. Дакле, број један је шта? 5.. Број два? ПУБЛИКА: 3. ЛАУРЕН Карваљо: 3. Број три? 0. И четири је 1. Тачно. ЛУЦАС ФРЕИТАС: Једноставно, зар не? ЛАУРЕН Карваљо: Зашто не можемо прескочити ово само зато што ми не стварно имати време, а људи изгледа да разумеју. Дакле, ево шта је Лукас само причају. ЛУЦАС ФРЕИТАС: Још један разлог зашто сам би користили Интс уместо сплавова је да пловци су веома непрецизни. И зашто се они непрецизан? Дејвид је рекао да да представља цео број, На пример, ми користимо је 0 и 1 је, зар не? А онда сте у основи урадите умножавање, урадите све оне операције да знају шта децимални број имате уместо бинарног. Шта се сада дешава ако покушам ставити децимала? Заправо, на пример, ако имам број као 3.33333? То се осећа као 10 над 3. Како ћу да ускладишти све 3 је да имам после тога? Заиста је тешко, зар не? Не можете само рећи рачунар, хеј, ја имам 3, и онда то урадите заувек. Заправо рачунар није довољно паметан за то. Дакле, у основи свега је ваш рачунар ради је да покушава да стави онолико цифара као је до меморије коју имате можете. Дакле, хајде да кажемо да ће то кажу 3,3333, и то је то. Дакле, није у стању да заиста изрази управо оно што је пловак. ЛАУРЕН Карваљо: Имамо коначан број битова, који то не значи сваки децимални број ће бити у стању да се прецизно представљени. И тако у овом примеру, ако смо штампање 0.1, сада смо штампање од 20 места. ЛУЦАС ФРЕИТАС: Као што сам говорио момци, можете ставити било који број. Али, ако сте управо урадили на два места, да ћеш добити 0.10, али ако ставите 20 места, то ће вам показати гомилу од 'зато што је то оно што ви можете ставити у меморији, зар не? Али овде, до 0, а онда се само један пут гомила случајних бројева. То је нешто као неки - ЛАУРЕН Карваљо: То је зато што смо није у стању да заступа ову децималу управо са бројем битова имамо. ЛУЦАС ФРЕИТАС: И онда рачунар је у основи дајући вам смеће број. Ово није заправо вредност броја. ПУБЛИКА: То је близу као може да добије [ИНАУДИБЛЕ] користећи [ИНАУДИБЛЕ]. ЛАУРЕН Карваљо: Значи импликација то је да рецимо да уместо што 0.100014, шта год, шта ако је 0.0999 - добро, у реду. Хајде да се претварамо да је стварни одговор да ово је било 0,9999999. То је веома близу 1, али то није тачно 1. То је 0,99999. То значи да ако узмем то 0.999, и ја га баци на инт, ја се 0. Ја не разумем 1.. ЛУЦАС ФРЕИТАС: Зато запамтите, ливење од пловка до инт, само игнорисати сва децимална места. Управо си их игнорисати. Не постоји таква ствар као заокруживање или трчи кад глумцима улоге. Заправо, ту је ова функција које чини заокруживање, што је веома важно, али само мислим да када ти типецастинг, то је само ће избрисати све. Дакле, чак и ако имате 0,99999, то ће да само дају 0 ако глумцима улоге [ИНАУДИБЛЕ] цео број. ЛАУРЕН Карваљо: Дакле, само да буде заиста свесни од флоатинг поинт у прецизности, посебно када почнете користити плута у Псет1. Али шетња треба упозоравају вас на то као добро. ЛУЦАС ФРЕИТАС: И заправо је стварно тешко, на пример, ако јесам пловак одговор 1 једнак 1.0 преко 10, а затим пловак одговор 2 једнако 10.0 над 100.0. Они су исти број, зар не? 0.1, зар не? 1 преко 10 или 10 преко 100. Али сада, ако покушам да видим једнакост, као да одговор 1 је једнак одговори 2, Можда није заправо дешава да буде иста ствар. Дакле, пловци су некако тако. Они су као радили једнакост.