JASON Hirschhorn: Welcome għal tliet ġimgħat, kulħadd. Għandna busy imma eċċitanti taqsima għandna quddiemna. Allura l-ewwel, għaliex għamilna xi progress mal-kors iżda xorta għad għandhom ħafna ta 'tagħlim titħalla tagħmel, jien ser nuruk guys xi riżorsi li għandu jipprova li jkun oerhört utli kif inti mhux biss approċċ tiegħek problema tistabbilixxi, iżda wkoll jiddiġerixxu kollha il-materjal aħna nagħtuk guys fil lectures u xorts u taqsima. Imbagħad aħna qed tmur biex jonfqu l-ewwel 20 għal 25 minuta tat-taqsima għaddej matul GDB, li inti tista 'jew ma jistax ikollhom użata f'dan il-punt, iżda huwa għodda oerhört utli li se jgħinuk debug programmi tiegħek. A lott ta 'li jista' jkollok użati printf fil- nofs tal-programm tiegħek biex insemmu barra dak varjabbli equaled. GDB huwa saħansitra aħjar minn printf u ma screw up kodiċi tiegħek għax inti run fuq eżekutibbli fajl. Allura aħna ser jmorru fuq il-10-aktar utli jikkmanda għandek bżonn għall GDB, u aħna se jmorru fuq l-eżerċizzju flimkien sabiex fil-problema sett tlieta u lil hinn, inti jistgħu jużaw GDB biex jgħinu debug programmi tiegħek. U fl-aħħarnett, aħna qed tmur biex jmorru fuq xi issortjar u tiftix algoritmi li inti raw fil-lecture, u aħna ser attwalment kodiċi, mhux biss pseudocode, iżda kodiċi tfittxija binarju, sort bużżieqa, u sort għażla. Allura l-ewwel, Irrid immur fuq ir-riżorsi. Din hija lista estensiva, u huwa font iżgħar minħabba I kellhom ħafna biex joqogħdu fuq hawn. Iżda dawn mhux biss se jgħinek, għal darb'oħra, mas-settijiet problema u informazzjoni diġestjoni inti tgħallimt, imma definittivament, come żmien kwizz, dawn se jiġu oerhört utli. Allura l-ewwel, il-lecture noti. Jekk inti tmur cs50.net/lectures u iscroll għall-ġimgħa speċifiku u jum, tkun taf tara li hemm noti għal kull lecture, li mhijiex sempliċiment xi traskrizzjoni, iżda verżjoni editjat ta ' dak li kien kopert fil-lecture bil-kodiċi siltiet u tidbits utli oħra. I jirrakkomanda ħafna li jmorru fuq dawk. U mbagħad kif ukoll, hemm kodiċi sors disponibbli minn kull lecture. U għal darb'oħra, dawn slides se jkun ukoll disponibbli online fuq cs50.net/sections illejla. Allura tieni huma l-shorts kull ġimgħa li jkopri suġġetti, normalment 5 sa 15 minuti fit-tul. U dawk nisperaw se jtik primer kbira fuq suġġetti differenti. It-tielet - u dan huwa marka dan ġdida sena - huwa study.cs50.net. Jekk int ma ċċekkjati out, I jirrakkomanda ħafna li inti tagħmel hekk. Ikollok li pick suġġett. Għandna għexieren ta 'suġġetti fuq hemmhekk. Hekk per eżempju, inti pick Funzjonijiet. Dan jagħtik xi slides u jinnota fuq funzjonijiet. Dawk huma attwalment l-pjastri li t-TFS huma mħeġġa biex jużaw matul tagħna preżentazzjonijiet fl-taqsima. Hemm ukoll tips u tricks għat-trattament mal-funzjonijiet, u hemm problemi prattika li jgħinu inti taħdem ma 'funzjonijiet. Aħna wkoll jagħtuk links għall-qasir fuq funzjonijiet u l-ħinijiet li l-funzjonijiet għandhom joħorġu fis lecture. Allura study.cs50.net, marka ġdida dan sena, riżors meraviljuż. Sussegwentement, għandi bniedem, li hija l-manwal kmand li inti tista 'taħdem fil- linja ta 'kmand. Mela jekk għandek xi mistoqsijiet dwar kmand, per eżempju, rand, li aħna jiltaqgħu magħhom aħħar ġimgħa matul it-taqsima u inti għandek x'aktarx jiltaqgħu magħhom fil- problema tiegħek stabbiliti meta għaddejjin mill- jiġġeneraw kodiċi, imma jekk inti tip bniedem rand, int ser tingħata l-paġna li jgħidlek kollha dwar rand. Dan jagħtik dak li hemm bżonn, l- parametri li tieħu, kif ukoll ir-ritorn Tip u deskrizzjoni qasira ta 'dik il-funzjoni. Allura check out rand. Hija tista 'tkun ftit wordy u konfuża, hekk kultant I isibu li sempliċement Googling dak I trid tkun taf hija l-aħjar mod biex issib it-tweġiba. Allura prattika ma Google. Get tajba fuq Google. Huwa se jsir l-aqwa ħabib tiegħek. Kif ukoll Google, jekk inti ma tistax issib lilha fuq Google, cs50.net/discuss, huwa il-forum ta 'diskussjoni. Ċansijiet huma jekk għandek xi mistoqsija, wieħed ta '700 + sħabhom wkoll li kwistjoni u jista talbu hija diġà fil-jiddiskutu forums u li hija mwieġba. Mela jekk għandek xi mistoqsija komuni jew għandek xi mistoqsija li taħseb forsi nies oħra jista 'jkollhom run in, check out cs50.net/discuss. Fl-aħħarnett, l-aħħar tnejn, jekk inti tixtieq li kellem lil reali bniedem, l-uffiċċju sigħat Tnejn sal-Ġimgħa. Hemm ukoll ħinijiet tal-uffiċċju onlajn għall-istudenti estensjoni. U l-aħħar iżda ċertament mhux l-inqas, me, punt exclamation. You kollha jkollhom informazzjoni ta 'kuntatt tiegħi. Jekk għandek bżonn xi ħaġa, jekk jogħġbok qatt toqgħodx lura milli tikkuntattjani. Dejjem tħossok liberu li jagħmel hekk. Ftit tkun żidt lili fuq Gchat, b'tali mod li kien diżappuntanti, iżda nisperaw li ser jibdlu bejn dan u taqsima li jmiss. Kwalunkwe mistoqsijiet s'issa fuq ir-riżorsi? Great. Fl-aħħarnett, plug ieħor għall- feedback, sayat.me/cs50. Tista 'tagħti me feedback anonima dwar kif qed nagħmel. Dan kien verament utli aħħar ġimgħa. I ltqajna koppja ta 'kummenti mill inti guys dritt wara l-artikolu, flimkien ma 'mill- studenti oħra li jarah dan matul il-ġimgħa, u kien oerhört utli. I am ser jippruvaw jillimitaw l-użu tiegħi ta ' il-kelma "ħelu," imma jien ser juru tiegħi eċċitament u entużjażmu b'modi oħra. Iżda kien hemm addizzjonali oħra feedbacks sostantivi, kemm pluses u delta. Allura jekk jogħġbok, I jagħtuk guys feedback fuq settijiet problematiċi tiegħek. Ħossok liberu li tagħti me feedback fuq it-tagħlim tiegħi. Ninsab hawn għalik guys. Great. Li hija kollha I jkollhom għall- l-ewwel taqsima. Ħadd ma jkollu xi mistoqsijiet s'issa? U għandi nota għal l-ċentru ta 'kontroll. Istudenti Estensjoni jkunu messaged lili jgħidu li ma jkollna ebda awdjo, iżda li hija barra mill-poter tiegħi biex jiffissaw. Hekk nisperaw, li gets solvuti f'qasir żmien. Jekk inti qed jaraw online, hi, imma inti ma tistax tisma lili. Allura l-ewwel, aħna ser jgħaddu GDB. GDB, kif I aċċennata fil qabel, hija għodda debugging ħafna aħjar minn printf. Allura biex tibda ma GDB, inti guys, jekk inti tixtieq li tiftaħ appliance tiegħek u jieħdu l-fajl li I emailed lilek preċedenti - dan il-fajl se tkun ukoll disponibbli online fil-daqsxejn - u run GDB. / l-isem tal-fajl. L-ewwel, naturalment, inti għandek biex jikkompilaw fajl minħabba GDB biss xogħlijiet fuq eżekutibbli fajls. Imma jekk inti qatt tixtieq li tibda GDB, l-ewwel ħaġa li għandek tagħmel, inti tmexxi GDB. / Caesar. Allura dak hu l-isem tal-programm nkunu se jmorru ma 'dan id-dritt issa. Hekk jien ser jikteb jagħmlu Caesar, li se tagħti me eżekutibbli fajl hawn enfasizzat fl-aħdar. U allura jien ser jimxu GDB. / Cesar. U hemm inti tmur. You see aħna għandna xi test javżak me dwar il-verżjoni ta 'GDB, tajtu lili xi informazzjoni garanzija, u allura aħna jkollhom fil-pront GDP, li tidher sort ta 'prodotti simili kmand linja tagħna fil-pront, iżda tara huwa miftuħ paren, GDB, paren qrib. Qabel ma nkomplu u debug dan il-fajl I mibgħuta lilek ewwelnett, ejja nħarsu lejn xi kmandi utli hekk aħna jkollhom sens ta 'dak li se nkunu qed ikopru. Dawn il-kmandijiet huma elenkati hawn fl- ordni li fiha I ġeneralment jużawhom. So I tibda program tiegħi mill-tmexxija GBD. / Isem tal-programm, f'dan il-każ, Caesar. U allura l-ewwel ħaġa I do 99.9% tal-ħin huwa jfisser break tip. Li tistabbilixxi punt tal-qasma fil-prinċipali. Essenzjalment, dak li qed tagħmel hemmhekk huwa l-programm se tieqaf fil prinċipali sabiex inti tista 'tibda jeżaminaha linja minn linja, aktar milli taħdem kollha il-mod permezz. Tista 'break fil-punti differenti fil- kodiċi tiegħek, iżda ewlieni huwa ġeneralment post tajjeb fejn tibda. Il-kmand li jmiss I run huwa run. Li jibda l-programm korrenti, u jekk ikollok bżonn li jidħol kmand tal-linja argumenti, inti run dak il-kmand. Jimxu ma 'l-argumenti. Allura peress li aħna qed tmur fuq verżjoni ta 'C, li huwa l-programm li inti guys kiteb għall pset żewġ - dan wieħed, naturalment, għandha xi bugs fiha li nisperaw aħna ser issib - aħna qed tmur biex jimxu run ma 'xi kmand argumenti linja għaliex Caesar, As you guys taf kull l-problema stabbiliti spec, jieħu xi argumenti linja tal-kmand. Il-koppja li jmiss ta 'kmandi, il-li jmiss wieħed huwa attwalment imsejħa jmiss. Li wieħed tieħdok linja b'linja permezz tal-programm tiegħek. Allura laqtu n allura Ikteb tieħdok mal-linja li jmiss, eżekuzzjoni il-linja ta 'qabel. Pass mhux biss tieħdok għall- il-linja li jmiss, iżda tieħdok funzjonijiet ġewwa. Mela jekk ikollok miktub funzjoni fl kodiċi tiegħek jew jekk inti tixtieq li tesplora li i, per eżempju, inti tista 'tolqot s, u aktar milli jmorru mal-linja li jmiss ta ' il-fajl li int għaddejjin dritt issa, int ser attwalment pass lejn din il-funzjoni u ara kodiċi tagħha. Lista jurik, fil faċli ħafna format, l-10 jew hekk linji madwar fejn inti bħalissa huma fil-kodiċi tiegħek sabiex inti tista 'attwalment tara l-fajl aktar milli jkollhom tpartit lura u lura bejn fehmiet differenti. Stampa huwa simili printf, kif jimplika isimha. Li turi li inti dak varjabbli ugwali. Lokal Info huwa verament utli. Din hija verżjoni speċjali tal-istampar. Lokal Info turi inti kollha tal-lokali varjabbli, stampi lilhom kollha għalik li bħalissa huma disponibbli. So I ġeneralment, aktar milli jkollhom jistampa l-erba 'fatturi varjabbli li jien kurjużi dwar jekk jien fil-għall-loop, għal eżempju, I biss jiktbu lokal informazzjoni, u inneħħu juru lili dak i counter tiegħi ugwali, kif ukoll il-firxa li jien jaħdmu fuq ugwali. Fl-aħħarnett, tkompli. Ittajpjar break inti tieqaf fil-punt tal-qasma. Tista 'timxi permezz tal-linja minn f'konformità mal jmiss u pass. Kompli runs tal-programm li jmiss tiegħek break punt jew sat-tlestija jekk m'hemmx aktar punti waqfa. Itfi tneħħi punti waqfa jekk inti iddeċieda l-waqfa fil-prinċipali kienet mhux xierqa, trid stabbiliti xi mkien ieħor. U fl-aħħarnett q, nieqaf, gets out ta 'GDB. Għalhekk dan il-programm,. / Caesar, aħna ser tfittex permezz dritt issa u aħna ser tuża GDB li ssib l-bugs f'dan il-programm. I dam dan il-programm qabel ma Iċċekkja 50, u sibt frown wieħed. Kollox ma nħolqot, ikkompilati, hija għadda ħafna tat-testijiet, iżda għall- xi raġuni, hija ma jgħaddu l-ħames test, tidwir BARFOO, tappijiet kollha, fis E-D-U-I-R-R, tappijiet kollha, użu tlieta bħala ċavetta. Sibt pjuttost qrib. I ltqajna off minn ittra waħda. Allura hemm xi żball żgħir fil hawn. Stajt ħares permezz kodiċi tiegħi. I ma setgħux figura hija out. Nisperaw, inti guys tista 'tgħin me ċifra barra dak li dan bug huwa. Allura dak l-iżball nkunu tiftix għal. Ejja jimxu fis GDB. Għal darb'oħra, stajt run GDB. / Caesar, hekk issa aħna qed fl GDB. U dak huwa l-ewwel ħaġa I għandha tagħmel? Stajt biss daħal GDB. Xi ħadd jagħti me a tajba kmand li jidħol. STUDENT: Break prinċipali. JASON Hirschhorn: Break prinċipali. Fantastic. Ejja tip li pulzieri Inti guys tista watch up hawn jew isegwu tul fuq il-kompjuters tiegħek. Break prinċipali, u tkun taf tara punt tal-qasma ġie stabbilit għal - hija tagħti me xi indirizz memorja stramb, u huwa wkoll jagħti me-numru linja. I Jekk kellhom ħarsa lura lejn dan il-fajl, Nixtieq jirrealizzaw li prinċipali ġara fuq il-linja 21. X'għandi I run jmiss? Huwa program tiegħi running? Nru. Allura dak li għandu I run jmiss? STUDENT: Mexxi. JASON Hirschhorn: Mexxi. Jekk I biss run run, jew jekk I żid xi affarijiet oħra? STUDENT: Mexxi mal-argument. JASON Hirschhorn: Mexxi ma l-argumenti kmand. U peress li jien debugging speċifiku ħafna każ, I għandu jidħol li argument linja tal-kmand. So I ser do run tlieta, li hija, għal darb'oħra, l-output sibt minn Check 50. Programm Bidu. Immorru permezz ta 'koppja ta' linji. Int ser ikollok issa tara li aħna qed fuq il-linja 21. Kif inkun naf li aħna qed fuq il-linja 21? Għaliex jekk inti tħares lejn ix-xellug ta 'tieqa terminal tiegħi, hemm jgħid linja 21. U li tagħti me, fil-fatt, il- kodiċi li hija fil-linja 21. So I misspoke qabel. Main ma tkunx attwalment fil-linja 21. Main hija ftit linji fuq 21. Iżda fl line 21, li l- fejn aħna qed jitkissru. Din il-linja tal-kodiċi għandu għadha ma ġietx eżegwita. Li l-importanti. Il-linja tara ma jkunx ġew eżegwiti s'issa. Dik hija l-linja li jmiss tal-kodiċi int ser tesegwixxi. Allura l-linja li jmiss, kif inti guys huma probabbilment familjari ma ', huwa dan kondizzjoni verifika biex tara jekk ikolli daħal argument linja tal-kmand. U biex i, dak li huwa t-tieni parti minn dik tagħmel? X'inhu li i? STUDENT: Nibdlu lill integer. JASON Hirschhorn: Jiddispjacini? STUDENT: Huwa tbiddel il- argument li integer. JASON Hirschhorn: Allura biex i bidliet arg v1 minn string għal numru sħiħ. U allura x'hemm dan iċċekkjar? STUDENT: Jekk ikun hemm it-tieni argument linja tal-kmand, apparti mill-running-programm. JASON Hirschhorn: U x'hemm it-tieni nofs ta 'dan Espressjoni Boolean verifika? Din il-parti minn hawn, a biex i? STUDENT: Jekk huwa negattiv. JASON Hirschhorn: Nagħmlu ċert liema? STUDENT: Jiġi żgurat li huwa, fil-fatt, pożittiv. JASON Hirschhorn: Eżattament. Dan huwa verifika biex tara jekk huwa negattiv, u jekk huwa negattiv, I jkollhom tħossok l-jista linja li jmiss jkun me yelling fil-utent. Mela ejja hit aħħar biex iwettaq din il-linja. Aħna ma tara li linja li inti guys forsi mistenni jara yelling fil- utent u mbagħad jirritornaw, għaliex din il-linja ma jesegwixxu. I daħal 3. So I ma, fil-fatt, jidħol tnejn kmand argumenti linja, u 3 huwa ogħla minn żero. Allura rajna dik il-linja, aħna eżegwit, imma aħna ma pass ġewwa l-jekk il-kundizzjoni. Allura issa, li jmiss, nara jien iffissar ewlieni int huwa ugwali għal li i ARG v1. Allura li hija me ħolqien ta 'ċavetta varjabbli. Mela jekk jien jistampa ċavetta dritt issa, għaliex li jippermetti li inti tara l- valur ġewwa l-varjabbli, ċavetta ugwali 47. Li stramb, imma ovvjament, dan għaliex jien ma esegwiti dik il-linja għadu. Mela issa jekk I hit n, tesegwixxi dik il-linja, u jagħmlu print ewlenin, ewlenin se jkun daqs 3, li huwa dak li aħna tistenna li ugwali. Għalhekk għal darb'oħra, fil GDB, il-linja inti tara int ma eżegwiti s'issa. Int għandek hit n jew i jew numru ta 'ordnijiet oħra għall-fatt tesegwixxi dik il-linja. Stampa ewlieni. Tal Ewlenin fi 3. S'issa, hekk tajjeb. String huwa test sempliċi. Ejja tesegwixxi dik il-linja. Jien jkollna a string minn utent. Ejja naraw fl Iċċekkja tiegħi 50, I jidħol BARFOO tappijiet kollha, sabiex dan huwa dak I ser jidħol. Jekk I issa print test sempliċi. Int ser ikollok tara li huwa ugwali għal string. Hija tagħti me xi hexadecimal stramb oħra numru, iżda ma fil- fatt jgħidu li string tiegħi huwa BARFOO. Jekk jien ridt li tara dak ewlieni equaled mill- dan il-punt, kif jista I check ewlieni? STUDENT: Stampa ewlenin. JASON Hirschhorn: Stampa ewlenin, eżattament. U fil-fatt, hemm shortcut. Jekk ikollok għajjien ta 'tajping istampar, inti tista 'biss tip p. Allura ewlieni p ma l-istess ħaġa eżatt. U għal darb'oħra, I jarawha ugwali 3. Jekk jien ridt biex issir taf liema tnejn ewlenin u BARFOO laħaq fl-istess ħin imma I kien għajjien ta 'tajping kull wieħed out individwalment, I tista tip lokal info. Li tagħti me ugwali ewlenin 3. Test sempliċi ugwali BARFOO. Hija tagħti wkoll me dawn iż-żewġ affarijiet stramb fil-quċċata, dan il-varjabbli i u din n varjabbli. Dawk huma attwalment eżistenti fil-programm prinċipali tiegħi. Aħna ma ltaqgħu magħhom għadhom, iżda bħala preview, dawk jeżistu tiegħi għal loop. Allura issa dritt, huma ugwali xi stramb numri għaliex huma ma kinux initialized għadhom, iżda dawn għadhom jeżistu fil-memorja, allura jkunu stabbiliti biss li xi valur żibel. Iżda aħna ma tara ewlieni fil-pjanura test hemm dritt. Hekk jien ser jesegwixxi din il-linja, linja 34, il-għall-loop. Aħna ser tiżdied fil- għal loop billi jolqot n. U aħna qed ġewwa l-għar loop. Aħna fl-ewwel check tagħna. U għal darb'oħra, dawn għandhom tip ta 'ħarsa familjari għalik għaliex dan kien Programm Caesar li kien miktub, iżda għal darb'oħra, għandu xi tip ta bug. U issa jekk I do lokal informazzjoni, għaliex jien ġewwa li għal loop, tkun taf tara li i ugwali żero, kif aħna nistennew. Dak hu li aħna stabbilit li u initialized dan fit-għal loop. n huwa daqs 6. Li jagħmel ukoll sens għaliex aħna waqqafna lill-strlen ta 'test sempliċi. So I simili li jagħmlu lokal informazzjoni jew print biex varjabbli spiss biex tiżgura li kollox huwa dejjem dak Jiena nistenna li dan ugwali. F'dan il-każ, kollox huwa dak I jistennew li ugwali. Mela ejja tibda miexja permezz dan għal loop. Il-linja jien fuq huwa linja 36, ​​jekk plain i test huwa akbar minn u sempliċi i test ikun inqas minn jew ugwali għal z. Naf problema tiegħi m'huwiex ma l-ewwel tiegħi ittra, huwa mat-tieni ittra. Jekk inħarsu lura lejn Iċċekkja 50, B tmur għall-multa E. Jien tieħu l-A u joħroġ minnhom bħala A, ma jinbidlu sa D. So xi ħaġa ħażin ma it-tieni ittra. Hekk jien ser jiċċaqalqu hemm fit-tieni. Imma jekk jien ma tixtieq li jiċċekkjaw liema plain test I laħaq f'dan partikolari każ, naħseb li għandu jkun dak li? X'għandi test sempliċi I ugwali f'dan ewwel round permezz tal-għal loop? STUDENT: Zero? JASON Hirschhorn: test Plain ta 'I? Għalhekk għandu jkun kapital B. I, naturalment, ugwali żero, iżda test sempliċi bracket zero bracket magħluqa ugwali B għaliex kordi, kif rajna aħħar ġimgħa, huma array, hekk aħna jkollna l- ewwel karattru minn dan. Għalhekk għal darb'oħra, jekk I stampata test sempliċi ta ' I, I do, fil-fatt, jiksbu l-karattru B. U li pulita, right? I ma attwalment ikollhom test sempliċi I. Li mhux waħda mill-varjabbli I stabbiliti jew initialized, imma int tista 'jistampaw out kollu ospitanti ta 'affarijiet jekk inti tixtieq. Imma ejja jimxu permezz. Jekk test sempliċi I huwa akbar minn A u test sempliċi I hija inqas minn jew ugwali għal Z, manifestament minnu għaliex għandna kapital B. jien ser jimxu xi kmand fuqha. Rajna li l-matematika aħħar ġimgħa, hekk aħna ser teħodha għal mogħtija li taħdem id-dritt skond Iċċekkja 50. Dawn braces kaboċċi, l-ewwel wieħed wera li kien I li joħorġu mill-jekk kundizzjoni, it-tieni wieħed wera li jien joħorġu mill-għall-loop. U hekk issa meta I hit Sussegwentement, aħna ser tara aħna qed lura fil-għall-loop ġdid. Aħna qed tmur permezz tal- għal loop darb'oħra. Ejja attwalment pass lejn it-tieni iterazzjoni ta 'l-għall loop u t-tip lokal info. Allura aħna qed fit-tieni iterazzjoni ta loop għall tagħna. I daqs 1, li nistennew. N ugwali 6, li nistennew. Key ugwali 3, li nistennew. U test sempliċi, tkun taf tara, huwa ugwali EARFOO issa, ma BARFOO jibqgħalu għaliex fil iterazzjoni preċedenti tagħna, il-B kien mibdula għal kapital E. Allura aħna qed waslu li jiltaqgħu ma l-problema, għalhekk dan huwa fejn aħna qed tmur biex adsa fil-debugging. Iżda ħadd ma jkollu xi mistoqsijiet dwar dak li aħna ghamilt s'issa? Fantastic. Allura aħna qed waslu biex tesegwixxi dan jekk kundizzjoni, parentesi test sempliċi I magħluqa bracket akbar minn A u test sempliċi I inqas minn jew ugwali għal Z. Iżda qabel I tmur fis dan, għaliex din hija fejn Naf żball tiegħi huwa, nixtieq punt out test sempliċi tal I. So ejja tpoġġi print out. Hija ma daqs il-karattru A, sabiex l- jidher s'issa, kollox huwa tajjeb u tajba. So I jistennew din il-linja għal kull loġika tiegħi, din il-linja għandhom ikunu vera. Huwa ittra kapitali. Imma jekk I hit n, aħna jirrealizzaw li dan line, fil-fatt, ma tesegwixxi. I qabża isfel għall-ieħor jekk. Għaliex ma dan jiġri? STUDENT: Minħabba li għandek kundizzjoni tiegħek ta 'test sempliċi hija akbar minn A, mhuwiex ugwali għal jew akbar minn. JASON Hirschhorn: So I kellhom test sempliċi tiegħi I huwa akbar minn A mhux akbar minn jew daqs. Allura b'mod ċar, il-kapital A ma jipprovoka dan jekk il-kundizzjoni, u għamilna ma pass fis dan, u għamilna ma jagħmlu l-bidla meħtieġa. Allura dak li, fil-fatt. I dehret bug tiegħi. I tista 'tmur lura fil-fajl sors tiegħi, bidla, u taġġornah u run Iċċekkja 50 ġdid. Iżda aħna ser tara, biss għall tal-pedagoġija sake, jekk I iżommu għaddejjin. Il inkella jekk ma jeżegwixxix jew, iżda dak li minflok huwa ugwali huwa l-kmand dan ma jbiddilx. Għalhekk mhuwiex nbidel f'xejn, u jekk I jistampaw test sempliċi hawn, aħna ser tara għaddejjin permezz li għal loop ma, fil-fatt, bidla li t-tieni karattru fil-livelli kollha. Huwa għadu kapital A. Għalhekk għal darb'oħra, aħna debugged żball tagħna. Aħna induna li kien hemm xi loġika nieqsa. U aħna debugged dan qabel iż-żmien qabel attwalment eżekuzzjoni dik il-linja, iżda inti nnotajt kellhom aħna biss hit jmiss u jaqbżu għal dak inkella jekk, dan ifisser li li jekk il-kundizzjoni ma kienx veru. Aħna ma, fil-fatt, jiksbu ir-riżultat aħna mistennija. Mela allura aħna setgħu wasslu, kellhom aħna ma kien daqshekk astute, li tħares lejn li jekk il-kundizzjoni u jivverifika jekk, fil-fatt, kondizzjoni tagħna għandha tevalwa sa minnu fil-kuntest attwali. Li kollox għal debugging dan il-programm. Ħadd ma jkollu xi mistoqsijiet? What kmand jista I hit nieqaf GDB? Q. U mbagħad I ser tkun imħeġġa, nieqaf xorta? Iva jew le. I ser hit iva, u jien ser nieqaf GDB. Allura li kien primer malajr biex GDB. Attwalment, fil-xenarju reali, Jien għamilt dan fil-ħinijiet tal-uffiċċju. I GDBed dan il-programm eżatt ħinijiet tal-uffiċċju ma 'student. U jekk immorru lura għall-kmandi rajna qabel, użajna break prinċipali, l-ewwel ħaġa li għamilna. Aħna użati run argumenti linja tal-kmand, tieni ħaġa li għamilna. Aħna użati li jmiss ħafna li jiċċaqalqu us permezz ta 'linji. U għal darb'oħra, il-verżjoni qasira ta 'li jmiss huwa n. Li fil-parentesi bil-griż fuq slide. Aħna ma tuża pass, imma aħna ma bilfors jeħtieġ li għal dan il-każ. Iżda aħna jistgħu jużawha fi ftit aktar tard illum jekk aħna debugging, għall- eżempju, tfittxija binarja meta binarju tfittxija tissejjaħ f'post separat funzjoni imma hemm xi żball magħha. Aħna qed tmur jridu pass lejn is-sejħa għal tfittxija binarja u attwalment debug dan. Lista aħna ma tuża jew għaliex kellna sens tajjeb ta 'kodiċi tagħna, imma jekk jien ma rridu nġibu sens ta 'dak kodiċi I kien ta 'madwar, I jistgħu biss jużaw lista. Stampa aħna użati, lokal info we użati. Kompli aħna ma bżonn tuża f'dan każ, lanqas ma għandna bżonn li jużaw jiskonnettja, imma aħna ma użu nieqaf. Għal darb'oħra, dawn l-10 jikkmanda, prattika tagħhom. Jekk inti tifhem dawn l-10 kmandijiet, inti għandhom ikunu stabbiliti għal debugging kwalunkwe toħroġ ma 'GDB. Allura aħna qed dwar li jmorru fuq, għal darb'oħra, lill- qofol tat-taqsima llum, tmur fuq dawn issortjar u tiftix algoritmi. Qabel nagħmlu hekk, għal darb'oħra, xi mistoqsijiet, kummenti, tħassib għall GDB? Allura huwa kulħadd se tużah GDB minflok printf? Allura kulħadd, għall-finijiet al dejjem, il- kulħadd qed nodding dritt ras tagħhom issa, so I se tara inti fil-ħinijiet uffiċċju u l-TFS se tara int u dawn ser jgħidu, urini kif tuża GDB, u tkun taf tkun kapaċi li juru lilhom, right? Tip ta '? Forsi nisperaw. Kessaħ. Allura aħna qed tmur biex jimxu lejn issortjar u tiftix. Int ser ikollok tara I jkollhom lista diġà magħżula għalina, iżda li mhux se li jkun il-każ dejjem. Allura fil-problema stabbilita ispeċifikazzjoni għal problema sett tlieta, għandek xorts inti tista 'tara, u fil-fatt jitlob li inti jaraw dawk xorts. Ukoll fl-lecture aħħar ġimgħa, aħna marru fuq ħafna ta 'dawn algoritmi, hekk jien mhux se jqattgħu ħin fil-klassi jmorru fuq dawn algoritmi mill-ġdid jew tpinġija stampi għal kif dawn algoritmi xogħol. Għal darb'oħra, din l-informazzjoni tista 'terġa' għassa lecture, jew dik l-informazzjoni huwa maqbud outstandingly fuq il-xorts għal dawn it-tfittxijiet, kollha li huma disponibbli fuq cs50.net. Allura minflok, dak li aħna qed tmur biex tagħmel hu li tikteb dawn il-programmi. Għandna sens, mudell mentali, ta 'kif jaħdmu, u għalhekk dak li aħna qed tmur tagħmel huwa kodiċi lilhom għall reali. Aħna qed tmur biex inbiddlu dak il-mudell mentali, li stampa, jekk inti se, fil- kodiċi attwali. U jekk inti kienu ftit konfuż jew imċajpra fuq il-mudell mentali, I totalment jifhmu. Aħna ma fil-fatt se jaqbżu l-kodiċi minnufih. Allura filwaqt li dan pront f'dan slide jitlob inti kodiċi tfittxija binarju, u attwalment, verżjoni iterattiv ta ' tfittxija binarja, l-ewwel ħaġa I verament jixtiequ li inti tagħmel huwa jiktbu xi pseudocode. Allura inti għandek dan il-mudell mentali ta 'kif taħdem tfittxija binarja. Oħroġ folja tal-karta jekk għandek waħda faċilment disponibbli, jew jiftħu editur test, u nixtieq kulħadd li jikteb. Ħu erba 'minuti biex tikteb il- pseudocode għal tfittxija binarja. Għal darb'oħra, jaħsbu dwar dak il-mudell mentali. I ser jidħlu madwar jekk għandek mistoqsijiet u aħna jista 'jiġbed l-istampa out. Iżda l-ewwel, qabel nibdew ipprogrammar, Nixtieq li tikteb il- pseudocode għal tfittxija binarja hekk meta aħna adsa, aħna għandna xi direzzjoni bħala fejn għandna ras. STUDENT: Nistgħu nassumu l-firxa ta ' Valuri nikbru hija diġà riżolta? JASON Hirschhorn: Allura għal tfittxija binarja għax-xogħol - kwistjoni eċċellenti - inti ikollhom jieħdu A magħżula firxa ta 'valuri. Allura jassumi din se taħdem. Aħna ser tmur lura għal dan slide. Tkun taf tara fil-vjola tal-funzjoni dikjarazzjoni hija bool int binary_search valur, il-valuri int, int n. Din għandha tfittex familjari jekk inti stajt diġà avviċinat jew gotten tiegħek idejn maħmuġ mas-sett problema. Imma dak li dikjarazzjoni funzjoni tiegħek. Għal darb'oħra, m'għandhomx bżonn ninkwetaw dwar li ħafna f'dan il-mument. What I verament irridu li inti tagħmel huwa li tieħu erba 'minuti għal binarja pseudocode tfittxija, u mbagħad aħna ser imorru fuq li bħala grupp. U jien se jidħlu madwar. Jekk ikollok aktar mistoqsijiet, tħossok ħielsa li jgħollu naħa tiegħek. Għaliex ma inti tieħu żewġ minuti aktar biex jintemm l-pseudocode? Naf li dan jista 'jidher redikoli li aħna qed infiq daqstant ħin fuq xi ħaġa li mhux anki attwalment C, iżda speċjalment għal dawn aktar algoritmi sfida u l-problema settijiet li għandna biex insemmu, jibda fl pseudocode ma inkwetanti dwar il-sintassi, biss jinkwetaw dwar il-loġika, huwa oerhört utli. U li mod, int mhux jissolvew tnejn problemi oerhört diffiċli f'daqqa. Int biss jiffoka fuq il-loġika, u allura inti timxi fil-sintassi. OK. Nibdew għaddejjin l pseudocode. Ktibtu up hawn, binarja pseudocode tfittxija. Aħna ser jikteb dan fuq il- abbord flimkien. Jew I taf tikteb dan u inti ser tagħti me-iqajjem I bżonn. Allura jista 'xi ħadd jagħti me-ewwel linja tal-pseudocode inti kiteb għall search binarju? Iva, Annie? STUDENT: Filwaqt li l-tul tal- lista huwa akbar minn zero. JASON Hirschhorn: Filwaqt tul ta 'lista ogħla minn żero. U għal darb'oħra, naraw xi C tħares affarijiet sintattiċi hawn fuq. Iżda l-maġġoranza ta 'dan huwa bl-Ingliż. Did xi ħadd ikollu kwalunkwe linja li jqiegħdu qabel dan fil-kodiċi psewdo tagħhom? STUDENT: Get firxa ta magħżula numri. JASON Hirschhorn: Inti kiteb "tikseb firxa ta 'numri magħżula. "Per l- dikjarazzjoni funzjoni, aħna ser tkun tgħaddi firxa ta 'numri magħżula. STUDENT: [inaudible]. JASON Hirschhorn: So se jkollna dan. Imma iva, jekk aħna ma kellhiex dan, aħna bżonn biex issolvi firxa tagħna ta ' numri, għaliex tfittxija binarja biss xogħlijiet fuq arrays magħżula. Għalhekk, filwaqt li t-tul tal-lista ugwali żero, jien ser jitqiegħdu f'xi ċineg kaboċċi biex jagħmluha ħarsa ftit aktar bħal C. Iżda filwaqt li, jidher li tfassal għal fuq filwaqt li loop, hekk ġewwa dan filwaqt li loop dak li għandna bżonn li tagħmel għal tfittxija binarja? Xi ħadd ieħor li ma tani twieġeb għadhom imma li kiteb dan? STUDENT: Mur fil-nofs tal-lista. JASON Hirschhorn: Tom. Mur fil-nofs tal-lista. U l-kwistjoni follow-up, liema nagħmlu ladarba aħna qed fil- nofs tal-lista? STUDENT: Do verifika jekk din l- in-numru li qed tfittex. JASON Hirschhorn: Eċċellenti. Mur-nofs tal-lista u l-kontroll jekk il-valur tagħna huwa hemm - meraviljuż. Did xi ħadd ikollu xi ħaġa oħra li kienet differenti minn dan? Dan huwa eżattament id-dritt. L-ewwel ħaġa li nagħmlu fit-tfittxija binarja hija tmur għall-nofs tal-lista u tikkontrolla biex tara jekk il-valur tagħna huwa hemmhekk. So I jassumi li kieku valur tagħna huwa hemm, dak li nagħmlu? STUDENT: Nerġgħu lura zero [inaudible]. JASON Hirschhorn: Yeah, jekk tagħna valur huwa hemmhekk, sibna. Allura nistgħu tell b'xi mod, madankollu dan funzjoni huwa definit, we tell-utent sibna. Jekk huwa ma jkunx hemm, madankollu, li l- fejn dan gets delikata. Mela jekk huwa ma jkunx hemm, xi ħadd ieħor li kien qed jaħdem fuq tfittxija binarju jew tkun idea issa, dak li nagħmlu? STUDENT: Mistoqsija. JASON Hirschhorn: Iva? STUDENT: Huwa l-array diġà magħżula? JASON Hirschhorn: Iva, aħna qed jassumu il-firxa hija diġà riżolta. STUDENT: Mela allura inti għandek tiċċekkja jekk il-valur li tara ikun akbar minn il-valur li inti tixtieq, inti tista 'timxi għall-nofs ta 'nofs l-ieħor. JASON Hirschhorn: Allura jekk il-nofs ta ' il-lista huwa akbar minn dak li aħna qed tfittex, allura nagħmlu dak? Nimxu fejn? STUDENT: Inti tixtieq li jimxu lejn l-nofs tal-lista ma numri baxxi minn dak. JASON Hirschhorn: Allura aħna ser sejħa li l-xellug. Mela jekk nofs huwa akbar, nistgħu tfittxija in-nofs xellugi tal-lista. U mbagħad minn tfittxija, liema do I jfisser minn tfittxija? STUDENT: [inaudible]. JASON Hirschhorn: Immorru-nofs. Aħna fil-fatt tirrepeti din il-ħaġa. Immorru lura permezz loop filwaqt tagħna. I ser jagħtuk l-aħħar wieħed - inkella, jekk, tan-nofs huwa inqas minn dak nagħmlu, dak li nagħmlu hawnhekk? STUDENT: Mur lejn il-lemin. JASON Hirschhorn: Fittex il-lemin. Dan jidher tajjeb, iżda ħadd ma jkollu xi ħaġa li aħna tista 'tkun nieqsa jew ħaġa oħra li inti tpoġġi fil tiegħek psewdo-kodiċi? Allura dan huwa dak li għandna s'issa. Filwaqt li t-tul tal-lista huwa akbar minn żero, aħna qed tmur biex tmur għall-nofs tal-lista u tivverifika jekk il-valur tagħna huwa hemmhekk. Jekk l-nofs huwa akbar, aħna qed tmur biex tfittxija xellug, inkella jekk l-nofs huwa inqas, aħna qed tmur biex tfittex il-lemin. Allura aħna ve kollha kellhom xi familjarità mal- termini nużaw fil-xjenza tal-kompjuter u l-għodod li għandna. Iżda inti ser diġà avviż konna jitkellem bl-Ingliż, imma sibna ħafna affarijiet li dehret biex iħażżu fuq għodod għandna fil-kodifika kit għodda tagħna. Allura dritt barra l-BAT, aħna mhux qed ser attwalment kodiċi s'issa. What do naraw hawn bl-Ingliż li l-mapep fuq affarijiet nistgħu jiktbu C? STUDENT: Filwaqt. JASON Hirschhorn: Filwaqt. Għalhekk dan id-dritt waqt li hawn mapep fuq liema? STUDENT: A loop waqt. JASON Hirschhorn: A loop waqt? Jew probabbilment, b'mod aktar ġenerali, linja. Aħna rridu li tagħmel xi ħaġa aktar u aktar. Allura aħna qed tmur għall-kodiċi loop. U aħna diġà jafu, għaliex aħna ghamilt dan koppja ta 'drabi u aħna ikollok ħafna ta 'eżempji hemmhekk, kif fil-fatt jiktbu dan l-indiċi għal loop. Allura li għandu jkun pjuttost faċli. Għandna nkunu kapaċi tikseb dak beda pretty malajr. What do inkella naraw fil hawn? X'tibdiliet oħra strutturi syntaxes, l-affarijiet li aħna qed familjari magħhom C, do we diġà jkollhom sens ta 'Based off tal-kliem we użati? Iva, Anna? [Inaudible] biss kidding. Anna, imorru quddiem. STUDENT: Jekk u ieħor. JASON Hirschhorn: Jekk u inkella - dritt hawn. Mela xi do dawn look like? STUDENT: An dikjarazzjoni jekk inkella. JASON Hirschhorn: Yeah, kundizzjonijiet, id-dritt? Allura aħna probabilment bżonn li jiktbu xi kondizzjonijiet. U għal darb'oħra, għalkemm forsi konfuża ewwel, aħna ġeneralment ikollhom sens issa ta 'kif jiktbu kondizzjonijiet u s-sintassi għall-kondizzjonijiet. U jekk aħna ma, aħna biss tfittex l- sintassi għall-kondizzjonijiet, cut and paste li, għaliex nafu aħna bżonn kundizzjoni hawn. Kwalunkwe affarijiet oħra naraw li mappa fuq affarijiet nistgħu bżonn tagħmel C? Yeah, Aleha? STUDENT: Dan jista 'jkun ovvju, minn biss verifika jekk valur ugwali xi ħaġa. JASON Hirschhorn: Allura kif nistgħu jiċċekkja u - sabiex imorru għall-nofs tal-lista u jivverifika jekk il-valur tagħna huwa hemmhekk? Kif nistgħu nagħmlu dan fis-C? X'hemm-sintassi għal dan? STUDENT: Ugwali, ugwali. JASON Hirschhorn: Ugwali, ugwali. Allura dan il-kontroll huwa probabbilment se Biex tkun ugwali, ugwali. Allura aħna ser tkun taf għandna bżonn li x'imkien. U fil-fatt, biss bil-miktub dan, naraw dawk l-affarijiet oħra. Aħna ser ikollhom jagħmlu xi operaturi paragun fil hemm - meraviljuż. Allura fil-fatt qisu, minn u a kbira, aħna ma miktub kelma tal-kodiċi C għadu. Iżda aħna ltqajna l-mudell mentali isfel permezz lectures u dawk shorts. Aħna kiteb psewdo-kodiċi bħala grupp. U diġà, aħna għandna 80 jekk mhux% 90% ta 'dak li għandna bżonn tagħmel. Issa, aħna biss bżonn għall-kodiċi dan, li għal darb'oħra, hija problema mhux trivjali li ssolvi. Iżda mill-inqas aħna qed mwaħħla fuq il-loġika. Mill-inqas issa meta immorru ħinijiet tal-uffiċċju, Nista 'ngħid, I know dak I bżonn li tagħmel, imma int tista infakkarkom me tas-sintassi? Jew anki jekk ħinijiet tal-uffiċċju huma iffullar, inti tista 'Google għall-sintassi, pjuttost milli tkun mwaħħla fuq il-loġika. U għal darb'oħra, aktar milli jippruvaw isolvu il-loġika u l-problemi sintassi kollha f'daqqa, ħafna drabi huwa ħafna aħjar biex jiksru dawn iż-żewġ problemi hard off in żewġ dawk aktar maniġġabbli u jagħmlu l- psewdo-kodiċi ewwel u mbagħad kodiċi fil C. Mela ejja ara dak li għamilt għall- psewdo-kodiċi qabel iż-żmien. Filwaqt li t-tul tal-lista huwa akbar minn żero, tħares lejn l-nofs tal-lista. Jekk numru misjuba lura vera, inkella jekk numru akbar, search xellug. Inkella jekk numru inqas, tfittxija dritt, ritorn foloz. Allura li jistenna kważi identiċi jekk mhux kważi identiku għal dak li aħna kiteb. Attwalment, Tom, dak li qal l-ewwel, tkissir-nofs tal-lista u jekk Numru misjuba f'żewġ dikjarazzjonijiet huwa attwalment dak li għamilt. I kkombinahom hemmhekk. I għandu jkollhom sema inti l-ewwel darba. Allura dan huwa l-psewdo-kodiċi għandna. Jekk inti tixtieq li issa, sorry, mur lura għall-problema inizjali tagħna. Ejja kodiċi binary.c. Allura timplimenta verżjoni iterattiv ta ' tfittxija binarja jużaw ġej dikjarazzjoni funzjoni. U inti m'għandekx bżonn li kopja isfel għadha biss. Jien fil-fatt se tiftaħ up dritt hawn binary.c. Għalhekk hemm id-dikjarazzjoni funzjoni fin-nofs ta 'l-iskrin. U tkun taf tara I ħa l-psewdo-kodiċi minn fuq naħat tiegħi, iżda kważi identiċi għal dak li aħna kiteb, u li jitqiegħdu fil għalik. Allura issa, ejja tagħti ħames minuti għall-kodiċi din il-funzjoni. U għal darb'oħra, jekk għandek xi mistoqsijiet, jgħollu naħa tiegħek, let me know, I ser come madwar. STUDENT: [inaudible]. JASON Hirschhorn: So I ħa l-binarju definizzjoni tfittxija fil- top, fuq il-linja 12. Dak hu li sibt slide tiegħi. U allura dan kollu psewdo-kodiċi I biss kopja u pasted mill-slide, psewdo-kodiċi slide. Jien xorta ma tisma [inaudible]. Mela jekk inti spiċċajt tiegħek implimentazzjoni, nixtieq li check. I emailed inti l-fajl helpers.h aktar kmieni f'din il-klassi. U se jkun disponibbli online kif ukoll għall download għal nies jaraw dan iż-żmien it-taqsima mdewma. And I biss użati-distribuzzjoni ġeneriku kodiċi mill pset3. So I ħa find.C, uża fajl helpers.h tiegħi minflok il-fajl helpers.h thats mogħtija fil-kodiċi ta 'distribuzzjoni. U kelli biex jagħmlu tibdil wieħed ieħor find.C aktar milli ssejjaħ biss sempliċement tfittxija, sejħa binary_search. Mela jekk inti tixtieq li jittestjaw kodiċi tiegħek, taf li dan huwa kif jagħmlu dan. Fil-fatt, meta aħna ser tkun qed taħdem dan il-kodiċi dritt issa, I biss magħmula kopja ta ' direttorju pset3 tiegħi, għal darb'oħra, skambjat il-fajls helpers u mbagħad magħmula li bidla fil find.C li jsejħu binary_search aktar milli sempliċement tfittex. JASON Hirschhorn: Iva. Għandek xi mistoqsija? STUDENT: Nevermind. JASON Hirschhorn: Ebda inkwiet. Well, ejja tibda. Aħna ser kodiċi dan bħala grupp. Wieħed nota oħra. Għal darb'oħra, dan huwa, jista 'faċilment jiġi skambjat fl għal Problema Set Tliet. I jkollhom fajl helpers.h tiegħi li, pjuttost mill-helpers.h aħna qed tingħata, jiddikjara tfittxija binarju, bubble sort, u sort għażla. U fil find.c tkun taf Avviż fuq il-linja, dak hu li, linja 68, nitolbu binarju tfittxija minflok search. Għalhekk għal darb'oħra, il-kodiċi li hija disponibbli online jew il-kodiċi li inti ħolqien dritt issa jistgħu jiġu faċilment skambjat fl għal p stabbiliti 3 li jiċċekkjaha. Iżda l-ewwel, ejja kodiċi tfittxija binarja. Dikjarazzjoni funzjoni tagħna, aħna ritorn bool. Nieħdu integer imsejħa valur. Nieħdu firxa ta 'numri interi imsejħa valuri, u nieħdu n tkun id-daqs tal-array. Fil-linja 10, dritt hawn, I jkollhom sharp jinkludu stdbool.h. Ħadd ma jaf għaliex dan huwa hemmhekk? Allura dak li ma linja tal-kodiċi do? STUDENT: Huwa jippermettilek li tintuża tip ritorn bool. JASON Hirschhorn: Eżattament. STUDENT: Or huwa librerija li jippermetti li tintuża tip ta 'ritorn bool. JASON Hirschhorn: Allura jinkludu sharp linja stdbool.h tagħti me xi definizzjonijiet u dikjarazzjonijiet għall-affarijiet li jiena jitħallew jintużaw fi din il-librerija. Allura fost dawk huwa qal li hemm dan it-tip imsejħa bool, u jista 'jkun vera jew falza. Allura dak hu li dik il-linja ma. U jekk jien ma jkollhom dik il-linja, I kieku jiksbu fl-inkwiet għall-kitba dan kelma dritt hawn, bool, hemm dritt. Eżattament id-dritt. So I bżonn li dan il-kodiċi. OK. Allura dan, għal darb'oħra, hija iterattiv verżjoni, mhux waħda rikursiv. Għalhekk ejjew tibda. Nibdew bl-ewwel linja tal-kodiċi psewdo. U wieħed jittama, aħna se - jew le nisperaw. Aħna qed tmur biex imorru madwar il-kamra. Aħna ser imorru linja b'linja, u jien se jgħinu inti figura l-linja li għandna bżonn jiktbu l-ewwel. Għalhekk, filwaqt li t-tul tal-lista huwa akbar minn zero. Nibdew fil-front. Liema linja għandhom nikteb hawn, fil-kodiċi? STUDENT: Filwaqt parentesi n hija akbar minn 0. JASON Hirschhorn: Filwaqt li n huwa kbir minn 0. Allura n huwa d-daqs ta 'lista, u aħna qed iċċekkjar jekk - [Voices INTERPOSING] JASON Hirschhorn: - sorry? STUDENT: Kif inkunu nafu li n huwa d-daqs tal-lista? JASON Hirschhorn: Jiddispjacini. Kull l-ispeċifikazzjoni pset, it-tfittxija u sort funzjonijiet għandek bżonn biex tikteb, n huwa d-daqs tal-lista. I nesa li tispjega li hawn. Imma iva. n huwa d-daqs ta ' il-lista, f'dan il-każ. Għalhekk, filwaqt li n hija akbar minn 0. OK. Li jista 'jkun daqsxejn problematika għalkemm, jekk l-affarijiet imorru fuq. Minħabba li aħna se tkompli tkun taf l- daqs tal-lista matul dan funzjoni, imma jgħidu nibdew off ma 'firxa ta' 5 interi. U aħna jgħaddu u konna issa naqas li jistabbilixxi li firxa ta '2-numri interi. Liema 2 interi huwa li? Id-daqs huwa issa 2 li rridu tħares lejn, iżda li 2 hija li? Does li jagħmel sens, din il-kwistjoni? OK. I ser jistaqsu ġdid. Allura nibdew off ma 'dan firxa ta' 5 interi, u n ugwali 5, id-dritt? Aħna ser run permezz ta 'hawn. aħna ser probabbilment Tibdilx id-daqs, dritt, kif l-affarijiet imorru fuq. Liema huwa dak li ngħidu li rridu nagħmlu. Aħna ma rridux li jfittxu il-ħaġa sħiħa mill-ġdid. Allura ngħid aħna bidla li 2. Nieħdu nofs il-lista li l-fard. Hekk biss pick 2. Allura issa n ugwali 2. I ruhna għall-foqra markers iħassar xott. Dritt? U aħna qed tfittex permezz tal-lista għal darb'oħra bil-lista ta 'daqs 2. Ukoll, firxa tagħna għadu ta 'daqs 5. Ngħidu aħna biss trid tfittxija 2 spots fiha. Allura liema 2 spots huma dawk? Does li jagħmel sens? Dawn huma l-2 spots xellug? Dawn huma l-2 tikek dritt? Dawn huma l-nofs 2 spots? Aħna maqsuma l-problema isfel, imma aħna attwalment ma jafux liema parti ta ' il-problema aħna qed għadhom tħares lejn, biss billi dawn il-varjabbli 2. Għalhekk għandna bżonn ftit aktar allura, filwaqt li n hija akbar minn 0. Għandna bżonn inkunu nafu fejn dak n huwa fil-firxa attwali tagħna. Allura ħadd ma jkollu bidla għal din il-linja? Ħafna minn din il-linja huwa perfettament korretta. Hemm żieda ieħor? Nistgħu tpartit xi ħaġa out għal n lil jagħmlu din il-linja daqsxejn aħjar? Mm 'hm? STUDENT: Tista initialize varjabbli bħat-tul li n li ser mbagħad tintuża aktar tard fil-funzjoni? JASON Hirschhorn: So initialize tul varjabbli li n, u nużaw li aktar tard? Imma allura aħna biss taġġorna tul u aħna xorta run fis-problema fejn aħna tnaqqas it-tul tal-problema tagħna, imma aħna qatt ma tkun taf fejn, fil-fatt, dak it-tul mapep fuq. STUDENT: Mhix li jiġri aktar tard meta inti qed tgħid, tfittxija tax-xellug, tfittxija dritt? Int ser imorru lejn differenti żona ta tiegħek - JASON Hirschhorn: Aħna qed tmur biex tmur għal żona, imma kif nafu li huma biex tmur? Jekk aħna biss għandna l-firxa u dan n, kif nafu fejn mur fil-array. Fid-dahar, iva? STUDENT: Għandek, bħal, aktar baxx marbuta u varjabbli marbuta fuq jew xi ħaġa bħal dik? JASON Hirschhorn: OK. Allura din hija idea oħra. Pjuttost milli sempliċiment iżżomm rekord tal- daqs, aħna jżommu rekord ta 'l-inqas u varjabbli fuq marbuta. Allura kif nistgħu jikkalkula l-daqs minn a inferjuri u fuq marbuta? [Voices INTERPOSING] JASON Hirschhorn: tnaqqis. U wkoll iżżomm rekord ta 'l-inqas marbuta u ta 'fuq marbut li jgħidilna, aħna tiftix dawn iż-żewġ? Are we tiftix dawn iż-żewġ hawn fuq? Aħna tiftix it-tnejn nofs? Probabbilment ma l-żewġ nofs, għax dan, fil-fatt, huwa search binarja. Imma issa aħna ser ikunu jistgħu jiksbu l-daqs, iżda wkoll il-limiti tal-firxa. Essenzjalment, jekk ikollna ġgant tagħna ktieb tat-telefon, aħna RIP min-nofs. Aħna issa jkunu jafu fejn dik iżgħar ktieb tat-telefon huwa. Iżda aħna mhux qed attwalment ripping il-ktieb tat-telefon fil nofs. Aħna xorta bżonn tkun taf fejn il- limiti ġodda ta 'problema tagħna hija. Ħadd ma jkollu xi mistoqsijiet dwar dan? Iva? STUDENT: Would taħdem billi toħloq varjabbli, i, li inti mbagħad biss bidla il-pożizzjoni ta 'i relattiv għall tagħha pożizzjoni attwali, u t-tul, n? JASON Hirschhorn: U dak huwa i? STUDENT: Bħal i huma bħall-tip ta '- Bħal inti initialize i li tkun l- pożizzjoni tan-nofs tal-firxa. U mbagħad, jekk il-valur fil-pożizzjoni i fl -nofs tal-firxa fil nstabu li ikun inqas mill-valur li għandek bżonn, i issa isir it-tul ta 'l-array, plus il-valur ta 'i diviż bil 2. Bħal, ara, inti shift i - JASON Hirschhorn: Dritt. STUDENT: - sa l - JASON Hirschhorn: So I am kważi pożittiv li se jaħdmu. Iżda l-punt benessri, inti għandek bżonn żewġ biċċiet ta 'informazzjoni hawn. Tista 'tagħmel dan ma' bidu u tmiem, jew inti tista 'tagħmel dan ma' daqs, u mbagħad xi marker. Imma inti bżonn żewġ biċċiet tal-informazzjoni hawn. Inti ma tistax tikseb minn ma 'waħda biss. Does li jagħmel sens? Allura aħna qed tmur biex jgħaddu, u aħna qed tmur biex tagħmel [inaudible] u joħolqu xi markers. Allura what'd tikteb fil-kodiċi tiegħek? STUDENT: I ​​biss qal int marbut waħda hija ugwali għal 0. JASON Hirschhorn: Ejja sejħa li int, bidu. STUDENT: OK. JASON Hirschhorn: Li jagħmel aktar sens għalija. U? STUDENT: I ​​said, I raden, Int jispiċċa. JASON Hirschhorn: int jispiċċa. STUDENT: I ​​raden, n minus 1, jew xi ħaġa bħal dik. Bħal, l-aħħar element. JASON Hirschhorn: Allura inti kiteb, int bidu egwali għal 0, semicolon, u int tmiem ugwali n minus 1, virgola. Allura essenzjalment, dak li aħna qed tagħmel hawn, 0-ewwel pożizzjoni. U kif nafu fil arrays, dawn ma jmorrux sa n, dawn imorru sa n minus 1. Allura aħna għandna xi limiti ta 'firxa tagħna. U dawn limiti inizjali jinzertaw il-limiti inizjali ta 'problema tagħna. OK. Allura li ħsejjes tajba. Imbagħad jekk immorru lura għal din il-linja, filwaqt li tul ta 'lista huwa akbar minn 0, dak, minflok n, jekk npoġġux fil hawn? STUDENT: Ikteb jispiċċa bidu minus. JASON Hirschhorn: Filwaqt li jispiċċa nieqes bidu huwa akbar minn 0? OK. U nistgħu, jekk ridna li tagħmel dik daqsxejn nicer, liema inkella tista 'nagħmlu? Jekk ridna biex jitnaddfu dan il-kodiċi up a bit? Kif nistgħu jeħles mill-0? Din hija biss kwistjoni stil. Huwa korrett dritt issa. STUDENT: Tmiem ma bidu ugwali? JASON Hirschhorn: Nistgħu nagħmlu dak? [Voices INTERPOSING] STUDENT: Tmiem huwa akbar? JASON Hirschhorn: Yeah. Nistgħu biss tagħmel filwaqt li jispiċċa huwa akbar minn bidu. Dritt. Aħna miżjud jibdew in-naħa l-oħra ta 'dan, u aħna ħassar 0. Allura dan biss jistenna ftit aktar nodfa. OK. Għalhekk, filwaqt li t-tul tal-lista hija 0, aħna kiteb li, filwaqt li jispiċċa huwa akbar minn bidu. Aħna qed tmur biex tistabbilixxi meħtieġ tagħna braces kaboċċi, u allura l-ewwel ħaġa rridu nagħmlu hu li tħares lejn minnhom fil-lista ftit. You? Inti tista 'tagħti me l - STUDENT: Jekk parentesi kwadru bracket valur - JASON Hirschhorn: Jekk parentesi parentesi kwadra valur. STUDENT: Tmiem diviż bil 2. JASON Hirschhorn: Tmiem? STUDENT: nara problema bil tiegħek - JASON Hirschhorn: OK. Ukoll, tħares lejn l-nofs. Kif inkunu nafu x'inhi l-nofs hu? Yeah. So let me tħassar dan il-kodiċi. Kif inkunu nafu x'inhi l-nofs hu? Fil xejn, meta jkollok il-bidu u l-aħħar, kif taħseb li ssib -nofs? STUDENT: You medja. STUDENT: You żidhom flimkien u mbagħad - JASON Hirschhorn: Żidhom flimkien u allura? STUDENT: U inti medja. Jaqsamha minn 2. JASON Hirschhorn: Żidhom flimkien u iddividi 2. Allura nofs int ugwali? Tom, inti tista 'tagħti lili? STUDENT: Bidu plus jispiċċa - JASON Hirschhorn: Bidu plus li jispiċċa. STUDENT: All, parentesi, diviż bl 2. JASON Hirschhorn: Kollha, fil-parentesi, diviż bl 2. Allura li tagħti me-nofs ta 'xejn, tikkoreġi? STUDENT: Għandek bżonn ukoll li jarrotondaw it up. JASON Hirschhorn: What do you mean, I bżonn li jarrotondaw it up? [Voices INTERPOSING] STUDENT: Għaliex jekk Huwa fard numru, allura huwa simili - JASON Hirschhorn: Well, OK. So I jistgħu jarrotondaw it up. Imma jekk huwa numru fard, 5, nista ' tieħu 1 bogħod mill-nofs. Jew jekk huwa anke numru, pjuttost, li l-każ aħjar. Jekk huwa 4, aħna biss 4, I tista 'tieħu l-ewwel "nofs", kwotazzjoni, unquote jew it-tieni "nofs" wieħed. Jew tkun taħdem għal tfittxija binarja, so I ma attwalment ħtieġa li jarrotondaw dan. Iżda hemm wieħed ħaġa I oħra bżonn li nħarsu lejn din il-linja. Aħna ma tista tirrealizza dan s'issa, iżda aħna ser terga 'lura għal dan. Minħabba din il-linja attwalment għadha jeħtieġ ħaġa waħda oħra. Iżda s'issa, konna bil-miktub erba 'linji ta' kodiċi. Imxejna ltqajna bidu tagħna u jispiċċa markers. Għandna loop filwaqt tagħna, mapep direttament lill pseudocode tagħna. Aħna qed tħares lejn l-nofs li l-mapep direttament fuq pseudocode tagħna. Jien ngħid dan tmur għall-nofs tal-lista, din il-linja tal-kodiċi. U mbagħad, ladarba immorru l-nofs ta ' il-lista, il-ħaġa li jmiss li rridu nagħmlu hija tivverifika jekk il-valur tagħna huwa hemm għal l pseudocode aħna kiteb qabel. Allura kif nistgħu jiċċekkja jekk il-valur tagħna huwa fil-nofs tal-lista? You. Għaliex ma inti tagħmel dan? STUDENT: Jekk tagħna valur huwa f'nofs hija ugwali għal x'ikun aħna waqqafna l - I tfisser ugwali daqs - JASON Hirschhorn: Huwa - OK. STUDENT: M'inix ċert liema l- varjabbli aħna qed tfittex għall għalkemm, hi għaliex - [Voices INTERPOSING] STUDENT: [inaudible]. JASON Hirschhorn: Eżattament. Per-dikjarazzjoni funzjoni, aħna qed tfittex għal valur. Allura aħna qed tiftix għal valur fil-firxa ta 'valuri. Allura int eżattament id-dritt. Inti se tagħmel, jekk bracket valur paren miftuħa nofs magħluq ugwali bracket ugwali valur, u hemm ġewwa dak li rridu nagħmlu? Jekk tagħna valur hemmhekk, liema għandna bżonn tagħmel? [Voices INTERPOSING] STUDENT: Ritorn żero. JASON Hirschhorn: Ritorn veru. STUDENT: Ritorn veru. JASON Hirschhorn: Michael, dak ma din il-linja do? STUDENT: [inaudible]-programm tkun run kors tiegħu, u li huwa fuq, u inti stajt dak li għandek bżonn tagħmel? JASON Hirschhorn: Il-programm jew xiex? F'dan il-każ? STUDENT: Il-funzjoni. JASON Hirschhorn: Il-funzjoni. U għalhekk, li jirritorna lejn kwalunkwe imsejħa dan u tagħtih l-valur, veru. Eżattament id-dritt. Main. X'hemm-tip ritorn ta 'prinċipali, Michael? STUDENT: int, numru sħiħ? JASON Hirschhorn: int, eżattament. Integer. Dan kien biss kwistjoni li tagħmel ċert inti guys kienu fuq quċċata ta 'dan. X'tikkontrolla normalment ritorn, jekk affarijiet kollha qed jaħdmu tajjeb? STUDENT: Zero. JASON Hirschhorn: Zero. Eżattament id-dritt. STUDENT: Jekk dan jirritorna veru, hemm l-ebda informazzjoni li qed tingħata dwar dak il - Oh, dan huwa biss qal li din valur huwa ġewwa l-array. JASON Hirschhorn: Eżattament. Dan il-programm mhux qed jagħti informazzjoni ta 'fejn eżattament il-valur huwa. Huwa biss qal, iva, sibna dan, jew l-ebda, aħna ma jsibuha. Mela jekk numru misjuba, ritorn vera. Well, attwalment aħna biss ma li verament malajr ma dik il-linja waħda tal-kodiċi. So I ser jimxu dik il-linja ta 'pseudocode. STUDENT: M'għandekx għandna bżonn li jibdlu l-firxa? Għandu jkun valuri, mhux ta 'valur, id-dritt? JASON Hirschhorn: Jiddispjacini. Grazzi. STUDENT: Yeah. JASON Hirschhorn: Din il-linja għandhom ikunu valuri. Eżattament id-dritt. OK. Allura aħna ħadthom ħares lejn il-lista tan-nofs. Jekk numru misjuba ritorn vera. Kontinwu fuq ma pseudocode tagħna, jekk tan-nofs huwa akbar, search xellug. So I kellha fil hawn, jekk numru ogħla, it-tiftix tax-xellug. Constantine, inti tista 'tagħti me din il-linja tal-kodiċi? STUDENT: Jekk valur ta 'nofs - JASON Hirschhorn: Mela jekk valur - jekk paren open valuri bracket parentesi magħluqa nofs - STUDENT: Huwa iżgħar minn valur? JASON Hirschhorn: Huwa inqas minn. STUDENT: Inqas minn valur. JASON Hirschhorn: Valur. Well, attwalment, inti tixtieq li jivverifika jekk in-numru - Jiddispjacini. Dan huwa ftit konfuża. Iżda inkella jekk in-numru fil- nofs tal-lista huwa akbar. STUDENT: Oh, OK. JASON Hirschhorn: jien ser bidla li. Inkella jekk nofs huwa ogħla, aħna trid tfittex xellug, OK? U dak li nagħmlu ġewwa dan jekk il-kundizzjoni? STUDENT: Nista tagħmel bidla żgħira biex il-kundizzjoni, bidla li inkella jekk? JASON Hirschhorn: Else jekk? OK. Allura dan il-kodiċi se tesegwixxi dwar l-istess. Imma l-ħaġa sbieħ dwar l-użu jekk, inkella jekk, inkella jekk jew jekk, inkella jekk, inkella ifisser li biss wieħed minn dawk li jkun ser jiġu kkontrollati, mhux kollha tlieta minnhom, potenzjalment. U li jagħmilha ftit nicer fuq il-kompjuter li l- running programm tiegħek. So [? Constantine,?] aħna ġewwa din il-linja, inkella jekk valuri, nofs bracket parentesi magħluqa huwa akbar mill-valur. What do we bżonn tagħmel? Għandna bżonn biex tfittex ix-xellug. Kif nistgħu nagħmlu dan? Jien ser jagħtuk bidu. Għandna dawn iż-żewġ affarijiet imsejħa li jibda u jispiċċa. Allura dak li jeħtieġ li jiġri għall-bidu? Jekk inti trid tfittex ix-xellug tal- lista, irridu jiksbu bidu attwali tagħna. What do we bżonn tagħmel dan? STUDENT: Waqqafna-bidu għal nofs plus 1. JASON Hirschhorn: Mela jekk aħna qed tiftix ix-xellug? STUDENT: Jiddispjacini, nieqes nofs - sabiex it-tmiem ikun nofs minus 1 u bidu - JASON Hirschhorn: U liema li jiġri għall-bidu? STUDENT: Huwa jibqa l-istess. JASON Hirschhorn: Allura l- tifsira jibqa l-istess. Jekk aħna qed tfittex ix-xellug, aħna qed jużaw l-istess bidu - eżattament id-dritt. U għat-tmiem? Jiddispjacini, dak ma l- jispiċċa ugwali għal darb'oħra? STUDENT: minus Nofsani 1. JASON Hirschhorn: minus Nofsani 1. Issa, għaliex minus 1, mhux biss nofs? STUDENT: Il-nofs huwa barra mill- stampa diġà, għaliex kellna kkontrollat ​​li huwa out? JASON Hirschhorn: C'est eżattament id-dritt. -Nofs huwa barra mill-istampa. Aħna diġà ċċekkjati-nofs. Allura aħna ma rridux "-nofs," quote unquote, li tkompli tkun fil- array li aħna qed tfittex. Allura dan huwa meraviljuż. Inkella jekk nofs valuri bracket huwa akbar mill-valur li jispiċċa ugwali minus nofs 1. Jeff, dak dwar dan l-aħħar linja? STUDENT: Else. Valuri tan-nofs huwa inqas mill-valur? JASON Hirschhorn: Aħna ser int tagħti me ieħor. Mela jekk inti ma tagħti me - STUDENT: Mela allura bidu Ikun plus nofs 1. JASON Hirschhorn: ugwali Bidu plus nofs 1, għal darb'oħra, għall-istess raġuni li Constantine tana qabel. U fl-aħħar, li ma tatx me linja ta 'kodiċi għadhom? Ritorn falza, Aleha, liema do we jiktbu hawn? STUDENT: Ritorn falza. JASON Hirschhorn: Ritorn falza. U għandna bżonn li tagħmel dan, għaliex jekk aħna ma jsibuha, irridu ngħidu aħna ma jsibuha. U għidna aħna qed tmur biex jirritornaw bool, hekk aħna definittivament għandhom jirritornaw a x'imkien bool. Mela ejja run dan il-kodiċi. Jien fil-fatt se - hekk aħna qed fl-terminal. Aħna ser ċar tieqa tagħna. Ejja Għamla All. Sibna hemm żball wieħed. Hemm żball fuq il-linja 15, mistenni virgola fi tmiem il- dikjarazzjoni. Allura dak li ma ninsa? STUDENT: virgola. JASON Hirschhorn: virgola dritt up here. Naħseb li kien kodiċi Tom. Allura Tom, [inaudible]. Just kidding. Ejja ma Għamla All ġdid. STUDENT: What direttorju Dropbox għandna tkun fl għal dan? JASON Hirschhorn: Allura inti tista ' biss watch għall din id-daqsxejn. Iżda għal darb'oħra, jekk inti riedu jimxu dan kodiċi fis direttorju pset3 tiegħek biex tipprova it out, dan huwa dak li għamilt. Jekk inti taf Avviż hawn - sorry, mistoqsija tajba. [? LS,?] Għandi hawnhekk l-kodiċi find.c mill-kodiċi distro din il-ġimgħa. I jkollhom helpers.h. I jkollhom fajl Għamla li I attwalment editjat ftit biex jinkludu dawn l-ġdida fajls aħna qed miktub. Kollha ta 'dan il-kodiċi se jkun disponibbli, ma il-kodiċi ta 'distribuzzjoni, iżda l-ġdida Agħmel fajl, il-fajl helpers.h ġdida se tkun disponibbli onlajn għall download. Għal darb'oħra, sabiex dawk huma l- kodiċijiet żejda għandna. Sabiex tagħmel kollox, per din il-linja, jagħmel ssib, binarju, bubble għażla - jagħmel kollha tlieta minnhom u jikkompila fis dan il-kodiċi isibu eżekutibbli. Allura ġeneralment, ma rridux biex dritti għal check50. Aħna rridu li jimxu xi testijiet fuq tagħna stess. Iżda biss hekk nistgħu iħaffu dan daqsxejn, check50 2013 pset3.find se jgħaddu in-helpers.c - ħżiena tiegħi. I m'għandhomx dan id-dritt issa. Allura aħna qed attwalment għaddejjin biex imexxu l-kodiċi għall reali. Usage.find /, inti taf dak li tfisser? STUDENT: Ikollok bżonn it-tieni kmand tal-linja fuqha. JASON Hirschhorn: I bżonn tieni linja ta 'kmand. U kull l-ispeċifikazzjoni, I bżonn jidħlu dak li aħna qed tfittex. Mela ejja nħarsu għal 42. Aħna ser jżommha fil ssortjat, għaliex aħna ma miktuba funzjoni sort s'issa - 42, 43, 44. U l-Kontroll D ma sabx il- labra fil-haystack. Li bad. Huwa definittivament hemmhekk. Ejja tipprova xi ħaġa oħra. Forsi huwa minħabba I tpoġġi fil-bidu. Ejja nagħmlu 41, 42, 43. Hemm immorru. Sab li huwa. Ejja poġġih fl-aħħar issa, biss hekk nistgħu nkunu bir-reqqa - 40, 41, 42. Ma sabx il-labra. So I issemma dan qabel. Sfortunatament, I kien jaf dan kien jiġri. Iżda għall-finijiet pedagoġiċi, huwa tajjeb li tesplora. Hija ma taħdimx. Għal xi raġuni, ma jistax jsibuha. Nafu x'hemm fil hemm, iżda aħna mhux isibuha. Allura ħaġa waħda nistgħu nagħmlu huwa jgħaddu GDB li jsibuha, iżda ma xi ħadd, mingħajr ma jgħaddu GDB, għandhom sens ta 'fejn aħna invitat up? [? Madu? ?] STUDENT: Naħseb li jista 'jkun meta jispiċċa hija ugwali għal bidu, u huwa biss lista waħda element. Imbagħad biss jinjora dan minflok attwalment jikkontrollah. JASON Hirschhorn: C'est eżattament id-dritt. Meta jispiċċa ugwali bidu, do we xorta jkollhom element fil-lista tagħna? STUDENT: Iva. JASON Hirschhorn: Iva, fil-fatt, aħna jkollhom waħda u element wieħed biss. U li x'aktarx se jiġri meta, Skond il-kodiċi aħna ttestjati, aħna fil- quddiem tal-haystack jew tmiem il-haystack. Li meta bidu u tmiem se ugwali wieħed, bil-tfittxija binarja. Allura f'dawn iż-żewġ każijiet ma ħadmux, minħabba li jispiċċa kien ugwali għal bidu. Imma jekk jispiċċa hija ugwali għal bidu, ma dan loop filwaqt li tesegwixxi? Ma. U aħna setgħet tivverifika li għal darb'oħra permezz GDB. Allura kif nistgħu jiffissaw dan il-kodiċi, għaliex meta filwaqt li jispiċċa hija ugwali għal bidu, aħna rridu wkoll dan filwaqt li loop jiddekorri. Allura dak li jiffissaw nistgħu nagħmlu għal-linja 18? STUDENT: [inaudible] huwa akbar minn jew daqs. JASON Hirschhorn: Eżattament dritt. Filwaqt tmiem huwa akbar minn jew ugwali għal bidu. Allura issa, irridu niżguraw li tikseb li każ kantuniera fl-aħħar. U ejja ara. Ejja run dan wieħed aktar ħin. Ejja jagħmlu kollha. Għal darb'oħra, inti ser ikollok biss isegwu flimkien hawn. Sib 41 dan iż-żmien. Just tinżamm konsistenti. Sib 42. Ejja poġġih fil-bidu - 42, 43, 44. Sibna. Allura dan kien tassew il-bidla aħna meħtieġa biex jagħmlu. Dan kien ħafna ta 'kodifikazzjoni we biss għamlet, tfittxija binarja. Ħadd ma jkollu xi mistoqsijiet qabel I jimxu fuq fil-linji aħna kiteb fl tfittxija binarju jew kif aħna dehret out dak li aħna ma insemmu? Qabel nimxu fuq, I wkoll jixtiequ li jiġi li b'mod ġenerali, aħna mapping tagħna psewdo-kodiċi għall- waħda fuq kodiċi tagħna. Aħna ma jkollhom dik ħaġa delikata biex insemmu mal- li jibda u jispiċċa. Iżda kellha inti ma dehret li, inti kien miktub pretty ħafna l- kodiċi identiċi, ħlief għal dawk aqwa żewġ linji. U allura inti jkunu realizzati meta inti għamilha fil-kontrolli u każijiet li għandek bżonn xi ħaġa oħra. Għalhekk anki jekk inti kienu segwiti tagħna psewdo-kodiċi line għal-linja, inti tkun ħadthom gotten kollha iżda żewġ linji ta ' kodiċi inti meħtieġ biex tikteb. And I d jkun lest li bet li inti guys kienu kollha dehret li pretty malajr, li għandek bżonn biex tpoġġi xi tip ta 'markatur fil hemm figura fejn ġejt. Li għal darb'oħra, hija l-qawwa ta 'kif isir psewdo-kodiċi qabel iż-żmien. Allura nistgħu nagħmlu l-loġika ewwel, u mbagħad nistgħu inkwetati dwar il-sintassi. Kieku aħna ġew konfużi dwar il-loġika filwaqt li tipprova tikteb dan il-kodiċi C, aħna gotten kollha messed up. U allura aħna d tkun tistaqsi mistoqsijiet dwar loġika u s-sintassi u meshing ilkoll flimkien. U aħna gotten mitlufa fil dak li jista 'ssir malajr problema diffiċli ħafna. Mela ejja jimxu fuq issa biex sort għażla. Għandna 20 minuti xellug. So I jkollhom tħossok li aħna mhux se jkunu jistgħu tikseb kollha permezz ta 'tip ta' għażla u sort bubble. Imma ejjew inqas attentat biex jintemm sort għażla. Allura jimplimentaw għażla sort bl-użu wara d-dikjarazzjoni funzjoni. Għal darb'oħra, dan huwa meħud mill- problema stabbiliti ispeċifikazzjoni. Valuri int huwa parentesi, huwa firxa ta 'numri interi. U int.n huwa d-daqs ta 'dak array. Sort għażla huwa għaddej sort dan array. Allura kull mudell mentali tagħna ta 'għażla sort, aħna iġbed il - ewwel, aħna jgħaddu l-lista l-ewwel żmien, isibu l-iżgħar numru, poġġih fil-bidu, issib it-tieni iżgħar numru, poġġih fil- tieni pożizzjoni jekk irridu sort f'ordni axxendenti. Jien ma furzar inti tikteb psewdo-kodiċi dritt issa. Iżda qabel ma nagħmlu l-kodiċi bħala klassi ħames minuti, aħna ser jikteb psewdo-kodiċi hekk aħna xi sens ta 'fejn aħna qed tmur. Allura jipprova jikteb psewdo-kodiċi fuq tiegħek. U mbagħad jippruvaw biex inbiddlu dak psewdo-kodiċi fil-kodiċi. Aħna se tagħmel dan bħala grupp f'ħames minuti. U ovvjament, let me know jekk għandek xi mistoqsijiet. STUDENT: Li? JASON Hirschhorn: Ara kemm tista jistgħu jiksbu f'żewġ minuti aktar. Nifhem li inti mhux ser tkun kapaċi biex jintemm. Iżda aħna se jmorru fuq dan bħala grupp. Int kollha kodifikazzjoni hekk [inaudible], hekk jien sorry biex nieqaf dak li qed tagħmel. Imma ejja jgħaddu din bħala grupp. U għal darb'oħra, tfittxija binarja, jagħtuk kollha me wieħed jekk mhux aktar linji ta 'kodiċi. Grazzi għal dan. Aħna qed tmur biex jagħmlu l-istess ħaġa hawn, il-kodiċi flimkien bħala grupp. Allura sort għażla - ejja ikteb xi quick psewdo-kodiċi. Għal kull mudell mentali, jista 'xi ħadd jagħti me l-ewwel linja ta 'psewdo-kodiċi, jekk jogħġbok? What do I trid tagħmel? STUDENT: Filwaqt li l-lista huwa out of order. JASON Hirschhorn: OK, filwaqt li il-lista hija out of order. U liema do inti tfisser "out of order?" STUDENT: Filwaqt [inaudible] ma ġietx magħżula. JASON Hirschhorn: Filwaqt li l-lista huwa out of order, dak li nagħmlu? Agħti me-tieni linja, jekk jogħġbok, Marcus. STUDENT: Allura isibu l-jmiss iżgħar numru. Din se tkun inċiża. JASON Hirschhorn: Allura ssib il- jmiss iżgħar numru. U mbagħad xi ħadd ieħor? Ladarba insibu l-iżgħar li jmiss numru, dak li nagħmlu? Jien se ngħid isibu l-iżgħar numru. Dak hu li rridu nagħmlu. Allura ssib l-iżgħar numru. Imbagħad dak li nagħmlu? STUDENT: [inaudible] għall-bidu. JASON Hirschhorn: Jiddispjacini? STUDENT: Poġġi dan fil- bidu tal-lista. JASON Hirschhorn: Allura poġġih il-bidu tal-lista. U dak li nagħmlu għall-ħaġa li kienet fil-bidu tal-lista, id-dritt? Aħna qed kitba fuq xi ħaġa. Għalhekk, fejn npoġġux li? Yeah, Anna? STUDENT: Fejn l-iżgħar Numru kien? JASON HIRSHHORN: Allura tpoġġi l-bidu tal-lista fejn l- iżgħar numru kien. Għalhekk, filwaqt li l-lista hija out of order, isibu l-iżgħar numru, poġġih il-bidu tal-lista, tpoġġi l- bidu tal-lista fejn l- iżgħar numru kien. Marcus, inti tista 'jinkiteb mill-ġdid din il-linja filwaqt li l-lista hija out of order? STUDENT: Filwaqt li n-numri ma jkunux ġew magħżula? JASON HIRSHHORN: OK, hekk sabiex taf li n-numri ma kienux magħżula, dak li rridu nagħmlu? Kemm għandna bżonn li jgħaddu din il-lista? STUDENT: So I raden għall-loop, jew filwaqt li, filwaqt li n-numri iċċekkjat ikun inqas mit-tul tal-lista? JASON HIRSHHORN: OK, li tajjeb. I think I misphrased mistoqsija tiegħi ħażin. I kien biss tipprova tikseb fil- aħna qed tmur biex ikollhom imorru permezz tal-lista kollha. Għalhekk, filwaqt li l-lista hija out of order, għalija, huwa diffiċli li Mappa fuq. Imma bażikament, li kif I jaħsbu dwar dan. Mur permezz tal-lista sħiħa, isibu l- iżgħar numru, poġġih fil- bidu - fil-fatt, int dritt. Ejja tpoġġi tnejn. Għalhekk, filwaqt li l-lista hija out of order, aħna bżonn li jgħaddu l-lista sħiħa ladarba, isibu l-iżgħar numru, post fil-bidu tal-lista, tpoġġi il-bidu tal-lista fejn l- iżgħar numru kien, u mbagħad jekk l- lista għadu out of order, konna qbilna li jmorru permezz ta 'dan proċess mill-ġdid, id-dritt? C'est pourquoi sort għażla, runtime Big-O ta 'tip ta' għażla, xi ħadd? STUDENT: n kwadru. JASON HIRSHHORN: n kwadru. Għaliex bħal Marcus u I biss realizzati hawn, aħna qed tmur biex ikollhom jgħaddu l-lista lista numru ta 'drabi. Allura għaddejjin xi ħaġa ta ' tul n n-numru ta 'drabi huwa fil-fatt n kwadru. Allura dan huwa pseudocode tagħna. Dan jidher tajjeb ħafna. Ħadd ma jkollu xi mistoqsijiet dwar il pseudocode? Minħabba attwalment sort għażla għandhom probabbilment jaslu 1-1, kodiċi minn pseudocode. Allura xi mistoqsijiet dwar il- loġika tal-pseudocode? Jekk jogħġbok staqsi issa. Sort Għażla - filwaqt li l-lista hija out ta 'ordni, aħna qed tmur biex jgħaddu minnha u jsibu l-iżgħar kull darba u poġġih fil-front. Għalhekk, filwaqt li l-lista hija out of order, tista xi ħadd jagħti me dik il-linja tal-kodiċi li ma tani linja tal-kodiċi għadhom, jekk jogħġbok? Hija ħsejjes bħal dak? STUDENT: Li l-għall-loop. JASON HIRSHHORN: Huwa ħsejjes simili għal loop. OK, inti tista 'tagħti me l għal loop? Għal - STUDENT: i Ugwali 0. JASON HIRSHHORN: i jew - dak li aħna neqsin? Dak li jmur dritt hawn? STUDENT: Int. JASON HIRSHHORN: Eżattament. (I int = 0; - STUDENT: i