[Powered by Google Translate] [Iedaļas 3] [mazāk apmierināti] [Nate Hardison] [Hārvarda] [Tas ir CS50.] [CS50.TV] Labi, pieņemsim sāktu. Laipni lūdzam uz CS50 4 nedēļas. Ja jūs puiši atvērt interneta pārlūku un atvērt PSET 3, Motokross ar CS50, mēs esam gatavojas sākt iet izmantojot sadaļā jautājumus tur. Tāpat kā pagājušajā nedēļā, mēs būsim strādā CS50 Spaces, ja jūs arī vilkt ka uz augšu, kā arī, un, ja jūs iet uz priekšu un apmeklēt šo saiti, kas man šeit augšā. Ir pienācis laiks, lai sāktu. Mēs esam ieguvuši mūsu maz hi programma šeit. Nekas traks. Viena no pirmajām lietām, ko es gribu darīt ar jums, puiši šodien iet pār daži risinājumi līdz Problem Set 1 veida risinājumu piemērus, tikai, lai jūs varētu saņemt justies par to, kāda veida no koda darbinieki ir rakstiski, kādi kodu, studentiem ir rakstiski, un tu to apskatīt to, jo es zinu, tas ir dīvaini kad jūs iesniegt risinājumu problēmai komplektu un saņemt komentārus uz savu versiju, bet dažreiz tas ir noderīgi, lai redzētu, kā citi cilvēki to darīja, īpaši tie, kas ir jauka meklē. Par lielāko daļu, es biju patiesi pārsteigts par risinājumiem, kas jums puiši ražoti. Man vēl nav sākuši meklē jūsu problēma Set 2S, bet, ja viņi kaut kā pirmais, tas nozīmē, ka nekas, bet labas lietas. Ja paskatās manu pārskatīšanu, sāksim visu ceļu uz leju pie 1 redakcijas, un mēs esam gatavojas pieņemt ātri apskatīt Mario risinājumu. Ja jūs pull šo augšu, šīs programmas, ka mēs ejam iepazīstināt ir pareizi. Tur nebija pareizības jautājumus ar šīm problēmām, bet gan, Mēs vēlamies runāt mazliet par dažādām dizaina jautājumiem kas tika izmantoti šeit. Viena no lietām, kas bija interesanti par risinājumu ir tas, ka tā izmanto šo jauno konstrukciju sauc sterliņu noteikt, dažkārt dēvē arī hash definēt. Ļaujiet man tuvinātu to šeit. # Define ļauj iedot nosaukumus šiem jūsu programmā numuriem. Šajā gadījumā maksimālais augstums piramīdas Mario bija 23 un nevis liekot 23 manā kods- mēs atsaukties uz šo kā cieto 23 kodēšanu - vietā tas dod vārdu MAX_HEIGHT uz šo numuru, lai noteikti šeit manā do-kamēr cilpa Jūs faktiski var atsaukties uz MAX_HEIGHT vietā liekot skaitu 23 collas [Studentu] Kāda ir to izdarīt, priekšrocības? Tas ir liels jautājums. Viens no tiem ir lasāmību. Izmantot šo # define priekšrocība ir lasāmību. Kad es lasu šo kodu, es redzu, kas notiek. Es redzu šo nosacījumu, ka mēs esam testēšanas par augstumu ir <0, kas mēs varētu būt arī definēti būt minimālais augstums vai min augstums. Otra priekšrocība ir tā, ka es pēc tam var izlasīt pārējo līniju, lai redzētu ka mēs esam arī pārbaudes, lai pārliecinātos, ka augstums ir ne lielāks par max augstumu, jo mēs esam gatavojas turpināt, kamēr augstums ir lielāks nekā maksimālā augstumā. Otra priekšrocība ir, ja es attālinātu mazliet šeit- ja man palaist šo programmu, un es palaist to, teiksim, ar 23 tagad, tas būs izdrukāt visas 23 rindas tieši tāpat. Bet saku es gribēju mainīt max augstumu, un tagad es gribu, lai ierobežotu maksimālo augstumu piramīdas būs tikai teikt-cilvēks, kas bija bailīgs. # Ietvert , # define MAX_HEIGHT, un pieņemsim, ka mēs vēlējāmies, lai uzstādītu to vienāds ar 10. Tagad šajā brīdī, visi man bija darīt bija mainīt šajā vienā vietā. Es varu recompile kodu, un tagad, ja es mēģinātu rakstīt 12, tas liks man atkal. Šajā gadījumā, mēs esam tikai izmantojot MAX_HEIGHT vienreiz. Tas nav tik liels apgrūtinājumus iet un mainīt to kamēr cilpa, ja jums nepieciešams. Bet programmām, kur jūs atsauču pašu burvju numuru atkal un atkal, tas # define mehānisms ir ļoti parocīgs jo jūs vienkārši mainīt to vienu reizi augšā failu-tas parasti, ja jūs viņus- un izmaiņas percolates caur pārējiem dokumentiem. Citas lietas, es gribēju atzīmēt šo cesiju, ka es domāju, izskatījās patiešām jauki, viens bija nosaucot par mainīgajiem. Tu redzi, ka mēs esam ieguvuši skaitlim mainīgie sauc rindas un sauc augstumu. Telpām, hashes, tas palīdz padarīt kodu nedaudz vairāk lasāms, padara to nedaudz saprotamāku to, kas patiesībā notiek. Tas ir pretstatā izmantojot, teiksim, nejaušus burtus vai vienkārši gobbledygook pavisam. Pēdējā lieta es ņemšu norādīt, ka uz cilpas, bieži vien šie iterator mainīgie, šie skaitītāji, kas jums izmantot jūsu uz cilpas, tas ir standarta un parasto sākt tos ar vai nu es, un tad J un pēc tam k un iet no turienes, ja jums nepieciešams vairāk mainīgie, un tas ir tikai konvencija. Ir daudz konvenciju. Tas ir atkarīgs no programmēšanas valodu jūs izmantojat. Bet C, mēs parasti sākas ar i. Tas nav jēgas lietot, teiksim, vai b atkarībā no situācijas. Tas ir tas par šo vienu. Ja jūs tagad uzvilkt Revision 2, jūs redzēsiet citu Mario, un tas viens ir līdzīgs uz otru, ka mēs tikko redzējām, bet tas kaut kāda veida atdzist. Ja mēs skatāmies uz šo sadaļu šeit iekšā iekšējais uz cilpas, viņi izmanto daži crazy meklē sintaksi tiesības šajā rindā. To sauc trīskāršo operators. Tas ir, ja cits paziņojums ietilpināt vienā rindā. Nosacījums ir šī daļa iekavās. Tas ir līdzvērtīgi sakot, ja j > Sam. Sam. Tāpat kā Sam teica, ka lineārs meklēšanas process būs ļoti lēns, un tā vietā ar bināro meklēšanu, kā tas darbojas, ir, ka Katru reizi, kad mēs iet caur atkārtojuma mūsu meklēšanas algoritmu, mēs spēsim sadalīt sarakstu uz pusēm, būtībā, divos mazākos sarakstos. Un tad nākamajā atkārtojuma no cilpas, mēs sadalīt to vēlreiz citās mazākās sarakstos. Kā jūs varat redzēt, ka problēma tur kļūst mazākas un mazākas jo mēs turam izmetot pusi no saraksta katru reizi. Kā tas jāizlej darbojas? Tāpat kā atgādinājums, ko mēs gatavojamies darīt, ja mēs datoru un mums bija, teiksim, meklējot numuru 5 šajā sarakstā ir tas, ka mēs varētu izvēlēties numuru vidū. Vidū šajā sarakstā, jo ir 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 numuri, mēs gribētu izvēlēties numuru vai nu pēc gada 4 pozīcijā vai ar 5 pozīciju, un mēs gribētu aicināt šo vidū mūsu sarakstā. Pick numuru vidū. Tad, tāpat kā Sems teica, mēs pārbaudīt, lai redzētu, ja šis skaits ir vienāds uz numuru ka mēs vēlamies, lai iegūtu vai mūsu vēlamo numuru. Ja tas ir vienāds, tad mēs esam noskaidrojuši to. Mēs win. Ja tas nav vienāds, tad ir pāris gadījumu. Abas lietas ir vai nu skaits ir lielāks nekā skaits, mēs esam meklē, vai tas ir mazāk nekā. Ja tas ir lielāks, mēs virzāmies uz labo pusi. Un, ja tas ir mazāk, mēs virzāmies uz kreiso pusi. Un tad mēs atkārtot visu procesu no jauna vai nu labajā pusē vai kreisajā pusē sarakstā. Pirmā problēma šodienas sadaļā ir izdomāt kā mēs faktiski var sākt izteikt šo C kodu. Mēs esam ieguvuši pseudocode šeit. Ko mēs sāktu darīt, ir es uzvilkt pavisam jaunu telpu, saglabājiet šo pārskatīšanu, lai mums ir šīs piezīmes vēlāk, mēs izdzēstu visu, un tad nokopēt un ielīmēt no problēmas komplekta Šī mūsu telpās informāciju, un cerams, ka tas nav pārtraukumu. Perfekta. Ja jūs puiši visu darīt, kopēt un ielīmēt šo kodu savā jaunajā telpā, tukšu vienu. Mēģināsim Daniel. Ja jūs sastādīt un palaist šo programmu, tas darbojas? Nē. >> Ko tas saka? Tajā teikts vadības sasniedz beigu bez spēkā neesošu funkciju. Yeah, tāpēc ļaujiet man mēģināt rādīt to. Vai jums puiši redzējis šo pirms? Vai jūs zināt, ko tas nozīmē? Labi, pieņemsim preparēt šo mazliet. Tas ir saprotams pie file.c uz līniju 9 slejas 1 Mums ir kļūda, tāpat kā jūs teicāt, un tā saka, ka tas izriet no kļūdu brīdinājuma un atgriešanās tipa brīdinājumu. Izskatās, ka kaut kas notiek ar atgriešanās veidam, kas ir jēga. Mēs esam ieguvuši ārpus neesošu funkciju, kas nozīmē, ka mēs esam ieguvuši funkcijas ka neatgriežas tukšumu. Anulēts funkcija ir viens, kas izskatās šādi: anulēts foo (), un tas ir spēkā, jo atgriešanās tips nav spēkā, kas nozīmē, ka, ja mums būtu kaut kas šeit piemēram, 1 atpakaļ, mēs gribētu saņemt kompilatora kļūdu par šo. Tomēr, mums ir ne-void funkcija. Mūsu non-neesošu funkcija šajā gadījumā ir mūsu meklēšanas funkcija jo tā ir atgriešanās veidu bool. Kad tas ir saprotams, ka kontroles sasniedz beigām bez spēkā neesošu funkciju, tas ir tāpēc, ka meklēšana nav atgriešanās paziņojumu. Tas neatgriezīsies neko tipa bool. Mēs varam noteikt, ka, un ko jūs guys domā meklēšana būtu atgriezties pēc noklusējuma? Kāda būtu noklusējuma atgriešanās vērtību meklējumos? Jo tas, ko mēs varam likt beigās. Šarlote, vai jums ir kāds,? Patiess vai nepatiess >> Patiess vai nepatiess?. Kurš? Nepatiesa. Es nezinu. Nepatiess? Mēģināsim to. Kāpēc jūs teikt atgriezties viltus? Tas ir lieliski intuīcija. [Šarlote] Es nezinu. Mēs ejam, lai atgriezties viltus šajā gadījumā, jo tas būs mūsu noklusējuma ja kāda iemesla dēļ saraksts ir tukšs vai adatu ka mēs meklējam neeksistē. Tad pašās beigās, ja mēs atgrieztos taisnība agrāk šo funkciju, mēs vienmēr zinām, ka šī funkcija teiks nē, tas nav masīvā. Tas nav siena kaudzē. Tagad, ja mēs apkopotu un palaist to, ļaujiet man saglabāt to, lai mēs varētu vilkt to uz augšu. Tagad, ja mēs apkopotu un palaist savu programmu, tas uzkrājas. Mēs mūsu maz uzvedni. Ja es hit 4-UH-oh. Tā nav izdrukāt neko. Izskatās viss beidzās labi. Mēs esam ieguvuši, lai aizpildītu šo collas Mēs runājām par algoritms pseudocode mazliet atpakaļ. Ļaujiet man redzēt, izņemot to, un es ņemšu pull, ka algoritms atpakaļ atkal. Pieņemsim skārusi šo puisis. Nope. Tur tas ir. Kā mēs to darām? Kāda būtu laba stratēģija, sākot off šo kodu? Jums ir izvēlēties skaitli vidū. Kā mēs izvēlēties numuru vidū masīva? Kādi ieteikumi? [Studentu] strlen dalīts ar 2. Strlen dalīts ar 2. Tas ir liels vienu. Strlen strādā ar īpašām veidu blokus. Kādas masīviem? Stīgu masīvi, raksturs masīvi. Tas ir tas pats veida koncepciju, ka mēs vēlamies piemērot, bet mēs nevaram izmantot strlen jo mums nav masīvs rakstzīmes. Mums ir masīvs Ints. Bet ko strlen saņemt par mums? Vai jūs zināt, ko tas izpaužas mums? [Studentu] strlen izpaužas mums garumu. Tieši tā, tas izpaužas mums garumu. Strlen izpaužas garums masīva mums. Kā mēs varam iegūt, ka mūsu binārās meklēšanas programmu? Kā jūs saņemsiet garumu masīva? [Studentu] strlen? Jūs varat saņemt garumu pareizi formatēta C stīgu masīva ar strlen. Problēma, lai gan, ir tas, ka mums nav virknes masīvs. Ja mēs atskatāmies uz šo kodu, mums ir šis veselais masīvs. Kā mēs zinām, cik ilgi tas ir? [Studentu] Vai ir līdzvērtīgs viena parametra, piemēram, int l vai kaut ko? Izrādās, ka patiesībā nav, un tāpēc tādā veidā, tas ir viena no tām lietām, kas ir tikai labi zināt par C, ka nav veids, kā iegūt garumu masīva ja viss, ko es dot jums ir masīvs. Iemesls tas darbojas ar stīgām, iemesls strlen darbi, ir tāpēc, ja virkne ir pareizi formatēts, tas ir, ka īpaša \ 0 raksturu pašās beigās. Jūs varat arī iedomāties, ja jums ir nepareizi formatēts virkni un tur nav \ 0 raksturs tur, tad viss nedarbojas. [Studentu] Vai jūs pievienot \ 0? Mēs varētu šajā gadījumā. Mēs varētu pievienot dažas veida 0 \ vai daži no nozīmētu raksturu un pēc tam kārtot izmantot. Bet tas nav gluži iet uz darbu jo \ 0 ir par char tipa, un šeit mēs esam ieguvuši Ints. Otra lieta ir, ja mēs izmantot īpašu vērtību piemēram -1 līdz atzīmētu beigām masīva tad mēs varētu nekad glabāt -1 mūsu skaitlim masīvi. Mēs gribētu būt iestrēdzis. Izrādās, ka vienīgais veids, kā iegūt garumu gada masīva C ir faktiski atcerēties kad jūs to uz augšu un pēc tam nodot to apkārt ar masīva tāpēc, ka, ja man ir funkcija, kas gatavojas darīt kādu darbu uz vairākām integers vai pludiņiem vai dubultspēlē vai ko jūs, Man arī vajadzētu dot funkcija Array garuma, un tas ir tieši tas, ko mēs esam darījuši šeit meklēšanas funkciju. Ja paskatās, ko mēs esam darījuši, kad mēs iet mūsu masīvs šeit, mēs arī iet garumā, izmērs. Tā vienkārši gadās, ka mēs esam nosaukuši šo mainīgo šeit, Šis parametrs vai arguments. To sauc funkciju arguments sarakstu vai parametru sarakstā, un tie ir arī sauc argumentus vai parametri. Cilvēki izmanto dažādus terminus dažādos laikos. Es dažreiz mijas viņiem sevi. Tas tikai tā notiek, ka šis mainīgais šeit ir nosaukta līdzīgi līdz šī # definēt šeit. Bet viņi nav tas pats. Kapitalizācijas nav jautājums. Ja paskatās, kas notiek šeit, mēs paziņojam Mūsu int masīvs, ko mēs esam sauc numuriem. Mēs esam izdarījusi mūsu izmēra, kas atbilst mūsu # definēt augšā. Tas būs 8. Un tad, kad mēs tam saucam mūsu meklēšanas funkciju zemāk, mums iet skaita mēs vēlamies, lai meklētu, ko mēs esam tiek prasīts, gotten no lietotāja. Mums iet masīvā, šo skaitu, un tad mums ir arī iziet ar izmēru masīva, un tad 8 izmēra vērtība izpaužas uzglabā vai nodots šim skaitlim mainīgo sauc lielumu. Mums ir ārpus masīva. Tagad, ja mēs ejam atpakaļ uz to, ko mēs runājām par agrāk, Es domāju, Missy audzināti domu, ka to, ko mums vajadzēja darīt, ir iegūt garums masīva un sadalīt to ar 2, un kas dos mums viduspunktā. Pieņemsim redzēt. Vai man ir kāds rakstīt šo un saglabājiet to savā telpā? Kā par Leila? Vai man ir rakstīt šis? Uzrakstiet pirmo līniju, kur jūs lietojat garums masīva un saņemt viduspunktā un uzglabāt to jaunā mainīgā. Es jums pāris sekundes. Vai esat gatavi? [Studentu dzirdams] Protams, es varētu būt jums aprēķināt viduspunktā no siena kaudzē masīvs iekšpusē meklēšanas funkciju izmantojot garumu siena kaudzē masīvs, kas ir lielums mainīgs? Nekas grūts šeit. [Leila] Tikai izmērs / 2 un tikko Un saglabājiet to, un hit pogas Saglabāt šeit augšā, un mēs velciet to uz augšu. Perfekta. Tur mums iet. Awesome. Kā ir, vai tas sastāda? [Leila] Nē, tas ir lielāks. [Nate] Jā, lai to, ko mums vajag darīt? [Leila] Tāpat int viduspunktā vai kaut ko. Awesome. Jā, pieņemsim darīt, int viduspunktā = lielums. Vai tas apkopotu? Pieņemsim dzēst šo komentāru, un saņemt to no ceļu. Kas netiek sastādīt par šo? Mēs nedarām neko ar skaitlim, tāpēc mums ir nepieciešams, lai izdrukāt vai kaut kas tamlīdzīgs. Jā, tieši tā. Mēs saņemt neizmantoto mainīgo. Kas vēl nav dodas uz darbu par šo? Es domāju, ka jūs kaut ko teica, Sam. Semikoliem. Jā, es esmu trūkst šos semikoliem. Tas būs nemainīga lieta gaitā termiņa. Pēdējā lieta es darīšu, ir Es nolikšu daži atstarpēm abās pusēs Šīs operators šeit, jo tas parasti kā mēs to darām saskaņā ar mūsu style guide. Mēs esam ieguvuši viduspunktā mūsu masīvs. Tagad, ja mēs atceramies atpakaļ uz mūsu algoritma, kāda bija otrais solis, kas mums bija jādara, kad mums ir viduspunkts? [Studentu] Ja tas ir lielāks [nedzirdama]. Yeah, tāpēc mums ir jādara kaut kādas salīdzināšanas, un ko mēs salīdzinot šeit? Jūs teicāt, ja tā ir lielāka nekā. Kas tas ir, šajā teikumā atsaucoties uz? Numuru, kas nāk uz augšu, ja tas ir lielāks par viduspunktu, tad aiziet līdz masīva? Tieši, to skaits, kas nāk uz augšu, ja mēs- Adata, tāpēc mēs esam, salīdzinot ar adatu, un ko mēs salīdzinātu pret adatas? Jo adata ir tas, ko mēs meklējam. Mēs esam salīdzinot to nokļūt līdz viduspunktā. Bet vai ir jēga pārbaudīt, lai redzētu ja adata = viduspunkts? Vai ir jēga? Vai kāds nepiekrīt? Pieņemsim pamēģināt, ja (adata == viduspunktā). [Studentu] Vai printf jums atrast to. [Nate] printf ("Mēs atklājām to \ n!"); Citādi-I'm gatavojas sākt darīt kaut ko citu šeit. Es esmu gatavojas sākt liekot breketes apkārt, ja paziņojumus visu laiku tikai tāpēc, ja mēs pievienot vairāk stuff, tad mums nav iegūt kompilatoru. Yeah, Sam. Tev taisnība. Problēma ir tā, ka viduspunktā pārstāv pozīciju masīvā, bet jūs varat saņemt to pārstāvēt vērtību šādā stāvoklī masīva. Tas ir liels jautājums. Vai ikviens dzirdēt Sems teica? Viņš teica, ka viduspunkts kā ir atspoguļo tikai pozīciju masīvā, bet tas nav faktisko elementu masīvā. Ja jūs domājat par kodu kā tas rakstīts tieši tagad, ja mēs skatāmies uz šo masīvs šeit lejā, kas ir 8 elementi tajā, kāda ir viduspunkts būs šo funkciju vērtība? [Studentu] 4. [Nate] 4. Ja mēs skatāmies uz numuru 4 - un mēs varam tikai palaist šo kodu un nodot nedaudz skumjš sejas šeit jo mēs neatradām to-ja mēs palaist šo kodu kā ir šobrīd, augšupielādējot to, ēka, ļaujiet man ritiniet uz leju, un ja mēs skatāmies uz numuru 4, mēs atradām, bet mums nav iegūt šo printf jā. Viens no iemesliem ir, ka mēs neatgriezās taisnība, bet vai mēs patiešām atrast numuru 4? Un Sam saka nē. Ko mēs redzam? Mēs tiešām konstatēja viduspunktā, kas, ja mēs skatāmies no masīva leju šeit, tas būs elements ir 4 indeksa ka mēs meklējam, kas ir 23. Kā mēs faktiski iegūtu šo elementu viduspunktā un ne tikai viduspunkts pati? [Studentu] Mēs stāsies char vai kaut ko? Kas būtu, ka darīt, tikai no zinātkāri? Vai jūs varat izstrādāt mazliet vairāk? Jums ir pārveidot pozīciju vērā skaitu, lai jums veikt dažas savienojuma Es domāju, ka tas palija, bet tā varētu būt. Jā, tas ir labs punkts. Mēs esam bijuši dara daudz šo konvertējošā pozīciju vērā chars, šīs zīmes, pirmajās divās problēmu kopas. Izrādās, ka šeit tas ir gandrīz līdzīgs piekļūstot kārtējam raksturu laikā virknē, ja tas ir jēga. Šeit mēs gribam, lai piekļūtu viduspunktu elementu. Kā mēs to darām? Kevin, vai jums ir kādi ierosinājumi, kā mēs varētu darīt? Jūs varētu darīt siena kaudzē, atvērta kronšteinu, vidū, slēgta kronšteinu. Vai jūs varat rakstīt, ka mums? Saglabājiet to šeit, un mēs pull, ka uz augšu. Mēs esam meklē šajā līnijā 9, un mēs esam saprotot, ka mēs negribam salīdzināt adatu viduspunktu, bet tā vietā, mēs vēlamies, lai salīdzinātu adatu līdz elementā pozīciju viduspunktā laikā mūsu siena kaudzē masīvs. Atdzist. Tur mums iet. Yeah, ka izskatās diezgan labi, ja (adata == Haystack [viduspunktā]). Mēs atradis. Tagad, ja mēs palaist kodu we'll atpakaļ uz augšu mazliet, tas apkopo, tā darbojas, un tagad, ja mēs skatāmies uz 4, Mēs neatradām, jo ​​tagad mēs esam faktiski kļūst numuru 23. Mēs esam kļūst vērtība 23, un tas, ko mēs esam, salīdzinot ar mūsu adatu. Bet tas ir labi. Tas ir solis pareizajā virzienā. Ka tas, ko mēs cenšamies darīt. Mēs nemēģinām salīdzināt adatu pret pozīcijām masīva bet gan pret faktiskajiem elementiem masīvs. Ja mēs atskatāmies atkal tagad nākamo soli mūsu algoritms, kāda ir nākamais solis? Leila jau minēts tas īsumā. [Studentu] Pārbaudiet, vai tas ir lielāks vai mazāks nekā un tad izlemt, uz kuru pusi virzīties. [Nate] Jā, tā kā būtu mēs darīt? Vai jūs varat ievietot kādā-I'll saglabāt šo pārskatīšanu, un tad, ja jūs nodot dažas līnijas, kas būs jādara. Jā, Šarlote >> man ir jautājums.. Nevajadzētu tā būt viduspunktam - 1, jo pirmā lieta ir tas 0 indeksētas, tāpēc, ja mēs ieliekam 4, tas nav faktiski raksturs mēs meklējam? Jā, un otra problēma, kas ir- tas liels nozvejas, jo to, kas notiek, lai galu galā notiek, iespējams ja mēs pastāvīgi pārvietojas un mēs kādreiz pielāgot sākotnēji? Es domāju, ko mēs varētu galu galā dara mēģina piekļūt elementa pie 8. pozīciju masīva, kas šajā gadījumā nepastāv. Mēs vēlamies darīt kaut kādas uzskaites faktu ka mums ir dažas nulles indeksācija. [Šarlote] Atvainojiet, es gribēju viduspunktā - 1 kvadrātiekavās. Mēs varam darīt. Mēs atgriezīsimies pie šī jautājuma, tikai mazliet. Tiklīdz mēs sākam to faktisko looping, tas ir, kad mēs patiešām redzam stājas play. Pagaidām, mēs varam darīt, bet tu esi pilnīgi taisnība. Ka nulles indeksācija būs ietekme, kas mums ir nepieciešams, lai uzskaitītu. Pieņemsim redzēt. Cik ir lielāks un mazāks nekā? [Studentu] man kā to izdarīt lielāks un mazāks nekā daļu. Es vienkārši nebiju pārliecināts, ko drukāt, ja jūs konstatējat, ka tas ir mazāk nekā siena kaudzē viduspunktā vai lielāka. Šeit es varētu saglabāt to, ko I've- [Nate] Jā, ja jūs saglabāt to, ko jūs esat ieguvuši, un mēs velciet to uz augšu. Tur mums iet. [Studentu] Un man jautājuma zīmes par to, ko es nezināju. [Nate] Tas izskatās lieliski. Šeit mēs esam ieguvuši jautājuma zīmes, jo mēs vēl nezinām ko mēs gatavojamies gluži darīt vēl. Ko mēs vēlamies darīt-Ups, mēs esam ieguvuši dažas lencēm visiem bailīgs uz mums. Mēs labot šos lencēm. Tur mums iet. Un, lai ko mēs vēlamies darīt, saskaņā ar mūsu algoritma, ja mēs nevaram atrast adatu? Say gadījumā ka adata ir mazāks nekā tas, ko mēs meklējam, ir. Kevin. Tikai apskatīt kreisajā pusē. Labi, tāpēc mēs likts komentāru šeit, kas saka "apskatīt kreisajā pusē." Un, ja adata ir lielāks nekā siena kaudzē pie viduspunktā, ko mēs vēlamies darīt? [Studentu] Tad jums apskatīt labajā pusē. Paskaties labajā pusē, "apskatīt labajā pusē." Ne pārāk nobružāts. Labi, tāpēc šajā brīdī, lietas, meklē diezgan laba. Ar kodu, kā rakstveida problēma ir tas, ko? [Studentu] Jums nav mērķa kritērijus pusītes. Labi, mums nav mērķa kritērijus pusītes. Mēs arī tikai gatavojas iet caur šo vienu reizi. Mēs esam tikai gatavojas apskatīt vienu viduspunktā. Nu elements ir tur, vai arī tas nav. Lai pabeigtu, mums būs nepieciešams veikt dažas veida atkārtošanās. Mums ir nepieciešams, lai saglabātu atkārtojot, līdz mēs redzam, ka nu elements ir tur, jo mēs esam sašaurināts leju un beidzot atradis, vai tas nav tur, jo mēs esam paskatījās cauri visām lietām attiecīgajās pusītes masīva un konstatēja, ka nekas nav tur. Ikreiz, kad mēs esam ieguvuši šo atkārtošanās notiek, ko mēs gatavojamies izmantot? [Studentu] cilpa. Kaut kādas cilpas. Jā. [Studentu] Vai mēs do-kamēr cilpa, un ir to darīt un tad, kamēr adata nav vienāds-I'm nav pārliecināts, kur man bija iet ar to. Bet kaut kas līdzīgs darīt, kamēr tā nav vienāda vērtība, lietotāja ievadi. Yeah, tāpēc pieņemsim redzēt, kā tas varētu uzrakstīt pati? Jūs teicāt pieņemsim izmantot do-kamēr cilpa. Kur tas jādara sākt? [Studentu] Uzreiz pēc izmēra / 2. [Nate] Labi, un ko mēs gatavojamies darīt? Mēs aizpildiet brītiņa vēlāk. Ko mēs darīsim? [Studentu] Vai nav mēs vēlamies darīt visu stuff mums ir IF daļu? [Nate] Vai visu šo stuff, lieliski. Kopēt un ielīmēt. Ak, cilvēks. Redzēsim, vai tas darbojas, ja mēs varam tab šo pāri. Skaisti. Labi, un mēs saglabājam šo, lai jūs puiši ir tā. Labi, un mēs gatavojamies darīt, bet- kāda bija, kamēr nosacījums bijāt pēc? [Studentu] Kaut adata nav vienāda, tāpēc, piemēram, izsaukuma zīme. Bet es neesmu pārliecināts, ko tieši tas ir vēl. [Nate] Jā, tas ir viens no veidiem, kā to darīt. Sam, jums ir komentārs? [Sems] Es atcerējos, kad es paskatījos video, Paņēmu screenshot viens no-piemēram, kad mēs to darīja pseudocode par to, pastāv saistība starp max un min attiecības. Es domāju, ka tas bija kaut kas līdzīgs, ja max ir arvien mazāk nekā min. Dabūja to. [Sems] Vai patīk, ja max ir ne mazāka nekā min vai kaut kas tamlīdzīgs, jo tas nozīmētu, ka esat meklējis visu. Jā, lai to, ko tas izklausās max un min tika atsaucoties uz? [Sam] Vērtības, ka-integers, kas gatavojas mainīt relatīvs, kur mēs ieliekam viduspunktā. Tieši tā. [Sems] Tajā brīdī, tas notiek, lai [dzirdams] aprēķināt max un min. Viduspunktā tas max un min ideja. Vai tas ir jēga, lai ļaudīm? Ja mēs sākt meklēt, kā mēs gatavojamies darīt atkārtojuma, tu esi pilnīgi pareizi, ka mēs vēlamies izmantot kādu no do-kamēr cilpa. Bet es domāju, ja mēs atceramies to, kas notiek pie vietas šī masīva un to, kas patiesībā notiek, I'm gatavojas rakstīt nekā šeit- pie pašas pirmās atkārtojuma bināro meklēšanu, mums ir- Es esmu gatavojas izmantot B un E, lai apzīmētu sākumā. Un tad beigas mūsu masīvs. Mēs zinām, ka sākums ir 4 labi nekā šeit, un mēs zinām, ka gals ir pie 108. Saka, ka mēs esam meklējot numuru 15. Pirmo reizi mēs to darām, kā mēs redzējām agrāk, viduspunktā ir vai nu būs būt 16 vai 23 atkarībā no tā, kā mēs aprēķinām lietas. Tā vienmērīgi sadalot pa vidu dotu mums šo vietu no 16 līdz 23, mēs nevaram vienmērīgi sadalīt to vai sadalīt to un saņemt pie patiess viduspunktā. Mēs apskatīt 16. Mēs saprotam "Hei, 16> 15, ka mēs meklējam." Lai pēc tam apskatīt kreisajā pusē masīva ko mēs galu galā darīt ir izmetot Tas viss augšējā daļa un saka: "Labi, tagad mūsu rezultāts būs šeit." Nākamais evolūcijas mūsu cilpas, mēs šobrīd meklē šī masīva, efektīvi, kas izmet šo daļu, jo tagad ja mēs esam ņemot viduspunktā kā starpība starp sākuma un beigu, mēs atrast mūsu viduspunktā ir 8, ko tad mēs varam pārbaudīt 8 lai redzētu, kur tas atrodas attiecībā pret skaitu mēs meklējam, 15, atrast, ka 15 ir lielāks, tāpēc mums ir jāvirzās uz labo daļu sarakstā, ko mēs zinām, jo ​​mēs esam cilvēki, un mēs varam redzēt to. Mēs zinām, ka tiesības daļa būs, kur mēs atrast, bet dators nezina, ka, lai to, ko mēs darīsim, ir mēs tiešām ir tas iet uz augšu, un tagad sākums un beigas ir tajā pašā vietā, tāpēc viduspunktā kļūst par vienīgo numuru sarakstā šajā brīdī, kas ir 15, un mēs esam noskaidrojuši to. Vai tas nelielu ieskatu par to, kur tas viss max un min notāciju notiek, sekotu no masīva galapunktiem, lai noskaidrotu kā sašaurināt lietas leju? Kas notiktu, ja tas tā nav vienāda ar 15 tagad? Ko darīt, ja mēs meklējam 15 un tā vietā, šis skaitlis arī bija 16? Mēs gribētu teikt: "Ak, tas ir lielāks. Mēs gribam doties atpakaļ uz kreiso. " Un mēs gribētu pārcelties mūsu e pa labi, kurā brīdī mums ir vērtētais kas būtu pretrunīgi. Tas nevarētu meklēt kādu vairāk elementiem jo tagad mums ir mūsu vērtētais un mūsu sākuma punktu, Mūsu max un mūsu min, tagad Pagriezts. Mēs meklēt pa visu masīvs. Mēs nevaram atrast neko. Tas ir brīdis, kad mēs gribētu gribu teikt: "Labi, mēs ejam, lai apturētu šo algoritmu. Mēs esam nav atrasts neko. Mēs zinām, tas nav šeit. " Kā tas notiek? [Studentu] Kā tieši tas dators pāriet beigām? Kā beigu beigās pirms sākuma? Gals beidzas pirms sākuma jo matemātiku ka mēs gatavojamies darīt katru reizi, kad mēs to izdarītu. Veids, kā mēs swap ir, ja paskatās ļoti pirmo reizi mēs šo swap kur mums ir pie 4 sākumu un beigas viss uz leju pie 108 ceļu un mūsu viduspunktā, teiksim, 16 gadu vecumā - Es esmu gatavojas, lai atjaunotu šo atpakaļ uz 15, ja mēs meklējam 15 dalībvalstu, Mēs zinājām, ka to, ko mēs darījām, kad mēs pārbauda 16 un redzēja, ka tā bija lielāka un vēlējās atbrīvoties visu labo daļu sarakstā, Mēs redzējām, ka tas, ko mēs vēlējāmies darīt, ir pārvietot šo e šeit. Faktiski, e got pārcēlās pirms viduspunktā vienu. Tāpat, ja mēs šo iterāciju algoritma un viduspunktā bija 8, mēs noskaidrojām, ka 8 <15, tāpēc mēs vēlējāmies, lai pārvietotu b 1 garām viduspunktā. Tagad, sākums un gals ir gan kopā 15 šīs. Ja mēs gribētu noticis meklēt kādu citu vērtību, nevis 15, vai, ja šis 15 ir nevis bijis 16, mēs būtu konstatēts, ka e mēs vēlamies, lai pārvietotu vienu pirms viduspunktā. Tagad e būtu tur Pagriezts mazāks nekā b. Apskatīsim, kā mēs tiešām galu galā kodēšanas šo algoritmu. Mēs zinām, ka mēs vēlamies, lai šī viduspunktā aprēķinu. Mēs zinām arī to, ka mēs vēlamies, lai izsekotu sākumu un masīva beigām Mūsu pašreizējo masīvs, lai mēs varētu izrēķināt ja tas kreiso pusi no saraksta ir un kur labajā pusē no saraksta ir. Mēs darīt ar nu sākas un beidzas, vai mēs varam viņiem piezvanīt min un maks. Es izmantot sākas un beidzas šo laiku. Kad mēs sāktu, ja mēs atskatāmies uz mūsu piemērā šeit lejā, Mūsu sākums tika noteikts paša sākuma masīvs, kā dabas. Kas indekss bija tas? Kas būtu mūsu jāsāk būtu? Daniel. [Daniels] Haystack [0]. [Nate] Jā, lai mēs to varētu vienāda ar siena kaudzē [0]. Problēma, lai gan, ir, ka tas dod mums nav nostāju pirmā elementa. Tas dod mums indekss pirmā elementa vai faktisko vērtību tajā pirmajā pozīcijā. [Studentu] Tas būs konvertēt uz 0,20? [Nate] Ko tas būs jādara, ir-labi, tas nav darīt jebkuru konvertēšanu. Ko tas būs jādara, ir tas veikals ar 4 no sākuma, un tad tas būs grūti, lai salīdzinātu pret sākas jo sakt rīkos vērtību 4, kas ir sākums mūsu masīvs, bet mēs vēlamies, lai izsekotu indeksus masīvā nevis vērtībām. Mēs faktiski izmantot 0, tāpat. Gada beigās masīva-Šarlote cēla šo up mazliet agrāk. Tas ir, ja mēs ņemtu vērā nulles indeksācija. Šarlote, kas ir beigu masīva? Kas ir beigu rādītājs? [Šarlote] Size - 1. Yeah, un kuras izmērs mums vajadzētu izmantot? Mums vajadzētu izmantot kapitāla lielumu vai mazos izmēru? Kapitāla lielumu. Šajā gadījumā, mēs varētu izmantot kapitāla lielumu. Ja mēs vēlējāmies šī funkcija būtu pārnēsājamas un izmantot šo funkciju citās programmās, mēs faktiski var izmantot mazajam izmēram. Tas ir labi too. Bet Šarlote ir pilnīgi pareizi, ka mēs vēlamies, lai būtu izmērs - 1. Šajā brīdī, [Studentu] Kā tas ir, ka jūs varat izmantot lielo izmēru? Kā tas ir, ka mēs varētu izmantot lielo izmēru? Izrādās, ka šie # definē ir tiešām, ar kapuci, dokumentu kā atrast un aizstāt, ja tas ir jēga. Kad jūs sastādīt savu kodu, preprocessing posms no kompilatora iet caur failu, un tā meklē visur, ka jūs esat rakstiski kapitāla lielumu, un tas tiek aizstāts ar šo tekstu burtiski ar 8, tieši tāpat. Šajā ziņā, tas ir ļoti atšķiras no mainīgā. Tas nav sākt kādu telpu atmiņā. Tas ir vienkāršs teksta aizstāšana triks. Šajā gadījumā mēs spēsim izmantot izmēru. No šejienes mēs vēlamies darīt kaut kādas atkārtošanās, un mēs esam uz pareizā ceļa ar mūsu do-kamēr cilpa. Mēs vēlamies kaut ko darīt, kamēr stāvoklis nav tur vairs, un kā mēs redzējām iepriekš, mēs redzējām, ka šis nosacījums bija tāds, ka mēs negribam beigas būt mazāks nekā sākt. Tas ir mūsu apstāšanās nosacījums. Ja tā notiek, mēs vēlamies apstāties un atzīt, piemēram, "Hei, mēs esam nav atrasts neko." Izteikt to, mēs vēlamies izmantot kādu no cilpas. Šajā gadījumā tas būtu do-kamēr cilpa, lai cilpa, kamēr cilpa? Mums ir do-kamēr cilpa šeit. Vai jūs puiši kā šo pieeju? Vai jūs domājat, mums vajadzētu mēģināt citu pieeju? Kevin, kādas domas? Mēs varētu būt, kamēr cilpa, jo mēs zinām, ne , būtu lielāka nekā min sākumā anyways. Yeah, tāpēc tur nav inicializācijas ka nepieciešams notikt. Šie do-kamēr cilpas ir liels, kad jums ir, lai sāktu kaut ko pirms tam pārbaudot, bet šeit mēs zinām, ka mēs nebrauksim, lai saglabātu reinitializing gan sākas un beidzas katru kārtu no cilpas. Mēs zinām, ka mēs vēlamies, lai sāktu tos, tad pārbaudiet mūsu stāvokli. Šajā gadījumā, es tiešām iet ar vienkāršu kamēr cilpa. Izrādās, ka do-kamēr tiek pielietotas cilpas diezgan reti. Vietu daudz nav pat iemācīt darīt, kamēr cilpas. Viņi labi darbam lietotāja ievadi, tāpēc mēs esam redzējuši daudz no viņiem līdz šim. Bet normāli, un, kamēr cilpas ir daudz kopīga. Izrādās, ka šis nosacījums kā rakstīts nav īsti darīt mums daudz laba, un kāpēc tā? Es atvainojos, es nezinu savu vārdu. Es esmu Džerijs. >> Atvainojiet? Tas ir B-O-R-U-es. Ak, labi. Es neredzu tevi manā sarakstā. Ak, tas ir tāpēc, ak, ka ir jēga. Vai jums ir ideja par to, kāpēc šis kamēr cilpa varētu nedarboties, kā paredzēts, kā rakstīts ar nosacījumu? [Džerijs] Tu domā tāpat kā jūs vēlaties visi sīkumi pēc to uz-? Jā, tā tas ir viens. Mums varētu būt likt visu šo stuff kamēr cilpa, kas ir pilnīgi taisnība. Otra lieta, kas ir nedaudz vairāk problemātiska, gan, ir tas, ka šis nosacījums nedarbojas. [Studentu] Jūs nepieciešams, lai uzsist to. Labi, tāpēc šis nosacījums nav kādreiz būs taisnība sākotnēji kā mēs runājām par to. Mēs vēlamies kaut ko darīt līdz gada beigām > Plus. Sākt? [Studentu] beigās. Jo tas ir tikai aprēķina pusi garuma. Jums ir nepieciešams, lai pievienotu sākt. [Nate] Kas varētu šo aprēķināt mums? Ja mēs domājam par mērķi uz šo pirmo atkārtojuma no cilpas, gals būs pozīcijā indeksā 7. Sāktu ir pozīcijā 0. Atcerieties, mēs meklējam nu pozīciju 3 vai pozīcija 4. Ja mēs skatāmies uz šo matemātiku, tikai, lai padarītu to mazliet vairāk taustāms, nodot dažus numurus šeit, mums ir 7, 0, tā 7-0, un tad / 2 ir 3 skaitlim sadalīšanas, kas ir. Tad mums vajag tad pievienot atpakaļ mūsu sākt? Mums nav šajā gadījumā. Par ļoti pirmajā iterācijā, tas būs labi, jo sakt ir 0. Bet, kā mēs progress, mēs tiešām visi vienkārši vajag beigas - sākas / 2. Ir viena cita triks šeit, un tas ir proti, viena no prioritātes. [Studentu] Vai mums vajag iekavas? [Nate] Tieši tā, un tas ir tāpēc, ja mums nav likt šos iekavas, tad šī pozīcija tiks interpretēts vietā kā (beigas) - (sākt / 2), ko mēs noteikti nevēlamies. Noskatīties ārpus tiem prioritātes noteikumi. [Studentu] Kāpēc tas nav galu + sākt? Kāpēc tas nav galu + sākt? [Studentu] Kāpēc tas nav tik? Kāpēc tas būtu +? Es domāju, ka tev taisnība. [Studentu] Jo tas ir vidējais? [Nate] End + sākas, tu esi pilnīgi taisnība. Wow, es pilnīgi goofed. Tev taisnība. Ja mēs darām uz mīnusa, mēs vēlamies, lai pievienotu sāktu atkal iekšā Šajā gadījumā, jūs esat ļoti labi, ka mēs vēlamies, lai ņemtu vidējo diviem, tāpēc mēs vēlamies, lai pievienotu tos, nevis atņemtu tiem. [Studentu] Tas arī strādāt, ja jūs galu - sākas / 2 + sākas. Tas būtu, ja mēs-es uzskatu tā. Piemēram, ja mēs apskatot sākas, un mēs pārvietoti to vairāk šeit līdz 15 no. Tagad sāk ir stāvoklī 2. Gals ir 7 pozīcijā. Ja mēs atņemtu tiem, mēs 5. Dalīt to ar 2, mēs nokļūt 2. Un tad mēs pievieno 2 atpakaļ, un kas izpaužas mums uz 4 pozīciju, kas ir tepat, kas ir viduspunkts. [Studentu] Vai mums ir nepieciešams rūpēties par iesaiņojuma? Kādā jēga mums ir nepieciešams rūpēties par iesaiņojuma? Ja summa vai starpība starp atkarībā no tā, kā mēs to darām, nav pat numuru. Tad dators izpaužas sajaukt vai, ja tas ir 2,5; Jūs pārvietot pa kreisi vai pa labi, lai noteiktu, kas ir viduspunkts? Dabūja to. Izrādās, ka ar veselu sadalījumu, mums nav kādreiz saņemt šos peldošā komata skaitļus. Mēs nekad iegūt decimālo. Tas ir pilnīgi jāiznīcina. Ja jums ir dators dalīt 2 int mainīgie, un viens ir 7, un otrs ir 2, Jums nav iegūt 3,5, kā rezultātā. Tas būs iegūt 3. Atlikums tiks izmesti, tāpēc tas ir efektīvi noapaļošanas nevis apaļa, bet gan grīdas, ja jūs puiši ir pazīstami ar to math, kur tu pilnībā atbrīvoties decimal, un tā jūs būtībā truncating to uz leju līdz tuvākajam Visa pozīciju, līdz tuvākajam veselajam skaitlim. [Studentu] Bet tad tas ir problemātiski, jo, ja jums ir masīvs 7 elementi tad automātiski veic 3. elements no viduspunktā, nevis uz 4th. Kā mēs varam tikt galā ar šo? Tas ir problemātiski, jo, ja mums bija masīva 7, tas varētu paņemt The 3rd, nevis uz 4th. Vai jūs varētu paskaidrot mazliet vairāk? [Studentu] Jo, ja jums ir 7 elementi, tad ar 4 elements būtu viduspunkts, vai ne? Atceros savu komentāru par to nulles indeksēti, lai gan. [Studentu] Jā, tā 3 stāvoklī. Tas būtu viduspunktā. Yeah. Ak, labi. Es redzu, ko tu domā. Tas ir sava veida dīvaini, jo mēs pierastu pie visa šī jēdziena atbrīvojoties no decimāldaļām. Tas ir liels jautājums. Pieņemsim pabeigt šo augšu. Mēs esam aprēķina mūsu viduspunktā. Mēs esam testēšanu, lai redzētu, vai mūsu adata ir vienāds ar vidējo vērtību. Mēs esam drukāšanas ka mēs atradām, bet tiešām, ko mēs vēlamies darīt šajā situācijā? Mēs esam noskaidrojuši, tāpēc mēs vēlamies, lai zvanītājs zina, ka mēs atradām. Mēs esam ieguvuši funkciju, kas ir Būla drukāti funkcija. Veids, kā mēs signalizēt zvanītāju mūsu funkciju, ka mēs esam gatavi iet ir mums saka: "Hei, tā ir taisnība." Kā mēs darīt, Kevins? Tu esi pavirša galvu. >> [Kevins] Pievienot atgriešanās taisnība. [Nate] Tieši tā, atgriešanās patiess. Tagad, ja tas nav vienādi, kā būtu mēs apskatīt kreisajā pusē? Jebkuras idejas? Stella, jebkuras idejas? Jums ir nepieciešams noteikt jaunu pozīciju beigām. Yeah. Tāpēc mums ir jādara pozīciju viduspunktā - beigas. Lieliski. Mums ir nepieciešams noteikt jaunu nostāju beigās paskatīties uz kreiso pusi. Tas bija tas, ko mēs runājām pirms kur Es turpinu iet atpakaļ uz šo piemēru. Man ir sākt šeit, un tad man ir beigas visiem ceļu pār šeit. Atkal, ja mēs meklējam 15, un mūsu viduspunktā ir 16, un mēs saprotam, "Ups, 16 ir lielāks. Mēs vēlamies, lai pārietu uz kreiso pusi. " Tad mēs varētu pārvietot galu jau 15, un mēs ka, veicot kādu prom no viduspunktā un nosakot, ka mūsu jaunā gada beigām. Tāpat, ja mēs gribam skatīties uz labo pusi, kā būtu mēs darīt? Vai jums ir ideja? [Studentu] Jūs vienkārši iestatīt sākt viduspunkts + 1. [Nate] Lielā. Un tagad, ja, ka mēs nevaram atrast neko, tas, ka saņemt rūpēsies par mums? Daniel, vai tas get rūpēsies par mums? [Daniels] Nē [Nate] Ja mēs to visa masīva un mēs nevaram atrast neko, kur tad tas ir jāņem aprūpi, vai mums vajadzētu rūpēties par to? [Daniels], kamēr nosacījums. [Nate] Jā, bet nosacījums, tieši tā. Tas būs rūpēties par iet cauri visam blokam, ja mēs nevaram atrast neko. Tas savukārt cilpa beigsies. Mēs nekad ir saskārušās ar šo nosacījumu, un mēs varam atgriezties viltus. Mēs varam arī atstāt šo, ja šeit, piemēram, tas jo, ja tas, ja apgalvojums ir patiess, un mūsu funkcija atgriezīsies, un tāpēc mēs būtībā pārtraukt šī funkcija šajā brīdī kad mēs atgrieztos taisnība. Bet kas notiek ar šo struktūru šeit? Tas darbosies pilnībā, vai pastāv dažas loģiski plaisāt tur? Ir daži loģiski plaisāt tur, ar to, kā tā ir izveidota. Kas tas varētu būt? [Studentu] Kāpēc jums ir nepieciešams - un + 1s? Kas nosaka mūsu masīvs līdz būt mūsu jauno kreiso pusi un labo pusi. [Studentu] Bet kāpēc nevarētu jūs to darīt bez - 1s un + 1s? [Nate] Mēs to varētu vienādi ar viduspunktu? Kāda varētu būt problemātiski par to? [Studentu] Es domāju, tas ir neefektīvi, jo jūs pārbaudīt vērtību, kas jau ir pārbaudīta. [Nate] Tieši tā, tāpēc Sam ir pilnīgi pareizi. Ja jūs noteikti galu un sāk vienāds ar viduspunktu vietā - 1 un + 1 domīgi, kādā brīdī nākotnē mēs galu galā pārbaudīt viduspunktā vēlreiz. [Studentu] Es sāku PSET, un tad man bija kaut kas līdzīgs, ka kur es aizmirsu + 1, un tas got iestrēdzis bezgalīga cilpa. Labi, jo kādā brīdī jūs nekad gatavojas saņemt sākas un beidzas faktiski pārklājas. Atdzist. Tur ir vēl viena loģiskā trūkums, un tas, ka šis noteikti vajadzētu būt cits ja. Kāpēc varētu būt? Iemesls ir, ja tas nav cits, ja, vai jūs redzat to, Kevins? [Kevins] Jā, jo jūs mainās beigu punktu. [Nate] Tieši tā. Mēs esam mainot vērtētais, un ja tas ir rakstīts šādi-we'll veikt atstarpes starp- tā pārbauda šo gadījumu. Šajā gadījumā, ja tas izdodas, tiks apturēta no funkcijas. Tad tas būs pārbaudīt šo nākamo lietu, un ja tas izdodas, tas būs pielāgot vērtētais, un tad tas tiks turpināts un pārbaudīt šo lietu. Bet šajā brīdī, mēs negribam, lai turpinātu pārbaudes. Par laimi, mums nav reset viduspunktā šeit, un mēs zinām, ka šī lieta neizdosies. Bet mēs noteikti vēlamies likt cits ja tur kaut kas varētu-šajā gadījumā jo mēs esam ne pielāgojot viduspunktā, tas var kaut ko mainīt? Nē, jo šie gadījumi ir visi ekskluzīvas. Atkal, mans slikti. Mums nav, es domāju, ir nepieciešams šo cits ja. Mēs varam arī tā izmēģināt un palaist to un redzēt, kas notiek. Ēka, kļūda. Tas ir iespējams tāpēc, ka es pa kreisi šie b s un e s šeit. Vai man ir vairāk par tiem augšā? Tas nav izskatās tā. Mēs zoom out, veidot, tur tā iet, tāpēc tagad, ja mēs meklētu 15, Jā. Ļaujiet man pietuvinātu objektu 15, jā. Mēs varam palaist vēlreiz. Augšupielādējot pirmkodu, celtniecības, darbojas. Mēs varam meklēt kaut ko līdzīgu 13, un mums nav iegūt kaut ko izdrukāt, tāpēc tas nav atrast, kas par mums. Tas ir lieliski, jo tas nav mūsu sarakstā. Mēs esam tagad no laika. Kas notiek, lai tas būtu par šo nedēļu. Paldies par pievienošanos, un uz redzēšanos. [CS50.TV]