[MUSIC Playing] Gjuha 1: Në rregull, të gjithë. Mirë se vini në seksionin tuaj të fundit me mua. Ka qenë mjaft semestër. Unë nuk mund të besoj se kjo është, si, Javën e 12 apo 11, diçka të tillë. Por për shkak se është e kaluar ynë seksion, ne kemi shumë të karamele. Dhe unë jam duke shkuar për të përpiqen dhe të prep ju, si unë mund të për quiz tuaj në e mërkurë. Pra, ndoshta nuk është mënyra më e mirë për të, si, seksion fund me shqyrtim quiz. Por ne do të përpiqemi dhe të bëjë atë më të fun. Dhe nuk ka gjithmonë karamele. Kështu që shpresojmë, që do të bëjë atë më të mirë. Quiz juaj do të jetë goxha shumë e njëjta gjë si Quiz Zero. Ajo do të jetë e format e njëjta, të njëjtën gjatësi. Ju do të jenë në dhoma të shpërndara nëpër kampus, sepse aty janë afër 900 të ju, dhe ne nuk mund të gjithë mbajë ju në dhomat e si kjo. Pra, të jetë i sigurt për të parë në të gjitha Quiz Një dokumentacioni online në cs50.harvard.edu sonte ose nesër natën. Sigurohuni që ju e dini se ku ju jeni duke shkuar, ajo që ju duhet për të sjellë. Really, ju vetëm duhet të sjellë veten dhe një laps, dhe ju duhet të jetë mirë. Pyetjet do të jenë të shumë e shumë të njëjtën gjë. Do të ketë ndoshta një çift zgjedhje të shumëfishtë, një përgjigje çift të shkurtër, disa coding, ndoshta disa i vërtetë / e rreme, përputhen llojet e gjërave. Pra, ju nuk duhet të jetë shumë habitur nga format. Çfarë mund të jetë e habitshme është gjatësi, e cila, në vitet e mëparshme, ka qenë shumë më e gjatë. Në vitin tim, unë nuk e kam një mik të vetëm që unë kujtoj përfunduar provimin. Ka qenë si shumëfish Faqet e lënë bosh. Pra, gjatësia mund të jetë lloj i disorienting vetëm për shkak se në disa vite, ajo ka qenë shumë më e gjatë se Quiz Një. Unë nuk kam asnjë ide se çfarë kjo është do të jetë si këtë vit, por kjo është diçka që të jetë i vetëdijshëm. Përveç kësaj, njerëz difficulty-- priren për të gjetur Quiz Një shumë më shumë vështirë se Quiz Zero. Përsëri, ju e dini, nëse ju jeni lloj ecje nga ndjenja e një ankth pak, sepse ju nuk e ka bërë, si dhe keni menduar ju do apo ju ndjeni sikur ju nuk e bëri bëj si edhe ju e bëri më Quiz One, mos harroni se ka ndoshta një shumë njerëz të tjerë që ndihen në këtë mënyrë. Unë kam qenë padyshim një nga ata njerëz. Quiz një, si, hodhi mua për një lak. Dhe miqtë e mi të ketë ky i madh foto prej tyre në JP Licks lloj me këto madh sundaes, duke qenë si, Quiz Një, dhe në kërkim si ata janë në lot. Pra, kjo është një ndjenjë e përgjithshme. Kjo është një provë e vështirë, kjo është një quiz vështirë. Natyrisht, në qoftë se ju vijnë jashtë dhe ju ndjehen si ju tronditi atë, e madhe për ju. Por e di se ju jeni me siguri not-- ju jeni pothuajse më definitivisht jo vetëm në qoftë se ju ecni nga ndjenja si, eh, ndoshta mund të ketë marrë më mirë. Është i fortë. Mm-hm. AUDIENCA: Sa është ajo vlerë në lidhje me [e padëgjueshme]? Gjuha 1: Është me vlerë të njëjtë. Vërtet. Por përsëri, ajo gjithashtu do të jetë prekur nga se si pjesa tjetër e klasës bën, si seksion juaj, si ju kemi përmirësuar me kalimin e kohës. Nota është pak e një kuti të zezë. Pra, çfarë numri aktual apo Përqindja ju merrni nuk është domosdoshmërisht pëlqen drejtpërdrejt lidhen me klasën ju jeni do të merrni. Ka shumë faktorë që shkojnë në të. Pra, me që, ne jemi duke shkuar për kalojnë nëpër disa shqyrtim quiz. Unë jam vetëm duke shkuar për të drejtuar këtë si kohë e fundit për ju djema. Unë kam të gjitha përgjigjet për Quiz Një nga viti i kaluar. Pra, në qoftë se ju djema doni të tërheqë që deri në kompjuterat tuaj, në qoftë se ju keni marrë këtë provim para dhe keni pyetje, Unë isha duke menduar ne mund të thjesht shkoni nëpër disa nga ato më të vështira në këtë. Pra, ne mund të flasim për këtë, ndoshta të marrë një pasqyrë pak më shumë në intuitë prapa disa prej këto pyetje, si t'i qasen atyre. Si dhe, si herën e fundit, Unë kam një kuvertë të 100-rrëshqitje që ka në thelb të gjithë e slides që unë kanë përgatitur për previous Pjesët që nga viti I juaj e fundit quiz-- kemi në këtë kuvertë. Pra, ne mund të kalojnë nëpër shumë e shumë çdo gjë se ne kemi biseduar për paraprakisht se ndoshta ju dua pak më shumë sqarime mbi. Ne mund të bëjmë që në fillim. Por përndryshe, unë jam super i lumtur vetëm për të lloj pune përmes këtyre problemeve me ju. Dhe unë jam me të vërtetë këtu për të përqëndrohet në atë që ju djema mendoni do të ishte më e rëndësishme që të përqëndrohet në. Si, padyshim, të gjithë e kjo stuff është e rëndësishme. Sidomos kur ne do të shkojmë nëpër Quiz Një, Unë patjetër do të nxjerr në pah gjëra të tilla si, oh, kjo mund të jetë diçka ju me të vërtetë dëshironi të dini ose ju dëshironi të keni më mashtrojnë fletë tuaj. Unë do të ju thënë gjëra si ne lloj i shkojnë përmes. Pra, në këtë, a ka ndonjë gjë se ju djema do të donte për të shkuar mbi? Gjithashtu, në qoftë se unë nuk e kanë atë në kuvertë time, ne mund të tërheqë deri diçka në web, ose ne mund të përpiqemi dhe të bëjë up një shembull të fluturojnë. Por çdo koncepte që ju djemtë janë pak fuzzy mbi. [? Brian,?] E bëri ju have-- AUDIENCA: Oh, është ajo kumulative? Si, është një temë mbi Quiz Zero do të jetë më këtu? Gjuha 1: Është kumulative, por kjo është shumë më e e vënë theksin në gjërat që nga quiz tuaj të fundit. Pra natyrisht, ju djema keni mësuar për variablat, dhe sythe, dhe conditionals. Dhe kjo nuk është si ata vetëm të shkojnë larg, pasi ata janë padyshim e natyrshme për çdo gjë tjetër që ne kemi mësuar tani. Nuk mund të jetë një pyetje në terezi, ose atje mund të jetë një pyetje në kërkime të ndryshme. Ose mund të ketë një çift Pyetjet për të ndoshta diçka që ju që ka të bëjë me hartimin e ose gabime të ndryshme. Por në qoftë se ju keni shikuar Quiz Një nga viti i kaluar, ju do të vëreni se ajo është shumë të fokusuar në gjëra të që kanë ndodhur që nga quiz tuaj të fundit. Pse është se dera e mbyllur gjithmonë? Ajo me të vërtetë pengon mua. Sepse unë gjithmonë të përpiqet për të shkuar nëpërmjet saj. Pra, kjo është shumë e shumë të si quiz do të jetë. Pra, a ka ndonjë koncepte që ju djema do të donte për të shkuar mbi? Ose ne mund të kërcejnë drejtë në vetëm duke kërkuar në Quiz One nga viti i kaluar dhe lloj të shkuar përmes pyetjeve praktikë atje. Ne gjithashtu mund të kaloni prapa dhe me radhë. Ky nuk është një lloj një herë, prej gjëje. Çdo pyetje? Po. AUDIENCA: A mund unë pyes a pyetje në lidhje another-- Gjuha 1: Një tjetër një? AUDIENCA: Kjo është nga një vit tjetër. Gjuha 1: Po. Ne gjithashtu mund të bëjë një tjetër vit. AUDIENCA: OK. Pra, në 2011. Gjuha 1: 2011. Ooh, që ishte viti para meje. Më lejoni të tërheqë këtë ide. AUDIENCA: unë mendoj. Gjuha 1: Kjo aspekt raporti është hedhur me off. AUDIENCA: 11 dhe 12. Gjuha 1: 11 dhe 12. OK. E pra, këtu, pse nuk e bëjmë këtë? Ju guys-- të gjithë vetëm të marrë një çift i minutave të parë përmes kuize. Dhe ne do të përpilojnë një listë. Dhe pastaj ne do të shkojnë nëpërmjet tyre. Të gjithë të drejtë? Ndërsa unë të marrë një bandë të këtij stuff ngritur. OK. Unë jam vetëm duke shkuar për të shkruar gjëra poshtë në letër. 2011, 11 dhe 12? Unë jam vetëm duke shkuar për të ndryshuar këtë ekran. OK. Kjo është më mirë. Kjo mbi të. Dakord. Dikush tjetër të ketë ndonjë që ata do të donim për të filluar me? Gjithashtu, harruar për të thënë, në qoftë se ju doni më shumë i një bandë e njerëzve duke folur në ju dhe vetëm duke ju dhënë një çarje kurs në gjashtë javët e fundit, ne jemi drejtimin e një rishikim Seanca nga 07:00 në 08:30 sonte në veriperëndim B103, e cila ka ndodhur edhe Herën e fundit, ku ajo do të të jetë më, Hannah, Daven, me Gabe dhe Rob lloj i ndihmuar nga mënjanë vetëm lloj i hedhur të gjithë informacion që ju mund të duan të kenë më mashtrojnë fletë tuaj, çaj, di në përgjithësi atje. AUDIENCA: Kjo është gjithashtu në internet, e drejtë? Gjuha 1: Është edhe online. Kështu që ju mund të qëndrojnë jashtë kësaj moti Icky, shkoni në konvikt tuaj, dhe live-stream atë nëse ju dëshironi. Unë jam i sigurt se një shumë e people-- unë e di unë do të të jetë duke bërë që në qoftë se unë ishin në këpucë tuaj. OK. Pra, pse nuk e kemi filluar with-- ndërsa ju guys-- me shpresë, ju po kërkoni nëpër. Nëse jo, unë mund vetëm të fillojnë të punojnë përmes gjërave të ndryshme në Quiz One nga viti i kaluar, përveç nëse ju keni pyetje specifike. Ne do të fillojë me këtë pyetje këtu për oxhaqet. Pra, ka të gjithë të mbani mend lloj i asaj që një pirg është? Si ne priren to-- mund dikush vetëm të heqë mua një përshkrim të përgjithshëm të një pirg? Një lloj i strukturës së të dhënave. OK. Pra, kjo është një nga strukturat e të dhënave që ne presin që ju të jenë të njohur si with-- oxhaqet, vargjeve, radhët e gjata, e kështu me radhë. Po. AUDIENCA: Like i parë Në, Out Fundit, diçka. Gjuha 1: Është pari Në, Fundit Out. Exactly. Pra, një pirg është pikërisht ajo që ne priren të mendojnë rreth kur ne mendojmë i një pirg të gjërave. Pra, një pirg i targave. Pjatë e parë që ju vënë poshtë do të jetë në fund, dhe ajo do të jetë e fundit një që ju të hiqni në fund. Për shkak se ata lart grumbulloj. Dhe ju merrni një në pjesën e poshtme, në mënyrë tipike, gjëra të rrëzimit dhe pushim. Kështu oxhaqet ju mund të mendoni ashtu si një pirg të targave. Ose shembull ne gjithmonë të doja të përdorni është në D salla, ju keni të tabaka, ata janë bërë pirg të gjithë lart, dhe ju të marrë nga lartë. Pra fundit në është parë një jashtë. OK. Pra, në rast këtu, ne shoh ne have-- unë pyes veten në qoftë se unë në fakt mund të zoom në një pak. Pra, ne kemi këtë struct këtu. E drejtë? Pra, ju keni disa e strukturës që ka disa int numrat e kapacitetit. Pra, çfarë ne mendojmë që përfaqëson? Ky është një koleksion me madhësi KAPACITETEVE. Pra, kjo me të vërtetë paraqet rafte tonë në përgjithësi. Rafte ynë është me të vërtetë vetëm një grup me disa numër të caktuar që është max i saj, që është, KAPACITETI saj. Dhe pastaj ne kemi disa madhësinë int, e cila do të gjurmojë madhësinë e rafte tonë gjatë gjithë rrjedhës e kur ne jemi duke e përdorur atë. OK? Në këtë rast e drejtë këtu, ne themi se tonë Madhësia rafte është nisur në 0. Pra, ne kemi një pirg të zbrazët tani. Dhe pastaj ne duam të përfunduar zbatimi i pop tillë që ajo kthen int në krye. Dhe pastaj nëse është e zbrazët, ajo kthehet negativ 1. OK? Pra, unë dua që ju djema vetëm për të menduar për atë që ne mund të bëjmë atje. Çfarë mund të jetë një nga të parët gjëra ne do të dëshironi të shikoni? Ka një gjë e madhe këtu. Sa herë që ajo says-- nëse ka ndonjëherë disa Nëse deklarata, si "Nëse rafte është e zbrazët," ose "Nëse ky kthehet null," ose "Nëse kjo është çdo gjë", - sorry. AUDIENCA: Shkruani një deklaratë nëse. Gjuha 1: E drejta. Ju mund të shkruani një deklaratë nëse. Dhe kjo është ndoshta një nga gjërat e para që ju doni të kontrolloni. OK. Sa herë që ata të ju jap lloj si një rast qoshe si kjo, kjo është në mënyrë tipike një nga gjërat e para ju jeni do të kontrolloni në kodin tuaj. Gjithashtu, diçka për të njohin për quiz është në qoftë se ju keni një mënyrë joefikase për të bërë diçka, shkruajnë. Sepse ne nuk jemi notimit ju mbi projektimin, ne jemi nota ju në korrektësinë për kuize. Pra, edhe në qoftë se ju e dini se kjo është një super Mënyra më e keqe për të bërë diçka, por ai punon, shkruajnë atë, OK? Fëmijët Fjalë për fjalë, unë kam parë year-- fundit në qoftë se ju shikoni në atë të vitit të kaluar, ata janë si, të bëjë piramidën Mario. Dhe ata fjalë për fjalë vetëm e bëri "të shtypura, hash, të shtypura, hash, hash, të shtypura, hash, hash, hash ". Por kjo është e saktë. Ai e bën atë që ne u informua për këtë, kështu që ju nuk mund të marrë pikë off. Nëse ju jeni poshtë për të teli, natyrisht, ju doni të merrni një zgjidhje më elegante, dhe zgjidhje më elegante ndoshta do të jetë më pak kodi, që do të thotë ju ndoshta kanë një shans më të lartë për të qenë e drejtë. Por në qoftë se ju jeni si, ju e dini çfarë, jo, unë nuk kam kohë, unë e di kjo është një zgjidhje, kjo nuk është e mirë, e shkruajnë atë. Dhe ju mund të shkruani edhe në anë, unë e di se kjo është e tmerrshme, por unë e di ajo punon. Pra, vetëm një kokat-up. OK. Pra, natyrisht, gjëja e parë është kjo deklaratë Nëse. Pra, çfarë ne mendojmë se ky rast Deklarata do të jetë? Dhe në të vërtetë, më lejoni të hapur up redaktorin tim të madh Portës. Unë jam duke shkuar për kodin kjo dhe pastaj ju tregojnë djema kur është bërë. Pra int pop. OK. Pra, në qoftë se ne e kemi këtë int pop void-- aq qartë, ky është një funksion që merr në asgjë dhe kthen një numër të plotë, apo jo? Pra, kjo është vetëm do të flasim për kjo rafte që ne kemi krijuar. Pra, vetëm përkthimin ky i fundit Fjalia "nëse rafte është e zbrazët, pop duhet të kthehen negative 1, "si mund të bëjmë atë? Pra, qoftë çfarë? Si e dimë se rafte është e zbrazët? Është vetëm madhësia e barabartë me 0. Stack.size është e barabartë me 0. Gjithashtu, unë jam lloj i të shkruarit të verbër këtu. Pra, në qoftë se unë bëj ndonjë typos-- oh, gjithashtu harruar të përmend këtë. Javën e kaluar, unë plotësisht me motive nga çfarë problemi ynë ishte me JavaScript. Mos germa I dhe D. Ju duhet vetëm germa I dhe për të marrë elementin me Id. Dhe kjo ishte e gjithë gabim. Pra, në qoftë se ju djema të shkuar mbrapa dhe në të vërtetë shoh nga kodin tim, në qoftë se ju vetëm të bëjë gjithçka një Fjala d ", të harrojmë element nga Id" ajo do të punojë. Pra, siç kam premtuar, unë isha shumë afër. Unë vetëm kapitalizuar diçka Unë nuk ishte menduar për të, e cila Unë jam i sigurt se ju djema pasur në PSET juaj e fundit. Pra, në qoftë se madhësia tonë është e barabartë me 0, çfarë po ne menduar të bëjë? AUDIENCA: Kthehuni negativ 1. Gjuha 1: Kthehuni negativ 1. Ftohtë. Pra, tani çfarë bëjmë ne? Ne duam të pop diçka off. Tani ky është rasti ku ne kemi diçka. Madhesia jonë është më i madh se 1 ose më e madhe se 0, e drejtë? Ne fakt kemi diçka atje. Pra, ajo që ne duam të bëjmë është që ne duan të kthehen të drejtë këtu. Ne jemi duke shkuar për të thonë se ne duam të kthehen krye të rafte. OK? Pra, si mund të bëjmë atë? Si nuk kemi të kthehen në krye të rafte? Mos harroni, rafte tonë është vetëm një grup, apo jo? Ajo ka disa kapacitete që ne i kemi dhënë atë. Siç e kemi vënë gjërat on-- ose në të vërtetë, ne jemi duke shkuar për të shkruar "shtytje" pas kësaj. Nëse gjërat janë në there-- ndoshta një foto do të ndihmojë. Hm, unë si shkumës i madh më mirë. Pra if-- dhe ju mund vetëm mendojnë për këtë si rafte tonë. Kështu këtë është 0, 1, 2. Unë nuk e di pse kutitë e mia po bëhet më i vogël. Por aty. OK. Pra, kjo është disa rafte me një kapacitet prej 5. Dhe le të thonë se ne kemi diçka këtu dhe ne kemi diçka këtu. Pra, në këtë pikë, tonë Madhësia është e barabartë me çfarë? 2. Dhe në qoftë se ne duam që të pop diçka jashtë të saj, që do të thotë që ne duam që të merrni shpëtoj nga kjo e drejtë këtu. OK? Pra, si do të kthehemi këtë vlerë? AUDIENCA: Madhësi minus 1. Gjuha 1: E drejta. Pra, madhësia minus 1, ose ju mund të bënte me permasa minus minus. Por ne nuk mund vetëm të bëjë madhësia. Është brenda një struct, e drejtë? Pra stack.struct. ose stack.size. Kjo është indeks jonë e drejtë atje. OK? Dhe pastaj, nëse ne shikojmë mbrapa në strukturën tonë këtu, vërejmë se në në të vërtetë të hyrë në rrjet, ne duhet të bëjmë stack.numbers që në fakt të hyni në atë rrjet. Kështu që e kthen në krye të rafte. Por diçka that-- në qoftë se ju djema shikoni në kyç përgjigje, kjo është e gjitha ata ju jap. Pra, kjo është ajo. Por unë mund të argumentojnë se ata janë të miss-- ooh, jo atë që kam kërkuar. Unë mund të argumentojnë se ata janë të humbur diçka, because-- po. AUDIENCA: Decrease madhësinë. Gjuha 1: E drejta. Ne kemi nevojë për të ulur madhësinë tonë tani. Pra, çfarë është e ndërlikuar për kjo është një herë ju të ktheheni diçka, funksion suaj duke shkuar dalje, e drejtë? Pra, ajo që ne mund të bëjmë është në të vërtetë të ulur madhësinë tonë të parë. Dhe atëherë ne vetëm mund të bëni stack.size. Ne mund të përdorim vetëm stack.size si indeksin tonë, nuk mund të kemi? Sepse nëse stack.size është 2, ne pakësim atë. Dhe kështu që është 1, e cila është Indice ynë aktual. Pasi ne të shpëtoj nga kjo, ne në të vërtetë vetëm kanë një gjë të array tonë. Pra, kjo e bën të dyja. Audienca: [padëgjueshme]? Gjuha 1: E pra, në këtë rast, ne sapo kthyer elementin në krye që është në tonë madhësi që është në krye. Por ne nuk kemi bërë asgjë për Madhësia pasi ne kemi hequr atë element. Kjo nuk ka ndryshuar madhësinë tonë ende. Kjo e bën në të vërtetë në thelb të ndryshojë madhësinë tonë. Por për ta bërë atë një pak më të qarta, ju mund të bëni stack.size minus minus. Për mua, kjo e bën atë, unë nuk e di, pak më i qartë that-- ah, se ju jeni në të vërtetë duke ndryshuar Madhësia dhe kthyer atë. Mënyra tjetër ishte mirë, sepse ju u ndryshuar dhe kthyer në të njëjtën kohë. Por kjo është vetëm një tjetër mënyrë për të shkruar ajo që kam kërkuar për të treguar ju djema. A ka kjo kuptim? Oxhaqet, unë mendoj, janë shumë më e lehtë se radhët e gjata. [Qesh] OK. A keni ndonjë pyetje specifike rreth 11 dhe 12, apo just-- AUDIENCA: Unë mendoj se kjo ishte rafte. Gjuha 1: Madhësia rafte? AUDIENCA: Po. Gjuha 1: Gotcha. OK. Yeah, ju mund ta bëni atë në një nga këto dy mënyra. OK. Pra, tani ne kemi një tjetër. Kjo është me të vërtetë i çuditshëm, si mos pasur kjo në ekran e mia. Pra, nëse ne shikojmë këtu, ne tani duam të të përfunduar zbatimin e shtytje, e cila në të vërtetë e vë diçka, shkon dhe fut diçka në radhë tonë, ose në rafte tonë. OK? Pra, nëse ne njoftim, ne kanë disa gjëra. Ne kemi great-- tona në qoftë se çdo gjë tjetër, sa herë që ne kemi një nga këto, ju djema duhet të paktën të marrë gjysmën një pikë, sepse të gjithë ju duhet të bëni është e kthyer këtë në C. Dhe ata të ju jap gjysmën e saj. Pra, "nëse një pirg është e plotë ose ajo është negative, pastaj të shtyjë duhet të kthehen rreme. " OK? Pra, ne vetëm duam pozitiv integers të jetë në rafte tonë. Të gjithë të drejtë? Dhe kjo do të ose kthehen vërtetë apo e rreme. Pra, ne duhet të [e padëgjueshme] bool. OK. Pra përkthimin. Audienca: [padëgjueshme]. Gjuha 1: Oh, faleminderit. Vërtet. Kjo është arsyeja pse unë kam ju djema. Int n. Perfect. Sepse ne jemi duke vënë diçka për të rafte tonë. Ne në të vërtetë nevojë për një numër. OK. Pra, vetëm duke marrë atë linjë e fundit që ata na dhanë, lloj tonë të rasteve qoshe, çfarë mendoni ju kemi këtu? Natyrisht, ne do të kemi disa në qoftë se. OK. Pra ne thamë, Nëse rafte tonë është i plotë ose nëse n është negativ. Pra, ndoshta më e lehtë për të filluar me, kështu që nëse n është më pak se 0 or-- kujtohet këndshme tuaj DHE dhe OSE operatorët atje. Si do të kontrolloni ne te të shohim nëse rafte jonë është e plotë? Çfarë ndodh? AUDIENCA: Madhësi KAPACITETEVE barabartë. Gjuha 1: Pikërisht. Perfect. OK. Dhe çfarë bëjmë ne duam të bëjmë atje? AUDIENCA: Kthimi i rremë. Gjuha 1: Kthehu false. Perfect. Pra në gjysmë të rrugës atje, apo jo? Në shumë pak, ju djema do të ketë gjysma e kësaj. Pra, le të mendojnë për këtë. Pra, kjo është rafte ne fillim me. Ne jemi duke u përpjekur për të vënë disa element në këtu. Ne kemi një madhësi që është e e barabartë me 2 tani. Ne kemi një kapacitet që është e barabartë për të 5. Dhe le të themi që kemi disa n që është e barabartë me 3. Pra, ne kemi nevojë për të dhëna 3 në këtë hapësirë. Dhe ne kemi nevojë për të dhëna të në indeksin 2. E drejtë? Pra, si mund ta bëjmë këtë? Duke u përpjekur për assign-- ne doni të hyni në rrjet tonë. Pra stack.numbers. Por në çfarë Indice do ne duam që kjo të jetë? Audienca: [padëgjueshme]. Gjuha 1: Po. Stack.size. Dhe ne duam që të n barabartë, e drejtë? Audienca: [padëgjueshme]. Gjuha 1: Unë kam qenë në të vërtetë vetëm duke kërkuar në atë. Unë mendoj se është e gabuar. AUDIENCA: Mos doni hapësirë ​​e kaluara madhësinë aktuale? Gjuha 1: E pra, në qoftë se ne e shohim këtu, madhësia tonë në këtë pikë është 2. Ne duam që ajo të shkojë në indeksin 2, sepse kjo është e lartë e rafte tonë. Kështu që unë do të thoja se atë duhet të jetë stack.size, dhe pastaj ju do të rriste stack.size. A pajtohen të gjithë? Unë mendoj se unë jam dakord me këtë. Ju djema mund të argumentojnë me mua, nëse ju dëshironi. Ose nuk argumentojnë, por ne mund të diskutuar këtë. Audienca: [padëgjueshme]. Gjuha 1: Mm-hm, është aty ku është e të hapur për shkak të zero indeksimit. Pra, ndërsa në pjesën e parë, Kam menduar se ata e kishin gabim, dhe ata ishin në të vërtetë e drejtë, kjo pjesë, unë në fakt mendoj se ata e kishin gabim. Unë do të thonë se ju duhet patjetër input atë këtu. Unë mendoj se ne të gjithë pajtohemi ne kanë një madhësi prej 2. Kjo është saktësisht ku ne dua numër tonë të ri për të shkuar. Pra stack.numbers në stack.size duhet të barazohet n. Dhe pastaj ne do të rrisim stack.size. ++. Dhe pastaj çfarë duam të bëjmë? Ka një gjë e fundit që ne duhet të bëni nëse ne e futur me sukses kjo? Kthehu vërtetë. Dhe tani ju jeni bërë. Kështu që unë të ndjehen si ai ishte tërë minus minus stack.size dhe stack.size ++ se gjëra messed up. Ugh. Unë keep-- unë kam këtë gju-hov tendencë për të goditur gjithmonë Kontrollit, S, sepse unë kurrë dëshironi të humbni ndonjë prej punës sime. Por unë nuk kam nevojë për të bërë këtë tani. OK. Kështu që ishte rafte. Ftohtë. A ka ndonjë gjë? A e gjeni ndonjë ju djema pyetje të tjera që ju do të si për të shkuar gjatë nga kuize mëparshme? Nëse jo, ne mund të lloj të fillojnë të bisedojnë përmes Quiz Një nga viti i kaluar. Po. AUDIENCA: Për të parë pjesë, nuk e kam me të vërtetë kuptoj se si ju fshihet numrin. A nuk është ende atje? Gjuha 1: Numri është ende atje. Por çfarë ndodh është se për shkak se ju keni tha për atë që krye të rafte tuaj është këtu, kur ju shkoni për të shtuar diçka mbi rafte, ai vetëm do të zëvendësojë atë. AUDIENCA: Oh, OK. Gjuha 1: Po. Pra, kjo është si ai harroi dhe kjo është atje lloji i gjë edhe pse është atje. Audienca: [padëgjueshme] apo ndonjë gjë? Gjuha 1: Jo. Sepse ne jemi në një array, ju nuk keni të shqetësohen about-- ju do të vetëm pranoj atë kur keni nevojë për të. Dakord. Çdo pyetje të tjera? Nëse jo, ne jemi vetëm do të fillojë të punojë përmes. Vërtet. AUDIENCA: E pra, kjo është në 2013, por vetëm duke shkuar nëpër SQL stuff. Gjuha 1: SQL? OK. Pra, kjo është 26 me anë të 29. AUDIENCA: Po. Gjuha 1: OK. Bukuroshe. Le të tërheqë ato lart. Oh, shikoni. A ju djema të gëzojnë të Steve Ballmer flasim, nga rruga? Ajo ishte shumë e qeshur, sipas mendimit tim. Unë dua që çdo herë që unë të sjellë deri CS50-së website gjatë seksion, është si, oh, shikojnë seksion. Dhe unë jam si, mm. AUDIENCA: A mund ta bëjmë atë? Gjuha 1: Ne do të bëjmë atë në fund. Si është ajo? Sepse unë e di se ju djema kanë gjithmonë të kërkuar për të. Pra, ne do të bëjmë atë në fund. Një pyetje. Audienca: [padëgjueshme]. Gjuha 1: Ajo do të jetë një seksion meta. AUDIENCA: Është si 5 sekonda. AUDIENCA: Really? AUDIENCA: Është si 20 sekonda. [Ndervendosur Zërat] [Qeshura] Gjuha 1: Më pëlqen që ju keni bërë tashmë ajo, cila është ajo që më bën të lumtur. OK. 26. OK. Në fakt, ne jemi vetëm do të pasqyrojnë këtë tani, sepse unë nuk mund të. Ky është i bezdisshëm. OK. Tani unë mund të shoh gjithçka. Bukuroshe. OK. Pra natyrisht, kjo duhet të sjellë përsëri kujtime të mëdha nga [? CSG?] Finance. Gjysma e ju në lidhje kanë juaji vlerësohet tani. Gjysma tjetër unë do të shkoj në shumë, shumë shpejt, unë premtoj. Pra, ne kemi disa tabela SQL kjo është Llogaritë këtu. Ndoshta e ngjashme me tavolina përdorues Guys tuaj '. Dhe ne kemi disa numër që ishte një kyç PRIMARY dhe përfaqëson një Numri i llogarisë 12-shifror. Dhe bilanci është se sa para ata kanë. Dhe vlera e paracaktuar është 100. Dhe ata japin atyre 100 $ ndonjë kohë ata të hapur një llogari. Unë uroj banka ime bëri atë. OK. Pra, ne duam për të përfunduar skemë nga duke specifikuar pranë numrit në ekuilibër tipi i duhur SQL. Pra, çfarë ju djema mendoni se do të ishte e lloj si reagim tuaj gju-hov për llojet e për këta të dy? AUDIENCA: Int. Gjuha 1: Një int. OK. Dhe pastaj për një kandar? Decimal. OK. Pra, e drejta dhjetore së. Int është afër. Lloj i gjë e madhe është kjo nënvizoi 12-shifror numrin e llogarisë. Sa herë që ne kemi diçka kjo është më e madhe se tetë shifra, ata duan që ju të përdorni të mëdha int, e cila unë mendoj is-- AUDIENCA: A është kjo vetëm SQL? Gjuha 1: Është e vetmja kohë që unë e kam dëgjuar e ajo është SQL-- si duke përdorur një int madh. Është vetëm për të ju jap një pak saktësi më shumë, duke u siguruar që ju nuk jeni të gjë tip i rrëmbyer. Në të gjitha ndershmërisë, unë mendoj se kjo është padyshim një nga ato ku kjo është si, oh, ajo është menduar për njerëzit që kanë pak më shumë njohuri të SQL. Ne kurrë nuk foli për ints mëdha në PSET tuaj. Pra, kjo është lloj si unë jam goxha i sigurt në qoftë se ju vendosni int, ajo ishte gjysma e kreditit. Dhe siç kam thënë më parë, ka shkuar të jenë disa pyetje që janë vetëm për qëllim të udhëtimit ju lart, kështu që se jo të gjithë merr 100. Sepse natyrisht, atje disa njerëz në CS50 të cilët kanë bërë këtë për të si tetë vjet, dhe ju jeni si, çfarë po bën? Por vërtet. Decimal për bilancin ishte një e qartë. Dhe int pastaj i madh për numrin e vetëm sepse e që, si, nënvizoi 12-shifra. Sa herë që çdo gjë është në bold ose është nënvizoi, si, i kushtoj vëmendje për të. Ne nuk jemi duke bërë që vetëm për shkak se. OK. Pra, "mendoj që e imponon bankare një tarifë 20 $ në muaj për të gjitha llogaritë. Me çfarë query mund bankë zbres 20 $ nga çdo llogari edhe nëse ajo rezulton nga disa bilancet negative? " Pra, le të fillojë të thjeshtë. Ne kemi katër komandat kryesore për SQL, të cilat janë? A e mbani mend ju djema katër ato të mëdha që të thashë? UPDATE, DELETE, zgjidhni, dhe INSERT. Perfect. Got atë. Pra, çfarë ne mendojmë fuqinë të jetë më e dobishme për këtë? Ne are-- UPDATE. Exactly. Pra UPDATE, sepse ne jemi duke shikuar në llogaritë që tashmë ekzistojnë. Pra, mos harroni gjeneralin tonë gjë e tillë është përditësim. Dhe pastaj çfarë vjen pas UPDATE? Ne kemi disa tabela se ne jemi referenca. Pra, nëse unë të tërheqë deri sublime again-- UPDATE. Pra, kjo është një format i përgjithshëm. Pra, ne kemi tabelën UPDATE. Dhe pastaj çfarë është gjëja tjetër që ne kemi? Ju mund të bëni KU. Dhe pastaj ne kemi disa kualifikuese këtu. Dhe pastaj çfarë kemi tjetër? Ne kemi disa diçka SET-- e barabartë me diçka. Blah blah barabartë. Përditësuar blah. E drejtë? Pra, kjo është sikur të përgjithshme Ideja për disa update. OK? Pra, le të fillojë të plotësojë ky në me atë që duhet të jetë. Pra, çfarë tabelë jemi duke folur për? Llogaritë. Dhe pastaj në këtë rast, çfarë është me të vërtetë cool po flasim specifik përdoruesit brenda llogarinë tonë, ose jemi duke folur për të gjithë përdoruesit? Ne jemi duke folur për të gjithë përdoruesit. Pra në këtë rast, ne mund vetëm fshini kete ku kualifikuese. KU është vetëm kur të doni për të kufizuar atë që ju jeni duke ndryshuar. Nëse doni të ndryshoni të tërë tavolinë, ju vetëm mund të bjerë se. OK. Pra, tani ne jemi në pjesën tonë SET. Çfarë duam të ndryshojë? AUDIENCA: Balance. Gjuha 1: Bilanci. Dhe ne jemi duke shkuar to-- si jeni ne do të ndryshojë ekuilibrin? Ne kemi një tarifë $ 20, e drejtë? Minus 20. Dhe ata thanë se është në rregull nëse ne kanë bilance negative. Pra në këtë rast, ju nuk keni nevojë për të bërë ndonjë kontrollin e mëtejshëm gabimi. OK? Kjo është fjalë për fjalë të gjithë ju duhet të bëni. I ftohtë? OK. Pra, le të shkojë përmes një tjetër. "Me çfarë SQL query mund bankë rifitoj numrat e llogarisë e klientëve të saj më të pasura me balancon më të madhe se 1,000 $? " Nëse banka juaj dhe klientët tuaj më të pasur janë vetëm ato me mbi $ 1000, Unë të ndjehen si ju jeni duke bërë diçka të gabuar. Si, se si e bën një bankë të mbijetojë në këtë? Si, se interesi, jo mjaft të mjaftueshme. OK. Me këtë lloj gjë, çfarë të bëni ju mendoni se, të katër funksionet tona, mendoni ju se ne jemi duke shkuar për të përdorur? SELECT. Perfect. SELECT. OK. Pra, ne jemi duke përzgjedhur disa Identifikuesi NGA tryezë. Dhe pastaj KU kusht. Pra, si të shkojmë nëpër këto, unë jam vetëm duke shkuar për të ju jap djema një përmendore të përgjithshme në formatin e përgjithshëm të të gjitha këto. Pra, ne jemi duke përzgjedhur një lloj i [? gjë. ?] Në këtë rast, kjo do të jetë në mënyrë tipike disa kolona. Pra, në rastin tonë, ne kemi numrin, ekuilibër. Në rast Guys tuaj ', ndoshta ajo ishte e ID, emrin, fjalekalimin. Ndonjë nga ato kolona, ​​kjo është në mënyrë tipike ajo që ne jemi zgjedhur. Pra, në këtë rast këtu, që lloj i kolonës, çfarë identifikues janë tërhequr nga ne tryezën tonë? Çfarë e bën atë të na pyesin për të? Ai na kërkon për numrat tona, e drejtë? Numrat e llogarive. Pra mbani mend, vetëm numri në këtë rast. Nëse ju djema ndonjëherë ka pasur gabim, se kuti të ndritshme portokalli do të dalë. Dhe ajo ishte si, papritur rresht në, si, çfarëdo. Kjo për shkak se ju e quajti Tabela e juaj i gabuar, apo jo? Pra, të jetë i sigurt që ju jeni duke e quajtur kolonën saktë. Pra nga tryezë, tavolinë tonë është quajtur llogaritë. Përsëri, sigurohuni që ju jeni referenca tryezën tuaj të saktë. Dhe pastaj çfarë është gjendja jonë këtu? Ajo që presim për të? Ne duam që njerëzit tanë të pasur. Po. Pra, të balancuar më e madhe se 1000. Nuk ju shkoni. Kjo është query tuaj. Jo shumë e keqe, apo jo? OK. Kështu që tani për një tonë të fundit. Me këtë, ne jemi breezing përmes. OK. Pra, tani "me çfarë pyetje mund afër bankë, dmth, fshini "- nuk ju duan si ata vetëm ju dha DELETE-- "Çdo llogari që ka një bilanc prej 0?" Unë mendoj se ne mund të gjithë janë dakord ne jemi ndoshta do të jetë duke përdorur DELETE. Unë jam i mirëpritur për të marrë ndonjë diskutim rreth se. Por unë mendoj se është shumë e sigurt për them se ne mund të përdorim DELETE. Pra, ne jemi duke shkuar për DELETE disa përdoruesit nga tavolinë, KU kusht. Pra, e njëjta gjë e tillë si SELECT. Pra, në këtë case-- oh, sorry. Unë duhet të DELETE FROM. Sepse do të fshini fshirë krejt rresht. Pra, ne nuk kemi nevojë të flasim për të cilën gjëra të veçanta në lidhje me një përdorues që jeni fshirjes. Nëse ne të fshirë një përdorues, ne jemi fshirjes çdo gjë rreth tyre. Pra në këtë rast, ne vetëm duhet të plotësoni ku tonë dhe gjendjen tonë. Pra tryezë ynë është vetëm llogaritë tona tavolinë, si ne kemi qenë duke bërë. Dhe pastaj çfarë është gjendja jonë këtu? AUDIENCA: Balance. Gjuha 1: Bilanci është e barabartë me 0. Correct. Të gjithë të mirë. Po. Audienca: [padëgjueshme]. Gjuha 1: Pra DELETE qenësisht fshin çdo gjë. Pra, ndërsa me SELECT, SELECT merr në kolona të caktuara që ju doni kthyer. Në qoftë se ju të kërkuar çdo gjë në lidhje me një përdorues kthye, ju përdorni yll. Star thotë, të kthehet në mua çdo gjë nga ky anëtarë. Ose në qoftë se ju vendosni ku yll, që do të thotë vetëm të më jepni çdo gjë. Por DELETE trashëgon atë. Pra, në qoftë se ju thonë: DELETE nga Llogaritë ku bilanci është e barabartë 0, ajo do të shkojnë përmes. Dhe kudo që bilanci është barabartë me 0, ajo thelb bën këtë. Ajo do të fshini çdo gjë. Yll është më for-- me SELECT apo UPDATE, ajo është duke folur më shumë për individin Fushat përkatëse për një përdorues. Pra, kur ju keni SELECT yll nga tryeza KU ID është e barabartë me 1, që kthehet tek ju çdo gjë në lidhje me përdoruesit me ID 1. Nëse ju do të bëni numër SELECT ose SELECT ID emrin presje nga përdoruesit KU ID e barabartë me 1, që vetëm kthen numrin e tyre ose ID e tyre dhe emrin e tyre. OK? Kështu që ne përdorim yll në këtë rast të na japin gjithçka në lidhje me një përdorues. Dhe DELETE thelb e bën këtë. Ajo nuk ka vetëm të fshini ID, ose vetëm emri, ose çfarëdo. Yeah, nr. Ajo vetëm fshin të gjithë përdoruesit. Pra, ne nuk duhet të shqetësohen për yllin atje. Nëse dëshironi të fshini çdo gjë, ju mund ta bëjë këtë, dhe kjo vetëm do të bjerë çdo gjë. Por në mënyrë tipike, ju nuk duan ta bëjnë këtë. Por në qoftë se ju ndonjëherë të dëshironi të fshini çdo gjë, ju mund të bëni atë. OK. A keni djema gjetur ndonjë pyetje tjetër? Po. AUDIENCA: A mund të bëni 26? Gjuha 1: 26 ne vetëm e bëri. AUDIENCA: Oh, 25, sorry. Gjuha 1: 25. OK. 25. Oh. Ata po bëjnë JavaScript. Oh, unë nuk mund të besoj atë. Unë jam duke shkuar për të bela na lart përsëri, djema. OK. Ne morëm këtë. Ne jemi duke shkuar për të bërë këtë punë. Ah, jQuery. Fun. OK. Pra, ne jemi duke shkuar për të përfunduar Zbatimi i ueb faqes në mënyrë të tillë që, nëse ata vizitojnë, të dhëna emrin e tyre, dhe të paraqesë formularin, ata e kanë këtë alarm të madh dritare që do të shfaqet. Pra, çdo gjë me alarme, ne e dimë se ne jemi do të keni për të përdorur JavaScript. Yay, JavaScript. Dhe nëse ata dështojnë të dhëna a emrin para paraqitjes formë, jo vigjilent duhet të paraqitet. Kështu që ju mund të përdorni jQuery, por ju nuk keni për të. Kështu që unë jam duke shkuar për të ju djema të punuar në këtë vetëm për disa minuta. Mendoni se ajo. Dhe pastaj ne do kod atë. Slash unë jam duke shkuar për të përpiqen dhe të mendojnë për Mënyra më e mirë për të shpjeguar këtë përgjigje për ju. Dakord. Ne do të merrni atë të ngritur. OK. Pra, ne jemi vetëm do të ecin nëpër këtë, sepse unë e di jQuery është pak konfuze. JavaScript. Kjo është një nga pak atje. Pra, ajo që ne jemi duke shkuar për të bërë është [E padëgjueshme] në të vërtetë zgjidhur ky problem me jQuery. Pra, nëse ju kujtohet, jQuery është vetëm një bibliotekë që është ndërtuar vetëm në krye të JavaScript. Ajo është menduar për të bërë tuaj Jeta e një pak më e lehtë. Unë do patjetër, nëse ju keni kohë, i hedh një sy pak e Dokumentacioni për jQuery. Por është shumë e ngjashme me JavaScript. Atë e mori paradigma të ngjashme, ku ju përdorin këtë operator dot për të thirrur funksionet mbi objektet që ju keni. Pra, ajo që ne kemi këtu është për jQuery, ju duhet gjithmonë të ketë këtë lloj i mbështjellëse, e cila eshte $ (Dokument) .ready (funksion) Funksioni në kllapa këtu. OK. Pra, kjo mund të jetë diçka ju doni të mashtrojnë fletë tuaj. Sepse në fund të fundit, ju mund të kanë të këmishë për jQuery tuaj. Dhe kjo do të paktën të merrni ju të pjesë mënyra atje. Pra, në të njëjtën mënyrë që ne të foli shumë për JavaScript, dhe ne do të fillojë duke shikuar në atë që ne jemi duke u përpjekur për të redaktuar apo ajo që ne jemi duke u përpjekur për të ndryshuar. Dhe që në mënyrë tipike do të ishte Gjëja e parë që ne do të vënë në. Pra në këtë rast, në qoftë se ne të kthehemi në këtë këtu dhe ne shikojmë në formën tonë këtu, ne kemi këtë inputeve, e drejtë, kjo id e inputeve. Dhe ne e dimë se në bazë në pyetjen tonë, ne janë ose do të hedhin një gabim, nëse kjo është e zbrazët, ose ne jemi duke shkuar për të vënë kjo në një alarm, apo jo? Pra, ndoshta e sigurt të them se ne jemi do të merret me inpute këtu. jQuery është shumë e ngjashme me atë nëse ne mendoj përsëri në CSS, çdo gjë me një ID ne shikojmë me një hash. Çdo gjë me të klasit ne shikoi me një pikë, e drejtë? Pra, në të njëjtën mënyrë këtu, çfarë ne jemi duke folur rreth është inputeve. Ne pamë se inputeve është një ID brenda formën tonë. Pra, ne jemi duke shkuar për t'iu referuar asaj si i tillë. Inputet. OK? Pra, kur në dyshim, madje në qoftë se ju keni askund, në qoftë se ju jeni me të vërtetë të pasigurt se si të qasen kësaj, A, e kanë këtë këmishë. Pra, fillojë atje me mbështjellëse për jQuery. B, sigurohuni që ju të dini çfarë ju po ndryshojnë. Dhe kur në dyshim, vënë atë në diçka, dhe bëj dot, çdo gjë që ju mendoni se ju duhet të bëni me të. AUDIENCA: Çfarë është këmishë? Gjuha 1: mbështjellëse është kjo linjë e parë. Pra kjo thotë, prisni derisa Dokumenti im është gati. Pastaj të fillojë messing me gjëra. OK? Pra, ne e dimë që ne jemi messing me inpute. Pra, ne jemi si, OK, inputet është formë tonë. Kjo është ID ynë. Pra, kjo është ajo që ne jemi do të jetë në kërkim për të. Dhe ne duam të shohim se çfarë ndodh kur kjo formë është dorëzuar, e drejtë? Pra si ne mund të mendojnë, ne kemi disa parashtrojë. Pra parashtrojë vetëm thotë, OK, kjo formë që ne kemi referohen me inpute hash, kur është e paraqitur, ekzekutuar diçka tjetër. Pra, ne do të kemi disa funksion. Vini re ne kanë funksione anonime këtu. Ne kemi një funksion anonim këtu. Po. AUDIENCA: A do të gjithmonë të parashtrojë, apo është vetëm për shkak se në HTML, kemi bërë lloj butonin Submit? Gjuha 1: Duhet të parashtrojë, sepse kjo është një formë që ne jemi të paraqitjes. Sepse kjo parashtrojë nuk ka domosdoshmërisht korrespondojnë me atë buton është si për të thirrur. Por fakti që kjo është një formë që ne jemi dorëzimin. OK. Pra njoftim anonim Funksioni këtu që says-- AUDIENCA: Unë nuk e bëj të vërtetë kuptoj funksione anonime. Gjuha 1: Pra anonim funksionet, ata janë vetëm funksione që nuk kanë një emër. Pra, në vend të paturit e disa funksion kryesor që calls-- ne mund të themi, qoftë dokument gati, atëherë ne do të thërrasë inputeve. Dhe pastaj, kur paraqitet, call-- si, qoftë paraqitur kështu-dhe-kështu, ne do të thërrasë një funksion tjetër. Një funksion anonim vetëm nuk ka një emër, dhe ai vetëm do të zbatoj brenda këto llojet e gjërave. Pra në këtë rast, çfarë thotë kjo është, Kur dokumenti ynë është i gatshëm, kryej këtë funksion. Ky funksion është i përbërë për çdo gjë brenda këtu. Dhe pastaj në tjetër shtresë është, në rregull, kur inputet paraqitet, të ekzekutuar këtë. Kjo është vetëm një mënyrë e denoting çfarë duhet të ekzekutohet kur. Është fjalë për fjalë vetëm një funksion që nuk bën të ketë një emër, kështu që ata kanë tendencë të të mbivendosur në njëri tjetri, sepse ju nuk mund të telefononi ata me emër. OK? Fjalë për fjalë, një funksion anonim është vetëm një funksion pa një emër. Kjo ishte. Vetëm një mënyrë për të encapsulate gjëra të ndryshme që ne duam ekzekutuar në kohë të caktuara. Audienca: [padëgjueshme]. Gjuha 1: ndenja? Ku? AUDIENCA: Në kllapa pas funksionit? Gjuha 1: Pas funksioneve. Cili? AUDIENCA: Të dyja. Nëse ju vendosni, si, ngjarje, ose në qoftë se ju vënë një argument në atje, do të ishte e gabuar? Gjuha 1: Në këtë rast, unë mendoj ju mund të vënë një argument në atje. Por sepse ne nuk kemi nevojë për një Argumenti, nuk duhet të ketë. Si, kjo është e tërë, si, ju duhet vetëm kam gjëra që janë lloj i nevojshëm i gjë. Në të njëjtën mënyrë që në qoftë se ne kishim ndonjë funksion që ka void-- int kryesore si, me boshllëkun int kryesore, ju mund të bënte int Arg v, çfarëdo. Por në qoftë se ju nuk keni nevojë ato, ju nuk duhet të kenë ato në atje. E njëjta gjë. Emma, ​​a keni një pyetje? OK. Ftohtë. OK. Pra, ajo që ne kemi deri tani është kur tonë dokument është gati, të ekzekutuar këtë. Tani ne jemi duke kërkuar në kur është e paraqitur. Pra, tani që ne të vërtetë kanë lloj e mishit të gjë tonë. Pra, ne kemi nevojë për të marrë vlerën që përdorues dorëzuar, nëse do që të jetë një emër ose bosh. Dhe pastaj ne kemi nevojë për të ose kthimi kjo vigjilent ose hedhin një gabim. As mënyrë. Pra, si nuk kemi të deklarojë një variabël në JavaScript? Var. Pra, le të themi, emri i var equals-- ose në të vërtetë, ne do të bëj vlerë pasi që unë mendoj se është emër. OK. Pra, ne kemi disa vlera këtu se ne duan për të tërhequr nga forma inpute tonë. Pra, në të njëjtën mënyrë që ne lloj i bëri inputeve, dikush mund të më tregoni se çfarë ne mund të jetë duke bërë thirrje brenda këtu në qoftë se ne të kërkuar për të marrë emri nga forma? Dhe nëse ne shikojmë prapa në formën tonë këtu, vërejmë se ne kemi një ID të emrit. Audienca: [padëgjueshme]. Gjuha 1: Ju nuk keni të mendojnë për atë si një grup. Ju nuk duhet të shqetësohen për këtë. Pra, ne vetëm duhet një emër te. Dhe pastaj sepse JavaScript dhe gjëra të janë të pazakontë, që ne nuk mund vetëm të bëjë "emër". Ne fakt kanë për të thirrur disa funksion që na jep, si, vlera e asaj identifikues. OK? Pra, kjo është vetëm .val. Audienca: [padëgjueshme]. Gjuha 1: OK. Pra me JavaScript, këtë lloj të gjë e drejtë këtu vetëm shkon përmes. Dhe ju mund të mendoni se kjo është e as-- si pothuajse një getElementById, ku getElementById do në të vërtetë kthejë gjënë e plotë për ju. $ ("# Emri") është vetëm si, OK, unë kam atë, unë mund të hyni në atë, por në qoftë se ju në të vërtetë doni atë për t'u kthyer vlerën në you-- AUDIENCA: A është kjo si një akrep? Gjuha 1: Kjo është lloj i si një tregues. Ju mund të mendoni për atë si lloj i pëlqen një akrep. Si, ai thotë, OK, unë e di se si për të arritur atje, por që në fakt të marrë vlerën jashtë kjo, ju duhet të pyesni në mënyrë eksplicite për të. Dhe për fat të keq, natyrisht, ne nuk bëjmë të bëjë shumë me JavaScript dhe jQuery. Kështu ajo do të zbresë në sa ju guys-- çfarë ju ndodh që të dini, çfarë ju ndodh që të kanë parë, dhe çfarë ju mund të lloj logjikisht mendoj në. Për shkak se disa nga këto gjëra, ju ndoshta mund të merrni në gjysmë të rrugës atje. Por për të marrë atë plotësisht e drejtë, Unë mendoj këtë problem ndoshta kishte një nga rezultatet më të ulët. AUDIENCA: Si, për shembull, për [e padëgjueshme] inputeve, pse nuk ju keni për të vënë val atje? Gjuha 1: Për këtë? AUDIENCA: Po. Gjuha 1: Po. Sepse kjo është lloj i pëlqen, siç kemi thënë, disa akrep, dhe kjo është më referenca ajo dhe në të vërtetë na marrë vlera. AUDIENCA: Ndërsa [e padëgjueshme]? Gjuha 1: Për inputeve, inputeve është vetëm some-- kjo është si ne jemi vetëm shikuar atë si një e tërë, dhe kjo tregon parashtrojë na atë që ne duhet të dimë. jQuery dhe JavaScript është e pazakontë. Unë e di. Unë e di, djema. Unë e di. Ka një arsye që unë nuk bëj bëni programimit web. Just kidding. Unë nuk kam pasur ekspozim të mjaftueshëm për të. Audienca: [padëgjueshme] CSS. [Qeshura] Gjuha 1: OK, kjo është CSS. CSS është vetëm, si, të bëjë gjëra mjaft, ajo nuk është si le të merren me të dhëna. Ka një ndryshim atje. OK. Pra tani me shpresë, kjo part-- gjithashtu, për një problem si ky, ku ju nuk mund di sintaksë, ju mund të jetë si, OK, ju mund të ketë disa vlera var dhe të jetë si, supozojmë I mori vlerën korrekte. Dhe pastaj ju mund ndoshta shkruaj këtë pjesë tjetër. Kjo pjesë tjetër ndoshta do të duket shumë më e lehtë, ose ajo do të bëjë logjike kuptim për ju djema. Kurse ajo që ne e kam shkruar deri tani, Unë e di unë do të jetë si, umm, vërtet, Unë nuk e di se në quiz. Ju mund të krejtësisht të shkruani psuedocode dhe pastaj të thyer në kod reale kur you-- kjo është lloj i si matematikë. Nëse ju keni pasur ndonjëherë disa Problemi multi-pjesë ku ju nuk e dini se si për të t'i kapërcyer hapin e parë, por çdo gjë tjetër mbështetet në atë hap të parë, ju them vetëm, si, supozojmë x është e barabartë me 4. Dhe pastaj ju drejtuar me të, e drejtë? Ju mund të bëni të njëjtën gjë me kod. Kështu që ju mund të thoni, supozoj I kam të drejtë të vlerës. Pastaj të bëjë këtë pjesë tjetër këtu. Për shkak se kjo pjesë të vërtetë duhet të jetë mjaft e logjikshme. Pra, ne duhet të kontrolloni nëse vlera jonë është e zbrazët. Ose në qoftë se është një emër, në të vërtetë japin një alarm. Pra, çfarë mund të duam të kontrolloni? Ne duam që të ketë disa nëse. Çfarë mendoni Nëse ynë do të jetë? Ne duhet të kontrolloni për të parë nëse vlera e is-- nëse kjo nuk është një varg i zbrazët. Perfect. Exactly. OK. Pra, në qoftë se është rasti, çfarë duam të bëjmë? Ne duam që të hedhin disa alarm, e drejtë? Pra, kjo është vetëm vigjilent. Dhe pastaj çdo gjë që ne duam brenda. Pra cilat janë menduar ne që të ketë brenda alarm tonë? AUDIENCA: "Hello". Gjuha 1: Comma. Dhe pastaj ju bëni djema mos harroni se si të lidh? AUDIENCA: Plus. Gjuha 1: Plus. Pra, ne duam të kemi plus. Dhe pastaj ne kemi nevojë për një tjetër plus për pikën tonë thirrje. Ftohtë. OK. Përndryshe, çfarë mund të duam të bëjmë? Ne nuk duam të bëjmë asgjë, e drejtë? Pra, ne vetëm të kthehen rreme. Jo atë që unë dua të bëj. OK. Dhe pastaj këta, e course-- çfarë është e rëndësishme është që të mbani mend për të mbyllur Funksionet e tua anonimë. Pra, në qoftë se ju të vini re, ne kemi disa Funksioni këtu që përfundon këtu. Pra, ne kemi nevojë për të mbyllur këtë një e parë dhe të shtoni një pikëpresje. Dhe pastaj kjo këtu ka për të bëjë me këtë funksion anonim, kështu që ne mbyllim atë atje. Kjo reagim gju-hov të kursimit. Po. AUDIENCA: A ka një arsye that-- vetëm në të gjitha shembujt në JavaScript që unë kam parë, ne kemi formatimin e teksteve kaçurrel parë në të njëjtën linjë si funksion? Gjuha 1: Kjo është stilistik. Vërtet. Dhe në të vërtetë, në qoftë se ju merrni 61, ne të bësh të gjithë formatimin e teksteve kaçurrel tona në këtë mënyrë. Huh? AUDIENCA: Nëse ne e bëri atë në PSET, është se e keqe për stilin e? Gjuha 1: Jo. Ne kemi thënë në mënyrë eksplicite ju djema për të bërë këtë. Por në të vërtetë, kjo është lloj e konventës dominuese në një shumë e klasave C dhe JavaScript dhe jQuery. Pra natyrisht, unë jam sure-- dhe në të vërtetë, në qoftë se unë u për të bërë këtë problem tërësisht i verbër pa e shikuar atë, nuk ka ndoshta shumë pak mënyra të unë do të kishte blerë këtë. Unë mund të ketë qenë si, OK, ndoshta unë nevojë për të rrëmbyer diçka që është një input. Dhe unë mendoj se të pasurit njohuri se, si, OK, në qoftë se unë dua të të marrë diçka nga një formë që ka një ID, E kam fjalën për atë në këtë mënyrë, Unë ndoshta do të merrni atë. Unë mund të merrni këtë. Por me të vërtetë, e vetmja gjë që unë mendoj Unë do të të vërtetë të merrni është kjo e drejtë këtu. Pra, kjo është lloj i rëndësishëm për të di, si me çdo provë të vështirë, ju lloj i zgjidhni betejat tuaja, apo jo? Nëse ju e dini që ju nuk jeni do të merrni se pjesa e parë për jQuery, siç thashë, supozojmë se ju e keni këtë vlerë dhe bëni atë që ju mund të me të. Dhe në qoftë se ju keni kohë, të shkojnë prapa dhe të përpiqen dhe të plotësoni në copa. Por nuk e le një pyetje si kjo me të vërtetë ju bog poshtë. Sepse çfarë? Kjo ishte një pyetje për jQuery nga të gjithë provimit. Pra, po, ajo do të jetë i madh në qoftë se ju mori atë. Audienca: [padëgjueshme] ju janë të mirëpritur për të përdorur jQuery. Gjuha 1: Ju jeni mirëpritur për të përdorur jQuery. AUDIENCA: OK. [E padëgjueshme]. Gjuha 1: Si nuk do të përdorin atë? Unë do të duhet të shikojmë up gjithë JavaScript tim. Është në fakt shumë më e lehtë, Unë mendoj, për të përdorur jQuery, sepse jQuery në të vërtetë zvogëlon Shuma e JavaScript ju shkruaj ndoshta nga, si, gjysma. Pra, kodi ynë ndoshta do të jetë dy herë më gjatë pa atë. Pra, nëse ju recognize-- më i madh gjë për të marrë larg nga ky problem janë modelet. Nëse jeni duke hyrë në diçka nga një formë, ju jeni do të përdorin quotes, hash, çdo gjë që ju jeni duke u përpjekur për të hyrë. Nëse ajo është duke u dorëzuar, ju doni për të përdorur diçka si një parashtrojë. Ju jeni me siguri do të përdorin një funksion anonim në atje. Nëse ju në të vërtetë nevojë për vlerën e diçka, ju jeni do të bëjë kuotat, hash, çfarëdo që fushë është, .val. Dhe duke njohur modele sikur që janë duke shkuar të jetë shumë më e dobishme se me të vërtetë duke e ditur guximtar mortajë. Po. Audienca: Pra, nëse përdorues i paraqet emrin e tyre dhe kjo shkon deri në atë deklaratë, do të ajo të shkojë poshtë dhe të kthehen rreme pas kësaj? Gjuha 1: Jo, sepse gatishmëri, ju mund të mendoni për atë si një kthim. Vërtet. Kështu ajo do të dalë. Vërtet. AUDIENCA: Mund ti [? vendin?] e kllapa të paraqesë, kllapa, diçka? Gjuha 1: kam bërë, unë besoj. Kjo një të mbyllur të drejtë këtu. Dhe pastaj kjo një merr e mbyllur këtu. AUDIENCA: Oh, atje. Dakord. Gjuha 1: Natyrisht, pak, pak gjëra sintaksore si kjo, ne do të ndoshta vetëm rrethoni atë dhe të jetë si, mos harroni kllapa tuaja. Por vërtet. OK. A kemi një tjetër që ne do të dëshironim për të bërë? A e merrni ju djema atë pemë binar? A duam të shkojnë mbi atë njëri? Ndjehem si pemë binare dhe lirive duhet të jenë pika se ju djema merrni mjaft lehtë. Unë nuk do të duan të ju të humbni pikë për atë. OK. Le të bëjmë këtë DOM këtu. I wish I kishte Sipërfaqja time kështu që unë mund të tërheqë vetëm në ekran. Kjo është ajo që kam përdorur për të bërë vitin e kaluar. OK. Pra, siç e përmenda, ne biseduam për DOM, Document Object Model. Ata jeni me siguri do të ju jap disa pak copëza si kjo dhe t'ju kërkojë për të krijuar një pemë për të. Dhe kjo vetëm të gjithë ka të bëjë me drejtimin përmes tags. Pra, le të përpiqet dhe të bëjë këtë. Gjithashtu, si për zakonisht, në qoftë se ju djema bërë këto kuize, si unë shumë rekomandojmë që ju të bëni si praktikë, ndonjë prej tyre që ju jeni si, Unë me të vërtetë nuk do të marrë atë që është ndodh këtu, vetëm, sigurisht, më dërgoni një email me një pyetje, dhe unë do të shpjegojë se si të mira unë mund. OK. Ne kemi disa dokument, dhe ne kemi HTML. OK. Pra, atëherë ne jemi vetëm duke analizuar tags këtu, apo jo? Pra, çfarë ne shohim comes-- çfarë janë dy subheadings nën HTML? Sidomos për shkak ata janë të prerë siç duhet? Kokë dhe trup. Ah. Kokë dhe trup. Bukuroshe. Pra, atëherë le të fillojë këtu me kokë. Çfarë është kokë poshtë? Çfarë është tag tonë të ardhshëm? Titulli. Dhe pastaj brenda titullit, quiz. OK. Pra fjalë për fjalë, është vetëm duke ecur nëpër tags, OK? Prandaj, nëse kemi trup, si të shkojmë nëpër, Trupi ka tre gjëra brenda saj, e drejtë? Atë e mori tri divs. Çdo div merr kutinë e saj të vogël. Dhe çfarë është në div parë? [E padëgjueshme] Dhe pastaj një tjetër është e mesme, që unë jam vetëm do të shkurtoj. Dhe pastaj e fundit është fund. Pra, me të vërtetë, kjo është vetëm në këmbë përmes. Dhe për shkak se ne jemi duke shkuar për të dhënë jeni i HTML që është e prerë siç duhet, ju mund të vërtetë të drejtuar vetëm përmes dhe të jetë si, OK, këtu është HTML. Pra, kjo është outermost qoshe, ose më i largët i majtë, kështu që duhet të jetë gjëja e vet. Këto janë në të njëjtën kryeradhë. Pra, ne e dimë se kreu duhet të jetë në të njëjtin nivel me trupin, por nën HTML. Kjo është ajo që ne kemi këtu. Kokë dhe trup janë vëllezërit e motrat, por ata janë nën HTML. Dhe atëherë ne vetëm të shkojnë në secilën nga këto. Pra kokë ka titullin, e cila ka quiz, si ne shohim këtu. Dhe pastaj në këtë rast, ne kemi trup, e cila ka këto tre linja. Pra, këto janë të gjitha vëllezërit e motrat të gjithë nën trupin. OK? Kështu që shpresojmë se kur ju shoh diçka si kjo, ju jeni si, po, unë vetëm të marrë për të nxjerrë një pemë. Kjo është gonna të jetë i madh. OK. Pra kërkuar për t'u siguruar ju djema e dinte se. Pra, pse nuk kemi shkuar në 32 me pemë tonë binar? Sepse sapo ju të kuptoni një binar pemë kërko, kjo nuk është e vërtetë se keq. Pra Everett, mund të unë erase-- I do të thotë, këto janë të gjitha online, too. Pra, nëse keni ndonjë pyetje. Humbur një hapësirë ​​të vogël atje, por kjo është në rregull. Pra pemë kërko binar është vetëm një mënyrë për të organizuar të dhënat e jo në një rrjet, ku rrënjë është gjithnjë më e madhe se fëmijën e majtë dhe rrënjë është gjithmonë më pak se fëmijën e duhur. OK. Pra, ne e kemi këtë pemë të madhe të kërkimit këtu. Ne kemi këto numra, 34, 59, 20, 106, 36, dhe 52. Dhe ne kemi nevojë për të organizuar ato në një mënyrë të tillë tillë që rrënjës është më e madhe se çdo gjë në anën e majtë dhe është më pak se çdo gjë në anën e djathtë. Dhe zakonisht, çfarë ju doni të bëni është të provoni dhe për të gjetur diçka në lidhje në mes. Me pemë binare e kërkimit, ju mund të keni për të luajtur rreth pak me të. Por në këtë rast, le të vetëm supozojmë se ne e dimë këtë një të parë. Pra, 36 është një jonë e parë këtu. Në mënyrë tipike, unë do të përpiqem dhe zgjidhni diçka lidhje në mes asaj do ndoshta japin rezultatet më të mira. Pra, tani ne e dimë se çdo gjë në kjo anë duhet të jetë më pak se 36. Por gjithashtu, ajo që ju mund të shihni është se ne kemi dy spote mbi këtu. Pra, në qoftë se ne e dimë se kemi nevojë për dy Numrat që janë më pak se në rrënjë, atëherë ju mund të urdhërojë vetëm këto dhe zgjidhni numrin e tretë. OK. Pra, pse nuk e kemi filluar me këtë anë? Pra, në qoftë se ne e dimë se çdo gjë në kjo anë duhet të jetë më pak se 36-- por në qoftë se ne e shikojmë në këtë një, ne e dimë se ky numër duhet të jetë më i vogël se ky numër, e drejtë? Për shkak se ky numër këtu është në anën e djathtë. Dhe mbani mend, ashtu si në tonë më të mëdha pemë, çdo gjë në të djathtë duhet të jetë më e madhe se në rrënjë. Në këtë mënyrë, ne e dimë se çdo gjë që është në këtë nevojat të jenë më të mëdha se çdo gjë që është këtu. OK? Pra, ne kemi dy zgjidhje për këto dy bubbles. Ne kemi 32 dhe 34-- apo keq. 20 dhe 34. Pra, si mendoni ju ne mund të vënë këto në? Nëse ky njeri duhet të jetë i më e madhe se ky, që do të thotë që ne duam të kanë 20 here dhe 34 here. OK. Pra, në të njëjtën mënyrë, ne shikojmë në këtë lloj sub pemë. Dhe ne themi, OK, ne nuk kemi 36. Ne kemi 106, 52, dhe 59. E drejtë? Në këtë rast këtu, ne e di se këtë një nevojat që kanë një gjë që është më i madh se ajo dhe një gjë që është më pak se ajo. E drejtë? Pra, në qoftë se ne kemi vënë këto në mënyrë, kjo është vetëm për të gjetur se vlera e mesme përsëri. Pra vlera jonë e mesme është 59. Pra, atëherë ne themi, OK, çfarë është më pak se 59? E pra, kjo është 52. Dhe çfarë është më i madh se 59? E pra, kjo është 106. OK? Pra, kjo është vetëm një grimë si një mister. Kjo zakonisht ndihmon, sidomos në pemë të vogla si kjo, në qoftë se ju vetëm të urdhërojë atë, në qoftë se ju e di se sa janë në të majtë dhe sa janë në e drejtë, që mund vetëm ju lejojnë të zgjidhni çfarë duhet të jetë në rrënjë tuaj. Dhe pastaj ju mund të lloj të punojnë nga atje. Mm-hm. 33? I sigurt. OK. Pra, ne duam të krijojmë një nyje ose një pemë kërko binar. Dhe le të shohim se çfarë mund të jetë në të. Dhe unë mendoj se këtë vullnet në të vërtetë të jetë problemi ynë i fundit. Ah. OK. OK. Kjo është si ajo që ne mund mendojmë si një nyje, e drejtë? Ne kemi disa vlera, dhe ne e di se ajo ose do të kanë lënë dhe fëmijë të djathtë. Kërko Binary tree-- këtë mjet që ajo ka, në të shumtën, dy fëmijë. OK? Le të mendojmë për mënyrën se si ne përcaktuar një listë të lidhur, e drejtë? Ne kishim disa int se përfaqësuar vlerën. Ne kishim disa tregues që përfaqësohet çfarë ajo ishte duke shkuar për të ardhshëm. Pemë kërko Binary është shumë e ngjashme. Ne ende kemi disa vlera, n, që ne japim atë, e drejtë? Dhe atëherë unë tërhoqi këto shumë në mënyrë eksplicite me shigjeta, sepse ata janë në mënyrë efektive pointers. OK? Pra, n është në mënyrë tipike çfarë? Kjo është disa vlera. Çfarë bëjmë ne në mënyrë tipike të caktojë atë si? Një int. Pra, ne kemi disa n int, int ose vlerë, ose çdo gjë që ju dëshironi të telefononi atë. Dhe pastaj ne kemi të majtë fëmijë dhe fëmijë e drejtë. E drejtë? Dhe ne e dimë se çfarë ata janë të point-- çfarë janë ata duke treguar për? Ata janë duke treguar për nyjet e tjera, apo jo? Pra, si do të shpallet edhe një tregues nyje? Audienca: [padëgjueshme]. Gjuha 1: Mm-hm. Dhe ne do të kemi dy nga ata, apo jo? Dhe atëherë ne mund fjalë për fjalë nuk u largua për fëmijën e majtë dhe e drejtë për fëmijën e duhur. Actually-- keq. Sepse ne kemi nevojë e strukturës. Pra struct është sepse ne nuk kemi përfundoi duke deklaruar një nyje ende. Pra nyjë është brenda këtu. Kjo është lloj i si një përkufizim gjithkund rekursive, e drejtë? Pra, kur ne jemi brenda ky përkufizim, ne nuk kanë përfunduar deklarimin nyjë si struktura, kështu që ne duhet të bëjmë e strukturës nyje vetëm për të thënë, po, ne jemi në të vërtetë duke iu referuar përsëri në ourself tipit gjë. Se si një herë se është e krijuar, ajo do të jetë mirë. Pra, sa i madh do të ju djema mendoni se kjo është? Çfarë është madhësia e kësaj strukture? 12. Përse? Saktësisht. Dhe në fakt, një nga Pyetjet e para një Quiz One është rreth madhësive, cila është arsyeja pse kam pyetur. Dakord. Ne do të fund, sepse DCE do të bërtas në mua nëse ne nuk bëjmë. Por në qoftë se ju djema keni ndonjë pyetje, natyrisht, email mua, let me know. Ju djema do të rock atë. Unë jam i ngacmuar super. Ju djema do të bëhet si e mërkurë, dhe pastaj ju do të merrni për të punuar në finalen tuaj projekte, dhe kjo do të jetë awesome. Unë do të jem këtu pranë Javën 4:00-04:30 në qoftë se ju djema duan të vijnë marr kuize tuaja. Nëse ju doni të gjeni më ndonjëherë tjetër ose vetëm të koordinuar një kohë të ndryshme, mos ngurroni të let me know. Përndryshe, ky është seksion ynë i fundit. Pra, ajo ishte e madhe për të parë ju djema. Ju lutemi të marrë më shumë karamele. Dhe fat të mirë në quiz tuaj.