>> DAVID J Malan: zote haki, hivyo hii ni CS50.
Na hii ni wazi siku ya Ijumaa.
Na hii ni mwisho wa wiki moja.
Hivyo unaweza kukumbuka kuwa sisi kushoto mbali, Mara ya mwisho, na cliffhanger ya kila aina.
Ambapo sisi kuweka wazi uongo huu, kwamba hakuna jambo gani tumekuwa kufundishwa kuongezeka
up, 1 kugawanywa na 10 ni siyo, katika kweli, 0.1 au 0.100 au 0.10000.
Kwa kweli, kama sisi kukusanya hii mpango, kama tulivyofanya jana, na,
kufanya kutokuwa sahihi, na kisha kufanya dot, kufyeka, kutokuwa sahihi,
tuligundua kwamba hii ni nini 1 kugawanywa na 10 kweli ni.
Hivyo hiyo ni kweli si kesi kabisa.
Lakini hii haina ladha katika baadhi msingi kiwango cha juu ya kompyuta.
Na hakika, miongoni mwa mambo tunakwenda kufanya
leo ni kuangalia nini hii ina kilichotokea, ni nini maana ya hii ina,
jinsi ya ubinadamu imeshindwa kufahamu hii katika baadhi sana
situations-- kubwa matokeo yake ni kwamba
imekuwa ya kutisha kabisa na expensive-- na pia
kuangalia jinsi sisi kweli anaweza kutetea
dhidi ya aina hii ya mapungufu.
Hivyo intuitively, labda, nini 1 kugawanywa na 10,
kwa mujibu wa kompyuta yangu hapa, si tu 10/1, 0.10?
Naam.
Je, unafikiri?
>> Watazamaji MEMBER: radix ni tofauti?
>> DAVID J Malan: ni nini?
Loo, radix ni tofauti?
Hivyo si kabisa.
Ni kweli zaidi msingi kwa vifaa.
Mawazo mengine?
Naam.
Watazamaji MEMBER: Wao kuwakilisha idadi tofauti?
DAVID J Malan: Hivyo they-- Haki.
Wao kuwakilisha idadi tofauti.
Inaccurately, inaonekana.
Ili is-- Naam, tofauti na nini?
Au kutoka kwa nani?
Kutoka kwetu?
Watazamaji MEMBER: Naam.
Hawana matumizi alisema mfumo wa [inaudible].
DAVID J Malan: Sawa.
Hivyo kwa mantiki, hawana kutumia mfumo alisema.
Chini ya Hood, kila kitu ni kweli, mapacha,
na kwamba kuhusiana, kwa kweli.
Lakini ni rahisi hata maelezo ya hapo.
Naam.
>> Watazamaji MEMBER: Wao tu na vipande wengi.
Wanaweza tu kuhifadhi hadi fulani kiasi, kama na decimals.
>> DAVID J Malan: Yeah.
Hii ni nini kweli kupata saa yake.
Ni zinageuka kuwa kompyuta kawaida, daima tu
kutumia kiasi kidogo cha habari kuiwakilisha kitu.
Sawa?
Baada ya yote, sisi tu fasta kiasi cha nafasi ngumu disk.
Sisi tu kuwa na kiasi fasta ya RAM, au kumbukumbu ya kompyuta.
Na kama wewe tu fasta kiasi ya kitu,
Hakika huwezi kweli kuhesabu hadi infinity au idadi yoyote unataka.
Wewe, aina ya, na kuchukua na kuchagua kile mbalimbali
ya maadili wewe ni kwenda kusaidia.
>> Na hivyo kwa mfano, wiki moja au mbili iliyopita, wakati kuongelea ASCII,
na kuongelea 8 bits, au Byte, hivyo kusema,
idadi kubwa tunaweza kuwakilisha na 8 bits ilikuwa nini?
255.
Na tunaweza kuwakilisha maadili 256 jumla lakini si kama sisi kutumia mmoja wao
juu ya 0-- Naam, lakini kama sisi kutumia mmoja wao juu ya 0,
basi idadi kubwa Ni, bila shaka, 255.
>> Hivyo ni zamu nje, kwamba hii ni kesi pia, katika mazingira haya.
Sisi kuanza kuzungumza, mara ya mwisho, kuhusu idadi floating-kumweka, ambayo
ni tofauti na integers, katika kwamba wana uhakika decimal
na, hopefully, baadhi idadi baada ya kuwa, lakini wao ni pia.
Kompyuta ni tu kawaida kwenda kutumia bits 32, labda 64 bits
kuiwakilisha floating kumweka thamani.
Hivyo hata kama tumekuwa mzima kujifunza hisabati na kujua
uweze kabisa kuwa idadi ya usio wa namba za
baada ya uhakika decimal, si kama una mahususi kumbukumbu.
Wewe, aina ya, na kwa pande zote, au kuchukua na kuchagua ambayo
idadi wewe ni kwenda kuwakilisha.
Na hivyo unaweza kufikiria, kwa maana, hili kuwa kompyuta wa karibu
makadirio ya thamani 1/10 kwamba inaweza kupata, na bits 32 tu au hivyo.
Na si 1/10 tu.
>> Kwa mfano, kama mimi kubadili hali hii kwa 1/3, ambayo tunafikiri ni hata rahisi.
Hivyo 1 kugawanywa na 3.
Hebu kuokoa faili.
Hebu kwenda mbele na recompile yake.
Na napenda re-kukimbia nayo.
Hapa pia, inaonekana, 1/3 siyo 0.3 na kisha idadi ya usio wa 3 wa
baada ya hapo.
Una kutokuwa sahihi hii mwishoni.
Hivyo sisi wanadamu ni sahihi, na kile wewe kujifunza ni, kwa kweli, sahihi,
lakini sisi ni bumping up dhidi ya baadhi ya mapungufu.
>> Na nini Nilidhani tunatarajia kufanya leo, ni kuanza
kwa kuangalia, kusema ukweli, matokeo ya kutisha ya hii
wakati mwingine, wakati mwanadamu haina kabisa kutekeleza
kwa ukweli huu na mapungufu hayo.
Na tutaweza kuona mfululizo wa vignettes kutoka Channel Historia kwamba inachukua
kuangalia jinsi mambo wamekwenda vibaya.
Ni kuhusu 8 dakika ya muda mrefu, na tutaweza kurudi baada ya hii
na tuangalie hasa kile kingine yanaweza kwenda vibaya.
Kama tunaweza dim lights--
>> [VIDEO avspelning]
>> -Computers, Tumekuwa wote watakuwa wanakubali matatizo mara nyingi frustrating kwamba
kwenda pamoja nao.
Mende, virusi, na programu glitches ni bei ndogo
kulipa kwa urahisi.
Lakini katika high-tech na yenye kasi kijeshi na mpango nafasi maombi,
ndogo tatizo Unaweza litukuzwe katika janga.
Juni 4, 1996, wanasayansi tayari kuzindua unmanned Ariane 5 roketi.
Ilikuwa ni kufanya kisayansi satellite iliyoundwa
kujua kwa usahihi jinsi Shamba interacts magnetic Dunia
na upepo wa jua.
Roketi ilijengwa kwa Nafasi Shirika la Ulaya
na lile mbali kutoka kituo yake katika pwani ya Kifaransa.
>> -Na Sekunde 30 katika ndege, kwanza
niliona kitu kinachoendelea vibaya.
Hiyo nozzles swiveling walikuwa katika njia ya wao kweli hawapaswi.
Karibu sekunde 40 ndani ya ndege, wazi gari ilikuwa katika matatizo,
na kwamba wakati walifanya uamuzi kuiharibu.
Mbalimbali Usalama Afisa pamoja guts kubwa taabu kifungo,
akapiga juu ya roketi kabla inaweza kuwa hatari kwa usalama wa umma.
>> -Hii Ilikuwa msichana safari ya Ariane 5,
na uharibifu wake alichukua mahali kwa sababu ya kasoro
iliyoingia katika programu roketi.
-The Tatizo juu ya Ariane ilikuwa kwamba kuna
Ilikuwa idadi hiyo inahitajika 64 bits kueleza,
na alitaka kubadilisha kwa 16 kidogo idadi.
Wao kudhani kuwa idadi ilikuwa kamwe kwenda kuwa kubwa sana,
kwamba wengi wa wale waliopo tarakimu 64 kidogo idadi walikuwa 0 ya.
Walikosea.
>> -The Kutokuwa na uwezo wa moja programu ya kompyuta kukubali
aina ya idadi yanayotokana na mwingine ulikuwa ndio mzizi wa kushindwa.
Programu ya maendeleo ambacho kimekuwa sehemu ya gharama kubwa sana ya teknolojia mpya.
Ariane 4 roketi alikuwa sana mafanikio, hivyo mengi ya programu
umba kwa sababu ilikuwa pia kutumika kwenye Ariane 5.
>> Tatizo -The msingi ilikuwa kwamba Ariane 5 mara kwa kasi, kasi kwa kasi zaidi.
Na programu alikuwa si waliendelea kwa hilo.
>> -The Uharibifu wa roketi ilikuwa kubwa kifedha maafa,
wote kutokana na programu dakika makosa.
Lakini hii haikuwa kwanza wakati data uongofu matatizo
alikuwa wanakumbana kisasa roketi teknolojia.
>> -Katika 1991, na kuanza Vita ya kwanza ya Ghuba,
Patriot kombora uzoefu aina hiyo
tatizo idadi kubadilika.
Matokeo yake, watu 28, Askari 28 wa Marekani
waliuawa na kuhusu 100 wengine kujeruhiwa,
wakati Patriot, ambayo ilitakiwa kulinda dhidi ya Scuds zinazoingia,
alishindwa kwa moto kombora.
>> -Wakati Iraq walivamia Kuwait na Marekani ilizindua Jangwa dhoruba katika mapema 1991,
Patriot kombora betri walikuwa uliotumika kulinda Saudi Arabia na Israeli
kutoka Iraq Scud kombora mashambulizi.
Patriot ni Marekani, kati-mbalimbali uso-kwa-hewa mfumo
viwandani na kampuni Raytheon.
>> -The Ukubwa wa Patriot interceptor, yenyewe, ni kuhusu, miguu takribani 20 kwa muda mrefu.
Na ni kizito kuhusu £ 2,000.
Na hubeba warhead ya about-- Nadhani ni takribani paundi 150.
Na warhead, yenyewe, ni kulipuka juu,
ambayo ina vipande kuzunguka.
Casing ya warhead ni iliyoundwa na kutenda kama buckshot.
>> Makombora -The ni kufanyika, 4 kwa chombo,
na ni kusafirishwa kwa Trailer nusu.
>> -The Patriot mfumo wa kupambana na kombora inakwenda nyuma angalau miaka 20 sasa.
Ni awali ilikuwa iliyoundwa kama hewa ulinzi kombora
risasi chini ndege ya adui.
Katika Vita ya Kwanza ya Ghuba, wakati vita kwamba alikuja pamoja,
Jeshi alitaka kuitumia risasi chini Scuds, si ndege.
Jeshi la Iraq haikuwa sana ya tatizo,
lakini Jeshi alikuwa na wasiwasi kuhusu Scuds.
Na hivyo walijaribu kuboresha Patriot.
>> -Intercepting Adui kombora kusafiri saa tano mach
alikuwa anaenda kuwa changamoto ya kutosha.
Lakini wakati Patriot alikimbizwa katika huduma,
Jeshi hakuwa na ufahamu wa Muundo wa Iraq kwamba alifanya
Scuds yao karibu haiwezekani kugonga.
>> -Nini Kilichotokea, ni Scuds kwamba wanakuja katika, walikuwa imara,
walikuwa tikisika.
Sababu hii, ilikuwa Iraq, ili
kupata 600 kilomita nje ya 300 kilomita mbalimbali kombora,
alichukua uzito nje ya warhead mbele na alifanya warhead nyepesi.
Hivyo sasa, Patriot ya kujaribu kuja katika scud, na zaidi ya muda,
idadi kubwa ya muda, ingekuwa tu kuruka kwa scud.
>> -Baada Patriot mfumo waendeshaji barabara Patriot amekosa lengo lake,
wao detonated warhead Patriot wa, kuepuka majeruhi iwezekanavyo kama
aliruhusiwa kuanguka chini.
>> -yaani Ilikuwa nini watu wengi aliona, wale fireballs kubwa katika anga,
na kutoeleweka kama intercepts ya warheads Scud.
Ingawa katika usiku anga, Patriots alionekana
kuwa mafanikio kuharibu Scuds, saa Dhahran,
kuna inaweza kuwa hakuna kosa kuhusu utendaji wake.
Huko, rada Patriot mfumo wa waliopotea wimbo wa Scud zinazoingia,
na kamwe ilizindua, kutokana na programu kasoro.
Ilikuwa Israel ambao kwanza aligundua kwamba tena mfumo ilikuwa juu,
zaidi wakati tofauti akawa, kutokana na saa iliyoingia
katika mfumo wa kompyuta ya.
>> -About Wiki 2 kabla janga katika Dhahran,
Israel kuripotiwa kwa Wizara ya Ulinzi,
kwamba mfumo alikuwa kupoteza muda, kwamba baada ya kuhusu masaa 8 ya kukimbia,
waligundua kuwa mfumo ilikuwa kuwa noticeably chini sahihi.
Wizara ya Ulinzi alijibu kwa kuwaambia yote ya betri Patriot
kwa kuwaacha mifumo kwa muda mrefu.
Wao kamwe alisema nini muda mrefu alikuwa.
8 masaa?
Masaa 10?
Masaa 1000?
Hakuna aliyejua.
-The Betri Patriot stationed katika kambi
katika Dhahran, na kiujanja yake ya ndani saa, alikuwa juu zaidi ya saa 100
usiku wa Februari 25.
>> -Ni Kupatikana muda wa usahihi kutokana na 1/10 ya pili.
Sasa 1/10 wa pili ni idadi ya kuvutia
kwa sababu haiwezi kuwa walionyesha katika binary, hasa.
Maana yake, haiwezi kuwa walionyesha, hasa,
katika yoyote kisasa ya digital kompyuta.
Ni vigumu kuamini, lakini kutumia hii kama mfano.
Hebu kuchukua idadi, 1/3.
1/3 hawezi kuwa walionyesha katika alisema, hasa.
1/3 ni 0.333 kinachoendelea kwa infinity.
Hakuna njia ya kufanya hivyo, pamoja na usahihi kabisa, katika alisema.
Hiyo hasa aina hiyo ya tatizo kwamba kilichotokea katika Patriot.
Tena mfumo mbio, mbaya kosa wakati akawa.
>> -Baada Masaa 100 ya operesheni, hitilafu muda tu kuhusu 1/3 ya pili.
Lakini katika suala la kulenga kombora kusafiri saa mach 5,
ni matokeo ya kufuatilia makosa ya zaidi ya 600 mita.
Itakuwa kosa mbaya kwa askari katika Dhahran.
>> -Nini Kilichotokea, ni uzinduzi Scud alikuwa wanaona na mapema-onyo satelaiti,
na wao mpya The kwamba Scud alikuwa kuja katika mwelekeo wao kwa ujumla.
Hawakujua ambapo alikuwa anakuja.
>> -Ni Mara sasa hadi rada sehemu ya mfumo wa Patriot,
kutetea Dhahran, kuwapata na kuweka wimbo wa zinazoingia kombora adui.
>> -The Rada ilikuwa smart sana.
Ingekuwa kweli kufuatilia nafasi ya Scud
na kisha kutabiri ambapo pengine itakuwa,
wakati mwingine, rada alimtuma Pulse nje.
Aliyeitwa lango mbalimbali.
>> -Then, Mara moja Patriot anaamua muda wa kutosha ina
kupita kwenda nyuma na kuangalia ijayo eneo kwa hii kitu wanaona,
unaendelea nyuma.
Hivyo wakati akarudi vibaya mahali, basi anaona hakuna kitu
na anaamua kwamba kulikuwa hakuna kitu, ilikuwa kugundua uongo,
na matone kufuatilia.
Scud zinazoingia kutoweka kutoka screen rada,
na sekunde baadaye, slammed ndani ya ngome.
Scud kuuawa 28 na mara ya mwisho moja fired wakati wa vita vya Ghuba ya kwanza.
Kusikitisha, programu updated aliwasili katika Dhahran siku iliyofuata.
Programu kasoro alikuwa wamekuwa fasta, kufunga
sura ya kwanza katika wasiwasi historia ya Patriot kombora.
>> [Mwisho avspelning]
>> DAVID J Malan: Hivyo tutaweza kuchukua kuangalia baadhi ya mapungufu hayo katika kidogo tu.
Lakini kwanza, hebu mpito kwa wachache FYI ni.
Hivyo one-- mwishoni mwa wiki hii, kuna itakuwa sehemu super,
ambayo ni maana ya supplant sehemu mara kwa mara kufanyika, ambayo
itaanza up wiki hivyo.
Kuangalia tovuti CS50 kwa habari zaidi juu hizo.
Wao pia kuwa zingine na streamed kuishi kwa wale ambao wanashindwa kuhudhuria.
Tatizo kuweka 1 ni juu ya tovuti kozi ya tayari,
na tutaweza kuchukua kuangalia kwamba katika kidogo tu.
Na masaa ya ofisi pia, itachukua mahali hii Jumatatu hadi Alhamisi.
>> Hivyo hii ilikuwa kisheria zaidi Mpango sisi inaonekana katika wakati wa mwisho.
Ni kama rahisi Mpango unaweza kuandika katika C,
na hata hiyo ni kidogo ya madai ujasiri.
Sawa?
Kwa sababu kuna mengi ya Wanajidai utata wa jambo hili.
Basi hebu tuangalie kwa haraka katika nini baadhi ya mambo haya
walikuwa na kisha kujaribu kutoa mfano wa akili kwa jinsi
hizi rahisi ya mipango kazi, na kisha tutaweza kuanza
kuangalia mambo magumu milele zaidi.
Hivyo mstari huu hapa, yalionyesha sasa, katika njano, nini sisi kusema, mara ya mwisho,
kwamba hii haina kwa ajili yetu?
Nini madhumuni ni mtumishi?
Mtu yeyote kutoka mbali nyuma?
Naam.
>> Watazamaji MEMBER: [inaudible]
DAVID J Malan: Mwema.
Hivyo ni anatoa huduma kwa amri, au hebu
kuwaita kazi, kwamba mtu mwingine aliandika, kwamba ni kutangazwa,
hivyo kusema, katika baadhi ya faili nyingine.
Hivyo tutaweza kuona nini hasa faili h ni dhidi c file, hatimaye.
Lakini kwa sasa, tu kujua kwamba printf, kwa mfano,
ni miongoni mwa kazi ambayo yamekuwa alitangaza katika baadhi ya faili nyingine, mahali fulani
kingine juu ya wingu ngumu kuendesha kwamba inaruhusu sisi kupata printf na kuitumia
bila ya kuwa na kuibuka kwamba gurudumu wenyewe.
Wakati huo huo, kuu.
Ilikuwa Analog ya kuu, wiki iliyopita ni nini?
Naam.
>> Watazamaji MEMBER: Green bendera ni clicked.
>> DAVID J Malan: Yeah.
Mwanzo wa, wakati kijani bendera clicked.
Ni kama puzzle kipande kwamba mateke mambo mbali.
Na hivyo vile vile, walivyofanya dunia aliamua baadhi ya miaka iliyopita kwamba katika C,
na kundi la lugha nyingine, kama unataka kuandika mpango,
kazi yako ya kwanza ina kuitwa, kuu.
Na ina kuangalia kama hii.
Lakini tutaweza kurudi, wakati mwingine, kwa nini, int,
na, batili, maana katika mazingira.
Kwa sasa, braces curly ni aina ya kama puzzle kipande sura Scratch ya
kwamba encapsulates baadhi idadi ya mistari.
Na miongoni mwa juu ya mistari hapa, ni hii moja hapa.
printf ni kazi ambao lengo katika maisha ni magazeti kamba mpangilio.
Na kwa mpangilio, I mean wewe unaweza kuziba katika maadili placeholder,
na unaweza kutaja alisema wangapi pointi, jinsi wengi idadi ya magazeti
baada ya uhakika decimal na kadhalika.
Na printf, bila shaka, inachukua moja au hoja au vigezo zaidi,
inayojulikana, zaidi tu, kama pembejeo.
>> Hivyo printf, kama mengi ya kazi, inachukua pembejeo.
Na pembejeo hizo kuvutiwa na mabano mbili hapa.
Na ndani ya wale ni pembejeo moja.
Ni kamba, kama tumekuwa kuitwa kuwa, ambayo ni haki mlolongo wa wahusika,
kama neno, au maneno, au zima insha hata, katika kati ya quotes mbili.
Na kwamba ni nini kinaendelea kushawishi tabia ya printf kwa sababu, bila shaka,
ni tu kurefusha maisha magazeti kazi.
Ni si kwenda kujua nini magazeti, isipokuwa wewe kuwaambia yake.
Na kisha, baadhi minutiae.
Nini sisi kusema hii weird mlolongo wa ishara ni?
Naam.
>> Watazamaji MEMBER: New line.
>> DAVID J Malan: New line.
Hivyo ni zamu nje, huwezi kugonga, kuingia, wakati wewe ni kuandika mpango.
Kwa ujumla, compiler ni kwenda kupata kuchanganyikiwa kidogo kama kwa nini.
Badala yake, una halisi kusema, nipe mstari mpya hapa.
Na hivyo / n ni nini sisi ujumla piga tabia kutoroka.
Hivyo n, kwa mstari mpya.
Na mkusanyaji anajua kwamba wakati anaona / n,
ni lazima kweli kushawishi kompyuta, hatimaye, au printf, katika kesi hii,
magazeti nje mpya halisi line, kama kupiga, kuingia,
muhimu kwenye keyboard yako.
Na Mwisho, nini alifanya tunasema kipande cha syntax ni kwa?
Ni nini kuwakilisha?
Naam.
>> Watazamaji MEMBER: [inaudible]
>> DAVID J Malan: Ni tu mwisho wa mstari.
Ni mwisho wa taarifa yake.
Na kutambua kwamba hatufanyi kuziweka kila mahali.
Sisi hakika si kuziweka katika ncha ya kila mstari.
Kwa mfano, kuna hakuna juu ya mstari wa kwanza, kuna hakuna kwenye mstari
pamoja, kuu, kuna hakuna baada ya braces curly,
lakini itabidi kuanza kuona na kupata ukoo na ambapo ni kuitwa kwa.
Na ni karibu kila mara baada ya kazi simu au kauli, baadhi ya hatua
kwamba wewe ni kweli kuchukua.
>> Na kujua sasa, hasa kama miongoni mwa wale chini ya starehe,
hizi ni aina ya mambo ya kijinga kwamba utasikia kuishia ajali banging
kichwa yako dhidi ya ukuta juu.
Kwa sababu wewe utakuwa na mantiki ujasiri katika baadhi ya tatizo
umefanya kutatuliwa kwa tatizo kuweka, na kitu damn tu
si kukusanya au hata kukimbia.
Na hivyo mara nyingi, mapema, ni kwenda kuwa kwa sababu amekosa mabano,
au amekosa semicolon.
Na hivyo tu kukumbuka ya aina hii ya mambo,
na jaribu kupata imechanganyikiwa kutokana na yao kwa sababu kwa haraka sana hana huu
kuwa kofia ya zamani.
Lakini ni rahisi sana kupata kuchanganyikiwa mapema, matokeo yake.
>> Hivyo sasa, hebu tuangalie jinsi mstari huu ni kweli kazi
na kisha kuangalia kidogo ngumu zaidi moja.
Hivyo tuna zaidi ya hapa, uwezo wa kuchora juu ya screen hii.
Na hebu tuseme kwamba hii ni kompyuta screen yangu,
lakini mimi kuandika, hodi mpango, na mimi si kutekelezwa, printf.
Mtu mwingine imetekeleza, printf.
Ambao wangependa wanadai kutekelezwa, printf?
Kama tunaweza?
Haki wote, nini jina lako?
>> STUDENT 1: [? Copal. ?]
>> DAVID J Malan: Copal, kuja juu juu.
Kuja juu juu.
Wote haki.
Hivyo tuna, hapa, baadhi ya vitambulisho jina, tangu tutaweza kufanya mchezo kidogo ya hii.
Na sisi nitakuita, printf.
Na kama unataka kuja hapa, nini nimekuwa inayotolewa tu kwenye screen,
ni rahisi kabisa, kuna Kwangu mimi, hii.
>> Haki wote, hivyo, hello jina langu ni, printf, kama Ningependa kuweka kwamba katika.
Wote haki.
Na kama unaweza kwenda kusimama na screen ya kompyuta
kana kwamba ni kazi ambayo alikuja na mfumo huu wa kompyuta.
Na madhumuni yako katika maisha ni kwa kweli magazeti kitu.
Lakini kiasi kama mpango sisi tu alikuwa kwenye screen, hapa,
tunakwenda kuwa na kweli kukupa baadhi ya pembejeo.
>> Na hivyo, kama pembejeo yangu, hapa, ni inaonekana, nini ni kupita kwa printf,
hebu aina ya maskhara it up kama hii.
Mimi nina kwenda literally kuandika kwenye kipande cha karatasi, "hello, dunia,"
backslash N. Na kwa kuwa wazi, nini Nimekuwa inayotolewa tu juu ya kipande cha karatasi,
inaonekana kama hii.
Hivyo wakati mimi kuendesha mpango huu, na hii njano mstari wa kanuni anapata kunyongwa,
ni kana kwamba, mpango hello, ni kuwapatia baadhi ya pembejeo mbali na kazi
kwamba mtu mwingine aliandika.
>> Na kama wewe, kidole, naweza kweli, kidole,
kuteka juu ya screen chochote ni wewe wamekuwa mitupu,
athari, hatimaye, ni kwa kuona hasa kwamba, kwenye screen.
Na kidogo kona kesi hapa.
Na nzuri, sisi asipate , mstari wa mwezi, katika hatua hii.
Itakuwa sahihi kwa wewe kupanga kuteka newline.
Lakini kama sisi kuendelea kuandika maneno kwenye screen, wangeweza kuishia chini hiyo.
>> Hivyo asante sana, lakini fimbo karibu hapa kwa muda mmoja tu.
Kwa sasa tunataka mtu mwingine kujitolea, kama tunaweza,
hiyo ni kwenda haja ya kuwa na jukumu of-- Ni watu tu katika orchestra
hivi sasa.
Jinsi about-- sawa.
Hapa hapa.
Kuja juu juu.
Nini jina lako?
>> STUDENT 2: [? Ivay. ?]
DAVID J Malan: Samahani?
STUDENT 2: [? Ivay. ?]
DAVID J Malan: Ethani, kuja juu juu.
Hakuna?
Je, mimi kupata vibaya kwamba, hata baada ya wewe alisema ni mara mbili?
Kuja juu juu.
Ni vigumu kusikia hapa.
Sawa.
Na mimi nina sorry, nini jina lako?
>> STUDENT 2: [? Ivay. ?]
>> [? DAVID J Malan: Ivay. ?] Sawa.
Kwa sasa, kama huna akili, wewe ni GetString.
>> STUDENT 2: Sawa.
Baridi.
DAVID J Malan: Hivyo kama ungependa kusimama hapa kwa muda tu,
hebu tuangalie kidogo zaidi tata mpango, kwamba
sasa ina mistari mitatu ya kificho.
Hivyo tuna, moja, hali jina lako kwa kutumia printf; mbili, wito kwa GetString,
ikifuatiwa na zoezi kwa kutofautiana kuitwa, kamba s, au kuitwa s;
na kisha mwingine wito kwa, printf, lakini wakati huu na pembejeo mbili.
>> Hivyo tumekuwa tayari amefanya hali jina lako, au tuseme, tumekuwa
tayari amefanya printf simu.
Hivyo nina kwenda kuandika, majina zako.
Na hivyo, nini mimi kwenda kwa kupita, printf, katika muda tu,
ni rahisi kabisa, huu.
Hivyo kama unataka kwenda mbele na kuteka hii juu ya screen, hiyo ni mchango wako sasa.
Wote haki.
Na kusahau kamba, sasa tuna line yetu wenyewe ya kificho hapa.
Hivyo katika, GetString, tunahitaji kwa kweli kuwaita, GetString.
Hivyo madhumuni yako katika maisha ni kutembea tu nje katika orchestra, kama unaweza,
na kupata jina la mtu.
Lakini hebu kukupa kitu cha kuweka kwenye.
Kama unataka, go mbele na kupata kamba,
kupata jina la mtu juu ya kwamba kipande cha karatasi, kama unaweza.
>> Wote haki.
Na tutaweza kuona, katika muda tu, jina lake sisi ni kupata.
Wakati huo huo, kile nitakacho kuwa tayari, ni tupu kipande
cha karatasi, ambayo, mimi nina kwenda kuhifadhi chochote thamani yake
ni kwamba GetString ni kurudi kwangu, Mimi, kuwa kamba kutofautiana kuitwa, s.
Wote haki.
Basi je, wewe hapa?
Nik.
Wote haki.
Hivyo tuna jina Nik hapa.
Hivyo hii ni nini literally imekuwa akarudi
kwangu, ili kuzungumza, na GetString.
>> Mimi, sasa, naenda kutekeleza upande wa kushoto mkono
ya kwamba kujieleza, ambapo mimi tu nakala chini, kwa madhumuni ya leo, Nik.
Hivyo sasa, nina kutofautiana kuitwa, s, kuhifadhi jina Nik ya.
Nimekuwa tayari kukabidhiwa kwa printf, hoja uliopita.
Lakini katika mstari wetu tatu na ya mwisho ya kanuni, mimi kwa kweli kuwa na mkono printf
kitu kidogo different-- "hello,% s," backslash n.
>> Na hivyo mstari wa mwisho mimi nina kwenda kwa send-- jambo la mwisho mimi nina
kwenda kuandika sasa, ni hii.
Hivyo mistari miwili ya kificho, au badala mstari wa mwisho wa kanuni,
wito kwa ajili ya mbili inputs-- moja, hii, na wawili, huu.
Hivyo kama printf yetu kufanya kazi sasa wanaweza kuchukua hizi kama pembejeo,
napenda wazi screen kwa ajili yenu.
Kwa kweli hakuna, unaweza kwenda mbele.
Tutaweza kuondoka it up, tangu ni juu ya mpango huo.
Tunapaswa kuona, hello, Nik.
Wote haki.
Hivyo hii ilikuwa chache kabisa hoops kuruka kupitia, tu
kuandika, hali yako jina, na, hello, Nik.
Lakini wazo hili rahisi la ujumbe kupita, ya pembejeo kupita na pato kupokea,
ni hasa mfano tunakwenda na kwa maana hata kazi ngumu zaidi.
Hivyo asante sana kwa ninyi wawili.
Tuna matatizo nzuri mpira hapa kwa ajili yenu.
Na kuwashukuru kwa GetString yetu na kujitolea printf sawa.
Asante.
Wote haki.
Asante kwa ninyi wawili.
>> Hivyo tumekuwa kuzungumza juu ya hivi sasa, wengi wao wakiwa kuhusu masharti.
Na zinageuka kuwa C wanaweza kweli kuelewa aina kadhaa tofauti data.
Kwa kweli, hebu kuchukua a tuangalie hizi hapa.
Hivyo C, na mengi ya lugha, kuelewa mambo kuitwa chars.
Char ujumla Byte moja tu, au bits nane.
Na inawakilisha tabia moja, kama barua A, au mji mkuu
barua A, au barua lowercase , Au mshangao uhakika,
au tabia yoyote kwamba unaweza aina katika keyboard yako, na wakati mwingine hata zaidi.
Sisi pia kutokea kwa kuona ikifungwa.
Kuelea ni, kwa ujumla, 32-bit thamani, au ka nne
kwa sababu tena, byte moja ni bits nane.
>> Hivyo kuelea ni floating kumweka thamani, kitu kwa uhakika decimal.
Na hakika, hilo ndilo movie alikuwa akizungumza
kuhusu wakati wao alizungumza kuhusu yaliyo maadili uhakika, baadhi idadi maalum ya bits
inatumiwa kuwakilisha idadi halisi.
Lakini pia kuna mambo kuitwa mara mbili.
Hizi zipo katika Java, kama wameweza kuchukuliwa APCS,
na mara mbili, kama jina nashiriki unaonyesha, ni mara mbili kubwa kama kuelea.
Bado idadi halisi, ni tu ana vipande zaidi
na ambayo kwa kuwa milele sahihi zaidi, au kuhifadhi idadi hata kubwa.
int ni rahisi.
Kuongelea huo jana.
Ni tu integer.
Na ni kwa ujumla 32 bits, au ka nne.
>> Na hivyo, kama una, hebu angalia sasa, 32 bits-- na sisi alifanya hivyo katika wiki 0,
milele hivyo briefly-- kama una 32 bits, nini kubwa
Idadi unaweza kuwakilisha kama integer?
Kutoa au kuchukua?
Ni kama bilioni 4, na kwamba tu kama tuko
anayewakilisha idadi chanya tu.
Kama una bits 32, na unataka kuwakilisha idadi hasi pia,
mbalimbali wako ni, kimsingi, hasi Bilioni 2 kwa chanya bilioni 2.
Lakini kwa ujumla, tutaweza kuanza saa 0 kwenda hadi bilioni 4.
>> Huna kujua just, lakini tunaweza kuona hii, kwa kweli, kama mimi tu
kufungua calculator kidogo, hapa.
Siwezi kufanya 2 32, na hiyo ni hasa jinsi kubwa,
jinsi wengi unaweza maadili kuwakilisha, kwa 32 bits.
Na ni takribani bilioni 4.
Hivyo tutaweza kushika kuona idadi hiyo katika maeneo kadhaa tofauti.
Lakini kama unahitaji tena nambari ya hapo,
zinageuka kuna ya kitu kinachoitwa kwa muda mrefu kwa muda mrefu.
Na kwa muda mrefu kwa muda mrefu ni ujumla 64 bits, ambayo
ina maana ni amri ya kiwango hata kubwa kuliko int.
>> Hivyo siwezi hata kutamka kubwa idadi hiyo unaweza kuwakilisha,
lakini ni kikubwa kubwa.
Sasa kama kando, kihistoria, kama int ni 32 bits,
na kwa muda mrefu kwa muda mrefu ni 64 bits, jinsi kubwa ni kwa muda mrefu, si muda mrefu kwa muda mrefu?
Wewe d nadhani ni muda mrefu zaidi int lakini labda chini ya muda mrefu kuliko muda mrefu,
lakini ni kweli inategemea.
>> Na hivyo ni zamu nje moja Matatizo ya pia,
na kuandika kanuni juu ya mifumo fulani, ni kwamba si wote wa aina hizi data
na kabla ya kuamua maadili.
Wakati mwingine ni bits hii wengi.
Wakati mwingine ni kwamba bits wengi.
Hivyo kweli kuwa kujua, wakati mwingine, nini vifaa
wewe ni mbio programu yako kwenye.
Shukrani nyingi, lugha nyingine na aina nyingine takwimu ambazo sasa zipo,
kuruhusu kuwa sahihi zaidi.
Naam, tuliona kamba, na tuliona bool, pia,
lakini zinageuka wale kuja tu kwa maktaba CS50.
Hivyo wale si kujengwa ndani ya C. Wale badala yake,
kuja katika kuwa faili inayoitwa CS50.h, kwamba tutaweza hatimaye
peel nyuma tabaka la.
Lakini kwa sasa, wao ni tu ziada data aina.
Bool ni kweli au uongo, na a kamba ni mlolongo wa wahusika,
kama neno.
Sasa printf, tumeona, ina placeholders,% s ni moja.
Na unaweza kuwa na uwezo, kwa sasa, kudai kutokana na mifano hiyo mengine, jinsi
unaweza kuwa na placeholder kwa aina tofauti ya data.
Kwa mfano, kuchukua nadhani, kama wewe alitaka magazeti nje Char moja kutumia
printf, placeholder pengine% c.
Na kama unataka magazeti nje integer na placeholder,% i.
% lld ni muda mrefu thamani alisema, lakini kwa muda mrefu kwa muda mrefu, hivyo kwamba ramani na ile.
Na% kisha f kwa yaliyo hatua thamani au kwa mara mbili,
hivyo wakati mwingine wao ni re-kutumika katika mazingira tofauti.
Hivyo tutaweza kuona na kutumia Baadhi ya watu baada ya muda.
Na printf na kazi nyingine pia msaada wa wengine kutoroka Utaratibu,
na wakati mwingine, hizi ni muhimu.
Hivyo backslash n ni mstari mpya.
Backslash t, je mtu yeyote wanataka kuchukua kumchoma?
Watazamaji MEMBER: Tab.
DAVID J Malan: Tab.
Hivyo kama kweli wanataka magazeti nje tabo, si
idadi maalum ya maeneo ya halisi lakini tab tabia, huna hit yako,
tab, muhimu kwenye keyboard, kwa ujumla, wewe kweli kufanya backslash t.
Backslash mbili kunukuu, kwa nini mimi milele wanataka hivyo?
Sawa?
Kwa nini siwezi tu aina mara mbili kunukuu kwenye keyboard yangu?
Watazamaji MEMBER: Kwa sababu, vinginevyo, ni
kwenda nadhani ni mwisho ya kama magazeti yako [? maandishi. ?]
>> DAVID J Malan: Hasa.
Kumbuka, na yetu mifano printf, wakati sisi
walikuwa kupita kwa printf katika pembejeo, upande wa kushoto wa kamba kwamba pembejeo
na juu ya haki ya pembejeo kwamba spring, bila shaka, alikuwa kunukuu mara mbili.
Kama mchango wako mwenyewe ana mara mbili kunukuu katikati ya kwamba,
kompyuta nguvu uwezekano kupata kuchanganyikiwa, kama kwa,
anafanya kunukuu hii mara mbili mali katikati?
Je, ni mali na mmoja wa kushoto?
Je, ni mali na haki ya mmoja?
Na hivyo, kama unataka kufanya hivyo super wazi, huna backslash mbili kunukuu,
hivyo kwamba ni alitoroka, ili kuzungumza, na siyo alikataa kwa kitu kingine.
Na kuna wengine wachache hapa, backslash r, quotes moja, 0,
ili tuone baada ya muda, kama vile.
Na sasa, vipi kuhusu kazi?
>> Hivyo hatua ambazo tunaweza kuchukua hivi sasa katika lugha hii, C, vizuri, tumeona,
printf, bila shaka, na wote wengine juu ya screen,
hapa, kwamba tutaweza kutumia kwa kwanza wiki chache tu kozi,
kuja wakati maktaba CS50.
Nao kufanya ni rahisi sana, katika C, kwa kweli kupata pembejeo mtumiaji.
Ni zinageuka kuwa katika C, na kusema ukweli katika lugha kadhaa,
ni maumivu ya kweli katika shingo kufanya kitu rahisi, kama haraka mtumiaji
kwa keyboard, kwa pembejeo yake.
Na hivyo kazi hizi iwe rahisi.
>> Na pia ina makosa kuangalia kote,
hivyo kwamba, wakati kukumbuka siku ya Jumatano, sisi
nikaona, jaribu tena, onyo, wakati sikuweza kushirikiana,
na mimi niliandika neno, badala ya namba?
Tumefanya kuondoa nzito mapema juu ya kuhakikisha user inashirikiana.
Lakini haya ni mafunzo tu magurudumu kwamba sisi hatimaye,
na kwa haraka, kuchukua mbali.
>> Hivyo kwa kurejea, basi, hebu tuangalie kwa haraka,
kiasi kama tulivyofanya kwa Scratch, katika baadhi constructs kisheria katika C.
Hii ni maana ya, aina ya, kuwa ziara ya kimbunga,
hivyo tu kwamba una kumbukumbu na kwamba wameweza kuona mambo kwa mara ya kwanza.
Lakini basi tutaangalia coding halisi kutumia baadhi ya vipengele hivi.
Sana kama katika Scratch, wakati tulikuwa kauli kama,
kusema au, ngoja, katika C, hatuwezi kuwa na kazi pamoja, kama printf.
>> Kama tunataka kueleza hali katika C, ni sawa, katika roho,
kwa kuwa puzzle kipande kwamba inaonekana kama hii katika Scratch.
Lakini badala yake, sisi literally tu kuandika, ikiwa.
Na kisha, katika mabano, sisi kuweka hali,
ambapo hali hiyo ndiyo tutaweza piga, tena, kujieleza bulin.
Na tena, hii ni aina ya pseudocode.
Na, kwa kweli, // ni maoni.
Ni maneno tu Kiingereza kwa mwenyewe.
Lakini hii ni kwa ujumla muundo wa, kama, hali hiyo.
Lakini tutaweza kuona halisi mifano katika muda tu.
>> Kama unataka kuwa na njia mbili uma katika barabara,
kiasi kama tulivyofanya kwa kujitolea yetu juu ya Jumatano, unaweza kuwa, mwingine kama.
Na kama unataka kuwa na tatu na hali ya mwisho, au hali ya msingi,
unaweza kuwa tu mwingine kuzuia, huko.
Na vile vile, kwa maneno ya bulin, unaweza, na, pamoja.
Na tuliona juu ya Jumatano, kwamba siyo ampersand moja,
ni mbili, kwa sababu ngazi ya chini kuwa tutaweza hatimaye kuona na kucheza na.
Au-ing mambo pamoja ni 2 wima baa.
On Marekani keyboard, hii kwa ujumla ni muhimu
kwa Shift muhimu juu Kuingia yako muhimu au Rudisha muhimu.
>> Kisha kuna vitu hivi kwamba tutaweza kutumia labda mara moja au mbili.
Wao ni functionally sawa na nini unaweza kufanya na, kama, mwingine kama,
kingine kama mwingine, kujenga, lakini wao ni kuitwa kubadili.
Wao kuangalia tofauti sana, lakini tutaweza ona katika baadhi ya usambazaji kanuni zetu,
kwa ajili ya baadaye kuweka tatizo, uwezekano mkubwa, kuwa ni wakati mwingine tu prettier
njia ya kuonyesha nzima rundo la masharti,
bila ya kuwa mengi ya braces curly na mengi ya mabano na indentation.
Lakini wao kutupatia tena nguvu kuliko sisi tayari.
Na sasa loops.
Na hii moja, tutaangalia katika kidogo polepole zaidi.
Lakini basi, tutaweza kuanza kutumia hizi, hasa kwa wale ambao tayari ukoo.
Hii ni njia kisheria, ikiwa incredibly arcane njia, kuandika kitanzi katika C.
>> Sasa kitanzi katika Scratch ilikuwa pretty moja kwa moja.
Una, milele, kuzuia.
Una, kurudia, kuzuia na idadi tu una aina katika.
Na kwa, kwa kitanzi, unaweza kutekeleza wote wawili wa mawazo hayo,
lakini ni kidogo zaidi ya kiufundi.
Lakini kusema ukweli, pia ni rahisi.
Mara unajua utaratibu wa shughuli, wewe literally
ni kwenda tu kuziba katika maadili na kuwaambia kompyuta nini cha kufanya.
Hivyo hapa ni mfano.
Hii ni kitanzi kwamba, kabisa tu, makosa kutoka namba moja hadi
kupitia mwingine.
Na tu na glancing saa hiyo, hata kama una
hawana uzoefu kabla na lugha hii, nini idadi
je, ni pengine kuanza kuhesabu katika?
OK, 0.
Na mimi nina guessing hiyo ni kwa sababu wewe kuona kwamba kuna int na i,
ambayo ni kutofautiana.
Ni initialized kwa 0.
>> Na kisha baadaye, inaonekana kama sisi ni kupita printf, thamani.
Na, kwa kweli, nilifanya typo kidogo hapa.
Lakini hiyo ni kwa urahisi fasta.
Napenda kuongeza katika, i hapa.
Kwa sasa tuna printf kuwa kupita kwamba thamani placeholder.
Na nini kinaendelea kuhesabu juu kupitia?
Watazamaji: 50.
50.
49.
DAVID J Malan: 49.
Hivyo 50, katika mtazamo wa kwanza, inaonekana haki.
Lakini hiyo, ni zamu nje, ni kwenda kuwa hali yetu kwamba sisi kuendelea kuangalia.
Na tunakwenda kuacha mara moja i ni tena chini ya 50.
Hivyo kitanzi hii, kinyume chake, lazima kutekeleza, hivyo muda mrefu kama i ni chini ya 50.
Lakini kwa haraka kama inakuwa 50, au 51, au mbaya, ni lazima kuacha moja kwa moja.
Wote haki.
>> Hivyo nini hasa kinatokea hapa?
Hivyo hii ni amri ya shughuli kwa kitanzi.
Moja, una kinachojulikana initialization.
Hii njano yalionyesha chunk wa kanuni ni kunyongwa kwanza,
na ina athari kwamba, kwa Jumatano, pengine kufikiria.
Ni inajenga variable kuitwa i na ni Maduka kwa kuwa kutofautiana thamani 0.
Hivyo i ni 0 katika hatua hii katika hadithi.
>> Jambo la pili kwamba hutokea katika kujenga huu,
ni kwamba hali anapata checked.
Hivyo mimi kuangalia mara moja, ni i chini ya 50?
Na bila shaka, jibu kwa sasa ni, bila shaka, ndiyo.
Ndiyo, kwa sababu i ni 0, na hiyo ni hakika chini ya 50.
Kisha nini kinatokea, ni kwamba hii mstari wa kanuni anapata kunyongwa.
Na kwa kweli, kama kuna nyingi mstari wa kanuni katika braces wale curly,
wote kupata kuuawa mmoja baada ya mwingine.
>> Na katika athari hapa, ni inaonekana, magazeti nje
idadi i, ambayo ni kwenda 0, na kisha 1, na kisha 2.
Lakini kwa nini?
Kwa nini ni kupata incremented?
Naam, jambo la nne kwamba kinachotokea ni kwamba syntax hii
anapata kunyongwa, baada ya semicolon.
i ++ ni njia shorthand ya kusema; kuchukua thamani ya i, na kuongeza 1 kwa hivyo;
na kisha mara ya pili karibu, kuongeza 1 kwa hilo, na wakati mwingine kote,
kuongeza 1 na hiyo.
>> Hivyo kama sisi kuendelea na safari, nini kitatokea
pili ni Sitakuja kwa initialize i milele tena.
Kama mimi naendelea initializing i 0, mfano huu
yasingeli kwisha kwa sababu i itakuwa kukwama katika 0.
Lakini nini kinaenda kutokea ni kwamba hali kuchunguzwa,
mstari wa kanuni kupata kunyongwa, i itakuwa incremented,
hali kuchunguzwa, kificho kupata kunyongwa.
Na naendelea baiskeli tena, na tena, na tena,
mpaka i ++ induces thamani ya 50.
>> Hali kisha anasema, ni 50 chini ya 50?
Jibu, bila shaka, hakuna, na hivyo kificho zima haachi utekelezaji.
Na kama una kificho zaidi juu ya screen chini chini, kwamba ni nini kinatokea ijayo.
Pops nje ya hizi braces curly na inaendelea na magazeti zaidi baada ya hapo.
>> Hivyo utani sasa, kutokana na Foxtrot, kwamba wewe utakuwa labda sasa kuelewa.
Ni siku zote funny.
Ni kama chuckles aina ya percolate,
na kisha wewe kutambua hawapaswi kuwa laughing katika ucheshi kama hii.
Lakini kuna baadhi takeaway hapa, pedagogically, pia.
Hivyo ni zamu nje kwamba mimi nina kukosa kipande cha syntax,
au Foxtrot ya kukosa kipande cha syntax hapa.
Kinachokosekana, kwamba tulikuwa na katika kila mfano mwingine, hivi sasa?
Kwa upande wake, ni pale, hivyo hiyo ni kitu kingine,
kwamba tutaweza kurudi kwa kabla ya muda mrefu.
Kinachokosekana, ingawa?
Naam.
>> Watazamaji MEMBER: initialization ya [inaudible].
>> DAVID J Malan: Sawa.
Hivyo yeah.
Hivyo kweli, hii is-- Naam, na kuhesabu ni initialized
up hapo juu, au tuseme, alitangaza juu juu.
Hivyo hii ni njia nyingine ya kufanya hivyo.
Lakini si katika mstari mmoja ni halali ingawa.
Vipi kuhusu hapa?
>> Watazamaji MEMBER: Je, ni braces curly?
>> DAVID J Malan: Yeah.
Hivyo braces curly ni kukosa.
Lakini kanuni hii, I mean, kwa mikopo yao, ni kweli, syntactically halali.
Zinageuka, huna haja braces curly
kama wewe tu na mstari mmoja wa kificho kwamba unataka kutekeleza ndani ya kitanzi.
Sasa sisi siku zote, katika darasa na katika wote wa usambazaji kanuni zetu,
pamoja na braces curly anyway, tu kwa ajili ufafanuzi wa.
Lakini kutambua kwamba katika vitabu vya kiada na mifano online,
unaweza vizuri sana angalia curly inakabiliwa na kukosa muda fulani.
Na hiyo ni sawa, ikiwa nyinyi kuwa indented na lengo
ni tu line moja ya kanuni, na si mistari mingi ya kificho, uwezekano.
Wote haki.
Hivyo kuhusiana na suala la kutokuwa sahihi, ni suala la kufurika,
kwa maana kwamba, vile vile, Je, integers na mipaka kwao
kama yaliyo maadili uhakika?
Katika dunia hatua yaliyo maadili, tunaweza tu kuwa hivyo sahihi,
baada ya hapo, wakati mwingine mambo mabaya yanaweza kutokea,
na mipango yetu inaweza kuwa buggy na makosa.
Sasa hata kwa integers, unaweza kukimbia katika matatizo.
Sasa integer hana uhakika decimal au namba baada yake.
Ni tu idadi ya asili, kawaida.
Basi nini inaweza kwenda vibaya na int?
Kama mimi nina kutumia int kwa kuhesabu, nini inaweza kwenda vibaya?
Inaonekana rahisi sana.
Naam.
>> Watazamaji MEMBER: Kama idadi anapata [inaudible]
>> DAVID J Malan: Yeah.
Nini kama wewe kuhesabu juu, kwamba wewe hawezi kueleza kwamba idadi kubwa kweli kweli.
Sawa?
Katika hatua nyingine, wewe ni kwenda kisichozidi mipaka
ya 32-bit thamani au thamani ya 64-bit.
Sasa tena, mimi nina uhakika jinsi kutamka thamani ya 64-bit,
lakini najua kwa 32-bit integer, kubwa thamani inaweza kuwa,
ikiwa ni chanya tu maadili, ni takribani bilioni 4.
Hivyo kama mimi kujaribu kuhesabu hadi bilioni 5, kitu ambacho kinaenda kutokea.
Lakini hebu angalia nini, kwa kweli, yanaweza kutokea.
Katika ulimwengu wa integer kufurika, ambapo, kwa maana,
kufurika uwezo wa integer, nini kinaweza kutokea?
>> Hivyo hapa ni idadi binary, ni throwback kwa 0.
Ni wote wa 1, na placeholders huko, ni nguvu za 2,
hivyo hii ni mapacha.
Basi hizi ni 8, 1 bits kwenye screen.
Na kama unakumbuka au wewe haraka kufanya hesabu,
thamani kile ni kuwa kuwakilishwa hapa na haya nane 1 bits?
255.
Na hata kama hawakuwa na uhakika kabisa ya hisabati, unaweza kufanya hivyo nje.
Au unaweza tu aina ya sababu kwa njia hiyo,
kusubiri dakika, kama mimi nina anayewakilisha thamani 8 kidogo,
na mimi nimepata maadili 256 iwezekanavyo, lakini kwanza ambayo ni 0,
Mimi tu kujua kwamba kubwa ni kwenda kuwa 255,
na hilo ndilo huu mtu anaweza kuwa.
>> Hivyo nadhani kujaribu kuongeza 1 kwa thamani hiyo.
Je utafanya nini katika daraja shule wakati akiongeza 1, na ni
kweli haina fit kwa sababu una kubeba 1?
Ni nini idadi hii kwenda kuwa wakati kuongeza 1?
Ni kwenda kuwa 0.
Sawa?
Kwa sababu kama alikuwa na zaidi bits-- na mimi itabidi kujaribu, aina ya, aina yake nje here--
kama tulikuwa na bits zaidi, nini sisi anaweza kufanya hapa ni kuongeza 1,
na kisha tunatarajia kupata hii.
Whoops.
Tunatarajia kuwa 1 bit njia yote juu hapa.
>> Lakini kama hii ni mahususi thamani, ni bits 8 tu,
na kwamba kabla ya kuamua na kompyuta,
kuwa 1 ni ufanisi si huko.
Ni aina tu ya maporomoko mbali Cliff.
Na hivyo kama wewe kuongeza 1 kwa 255, nini thamani do you inaonekana kupata?
0.
Na hivyo idadi ajali, na pengine, bila kukusudia,
kuishia wrapping karibu kama hii.
Sasa ni nini kinaweza kuwa maana ya hii?
Naam, kuna mambo kadhaa tofauti.
Hivyo moja, haina kuishia kuangalia kama 0, bila kukusudia,
lakini unaweza aina ya kuona, hata katika ulimwengu wa kweli,
kwa bora au mbaya, maonyesho ya wazo hili la kikomo.
Kwa mfano, mtu yeyote kati yenu ambaye wamewahi kucheza Lego Star Wars,
haina mtu yeyote kutokea kwa kujua upeo wa idadi ya sarafu
unaweza kukusanya katika Lego Star Wars?
Kuchukua nadhani kulingana na maswali ya leo kuongoza.
Ni kubwa kuliko 256 au 255.
Ni bilioni 4.
Hivyo ni zamu nje, na kuna baadhi people--
baadhi googling alithibitisha jana night-- waliopata bilioni 4 dhahabu sarafu,
au whatnot, katika Lego Star Wars.
Ingawa inaonekana, kuna njia ya hila mchezo,
kuna mdudu au kipengele, ambayo inakuwezesha tu inaingia kura na kura ya pointi.
Lakini kubwa iwezekanavyo thamani, kwa mujibu
screen hii risasi ya mtu mimi kupatikana online, ni kweli, bilioni 4.
>> Sasa kwa nini ni kwamba?
Ni just bilioni 4, pengine kwa sababu mtu aliamua,
ambao alikuwa anaandika mchezo huu, waweze kufanya bilioni 4,
kitu, kitu, kitu, kama mimi kuweka thamani
na calculator awali, lakini ni tu safi kidogo kwa ajili ya binadamu
kusema upeo wa idadi ya coins-- au studs,
kwani simu them-- kwamba unaweza kukusanya ni bilioni 4.
Na hivyo, kwa nini hii?
Jinsi ni mchezo LEGO utekelezaji wa kukabiliana na
hiyo ni kuweka wimbo wa idadi ya sarafu una?
Wao ni kutumia nini?
Watazamaji MEMBER: Ni ataacha kuhesabu baada ya bilioni 4.
DAVID J Malan: Ni ataacha kuhesabu baada ya bilioni 4,
ambayo ina maana unaweza kudai, kama programu,
kwamba wao ni pengine kutumia 32 kidogo integer.
Kama programu literally tu typed, int, katika kanuni zake,
na kwamba aina ya kutofautiana kwamba wao ni kutumia kuhifadhi kificho mtu.
Hivyo kuna dalili zingine wa aina hii ya mipaka.
>> Hivyo mimi si kucheza game-- hii na mimi nilikuwa kusoma juu ya historia
kuthibitisha kama much-- lakini katika toleo la awali la Ustaarabu, ambapo
wewe inaonekana kuingiliana na kila wengine na wanaweza kupigana vita au amani,
Gandhi ilitakiwa kuwa moja ya wahusika zaidi ya amani, kama mimi
kuelewa, katika kwanza toleo la Civilization.
Na kwa kweli, juu ya kipimo cha 1 mpaka 10, uchokozi wake mara tu 1.
Hivyo milele hivyo kwa upole fujo, inaonekana.
>> Lakini wakati fulani, unaweza dhahiri kufunga demokrasia nchini Jiografia yako.
Na kama wewe kufunga demokrasia ndani ya toleo yako ya mchezo,
kisha uchokozi wako ngazi inakwenda chini.
Ni jambo zuri.
Watu ni zaidi utulivu inaonekana, katika hali hiyo.
Lakini inaonekana, mtu alifanya na kitu, ikiwa, hali
katika toleo asili ya kificho.
>> Hivyo Gandhi uchokozi cha akaenda kutoka chanya 1, bala 2, kwa hasi 1,
lakini mchezo hana kuelewa idadi hasi.
Kwa hiyo kile kilichotokea ilikuwa uchokozi Gandhi kiwango cha akaenda kutoka 1, 0, kwa hasi 1,
ambayo ilikuwa na athari ya wrapping karibu na kuwa
tabia fujo zaidi katika mchezo, wakati thamani ya 255,
juu ya kipimo cha 1 mpaka 10.
Na tangu wakati huo, kumekuwa na incarnations zaidi ya mchezo huu,
na wameweza agizo hilo kama aina ya Pasaka mayai,
kwamba Gandhi ni inaonekana hivyo sana fujo.
Lakini ilikuwa ni matokeo ya Programu makosa rahisi sana
katika kwamba toleo mapema sana ya mchezo.
>> Sasa zaidi disturbingly, zaidi Hivi karibuni, Boeing 787
ilikuwa kumbukumbu kama kuwa mdudu, si aina ya kifaa
wewe hasa nataka kuwa na mdudu.
Na dalili kwamba nita kusoma hapa, kutoka makala online,
ilikuwa hii, mfano ndege 787 ambayo imekuwa inaendeshwa kuendelea
kwa muda wa siku 248 wanaweza kupoteza wote mchanganyiko wa sasa, AC,
nguvu za umeme, kutokana na vitengo vya kudhibiti jenereta,
GCUs, wakati huo huo kwenda katika mkao wa tahadhari.
Hivyo hii ilikuwa onyo iliyotolewa wakati tatizo hili iligundulika.
Hali hii inasababishwa na programu ya kukabiliana,
ndani ya GCUs, hivyo integer au kutofautiana,
kwamba mapenzi kufurika baada 248 siku ya madaraka kuendelea.
Boeing iko katika mchakato wa kuendeleza GCU programu ya kuboresha kwamba
itakuwa kukabiliana na hali salama.
>> Sana kama kombora mazingira, eti
walikuwa na aina fulani ya kutofautiana kwamba alikuwa kuhesabu, na kuhesabu,
na kuhesabu, lakini hatua kwa hatua imejazwa mipaka ya uwezo wake,
vile vile alivyofanya ndege damn na kufurika kutofautiana
baada ya muda wa kutosha wa mbio.
Na hivyo ulimi-katika-shavu njia ya kufanya kazi kwa karibu suala hili
ni kwa kweli, reboot, ndege yako kila Siku 247, ili kumbukumbu anapata kufutika
na kutofautiana anarejea 0.
Lakini kutambua, hii ni sana mwili kubwa ya programu,
lakini hasa kama sisi kusikia kuhusu Apple mifumo ya uendeshaji kwenda katika magari,
na kujitegemea kuendesha magari kutoka Google, na idadi yoyote ya incarnations ya programu
katika maisha ya kila siku yetu, TV na kuona, na zaidi,
kutambua walikuwa kuzungukwa na programu, yote ambayo imeandikwa na sisi binadamu.
>> Na kama tutaweza wote karibuni kugundua, ni rahisi sana na kawaida sana
kufanya makosa wakati wa kuandika programu.
Na kama huna kuwakamata, baadhi ya mambo mabaya yanaweza kutokea.
Sasa wakati mwingine, baadhi mambo funny yanaweza kutokea,
au angalau wakati mwingine sisi kujua cha kutarajia baadhi ubaya.
Hivyo 0 kugawanywa na 0, kutoka daraja shule, kwa ujumla ni jambo baya.
Ni kisichojulikana.
Na ni zamu nje na hebu angalia kama mic yangu anaweza kuchukua hii up-- kwamba Apple
alikuwa na baadhi ya furaha na hii hivi karibuni.
Hivyo nina iPhone hapa.
Mimi nina kwenda kuzungumza na Siri na kuuliza yake kunipa jibu la 0 kugawanywa na 0.
Kile ni 0 kugawanywa na 0?
>> Siri: Fikiria kuwa una 0 biskuti, na wewe kupasuliwa yao sawasawa
miongoni mwa 0 marafiki.
Jinsi kuki wengi haina kila mtu kupata?
Kuona kitu gani?
Ni haina mantiki.
Na Cookie Monster Inasikitisha kuwa hakuna biskuti.
Na wewe ni huzuni kwamba wewe huna marafiki.
DAVID J Malan: Ni aina ya obnoxious.
Hivyo hii ni nini mara tu alisema kuna.
Ni indeterminate, siyo inavyoelezwa, na kwa kweli, lugha nyingi programu
au, kwa kweli, compilers mapenzi kuchunguza wakati wewe, katika mpango,
kujaribu kugawanya 0 na 0.
Furaha zaidi kuliko ingawa hii, ni kwamba inaonekana, Cookie Monster
ni juu ya Twitter siku hizi.
Naye akajibu kwa hii, na hii, ambayo ni adorable kabisa.
Lakini hebu tuangalie kwa haraka katika michache ya constructs mengine,
na kisha kuweka baadhi ya hii kificho kwa matumizi, kwa njia nzuri.
Hivyo ni zamu nje, badala ya kwa mizunguko, kuna
kitu kinachoitwa kitanzi wakati, kwamba inaonekana tofauti na unatekelezwa
differently-- kidogo na tutaweza hatimaye kuona examples--
lakini katika baadhi ya hisia, ni rahisi kwa sababu ni
haina kuruhusu initialize na update ndani ya mipaka ya kitanzi.
Bado unaweza kutekeleza.
Hivyo unaweza kufanya halisi mambo sawa kwa kitanzi wakati, kama ilivyo kwa ajili ya kitanzi,
lakini syntax yako, ultimately-- kama tutaweza hatimaye
see-- ni kwenda kuwa tofauti.
Kuna hata kufanya wakati kitanzi, ambayo ni kweli tofauti kidogo,
kwa kuwa wakati kwa kitanzi na kitanzi wakati daima
kuangalia hali yao ya kwanza, kama kusoma hii juu Jambo hadi chini,
ni aina ya inaonekana kama ni kwenda kuangalia ni ya hali ya mwisho kwa sababu ni
kweli mstari wa mwisho wa kanuni.
Na hakika, hiyo ni kwenda kuwa na manufaa katika mipango fulani kwamba sisi kuandika,
kama unataka tu upofu kufanya kitu na hatimaye kuangalia hali.
Hiyo ni si lazima kitu mbaya.
Kama tunataka vigezo, tunaweza kufanya hivyo katika michache ya njia tofauti.
Na tuliona katika Foxtrot cartoon, njia moja ya kufanya hivyo,
ambapo kutangaza kutofautiana yako, kama int kukabiliana semicolon,
na kisha later-- labda ijayo line, labda mistari 10 later--
wewe kweli initialize.
Basi hizi mistari 2 ya maadili kutangaza kutofautiana wa aina int
na kuiita kukabiliana, hivyo ni inatoa mimi bits kutosha kushikilia int.
Na kisha hatimaye, unaweka thamani 0 ndani ya kwamba kutofautiana.
Ni anapanga 0 na 1 katika mfano, kwa kuwa tunajua kutoka wiki iliyopita,
inawakilisha idadi tunajua kama 0.
Au kusema ukweli, unaweza kufanya kiasi hiki zaidi ufupi, tu kama hii.
>> Sasa sisi pia kuwa uwezo wa kupiga kazi.
Na kwa kweli, hapa ni 2 line mpango, au Excerpt vyake,
ambayo inaruhusu sisi kweli kuandika baadhi kificho kwamba
anapata kamba kutoka user-- sana kama kujitolea yetu sasa ago--
kuhifadhi matokeo katika kutofautiana kuitwa jina,
na then-- kiasi kama kwa kujitolea wetu na printf-- prints nje maadili hayo
kwa kupita katika hoja mbili, kamba, ikifuatiwa na kutofautiana
kuitwa, jina, yenyewe.
Hivyo hebu tuangalie, kabla sisi kuja huko nyuma Mario,
katika michache ya sasa, mifano ya hili.
>> Mimi nina kwenda kwenda mbele na kufungua up, hebu sema, kazi-0.c.
Na kama siku zote, kanuni na hii ni inapatikana kwenye tovuti kozi ya,
hivyo unaweza kucheza pamoja katika nyumbani na kuangalia ni baadaye.
Lakini hapa ni mpango katika ni Kimsingi, kutokana na mstari 17 na 22.
Mpango kuu ni wapi mpango ni daima kwenda kuanza.
Mpango huu, inaonekana, ni kwenda magazeti nje jina lako, matumbo.
Ni kisha kwenda kuwaita GetString, kama tulivyofanya kwa kujitolea yetu.
Na kisha, hii ni ya kuvutia, ni kwenda kuwaita PrintName.
Zinageuka, muda wote huu, kuna Inaonekana kuwa kazi kuitwa PrintName.
Kwamba Prints jina la mtu.
Sisi hakuwa na haja ya kutumia printf kutoka yesteryear, kuna PrintName.
>> Lakini hiyo ni kupotosha kwa sababu PrintName hana
kuja na C. Watu hakuwa mzulia ni baadhi 40 au miaka 50 iliyopita,
Mimi, badala yake.
Na kwa kweli, kama mimi kitabu chini zaidi, ilani
jinsi gani naweza kuandika yangu mwenyewe kazi katika C. Sisi itabidi hatimaye
kueleza kwa nini sisi kuendelea kusema, batili, katika maeneo machache,
lakini kwa leo, hebu tu kuangalia jina.
>> On line 24, kama unataka kujenga kazi yako mwenyewe,
wewe literally kuandika jina la kazi.
Nilichagua PrintName.
Katika mabano, wewe kisha kutaja ni aina gani
wa pembejeo, na jinsi wengi wanataka kazi hii kwa kuchukua.
Katika kesi hiyo, nataka kuchukua 1 kutofautiana kuitwa, jina,
nayo itakuja kuwa ya aina, kamba, hivyo ni kwenda
kuwa baadhi mlolongo wa wahusika.
Na kisha, hii program-- kiasi kama katika Scratch,
unaweza kuwa na desturi puzzle pieces-- ni kwenda na tabia hii desturi.
Ni kwenda kuwaita printf kupita katika, hodi, placeholder,
na basi ni kwenda kuziba katika chochote mtumiaji kuitwa.
>> Hivyo hii ni mfano wa nini mwanasayansi kompyuta ingekuwa
wito uchukuaji au kazi mtengano, ambayo ni haki
njia dhana ya saying-- Je, ikiwa wewe kama hii wazo kiwango cha juu,
kama nataka utendaji kwamba Prints jina la mtu, kabisa wewe
unaweza literally kuandika printf na kisha kupita katika hoja unataka,
na mpango wa kazi, kama yalivyokuwa tangu Jumatano.
Lakini unaweza kuanza kwa abstract mbali dhana ya uchapishaji jina.
Unaweza kuwapa jina, kama PrintName, na hii
ni wazo hili la layering kutoka wiki 0.
>> Tangu sasa, mimi na wewe huna kujua au huduma jinsi PrintName ni kutekelezwa.
Ndiyo anatumia printf, labda ni hana, ambaye anajua nini anatumia?
Nani anayejali?
Sasa mimi kuzungumza juu hapa, badala ya chini hapa.
Na hakika, kama mipango yetu kupata zaidi ya juu na kisasa,
tunakwenda kuweka kuchukua kwa nafasi kuwa chini ya vipande puzzle cha kuwepo.
Kwa sababu sisi aliandika yao au mtu mwingine ye yote, ili
tuweze kisha kujenga juu yao.
Hebu tuangalie hii lahaja, kazi moja.
>> Hivyo hii moja kidogo zaidi juu, lakini zinageuka
kwamba katika maktaba CS50, kuna tu GetInt kazi.
Sisi hakufikiri, miaka iliyopita, kwa kutekeleza kazi GetPositiveInt.
Na hiyo ndiyo kidogo annoying kwa sababu kama nyie ni kuandika mpango eti
unataka kupata chanya integer kutoka kwa mtumiaji,
unaweza kabisa kutumia GetInt.
Na unaweza kabisa kuangalia kwa hali na labda kitanzi
kama kwamba int ni mkubwa kuliko 0 na kelele mtumiaji
kama yeye au yeye haitoi wewe idadi chanya.
Lakini hebu kujenga hii jengo kuzuia wenyewe,,
desturi Scratch kipande, kama wewe.
Mimi nina kwenda kuwa na mpango hapa kwamba hatimaye, mimi
wanataka kuwa na uwezo wa kuwaita GetPositiveInt, na mimi nataka kuwa
uwezo wa magazeti nje chochote kile int ni.
Lakini hii ni sehemu ya makala mbali sasa.
Ni tu amepewa kiwango cha juu jina kwamba anasema kile yake,
ambayo ni ya ajabu kwa sababu ni Intuitive sana sasa kusoma.
Na kama mimi kufanya huduma nini chini kofia, basi mimi kitabu chini.
Na ni kidogo vitisho mara ya kwanza, hasa
kama hii ni mpango wako wa kwanza, lakini hebu tuangalie.
>> Mimi tena akisema, batili, kwa sababu ni zamu nje kazi,
kiasi kama GetString, unaweza kurudi thamani kwangu.
Hawana tu na magazeti kwa screen,
kwa kweli unaweza mkono mimi kitu nyuma.
Na ambapo kabla PrintName, Mimi hakuwa na haja ya kitu chochote nyuma.
Mimi zinahitajika athari upande wa kitu kuonyesha juu kwenye screen,
lakini mimi hakuwa na haja ya binadamu kwa mkono mimi kitu nyuma.
Hapa, kwa GetPositiveInt, kama na GetInt,
Nataka kuwa mitupu kitu nyuma.
Hivyo mimi kusema hivyo, batili, kwenye mstari 23, lakini int,
inayosema, kazi hii kwamba mimi kuandika,
aitwaye GetPositiveInt ni kwenda mkono yangu nyuma integer, si kitu,
si batili.
>> Wakati huo huo, ni kwenda kuchukua hakuna pembejeo, hivyo nimekuwa, aina ya, kuachwa yake.
Mimi si kutoa GetPositiveInt yoyote pembejeo, mimi nataka unipe matokeo yake.
Na kisha nini kinatokea sasa?
Hivyo hapa ni jinsi gani naweza kutangaza kutofautiana.
Mimi tumefanya ni nje ya kitanzi, kwa sababu tutaweza hatimaye kuona,
lakini hii inatoa tu mimi 32 bits kuitwa, n,
na nimekuwa awali kuamua nao kuhifadhi integer.
Na hapa ni kwamba, je, wakati kujenga, na hii ni kwa nini ni muhimu.
Halisi kufanya hivyo, wakati n ni chini ya 1.
Basi hebu angalia nini kinatokea.
Mimi magazeti nje, tafadhali nipe chanya int.
Mimi kisha kupata int, kwa kutumia CS50 kazi na kuhifadhiwa katika n.
>> Na kisha, nini mstari wa kanuni pengine anapata kunyongwa ijayo, mantiki?
Ambayo mstari namba?
Yeah, hivyo 31.
Bila kujua hii mpaka wameweza wameambiwa au aina ya kudai jambo hilo,
lakini hiyo ni kweli.
Ni inakwenda juu hadi chini na kisha anaendelea kurudia.
Hivyo kama mimi typed katika kusema, idadi hasi 1, ni n chini ya hasi 1?
Naam.
Kwa sababu hasi 1 ni chini ya 1.
Hivyo kile lazima kutokea?
Mimi nina kwenda kufanya hivi wakati n ni chini ya 1,
hivyo mimi nina kwenda nyuma ya mstari 28.
>> Na kila time-- na hebu kukimbia Haya kufanya kazi kwa 1 kukusanya ni,
na sasa dot slash kazi 1.
Kama mimi aina hasi 1, ni kwenda kuweka yelling saa yangu
mpaka mimi kushirikiana kwa sababu kila wa pembejeo yangu ni chini ya 1
na kama ni wakati chini ya 1, Mimi nina kwenda kuendelea kufanya hivyo.
Kama mimi hatimaye kuwapa idadi kama 50, nashiriki, inasema, shukrani kwa ajili ya 50.
Kwa nini?
Kwa sababu kwa haraka kama n ni si chini ya 1, mimi kuacha kupata kukwama katika kitanzi hii,
na keyword hii mpya leo, Kwa upande wake, literally anafanya hivyo.
Hivyo nimekuwa tu kutekelezwa, katika maana, sawa na GetString,
ambapo mimi nina kuwapatia nyuma mwenye kutumia yangu, baadhi ya thamani.
Haina kuwa kamba, ni int.
Hivyo rahisi, haraka mfano, lakini tutaweza karibuni
kuona baadhi ya kisasa zaidi matoleo bado.
Kwa kweli, hebu tuangalie numeric moja, iitwayo return.c.
Na hii moja kweli kidogo rahisi.
Hivyo madhumuni ya mpango huu katika life-- hebu kukusanya na kukimbia nayo,
hivyo kufanya kurudi, dot kufyeka, return-- taarifa
Mpango tu cubes thamani 2.
Ni pretty kijinga, ni vigumu kanuni, haina kuchukua pembejeo yoyote,
lakini haina kuonyesha mwingine kazi ambayo nimekuwa imeandikwa mwenyewe.
Hivyo hapa, nimekuwa alitangaza kutofautiana, iitwayo x, ya aina int,
sawa na idadi 2, kabisa holela.
Hii ni baadhi tu ya uchapishaji fluffy.
Inasema x ni sasa, kama na vile, cubing nukta nukta nukta.
Na uchawi ni dhahiri katika mstari 21.
Mimi nina wito kazi kuitwa, mchemraba, Mimi kuikabidhi karatasi
kwa idadi 2 yameandikwa juu yake, na kile thamani, hesabu,
Je, mimi wanataka kupata nje ya hayo?
Kama vile sanity hundi?
8.
Sawa?
Mimi nataka 2 cubed nyuma, 2 kwa nguvu ya 3, hivyo 8 nyuma.
>> Hivyo ambapo ni mchemraba kutekelezwa?
Naam, ilani ni kutekelezwa chini hapa.
Na kama kabla, kifikra, hata kama syntax pengine ni
mpya sana kwa wengi wenu, Nataka kazi hii
mkono yangu nyuma karatasi ya karatasi na int juu yake.
Hivyo nina int, jina ni kiholela,
lakini kwa urahisi aitwaye mchemraba.
Pembejeo kwa hiyo, ni n ya aina integer, hivyo hiyo ni
jinsi siwezi kupita katika idadi 2 katika karatasi.
Na kisha zinageuka C inasaidia hisabati, hivyo huna x kwa mara,
wewe tu kutumia asteriski kwa kuzidisha.
Na hii anarudi mara n n mara n, ambayo ni tu thamani cubed.
>> Hivyo ambapo ni sisi kwenda kwa yote haya?
Hii ni dhahiri ziara ya kimbunga, wengine uhakika,
kwamba katika sehemu super na katika tatizo kuweka 1,
wewe utakuwa kutembea kwa njia ya yote haya ni mengi mno.
Na katika tatizo kuweka 1, tutaweza mpito kutoka dunia graphical ya Scratch
na kitu zaidi ya mstari amri katika C. Lakini tutaweza kuteka msukumo
kutoka mchezo huu hapa kutoka yesteryear, eti
kutumia C na toleo la kawaida la p kuweka wewe utakuwa kutekeleza Mario ya piramidi.
Na katika toleo hacker ya p kuweka, kama hivyo kuchagua kumchagua,
utakuwa kutekeleza kidogo zaidi changamoto piramidi na peaks mbili.
Itabidi pia kutekeleza algorithm, algorithm tamaa.
Ni zinageuka kuna ya baadhi mantiki ya kuvutia
nyuma ya mchakato wa mbio Kituo cha cashier ya
na kwa kweli kuwapatia mtu mabadiliko nyuma.
Kuna algorithm hiyo ni haki moja kwa moja, kwamba waweza hata
kufahamu shirikishi wakati wa kwanza kusoma it-- kutambua kwamba kile nimekuwa daima
amefanya wakati wowote Nimekupa mtu baadhi fedha back-- kwamba utapata daima
kupunguza idadi ya maelezo karatasi au chuma sarafu
kuwa wewe ni kuwapatia nyuma kwa mtumiaji.
Na hii, bila shaka, ni kulazimisha kwa sababu kama wewe kwenda CVS au whatnot,
hawataki kuwa mitupu rundo zima la watoto
au kundi zima la pennies.
Unataka fewest sarafu, pengine, iwezekanavyo.
>> Hatimaye, utapata pia kuwa changamoto dabble katika ulimwengu wa maji
na kweli kupata shukrani kwa ramani kati ya viwango vya kati yake,
ya kama, maji katika oga, ni kiasi gani maji ni kutumika.
Na dokezo humo, itakuwa kipande cha hii hapa,
ambayo tutaweza kuishia juu ya kwa sekunde 60 tu, kwamba
inajenga picha ya chini kati yake oga vichwa.
>> [VIDEO avspelning]
-All Haki.
I got kila kitu hapa.
I got Kimbunga F Series, Hydra, Jetflow, Stockholms
Supersteam, wewe jina hilo.
>> -Na Je, wewe kupendekeza?
>> -Nini Ni wewe kuangalia kwa?
>> -Power Mtu.
Madaraka.
-kama Silkwood.
-yaani Ni kwa mionzi.
-yaani Ni haki.
-Sasa Ni kitu gani?
-yaani Ni commando 450.
Siuzi kwamba moja.
>> -Lakini Kwamba ni nini tunataka.
Ni kikomandoo 450.
>> -Hakuna Amini kwangu.
Ni tu kutumika katika circus.
Ni kwa tembo.
>> -I'll Kulipa chochote.
>> -Nini Kuhusu Jerry?
>> Hapo hakuweza kushughulikia jambo hilo.
Yeye ni tete.
Oh yeah.
[Mwisho avspelning]
DAVID J Malan: zote haki.
Hiyo ni kama kwa CS50.
Tutaweza kuona wewe wiki ijayo.
>> SPIKA 1: [? Scully?], [? Ian,?] mbali kama mradi huu Outro,
una nini guys kuja na?
>> SPIKA 2: Naam, tumekuwa aliyopewa ni aina ya mawazo,
na tunadhani kwamba njia bora to--
>> SPIKA 3: Mei mimi?
>> SPIKA 2: Naam.
Kwa njia zote, kwa kweli.
>> SPIKA 3: Hivyo nadhani tunaweza kuhitimisha wazo yetu
kwa outros kwa moja word-- chochote.
>> DAVID J Malan: Hakuna?
SPIKA 3: Kitu.
DAVID J Malan: Hiyo ina maana gani?
SPIKA 3: outros ni kuhusu chochote.
SPIKA 2: Naam, I mean, katika falsafa, I mean, hakuna kitu ni daima kitu.
SPIKA 1: Hivyo what's-- nini dhana?
SPIKA 3: Hivyo ni kama maisha.
Sawa.
Mlifanya nini leo?
>> DAVID J Malan: Mimi aliamka, alikuwa kifungua kinywa, na alikuja kufanya kazi.
>> SPIKA 3: Hiyo ni OUTRO.
SPIKA 2: Lakini, I mean, hawapaswi kitu kutokea kwake juu ya the--
SPIKA 3: Hapana, hapana, hapana, hapana.
Hakuna kinachotokea.
>> SPIKA 1: Hivyo kwa nini sisi kuangalia?
>> SPIKA 3: Kwa sababu ni OUTRO kwa CS50.
>> DAVID J Malan: Bado.