ZAMYLA Chan: Hé, mindenki. Üdvözöljük a szakasz. Ma csak lesz minden kvíz vizsgálja felül a kvíz szerdán. Remélem, mindenki emlékszik, hogy a van egy teszt szerdán. És ha nem, hát, most már emlékeztetett. Így szerda győződjön meg róla jelenne osztály vagy egyéb szálláshelyek, mint szükséges. Srácok lesz félelmetes. Ez jó lesz. És fogok tenni mindent, amit lehet hogy segítsen felkészülni ma kvíz most. És azt is, abban az esetben, ha nem tudja, van egy tanfolyam széles körű felülvizsgálat ülés ma 7 órakor Északnyugat-labs szoba B103. Láthatjuk engem ismét ráadásként mint Én vezetni egy részét, hogy a felülvizsgálat ülés is. Tehát, ha nem kap elég nekem most, akkor újra eljön ma este. Rendben, az első dolog az első. Csak néhány tipp, mielőtt kvíz valójában merülés a véleménye. Tehát mint minden vizsga, gyakorlat biztosan segít ki. Vannak vizsgák a múltból Hat vagy hét éve ott, annak érdekében, hogy egy kis gyakorlás anyag a srácok, hogy van. És valóban, ma tényleg csak lesz majd bármely téma hogy a srácok kérdésre is a munka a gyakorlatban problémák származó kvíz nulla. Úgyhogy hányni kvíz nulla tavaly itt, és mi lehet a munka révén az esetleges problémákat hogy a srácok szeretne. Így gyakorló. Fogsz kezdeni ezzel, hogy ma. Kód papíron. Szóval igen, ha mindenki ténylegesen kijutni papír, hogy majd nagy lesz, mert te nem megy, hogy a számítógépet az vizsga és kiírása kódot kézzel gyakran sokkal nehezebb mint amit várnánk. Van szokva, hogy csak látva, és beírásával, és még a fordító segítsen ki, ha van hiba, de nem kap, hogy a vizsga. Tehát nagyon fontos, hogy valóban képes, hogy írjon ki a kódot, és hogy az izom memória csinál kézzel valóban segít. Szóval kezd egy kicsit szoros. Ez hétfő. A vizsga szerdán. De ha van idő, biztosan eltart egy A vizsgák a tavalyi, illetve a megelőző évben az időkorlát egy óra és fél. Csak kiüt egy óra és fél az idő, és üljön le magad, és csak a munka révén a problémák mintha tényleg szedését, mert az egyik A legnagyobb dolog, amit hallunk a vetélkedők az, hogy nagyon hosszú. Ez egy csomó anyagot. Van egy csomó kérdést, és a legtöbb ember nem befejezni. Tudom, hogy teljesen nem befejezni a vetélkedők, amikor vettem az osztály. Ezen a megjegyzés, mint a kevésbé kényelmes szakasz, Megértem, hogy ez a tanfolyam célja, hogy megfeleljenek az emberek minden szinten. Az egész azért van osztott kevésbé kényelmes, valahol, és kényelmesebb az, hogy fajta teszi még fair. És ha kevésbé kényelmes, ez nem szükséges önmagában, hogy mindent. Mint ha kezdtek mindent, akkor valószínűleg legyen a kényelmesebb rész. Tehát nyilvánvalóan nem verte fel magatokat túl nehéz, ha nem tudja befejezni a vizsga. Hidd el nekem, én nem csináltam meg. Én még egy koncentrátor. Még mindig segít tanítani a tanfolyam. Akkor minden rendben lesz. Rendben van. És végül, aludni. Természetesen minden vizsga mindig azt mondják, ezt. Tömés az este és nem kapok semmilyen aludni nem nem-- talán, ha azt működik az Ön számára, hajrá. De túlnyomó többsége emberek, egyre aludni, hagyta az agy pihenés és vissza mielőtt jön a vizsgára valóban segít. Szintén ott lesz szinte biztosan cukorka a vizsgán, így van, hogy várom. Srácok fognak csinálni jó. Ez rendben lesz. És most a következő másfél óra én megpróbálja, és felkészülni Ön szerint a legjobban tudok. Szóval van diák alapvetően minden szakasz a mai napig. Én nem megyek át mindet, mert ez nem megvalósítható egy óra és fél is a munka a gyakorlatban problémákat. Tehát ahelyett, hogy van egy lista a téma. Ezek mind a dolgok hogy mi lehetett a kvízt. Ha van valami hogy tényleg ugrik ki hogy akarsz menni át, hogy akarja, hogy menjek át fogalmilag, Én lehet próbálni, és hogy áttekintést ott. Vagy ha azt szeretnénk ugrani, hogy Ennek gyakorlat problémák együtt, meg tudjuk csinálni. Ez rajtad múlik srácok. Nincs túl sokan. Tehát amit a srácok szeretnek csinálni. Azt akarom, hogy a legtöbb segítőkész felé srácok. Úgyhogy hagyom, hogy csak néz. KÖZÖNSÉG: Egy dolog A diagram azt tartjuk mondván, a verem és a kupac. Csak az egész ötlet mögött ezt, és hogy ez mit jelent. ZAMYLA Chan: Igen, OK. Ez mind a módon, a Végül hadd lapozhat. KÖZÖNSÉG: Nem kell nem most, de mindegy. ZAMYLA Chan: Volt anything-- ezt. Ez a fajta fuzzy az emberek? KÖZÖNSÉG: Igen, a második azt. És akkor mi is buffer overflow? ZAMYLA Chan: Buffer túlcsordulás? OK. Tehát puffer túlcsordulás elég könnyű, csak beszélni. Ez alapvetően pufferek gondol Néhány tömb memória van, ugye? Erre a célra általában beszélünk puffer túlcsordulás, amikor te nem ellenőrzi, hogy mennyi a felhasználó üzembe, ugye? És a gondolat, hogy A puffer túlcsordulás ezeket üzembe amennyiben túl sok adat a tér hogy már kiosztott nekik, ugye? Tehát, ha azt mondod, hogy nekem üzenetet, vagyunk feltételezve, hogy ők fognak adni nekünk egy ésszerű üzenet. Talán egy pár sort, miegymás. Tehát nem ellenőrzi. Ehelyett etetnek minket egy egész könyv, egy üzenet, és túlfolyik a mennyisége hely, hogy már elkülönített ezt. És mi történik, talán felülírja helyen, hogy nem kéne. Szóval tudom, professzor mondta Malan valamit a puffer túlcsordulás támadásokat. Szóval, ez az, ahol a felhasználó bemenet néhány hatalmas mennyiségű adat abban a reményben, hogy felülírja múlt a végén a puffer és helyettesíti something-- kíváncsi vagyok Én már azokat diák itt. Nem hiszem, hogy van azok diák itt. De alapvetően azt felülírja bizonyos részét memória amely lehetővé teszi számára hozzáférést az része a számítógép hogy nem általában férhetnek hozzá. A legnagyobb dolog puffer túlcsordulás csak hogy megértsük, hogy történik, ha nem ellenőrzi, hogy mennyi a felhasználó üzembe. Ha nem ilyen védelme ellen. És a legegyszerűbb dolog, csak a felhasználó adható meg a hatalmas mennyiségű Az adatok egy kísérlet felülírni néhány biztonsági része a memória. Ez minden. Szóval ez itt, és verem kupac. Alapvetően ez az egész csak ábrázolását memória és ahol a dolgok vannak tárolva. Ez tényleg ilyen minden, amit tudnod kell. A legnagyobb dolog, hogy meg kell tudni, hogy a hogy-- hadd lássa, van egy better-- itt. Tehát ez a verem itt. Így verem köze van az összes funkciót hogy hívsz az adott pillanatban. És mi fontos megjegyezni, megy le a múlt héten a malloc az, hogy nem nagyon van szükséges az irányítást felette. Minden attól függ, mikor bizonyos végrehajtó funkciók. És amikor a végrehajtó, akkor Van az úgynevezett stack frame hogy menjen fel itt. Tehát mindenféle történik anélkül, hogy valódi bemenet tőled. Írsz a programot, és hagyod futni, és a verem a fajta úgy vigyázzon magára, mert kell. Tehát, ha a fő hívsz kocka, ami átkerül ide. Ez létre fog hozni egy keretet. De semmit sem tesz kifejezetten létre, hogy a stack frame eltérő írja a funkciót kezdődik, OK? Milyen típusú az Ön ellenőrzés a kupac a malloc. Tehát, ha malloc valamit, szedi memória a kupac. És ez az emlék, hogy van, mert jobb híján szó, explicit felett, mert emlékezni malloc ez alapvetően ott amíg mondod másképp. Azoknak, akik figyelte szakasz a múlt héten, ott van, amíg meg nem mondja, hogy menjen el. Ott lesz, kivéve, ha egyébként nem mondta. Így a halom csak valami lehet gondolni, mint a memória hogy ellenőrzése alatt. És ezek csak a két nagy dolgot. Más, mint, hogy nem kellett volna aggódni túl sokat verem és heap kérdése, vagy jellemzően csak ha van helyi paraméterekkel vagy egy függvény lenne a veremben, a kupac. Nyilvánvaló, hogy ekkor ez lenne a verem. Ha mallocing valamit, hol van, hogy jön? A kupac. Ha megnézzük a gyakorlat kvízek, azok általában a típusú kérdés hogy van. Önnek nem kell aggódnia túl sokat róla. Bejutni kifejezettebben körülbelül stack és heap később vagy más CS osztályokba. Szóval csak úgy, egyfajta általános elképzelés, hogy mi ez jó lesz, amit csak egyfajta odament. Minden más témák? Igen? KÖZÖNSÉG: Tud megy át , mutatók ismét nagyon gyorsan? ZAMYLA Chan: Pointers? Szeretné fogalmi áttekintése mutatók vagy mit gyakorolni mutatókat? KÖZÖNSÉG: Olyan, mint a szintaxis. ZAMYLA Chan: A szintaxis? Igen. OK, mi vagyunk egyre ott. Igen, így ez csak a fajta valami ha van egy rekurzív függvény, minden alkalommal, rekurzív függvény nevű, az csak növeli más verem keret. Elég sok példát hogy hogyan nem igazán ellenőrzik a keretek a verem. OK, mutatók. Rendben, így teremt mutatók. Ne feledje, ez csak írja csillag. Tehát bármilyen típusú adatok fogsz is mutat. Szóval ez lenne a mutató egy int. Ez lenne a mutató egy char. Ez lenne a mutató egy úszó. Tehát alapvetően bármi azt akarja, hogy mutat, csillag, hogyan állapítsa meg a mutató, OK? De akkor nyilván kap egy kicsit trükkös, ha van mutató vagy ha van bármi csillag. Tehát a nagy különbség amikor declaring-- így van olyan some-- ez némi int csillag. Tehát ez valami mutató felhívja x egy int, ugye? Úgy emlékszem, hogy ez mit csinál ez a rendszer kéri, x. És ez lesz a néhány cím, ugye? Tehát mondjuk ez a címünkre. Mutatók tart címeket. Szóval mi ez mond, hogy ez a hely, mi tárolja egy int. Így más módon el tudunk képzelni ez az, hogy ez néhány int. Még nem igazán rendelt el semmit, de ez csak egy int. Így tehetünk, ha mi csillag x = 5, ez lesz az 5, OK? Ez azt mondja, menjen bármi x mutatva, így megy erre a címre és azt egyenlő 5. Tehát rendelni 5 ezt a címet, ugye? És aztán, ha ezt megteszi, ez ad nekünk a címét. Ezt a címet az operátor. Tehát mi az x címét? Nem tudjuk. Még nem rendelt meg egy címet. Mondhatnánk, hogy ez most már így some-- azt a címet, így a cím 4. És valóban, ha megy keresztül valami mint ez, olyan, amit tettünk. Így dolgozik a here-- találom segít, ha rajzol ki mutatókat. Ha a vizsga, én Javasoljuk, rajz dobozok. Tehát ez az első egy, int x = 5. Ez csak azt jelenti, hogy van néhány helyezze memória 5, ugye? És a táblázat itt azt mondja hogy ez az címen 0x04. Aztán egyfajta mutató. Szóval megtörni ezt le egyesével. Tehát ez létrehoz néhány doboz egy int, ugye? Ez fog tartani néhány cím az is. Szóval ez valami mutató. És ez kréta nagyon kicsi. Tehát néhány mutató itt. És a táblázat azt mondja, azaz cím 0x08. Cool. És mi hozzárendelése hogy az x címét. Ne feledje, hogy a mutatók tart címek, OK? Tehát ha azt akarjuk tartani x, mi használja a cím operátor, amely a jelet, hogy a cím Az x, ami ebben az esetben, 0x04. És akkor, ha van Néhány példány int, ez csak létrehoz egy másik doboz, rendelkezik egy int hívott másolat. És ha hozzárendelheti this-- így ez is hivatkozik. Tehát azt mondja, menjen bármilyen cím mutató tart. Pointer tartja ezt a címet, így mennék át ide, és azt mondjuk, rendben van, mi van benne? Ez 5. Így lesz 5 példány. Értelme? Mi van, ha én próbáltam rendelni ez csak mutató. Mit mutató valójában egyenlő? Ez csak bármi mutató tartalmazza, ugye? És akkor mi van, ha én tette ezt? Mi lenne másolat lesz most? KÖZÖNSÉG: 0x08. ZAMYLA Chan: Igen, a címe a mutató. Bármely része, hogy ez a alá kell újra magyarázni? Cool. Kétségkívül igen fun probléma kvíz egy hogy tudjuk, hogy több mint így több gyakorlatot. A srácok a múlt héten is mondani, hogy nem volt olyan rossz. Van egy egész chart, és mindenki nem nagy. OK, szóval áttekintés A szintaxis a mutatók. A legnagyobb dolog, hogy miként létrehozni őket, nem hivatkozás, és címe, OK? Cool. Minden más téma előtt merülünk a gyakorlatban. Akkor is, ha megyünk át A gyakorlat problémák és van valami, amit szeretne A felfrissítő, amit tehetünk, hogy túl. Van valami? KÖZÖNSÉG: Struktúrák és kapcsolódó listákat. ZAMYLA Chan: Struktúrák és a hozzá kapcsolódó listák, OK. Így struktúrákat. Igazából megy mint ezt ma is. OK, így struktúrákat. Struktúrák alapvetően Csak egy módja, hogy tartani Több különféle típusaira. Így egy sor vagyunk összeszorult egy adattípust. A tömb vagy van, hogy csak a számok, vagy csak lehet karakter, vagy csak legyen úszók. De talán meg kell tartalmaz több. Talán meg kell hold-- ha te beszélsz a diák, Ön megy, hogy a házat, a Azonosító számát, az életkor, ahol élnek, ugye? És ezek közül különböző típusú fajta. Tehát nem lehet tárolni azok mind egy tömbben. Szóval, mit tehetünk, te létrehozhat egy struct, amely lehet gondolni, mint a személyes adat típusát. Tehát ahelyett, hogy csak úgy, ints és ahelyett, hogy csak úgy, úszók, lehet egy diák, hogy típus az összes ilyen területeken is. Tehát az, hogy hogyan inicializálása a struktúrákat ez-- valójában mivel az írás szörnyű, mi fognak átmenet gépelés. Woo. OK, így ha azt akarjuk, hogy a struct-- Én csak megy le itt. Hagyja figyelmen kívül az a legfontosabb, amit amit majd a későbbiekben. Így a kívánt módon csinálni ez a typedef struct. És hívjuk csak ez a diák mert ez az, amit én használtam. OK, így typedef azt jelenti, te meghatározó új típusú, OK? Vannak árnyalatok bele, ha nem Csak egy struct szemben a typedef struct. Minden szándék és célokra, srácok csak majd vállalja ők körülbelül egyforma, és csak használja typedef struct most. A leszel módon nyilvánvalóvá a következő P beállítsa, mit e különbségek, de nem hiszem, hogy meg kell aggódni, hogy most. Én sokkal inkább te tudja, hogyan kell létrehozni egy, hozzáférhet, és rendeljen [? érték. ?] Egy új típusú struct, és felszólítjuk, hogy diák. Így aztán készen vagyunk létrehozni ezt, minden cél és szándék, lesz egy típusú úgynevezett diák. És lehet gondolni, ez csak egyfajta mint egy int vagy float, vagy char. Ez csak egy másik fajta, OK? Tehát ez, mi van? Van talán egy nevet. Így talán szeretne egy string name. És mi van, talán egy int, hogy ez az azonosító. És van egy másik a ez a telefonszámot. És mi some-- lássuk. Mi más is van? Majd néhány húr házában. Minden dolog, hogy egy diák. Tehát ez létrehoz egy struct most. Szóval, hogyan lehet létrehozni egy diák mi? Ha van néhány változót is fog beszélni Walker itt, így have-- mi csak fogja hívni ezt Walker. Szüksége van egy típust. Mi a típus? KÖZÖNSÉG: Student. ZAMYLA Chan: Student. Tehát ez csak létrehoz egy objektumot, akkor gondolom, hogy az összes ezeket a dolgokat. Ön most létrehozott egy gyalogló diák. Tehát most kell tudni rendelni ezeket a, igaz? Tehát nem mindenki emlékszik, hogy mi elérni egy struct? KÖZÖNSÉG: időszak. ZAMYLA Chan: Időszak Pontosan. Tehát, ha azt akartuk, hogy rendelni neki a név, azt nem tudta elérni. Nyilvánvaló, hogy ez lenne be-- ez a rész itt is belül a fő, így valójában hadd tegye ezt. Állapítsa meg ez a fő felett így hogy tudjuk használni, hogy belül a fő. Így most azt akarom, hogy ezt ID, és mi csak nem valami ott, és akkor majd rendelni egy házat. Bam. Cool. Tehát most kellene, amire szükségünk van, hogy hozzáférést valami később on-- talán we-- ha valaha is kell elérni semmit, nézzük csak csinál egy int másolat azonosítót. És szeretném másolni Walker ID ebbe. Hogyan lehetne csinálni? Be kell, hogy elérheti a Walker struct a [? megy, hogy a?] [? E?]. És az azonos módon, hogy mi kijelölt fel itt, hogyan Lehet, azt elérheti, ha azt akarjuk, hogy hogy ez az érték az valami más? KÖZÖNSÉG: Walker.id. ZAMYLA Chan: Igen, pontosan. Szóval ez elég sok minden meg kell tudni, hogy a struktúrákat. Csak azt kell gondolni azokat egy másik változó. Alapvetően egy hozd létre a saját változó típusát, OK? Arra használják, hogy állapítsa változók semmilyen módon. Itt Walker még mindig változó. Csak egy típusú diák helyett most A típus int vagy string típusú vagy char típusú. Ha volt egy egyszerű módja, hogy beszéljen körülbelül struktúrákat, szó szerint csak egy létre saját adattípus amely lehetővé teszi a csoport Ezeknek a különböző ilyen jellegű adatok együtt. Van ennek értelme? OK. Ez és hozzáférés pontokkal. Elég sok minden amire szüksége van. OK, hol a PowerPoint megy? Itt van. Hát ez furcsa. Aha. OK, hűvös. Minden más dolog, vagy mi szeretnénk, hogy fejét a gyakorlatban? Gyakorold? OK. Félelmetes. Megyek kilépéshez. Ha bármikor a gyakorlat kérdése, Örülök, hogy feljavítani és végig a dolgokat. Szóval van itt kvíz nullára. Ha akartok húzni fel a számítógépre, csakúgy, mint hogy öt perc böngészhet. Lehet választani néhány top kérdést szeretne menni át. Ha a srácok nem tudja eldönteni, mi csak lassan munkába rajtuk keresztül, de biztos vagyok benne, ott lesznek bizonyos kérdésre, hogy különösen alig várja, hogy beszélni és engem a munka révén veletek. Szóval, csak megy előre, és öt percig. Lapozás. És ez a teszt 2013-tól. KÖZÖNSÉG: Zero? ZAMYLA Chan: Igen, kvíz nulla. Mi nem ezt a kvízt egy dolog. Megcsináljuk, hogy pár hét alatt. Azok számára is, akik jött későn, van cukorka, így nem akartok édességet? KÖZÖNSÉG: Persze. ZAMYLA Chan: Én csak megy át körbe. Hé, ha srácok ide korán, még több édességet. Ez rendben van. Ben, nem akarsz édességet? Kérsz ​​ezek? Van még Snickers, ha valaki akar Snickers. Majd hagyjuk őket itt és itt. Ne habozzon. Akarsz többé? KÖZÖNSÉG: All set. Köszönöm. ZAMYLA Chan: És volt egy szép kis halom ott az elején. Srácok kap, hogy a kvízt, és Kapok, hogy egy teszt osztályozás párt. Ez a káosz. 900 vizsga. Ez lesz annyira szórakoztató. Nagy durranás lesz. Biztos vagyok benne, hogy az egyik A legnagyobb személyzet kötés éjszaka az évben. Valaki végzett kvíz nulla tól tavaly még a kíváncsiság? KÖZÖNSÉG: részeit. ZAMYLA Chan: részei is, OK. Volt kérdése van ezek közül bármelyik? KÖZÖNSÉG: Már ment munkaidőben. Köszönöm mégis. ZAMYLA Chan: Nos, remélhetőleg ez még mindig ilyen segítőkész. Mikor megy a munkaidőben e? KÖZÖNSÉG: A TF volt nekik ez a délután. ZAMYLA Chan: Oh. Ki a TF? KÖZÖNSÉG: Fred [? Wujaya?]. ZAMYLA Chan: Nagyon sok TFs. Oly sok. Rendben van. Bárki bármilyen kezdeni, hogy én is lejegyez hogy akarunk dolgozni? Feltételezem, hogy a mutatók egy a tábla. Megy ez. KÖZÖNSÉG: Lehet, hogy a kapcsoló az egyik. ZAMYLA Chan: Tehát a 12? Azt feltételezzük, 8. és 9. szám valószínűleg azok az emberek azt akarják, hogy menjen át. KÖZÖNSÉG És a 10. és a 11.. ZAMYLA Chan: És tudjátok, kapsz egy oldal a jegyzetek, ugye? KÖZÖNSÉG: Igen, igen, mik mi engedhető meg, hogy az adott. ZAMYLA Chan: Te megengedett , hogy bármit, amit akarsz. És lehet gépelt. Amennyire én emlékszem, a miénk is gépelt. KÖZÖNSÉG: Megteheti hát és mindkét fél? ZAMYLA Chan: Igen, mindkét oldalon. Tehát valami hasonló a halom és [? back end?] halom, a futás alkalommal. Hasznos. Lehet, hogy kevés dolog mutatók, hogy emlékeztessem önöket. Szintaxis dolgok. Miután, mint egy csontváz program lehet szuper hasznos. Tudom, hogy mindig elfelejtettem, hogy pontosan mit Úgy volt, hogy írni az int main, mert én mindig csak másolni beillesztése a korábbi P készlet vagy ez már ott, így Én soha nem írtam, így miután amely lehet szuper hasznos. OK, miért nem mi kezdeni a 8, akkor? Rendben van. OK. Tehát úgy a program az alábbi. Tehát, amikor azt látjuk, nyilván mutatók, akkor valószínűleg Egy jó ötlet, hogy kezdeni rajz, ugye? Azt akarom tudni, hogy hol az én nagy darab krétát ment. Ez a fajta bosszantó. Tehát itt némi swap hogy fog tartani a két mutató. Így ebben az esetben, ők kell ténylegesen kapcsoló dolgok versus eredeti csere funkció, amely csak tartott a példányban. Szóval, mit fog csinálni ez-- kezdjük fő, mert ez az, ahol az 1. Tehát néhány int x 1. Van néhány y, ami egyenlő 2. Aztán van néhány csere ez megy, hogy ezeket. És nézzük meg, mit kell még itt. És mi table-- ó. Hogy fogom ezt megtenni? Fogom felhívni a táblázat itt. Alig így ott. Alig teszi. 1, 2, 3, 4, 5, 6, 7. És nekünk, hogy az 1 = 1, és 1 2. Cool. Félelmetes. Így 3. És ott van [? a 1.?] Rendben van. Aztán címe x 0x123. És y értéke Ox127. Cool. Rendben van. Azt akarom, hogy a srácok dolgozni ezen mindössze like-- dolgozni rajta az emberek körülötted. Bárcsak azt mondta, hogy míg én felállítása. Dolgozik rajta. Próbáld ki, és dolgozni rajta a magatokat egy pár percig, és akkor én dolgozni veled. Mivel az egyetlen módja, te tényleg fog tanulni ezzel magad. Nem gond. Sok szerencsét. OK, miért nem lassan elkezdek dolgozni ezen. Így mindenki kap egy vonal után, x értéke 1. Miután két vonal, x és y értéke 1 és 2, jobb? Cool. Tehát három vonal, ahol a dolgok kap érdekes persze. Szóval, mit tettünk itt A most már cserélték. Azt mondjuk, hogy x és y azokat a pontokat, vagy az általuk a címe az x és y, ugye? Így ebben az esetben három, mi az értéke egy? a már telt, kapott értékét az x címét, ugye? KÖZÖNSÉG: 1? ZAMYLA Chan: Tehát adjuk hozzá az x? Mi x-címét? KÖZÖNSÉG: 0x123. ZAMYLA Chan: Pontosan. De mi is valójában a mutató? Ha volt, hogy a dereference, milyen érték lenne nekünk. KÖZÖNSÉG: 1. ZAMYLA Chan: Ez lenne nekünk 1, mert amit azt mondjuk, hogy megy e cím, mondja el, mi az érték. Szóval, mi lenne b? KÖZÖNSÉG: 0x127. ZAMYLA Chan: Pontosan. Szóval ez a címe y. És akkor mi [? dereference? ?] KÖZÖNSÉG: 2. ZAMYLA Chan: OK, így most négy. Azt mondta, ez most jól equal-- voltunk kész int temp egyenlő csillag a. Szóval, mi változik? Csak egy dolog megváltozik itt. Mi ez? KÖZÖNSÉG: Temp. ZAMYLA Chan: A Temp. Így tudjuk átírni az összes ilyen. A jó stratégia e csak kitalálni milyen változtatásokat, mivel a leggyakrabban már csak egy dolog, hogy ez fog változni egy adott ponton, OK? Így már kijelölt temp. Most a következő pont, öt, mi tettek egy csillag egyenlő csillag b. Szóval, mi változik most? KÖZÖNSÉG: a csillaggal. ZAMYLA Chan: a csillaggal, így minden más ugyanaz marad. És mit jelent a csillag egyenlő? KÖZÖNSÉG: 2. ZAMYLA Chan: 2. Lovely. Félelmetes. OK, és akkor most már indítsa b értéke egyenlő hőm. Tehát az egyetlen dolog a változó csillag b. Minden más marad. És mi a csillag b egyenlő most? És ha már befejezte az asztalra. Mert most a végén, ha azt mondjuk, hogy x és y, tudjuk, hogy ebben a point-- tudjuk, hogy mikor megváltozott csillag a 2, hogy mi volt ez, azt mondta rendben van, az foglalkozik 0x123 itt, változtassa meg. Most ez volt a 2. Majd ezen a ponton, mi azt mondtuk: rendben, menjen a csillag b. Szóval megy a címre 0x127 és azt 1. Tehát most a legvégén, amikor valójában vissza a fő, mi valójában, hogy x egyenlő 2 és y értéke 1. Mindenki jó ez? OK, hűvös. 9. szám. Srácok dolgozni ezen. Megyek, hogy hozzanak létre a fórumon így tudjuk felhívni rajta. Ez lesz a robbanás. A nagy táblák is igazán ijesztő, tudom. De ha csak venni őket soronként egy időben, akkor kap egy csomó kevésbé ijesztő. Rendben van. Szóval tudjuk, hogy ez lesz ment keresztül a fő első, ugye? Inicializálja az x és y és majd megpróbál cserélni őket. Tehát még swap felett, valóságos módon megy az, hogy megyünk át a fő, és akkor hív akár csere, minden rendben? Így mindenki tudja, hogy. Tehát melyiket srácok akarnak kezdeni? Van valaki igazán biztos körülbelül egy ilyen? Vagy akár csak részlegesen is biztos? Miért nem kezdjük x? Mit gondolunk az x? KÖZÖNSÉG: 1. ZAMYLA Chan: 1. Akkor miért 2. És ez azért van, mert a nagy különbség van az, hogy mi csak halad példányban, ugye? Mi nem halad hivatkozással. Így még a végén ez a program az x és y maradtak ugyanaz, mert csak példányban a csere funkció. Ők valójában nem változik, ugye? Szóval, mi a helyzet a, b, és temp? KÖZÖNSÉG: a b. ZAMYLA Chan: a = b. Így ebben az esetben, egy volt x, ami 1, helyes? Tehát itt, menjünk át rajta. Tehát az elején, a és b: az 1. és a 2. és meghatározatlan. Tehát eredetileg temp lesz rendelt, így a hőmérséklet 1. a egyenlő b, ​​így megkapjuk 2 és b egyenlő hőm. Most kap 1. KÖZÖNSÉG: Az előzőt is cserélték ampersand x és y-jel. Ez pontosan mit jelent? ZAMYLA Chan: Tehát ez azt jelenti, hogy te elhaladó hivatkozással. Tehát ez azt jelenti, hogy tényleg halad a címét, ahol a x és y tárolja. KÖZÖNSÉG: De te nem csere a cím. ZAMYLA Chan: Te nem csere a címeket. Te swapping mi bennük. Mint mi arra a címre, és ezért működik. Versus ebben a programban, amit itt csinálsz a te létre másolatokat. Szóval van az x és y, hogy létezik a saját változók itt. De aztán, amikor elhalad őket csere, akkor mintha te létre ez teljesen más készüléket. Szóval sosem megható x és y. KÖZÖNSÉG: Ha x jelet, ami a az x címét, mi lenne csillag x lesz? ZAMYLA Chan: Ampersand x az, ami a az x címét, majd star-- jól, ebben az esetben x nem mutató. KÖZÖNSÉG: Oh, OK. Szóval csak ezt mert ez nem a mutató. ZAMYLA Chan: Igen. Akkor csak nem csillag valamit, ami a mutató. Talán meg tudod csinálni a dolgokat, hogy Nem, hanem a fordítás, amit Ehhez az őrült dolgok történnek. És én nem vagyok éppen tudom, mi fog történni. Akkor mindig a címe valami, de akkor nem dereference valamit, ami nem a mutató. Ha van értelme, hogy ez Jó, hogy a különbséget. Szóval nem rossz, ugye? A táblázatok remélhetőleg egyre kevésbé ijesztő. Rendben van. Ah, a szórakozás is. Szóval most, írás saját kódját. Szóval hagyom, hogy a srácok a munka ezen a körülbelül négy percig, és akkor beszélhetünk arról, hogyan megközelíteni. Nyugodtan beszélni emberek körülötted. Ez is érdekes. Ez olyan, mint egy minden lány szakasz most. Elég izgalmas. Kivéve Chang. De Chang nem igazán része a szakasz. Félelmetes. Tökéletes. Szóval kapsz egy pár tippeket. Abban az esetben, ha van több, mint egy karakter, ahol van valami más mint a 123 vagy 1000 valami, meg kell, hogy képes legyen hurok keresztül, és minden egyes, e. Szóval van egy pár módon képes erre, de te biztosan megy, hogy a for ciklus valahol ott hurok keresztül őket, amely az olyan, mint a giveaway még ha hívja strlen, amely olyan, mint ó talán szeretné használni a hosszúság A húr valamilyen módon. Rendben van. Szóval, mit gondol srácok lehet az egyik első dolog, amit akarok? Van egy pár esetben itt meg kell elszámolnia, ugye? Vagy van valami, ami null. Mi van még? Esetek. Null. Mi a helyzet, hogy van valami más, mint 09, ugye? Tehát tegyük fel, hogy a betűk. Vagy mi a helyzet, hogy ez érvényes-e. Három esetben gondolni. Igen, melyik mit gondol lehet a legkönnyebb, hogy vigyázzon az első? KÖZÖNSÉG: Null. ZAMYLA Chan: Az eset null. Szóval mit csinálnánk ott? KÖZÖNSÉG: [hallható]. ZAMYLA Chan: Igen. És mit akarok csinálni? KÖZÖNSÉG: Return 0. ZAMYLA Chan: Pontosan. Félelmetes. OK. Tehát most az esetnek, hogy a betűk és az, hogy ez az eset érvényes. Mi is valójában vigyázni E belül egy hurok, OK? Tehát az egyik módja annak, hogy mi lehet a it-- egy egyszerű módja annak, hogy ellenőrizze, hogy érvényes. Szeretnénk, hogy menjen át minden betű és mit csináljon? KÖZÖNSÉG: Ellenőrizze, hogy in-- ZAMYLA Chan: Igen, akkor ellenőrizze ha ez 0 és 9 közötti, ugye? És akkor abban az esetben hogy ez az érvényes, vagyunk majd a végén iterációjával keresztül a húr egyébként, ugye? Szóval, miért nem próbálja meg, és össze őket egy. Megyünk navigálhat keresztül ki húr, és ahogy csinálni, megyünk az első csinál egy csekket, hogy ha ez a levél vagy ha ez a karakter érvényes. Ha igen, mi fog végrehajtani az művelet, hogy meg kell alakítani. Egyébként ez lesz return 0, ugye? Szóval mielőtt ezt tesszük, mi érdemes néhány változó hogy visszatérhessünk a végén hogy lesz a tényleges érték. Így megyünk inicializálása néhány érték 0. És ez még csak hogyan kezdjük. Szóval megyek, hogy eltűnjön ez. Szóval, hogyan fogunk halad végig ezt a fonalat. KÖZÖNSÉG: hurok. ZAMYLA Chan: A hurok. Szóval, mi a számára? KÖZÖNSÉG: i 0. ZAMYLA Chan: Mm-hm. És mi vagyunk iterációjával-ig? KÖZÖNSÉG: str hossza s. ZAMYLA Chan: OK, most emlékszem van egy jobb út. [Hallható]. KÖZÖNSÉG: Igen, meg tudjuk csinálni n értéke. ZAMYLA Chan: Pontosan. KÖZÖNSÉG: i kisebb, mint n. ZAMYLA Chan: És miért akarnánk csinálni? Emlékszel az oka? KÖZÖNSÉG: Meg kell újraszámolni azt. ZAMYLA Chan: Becasue Ily módon csak számítani STRLEN egyszer. Ha mégis én kevesebb, mint strlen s, hogy ez azt jelenti, hogy újratervezi hosszát minden alkalommal futtatja a for ciklus, amely nem egy nagy költség az energia, de jobb gyakorlat, hogy megpróbálja dolgokat, mint hogy egyszer. Kivéve talán van egy őrült húr ami változik minden iterációban. De ha ez ugyanaz marad, megtartja azt. Rendben van. És akkor én plus plus. Félelmetes. Mi a magunk módján. KÖZÖNSÉG: Tényleg gyorsan. Először is, úgyhogy azt mondom, csak Mondtam kevesebb, mint strlen s, vajjon osztályozás minket tervezés egyáltalán vagy csak korrektség? Ők nem. Mi az osztályozás helyességét A vetélkedők amennyire én tudom. Nem tudom, hogy egy teljes, a garancia, de a legtöbb esetben, túlnyomó többség helyességét, mert Ön szerint sok idő szűkössége. Tervezés általában azt jelenti, van ideje gondolkodni az elegancia a helyzet. OK, szóval iterációjával keresztül. Így sem kell ellenőrizni, hogy hogy ha ez a karakter érvényes vagy ha el tudjuk végezni a normális [? a-i?] funkció. Mi lehet aggódni, hogy mit ez a második. Szóval, miért nem take-- ha bárki úgy gondolja, egy módja annak ellenőrzésére, hogy ha ez érvényes. Tudjuk, hogy lesz néhány, ha feltétel, ugye? És ne feledd ez ASCII, akkor hogyan lehet, hogy látjuk, ha ez nem 0,1, 2, 3, 4, 5, 6, 7, 8, vagy 9. KÖZÖNSÉG: Ha az alfa. ZAMYLA Chan: Tehát, ha alpha volna Csak tudassa velünk, ha ez egy levél. És ha ad nekünk egy szimbólum, akkor még mindig nem egészen fogja ellenőrizni. Tehát, ha húzza fel az ASCII asztal, tudjuk, hogy 0-tól 9 van egy szegmens. Mondd el a számokat, hogy a felelnek meg, ha lehetséges. KÖZÖNSÉG: 40. ZAMYLA Chan: Tehát a tartomány, mint 40-- KÖZÖNSÉG: Talán. 48-57. Nem vagyok benne biztos. ZAMYLA Chan: 40-57? KÖZÖNSÉG: 48, azt hiszem. ZAMYLA Chan: 48-57. Tehát tudjuk, hogy azok ASCII symbols-- ha az ASCII érték nem között 48 és 57, ez nem érvényes, igaz? Így tudnánk használni, hogy az előnyünkre esetleg? Hogyan jutunk ez a levél, először le? Hogy mi hozzáférés ez a karakter? KÖZÖNSÉG: s konzol i. ZAMYLA Chan: Mm-hm. Mert tudunk gondolni karakterláncokat tömbök, emlékszem. Szóval, mit is akar mondani? Azt akarom mondani, ha ez a ez-- Adok egy tippet. Ez egy kisebb. Mit gondolsz, kell lennie, mint a kevesebb? KÖZÖNSÉG: 57? ZAMYLA Chan: 47, ugye? De ez azt is jelenti, hogy ha a 0 egyetlen [? küllők?], mert ez a karakter 0-ra. Te is fel 47. Miután az ASCII tábla, mint látod, csak valami akkor kellett volna a kvíz lap. Így ha ez az eset áll fenn, ha ez egy kevesebb mint 0-- nem feltétlenül és. Ez csak egyik lesz kisebb vagy nagyobb, mint 9. Így lehet, töltse ki ezt az utolsó nekem? Tehát vagy az s i mi, Rhea? KÖZÖNSÉG: Nagyobb, mint 9. ZAMYLA Chan: Van. Van ennek értelme mindenki, hogyan került oda? Ezek a problémák, mint ők, ha látja a megoldást, ez olyan, mint ó, OK. És ez az, amiért a gyakorlat segít. OK, így vissza 0-ra. Lovely. Rendben van. Különben mit akarunk csinálni? Ez az érdekes rész ahol ez egy kicsit mint a matematika versus CS véleményem. Van valakinek egy ötlete , hogy hogyan lehet ezt megtenni? Tehát a lényeg, hogy észre az első karakter elvisszük lesz a legmagasabb rendű számjegy, ugye? Tehát, ha éppen a konvertáló 123., az első alkalom, hogy navigálhat lesz 1, de szükségünk van hogy a 100 végére, ugye? Tehát az egyik dolog, amit tehetünk, hogy a minden későbbi számjegy szedése, akkor szaporodnak a 10 értéket, annak érdekében, hogy mire elérjük a végét, minden volt tolódott felfelé, ugye? Tehát az első futtatásakor azt, akkor 1. az érték. A második alkalommal, amikor fut, akkor szaporodnak az érték 10. Ez frissíti azt, hogy ez most 10., és adja hozzá a következő értéket. És akkor szaporodnak, hogy a 10. és add tovább a következő érték. És ez az, amiért azt mondják, ez sokkal inkább, mint a vizsgálat egy matematikai algoritmus ellen CS, de elkalandoztam. Én nem írok a vetélkedők. Tehát az egyik dolog, amit tehetünk az, hogy mi mondjuk érték egyenlő 10 alkalommal. Tehát ez fog váltani A számjegy egyszer minden alkalommal. És akkor mi csak szeretnénk hozzáadni. Azt akarja adni, hogy milyen mi csak most, ugye? Szóval hogyan lehet valójában alakítják át ASCII karaktert a szám hogy képvisel? Tehát tudjuk, hogy 0 egyenlő 47, ugye? Tehát, ha 0 47, amit akkor meg kell tennie, hogy azt hogy ténylegesen, hogy lehet az egy int 0? KÖZÖNSÉG: Ez a 48. ZAMYLA Chan: 48? Bocsánat. Szeretnénk kivonás 48, ugye? Emlékezz ASCII matek? Tudjuk kezelni őket, csak mint a normál számokat. Ha kezelni őket, mint a számok, válnak számok hatékonyan. Tehát, ha van s az i, amely segítségével a mondjuk ebben az esetben egyenlő 0. Így az i s ebben az esetben lenne a ASCII-- Az ASCII int az lenne 47. Így lehet subtract-- vagy 48. Lehet csinálni, egy út. Tudja valaki, hogy a jobb Így tudnánk 48? Mi csak azt mondta 0 ez-- megy Az ASCII meg tudná csinálni idézet 0. Tehát nem ez a fajta teszi értelemben, hogy ez hogy működik? KÖZÖNSÉG: Ezen a ponton, az érték 0 mert még ha megszorozzuk a 10, Ön kezdő nulla, ezért kell azt kapcsolni? ZAMYLA Chan: Tehát ebben az esetben, ha akar szaporodni, mielőtt hozzá, mert ebben az esetben igen, akkor lenne még be-- a mutató hiányzik. Az érték ebben az esetben, az első alkalommal futunk lesz nulla. Szóval csak hozzá az, hogy az első számjegy. Mi a fontos, a következő alkalommal Ön navigálhat, szeretnénk váltani fel hozzáadása előtt a következő számjegy. Vajon hogy tisztázza az Ön számára? OK. Néha fogsz kap furcsa több Mathy dolgokat. Ha volt a legtöbb ez, még mindig megy hogy get-- fogsz csinálni elég jól. Részleges hitel egy nagyon nagy dolog CS50 vetélkedők. Akkor írj, amit ismersz. Ha megvan minden kivéve itt, te még csinálni igazán jól a problémát. Mert te kiállítás, OK, én majdnem tudom. Tudom, hogy kell, hogy halad végig. Tudom, hogy mit kell ellenőrizni. Én csak azt nem egészen kap, hogyan lehet átalakítani azt. Te OK lesz. Igen, fogsz veszít egy pár pontot, de még mindig megy, hogy egy jó néhány pont valami mint, hogy ha hiányzó következő két sort. Lennék, mint OK, ez az ember tudja, hogy mit csinálnak. Math nehéz. Tehát azt mondanám, azt rendben lesz. OK, így srácok készen áll próbáld strlen mutatókkal most hogy ti vagytok mutató mesterek? Úgyhogy hadd srácok dolgozik az, hogy egy kicsit. Ha bárkinek szüksége van a frissítő. Tehát azt szeretnénk, hogy használni mutató számtani, és ha s értéke nulla, A végrehajtás vissza 0-ra. Dolgok, mint ez, hogy neked Nagyon boldog, hogy csak hívni strlen a végén a nap. Azt hiszem, ez lehet egy kicsit könnyebb, mint az utolsó, ami jó. Adok nektek egy percet, és akkor majd dolgozni rajta. És akkor kap, hogy menjen a kapcsolók. OK, kész srácok? Talán egy kicsit. Szóval adtam neked a két lehetőség, ugye? Vagy keressen null és vissza 0, ha ez, vagy valójában számítani a hosszát. Tehát, aki azt akarja, hogy ellenőrizze a null írni? Megy ez. KÖZÖNSÉG: Ha a zárójel s értéke egyenlő null return 0. ZAMYLA Chan: Lovely. Én szeretem, ha a fele a problémát csak ellenőrzi a null. Tudom, hogy a srácok az utolsó héten volt, mint csekket null szó szerint minden alkalommal. OK, so-- KÖZÖNSÉG: Ha a return 0 csak egy sor, még továbbra is szükségünk van a zárójel? ZAMYLA Chan: Te technikailag nem szükség van rájuk, amíg te következetes. Ez jó gyakorlat csak hogy a szokás A kapcsos zárójelek használata, de technikailag nincs. Nem kell őket egy sort. Csak hajlamosak ajánlom az emberek kezdenek a program. Szóval, most mi akarunk itt csinálni? Tehát most már tudjuk, hogy a string érvényes. Szeretnénk, hogy a számítási hosszát. Mi talán az első dolog, amit akarok? KÖZÖNSÉG: létrehozása int, hogy ez a hossz. ZAMYLA Chan: Pontosan. KÖZÖNSÉG És szeretnénk beállítani, hogy? ZAMYLA Chan: 0-ra. Tökéletes. Rendben van. Most mit akarsz? Ez tényleg a nagy részét is. Megy ez. KÖZÖNSÉG: Szóval valószínűleg nem a hurok. Aztán mióta hívod s te szerzés a címe az első dolog, akkor kezdje i értéke 0. Aztán amíg x plusz én nem vissza perjel 0. ZAMYLA Chan: A null terminátor. KÖZÖNSÉG: A null terminátor. Ezután adjunk hozzá egy méretre. ZAMYLA Chan: Igen. OK, így lehetővé teszi, hogy kapcsolja be a nagyon konkrét kódot. De ez a tökéletes ötlet. Pontosan ez az, amit mi csinálunk. Mi lesz iterációjával át a mutató. Szóval, mit akarunk csinálni ehelyett az int itt, mert vagyunk nem utal egy azt. Mi utalva a kezdete egy húr, hogy megkezdődhessen néhány cím, ugye? Ezért szeretnénk a mutatót. Szóval megy, hogy néhány char csillag, mert megfelel a s, ugye? Tehát ez egy bizonyos ponton vagyunk inicializálás a kezdete a húr, OK? Szóval csak hívjuk i. Ha ez a kezdete a húr, mi fog ez kell rendelni? Nem 0. Azt akarjuk, hogy ez legyen a kezdődik a string. Mi jelenti a kezdete a húr, amit adott nekünk? KÖZÖNSÉG: Just s. ZAMYLA Chan: s. Tehát ez létrehoz néhány új mutató, amely jelenti a kezdetét a húr, OK? Egy másik módja, hogy belegondolok olyan, mint itt a tömbben. Ez a húr, s. Mondjuk, ez a első helyszínen, és ez 0x4. 04.. Ez a mi s, amely szerint cím. És mi most létrehozott egy egy úgynevezett én csak azt jelenti, hogy ugyanazt a dolgot. Így ők mindketten csak mutat a kezdete a húr. Ez csak egy grafikus ábrázolás. Tehát most mit akarunk tennie szeretnénk navigálhat a feltétele iterációjával keresztül húr. Most vásárlás. Van bolt, srácok. Van meg akarjuk tartani, amíg frissítése elérjük a null terminátor, ugye? Tehát mi is, hogy néz ki? Nem akarunk i, vagy nem akarunk csillag i a kérdés? A null terminátor címet vagy valami található a címe? Található egy címet, igaz? Tehát szükségünk dereference bármi is itt, mert ez csak néhány címet. Ahhoz, hogy valóban eljut a start meg kell ezt dereference azért, hogy valóban kap mi van az első helyen. Tehát, ha nem teszünk csillag i, milyen Nem azt akarjuk, hogy egyenlő? KÖZÖNSÉG: Back slash? ZAMYLA Chan: Van. Van ennek értelme mindenki? Meg kell, hogy menjen be a húr és győződjön meg róla, hogy ez nem a vég. És akkor is csak frissíteni, mint ez. Normál frissítése. Így mindaddig, amíg ezek met, mit kell tennünk? KÖZÖNSÉG: Hosszúság plus plus. ZAMYLA Chan: Mm-hm. Aztán miután az a hurok megszűnik, mit akarunk visszatérni? KÖZÖNSÉG: Hosszúság? ZAMYLA Chan: hossz. Tessék. Nyilvánvaló, hogy a hús, ez egy megértése ez a for ciklus. Mindenki kap, hogy hogyan működött? Örülök, hogy menjen át újra. KÖZÖNSÉG: A második rész, tehát a csillag én ott, ez a címe a first-- ZAMYLA Chan: Ez nem a cím. Ez az, ami az. KÖZÖNSÉG: Ez tényleg ott. ZAMYLA Chan: Ez mi van valójában ott. Tehát ez saying-- legyen nekem, hogy ez a jobb. Szóval ez a 0x04, és én csak megy mondani fogok, hogy ez a nevem. OK. Igen, tudom, hogy ma este kvíz felülvizsgálat. Sok kvíz felülvizsgálat. Mondjuk ezt a fonalat az én nevem, Allison. Kis rendetlen, de ott van. És s helyét jelöli , ahol a húr kezdődik, így fogom, hogy ez real-- ez a címét, egy, ahol a húr kezdődik, igaz? Szóval, mit csinálunk itt akarunk használja mutatók halad végig. Tehát egyfajta mutató, i, hogy is egyenlő a kezdetét a húr. És minden ponton, azt akarjuk, hogy továbbra is megy át a tömb itt, amíg elérjük a null terminátor. Így mindig szeretné ellenőrizni, mi van mindegyik ilyen címeket. Tehát feloldási i, hogy a az első alkalom, csináljuk mi azt mondják, OK, mi címen 0x04? Ez egy a. OK, mi a jó. Növelés hossz. Lépjen tovább a következőre. Így emlékszik én-- mutatók növekedése a méret amit éppen mutat. Így ebben az esetben, mivel ez a char, ez lesz frissíteni egy. Tehát most megyünk nézni 5 ami azt jelenti, hogy megy itt. Tehát azt mondja, rendben van, menjen a 0x05. Mi van ott? Ez egy l. És ez lesz csinálom, hogy amíg eléri ezt. És azt mondja, rendben van, hogy mi van a bármi cím ez? A null terminátor, OK. Exit. És csak vissza hossz. Mert szükség, ami valójában a ezt a címet, nem a cím is. Nagyon kevés helyen, ahol valóban szüksége van a cím. Az idő nagy részében, amikor Ön használja az és ez amikor először hozzárendelése a mutató, vagy ha te halad, hogy egy másik funkció. OK, mindenki jó ott? Valami? OK. Tehát úgy néz ki, mint a mi már Van körülbelül 12 perc van hátra, így megyünk tovább talán az utolsó probléma, és akkor ott van minden fogalmak, jöttek fel időközben tudjuk Gyorsan megy át azt. Tehát kapcsolási fokozatba utolsó probléma, kapcsolja nyilatkozatokat. Tehát a feladat az, hogy átírja ezt úgy, hogy az azonos viselkedik de nem használja kapcsolókat. Fakó kezét. Tehát bármilyen kérdése van a kapásból? Nincs? OK. Mindenki érti, hogy ha a esetében nem kell semmit utána, ez azt jelenti, hogy azt kellene kövesse a következő lépés? Így az esetben az 1. és 2. ebben az esetben nem pontosan ugyanaz a dolog. Néha pont az összetévesztés veszélye. Rendben van. Bárki bármilyen ötleted? Igen? KÖZÖNSÉG: Tehát akkor csak tennie, ha kimutatásokat. ZAMYLA Chan: Mm-hm. Szóval, mi a első? KÖZÖNSÉG: Ha n értéke egyenlő 1-gyel, és a 2-vonalak vagy egyenlő n értéke 2, akkor nyomtasson kicsi. És akkor is, ha te mást? Vagy csak nem egy, ha? ZAMYLA Chan: Megteheti, ha más? KÖZÖNSÉG: Nem lenne baj, ha a teendő, ha? ZAMYLA Chan: Szóval igen. Vajon anyone-- igen, akkor lesz ugyanazt a kimenetet ha használja éppen IFS versus ha használja az IFS más. Tudsz srácok gondol az oka miért érdemes használni más ha szemben sok IFS? Van, hogy a hatékonyságot. Igen? KÖZÖNSÉG: Ez megtekintéséhez minden az IFS minden alkalommal. ZAMYLA Chan: Tehát akkor is, ha beugrott ez első, ez megy a check minden ember. Tehát azt szeretnénk, hogy használja, ha más esetekben IFS ahol csak az egyikük valaha alkalmazni. Így a kölcsönös kizárás amit hajlamosak vagyunk mondani. Ha van egy csomó IFS, ez azt jelenti, hogy talán több mint egy közülük kérdések, és talán több, mint egyikük lehet igaz. És azt szeretné, mindkettő hogy végre, ha ők igaz. Ha csak az egyik, hogy a munka Ezekben az esetekben zárják ki egymást, használni kívánt mást, ha azért, mert minden köze van hatékonyságot. A kód csak jobb tervezték ha betartja ezt a gyakorlatot. Tehát ebben az esetben lesz egy else if. És ez lenne? KÖZÖNSÉG: n értéke = 3. ZAMYLA Chan: Tökéletes. Print közegben. És akkor az utolsó eset, mi van? Különben vagy pedig, ha? KÖZÖNSÉG: Else. ZAMYLA Chan: Do mi want-- akarsz még ha azért van, mert a konkrét eseteket. Ez nem egyfajta fogás minden. Ha lenne egy alapértelmezett a switch-- emlékszem kapcsolók Önnek eset, és akkor az alapértelmezett. Ha lenne egy alapértelmezett, ez a fajta a más nyilatkozat is. De ha csak az esetekben, azt jelenti, hogy szükség van ellenőrizni, hogy ha ez minden ilyen. Így ebben az esetben ez lenne a 4-es vagy 5. Szeretnénk a nyomtatott ki. Ez nagy. És tessék. És ez lesz a program. Tehát ebben az esetben, ha volt az alapértelmezett valami, mi lett volna egy máshol bármi is akarta csinálni. Szóval ez egy jó különbséget tudni, hogy megértsék. Vajon hogy segít kapcsolók az Ön számára? Tökéletes. Rendben van. Jelenleg körülbelül nyolc perc van hátra. Van srácok bármilyen más magas szintű fogalmak? Kérdések általában? Igen? KÖZÖNSÉG: Volt egy kérdés egyik ez volt a véletlen szám generátor kvíz nulla. ZAMYLA Chan: Ó, hogy az egyik. Hogy egy másik, ahol egy ez inkább matematikai than-- igen. A megoldás, hogy még én is, ha hogy-- Úgy látom, én vagyok, mint mi ez. KÖZÖNSÉG: Ez volt a 7. ZAMYLA Chan: Furcsa véleményem. Tehát alapvetően azt szeretnénk, használja drand48, amely Önnek néhány szám 0 és 1 közötti. És szeretné használni úgy hogy valahogy a-- és ez sokkal inkább egy matematikai probléma nekem, mint azt hiszem, a CS probléma. Az hogy te it-- és Néha ez csak olyan, mint ezt. Ismét, ezek a az esetben, ha ez a fajta hasonló levelet, amit lehet, és a részleges hitel. Tehát, ha azt akarjuk, vissza, tudjuk, hogy vagyunk lesz használva drand48 valamilyen módon, ugye? Szóval, miért nem csak írd azt le. Mi használja valamilyen módon. Az is, hogy van srácok használja a mint ez, ami megpróbálom megmagyarázni. Tehát alapvetően mi történik itt azért van, mert ez a 0 és 1 közötti, mit csinálsz te most szorozni by-- ez nagyon sok egy matematikai kérdés. Csak teljes nyilatkozat, ez teljesen egy matematikai kérdés. Amit csinál, az azért, mert a 0 és 1, és szeretné, hogy legyen belül Ebben a tartományban, hogy tényleg kitalálni, hogyan lehet nagy ez a tartomány, és azután akkor alapvetően méretezni, ami pontosan ezt csinálja. b mínusz ad, hogy a tartomány, a közötti különbség a számok. Akkor szaporodnak 0 és 1, majd hozzáadjuk a csak azt jelenti, hogy az átméretezés fel így, hogy ez az a és b között, amelyet én nem nagyon szeretem ezt a problémát. Mint mondtam, ez a teszt azt jelenti, hogy az magában foglalja akik kevésbé kényelmes, Valahol a kettő között, és kényelmesebb. Tehát, ha ez sikerült is, így hogy ez valami hogy mindenki a kisebb kényelmes kapnánk, mi lett volna túl sok emberek pontozási tökéletesíti, és a kényelmesebb lenne unatkozni. Így mindig ezeket fajta agy teaser kérdések amelyek célja, hogy egy kicsit nehezebb hogy némi kreatív gondolkodás. Amikor látod őket, nem túl kivágott. Azt biztosan mondom lepattintható át a kvíz első. Problémák megoldására hogy tudod, mert nincs értelme elakadás egy probléma, ha van három vagy négy-öt az oldalon után, hogy könnyen csinálni. KÖZÖNSÉG: Miért éppen ugye szorozza meg a tartomány? ZAMYLA Chan: Te szaporodnak a tartományt Ön tudom-- ez olyan, mint hogy mennyi után akarsz? Szóval lehet gondolni, mert visszaad egy szám 0 és 1 közötti, lehet gondolni rá, mint egy százalék. Szóval ez lényegében azt mondja, ha van a szám sor itt, a van itt, és b itt. Te, mint a mennyi múltban ez? Van minden, amit csinálunk. Szóval csak azt kérdezi a százalékos aránya ebben a tartományban, amely az, amit ad neked. És akkor alapvetően csak méretezni hozzáadásával. Ez egy matek agy teaser. Ha volt valamilyen utolsó pillanatban tanácsot, én mondanám, flip-át a kérdéseket, kitalálni, melyik is tudom, hogy mint, oh én. Szinte biztosan ők fognak lehet kérdés, hogy nem tudni, vagy, hogy fogsz, hogy időben az, tehát hit erősségeit, OK? Srácok fog nagy. Van egy csomó kérdések okból, úgy, hogy ideje milyen lehetősége van arra, bizonyítani, milyen te tényleg jó. Tehát ez rendben van, ha Nem jó minden. Játssz a erősségeit. Igen? KÖZÖNSÉG: Szóval ez fog vissza valami, ami csonkolt? Igen, ez lesz, mert drand visszatér 0 és 1 közötti. Ez lesz vissza egy int, mert ez lesz csonkolni ha hozzá vagy szorozza meg. Cool. Minden last minute kérdése? Srácok fognak csinálni jó. Te lesz mesés. És akkor is, ha nem, nem lesz legyen cukorka itt a jövő héten. És én szeretlek. Én szeretlek titeket függetlenül. Rendben, mindenki jó szerencsét. Van egy nagy idő. Te rendben lesz. És tudod mit? Két nap ez lesz a vége, míg én két midterms csütörtökön, így legalább srácok kerül sor. Rendben, én találkozunk a jövő héten.