LUCAS FREITAS: OK, ma arvan, nüüd me oleme eetris. Tere tulemast CS50 Supersection. Oleme vähem mugav. Minu nimi on Lucas Freitas. Ma olen üks CS50 Head TF. See on Lauren. LAUREN CARVALHO: Tere, ma olen Lauren. Ma olen ka juht TF CS50. LUCAS FREITAS: Täna me lihtsalt anda ülevaade sellest, mida kõik sa mehed on õppinud nädalal üks loodetavasti teile poisid hea tunnet, mida sa peaksid teadma jaoks lahendamist üks. Just paar teadaandeid. Esiteks tööajal. Vastuvõtuajad toimuvad esmaspäevast neljapäevani erinevates maja Annenberg iga päev. Nad on väga hea ressurss teile poisid tulevad ja esitada küsimusi, ja rääkida TF ja isegi vahetada mõtteid teiste õpilastega. Nii et kindlasti kasutada seda ressurssi sinu kasuks. Teine asi on see, CS50 Appliance. Viimase [kuuldamatu] te ei pea tegelikult on seade. Sa tegid kõik oma isiklikku arvutisse. Aga see probleem, siis tegelikult on on virtuaalne masin, seda Kindlasti lae CS50 Seadme ja ehita. Ja kolmas asi on kindlasti alustada lahendamist ASAP lihtsalt sest see on palju lihtsam leida aitab, kui sa oled Nädala alguses. Kuna inimesed kipuvad oodata, kuni viimasel sekundil alustada probleemi komplekt, ja siis sa lähed tööajal, ja seal on palju inimesi. Kui kui lähete esmaspäev, sa lähed näha, et saate rääkida TF päris palju kogu öö, ja nad ei kavatse enam kui hea meel teid aidata. LAUREN CARVALHO: Kas ma võin lihtsalt lõpetada sa hetkeks? Kas kõik on võimalik alla laadida CS50 Appliance? Kas inimesed on proovinud? LUCAS FREITAS: allalaadimiseks, mida Nii saad juhendite cs50.net/appliance. LAUREN CARVALHO: Õigus. Ja see võtab natuke aega, meie sys administraatoritel sulle litsentsi klahvi, et logida tasuta prooviperiood esimene. Nii et sa pead seda 30 päeva ja siis ootama oma võti mis peaks andma see teile aastas. LUCAS FREITAS: Esiteks Räägime natuke umbes CS50 Appliance. CS50 Appliance on tegelikult virtuaalne masin, mis sa lähed joosta oma enda arvuti, mis on Põhimõtteliselt töötab teises arvutis sees oma arvutist. Mis on päris lahe. Ja tegelikult on see kõikjal kasutada. Inimesed, kes on tech teaks, et Seda kasutatakse kõigi aega. sa oled? Kas on mitu arvutit ühes seade. Olgem tegelikult vaatleme kell Appliance. Kui te lähete seade pärast Registreerumisel sa lähed pea pane oma nimi ja sisse Harvard nii saame teid kõiki registreeritud. Sa lähed, et näha põhimõtteliselt ainult tapeet ja siis koju ja prügikast ja siis need väikesed ikoonid. See kolm ikoonid on tegelikult kõige olulisemad asjad, mida sul võib olla oma seadme. Esimene neist on gedit, mis on tekstis toimetaja, nagu Notepad või nagu mingit tekstiredaktorit. See on lihtsalt midagi, mida me kasutame, et kirjutada kood ja siis teha asju koos sellega. Teine asi, mida me siin on Chrome. Nii et kui teil on vaja kasutada internetti seadmesse, mis on mida saab kasutada. Ja kolmas asi on terminal, mis on tegelikult väga armas. Inimesed tavaliselt on selline kartma terminal, sest see on väga vanaaegseid taotluse, kuhu lihtsalt põhimõtteliselt kirjuta kõike klaviatuuril. Seal ei ole palju suhtlemist hiirega. Aga tegelikult terminal ei väga head asjad. Esiteks, lihtsalt läbi minema mõned käsud, mis sa saab kasutada terminal. LAUREN CARVALHO Ja julgelt lõpetada meile, kui teil on mingeid küsimusi. LUCAS FREITAS: Jah. Nii et esimene käsk, et me peame terminal on ls. Kas tähendab põhimõtteliselt nimekiri kõigest, kõik failid ja kõik direktorid, et mul on koht, mis ma olen. Nii et kui ma teen Kas siin, ma lähen, et näha et mul on mõned kataloogid. Mul on lauaarvuti, downloads, palgid ja VHOSTs. Need on sinine, sest nad kõik kataloogid. Siis on mõned muud failid. Sul on nagu tere ja hello.c, mis on lihtsalt failid ja nad on erinevat värvi. Nii et see on väga tähtis käsk lihtsalt näed, mis on failid ja katalooge, et teil on kataloogist, et sa oled terminalis. Kui näed jharvard @ seadme ja siis väike sümbol seal, tilde, see tähendab lihtsalt, et see on kataloog, et olete hetkel. LAUREN CARVALHO: Nii kirjutades ls on peaaegu nagu klõpsates kataloogi mis on loetletud sealsamas, et see näitab, te kõik sisu, mis on selles kaustas. Publik: Kas tekst pärast hello.c? LAUREN CARVALHO: Oh, sa ei saa vaata, et kuna see on sinine. LUCAS FREITAS: Ta ütleb, palgid ja VHOSTs. LAUREN CARVALHO: Need on lihtsalt kausta. Mul on kahju, see on tõesti raske näha. Võib-olla, kui me välja lülitatud tuled? Colton, kas sa tahad, et proovida ja ei leia lülitit? Vabandust. Ma ei mõtle selle peale. LUCAS FREITAS: Aga see on põhimõtteliselt - Jah, kui sa saaksid - LAUREN CARVALHO: suurendada ekraani. LUCAS FREITAS: ma ei ole on see funktsioon. LAUREN CARVALHO: [kuuldamatu]. OK. Noh, seal on lihtsalt palju loodus tuli selles toas samuti. LUCAS FREITAS: oletame, et lisaks on veel kaks kataloogid seal. LAUREN CARVALHO: Just kanda meiega. See on ainus osa, et teil vaadates terminal. LUCAS FREITAS: järgmine käsk Põhiliselt äkki soovite korraldada failid - näiteks kõik oma C faile ühes kataloogi, kuid sa ei pea Kataloog ainult C faile veel. Võite põhimõtteliselt luua kataloog kasutades terminal ka, mis on sama asi nagu paremklikk ja ütles: New Folder. Käsk teha kataloog, mis on mkdir, nii et põhimõtteliselt "teha" ja "Kataloogi." Ja siis võite panna kataloogi nime. Oletame, et ma tahtsin seda nimetatakse, Ma ei tea, ütleme pset1 Doing seda, ma lihtsalt loodud kataloogi. Ütleme nii, et ta on seal. Nii et kui ma teen ls, nüüd ma näen, palke, ja siis pset1 ja seejärel VHOSTs. Nii et mul on uus kataloog olemas. Ja siis pärast seda, kui on uus kataloog, äkki soovid navigeerida sinna, nii järgmise käsu käesoleva cd mis lihtsalt tähendab põhimõtteliselt minna konkreetse kataloogi. Nii et kui ma tahan minna pset1, Võin lihtsalt teha cd pset1. LAUREN CARVALHO: cd tähistab muutust kataloog, [kuuldamatu] võimalik mäletan. LUCAS FREITAS: Ja nüüd te näete, et selle asemel, et lihtsalt võttes jharvard aparaat, olen jharvard seadme ja siis pset1, sest see näitab, kus ma olen selles arvutis. Nüüd, kui ma tahan minna tagasi kataloogi, mis oli enne seda, siis ma saab teha cd dot dot, mis tähendab lihtsalt minema kataloogi, et ma olin enne, nagu vanem käesoleva kataloog, põhimõtteliselt. Ja nüüd ma näen, et ma olen tagasi jharvard. Järgmine asi, mida ma ei saa seda teha on rm, mis on faili eemaldamiseks. Näiteks oletame kõigepealt tegema LS näha, mis mul siin on. Mul on tere ja hello.c. Ütleme, et ma tahan, et neid kõrvaldada. Ma võin teha rm tere. See saab öelda "eemaldada tavaline fail tere? "Ja ma ütlen" jah. "Ja nüüd, kui ma teha LS, ma näen, et see on ei ole enam seal. Kui ma püüan kasutada rm kataloogi kuigi ta ei kavatse teile midagi teha. See saab öelda, hei, sa ei saa eemaldada kataloog. Nii et meil on see teine ​​tulla nn rmdir, mis lihtsalt tähendab põhimõtteliselt eemaldada kataloog. Võin näiteks eemaldada pset1. Ja kui ma seda teen LS, ma ei on seda enam. Kõik küsimused selle kohta? Ei? Jah? Publik: Kas see on oluline, et te lahkute ruumi pärast - kui teil hakka midagi? LUCAS FREITAS: Jah. Kui ma ei meeldi cd ja kataloog, Mul on panna ruumi. Mida ruumi sa räägid? LAUREN CARVALHO: ruumi vahel CD ja [kuuldamatu]. LUCAS FREITAS: Jah, sa pead pane ruumid kuna cd on käsk ja seejärel järgmise string sa tüüp on põhimõtteliselt kataloogi. Nii et see on nagu argument. Jah? Publik: Kui loetleda kõik need On erinevaid katalooge, eks? LUCAS FREITAS: Jah, nad on kataloog. Publik: Mis on erinevused hulgast katalooge? LUCAS FREITAS: Nad on lihtsalt eri kaustadesse. Kataloog on kausta arvuti. Publik: Open folder. LUCAS FREITAS: Jah, see on lihtsalt avatud kausta. LAUREN CARVALHO: Siinpool ones mis on sinine on tegelik katalooge, et võite sattuda ja siis vaata, hunnik asju, mis on jooksul, et mis on kahetsusväärne sest sa ei saa tegelikult lugeda omadega sinine. Ja need, valge on lihtsalt faile mis kuuluvad jooksva kataloogi. LUCAS FREITAS: Nii kataloogid on kaustad. Teised on failid. Publik: Mis on käsu siis uuesti või eemaldage see? LUCAS FREITAS tühjendamiseks? LAUREN CARVALHO tühjendamiseks? LUCAS FREITAS: Ma arvan, see on "selge". Jah. Nii et sa lihtsalt kirjuta selge kui ekraanil on liiga räpane. Muid küsimusi? Ja õpid hunnik muid käske lihtsalt loomulikult jooksul semester, sest nad on väga kasulik. Nüüd räägime koostamisel. Rääkisime pseudokoodi ja lähtekoodi ja objekti kood. Ja seal on palju koode ja võib-olla te olete segaduses, et. Räägime natuke mida juhtub, kui sa oled kirjutamise programm, ja kompileerida, ja see muutub käivitatava faili. Need on kõik sõnad, mis te ilmselt kuulnud, ja võib-olla sa ei ole päris kindel, mis toimub. Ütleme näiteks, et ma tahan Kirjutada programm, mis ütleb: "Tere." Esimene asi, mida tuleb oma meeles on sa sellist proovi mõelda, kuidas sa oled teeme, et oma meelt, ja sa oled ilmselt mõelnud inglise või mõnda muud keelt, nagu loodus- keel, arvatavasti. Ja siis sa arvad, noh, kui ma tahan, Näiteks kirjutada programm, mis ütleb "tere" Tahaksin alustada programmi Ma prinditakse tere, ja siis ma sulgege programm. See on pseudokoodi. See on lihtsalt põhimõtteliselt üritate tulla sündmusteahela et sa lähed tegema, et olla võimalik kirjutada programm. Siis on lähtekoodi, ja lähtekoodi ei pea konkreetselt olema C. Me räägime umbes lähtekoodi C, sest see on keelt me ​​õpime, aga loomulikult kood võib olla päris palju programmeerimiskeel, mis sul on. Hiljem semester, sa lähed õppida teistes keeltes. See on ka lähtekood. Näiteks, siin on see minu allikas kood ja siis ma ka raamatukogu ja siis ma alustan Peamine ja seejärel printida. Ja Laura läheb rääkida veidi natuke see kõik. Nii et see on lähtekoodi. Ja milline on objekti kood? Eesmärgiks on hunnik nulle ja need, põhimõtteliselt. Mis juhtub, on teil kõigepealt olema pseudokoodi, mis on kõik inglise keeles. Ja ma mõtlen, et sa sellest aru. Ilmselt su sõbrad mõistavad , ja enamik inimesi mõista idee. Aga arvutid on tõesti loll, ja nad ei mõista inglise keelt, siis võite on moodustavad sellest midagi, tavaliselt tõlkida mõned programmeerimiskeelt. Ja sa ei mõtle programmeerimine keel on nagu keel et te ütleksite oma arvuti kui rääkida ja mõista. Sa põhimõtteliselt kirjalikult midagi keeles, et nii teie ja teie arvuti aru. Seda lähtekoodi. Nii läheb vorm pseudokoodi allikas kood, see on sinust. See on põhimõtteliselt sa teed oma programmi. Aga probleem on selles, et arvuti ei ole isegi aru programmeerimiskeelt. Ta ei saa aru lähtekoodi üldse. See tegelikult lihtsalt aru nulli ja ones. Nii et meil on see väga maagiline asi, mida nimetatakse kompilaator, mis põhimõtteliselt on hakka allikas nimega, et sa kirjutas keel nii te ja arvuti rääkida, ja nüüd sa oled kavatse muuta, et nulli ja ones. Ühesõnaga, mida koostaja teeb, on ta saab lähtekoodi, antud juhul C, see läheb muuta see nullidega ja need, mis arvuti mõistab ja saab teha käivitatava faili välja. Kas see on mõtet? Sa võid mõelda, tõlkija kui mingi tõlkija, mis on mis aitavad teil selgitada arvuti täpselt, mida ta peaks tegema. Aga kuidas ma saan kompileerida. Lähme tagasi seadme ja Ütleme, et ma teen selle programmi. Esiteks ma lähen luua kataloog siin, ja ma lähen seda kutsuda "Tava". Nüüd ma navigeerida kataloogi, nii cd tava. Nüüd ma olen sees praktika. Nüüd ma tahan alustada gedit, Niisiis, kuidas ma seda teen? Võin ka klõpsata, või saan lihtsalt sõnalt tüüp "gedit" ja see läheb avada minu jaoks. Nüüd ma lähen kirjuta oma programm, et täpselt, mida ma kirjutasin slide. Teatan raamatukogu. Ma teen int main, tühine. Ja nüüd ma teen printf, tere. Nüüd ma lähen salvestada. Lubage mul seda ellu viiakse, ja Ma nimetan seda hello.c. Nüüd see on salvestatud. Kui ma tahan koguda, siis ma tegelikult ei saa seda teha kahes erinevas kohas. Ma võin ka seda teha terminal aknas nii et see suur, või saate kasutada gedit et tegelikult on terminal window siin. Nii saab väga mugavalt lihtsalt teha oma kood, ja siis saate lihtsalt kirjutada mis iganes siin ja proovige kompileerida. Niisiis, kuidas ma kompileerida koodi? Lihtsaim viis, et meil on kasutada teha, mis on funktsioon, mis on põhiliselt läheb kompileerida koodi. Sa pead lihtsalt ütlema teha hello, nii "Teha" ja programmi nimi. Oops. See on ebamugav. LAUREN CARVALHO: Kas [kuuldamatu]? LUCAS FREITAS: Vabandust. Ma ei päästnud teda õige kataloog. Tule harjutada ja nüüd salvestage see hello.c. Vabandust. Nüüd see on salvestatud. Lubage mul teha ls ja olema kindel, et see on siin. OK, nüüd on see siin. Nüüd, kui ma ei tee tere, see sülitab palju asju, aga siis see lihtsalt annab minu teine ​​rida terminal, mis tähendab, et see oli edukas. Nüüd, kui ma ls jälle, ma tegelikult vaata seda pilti roheline, mis on käivitatava faili. Ja siis, kui ma tahan kasutada seda, kõik, mis Mida ma pean tegema on dot kaldkriipsuga tere. See saab tere öelda siin, nii see on täpselt see, mida ma olen palunud seda. On veel üks viis koostamise, mis kasutab rõkkama. Rõkkama just koostaja, et meil on, ja see on natuke rohkem verbose et kompileerida. Aga see töötab sama hästi. Nii et kui ma teen rõkkama ja siis-o, ja siis nimi, mida ma tahan anda käivitatava faili, ütleme, "Tere." Ja siis fail mida tahan koguda, hello.c. See on ka kavatse koostada. Ja sul on fail siin, ja Võin lihtsalt täidab seda samuti. Nii nad mõlemad töötavad. Kas see on mõtet? Kas on küsimusi? Publik: Kas sa seda suurendada aastal natuke? LUCAS FREITAS: Vabandust? Publik: suurendada? LAUREN CARVALHO: Ma arvan, et sa lihtsalt käsu pluss. LUCAS FREITAS: Command mida? LAUREN CARVALHO: Command pluss. LUCAS FREITAS: Ei LAUREN CARVALHO: Oh, see pole läheb tööle, sest - see on sellepärast, et me seame resolutsioon Selle asja. LUCAS FREITAS: ma ei ole arvan, et suumida sisse Jah, me ei saa suurendada. Kas teil on veel üks küsimus? Vabandust. Publik: Kas te kordate rõkkama? LUCAS FREITAS: rõkkama? Rõkkama on sama asi nagu make, kuid Erinevus on, et esimese ma lähen kirjutada Kalkuttaa, mis on käsk siis ma lähen tegema, -0, kõik, mis on just see, mida me õppida hiljem lipuna. Nii lihtsalt arvan, et teil on alati pead panema-o. Ja siis esimene, sa lähed panna nimi täitefailini põhimõtteliselt faili, et sa oled kavatse luua. Nii et ma ei saa öelda, näiteks hello2 ja siis fail, et ma tahan koguda, mis on. c failist. Nii et hello.c. Kas see on mõtet? Publik: Tere mis? Mis see on? LUCAS FREITAS: hello.c. Ja kui ma kompileerida ja kui Ma LS, ma ka hello2 et ma lihtsalt koostada. Ja kui ma üritan käivitada, siis läheb teha täpselt sama asja nagu tere, lihtsalt printida tere. Publik: Kuidas tulla make võite panna hello.c pärast? LUCAS FREITAS: Tee, siis ei pea panema. c. Tee, sa lihtsalt öelda, Programmi nimetus. Sul ei ole öelda. C. Aga rõkkama, sa peaksid. Publik: Mis rõkkama sa ka tuleb lisada [kuuldamatu] LAUREN CARVALHO: Jah. Nii et teil on ka raamatukogu. LUCAS FREITAS: Jah, see on midagi, Me ei kavatse kasutada hiljem. Seda nimetatakse siduda, ja ma arvan, et me oleme räägime sellest hiljem. Teine küsimus? Publik: Kas paned dot kaldkriipsuga rõkkama? LUCAS FREITAS: Ei Dot slash on lihtsalt avada käivitatava faili. Nii rõkkama, sa lihtsalt kirjutada "rõkkama," ja siis, kui te soovite avada käivitatava faili, et sa lihtsalt koostatud, siis sa dot kaldkriips ja nimi. Kas see on mõtet? Publik: Kui sa olid lihtsalt muutus [Kuuldamatu], et tere, kas te pea kompileeri see? LUCAS FREITAS: Jah. kui ma tahan öelda, näiteks "tere seal, "Ma ei saa lihtsalt salvestada see nüüd, ja ma lihtsalt kompileerida uuesti. Las ma teen make tere. Ja kui ma tere, see läheb öelda "Tere." Mõtet? Muid küsimusi? Publik: Kas teil lisada I / O, et koordineerida tööd? LUCAS FREITAS: Jah. I / O on põhimõtteliselt raamatukogu, mis on rakendamise printf. Nii et asi õige on top sisaldab stdio. See on ka raamatukogu, mis põhimõtteliselt on hunnik erinevaid vahendeid, mida saab kasutada. üks? Neist on printf mis on funktsioon et põhimõtteliselt prints sõnumeid ekraanil. Muid küsimusi? Ei? OK. Nüüd räägime - LAUREN CARVALHO: Lähme minna stiili juhend. Kas soovite lihtsalt leida see siin on? LUCAS FREITAS: Nii et me rääkida stiilis. LAUREN CARVALHO: Oh, David ei lõpetanud. OK. Miks me ei võiks tagasi tulla style päris lõpus? See on tegelikult uuendatud kui me räägime. LUCAS FREITAS: Jah. Vaatame, kuidas David lõpetada seda. LAUREN CARVALHO: Kas vahetame tegelikult? Nii et ma loodan, et kõik on olnud nautida Scratch. Kahjuks on aeg eemalduda see - Kahjuks on aeg eemalduda Nende ilus programmeerimine plokid edasi C. Kuid õnneks kõik programmeerimine konstrueerib, et olete töötanud koos Scratch on otse ülekantav C, ja me oleme hakkan tundma õppida mõned neist kohe. Vaatame kõigepealt rääkida tingimused aastal Loogiline väljendeid. See töötab reservi akut. LUCAS FREITAS: Kuidas mis ei tööta? OK. Sa lähed sinna, ma lähen - LAUREN CARVALHO: Nii tingimused olulised, sest need võimaldavad meil tutvustada loogika meie programme. Siin on näide sellest, tingimusel jooksul C programm. Olgem tähele, kuidas see - Nii et see tingimus blokk siin, see printf avaldus ei teosta kui tingimus jooksul sulgudes, n on suurem kui 0, TRUE. Nüüd on kõik tingimused piires f aastaaruanne ei Loogiline väljendeid, mis tähendab, et seal On ainult kaks võimalust. Nad võiksid hinnata, tõsi, või nad võivad false. Nii et siin, nii et see on loogiline, eks? n suurem kui 0, tähendab see positiivne arvu, mis tähendab, et see prindib out "valisid positiivne number." Seal on palju Boole'i ​​avaldised mis võib moodustada olekus init avalduse. Meil on vähem kui. See on väiksem või võrdne. See on lihtsalt naljakas [kuuldamatu]. Kui soovite printf tekkida siis, kui see on suurem või võrdne 0, siis sa valiks selle. Nii võrdub lihtsalt lisab õigus pärast enam kui märk. Võrdne võrdsed, mis erineb lihtsalt üks võrdusmärk, võrdne võrdsete tegelikult tähendab see, et olenemata tema poolt Vasakul pool on sama mis paremal pool seda kus üks võrdusmärk on mis? Mis on lihtsalt üks võrdusmärk? Ülesanne. LUCAS FREITAS: Kes seda ütles? Kas see komme? Oh, ei. Vabandust. Vabandust. Te mõlemad saada kommi. Oh, OK! Kolm inimest saavad kommi! LAUREN CARVALHO: Nii see siin on bang ettevõtja eelmise võrdusmärgi, nii et see ole võrdsed. Nii et kui see oli sees minu tingimus, keha tingimus oleks täita ainult siis, kui misiganes Vasakul on mitte sama Mis on õige. Ma võin ka lihtsalt hüüumärk. Tegelikult me ​​näeme funktsioon libisema, kuidas seda kasutatakse. LUCAS FREITAS: Kas on küsimusi? Ei? LAUREN CARVALHO: Saame ühendada need Loogiline väljendeid ehitada rohkem keerulisi tingimisi avaldused. Nii siin, kui iganes on vasakul servas topelt baari või kõik, mis on paremal pool double baarid on TRUE, siis me välja printida kehtetu. Ja siis siin, kui iganes on vasakul küljel kaks sümboliga ja mis iganes on paremal servas kaks sümboliga TRUE, siis me välja printida kehtiv. Double baarid kutsutakse loogiline OR operaator topelt-märk on nimetatakse loogilise ja operaator. Jah? Publik: Kas need on lihtsalt väiketähed l's? LAUREN CARVALHO: Ei Nad on tegelikult - tead lõtku, nagu üle oma Tagasi võti? Kas sa näed seda? LUCAS FREITAS: See on tegelikult bar. LAUREN CARVALHO: See on tegelikult vaid kaks baari. Publik: Kas te kasutate võrdne võrdsete stringid? LUCAS FREITAS: Ei Me läheme õppida hiljem midagi ette. LAUREN CARVALHO: Seal funktsioon , mida saab kasutada. Aga sa ei pea muretsema, et veel. Mis siis, kui ma annan selle programmi number 5? Mis välja printida? Publik: [kuuldamatu] kehtiv. LAUREN CARVALHO: Valid? Jah. Ma ei tea, kes sai selle. [Naer] LAUREN CARVALHO: See on selline hirmutav [kuuldamatu]. Publik: Nii topelt ning see tähendab lihtsalt ja? LAUREN CARVALHO: Jah. Nii number 5 on nii suurem kui 0 ja väiksem kui 100. Publik: Miks see oleks üks? LAUREN CARVALHO: Üks ampersand on tegelikult midagi muud, ja see on bitwise operaator, mis teid õppida hiljem. Aga see on midagi, mis tõesti töötab koos bitti antud number. LUCAS FREITAS: Kujutage nad ei pea muretsema see nüüd. LAUREN CARVALHO: Ma arvan, et see on ilmselt tulemas järgmisel nädalal. LUCAS FREITAS: Muid küsimusi? Ei? LAUREN CARVALHO: Nii et me oleme näinud, et see blokeerida ei saa seista üksi, kuid see võib ka paaris ja teine ​​plokk. Nii sel juhul, kui n on suurem kui 0, me läheme välja printida "Sa valisin positiivne number. "muud, mis tähendab kui see on 0 või kui see on vähem kui 0, me lähme välja trükkida, "Sa valisid negatiivne arv." Huvitav asi on see, et need on teineteist välistavad. Seal on kunagi saab olema juhul kus see ja see saab nii printida. Olen kindel, et koos töötanud kui / teine kasti Scratch, nii et see peaks olema üsna tuttav. Jah? Publik: Kas meil on vaja ruumi vahel int n võrdub GetInt siis ruumi kui avaldus? Nagu me kasutame line [kuuldamatu] LAUREN CARVALHO: Oh, ruumi siin? Publik: Meeldib, kuid sa topelt ruumi. Ei, mine üles. Tõusevad. LUCAS FREITAS: Just line? Publik: Jah. LUCAS FREITAS: Just tühi rida? Publik: Jah. LAUREN CARVALHO: Tühi rida? Ei. See on lihtsalt stilistiline asi. LUCAS FREITAS: See on nagu mõnikord sa lihtsalt vahele mõned read nii et kood ei tundu suur tekstilõik. LAUREN CARVALHO: Ma arvan, et mis juhtus oli see, et pidime kommentaar siin, aga ma võttis selle välja, et te oleks mõelda kood pigem kui lihtsalt lugeda minu kommentaar. Üldiselt vahe tegelikult ei mõjutada teie programm töötab. See on rohkem stilistilise asi. Ja kui meil on stiilijuhend uuendatud ja valmis minema lõpuks supersection me räägime umbes, et rohkem. Seal on midagi valesti Selles programmis, eks? Kuna 0 ei ole tõesti negatiivne number. Seega vaatame, kas me saame parandada. Saate ilmselt ette kujutada seda ütleb, eks? Kui n on suurem kui 0, siis printida "Te valisin positiivne number. "Siis teine kui n on väiksem kui 0, "Sa valisid negatiivne arv. "else" Sa valisid 0 ". Nüüd huvitav asi on see, et see võib kesta igavesti. Sul võib olla kas plokk, muidu kui blokaad, teise else if plokk, muidu kui else if, else if, teine, põhiliselt nii kaua, kui soovite. Ja kui ehitatud niimoodi, need kõik saab olema teineteist välistavad. Jah? Publik: Miks ei saa sa kasutada teise, kui mitte [kuuldamatu]? LAUREN CARVALHO: Sel juhul, jah, ma võib kasutada mõnda muud kui, ja see oleks täiesti trahvi, sest tingimused on ise teineteist välistavad. Aga siis, kui tingimused ei ole eksklusiivne teineteisest see oleks sundida neid kunagi nii hinnata kui see on mõistlik. Publik: Sellisel juhul võiks me pesa teine ​​kui ka esimese kui? LAUREN CARVALHO: Kui - mida sa mõtled? Publik: Kui kaks tingimust ei välista teineteist? LAUREN CARVALHO: Kui tingimused ei välista teineteist? Aga sa tahad ainult üks neist joosta? Publik: Sa tahad lihtsalt kui selle asemel, et teine. LAUREN CARVALHO: Jah. Seal on alati saab olema palju viise, et võite seda teha. Saad kindlasti istutada. Ja näete tulevikus slaidile sul võib olla mitu investeerimisfondid vaid üks teise järel. Aga see on viis loogiliselt korraldamisel voolu oma programmi. LUCAS FREITAS: Ja siin on veel üks asi on see, et sa küsisid panna kui ja siis teine, kui. See töötaks ideaalselt, aga see on halb disain, sest põhimõtteliselt, kui sa kontrollige kõigepealt, kas ja märkate, et arv on suurem kui 0, siis võib lihtsalt lõpetada programmi. Sa ei pea kontrollima, kas see on väiksem kui 0, eks? Aga kui sa kui siis, kui see läheb, et kontrollida nii, samas kui mina kui veel on, see läheb, et kontrollida, kas see on suurem kui 0. Kui on, siis ei hakka isegi vaatama teises rida koodi. Nii et sa põhimõtteliselt seda kontrollimata nagu kaks korda asjatult, et põhjus, miks me teha, kui teine, kui. Muid küsimusi? Publik: Nii funktsionaalsust ning teine, kui on sama kui see oli lihtsalt, kui? LAUREN CARVALHO: Ei Sa tegelikult näeme minu kõrval libisema näide, kus ta saab olla erinevad. Sel juhul on see peaaegu sama. Nii et siin on meil näiteks mitmekordse Kui avaldused ja funktsionaalsus ei ole sama nagu siis, kui ma olin just ütles, et kui muud, kui muidu, kui muidu. Ütleme lihtsalt mõelda, mis printida välja, kui ma sisestada number 95 sellesse programmi. Publik: [kuuldamatu] LAUREN CARVALHO: Ja siis? Publik: [kuuldamatu] LAUREN CARVALHO: Jah. Nii selles asjas need tingimused ei ole teineteist välistavad üksteist. Ja kuna miski peatada Selle seisundi hindamiseks käesoleva üks juba on, nad lihtsalt kõik läheb välja trükkida. Niisiis, kuidas ma saaksin seda parandada? Publik: teine ​​ifs? LAUREN CARVALHO: Võite kasutada muud IFS. Ma võiks muuta, et Nende, eks? Kui ma tegin selle ühe esimesena? Noh, tegelikult mitte. See ei tööta 95. LUCAS FREITAS: Ei, ainult teine ​​infovälja mahu. LAUREN CARVALHO: teine ​​ifs oleks fikseeritud selle. Kas see selgitada segadust vahel IFS ja muu-sid? Publik: Ma tahtsin teilt küsida, kui sa ei kasuta veel, kui see peatus? LAUREN CARVALHO: Õigus. Nii ainult see esimene. Kui astusin number 95, vaid see oleks välja trükkida, ja ta ei ole kunagi oleks jõudnud veel. LUCAS FREITAS: Just sellist mõelda seda kui see juhtub, seda teha. Muidu on nagu siis, kui ei, siis kontrolli Selle, ja siis tee seda. Nii nagu nad on kõik omavahel eksklusiivne. Sa ei saa kahte nende üle. Publik: Kas te kasutate loogiline Ja mis olukorras? LAUREN CARVALHO: Jah. See on üks viis, et suudaksime on fikseeritud probleem. Me oleks määratletud pliidid, eks? Nii et ma oleks võinud öelda, kui n on suurem kui 90 ja väiksem kui - Noh, ma arvan, et see ei ole tegelikult oluline, kuid siin ma oleks võinud öelda, kui n on suurem kui 80 ja väiksem kui 90. Suurem kui 70, väiksem kui 80. See oleks ka teinud. [Naer] LUCAS FREITAS: Ta on hirmunud. LAUREN CARVALHO: Ärge kartke. LUCAS FREITAS: See ei ole et see on vale. See on lihtsalt, et see on tarbetu paljusõnaline. Nagu infotehnoloogia, üks peaks olema võimalikult lihtne niikaua teil on funktsionaalsust. Kas tahad kommi? Publik: Ärge seda vajavad. LAUREN CARVALHO: Sa hirmutad igaüks, Lucas. LUCAS FREITAS: Vabandust. LAUREN CARVALHO: David ka mainitud need vahetada avaldus klassis. Põhimõtteliselt, mis toimub on lüliti avaldus võetakse muutuja. Sel juhul me võtame täisarv. Kui arv on 1, me läheme välja printida, "Sa valisid väike number. "Kui arv on 1," Sa valisin keskmise arvu. "Kui täisarv on 3 "Sa valisid kõrge number. "Ja ka minul oli default juhul siia alla, kuid see ei näita up, mis on väga halb. Põhimõtteliselt on see lihtsalt teine ​​süntaks. Oleksime võinud rakendada seda täpset Sama lugu on siis, muidu kui avaldustega. Aga kui seal on palju erinevaid tingimused ja palju erinevaid variatsioone, mida sa tahad teha Iga sisend, see on valik. Nii et see on lihtsalt hea süntaks teada. Jah? Publik: Miks on mitte längkriipsu n esimene? LAUREN CARVALHO: Sest seal üleval? Pole kurakriips n seal sest GetInt - kui te proovida seda, siis see annan sulle selle kiire. Anna täisarv vahemikus 1 ja 3. Ja kui ma panen loks n, oleks võta mind järgmisel real, aga ma lihtsalt tahtsin neid kirjutama täisarv peale jämesooles. Sa oleks võinud loks n. See ei ole suur asi. Jah? Publik: Selle koodi, on see Kui üks on see, et kuna see on esimene juhtum? Sest - LAUREN CARVALHO: Ei, ei, ei. Nii et see on mulle täisarv 1 ja 3 vahel. Kui n on 1, I printida. Kui palusin tähed, ma oleks võinud ütles mulle kirja vahel ja C. Siis oleks see juhul, A. Publik: [kuuldamatu]. Juhul oleks lihtsalt [kuuldamatu] LAUREN CARVALHO: Jah, muidugi. Jah? Publik: Mida teha, kui sa tahad olla rohkem suhtlev väljendus? Nii et selle asemel, et öelda: n võrdub 1, [kuuldamatu] n on suurem kui 1 esimesel juhul? LAUREN CARVALHO: Tegelikult, kui ma seda ei tee määratleda mõned neist juhtudest, see aitab tuleb viia alla. Nii tegelikult, võibolla see ei ole mida sa palud. LUCAS FREITAS: Ma arvan, et ta küsib, kas puhul oli n on suurem kui 0, juhul väiksem kui 0. LAUREN CARVALHO: Maybe lüliti avaldus ei ole tõesti, mida sa tahad kasutada juhul. LUCAS FREITAS: lüliti avaldus on lihtsalt raha, et sa oled kontroll väärtus on nagu see või see. Nii et te ei saa tegelikult pane tingimused. Publik: Mida teha, kui inimene tüübid [kuuldamatu]? LAUREN CARVALHO: See oleks olnud minu vaikimisi juhul, mis kahjuks sa ei näe. LUCAS FREITAS: [kuuldamatu] teha neid näha. LAUREN CARVALHO: Tegelikult, Teate mis? Lähme uurima 50 ja ma lihtsalt suumida slaidid uuring 50, sest see on lihtsalt tüütu. Nii et lubage mul tegelikult minna seisukorras. See lihtsalt läheb võtta natuke aega. Hea küll. Nii, mul on kahju. Vähemalt nüüd me saaks näha kõik ilma selleta mahalõikamine. Hea küll. Nii et kui nad panna 10, oleksime default siin minu default juhul ja ma oleks lihtsalt printida kehtetu, sest ma palus neil siseneda täisarv 1 ja 3 vahel. Muid küsimusi? Jah? Publik: Oletame juhul üks, juhul kolm, et sa tahtsid, et see kõik sama asi, et sa valisid number see ei ole keskmine number. Sel juhul oleks see üleliigne? Kas sa lihtsalt muuta teksti nii neist, või oleks olemas mõned koondamine? Kas kuidagi ühendada [Kuuldamatu]? LAUREN CARVALHO: On viise, kuidas kombineeri neid, kuid ma usun, et te saate ainult kombineerida kõrvalasuvaid ones. Nii et kui ma ei defineerinud midagi haigusjuhu kaks, see oleks kohaldatakse mõlemal juhul. Oh, kui ma ei pane midagi haigusjuhu üks, see kehtib nii Kui üks ja kaks. Kui see on mõistlik. Publik: Kas te võiksite korrata, et üks? LUCAS FREITAS: OK. Kui sa põhimõtteliselt nagu, teil on sama asi, aga sa ei pane midagi siin, siis oleksin kas Kui üks või juhul kaks, tee seda. Eks ole? Ja see paus tähendab, et kui sa saad sellesse juhul lihtsalt lahkuda. Nii see on, mida pidurit tähendab. Nii et kui ma just tegin seda, sa näed, et see on Kui üks, ja sa lihtsalt tee seda. Kui see oleks olnud juhul kaks, see oleks ka lihtsalt siia tulla ja seda teha. Publik: Aga sa saad seda teha? Kui seal on midagi juhul kaks [kuuldamatu] LAUREN CARVALHO: Ma ei usu, saate seda teha. Ma ei usu, võite vahele ümber. Kas sa suudad seda, Rob? Ma ei arva nii. Publik: Nii ainult üks number võib minna pärast juhul, eks? Ei saa olla juhul üks koma kaks? LUCAS FREITAS: Ei, sa ei saa. Te kindlasti ei saa. LAUREN CARVALHO: Ma mõtlen, et asi on See on võimalus, ja see ei pruugi sobib teie kasutada juhul, nii siis oleks kasutada, kui tingimusi. Publik: Miks sa seda teed? Lüliti? LAUREN CARVALHO: tahaksin kasutada seda kui teil on väga määratletud - tegelikult, Lucas, on sul blokeerimine. LUCAS FREITAS: Oh, vabandust. LAUREN CARVALHO: Kui teil on väga määratletud käitumised, mida soovite iga sisend, võib see olla natuke lühike kui kirjalikult esitatud kui avalduse igaüks. Publik: Mida teeb break tähendab jälle? LAUREN CARVALHO: break tähendab stop. Pea meeles, kui ma ei ole seda pausi siin, me oleks lihtsalt langenud ka järgmisel korral. LUCAS FREITAS: Break tähendab saada välja lüliti avaldusega. Sest kui see on 1, ma tahan printida see ja lahkuda. Ma ei taha, et kontrollida midagi muud. Publik: Sa ei taha printida midagi. LUCAS FREITAS: Jah. Sest see on teineteist välistavad. Publik: Ja see ainult juhul, Järgmise juhul, kui esimesel juhul ei ole tõsi? Või see test kõik juhud samal ajal? LUCAS FREITAS: Ei, see kontrolli järjekorras. Järjestikku, jah. Veel üks küsimus, siis me peame liikuda, et saaksime hõlmata kõike. Jah? Publik: Nii et juhul võib olla teinud midagi peale lihtsalt üks? Kas te saaksite seda valikut? LUCAS FREITAS: Ei LAUREN CARVALHO: Ma ei usu, sa ei anna seda valikut. LUCAS FREITAS: sa ei saa te ei saa seda valikut. Publik: juhtum on [Kuuldamatu]. LUCAS FREITAS: Switch on omamoodi väärtusi. Sa teed erinevaid asju sõltuvalt on väärtus, konkreetne väärtus. Sa ei saa teha valikut, sa ei saa teha midagi muud. See on lihtsalt üks vahend, et näha. LAUREN CARVALHO: Enamik inimesi ei kasuta lüliti avaldused vägagi CS50, aga see on seal. Hea küll. Nii et järgmine asi, mida me ei kavatse rääkida kohta on ternaarse operaator. See on lihtsalt üks tüüp tingimuslik. Põhimõtteliselt, mis siin toimub on mul küsib täisarv, ja kui n on üle 100, ma lähen välja trükkida "Kõrge." Kui see ei ole, ma lähen välja printida "madal". Nii et mida ta teeb on tingimus siinsamas sulud ja te saab omamoodi mõelda küsimus kui ma teada, kas see on tõsi või mitte. Kui see on tõsi, ma teen seda esimest asi, ja kui see ei ole tõsi, ma olen kavatse seda teha teine ​​asi. Kõik küsimused ternaarse operaator? LUCAS FREITAS: Tahan märkida alates David on see, et kui sul on tingimus - LAUREN CARVALHO: Ma arvan, et Taaveti vaadates läbi live stream. LUCAS FREITAS: Ta teeb elu oja kohe. Nii et kui teil on seisund, oled peaks panema lokkis traksid, nagu meil on lüliti avaldus siin. Meil on lokkis traksid siin. Mingil tingimused, oled peaks ka panna, et. LAUREN CARVALHO: Näete Selle stiili juhend. Me tegelikult ei ole style guide kohe. Ma arvan, et David ikka töötab. LUCAS FREITAS: Ta ütles, et see on lihtsalt töö nüüd. LAUREN CARVALHO: Oh, see töötab nüüd? OK. Nii ilmselt sel aastal stiil juhendada, isegi kui teil on ainult üks rida, sa pead panema need looksulg sisse Sa ei pea tingimata eest funktsionaalsust programmi. Ja võib-olla me peaksime pausi pärast seda, ja minna otse stiili juhend selge mõned neist asjadest? LUCAS FREITAS: Jah. Kas teil on küsimus? Publik: Ei, ma lihtsalt ootan Kuni style guide. Publik: Kas sa lähed tagasi et kolmekomponentsete operaator? LAUREN CARVALHO: Ternaarne, jah. LUCAS FREITAS: Ternaarne operaator põhimõtteliselt kui teine ​​avaldus, kuid selle asemel on kaks rida kontrollida, kas ja seejärel muud, siis on ainult üks rida. Ühesõnaga, kui ma tahan anda string väärtus kõrge või madal, ja ma tahad teha kõrge kui n on suurem kui 100 või madal, kui see on väiksem, mida ma saan teha on see [kuuldamatu] string saab olema, ja siis ma küsida programm on N suurem kui 100? Nii et miks mul on selline väljend sulgudes ja siis küsimärk. Ma küsin on see suurem kui 100? Kui on, siis see saab olema suur. Kui see ei ole, et see saab olema väike. Ühesõnaga, mida sa arvad on küsida küsimus, et paned sulgudes seisukorras. Siis paned küsimärk sest sa oled paludes. Ja kui see on tõsi, et see saab olema Esimeses väärtus [kuuldamatu] siin. Kui see ei ole, ma lähen üles väärtus, mis on pärast jämesooles. Kas on mõtet? See on ka midagi, mis on nagu vahend C, kuid sa ei pea just seda kasutada. Aga CS inimesed tavaliselt meeldib sest ta lihtsalt hoiab read. LAUREN CARVALHO: See on väga elegantne. Ta teeb palju vaid ühe avalduse. Publik: Nii protsenti märk lihtsalt mida iganes tulemusi eelmine rida? LAUREN CARVALHO: Oh, ma vabandan. Seda protsenti märk on tegelikult kohatäide see s. In printf avaldus, sul see string siin, mis on see, mis läheb välja printida, kuid sa ei saa lihtsalt pane see seal sees on. Vastasel juhul oleks printida välja s sõna-sõnalt. Seega me paneme protsenti siin hoida selle koha leidnud mingil tuleb pärast koma. Nii string, sul protsenti s. For täisarv protsenti i. Sest float, protsenti f. Näete neid, nagu me vaata veel näiteid. Aga võib-olla sa peaksid rääkima stiilijuhend natukeseks, nüüd et see üles. LUCAS FREITAS: Kui te lähete cs50.net/style, sa lähed, et näha style guide. Sest probleem komplekti, teie skoor probleem komplekt koosneb ulatus, mis sisuliselt tähendab, et kui sa tegid kõik osad lahendamist või kui te üritanud midagi. Teine asi on see, korrektsus, mis vahenditega on teie programm seda, mida ta pidi tegema, või teeb seda on vigu, või on see mitte seda, mida see peaks tegema. Kolmas asi on disain, mis tähendab, te rakendamisel hästi, või on Kas kasutate tarbetu väidetega? Nii näiteks, kui soovite korrata number 10 korda, sa kirjutad loop või sa lihtsalt teed 10 korda Sama avalduse, lihtsalt teeme kopeeri ja kleebi. Nii disain on selle eest. Ja lõpuks, sa pead stiil. Stiil on nagu otsustades kui koodi välja loetav ja täitsa ilus. See lihtsalt tähendab põhimõtteliselt on oma kood loetav? Kas keegi, kes otsis ei koodi suutma mõista, mida see teeb? Kas on kommentaare jms? Räägime stiili te peaks kasutama. Esimene asi on kommentaare. Kommentaarid on väga oluline oma kood, sest mõnikord sa teed oma programmi, ja sa tead täpselt, mida sa tahad seda teha, sa lihtsalt alustada kodeerimine, kirjuta hunnik C. Kuid kui keegi tahab sa oled kood, nad ei kavatse olla võimeline mõista seda, sest nad ei tea, seda, mis on su peas, nagu pesudocode, et äkki nad on raske mõista Mida kood teeb. Nii kommentaarid on tõesti kasulik, et selgitada keegi, kes vaatab koodi, mida ta teeb, ja tegelikult isegi teile, nad on väga kasulik. Nagu te minna raskem ja raske Psets, sa lähed, et näha, et kood saab pikem ja siis kommentaarid on tegelikult oluline et sa mäletad, mida igal osa oma programmi teeb. Panna kommentaar, saate teha kaldkriips kaldkriips ja siis kirjutada kommentaar. Ja kogu liin on osa kommentaarist, ja mida sa kirjutada, see ei kavatse olla kasutada oma koodi. See on põhimõtteliselt nagu tõlkija läheb seda ignoreerida. Kas see on mõtet? Publik: Mida teha taas Kommentaari kirjutamiseks? LUCAS FREITAS: see on? Slash kärpida? Kui sa kirjutad slash slash, olenemata on see, et liin ei kavatse et pidada C. Jah? Publik: Nii et pärast kommentaari, siis Sisestage ja alustada uut rida? LUCAS FREITAS: Jah, täpselt. LAUREN CARVALHO: slash slash on üherealised kommentaarid. LUCAS FREITAS: näiteks siin me oleme - andke mulle suurendada - Näiteks siin ma kuulutatakse float, aga võib-olla, kui sa lihtsalt panna see oma koodi, nagu sa ei tea, mida see teeb, nagu tegelikult keegi, kes vaatab selle koodi saab olema, nagu, mida kuradit toimub? Kui paned kommentaar öeldes: "teisendada Fahrenheiti Celsiuse, see teeb palju mõttekam. Sa oled nagu OK, sa oled teeme vahetamisega. Kas see on mõtet? Nii et see on lihtsalt midagi, mis aitab inimestel valmis oma koodi ja ka Kas oleks võimalik korraldada koodi parem. Teine asi on see, mida saab teha mitmeliiniline kommentaare, nii on üks kommentaar kamp read. Selle asemel, et panna slash slash, esimene rida märkusi, kaldkriips kaldkriipsuga teine ​​rida, ja nii edasi, siis saab kasutada kaldkriipsu star. Nii, et sa seda teha on see, et esimene rida kommentaar, sa oled teeme kaldkriipsuga star star, nii lihtsalt niisama. Nii nagu meil on siin algusest programmi, siis tavaliselt pannakse, kes sa on, mida see programm teeb, ja värki. See on selline nagu päis programmi. Jällegi, see ei ole midagi, mis koostaja läheb hooli, kuid see on oluline, et sa tead, mida see programm teeb või teiste inimeste teada, mida teie programm teeb. Nii et sa ei kaldkriips star star, ja siis viimane rida sa lähed tegema star kärpida saaks sulgeda et kommentaari. Seega praktiliselt kõigi teiste liinide võid lihtsalt kirjutada mida iganes, ja see on kõik kavatse ignoreerida. Ja samuti, nagu stiil, siis näeme, et iga rida on staar, ja kõik tähed on joondatud. Need on olulised asjad nii et kood tundub päris. Kõlab hästi? Nüüd tingimused. Mida David ütles, et me peaks tegelikult panna need slaidid, on see, et kui teil on mis tahes liiki kui avaldused või mis tahes tingimustel siis tuleks kasutada looksulg näidata, et see on see, mis juhtub kui teil on seisund. Tehniliselt kui teil on seisund, ja siis järgmine rida on vaid üks line, sa ei ole tehniliselt on panna lokkis traksid. Põhimõtteliselt koostaja ei mõista ikkagi kui kaudsed. Aga CS50, palume teid panna looksulg lihtsalt nii, et teie kood on paremini organiseeritud ja loetavamaks. Sest see kood muutub pikemaks, kui te ei ole lokkis traksid ja selline. Läheb tõesti räpane. LAUREN CARVALHO: See on täpselt mida David lihtsalt märkinud minu eelmine slaidid. See kindlasti töötab ilma lokkis traksid, kuid stilistilise põhjustel me palume, et sa ei pane neid sisse Ja kui hakatakse style50, mis on selline kontroll 50 style, see meenutab teile seda teha. LUCAS FREITAS: Ja teine ​​asi on see, Ärge unustage panna looksulg mööda Iga rida. Nii et sa teed, näiteks l's. Mine järgmisele reale avada lokkis traksidega, siis te lähete järgmisele reale. Taane, mis on nelja ruumi. Siis kirjuta iganes, siis teine line ja sulgege lokkis traksidega. Nii olla kindel, et nii need lokkis traksid on eri liinid. Publik: Nii et kui see kood oli nagu 10 muud investeerimisfondid see peaks olema 10 komplekti sulgudes? LUCAS FREITAS: Jah, igaüks neist. Jah. Niisiis, kui teine, kui, ja nii edasi. Publik: Kas te ei vajutage Tab taandama? LUCAS FREITAS: Me palume teil kutid kasutada nelja ruumi. Mõned teksti toimetajad tõlkida tab kui nelja ruumi automaatselt. gedit ei ole, nii et sa pead teha space space. See on ka midagi, et mõned programmeerijad teha ainult klapid, mõned programmeerijad teha ainult neli ruumi, ja mõned teised inimesed isegi teha kahe või kolme tühikuid. See on lihtsalt, et siin me palume kutid teha nelja ruumi. Publik: seal on peaaegu kindlasti peab olema mingi viis gedit et automaatselt [kuuldamatu]. Nagu ei [kuuldamatu] teeb. LUCAS FREITAS: Jah. Ma arvan, et sa ei saa minna Settings. Publik: See juba ei kogu seda. LUCAS FREITAS: See juba teeb? OK. Nii lihtsalt olla kindel, et sa on nelja ruumi. Publik: Kas me peame panema lokkis sulgudes jaoks silmuseid ka? LUCAS FREITAS: Jah. LAUREN CARVALHO: Kui teie kapslimaterjali ploki koodi, just Palun kasutage lokkis traksid. Ja enne kui te arvate, et me oleme lihtsalt on sticklers selle jaoks ei ole hea Seetõttu, kui te ei lähe, et saada tech praktikume kell suurettevõtted, nad teile style guide ja nad ütlevad teile, et see on see, mida teie kood peab nägema. Ja kuigi sa õppinud kood nagu see võib-olla oma internatuuri sa pead tegema midagi täiesti erinevad. Nad ei arvanud, et sa vasta oma stiili. LUCAS FREITAS: Ja veel üks asi on et sa märgata, kuidas mul on nagu x, ruumi, vähem ruumi, 0? Kui teil on operaator - see võib olla nagu pluss, miinus, korda vähem, suurem, mida iganes operaator - sa pead panema ruumi vasakul ja paremal operaator. LAUREN CARVALHO: Need on nimetatakse binaarne operandi. Lihtsalt veenduge, et teil on alati ruumi läbi oma binaarne operandi. LUCAS FREITAS: See on mitte binaarne operandi. LAUREN CARVALHO: See on sest see võtab kaks. LUCAS FREITAS: Oh, jah. OK, lülitid. Esiteks, teil on näha, et nii nagu aastal, kui muidu avalduse, siis on panna lokkis traksidega oma rida ja all lokkis traksidega siin. Pange tähele, et tegemist on ühe ruumi pärast lüliti, just nagu siis, muidu pidime ühe ruumi vahel mis ja sulgudes. Nii et sa pead panema seda. Ja seal ei ole ruumi peale iga ning sulgudes või enne lõppu on sulgudes. Nii et näete, et see kõik on koos, ja meeldib ka siin. Jah? LAUREN CARVALHO: Ma arvan, me peame edasi liikuma. LUCAS FREITAS: Nii et see on osa stiilijuhend et teil on CS50. Kindlasti minge cs50.net/style ja kui heita pilk see. Need kõik on väga oluline oma stiili skoor. Lubage mul minna tagasi avaldusega. LAUREN CARVALHO: Ma pigem lihtsalt kasutada style50. Me lihtsalt läheme otse ring. Hea küll. Seega lähme tagasi sisu, nüüd et oleme läinud üle style guide. Loops, oled näinud neid Scratch ja me räägime neile C. In for loop on kolmes osas deklaratsiooni selle kohta loop. Sul on oma vormindamise sisse mis te seate oma muutujaid. Sul on oma tingimus, mis on kontrollides, et näha, kas midagi on õige või vale ja kas loop peaks jätkuma. Ja sul on uuendus, mis ajakohastab oma muutujaid. Ütleme lihtsalt võtta kiire pilk mõned C koodi selle jaoks loop in action. Mis toimub siin, käivitamise, me seame I 0. In tingimus me kontrollime kas i on väiksem kui 10. Ja update oleme incrementing i. Mis siis tuleneda Selle jaoks loop? LUCAS FREITAS: Tegelikult, esiteks, Kas te teate, mida ma + + on? Publik: suurendada 1. LUCAS FREITAS: suurendatakse 1, jah. Nii et see on sama asi, mis teeme i võrdub i pluss 1. Ja teate, et meil ei ole ruumi vahel i ja + +. Nii et te teate, mida see teeb? Kas keegi mulle öelda? Ja võib-olla natuke kommi sellepärast? Publik: [kuuldamatu] LUCAS FREITAS: OK. [Kuuldamatu] näidata kõigile hiljem [kuuldamatu]. Jah, see läheb, et näidata "See on CS50 "10 korda. LAUREN CARVALHO: Ma arvan, et see oli pealkirja slide. LUCAS FREITAS: Oh, jah. [Naer] LUCAS FREITAS: see aitab. LAUREN CARVALHO: Nii et need on mõeldud kaart. Me näeme veel mõned näited FOR silmuseid hiljem. Kuid olgem tegelikult vaatleme Teist tüüpi loop saate kokku puutuda C, ja seda nimetatakse samas silmus. Aastal samal ajal loop, olete just seisukorras. Seisund on kontrollitud algab, ja kui see tingimus TRUE, siis koodi keha kui plokk täidab. Ja koodi jätkab teostada nii kaua, et tingimus on tõsi. Siin on näide sellest, kui silmus C. Me määrata loota kuni 10 alustada. Niikaua kui arv on suurem kui 0, me hoida väljatrükk see muutlik. Me läheme aland arvu ja siis kontrollige tingimus uuesti. Print, aland, check tingimus uuesti. Siin on näide, mis puudutab Teie küsimusele varem. Pidime protsenti s, kui olime väljatrükk string, ja nüüd, et me väljatrükk int meil protsenti i meie kohatäide asemel. Tähed peavad kõik olema ilus intuitiivne, S string, i jaoks int. Nii et kui see kood hukatakse, siis tuleb loendama 10-0, väljatrükk iga täisarv. LUCAS FREITAS: Ja sa ei mõtle protsenti, kuna see tundub tühi ruumi ja siis paneme selle muutlik, et tühi ruum. Nii näiteks, siin on mul lihtsalt tühi, ja siis ma panen loe seal, väärtus loota. Kas see on mõtet? Kas ma ei meeldi printf ja siis tsiteerib loota? Kas see toimib? Publik: Ei. LUCAS FREITAS: No, kuna seda tegelikult trükkida sõna "count" printimise asemel value. See, kuidas sa teed seda printida väärtused poole muutuja asemel lihtsalt nimi muutuja. Kas on küsimusi? Publik: Miks sa kasutad kui selle vastu küll? LAUREN CARVALHO: tahaksin kasutada eest loop, kui ma ei tea täpselt, kui palju korduste Ma tahan, et mu silmus jooksma. Sel juhul ei ole oluline, sest Ma mõtlen, ma üritasin lihtsalt arvad tõesti lihtne Näiteks selle slide. Aga oletame, et sa tahad midagi Jätkab samas - LUCAS FREITAS: Näiteks, sa oled paludes sisend kuni inimene annab teile õige sisend. Nii nagu kui sisend ei ole OK, hoida seda taotlevad. Või nagu kui oled vanemad ei anna raha, hoida seda taotlevad. [Naer] LAUREN CARVALHO: Sa ei tea, kuidas mitu korda on teil seda teha. LUCAS FREITAS: sest sa ei tea, mitu korda, et see on läheb edasi. LAUREN CARVALHO: Aga silmus, mida pead teadma, kui palju kordi. Jah? Publik: Just selgitada protsenti ütleb, et see on midagi, mis juhtuda, i on ette täisarv ja kurakriips n - LAUREN CARVALHO: Tähendab? Kes teab, mida kurakriips n tähendab? New line, jah. Täpselt. LUCAS FREITAS: Sa ei mõtle n kui uus rida. LAUREN CARVALHO: Nice. Publik: Mis see on arv kriips kriips [kuuldamatu]? LUCAS FREITAS: Count miinus miinus on sama asi pluss pluss, kuid suurendamise asemel, see vähenedes 1. LAUREN CARVALHO: Kõik rohkem samas silmus küsimusi? Ei? Oh, me pidime on vahele see. See on tee, samas silmus. Väga sarnane, samas loop välja arvatud Sel juhul me kontrollime olukorda peale kood kehas loop täidab korraga. Nii me ellu kood Esimene ükskõik mida. Siis kontrollida tingimuse täitmisest seda uuesti, kui tingimus on tõene. Leiad ise, kasutades seda kui sa palud kasutaja sisend. Sest sa oled alati läheb on küsi kunagi, ja siis sõltuvalt sellest, mida kasutaja sisend on, siis võib-olla reprompt ja küsi uuesti ja uuesti, kui sisend ei olnud, mida sa oodata seda. Publik: Nii et see on nagu vormi inimestel täita. LAUREN CARVALHO: Jah, täpselt. Leiad, ma arvan, et oma väga esimene Erksa, sa lähed pea kasutada hästi loop koguda panus kasutaja. Publik: Sõltuvalt olukorrast, oma aega silmad kipuvad kulgema sagedamini kui silmad, nagu üks või midagi? LAUREN CARVALHO: Kui see on täpne - LUCAS FREITAS: Nad peaksid alati joosta täpne summa korda, et sa tahad seda käivitada. Nagu me kasutame teha, samas, kuna me tõesti tahtsin saada sisend vähemalt üks kord. Aastal samas silmuseid, mõnikord sa ei taha täita seda üldse, kui see ei ole puhul täita. Nii et see sõltub disain. Ma mõtlen, võite kasutada seda kui või kui nii kaua kui teie kood teeb seda see peaks tegema. LAUREN CARVALHO: Aga mina arvan, et vastus teie Küsimus on ilmselt jah. Oletame, et tingimus oli vale. Ühel juhul läheks üks kord ja Teisel juhul läheks null korda. Seega, jah. Veel küsimusi? Jah? Publik: Kas loop tingimus olla loop poolest muutuja muu kui [kuuldamatu]. LAUREN CARVALHO: Jah see võib olla midagi. Tõenäoliselt algab Psets, siis ei pea tekib juhul, kuid Kindlasti võib see olla midagi. LUCAS FREITAS: Ma arvan, me siin teinud. LAUREN CARVALHO: me oleme? Ei? LUCAS FREITAS: Loops? Jah. LAUREN CARVALHO: Me ei tohiks olla. Oh, me oleme teinud koos silmuseid. OK. Tegelikult, kuna me oleme rääkinud nii palju, olgem tegelikult kõik navigeerida üle study.cs50.net/conditions. Ja sa lähed liikuda alla probleemidele vidin. Noh, tegelikult, kui inimesed saavad see moodustatakse CS50 Study on saab olema vahend, mis oma TF tahe kasutada valmistuda lõigud ning te saate kasutada, kui teil jääb lõigud. See saab sisaldama hunnik slaidide mõningaid näpunäiteid iga teema ja mõned praktikas probleeme lahendusi. Miks kõik ei ole lihtsalt vaatleme seda probleemi siin. Mul on kahju, ma oleks pidanud meenutas inimesed tuua sülearvutid täna. Aga kui sul ei ole laptop, see on OK. Sa võid kübeke see alla paberile või vaadata üle oma naabri õlale. Proovime ja kirjutada programm, mis küsib kasutaja peaksin arvama, Keskmine laste arv pere üksus USAs. See number on 2, muide, nagu te saab näha näidetest. Tahame välja printida keskmine arv laste perekonna kohta USAs, siis me tahad mida? Me tahame, et koguda kasutaja. Ja siis sõltuvalt sellest, mida kasutaja sisend on, sa lähed välja trükkida kas see on õige või see on vale. Ja kõige esimene asi, et teil vaata, kui klõpsate vähe noolt põhja probleemi vidin on kohapeal kübeke alla mõned pseudokoodi. Nii et sa ei programmeerimise veel. Sa lihtsalt saada oma ideid selleks. Kas keegi taha aidata Lucas tulla õigus pseudokoodi selle probleemi? LUCAS FREITAS: Mis on esimene asi, et me peaksime ilmselt teha siin? Mida te poisid arvate? Publik: [kuuldamatu] LUCAS FREITAS: Jah, OK. Niisiis, print. Lihtsalt öelda, print see keskmine hulk inimesi? OK. Prindi küsimus, oletame. Kui ma printida sellele küsimusele, Mida ma peaksin tegema? Publik: Saa sisend. LUCAS FREITAS: saada sisend. Midagi veel? Publik: seisukord. LUCAS FREITAS: seisukord. LAUREN CARVALHO: Mis on see, et seisund saab olema? Publik: number of [kuuldamatu]. LAUREN CARVALHO: Õigus. LUCAS FREITAS: Mida ma siis lähen et kontrollida tingimus? Publik: Kui see on võrdne 2. LAUREN CARVALHO: Kui see on võrdne 2. Täpselt. LUCAS FREITAS: Kas on midagi, muud, mis ma tegema peaks? Publik: krahv. LUCAS FREITAS: Nii et kui see on võrdne 2, ütleme - las ma kirjutan, kui sisend moodustab 2, siis ma lähen teha on print õige. Ja siis veel, ma lähen trükkida vale. Midagi veel? Ei? LAUREN CARVALHO: Nii et sa klõpsata - kas kõigil on see maha? LUCAS FREITAS: Kas on mõtet? Nüüd proovime kood Siin. LAUREN CARVALHO: Kui klõpsate vähe nool, siis tegelikult salvestab pseudokoodi, mis on tõesti põnev. Ja sa võid teha need kommentaaridesse kui tahad lihtsalt endale meenutada mida teha. LUCAS FREITAS: Nii näiteks, esimene Ma lähen välja printida küsimus, nii Kuidas ma seda teha, tegelikult? printf. Nii printf ja küsimus on keskmine laste arv pere USAs. Siis ma lähen panus kasutaja. Niisiis, kuidas ma saan seda teha? Publik: Saa Int. LAUREN CARVALHO: GetInt. LUCAS FREITAS: OK. Nii et kõigepealt tunnistada, eks? int, ütleme n võrdub GetInt. Ja nüüd seisukorras. Nii et lubage mul öelda, et ma lähen et siin Otsige vastus. Nii esimese kui sisend, mis on n võrdne et - kuidas ma seda kirjutan? Publik: võrdsete võrdne. LUCAS FREITAS: Perfect. Nii n. Ja teate, mida ma teha ruumi võrdne, võrdne ruumi, tõsi. Ja nüüd, mida ma peaksin tegema? Midagi väga oluline stiil. Lokkis traksid. Ja siis ma lähen printida. Kuidas printida? printf. Publik: Kas võib kapitaliseerida? LUCAS FREITAS: Ei See peaks olema kõik väiketähed. Nii et on õige. Kas see on piisav printf avaldus, või ma kadunud midagi? Publik: Uus liin. LUCAS FREITAS: New line, jah. Ja nüüd teine. Publik: Kas ruumi pärast printf, või ei? LAUREN CARVALHO: peaksime kontrollida stiili juhend. Publik: See ei tohiks olla. LUCAS FREITAS: Ei tohiks olla, OK. Nii teine, printf "See on vale." LAUREN CARVALHO: Oops, oma hinnapakkumisi. LUCAS FREITAS: OK. Midagi veel? Kas see tundub hea? LAUREN CARVALHO: Kas me proovida? LUCAS FREITAS: Jah, teeme käivitada. Nii et see on koostamisel ning see Tundub, et see töötab. Proovime kaks last. See on õige. Ja nüüd lähme uuesti avada, kuid nüüd asemel panna kaks last, olgem öelda, et ma panen nagu viis. See ei ole õige. Seega tundub, et see töötab. LAUREN CARVALHO: Miks sa ei näita neid mis juhtub, kui paned midagi imelik, nagu mõned tähed. LUCAS FREITAS: Oh, jah. Teeme ka vaadata seda. Mis siis, kui kasutaja üritab jama oma programmi, ja nad lihtsalt kirjutada, ma ei tea, kaks. See saab öelda Uuesti. LAUREN CARVALHO: Nii GetInt küsib neid uuesti. Me ei pea hoolitsema selle ise. LUCAS FREITAS: Jah. Nii et kui ma tegelikult panna number, see on kavatse hoida minult küsitakse uuesti. Publik: Kuidas sa kasutada seda? LUCAS FREITAS: kliki see täht nuppu. LAUREN CARVALHO: Sa peaksid minema. Seal sa lähed. LUCAS FREITAS: täht nuppu seal. Jah? Publik: Kas see ajendab [kuuldamatu] koos kümnendarvudena liiga? LAUREN CARVALHO: ma usun, et see on. LUCAS FREITAS: Kui ta teeb? LAUREN CARVALHO: kui nad tüüp aastal kümnendmurruna, ma arvan see läheb küsima. LUCAS FREITAS: Vaatame. LAUREN CARVALHO: Kuna see ei ole int. LUCAS FREITAS: Jah. LAUREN CARVALHO: Nii see ei ole int, Hangi Int pärib uuesti. Publik: Nii et kui selles kood oleks kümnendkohani, mis küsib kasutaja, et nad peavad sisenema täisarv konkreetselt? LAUREN CARVALHO: GetInt on tegelikult teeme seda meie. Publik: Ei, ma mõtlen, kui me tahtsime siseneda [kuuldamatu] LUCAS FREITAS: Võite öelda, nagu keskmine Laste arv USAs. Ma ei tea. Me ei saa öelda, näiteks "Palun input täisarv. " LAUREN CARVALHO: täisarv Lisa keskmist arvu. Ma mõtlen, et see on lihtsalt kuidas sa sõna, eks? LUCAS FREITAS: Jah. See ei kuulu tegelikult kodeerimist. See on rohkem nagu mis iganes sa lähed tahan kirjutada oma programmi. Publik: Kuidas me joosta, kui see oli tegelikult gedit [kuuldamatu]. Selle asemel, vajutades play? LUCAS FREITAS: me kõigepealt kompileerida. Me saame seda teha, tehes make ja faili nimi. Ja siis kestab see, et me teeme dot kaldkriipsuga ja programmi nimi. Publik: Ma arvan, et see, mida ma mõtlesin oli, kui tahtsime programmi vastata nende vale, vale kanne, sa ei tohiks panna - LUCAS FREITAS: Me ei suutnud seda teha, sest koodi see ütleb uuesti pärineb Get Int mis on funktsioon, mis on juba rakendatud meie kaudu CS50 raamatukogu ja alates see on juba ellu seal, ei saa lihtsalt [kuuldamatu]. LAUREN CARVALHO: Kui te ei kasuta GetInt, siis saate seda teha. LUCAS FREITAS: Jah. Aga kui te kasutate GetInt, sa ei saa. Muid küsimusi? Publik: Kas teil on läinud nagu GetFloat ja siis oleks võimalik panna selle kohaga? LUCAS FREITAS: Jah. Publik: OK. Siis sa lihtsalt ei suutnud sisendit float võrdsete - LAUREN CARVALHO: Jah. Täpselt sama, välja arvatud float asemel int. LUCAS FREITAS: Lihtsalt pane see siia ja siis GetFloat seal. Publik: Nagu te näha või on näinud - LAUREN CARVALHO: meil ei saanud seal veel. Publik: - teed ebavõrdsust ujukid ei [kuuldamatu] Publik: Mida semikooloniga tähendab? LAUREN CARVALHO: semikoolon lihtsalt tähendab, et see avaldus on tehtud, ja me läheme peale järgmisele slaidile. Publik: Nii et see on vajalik iga kord? LAUREN CARVALHO: Jah. Noh, okei, nii ei need tingimused, sest nad on kapslimaterjali midagi. Nii et põhimõtteliselt, kui midagi põhjustab sul siis luua lokkis traksidega plokk, ei pane semikoolon aasta lõpus. LUCAS FREITAS: Aga kõik muidu, jah. Kui olete oma avalduses, pane semikoolon. Ja kui te unustate semikooloniga, koostaja hakka pahane, ja sa lähed on proovida seda parandada. LAUREN CARVALHO: Kui panin semikoolon siin, et lõpetavad selle, ja ma ei saa kunagi täita, mida on sees, muide. Nii et see on üks nende ühiste vigu. Publik: Alati täitev. LAUREN CARVALHO: Jah. Sel juhul me oleks alati täitmisest, mis seal sees. Publik: Sinu stiil [kuuldamatu] kinnitage, et teie jaoks, arvasin. LAUREN CARVALHO: Oh, see on tõsi. Publik: [kuuldamatu] vallaline line asi [kuuldamatu] Publik: Jah? Publik: Kas teil on mitu sisendite ühele joonele? Nii nagu võite küsida kasutajad printida kaks asja? LAUREN CARVALHO: Ei kasuta - LUCAS FREITAS: Ei Ütleme, et ma tahan ka saada see täisarv m. Ma pean seda tegema erinevat liini. Publik: Kui sa olid joosta et, kuidas [kuuldamatu]? Oleks printida kiire seal [kuuldamatu] ja siis sa sisestage üks ja - LAUREN CARVALHO: Noh, käivitage see. Ma mõtlen, et seal on midagi keela meil lihtsalt töötab see ja näha, mida juhtuks. LUCAS FREITAS: Ma arvan, et see on läheb kaebab meid sest me ei kasuta - LAUREN CARVALHO: Oops. LUCAS FREITAS: Ta heitis meid paremale nüüd, sest me ei kasuta seda varieeruv, kuid kui ma näiteks n on võrdne võrdne ja m võrdub võrdne, siis mis juhtub sellisel juhul? Mida see programm teeb? Publik: Ma lihtsalt mõtlesin, kuidas oleks - LAUREN CARVALHO: Ta lihtsalt tahab teada, kuidas see välja nagu, ma arvan, on nii? Nii võttis ta üks neist, ja siis kulus teine. Ma arvan, et me peaksime edasi liikuma, sest meil on veel üks slaidiseansi minna enne - sa tahad tõmba matemaatika? LUCAS FREITAS: Jah, matemaatika. LAUREN CARVALHO: Anna mind hetkeks. Seal on palju erinevaid numbrilisi muutujate C. numbrilised andmed C võib liigitada eri tüüpi ja need on need teid vaata kõige sagedamini. Ja int on täisarv. Sa ei saa olla komakohad. Seadmesse, mis kulub 32 bitti salvestada int. Float saab olema komakohad. Samuti võetakse 32 bitti salvestada float seadmesse. Double on number, mille pärast punkt, mis võtab 64 bitti salvestada see, mis tähendab, et saate lihtsalt Suurema täpsuse tõttu sul võib olla rohkem - mida sa seda nimetad? LUCAS FREITAS: Jah, see on rohkem. LAUREN CARVALHO: rohkem kohti pärast koma. Ja pikk pikk on täisarv , mis võtab 64 bitti valus see seadmesse. LUCAS FREITAS: Nii et see võib olla suurem kui ints saab. LAUREN CARVALHO: asi andmed liigid C on see, et nad ütlevad sulle, mida milliseid andmeid saab salvestada Teie muutuja. Nad räägivad teile, kuidas saate kasutada seda muutuja oma programmi. On väga oluline, et lihtsalt jälgida milliseid andmeid tüüpi te kasutate, ja kui sa ei pea valatud andmetüüp teise, veenduge, et sa tead, täpselt, mis juhtub siis, kui see casting toimub. Ja te näete, näiteks hiljem on neis slaidid viga, et võib tekkida. Võtame pilk mõned matemaatika C ja arvad tõesti hoolikalt, ma arvan, kohta, mis toimub siis, kui see matemaatika toimub. Kõige esimene rida, mis on juhtub, kui ma tunnistada x? Publik: Sa võimaldades x olema midagi? LAUREN CARVALHO: Jah. Noh, ma tõesti küsida operatsioonisüsteemi süsteem 32 bitti mälu, eks? Kus i on võimalik salvestada keskmine, ja Ma helistan, et int x. LUCAS FREITAS: Põhimõtteliselt läheb mälu ja leida koht, mis on 32 bitti ja ütleb, kuule, ma tahan, et see ruum, ja see saab olema nn x. Nii et sa oled lihtsalt päris palju leiu kasti oma mälu poe väärtused x. LAUREN CARVALHO: Ja siis ma initsialiseerida x, mis tähendab, et ma lihtsalt salvestada väärtus 2 selles kohas, et patakas mälu, et küsisime tegevuskulud süsteem. Ja siin, mida me teeme, on me tegelikult tunnistamise ja algväärtustamisel y ühel real asemel kaks rida nagu me tegime siin üleval, mis on ka täiesti õige, me oleme Lisades 1 x ja me ladustamiseks et väärtus y. LUCAS FREITAS: Ühesõnaga, mida see line ei, see leiab nüüd kasti y, ja siis selle väärtus, asi, sa lähed panna kasti sees on saab olema väärtus x pluss 1. Nii et see on see kast y. Läheb x väärtus, välja siin ja näen, et see on 2. Pane see sinna, pluss 1, seega ta paneb 3 seal. Kas see on mõtet? Seega y oleks 2 käesolevas asjas. LAUREN CARVALHO: Olgu, lahe. Me nägime mõned Lisaks niiet nüüd arvate umbes rajoon C. Siin ma olen tunnistamise ja algväärtustamisel float kutsutud vastus ja jagades 1 10, ja siis ma väljatrükk vastus kuni kaks kohta pärast koma. Ja pange tähele, siin on minu printf avaldus kui ma tahan trükkida midagi kahe pärast koma,% .2 f on mida ma tahan kasutada. Seega punkt 2 on lihtsalt öeldes Mul on vaja kahest kohast pärast pärast välja trükkida. Nüüd, mis juhtub kui ma saan seda koodi? Kas keegi on idee? Mida välja printida? LUCAS FREITAS: Mis on me lootnud saada. LAUREN CARVALHO: Mida teha tahame kõigepealt? LUCAS FREITAS: [kuuldamatu] LAUREN CARVALHO: 0,1, jah. Mis aga saab välja printida? Publik: [kuuldamatu] LAUREN CARVALHO: Noh, ei, tegelikult. See on see, mida ma räägin, miks te peame hoidma väga hoolikalt jälgida oma andmete liigid. Niisiis, millised andmed tüüp on? Kas int, eks? Pole kümnendkohani. 10 on ka int. Pole kümnendkohani. Kui ma jagan int poolt int, saan int, mis ei ole 0,1, sest ints ei saa pärast koma, kuid ainult 0. Kuna int lihtsalt kärbib off kohta pärast koma. LUCAS FREITAS: Nii et kui sa toimingute ints, sa lähed saada int kui vastus. Ühesõnaga, mida arvuti teeb, see on lõhed 1 järgi 10 ja see läheb 0,1. Aga see on nagu, oota, see on peaks olema täisarv, nii et sa lihtsalt ignoreerida 0,1, nii et see on nüüd ainult 0. LAUREN CARVALHO: Nii et kui ma printida välja, saan 0,00 asemel 0,10. LUCAS FREITAS: Kas see on mõtet? LAUREN CARVALHO: See on selline kahetsusväärne, eks? LUCAS FREITAS: Niisiis, kuidas me saame seda parandada? LAUREN CARVALHO: Lähme proovida ja parandada. Siin on näide selle kohta, kus ma olen tegelikult casting 1 ja 10 kuni hõljub. Nüüd, 1 ei ole enam int. 1 on sularahaga. Muide, see on lihtsalt süntaks kui sa tahad, koo ühest andmete tüübist teise. Sa võid panna andmetüüp sulgudes ja on, et lihtsalt eelnema väärtus, et sa valu. Nii et siin ma jagan float poolt float saada float vastus. Ning jah, see tähendaks Tegelikult printida 0,10. Kas see on mõtet? LUCAS FREITAS: Nii tüüpi casting on lihtsalt konverteeriva ühest tüübist teise. Nii float 1 on tegelikult 1,000. Mitte päris, aga see on midagi, koos koma see on tegelikult 1. Kas see on mõtet? Jah? Publik: Mis siis, kui sa float vastus võrdub 1,0 jagatud 10? LAUREN CARVALHO: Sa oled tegelikult toimub näha, et järgmisel slaidil. See on tegelikult meie väga järgmisele slaidile. See on tegelikult parem kui Tüüp valamine, ma arvan. Nii et need kaks on ujukite lihtsalt milline asjaolu, et nad on koma. Jah? Publik: Mis siis, kui sa tegid [kuuldamatu] jagatud 10? LAUREN CARVALHO: Tegelikult float jagatud int tegelikult annab teile float, et töötaks hästi. Oota, kas kõik sellest aru? Kuna see saab olema tõesti suur asi Pset1 tegelikult. Jah? Publik: Kas sa lihtsalt kiiresti minna üle punase osa? LAUREN CARVALHO: punane osa, jah. Lucas, sa tahad? LUCAS FREITAS: OK. Seega pidage meeles, et protsenti on kohatäide. See on nagu tühi ruum. Seega proovime mõista kõike mis siin toimub. Protsent tähendab, et see on kohatäide. Siis on f, mis tähendab, et kohanäitaja on sularahaga. Viimane asi, mis meil siin on, 0,2, mis tähendab, et ma tahan olla kaks koma float. Kui ma lihtsalt pidin% f, need ta paneb hunnik kümnendkohani. Nii et ma ei saa lihtsalt panna 0,2 või 0,1 või 0,5, või mis iganes, ja see saab panna, et komakohtade arvu. Ainuke asi on see, et kui paned nagu 0,100 või .1,000, see ei ole tegelikult paneme kõik need pärast koma kuna see ei ole piisavalt mälu on, et täpsus. Muid küsimusi? Jah? Publik: Nii hõljuda lihtsalt võimaldab te minna kaugemale täisarvud? LUCAS FREITAS: Jah. LAUREN CARVALHO: Noh, float lihtsalt võimaldab teil on koma. LUCAS FREITAS: See tähendab lihtsalt, et sa nüüd saab olema kümnendkohani. Publik: Miks me kunagi kasutada täisarvu? LUCAS FREITAS: Miks kasutate täisarvud? Võib-olla, kui sa loodad 0-10, soovite kasutada tegelikult täisarv. Sa ei pea kasutama käibevahendeid. Teatud olukordades, sa ei pea on tegelikult - LAUREN CARVALHO: Äkki ei taha komakohad. LUCAS FREITAS: Võibolla sa ei soovite kasutada float. LAUREN CARVALHO: Teine asi on, mäletan, nii panna float ja int võtta 32 bitti salvestada neid ja võib-olla sa ei taha raisata bitti koma. LUCAS FREITAS: Jah. Nii nagu, lihtsalt mõelda seda. Sul on 32 bitti nii int ja sularahaga. Sest int, kõik need 32 bitti mine täisosa. Kui kasutad float koos 32 bitti, siis on osa sellest mällu arvu, kogu number, ja teist osa kasutatakse koma. See tähendab, et sa ei saa, väga suur hulk ujukite sest float on juba kasutavad palju mälu kohta pärast koma. Jah? Publik: See esimene vastus, mida täpselt see teeb? Kas see, milles väärtus float võrdne selle kohatäide, et saate leidke see järgmisele reale? Ta ütleb, float vastus. LUCAS FREITAS: Jah. Niisiis, float vastus tähendab, et te saate nüüd natuke kopp mälu omab float, ja mis läheb mida nimetatakse vastus. Nii see on, mida float vastus ei. Ja siis sa ütled, et seestpoolt seda, sa lähed panna tulemusena. Nii et sa lähed tegema 1,0 jagatud 10,0, saad 0,1 ja siis paned et sees vastuse. LAUREN CARVALHO: Nii ühel real, me oleme tunnistamise ja algväärtustamisel see float kutsutud vastus. LUCAS FREITAS: Huvitav, kuigi See on vaid üks rida, see teeb mitu toimingut. See on lihtsalt viis C rendileandmine te kasutate vähem koodi. See on sama asi nagu ternaarse operaator, kuidas saab lihtsalt teha [Kuuldamatu] ühele joonele. See on tegelikult teevad sama asja nagu teeme float vastus, semikoolon, ja siis vastus on võrdne, kuid selle asemel, et muutes te kaks rida sellele, see on nagu otsetee. Jah? Publik: Nii et kui sa jooksid seda, oleks 0.10? LUCAS FREITAS: Jah. Jah? Publik: Kas vastab tegelikult koodi või on see lihtsalt nimi on? LAUREN CARVALHO: See on tegelikult koodi. See on see, mida me nimetada meie muutuja. Publik: Nii et see on lihtsalt nimi [kuuldamatu]. LAUREN CARVALHO: Jah. Ma oleks võinud öelda, float x võrdub 1,0. LUCAS FREITAS: Asi on selles, et nimi muutuja midagi, mida sa kasutad. On oluline, et te. Sest tegelik programm, ainus asi, mis loeb, on väärtus, mida on sees ämber. Põhjus, miks teil on muutujad ja nimedega muutujad on nii, et sa tead, mida sa oled tegelevad, nagu milliseid andmeid sa oled tutvumise ajal. Aga kood ise, kui helistate see vastus või küsimus või midagi, päris palju, see ei ole oluline. See ei ole oluline. Niikaua kui sa oled järjekindel iga esinemine, ja siis nimetame seda midagi muud. Jah? Publik: Kas muutujad kaugemale funktsioon? Nagu siis, kui sa olid luua sulg [Kuuldamatu] Kas sa võiksid [Kuuldamatu] vastata uuesti? LAUREN CARVALHO: Ei Publik: [kuuldamatu] LAUREN CARVALHO: Ei See oleks väljaspool ulatust Selle konkreetse muutuja. Ja tegelikult, see on omamoodi huvitav, sest kui meil on asjad nagu silmad või need, kui tingimustes, kui sa kuulutada muutuja jooksul veel mõni lokkis traksid, see tegelikult on olemas ainult nendes lokkis traksid. Publik: Viimane teade [kuuldamatu] ujukid. Miks sa tahad kunagi kasutada ints? See on pigem külg tähele kui midagi, kuid arvuti on oluliselt paremad käitlemise ints kui ta on käitlemiseks ujukid. See on nagu järjekorras suurusjärku kiiremini. Nii et kui me lihtsalt puudutada üksnes ujub, asjad oleks palju aeglasem. LAUREN CARVALHO: Tegelikult tundub probleemiks ujukite. LUCAS FREITAS: Kind of põhjus , et sa ei mõtle, kuidas kahendsüsteemis saate täisarvud pannes 0-ja 1 on. LAUREN CARVALHO: See on Järgmine asi. LUCAS FREITAS: OK. Lahe. LAUREN CARVALHO: Just hoia seda mõtet. LUCAS FREITAS: OK, ma tulen tell you later. LAUREN CARVALHO: Enne saame mida Lucas oli lihtsalt öeldes operaator järjestuse. See on terve mõistus. Te olete teinud seda piisavalt. Niisiis, just siis, kui midagi on sulgudes, see juhtub esimesena. See on korrutamine ülimuslik üle Lisaks lahutamine, asjad niimoodi. Seega tegelikult lihtsalt keegi ei taha öelge mulle, mida number üks tegelikult tulemiks? Publik: 27. LAUREN CARVALHO: 27? Jah. LUCAS FREITAS: Annan komme inimesi. LAUREN CARVALHO: Olgu. Aga number kaks? Aga number kaks? Publik: 22. LAUREN CARVALHO: 22, jah. Ma ei tea, kes sai selle. Number kolm? Publik: 10. LAUREN CARVALHO: 10, jah. Lahe. Nii moodul. Lucas, kas sa tahad, et selgitada moodul? LUCAS FREITAS: Modulo on see operaator mis on tegelikult väga kasulik hunnik probleeme. Kui ma 55 moodul 10, mida ta teeb seda ütleme, et ma tahan jagada 55 10. Mida ma saan? See tundub nagu siis, kui ma olen tegelikult lihtsalt tee jagamine, mis on Esimest korda sain täisarv? Publik: 5. LUCAS FREITAS: 5. Ja siis ülejäänud on 5, eks? Nii et see on nagu 5 korda 10 pluss 5. Põhimõtteliselt, mida moodul ei, ta püüab jagage see number, mida see üks, ja ta näeb, mis on ülejäänud divisjoni. LAUREN CARVALHO: Nii see lihtsalt tagastab ülejäänud. Nii number üks on see, mida? 5. Number kaks? Publik: 3. LAUREN CARVALHO: 3. Number kolm? 0. Ja neli on 1. Täpselt. LUCAS FREITAS: lihtne, eks? LAUREN CARVALHO: Miks me ei jäta see lihtsalt sellepärast, et me tõesti ei pea aeg ja inimesed näivad aru. Nii et siin on, mida Lucas räägi. LUCAS FREITAS: Teine põhjus, miks ma kasutavad ints asemel hõljub on et ujukid on väga ebatäpne. Ja miks nad ebatäpne? David ütles, et on täisarv, Näiteks kasutame me 0-ja 1 on, eks? Ja siis põhimõtteliselt teha korrutamine, kas kõik need operatsioonide teada, mida kümnendmurruna teil asemel binaarne. Mis juhtub nüüd kui ma üritan panna koma? Tegelikult näiteks kui mul on number nagu 3,33333? Tundub nagu 10 üle 3. Kuidas ma salvestada kõik 3 on, et mul on pärast seda? See on tõesti raske, eks? Sa ei saa lihtsalt öelda, arvuti, hei, mul on 3, ja siis sa seda igavesti. Tegelikult arvuti ei piisavalt targad selle eest. Nii et põhimõtteliselt on kõik arvuti teeb, on et ta püüab panna nii palju numbreid kui see võib kuni mälu, et teil on. Ütleme, et see läheb öelda 3,3333, ja see on kõik. Nii see ei ole võimalik tegelikult väljendada täpselt, mida see ujuk on. LAUREN CARVALHO: Meil ​​on piiratud arv bittide, mis tähendab, et ei iga koma number saab olema võimeline olema esindatud täpselt. Ja nii selles näites, kui me väljatrükk 0,1, me oleme nüüd trükkimine välja 20 kohta. LUCAS FREITAS: Just nagu ma ütlen kutid, võid panna suvalise arvu. Aga kui sa just tegid kaks kohta, sa saad 0,10, kuid kui paned 20 kohtades, see läheb näidata teile kamp 's, sest see on see, mida saab panna mälu, eks? Aga siin, kuni 0, ja siis lihtsalt pane see suvalisi numbreid. See on omamoodi nagu mõned - LAUREN CARVALHO: See on sellepärast, et me oleme ei suuda esindada selles kohaga täpselt arvuga bittide meil. LUCAS FREITAS: Ja siis arvuti on põhimõtteliselt annab teile prügikasti number. See ei ole tegelikult väärtus number. Publik: See on nii lähedal kui see võib saada [kuuldamatu] kasutades [kuuldamatu]. LAUREN CARVALHO: Nii satub on see, et oletame, et selle asemel, et on 0.100014, mis iganes, Mis siis, kui see oli 0,0999 - Noh, OK. Kujutleme, et tegelik vastus et see oli 0,9999999. See on väga lähedal 1, kuid see ei ole täpselt 1. See on 0,99999. See tähendab, et kui ma võtan, et 0,999, ja heidan seda int, ma saan 0. Ma ei saa 1. LUCAS FREITAS: Sest mäletan, casting alates ujuk int, sa lihtsalt ignoreerida kõik peale koma. Sa lihtsalt ignoreerida neid. Pole olemas sellist asja nagu ümardamise või allakäik, kui sa jklle harjunud roll. Tegelikult on see funktsioon, mis ei ümardamine, mis on väga oluline, aga sa lihtsalt arvan, et kui sa typecasting, see on lihtsalt läheb kustutada kõike. Nii et isegi kui teil on 0,99999, siis läheb lihtsalt anda 0 kui sa jklle harjunud roll [Kuuldamatu] täisarv. LAUREN CARVALHO: Nii lihtsalt olla tõesti teadlik ujukoma täpsus, eriti kui te alustate kasutada ujukid on Pset1. Aga jalutuskäik läbi peaks hoiatan teid, et hästi. LUCAS FREITAS: Ja tegelikult on see tõesti raske, näiteks kui ma float vastus 1 võrdub 1,0 üle 10 ja siis ujuma vastus 2 võrdub 10,0 üle 100,0. Nad on sama palju, eks? 0,1, eks? 1 üle 10 või 10 üle 100. Aga nüüd kui ma üritan vaadata võrdõiguslikkuse nagu siis, kui vastus 1 võrdub vastata 2, võibolla see ei ole tegelikult toimub olema sama. Nii ujukid on selline nagu see. Nad on nagu teed võrdõiguslikkus.