ALLISON BUCHHOLTZ-AU: Hej, svi. Dobrodošli u odjeljku. Danas samo će biti sve kviz pregled za svoj kviz u srijedu. Nadam se da svatko sjeća da je imaju kviz u srijedu. A ako nije, dobro, Sada ste podsjetio. Dakle, srijeda pobrinite se pojavite za klasu ili drugih smještajnih kapaciteta kao potrebno. Vi dečki će biti strašan. To će biti velik. A ja ću učiniti sve što mogu kako bi se pripremiti vam danas za svoj kviz Sada. A iu slučaju da ne znate, tu je naravno širok pregled sesije Danas u 7 sati u Sjeverozapadna laboratoriji soba B103. Možete me opet vidjeti na bis kao Ja ću voditi dio tog pregleda sjednice također. Dakle, ako ne mogu dobiti dovoljno od mene Sada, možete ponovno doći večeras. U redu, tako da prvi stvari prvi. Samo neki kviz savjeta prije nego što smo zapravo roniti na mišljenja. Dakle, kao i sa svakim ispit, prakse svakako će vam pomoći. Tu su ispiti iz prošlosti šest ili sedam godina tamo, tako da je puno prakse Materijal za vas dečki da imaju. A u stvari, danas je zapravo samo će se ide preko bilo tema da vi imate pitanja na te kao što je rad kroz praksu problema iz kviza nula. Tako ću povratiti kviz nulu od prošle godine ovdje, i možemo raditi kroz ikakvih problema kako vi želite. Dakle, trenirao. Ti ćeš početi raditi kako danas. Kod na papiru. Tako da, ako svatko zapravo mogao izaći papir, to će biti velika, zato što nisi će imati svoje računalo na ispita i pisanje koda rukom Često je mnogo teže nego što se moglo očekivati. Vi ste koristiti samo gledajući ga i tipkati, i imate svoj prevodilac na vam pomoći kada imate pogreške, ali ne bi da je na ispitu. Tako da je jako važno da se zapravo biti u stanju napisati kod, i to mišića sjećanje na događaj to rukom stvarno će vam pomoći. Dakle, mi smo dobivanje malo izbliza. To je u ponedjeljak. Vaš ispit je u srijedu. Ali, ako imate vremena, svakako uzeti jedan od ispita iz prošle godine ili Godinu dana prije pod vremenskog ograničenja od sat i pol. Samo knock out sat i pol vremena, i sjesti se dolje, i samo raditi kroz probleme kao da ste zapravo bili uzimati, jer je jedno od najvećih stvari koje ćemo čuti o tome su kvizovi je da su jako dugo. To je puno materijala. Postoji puno pitanja, a većina ljudi ne može završiti. Znam da sam u potpunosti ne završi moji kvizovi kad sam uzeo klasu. Na toj bilješci, što je manje ugodno poglavlje, Razumijem da je ovaj tečaj namijenjen za snabdjevanje hranom za ljude na svim razinama. Cijeli razlog smo da Split manje ugodno, negdje između, i udobnije je vrsta bi ga više fer. A ako su manje ugodno, to je Nije potrebno per dobiti sve. Kao i ako su dobivanje sve, što bi vjerojatno biti u ugodniji dijelu. Dakle, očito ne sebe pretukao previše teško ako ne možete završiti ispit. Uzmi to od mene, nisam to učiniti. Ja sam još uvijek koncentratora. Ja sam još uvijek pomaže naučiti tečaj. Vi ćete biti u redu. U redu. I na kraju, naspavati. Očito s bilo ispit mi uvijek reći. Skladišteći noć prije i ne uzimajući bilo koji spavaju ne not-- možda ako je to radi za vas, ići za to. No, za veliku većinu ljudi, dobivanje na spavanje, ostavljajući svoj mozak odmoriti i oporaviti Prije dolaska u za ispit stvarno će vam pomoći. Gotovo Također će sigurno biti bombona na ispitu, tako da ćete morati gledati prema naprijed. Vi ćete napraviti super. To će biti u redu. A sada u narednih sat i pol I će pokušati i vas pripremite najbolje što mogu. Dakle, imam slajdove iz osnovi svi dijelovi do sada. Neću ići kroz sve njih, jer to nije izvedivo u sat i pol, kao i kao što je rad kroz praksu problema. Dakle, umjesto da imam popis tema. To su sve stvari da možemo vam kviz dalje. Ako postoji išta koji stvarno iskoči da želite ići preko, da vas Želiš ići preko konceptualno, Mogu pokušati i dati li pregled tamo. Ili, ako želite skočiti pravo na radi prakse probleme zajedno, možemo to učiniti. To je do vas dečki. Ne postoje da su mnogi od vas. Dakle, to je ono što vi želite učiniti. Želim biti najviše korisno prema vama. Zato ću vam samo gledati. PUBLIKA: Jedno je grafikon koji držimo govoreći o dimnjaku i hrpu. Samo cijela ideja to i što to znači. ALLISON BUCHHOLTZ-AU: Da, u redu. To je sve u kraj, pa neka me kretanje kroz. PUBLIKA: Nemamo se to učiniti sada, ali svejedno. ALLISON BUCHHOLTZ-AU: Je li anything-- ovaj jedan. Je li to vrsta fuzzy za ljude? PUBLIKA: Da, mi drugi to. A možemo i ne buffer overflow? ALLISON BUCHHOLTZ-AU: Buffer overflow? U redu. Dakle buffer overflow je prilično jednostavno samo razgovarati o tome. To je u osnovi puferi mislite o tome neki niz memorije imate, zar ne? Mi obično govorimo o buffer overflow kada da ne provjere koliko Korisnik se stavljanjem u, zar ne? I ideja da s buffer overflow je oni su stavljanjem u daleko previše podataka za prostor koje ste dodijelili za njih, zar ne? Dakle, ako ti kažeš, dati ja neke poruke, mi smo pod pretpostavkom da oni će dati nas razumne duljine poruke. Možda par redaka, sitnica. Dakle, mi ne provjeriti. Umjesto toga, oni nas hrane u Cijela knjiga koja je poruka, i to prelijeva količinu Prostor koji smo izdvojila za to. A što se događa je to moglo prebrisati mjesta koja se ne bi trebala. Tako da znam Profesor Malan rekao nešto o buffer overflow napada. Dakle, to je gdje korisnički ulaz volja neka velika količina podataka u nadi da je prepisuje prošlost kraj vašeg tampon i zamjenjuje something-- pitam I mi imamo one slajdove ovdje. Ne mislim da imamo oni slajdovi ovdje. Ali u osnovi je prebrisati neki dio memorije koji mu omogućuje pristup s dijelovima računala da ne bi obično imaju pristup. Najveća stvar s buffer overflow je samo razumjeti da to se događa kada niste provjeru koliko je vaš Korisnik se stavljanjem u. Kad niste vrsta zaštitu protiv toga. I Na svojoj najjednostavnijoj stvar, to je samo vaš korisnički unos masivnu količinu podataka u pokušaju prebrisati neke sigurnosti dio sjećanju. To je sve što je. Dakle, ovaj ovdje, stog i gomila. Uglavnom sve je to samo prikaz memorije i gdje su pohranjene stvari. To je zapravo vrsta sve što trebate znati. Najveće stvari koje trebate znati su that-- neka me vidjeti ako postoji better-- ovdje. Dakle, ovo je stog ovdje. Dakle snop ima veze s sve svoje funkcije da ste zovete u bilo kojem trenutku. I ono što je važno zapamtiti ide off prošlog tjedna s malloc je da stvarno nemam Potrebno kontrolu nad njim. To sve ovisi o tome kada je izvjesno funkcije izvršenja. A kad se izvršavaju, oni imaju ono što se zove stog okvire koji idu ovdje. Dakle, sve vrste događa bez ikakvog stvarnog ulaz od vas. Možete napisati svoj program, i pustiti ga pokrenuti, i stog vrsta traje brigu o sebi kao što treba. Dakle, ako na glavnom koju zovete kocka, koji će biti donesen ovdje. To će stvoriti okvir. Ali nema ništa eksplicitno ne stvoriti taj stack frame osim napisati funkciju za početak, u redu? Koja je vrsta pod svoje Kontrola je hrpa s malloc. Dakle, kad god nešto malloc, uzimate memoriju iz hrpe. I to je memorija koja vas ima, u nedostatku bolje riječi, eksplicitna kontrola, jer se sjećam s malloc to je u osnovi postoji sve dok ne kažu drugačije. Za one od vas koji Gledao dio prošlog tjedna, da je tamo sve dok je ne kažem da ode. To će biti tamo, osim ako inače ne rekao. Dakle, gomila je samo nešto možete misliti kako je memorija da imate kontrolu nad. I oni su samo dvije različite velike stvari. Osim toga, ne bi trebali imati brinuti previše o dimnjaka i hrpu Pitanja i obično više jednostavno ako imate lokalne parametre ili funkcija će to biti na stog ili gomila. Očito, u ovom slučaju to bi bilo stog. Ako ste mallocing nešto, gdje se to dolazi iz? Gomila. Ako pogledate praksu kvizova, onima općenito vrsta pitanja da imaju. Vi ne morate brinuti previše o tome. Možete dobiti u eksplicitnije oko dimnjaka i hrpu kasnije ili u drugim CS klase. Dakle, samo ima vrsta Generalna ideja o tome što je to će biti dobro, što sam samo vrsta ode. Sve ostale teme? Da? PUBLIKA: Možete li ići preko pokazivače opet jako brzo? ALLISON BUCHHOLTZ-AU: pokazivače? Želite li konceptualna pregled upućuje ili ti vježbati s pokazivače? PUBLIKA: Vrsta kao sintakse. ALLISON BUCHHOLTZ-AU: sintaksa? Da. U redu, mi smo uzimajući tamo. Da, pa to je samo vrsta nešto kada imate rekurzivne funkcije, svaki put da je rekurzivna funkcija zove, to samo dodaje drugi stog okvir. Prilično mnogo primjera kako ti zapravo ne ima kontrolu nad okviri na čipova. U redu, pokazivače. U redu, tako stvarajući naputke. Zapamtite, to je samo upisati zvijezdu. Dakle, bez obzira na vrstu podataka koji ti si idući u biti pokazuje da. Dakle, to bi bilo pokazivač na int. To će biti pointer na char. To će biti pointer na plovak. Dakle, to je u osnovi bilo što želite da se upućuju na, Star je, kako se deklariraju pokazivač, u redu? No, onda očito dobiva malo lukav kada imate pokazivač ili imate zvijezda god. Dakle, velika je razlika kada ste declaring-- pa smo tako some-- to traje neko int zvijezdu. Dakle, ovo je neki pokazivač x poziva na int, zar ne? Pa sjetite se što to radi to naziva sustava x. A to će se imaju neku adresu, zar ne? Pa neka je samo reći da je ovo naša adresa. Upućuje držite adrese. Pa što to govori da je ovo mjesto, mi smo pohranjivanje int. Dakle, još jedan način na koji možemo sjetiti to je da je to neki int. Mi smo stvarno ne dodijeliti ništa, ali to je samo int. Dakle, što možemo učiniti je, ako mi zvijezda x iznosi 5, to postaje 5, u redu? To govori ići na ono što je x pokazujući, pa ići na ovu adresu a čine ga jednaka 5. Tako smo dodijelili 5 na ovu adresu, zar ne? A onda, ako to učinite, to nam daje adresu. To je adresa operatora. Dakle, ono što je adresa x? Ne znamo. Nismo ga dodijeliti adresu. Mogli bismo reći da je some-- sad mi je dao je adresa, tako da je adresa 4. A zapravo, ako ćemo ići kroz nešto ovako, vrsta što smo učinili. Tako rade kroz here-- nađem pomaže ako izvući naputke. Ako ste na ispitu, ja visoko preporučiti crtanje kutije. Dakle, ovaj prvi, int x jednaka 5. To samo znači da imaju neke mjesto u memoriji koja je 5, zar ne? I nas je naš stol ovdje govori da je na adresi 0x04. I onda smo stvorili neke pokazivač. Tako ćemo razbiti ovaj dolje jedan po jedan. Dakle, to stvara neki okvir na int, zar ne? To će držati neki adresu na njega. Dakle, ovo je neki pointer. A to kreda je stvarno mali. Dakle, imamo neke pokazivač ovdje. I naš stol nam govori to je adresa 0x08. Cool. I mi smo dodjeljivanje je na adresu x. Zapamtite, pokazivače držite adrese, u redu? Dakle, ako želimo zadržati x, imamo upotrijebite operator adresu, koja je znak za struju, kako bi dobili adresu x, što u ovom slučaju, 0x04. I onda ako imamo neki int kopija, to samo stvara neki drugi okvir koji drži int zove kopiju. A ako ćemo dodijeliti to this-- pa to je to pozivom. Dakle, to govori ići na ono što adresa pokazivač drži. Pointer drži ovu adresu, tako da ćemo ići ovamo, a mi reći, u redu, ono što je u njemu? To je 5. Dakle kopija postaje 5. Smisla? Što ako sam pokušao dodijeliti to samo pokazivač. Što se kazaljka zapravo jednaka? Bilo bi to bilo pokazivač sadrži, zar ne? A što onda ako sam to učinio? Što bi kopirati biti sada? PUBLIKA: 0x08. ALLISON BUCHHOLTZ-AU: Yep, adresu naše pokazivača. Bilo koji dio toga da treba se ponovno objasniti? Cool. Tu je svakako vrlo zabavno problema na kvizu jedan da možemo preko toga daje vam više prakse. Dečki iz prošlog tjedna mogu vam reći da nije bilo tako loše. Dobili smo kroz cijeli grafikon, a svatko je super. U redu, tako da je pregled o sintaksi upućuje. Najveća stvar je razumijevanje kako ih stvoriti, učiniti pozivom, i adresu, u redu? Cool. Sve ostale teme prije smo zaroniti u praksi. Također, ako ćemo kroz problemi praksa a tu je nešto što želite podsjećanje na, možemo to učiniti previše. Imate li nešto? PUBLIKA: konstrukt i povezani popisi. ALLISON BUCHHOLTZ-AU: konstrukt i povezane liste, u redu. Tako konstrukt. Mi zapravo događa nad ovim večeras previše. U redu, tako konstrukt. Konstrukt su u osnovi samo način da držite više vrijednosti različitih tipova. Tako je s nizom smo tijesan za jednu vrstu podataka. Naš niz ili mora biti samo brojevi, ili samo biti znakova, ili samo biti pluta. No, možda ćete morati sadrže više od toga. Možda ćete morati hold-- ako pričaš o studentu, ti ćeš imati svoju kuću, njihova ID broj, njihova dob, gdje žive, zar ne? I svi oni su različite vrste tipova. Dakle, ne može pohraniti oni sve u nizu. Pa što možete učiniti je li može stvoriti struct, koji možete misliti kako je tvoj vlastita vrsta osobnih podataka. Dakle, umjesto da samo ima Ints i umjesto da samo imaju kola, možete imati tip studenta koji ima svih tih polja u njega. Dakle, način na koji smo inicijalizirati naši konstrukt is-- zapravo jer moje pisanje je strašna, mi će prijeći na tipkanje. Woo. U redu, pa ako želimo stvoriti struct-- Samo ću na njega ovdje. Zanemarite u glavnom god koje će koristiti kasnije. Dakle, način na koji želite raditi što je s typedef STRUCT. I neka je samo nazvati ovaj student jer to je ono što sam bio koristeći. U redu, tako da typedef znači da ste definiranja novog tipa, u redu? Postoje nijanse u kada radite Samo struct nasuprot typedef STRUCT. Za sve namjere i svrhe, ti dečki su samo će pretpostaviti da su približno isti i jednostavno koristiti typedef STRUCT za sada. To će postati način očitije u vašem Sljedeći P postaviti ono te razlike, ali ja ne mislim da je potrebno brinuti o tome sada. Ja bih puno radije si znate kako stvoriti jedan, pristupiti, i dodijeliti [? vrijednost. ?] Nova vrsta STRUCT, i mi smo nazvavši ga student. Dakle, nakon što smo izradite ovaj, za sve namjere i svrhe, imat ćete tip zove student. A možete misliti da je to samo kao tip kao int, ili plutaju, ili char. To je samo još jedna vrsta, u redu? Tako je u tom jednom, što imamo? Imamo možda ime. Dakle, možda želimo ime string. I mi smo možda jedan int koji je ID. I imamo još jedan u to je broj telefona. I mi smo some-- ćemo vidjeti. Što bi drugo moglo imamo? Mi ćemo imati neki string u svojoj kući. Sve stvari koje učenik ima. Dakle, to stvara struct sada. Pa kako bismo mogli stvoriti student? Ako imamo neku varijablu koja je će govoriti o Walker ovdje pa smo have-- mi smo samo nazvati ovaj Walker. On treba promijeniti. Koji je tvoj tip? PUBLIKA: Student. ALLISON BUCHHOLTZ-AU: Student. Dakle, to samo stvara objekt što možete misliti da ima sve te stvari. Upravo ste stvorili hodalicu studenta. Tako sada moramo biti u stanju dodijeliti sve to, zar ne? Tako se bilo tko sjetiti kako možemo pristupiti unutar STRUCT? PUBLIKA: Razdoblje. ALLISON BUCHHOLTZ-AU: Razdoblje Točno. Dakle, ako smo htjeli dodijeliti mu ime, možemo to učiniti. Očito to bi be-- ovaj dio ovdje bi biti u glavni, tako zapravo neka mi to učiniti. Objavite ovo gore Glavni tako da ga možemo koristiti u glavni. Dakle, sada želim to učiniti ID, a mi ćemo samo napraviti neki tamo, a onda ćemo dodijeliti kuću. Bam. Cool. Dakle, sada bi mi ikada trebati za pristup nešto kasnije on-- možda we-- ako mi ikada trebati za pristup ništa, neka je samo napraviti int kopiranja ID. I želim kopirati Walker je ID u ovo. Kako bih mogao to učiniti? Morate pristupiti u kolicima struct na [? ići na to?] [? E?]. A isti način na koji mi je dodijeljena ovdje, kako Možda ćemo mu pristupiti kada želimo daju tu vrijednost na nešto drugo? PUBLIKA: Walker.id. ALLISON BUCHHOLTZ-AU: Da, točno. Dakle, to je uglavnom sve trebate znati konstrukt. Vi samo trebate misliti ih kao drugu varijablu. Uglavnom stvoriti svoje vlastiti varijabla tipa, u redu? Možete ga koristiti da se proglasi varijable na bilo koji način. Ovdje Walker je još uvijek promjenjiva. To ima samo jedan tip student sada umjesto od tipa int, ili tipa string, ili tipa char. Ako postoji jednostavan način za razgovor o konstrukt, to je doslovno samo napraviti svoj vlastiti tip podataka koja vam omogućuje da grupa sve to drugačije vrste podataka zajedno. Da li to smisla? U redu. To je i pristup s točkicama. Prilično mnogo sve što trebate. U redu, u kojem je moja PowerPoint ići? Ovdje je. Pa to je čudno. Aha. U redu, u redu. Sve ostale stvari, ili i mi žele krenuti u praksi? Praksa? U redu. Strašan. Idem za izlaz to. Ako je u bilo kojem trenutku za vrijeme praksi pitanja, Sretan sam obnoviti i proći kroz stvari. Dakle, imam kviz nulu ovdje. Ako ti dečki žele povući da se na vašem računalu, baš kao i uzeti pet minuta za pregledavanje. Možda izaberite neki vrh Pitanja želite ići preko. Ako vi ne možete odlučiti, samo ćemo polako početi raditi kroz njih, ali ja sam siguran da će biti neki pitanja koja su posebno žele razgovarati o tome i imaju ja raditi kroz sa svima vama. Dakle, samo ići naprijed i uzeti pet minuta. Pomicanje kroz. I ovo je kviz od 2013. PUBLIKA: Nula? ALLISON BUCHHOLTZ-AU: Da, kviz nula. Mi ne radite kviz jedan stvari. Mi ćemo to učiniti u par tjedana. Također, za one od vas koji došao kasno, imamo slatkiša, pa da li vi dečki žele bombona? PUBLIKA: Svakako. ALLISON BUCHHOLTZ-AU: Ja sam samo će proći okolo. Hej, ako ti dečki dobili ovdje rano, dobivate više slatkiša. To je u redu. Ben, želiš bombon? Želite li neke od njih? Tu je i Snickers ako netko želi Snickers. Ja ću ih ostaviti ovdje i ovdje. Slobodno. Želite li više? PUBLIKA: Sve set. Hvala Vam. ALLISON BUCHHOLTZ-AU: I ja sam imala lijepo Malo Pile tamo na početku. Vi bi da se kviz i Sam se da imaju kviz ocjenjivanja stranku. To je kaos. 900 ispiti. To će biti toliko zabavno. Će biti super. Prilično sam siguran da je jedan od najvećih veza osoblja noći u godini. Je li netko učinio kviz nula od prošle godine, ali iz radoznalosti? PUBLIKA: Dijelovi njega. ALLISON BUCHHOLTZ-AU: Dijelovi njega, u redu. Jeste li pitanja o bilo kojem od njih? PUBLIKA: Već sam otišao radnog vremena. Hvala vam ipak. ALLISON BUCHHOLTZ-AU: Pa, nadam se to je još uvijek neka vrsta pomoći. Kad ste išli na Radno vrijeme za to? PUBLIKA: Moj TF ih je danas popodne. ALLISON BUCHHOLTZ-AU: Oh. Tko je vaš TF? PUBLIKA: Fred [? Wujaya?]. ALLISON BUCHHOLTZ-AU: Ima toliko TFS. Toliki. U redu. Svatko imati bilo za početak da mogu pribilježiti da želimo raditi? Pretpostavljam da se upućuje jedan sa stolom. Idi za to. PUBLIKA: Možda jedan prekidač. ALLISON BUCHHOLTZ-AU: Dakle, broj 12? Pretpostavljam broj 8 i 9 su vjerojatno oni ljudi žele ići preko. PUBLIKA: I 10 i 11. ZAMYLA Chan: I vi znate dobivate jednu stranicu nota, zar ne? PUBLIKA: Da, pa što su smijemo staviti na to. ALLISON BUCHHOLTZ-AU: Vi ste dopušteni staviti sve što želite. I to može biti upisali. Koliko se sjećam, naši su upisali. PUBLIKA: Možete napraviti leđa i obje strane? ALLISON BUCHHOLTZ-AU: Da, obje strane. Dakle, nešto poput hrpe i [? leđa kraj?] gomila, tvoj trčanje puta. Korisno. Možda sitnice oko upućuje da vas podsjeti. Sintaksa za stvari. Nakon što je kao kostur Program može biti super korisna. Znam da sam uvijek zaboravio točno što Trebao sam pisati za int Main, jer sam uvijek samo kopirati paste iz mog prethodnog P setu ili je već tamo, tako Nikad nisam to napisao, tako da ima može biti super korisna. U redu, pa zašto ne bismo početi s brojem 8 onda? U redu. U redu. Dakle, razmislite program u nastavku. Dakle, očito je, kada smo vidjeli pokazivače, to je vjerojatno dobra ideja za početak crtanja, zar ne? Želim znati gdje su sve moje Veliki komadi krede otišao. To je vrsta neugodno. Dakle, ovdje imamo neke zamjena funkcija koji će uzeti u dva putokaza. Dakle, u ovom slučaju, oni trebao zapravo biti prebacivanje stvari u odnosu na naše izvorne swapa funkcija koja je samo kopija. Dakle, ono što će učiniti is-- Počnimo s glavnom, jer to je gdje je 1. Dakle, imamo neke int x 1. Imamo neke y koji je jednak 2. I onda imamo neku zamjenu što će poduzeti one. I da vidimo što to imamo ovdje. I u našem table-- oh boy. Kako ću to učiniti? Ja ću izvući svoj stol ovamo. Jedva što je tamo. Jedva što je. 1, 2, 3, 4, 5, 6, 7, A oni nam daju da 1 je 1 i 1 2. Cool. Strašan. Dakle 3. I tu je [? 1.?] U redu. A onda adresu x je 0x123. A y je Ox127. Cool. U redu. Želim ti dečki rade na tome za samo like-- rad na sebi s ljudima oko vas. Volio bih da sam rekao da dok sam bio postavljanje. Rad na njemu. Pokušajte i raditi na njemu od strane Sami za par minuta, a onda ću raditi na tome s vama. Budući da je jedini način da si stvarno će naučiti jest to rade sami. Bez brige. Sretno. U redu, zašto ne bismo polako početi raditi kroz to. Dakle, svatko dobiva po jedna linija, x je 1. Nakon dvije linije, x i y su 1 i 2, zar ne? Cool. Dakle, linija tri je mjesto gdje stvari dobili zanimljiva naravno. Dakle, ono što smo učinili ovdje je sada smo zamijenili. Kažemo da su X i Y imaju one točke, ili su adresu X i Y, zar ne? Dakle, u ovom slučaju, tri, Što je vrijednost? je donesen u, dobio je Vrijednost adresu x, zar ne? PUBLIKA: 1? ALLISON BUCHHOLTZ-AU: Dakle, mi to dodati na x? Što je X-adresa? PUBLIKA: 0x123. ALLISON BUCHHOLTZ-AU: Točno. No, ono što je zapravo ukazuje na? Ako bismo dereference, što vrijednost bi nam dati. PUBLIKA: 1. ALLISON BUCHHOLTZ-AU: To bi daj nam 1, zbog čega Govorimo se ići na to adresa, recite nam što je vrijednost. Pa što bi se b? PUBLIKA: 0x127. ALLISON BUCHHOLTZ-AU: Točno. Dakle, to je adresa y. A što [onda? dereference? ?] PUBLIKA: 2. ALLISON BUCHHOLTZ-AU: U redu, tako da sada četiri. Rekli smo je equal-- i sada smo učinjeno int temp jednaka zvijezda. Pa što se mijenja? Postoji samo jedna stvar Ovdje to mijenja. Što je to? PUBLIKA: temp. ALLISON BUCHHOLTZ-AU: temp. Tako možemo prepisati sve to. Dobra strategija za njih samo je figuring out ono mijenja, jer se najčešće postoji samo jedna stvar koja je će se promijeniti u bilo kojem trenutku, u redu? Tako smo dodijeljena temp. Sada naša sljedeća točka, pet, mi su napravili zvijezda jednaka zvijezda b. Dakle, što se mijenja sad? PUBLIKA: Zvijezda. ALLISON BUCHHOLTZ-AU: Zvijezda, tako sve ostalo ostaje isto. A što se glume jednaka? PUBLIKA: 2. ALLISON BUCHHOLTZ-AU: 2. Lijepa. Strašan. U redu, a onda sada imamo započeti b jednaka temp. Dakle, jedino što se mijenja je zvijezda b. Sve ostalo ostaje isto. I što je zvijezda b jednaka sada? A vi ste završili stol. Jer sada na kraju, ako kažemo x i y, znamo da u ovom point-- znamo da kad smo promijenila zvijezda na 2, što je to učinio je to u redu, rekao je, na rješavanje 0x123 ovdje, promijeniti ga. Sada je to bilo 2. A zatim u ovom trenutku, smo rekli OK, ići zvijezda b. Dakle, ići na adresi na 0x127 i čine ga 1. Tako sada na samom kraju, kada mi zapravo povratak na glavni, mi zapravo imamo da je x jednak 2 i y je 1. Svatko dobro s tim? U redu, u redu. Broj 9. Ti dečki rade na tome. Ja ću postaviti ploču tako možemo izvući kroz njega. To će biti eksplozije. Veliki stolovi mogu biti stvarno zastrašujuće, znam. Ali ako im samo uzeti jedan red na vrijeme, oni dobiti puno manje zastrašujuće. U redu. Dakle, znate da će to imati prošla glavna prvi, zar ne? Pokreće x i y i onda ih pokušava mijenjati. Pa čak i swap gore, realna je način ide se da ćemo kroz glavna, a zatim ga zove do zamijene, u redu? Pa to svi znaju. Dakle, koje vam ne dečki žele početi s? Je li netko stvarno siguran o jednom od njih? Ili čak i djelomično sigurni? Zašto ne možemo početi s x? Ono što mislimo je x? PUBLIKA: 1. ALLISON BUCHHOLTZ-AU: 1. Pa zašto onda je 2. A to je zato što Velika razlika ovdje je da smo samo prolazi kopija, zar ne? Mi ne prolazi referencu. Pa čak i na kraju ovaj program xiy ostao isti, jer oni su samo kopije u funkciji zamjenu. Oni zapravo ne mijenja, zar ne? Pa što je s a, b, i temp? PUBLIKA: je b. ALLISON BUCHHOLTZ-AU: je b. Dakle, u tom slučaju, je x, što je 1, zar ne? Pa evo, neka je prošetati kroz njega. Dakle, u početku, a i b su 1 i 2 i neodređen. Tako je izvorno temp dobiva dodijeljen, pa temperatura je 1. jednaka b, tako smo dobili 2, i b je jednak temp. Sada smo dobili 1. PUBLIKA: U prethodnom jedne njega zamijeniti znakom x i y znak za struju. Što to točno znači? ALLISON BUCHHOLTZ-AU: Dakle, to znači da ste u prolazu reference. Dakle, to znači da ste zapravo prolazi u adresama gdje x i y su pohranjeni. PUBLIKA: Ali nisi zamjene adresu. ALLISON BUCHHOLTZ-AU: Nisi zamjene adrese. Vi ste zamjene ono što je u njima. Kao što je na toj adresi, i to je razlog zašto to radi. Versus u ovom programu ovdje ono radite je da ste stvaranje kopije. Dakle, imate X i Y koje postoje kao svoja varijabli ovdje. Ali onda kad prođe ih u zamjenu, to je kao da ste stvaranje ovaj cijeli drugi set. Dakle, ti si zapravo nikad dira x i y. PUBLIKA: Ako je znak za struju x je ono što je na adresu x, što će glumiti x biti? ALLISON BUCHHOLTZ-AU: Ampersand x je ono što je na adresu x, onda star-- dobro, U ovom slučaju, X nije pokazivač. PUBLIKA: Oh, u redu. Dakle, samo to učiniti jer to nije kazaljke. ALLISON BUCHHOLTZ-AU: Točno. Možete napraviti zvijezdu nešto što je pokazivač. Možda biste mogli učiniti da stvari koje nisu, ali sastaviti vam da to lude stvari će se dogoditi. I nisam baš siguran što će se dogoditi. Uvijek možete uzeti adresu nešto, ali ne možete dereference nešto što nije kazaljke. Ako to ima smisla, to je Dobar razlika imati. Dakle, nije loše, zar ne? Tablice su nadam uzimajući nešto manje zastrašujuće. U redu. Ah, ti zabava. Tako sada, pisanje vlastitog koda. Tako ću vam dečki rade na to za oko četiri minute, a onda možemo razgovarati o načinima da se približe. Slobodno razgovarati s ljudima oko vas. Također, to je zanimljivo. To je poput svih djevojaka poglavlje upravo sada. Prilično uzbudljivo. Osim Chang. Ali Chang zapravo nije dio članka. Strašan. Savršeno. Dakle, ja ću vam dati par savjeta. U slučaju da imate više od jednog znaka, gdje imate nešto drugo kao što je 123 ili 1000 nečega, morate biti u mogućnosti petlji putem i pretvoriti svaki od njih. Dakle, postoji par načina na koje bi mogao učiniti, ali ti si definitivno će imati za petlju negdje tamo na petlji kroz njih, što je vrsta kao podijela s čak i ako poziv strlen, koja je vrsta sviđa oh Možda želite koristiti duljinu u nizu na neki način. U redu. Pa što vi mislite moglo biti jedna od prvih stvari koje želimo učiniti? Ima par slučajeva ovdje moramo uzeti u obzir, zar ne? Ili imamo nešto što je null. Što mi imamo? Slučajevi. Null. Imamo slučaj da ima nešto drugo od 09, zar ne? Pa recimo da ima slova. Ili imamo slučaj koji je važeći. Tri slučaja misliti. Dakle, koje misliš možda najlakši on brinuti za prvi? PUBLIKA: Null. ALLISON BUCHHOLTZ-AU: Slučaj je null. Pa što će mi tamo? PUBLIKA: [nečujan]. ALLISON BUCHHOLTZ-AU: Da. A ono što želim učiniti? PUBLIKA: Povratak 0. ALLISON BUCHHOLTZ-AU: Točno. Strašan. U redu. Tako je sada slučaj da ima slova i slučaj da je valjana. Mi zapravo može brinuti to u roku od jedne petlje, u redu? Dakle, jedan od načina da it-- učiniti ono što bi moglo biti jednostavan način da provjerite je li to valjani. Mi će morati proći kroz svako slovo i raditi što? PUBLIKA: Provjerite je li to in-- ALLISON BUCHHOLTZ-AU: Da, možete provjeriti ako je između 0 i 9, zar ne? A onda u slučaju da je valjana, mi smo će završiti iterating putem naš niz ionako, zar ne? Pa zašto ne bismo pokušati kombinirati ih u jednu. Idemo ponoviti putem iz niza, i kao i mi to, idemo prvo obaviti provjeru kako bi vidjeli je li tim slovom ili ako taj lik vrijedi. Ako je, idemo to obaviti operacija koja nam je potrebna kako bi ga pretvorili. Inače to će vratiti 0, zar ne? Dakle, prije nego što smo to mi Vjerojatno želite neke varijablu da se možemo vratiti na kraju to će biti naša stvarna vrijednost. Tako ćemo inicijalizirati neke vrijednosti biti 0. A to je samo kako ćemo početi. Tako ću se riješiti toga. Pa kako ćemo ponoviti kroz ovaj niz. PUBLIKA: Za petlju. ALLISON BUCHHOLTZ-AU: za petlju. Dakle, ono što je naša za? PUBLIKA: ja je 0. ALLISON BUCHHOLTZ-AU: Aha. A što smo mi iterating do? PUBLIKA: duljina str od s. ALLISON BUCHHOLTZ-AU: OK, sad sjetiti postoji bolji način. [Nečujan]. PUBLIKA: Da, možemo napraviti n jednak. ALLISON BUCHHOLTZ-AU: Točno. PUBLIKA: ja je manji od n. ALLISON BUCHHOLTZ-AU: A zašto bismo mi to željeli učiniti? Sjećate li razlog? PUBLIKA: Moramo ga izračunati. ALLISON BUCHHOLTZ-AU: Becasue ovaj način vas samo izračunati jednom strlen. Ako to ne učinite je i manje od strlen e, to znači da se izračunava duljina svaki put naiđete na petlji, što nije veliki trošak energije, ali to je Bolje praksa pokušati raditi stvari kao što je to jednom. Osim ako možda imate ludu niz da se mijenja na svakom iteracija. Ali ako je boravak isto, spremite ga. U redu. A onda sam plus plus. Strašan. Mi smo na našem putu. PUBLIKA: Stvarno brzo. Prvo, tako da ćemo mi reći samo učinio sam manje od strlen od s, su nam ocjenjivanja na dizajn na sve ili samo ispravnost? Oni nisu. Mi smo ocjenjivanja na ispravnost za kvizove koliko ja znam. Ja ne mogu napraviti puno na jamstvo, ali za najveći dio, Velika većina je ispravnost, jer da ste pod velikim vremenskih ograničenja. Dizajn obično znači Imate li vremena za razmišljanje o eleganciju svoju situaciju. U redu, tako da smo iterating putem. Dakle, moramo ni provjeriti je li ovaj lik vrijedi ili ako možemo izvesti naše normalno [? na i?] funkcija. Možemo brinuti o tome što to je u sekundi. Pa zašto ne bismo take-- ako netko može misliti o način da provjerite da vidjeti ako je to valjana. Znamo da će to biti neke ako stanje, zar ne? I zapamtite ovo je u ASCII, pa kako bi mogao vidimo ako to nije 0,1, 2, 3, 4, 5, 6, 7, 8, ili 9. PUBLIKA: Ako alfa. ALLISON BUCHHOLTZ-AU: Dakle, ako bi alfa Samo da nas obavijestite ako je to pismo. A ako oni nam daju simbol, to je još uvijek nije sasvim ide provjeriti. Dakle, ako ste podići svoj ASCII stol, znamo da 0 do 9 su u jednom segmentu. Reci mi brojevi da odgovaraju ako je moguće. PUBLIKA: 40. ALLISON BUCHHOLTZ-AU: Dakle, raspon je kao 40-- PUBLIKA: Možda. 48-57. Nisam siguran. ALLISON BUCHHOLTZ-AU: 40-57? PUBLIKA: 48, mislim. ALLISON BUCHHOLTZ-AU: 48-57. Dakle, mi znamo da su oni ASCII symbols-- ako ASCII vrijednost nije između 48 i 57, to ne vrijedi, zar ne? Tako bismo mogli iskoristiti kako bi naša prednost možda? Kako ćemo dobiti ovo pismo, prvi off? Kako su nam pristupaju to je ovaj lik? PUBLIKA: s nosača ja. ALLISON BUCHHOLTZ-AU: Aha. Budući da možemo misliti žice što su polja, zapamtite. Dakle, ono što želimo reći? Želimo reći ako je to is-- ću vam dati savjet. To je manje nego što. Što bi ti to misliš mora biti manja od? PUBLIKA: 57? ALLISON BUCHHOLTZ-AU: 47, zar ne? Ali to također predstavlja da kao što 0 U jednoj [? zavora?], jer to je karakter 0. Također se može staviti 47. Nakon što je ASCII tablicu, kao što je vidiš, je samo nešto trebali imati na svom kviz list. Dakle, ako je to slučaj, ako je to manje od 0-- ne nužno i. Prošlo je samo bilo će biti manji ili veći od 9. Dakle, može li ispuniti ovaj posljednji za mene? Dakle, ili je i jednako što, Rhea? PUBLIKA: Više od 9. ALLISON BUCHHOLTZ-AU: Ima. Je li to smisla svi su, kako smo mi došli? Ti problemi, oni su kao nekad tebe vidi rješenja, to je kao oh, OK. I to je razlog zašto je praksa će vam pomoći. U redu, tako da smo se vratili 0. Lijepa. U redu. Inače ono što želimo učiniti? Ovo je zanimljiv dio gdje je malo više kao i matematici u odnosu na CS u mom mišljenju. Da li netko ima ideju kako bismo mogli to učiniti? Dakle važna stvar je da shvaćaju je prvi znak smo poveli će biti Najveći red znamenka, zar ne? Dakle, ako gledamo pretvaranja 123, prvi put ćemo ponoviti je će biti 1, ali moramo da se 100 do kraja, zar ne? Dakle, jedna stvar koju možete učiniti je da u svakom sljedećem znamenku uzmete, pomnožite svoju vrijednost za 10, tako da je vrijeme dođete do kraja, sve je pomaknuo prema gore, zar ne? Dakle, prvi put naiđete da, imate 1 kao svoju vrijednost. Drugi put kad ga pokrenete, vi umnožiti svoju vrijednost za 10. To će ga ažurirati, tako da je sada 10, a dodate na sljedećem vrijednosti. I onda pomnožite to s 10 i dodati na sljedećem vrijednosti. I to je razlog zašto oni to kažu je mnogo više kao testiranje matematike algoritam odnosu CS, ali sam odstupiti. Ne pišem na kvizovima. Dakle, jedna stvar koju možete učiniti je da kažu vrijednost iznosi 10 puta. Dakle, to će se pomaknuti Vaš znamenka jednom svaki put. I onda mi samo želimo dodati. Želimo dodati u onome samo smo dobili, zar ne? Pa kako ćemo zapravo pretvoriti u našem ASCII znak u broj da on predstavlja? Dakle, mi znamo da je 0 jednaka je 47, zar ne? Dakle, ako 0 je 47, što je bi moramo učiniti za njega zapravo bi bilo int od 0? PUBLIKA: To je 48. ALLISON BUCHHOLTZ-AU: 48? Oprostite. Mi bi oduzimanje 48, zar ne? Zapamti ASCII matematiku? Možemo ih tretirati kao normalne brojeve. Ako ih tretiraju kao brojeve, oni postaju brojevi učinkovito. Dakle, ako imamo S iz I., koji Idemo reći u ovom slučaju jednak 0. Tako je I u ovom slučaju bi ASCII-- ASCII int za to će biti 47. Tako smo mogli subtract-- ili 48. Ti bi mogao učiniti, je jedan od načina. Zna li netko bolji način na koji smo mogli napraviti 48? Mi smo samo rekao 0 is-- ići u ASCII možete učiniti citat 0. Dakle, bi li to vrsta napraviti Osjećaj kako se to radi? PUBLIKA: U ovom trenutku, je vrijednost 0 jer čak i ako to pomnožite sa 10, ste počevši s nule, tako da bi to biti uključen? ALLISON BUCHHOLTZ-AU: Dakle, u ovom slučaju, želite ga umnožiti prije nego što dodate, jer u tom slučaju, da, to bi još be-- moj pokazivača nedostaje. Vrijednost u ovom slučaju, prvi Vrijeme je da ga pokrenuti će biti nula. Dakle, ti si samo dodao na toj prvoj znamenki. Ono što je važno je sljedeći put li ponoviti, da ga želite pomaknuti prema gore Prije nego što dodate svoju sljedeću znamenku dalje. Da li to pojasniti za vas? U redu. Ponekad ti ćeš dobili čudne više mathy stvari. Ako ste imali većinu to, još uvijek ide da get-- idete raditi prilično dobro. Djelomična kredit je vrlo Velika je stvar na CS50 kvizova. Dakle, pisati ono što znate. Ako imaš sve osim ovdje, ti si još uvijek ide raditi jako dobro problema. Jer ste prikazuje, OK, skoro sam znao. Znam da moram ponoviti kroz. Znam što moram provjeriti. Ja jednostavno ne sasvim doći kako to pretvoriti. Ti ćeš biti u redu. Da, ti ćeš izgubiti par bodova, ali još uvijek ćeš dobiti dobar broj bodova za nečim kao što je to, ako ste nedostaju te dvije linije. Ja bih biti kao OK, tu osobu zna što oni rade. Matematika je teško. Pa rekao bih da ćeš biti u redu. U redu, tako da dečki spremni pokušajte strlen s pokazivače sada da dečki pokazivač majstori? Pa ja ću ti dečki rade o da je za malo. Ako netko treba podsjetiti. Dakle, želite koristiti pokazivač aritmetika, a onda, ako je nula, Vaš provedbi treba vratiti 0. Stvari kao što je ovaj koji vas čine stvarno sretan samo nazvati strlen na kraju dana. Mislim da je to moglo biti malo lakše nego posljednjeg, koji je dobro. Dat ću ti dečki još jednu minutu, a onda ćemo raditi kroz njega. A onda smo dobili ići na prekidačima. U redu, spreman dečki? Možda malo. Tako sam si svoju dao dvije opcije, zar ne? Ili provjeriti nulu i vratiti 0 ako je, ili zapravo izračunati duljinu. Dakle, tko želi pisati provjeriti nulu? Idi za to. PUBLIKA: Ako zagradi s jednak jednak null povratak 0. ALLISON BUCHHOLTZ-AU: lijep. Volim kad je pola vaš problem je samo provjere null. Znam da s vama prošle tjedan bio sam poput provjere za nulu doslovno svaki put. U redu, so-- PUBLIKA: Ako povratak 0 je samo jedna linija, Što nam još treba kovrčavu nosač? ALLISON BUCHHOLTZ-AU: Ne znaš tehnički potrebno ih dok ste dosljedni. To je dobra praksa jednostavno da se u naviku korištenja vitičastim zagradama, ali tehnički nije. Vi ih ne treba za jednu liniju. Upravo smo skloni da ga preporučiti za ljude koji počinju s programom. I što sada možda želimo raditi ovdje? Dakle, sada znamo da je naš niz vrijedi. Želimo zadržati izračunati duljinu. Što je vjerojatno prvi stvar koju želite učiniti? PUBLIKA: Napravite int da je duljina. ALLISON BUCHHOLTZ-AU: Točno. PUBLIKA: I želimo ga postaviti na? ALLISON BUCHHOLTZ-AU: 0. Savršeno. U redu. Sada ono što želite učiniti? Ovo je stvarno najveći dio njega. Idi za to. PUBLIKA: Pa vjerojatno učiniti za petlju. A onda od kada ste S nazvati ste dobivanje adresu prvog stvar, ti bi početi s ja jednak 0. A onda dok x plus ja se ne vraća slash 0. ALLISON BUCHHOLTZ-AU: null terminator. PUBLIKA: null terminator. Zatim dodate jedan na duljinu. ALLISON BUCHHOLTZ-AU: Da. U redu, tako da omogućuje uključivanje na vrlo konkretan koda. No, to je savršena ideja. To je upravo ono što mi radimo. Mi ćemo biti Ponavljanje kroz s pokazivača. Dakle, ono što želite učiniti je umjesto int ovdje, jer smo ne odnosi na njega. Mi smo se odnosi na početak string, kako početi biti neka adresa, zar ne? Dakle, želimo pokazivač. Tako ćemo imati neki char zvijezdu, jer to odgovara našim s, zar ne? Dakle, ovo je neka točka smo inicijalizacije na početku niza, u redu? Pa neka je samo nazvati i. Ako je to početak niza, što će to biti dodijeljen? Nije 0. Želimo da to bude početak našeg niza. Što predstavlja početak naš niz koji je dao za nas? PUBLIKA: Samo je. ALLISON BUCHHOLTZ-AU: s. Dakle, to stvara neki novi pokazivač da predstavlja početak našeg niza, u redu? Drugi način da mislim o tome je kao evo naša polja. To je naš niz, s. Pa recimo da je ovo prva točka, a to je 0x4. 04. To je naša a, koji drži tu adresu. A mi samo stvorili još jednom pozvao ja to samo odnosi na istu stvar. Tako su oboje samo pokazujući na početku našeg niza. Ovo je samo grafički prikaz. Tako sada ono što želimo učiniti je želimo ponoviti naš uvjet za iterating kroz naš niz. Sada kupovinu. Moram u dućan, momci. Je želimo zadržati ažuriranje do dolazimo do nulte terminator, zar ne? Pa što bi to moglo izgledati? Hoćemo želim, ili želimo star i je pitanje? Je null terminator adresa ili nešto nalazi na adresi? Smješten na adresu, zar ne? Dakle, trebamo dereference sve što je ovdje, jer je to samo neki adresa. Da zaista dobiti na početak moramo dereference ovo tako da smo zapravo dobili što je u ovom prvom mjestu. Dakle, ako mi zvijezda sam, što ne bismo to žele jednaka? PUBLIKA: Povratak udarac? ALLISON BUCHHOLTZ-AU: Ima. Je li to smisla svima? Moramo ići u naš niz i pobrinite se da to nije kraj. I onda mi samo može ažurirati kao što je ovaj. Normalno ažuriranje. Dakle, dok su Met, ono što trebamo učiniti? PUBLIKA: Duljina plus plus. ALLISON BUCHHOLTZ-AU: Aha. A onda nakon za petlju prestane, ono što želimo vratiti? PUBLIKA: Dužina? ALLISON BUCHHOLTZ-AU: Dužina. Tu idete. Očito meso ove je razumijevanje za to petlje. Da li su svi dobili kako se to radi? Drago mi je da ide preko njega opet. PUBLIKA: Druga dio, tako da zvijezde sam tamo, to je adresa first-- ALLISON BUCHHOLTZ-AU: Nije adresa. To je ono što je na. PUBLIKA: To je zapravo tamo. ALLISON BUCHHOLTZ-AU: To je ono što je zapravo tamo. Dakle, ovo je neka saying-- ja bi to bolje. Dakle, to je 0x04, a ja sam samo idući reći ću da ovo moje ime. U redu. Da, znam da moram kviz pregled večeras. Mnogo kviz pregleda. Tako recimo ovaj niz je moje ime, Allison. Little neredu, ali je tamo. I, predstavlja mjesto gdje počinje niz, pa ću napraviti ovo real-- je to adresa, gdje počinje niz, zar ne? Dakle, ono što mi radimo ovdje želimo koristiti naputke za prolazak kroz. Tako smo stvorili neke pokazivača, ja, koji također jednaka početak niza. I u svakom trenutku, želimo i dalje prolazi kroz niz ovdje dok smo hit null terminator. Tako smo uvijek žele provjeriti što je na svakom od tih adresa. Tako smo dereference ja, tako da Prvi put smo ga i mi kažu, u redu, ono što je na adresi 0x04? To je. U redu, mi smo dobri. Pomak duljina. Prelazak na sljedeću. Dakle i-- zapamtite naputke porast od Veličina god oni pokazujući na. Dakle, u ovom slučaju, budući da je char, to će ažurirati po jedan. Dakle, sada ćemo pogledati 5, što znači da se događa ovdje. Tako se kaže u redu, idite na 0x05. Što je tamo? To je sam. I to ću zadržati taj događaj dok ne udari ovaj jedan. A ona kaže u redu, što je u god adresa je ovo? Null terminator, u redu. Izlaz. I samo vratiti dužinu. Zato što vam je potrebno što je zapravo na da je adresa, a ne sama adresa. Postoji vrlo malo mjesta gdje što je zapravo potrebno adresu. Većinu vremena kada je koju koristite i to je kada ste prvi put dodjeljivanja pokazivač ili kada ti to prolazi u drugu funkciju. U redu, svi dobro tamo? Vrsta? U redu. Tako to izgleda kao da smo dobio oko 12 minuta napustio, pa ćemo ići na možda naš posljednji problem, i onda je bilo koncepti koji su došli do U međuvremenu možemo brzo ići preko toga. Dakle, prebacivanje brzina je posljednja Problem ovdje, prebaciti izjave. Dakle, vaš posao je da to prepisati tako da se ponaša isto ali ne koristi prekidače. Chalky ruke. Dakle, bilo kakva pitanja o tome isključiti šišmiš? Ništa? U redu. Da li su svi shvatiti da, ako Slučaj nema ništa nakon njega, to znači da bi trebala slijedite sljedeći korak? Dakle slučaju 1 i 2 u ovom slučaju učiniti istu stvar. Ponekad točka konfuzije. U redu. Bilo tko imati bilo koji ideja? Da? PUBLIKA: Dakle, možete Upravo učiniti ako izjavama. ALLISON BUCHHOLTZ-AU: Aha. Dakle, ono što je naš prvi? PUBLIKA: Ako je n jednak jednak 1, i 2 linije za ili n jednakima iznosi 2, a zatim ispisati mali. A onda možete učiniti drugdje, ako? Ili možete jednostavno napraviti ako? ALLISON BUCHHOLTZ-AU: Možete napraviti drugo ako? PUBLIKA: Bi li smeta ako učiniti ako? ALLISON BUCHHOLTZ-AU: Tako to radi. Da li anyone-- tako, će dobiti isti izlaz ako koristite samo IFS odnosu ako koristite drugdje IFS. Hoćete li se sjetiti razloga zašto možda želite koristiti drugdje ako je u odnosu na puno oklijevanja? Je li se s učinkovitošću. Da? PUBLIKA: Bilo bi provjerili svi IFS svaki put. ALLISON BUCHHOLTZ-AU: Dakle, čak i ako je pogodio ovu prvu, to će ići na check svaki drugi. Dakle, želite koristiti ako drugdje IFS u slučajevima gdje je samo jedan od njih nikada neće primjenjivati. Dakle, uzajamno isključenost ono što smo skloni reći. Ako imate hrpu oklijevanja, to znači da možda više njih pitanjima, a možda i više od jedan od njih može biti istina. A želite obojica izvršiti ako su istinite. Ako želite samo jedan od njih na posao U tim slučajevima se međusobno isključuju, Želite li koristiti drugo ako se, zbog sve to ima veze s učinkovitošću. Vaš broj samo bolje je dizajniran ako se pridržava ovu praksu. Dakle, u ovom slučaju morat ćemo inače ako. A to bi bilo? PUBLIKA: n jednak jednak 3. ALLISON BUCHHOLTZ-AU: Savršeno. Tiskani medij. A onda je u naš zadnji Slučaj, što imamo? Inače inače ako? PUBLIKA: Else. ALLISON BUCHHOLTZ-AU: Da li smo want-- želite drugo, ako jer imamo konkretne slučajeve. To nije vrsta uhvatiti sve. Ako ste imali zadano u switch-- sjećam se u prekidačima možete imati slučaj, i onda imate zadano. Ako ste imali propust, to je vrsta Vaše drugo izjave tamo. Ali ako ima samo slučajeve, to znači da morate provjeriti da li je svaki od njih. Dakle, u ovom slučaju, to bi 4 ili 5. Želimo ispisati. To je velika. A tamo idete. I to će biti vaš program. Dakle, u ovom slučaju, ako smo imao zadani nešto, bismo imati drugdje u sve što je htjela da učinimo. Tako da je dobro razlikovanje znati, razumjeti. Znači li to da bi se s prekidačima za vas? Savršeno. U redu. Imamo oko osam minuta preostalo. Da li ti dečki su bilo ostali pojmovi na visokoj razini? Pitanja u cjelini? Da? PUBLIKA: Imao sam Pitanje o jednom od njih to je bilo slučajni Broj generatora na kvizu nula. ALLISON BUCHHOLTZ-AU: Oh, da je jedan. To je jedan drugi, gdje to je više matematika than-- da. Rješenje that-- čak sam kad Ja ga vidim, ja sam kao što je ovo. PUBLIKA: To je bio broj 7. ALLISON BUCHHOLTZ-AU: Čudno je po mom mišljenju. Tako je u osnovi želite koristiti drand48, koji će vam dati neke broj između 0 i 1. I želite ga koristiti tako da nekako A- i to je mnogo više od matematike problema za mene nego ja mislim CS problema. Način na koji ste it-- učiniti i ponekad to će biti samo tako. Opet, to su slučajevi gdje je vrsta poput napisati ono što može i djelomična kreditna. Dakle, ako želimo povratak, znamo da smo će se koristiti drand48 na neki način, zar ne? Pa zašto ne bismo samo točkica koje dolje. Mi smo ga koristite na neki način. Način na koji su vi koristite što je ovako, što ću pokušati objasniti. Tako je u osnovi ono što se događa ovdje je zato što je između 0 i 1, što radite je da ste množenjem by-- to je jako puno matematike pitanje. Samo pune disclaimer, ovo je potpuno matematike pitanje. Ono što radite je zbog 0 i 1, a vi želite da bude u roku ovaj raspon, što zapravo shvatiti koliko je velika raspon je, a zatim u osnovi to razmjeru, što je ono što se to radi. b minus vam daje tu ponudu, Razlika između tih brojeva. Možete umnožiti između 0 i 1, a zatim dodavanje samo znači da je vaš ga postupno povećanje tako da je između A i B, što ja stvarno ne sviđa taj problem. Kao što sam rekao, ovo kviz smatra se da obuhvaća ljudi koji su manje ugodno, negdje između, i udobnije. Dakle, ako oni to napravili tako da je to nešto da svatko na manje ugodno mjesto će doći, bismo imali daleko previše Ljudi zabio usavršava, a ugodnije će biti dosadno. Dakle, oni uvijek imaju oni vrsta mozgalica pitanja koji su trebali biti malo teže da potrajati neko kreativno razmišljanje. Kad ih vidite, nemojte se previše batrljak. Ja bi svakako reći Flip kroz kviz prvi. Uhvatiti u koštac s problemima da znate što možete, jer nema smisla zapinjanja na problem kada postoje tri ili četiri ili pet na stranici nakon toga možete lako učiniti. PUBLIKA: Zašto baš vi! pomnožimo rasponu? ALLISON BUCHHOLTZ-AU: Vi pomnožite domet što know-- to je kao koliko poslije želiš? Tako se možete sjetiti, jer je to vraća broj između 0 i 1, možete misliti o njemu kao postotak. Tako je to u osnovi govori, ako imamo naš broj linija ovdje, ovdje, i b je ovdje. Vi ste kao i koliko je prošlost je to? Je li sve radimo. Tako ste samo traži Postotak tog raspona, što je ono što se daje. A onda si zapravo samo skalirati ga dodavanjem. To je teaser matematike mozga. Ako je i bilo last minute savjet, ja bih prođite kroz pitanja, shvatiti one koje znam da kao, oh sam dobio ovo. Gotovo sigurno oni će biti pitanja da nećete znati ili da ćeš imati vremena za, pa udario svoje snage, u redu? Vi dečki idu sjajno. Postoji mnogo Pitanja za razlog, tako da ćete imati vremena za vrste imaju priliku pokazati što ste stvarno dobri. Dakle, to je u redu ako ste nije dobar u svemu. Igrajte na svoje prednosti. Da? PUBLIKA: Tako je to ide vratiti nešto što je skraćen? Da, to će, jer drand vraća se između 0 i 1. To će vratiti int, jer to će skratiti kad smo dodali ili pomnožiti njega. Cool. Bilo last minute pitanja? Vi ćete napraviti super. Ti si idući u biti nevjerojatan. A čak i ako ne postoji volja biti bombona ovdje sljedeći tjedan. A ja ću te voljeti. Ja ću te voljeti dečki obzira. U redu, svatko, sretno. Imati velik vrijeme. Ti ćeš biti u redu. I znate što? U dva dana to će biti više, dok je I. imaju dvije midterms u četvrtak, pa barem ti dečki će biti učinjeno. U redu, ja ću vas vidjeti dečki sljedeći tjedan.