>> Jason Hirschhorn: Welcome uz nedēļu trīs, visi.
Mums ir aizņemts, bet aizraujoša sadaļā priekšā mums.
Tātad, pirmkārt, tāpēc, ka mēs esam veikuši dažus panākumus ar kursu, bet mēs joprojām
ir daudz mācīšanās atstāta darīt, es esmu dodas, lai pierādītu, jūs guys daži resursi
kas būtu izrādīties neticami noderīga, kā jūs ne tikai pie jūsu
Problēma noteikti, bet arī sagremot visu materiāla mēs jums guys
lekcijas un šorti un sadaļu.
>> Tad mēs esam gatavojas pavadīt pirmo 20 25 minūtes sadaļa iet pāri
GDB, kas jūs var vai nevar būt izmantota šajā brīdī, bet tas ir
neticami noderīgs rīks, kas būs palīdzēs jums atkļūdot savas programmas.
Daudzi no jums var būt izmantoti printf in vidū savu programmu, lai noskaidrotu
, ko mainīgais bija vienāda.
GDB ir pat labāk nekā printf un nav screw up savu kodu, jo jums
palaist uz izpildāmo failu.
Tāpēc mēs iet pār 10 visnoderīgākie komandas jums ir nepieciešams, lai gdb, un mēs esam
gatavojas doties uz īstenošanu kopā, lai jo problēma noteikti trīs un tālāk, jūs
var izmantot gdb, lai palīdzētu atkļūdot jūsu programmas.
Un visbeidzot, mēs esam gatavojas iet pār daži šķirošanas un meklēšanas algoritmi
ka redzējāt lekciju, un mēs esam dodas uz faktiski kods, ne tikai
pseudocode, bet kodu bināro meklēšanu, burbulis kārtot un atlase kārtot.
>> Tātad, pirmkārt, es gribu iet pār resursiem.
Tas ir plašs saraksts, un tas ir mazāku fontu, jo man bija daudz
fit šeit.
Bet tie būs ne tikai palīdzēt jums, atkal ar problēmu kopas un
karsējot informāciju, jūs esat iemācījušies, bet noteikti, nāc viktorīna laiku, tās būs
būt neticami noderīgi.
Tātad, pirmkārt, lekciju piezīmes.
Ja jūs iet uz cs50.net/lectures un pārvietojieties uz konkrēto nedēļu un dienu,
jūs redzēsiet, ka tur ir piezīmes par katru lekciju, kas ir ne tikai
atšifrējums, bet rediģēt versija , kas bija iekļauti lekciju ar kodu
fragmentus un citus noderīgus niekiem.
Es ļoti ieteiktu iet pār tiem.
Un tad arī, tur ir pirmkodu pieejami no katra lekciju.
Un atkal, šie slaidi būs pieejams tiešsaistē cs50.net/sections
šovakar.
>> Tātad otrais ir šorti katru nedēļu, ka aptver tādas tēmas, kas parasti 5 līdz 15
minūtes garumā.
Un tie, cerams, dos jums lielisks primer par dažādām tēmām.
Trešais -
un tas ir pavisam jaunu šī gadā - ir study.cs50.net.
Ja jums nav pārbaudīt to ārā, es ļoti iesakām jums to darīt.
Jums izvēlēties tēmu.
Mums ir desmitiem tēmām tur.
Tā, piemēram, jūs izvēlaties funkcijas.
Tas dod jums dažas slaidi un norāda uz funkcijām.
Tie ir faktiski slaidi, kas TFS tiek aicināti izmantot laikā mūsu
prezentācijas sadaļā.
Tur ir arī padomi un viltības, lai risinātu ar funkcijām, un tur ir
prakse problēmas, kas palīdz jūs strādājat ar funkcijām.
Mēs arī sniegt jums saites uz īstermiņa funkcijas un laiki, kas darbojas
ir jānāk klajā ar lekciju.
Tātad study.cs50.net, pavisam jauna šī gadā, fantastisks resurss.
>> Tālāk, man ir cilvēks, kas ir rokasgrāmata Komanda, kas var palaist
komandrindas.
Tātad, ja jums ir kādi jautājumi par komandu, piemēram, rand, kurā mēs
radās pagājušajā nedēļā nodaļā laikā un jums ir iespējams sastapt
jūsu problēma noteikt, kad iet cauri ģenerēt kodu, bet, ja jūs tipa cilvēks
rand, jūs saņemsiet lapu, stāsta jums visiem par Rand.
Tas dod jums to, ko tā veic, parametru, kas nepieciešams, kā arī atgriešanās
tips un īss apraksts šī funkcija.
>> Tāpēc izbraukšana Rand.
Tas var būt nedaudz izplūdis un neskaidrs, tāpēc dažreiz es uzskatu, ka
vienkārši Googling to, ko es gribu zināt, ir Labākais veids, kā atrast atbildi.
Tātad praksē ar Google.
Iegūt labi Google.
Tas kļūs par jūsu labāko draugu.
>> Kā arī Google, ja jūs nevarat atrast to, Google, cs50.net/discuss, tas ir
diskusiju forumu.
Izredzes ir, ja jums ir jautājums, kas ir viens Jūsu 700 + vienaudžiem arī, ka
jautājums, un tā var būt lūgusi tas jau apspriestu
forumi un ir tā atbilde.
Tātad, ja jums ir kopīgs jautājums, vai Jums ir jautājums, ka jūs domājat
varbūt citi cilvēki varētu uzskriet, izbraukšana cs50.net/discuss.
>> Visbeidzot, pēdējie divi, ja jūs vēlaties, lai runāt ar reālu cilvēku, birojs
laiks no pirmdienas līdz piektdienai.
Pastāv arī tiešsaistes biroja darba laiks Pagarinājuma studentiem.
Un pēdējais, bet noteikti ne mazāk, me, izsaukuma zīme.
Jums visiem ir savu kontaktinformāciju.
Ja jums ir nepieciešams kaut ko, lūdzu, nekad sazinieties ar mani.
Vienmēr justies brīvi to darīt.
Ļoti maz no jums ir pievienots mani Gchat, tā, ka ir bijis neapmierinošs,
bet cerams, ka būs jāmaina starp šajā un nākamajā sadaļā.
Kādi jautājumi līdz šim par resursiem?
Lieliski.
>> Visbeidzot, vēl viens spraudnis atsauksmes, sayat.me/cs50.
Jūs varat dot man anonīmu atsauksmes par to, kā es esmu dara.
Tas bija patiešām noderīga pagājušajā nedēļā.
Es saņēmu pāris komentārus no jums puiši uzreiz pēc sadaļā, kā arī no
citi studenti, kas noskatījos to nedēļas laikā, un tā
bija neticami noderīgi.
Es esmu gatavojas izmēģināt un ierobežot manu izmantošanu vārds "salds", bet es jums parādīs manu
entuziasmu un uztraukums citos veidos.
Bet tur bija citas papildu materiālo feedbacks,
gan plusi un delta.
Tāpēc, lūdzu, es jums puiši atsauksmes par savu problēmu kopas.
Justies brīvi, lai dotu man atsauksmes par manu mācību.
Es esmu šeit, lai jums puiši.
>> Lieliski.
Tas ir viss, kas man ir, lai Pirmajā sadaļā.
Vai kāds ir kāda jautājumi līdz šim?
Un man ir piezīmi kontroles centrs.
Extension studenti messaged mani sakot, viņi nesaņemu audio,
bet tas ir no manas pilnvaras noteikt.
Tāpēc cerams, ka izpaužas atrisināts tuvākajā laikā.
Ja jūs skatīties online, hi, bet jūs nevarat dzirdēt mani.
>> Tātad, pirmkārt, mēs gatavojamies iet cauri gdb.
GDB, jo man jau ir minēts iepriekš, ir atkļūdošanas rīks
daudz labāk nekā printf.
Tātad, lai sāktu ar GDB, jums, puiši, ja jūs vēlaties, lai atvērtu savu ierīci
un veic failu, kas man savu e-pastu agrāk - tas fails būs
pieejami tiešsaistē mazliet -
un palaist gdb. / nosaukumu failu.
Pirmkārt, protams, jums ir apkopot failu, jo GDB darbojas tikai
izpildāmos failus.
>> Bet, ja jūs kādreiz vēlaties, lai sāktu GDB, pirmā lieta, jums jādara,
jūs darbināt gdb. / Cēzars.
Tātad tas ir programmas nosaukums, mēs esat , kas iet ar to tieši tagad.
Tāpēc es esmu gatavojas rakstīt izdarīt Cēzars, kas dos man izpildāmo failu
šeit iezīmēts zaļā krāsā.
Un tad es esmu gatavojas palaist GDB. / Cesar.
>> Un tur jums iet.
Jūs redzat, mums ir dažas teksta man saki par versiju gdb, dod man
dažas garantijas informācija, un tad mēs ir IKP uzvedni, kas izskatās veida
un tāpat kā mūsu komandrindas ātri, bet jūs redzēt, tas ir atvērts
paren, GDB, tuvu paren.
Pirms mēs turpinām un atkļūdot šo failu ka es nosūtīju jums visiem, aplūkosim
dažas noderīgas komandas tāpēc mums ir jēga , ko mēs gatavojamies, lai segtu.
>> Šīs komandas ir uzskaitītas šeit kārtību, kādā es parasti tos izmantot.
Tāpēc es sāku savu programmu, palaižot GBD. / Programmas nosaukums,
Šajā gadījumā, Caesar.
Un tad pirmā lieta, ko es daru 99,9% laika tiek tipa pārtraukums nozīmē.
, Kas nosaka lūzuma punkts ir galvenais.
Būtībā, ko jūs darāt tur ir programma gatavojas apstāties pie
Galvenais, lai jūs varat sākt pārbaudot to līniju pa līniju, nevis rādīt visu
ceļu caur.
Jūs varat pauze dažādos punktos savu kodu, bet galvenais ir parasti
laba vieta, kur sākt.
>> Nākamais komanda palaist ir palaist.
Kas sākas programma darbojas, un ja jums ir nepieciešams, lai ievadītu komandrindas
argumenti, palaižot to, ka komandu.
Palaist ar argumentiem.
Tāpēc, ka mēs iet pār versiju C, kas ir programma, jūs guys
rakstīja PSET diviem -
tas viens, protams, ir dažas kļūdas tajā, ka, cerams, mēs atradīsim -
mēs esam gatavojas palaist palaist ar kādu komandu argumentus, jo Caesar,
kā jūs guys zināt par problēmu noteikt spec, aizņem dažas
komandrindas argumentus.
>> Nākamais pāris komandas, nākamais viens ir faktiski aicināja nākamo.
Kas ņem jums pozīcijai izmantojot savu programmu.
Tātad, trāpot n tad Enter ņem jums uz nākamo līniju, izpildot
iepriekšējo līniju.
Solis tiek ne tikai jums next line, bet tas
ņem jums iekšpusē funkcijas.
Tātad, ja jūs esat uzrakstījis funkciju Jūsu kods vai, ja jūs vēlaties, lai izpētītu
uz i, piemēram, jūs varat hit s, un nevis iet uz nākamo līniju
failu, jūs iet caur labo tagad, jūs faktiski solis
šī funkcija un redzēt savu kodu.
>> Sarakstā ir redzams, jo ļoti lietotājam draudzīgi formātā, 10 vai tik līnijas ap
kur jūs pašlaik ir jūsu kodu lai jūs patiesībā var redzēt failu
nevis ņemot mijmaiņas atpakaļ un atpakaļ starp dažādiem viedokļiem.
Print ir kā printf, Kā norāda tās nosaukums.
, Kas parāda jums to, ko mainīgais ir vienāds.
>> Info vietējie iedzīvotāji ir ļoti noderīga.
Šī ir īpaša versija izdrukāt.
Info vietējie parāda jums visas vietējās mainīgie, izdrukā tos visus no jums
, kas pašlaik ir pieejami.
Tāpēc es vispār, nevis ņemot izdrukāt četrus mainīgos, kas es esmu
ziņkārīgs par to, ja es esmu uz cilpas, lai Piemēram, es vienkārši uzrakstīt info vietējie iedzīvotāji,
un tas būs parādīt man to, ko mans skaitītājs i vienāds, kā arī masīva ka es esmu
strādā par vienlīdzīgiem.
>> Visbeidzot, turpināsies.
Ierakstot pārtraukumu apstājas jums pie lūzuma punkts.
Jūs varat pastaigāties pa līniju ar līnija ar nākamo un soli.
Turpināt iet programmu, lai jūsu nākamais pauze punktu vai līdz pabeigšanai, ja
ir ne vairāk break punkti.
Atslēgt noņem pārtraukuma punktus, ja jums nolēma pauze galvenais bija
nepiemērota, jūs vēlaties, lai noteikt to kaut kur citur.
Un visbeidzot q, atmest, saņem no gdb.
>> Tātad šī programma. / Caesar, mēs gatavojamies meklēt, izmantojot tiesības tagad, un mēs
gatavojas izmantot GDB, lai atrastu bugs šajā programmā.
I ilga šo programmu agrāk, Pārbaudiet 50, un es saņēmu vienu skatiens.
Viss tas pastāvēja, tā apkopota, tā pagājis daudz testu, bet
kaut kādu iemeslu dēļ, tas neizturēja piekto tests, pagriežot BARFOO, visas cepures, uz
E-D-U-I-R-R, visu caps, izmantojot trīs kā atslēgu.
Man diezgan tuvu.
I got off ar vienu burtu.
Tātad tur ir daži neliela kļūda šeit.
Es apskatīju caur manu kodu.
Es nevarēju saprast it out.
Cerams, jūs guys var man palīdzēt skaitlis, ko šī kļūda ir.
>> Tā ka ir kļūda, mēs esam meklē.
Pieņemsim pāriet uz gdb.
Atkal, es esmu palaist GDB. / Cēzars, tāpēc tagad mēs esam gdb.
Un kas ir pirmais lieta, ko man vajadzētu darīt?
Esmu tikko ienāca GDB.
Kāds man labs komandu, lai ievadītu.
>> STUDENTU: Break galvenais.
>> Jason Hirschhorn: Break galvenais.
Fantastiska.
Pieņemsim, ierakstiet, ka iekšā
Jūs guys var noskatīties šeit vai sekot kopā ar jūsu datoru.
Break galvenais, un jūs redzēsiet lūzuma punkts bija noteikts -
tas dod man kādu dīvaini atmiņas adresi, un tas arī dod man līniju skaitu.
Ja es būtu, lai atskatītos uz šo failu, Es gribētu saprast, ka main
notika tiešsaistē 21.
Ko man vajadzētu darboties tālāk?
Ir mana programma darbojas?
Nē.
Tātad, ko man vajadzētu darboties tālāk?
>> STUDENTU: Run.
>> Jason Hirschhorn: Run.
Man vienkārši palaist palaist, vai būtu Es pievienot dažas citas lietas?
>> STUDENTU: Run ar argumentu.
>> Jason Hirschhorn: palaist ar tad komanda argumentus.
Un, tā kā es esmu atkļūdošana ļoti specifiska gadījumā, man būtu jāievada ka
komandrindas arguments.
Tāpēc es darīšu palaist trīs, kas ir, atkal, izejas es saņēmu no Reģistrēšanās 50.
Sākot programma.
Mēs ejam cauri pāris līnijas.
Jūs tagad redzēt, ka mēs esam uz līnijas 21.
Kā es varu zināt, ka mēs esam uz līnijas 21?
Jo, ja paskatās pa kreisi mana termināļa loga, tur
tā saka līnija 21.
Un tas dod man, patiesībā, kodu, kas ir saskaņā 21.
Tāpēc es misspoke agrāk.
Galvenais ir faktiski nav rindā 21.
Galvenais ir pāris līnijas iepriekš 21.
Bet rindā 21, kas ir kur mēs esam sadalīšana.
Šī līnija kods ir vēl nav izpildīts.
Tas ir svarīgi.
Līnija jūs redzat, ir ne izpildīts vēl.
Tas ir nākamais rindā kodu jūs gatavojaties veikt.
>> Tātad nākamais rindā, kā jūs puiši ir iespējams, ir iepazinušies ar, tas ir
nosacījumu pārbaudi, lai redzētu, vai man ir ieraksta komandrindas argumentu.
Un uz i, kas ir otrais daļa, kas dara?
Kas ir kas i?
>> STUDENTU: Mainot to līdz veselam skaitlim.
>> Jason Hirschhorn: Sorry?
>> STUDENTU: Tas mainās arguments līdz veselam skaitlim.
>> Jason Hirschhorn: Tāpēc, lai i maina ARG v1 no virknes līdz veselam skaitlim.
Un kas tad ir tas pārbaudes?
>> Students: Ja ir otrais komandrindas argumentu, malā
No darbības programmu.
>> Jason Hirschhorn: Un kas ir otrajā pusē, šajā
Būla izteiksme pārbaudes?
Šī daļa vairāk nekā šeit, lai i?
>> Students: Ja tas ir negatīvs.
>> Jason Hirschhorn: Pārliecinoties, ko?
>> STUDENTU: Pārliecinoties, ka ir, faktiski, pozitīva.
>> Jason Hirschhorn: Tieši tā.
Tas ir pārbaudīt, lai redzētu, vai tas ir negatīvs, un, ja tas ir negatīvs, es
ir sajūta, ka nākamajā rindiņā varenību tikt me kliedza lietotājam.
Tāpēc pieņemsim hit beigām, lai izpildītu šo līniju.
Mēs neredzam, ka līniju, ka jūs guys varbūt cerēju ieraudzīt kliedza
lietotāju un pēc tam atgriežas, jo šī pozīcija nav izpildīt.
Iegāju 3.
Tāpēc man bija, faktiski, ievadiet divas komandas argumentus, un 3 ir
ir lielāka par nulli.
Tātad, mēs redzējām, ka līnija, mēs izpildīts, bet mēs neesam ne soli
iekšpusē, ja stāvoklī.
>> Tāpēc tagad, blakus, es redzu, es esmu, kurā int galvenais ir vienāds ar i arg v1.
Tātad tas ir man rada mainīgu atslēgu.
Tātad, ja es izdrukāt atslēgu tieši tagad, jo , kas ļauj jums redzēt
vērtība iekšpusē mainīgo, Galvenais ir vienāds ar 47.
Tas ir dīvaini, bet, protams, tas ir tāpēc, ka man nav
izpildīt šīs līnijas vēl.
Tāpēc tagad, ja es hit n, izpildīt šo līniju, un darīt drukas taustiņu, galvenais būs vienāda ar 3,
kas ir tas, ko mēs sagaidām, ka tas ir vienāds.
>> Tātad atkal, gdb, rindā jūs redzēt jūs vēl neesat izpildīts.
Jums ir hit n vai s vai numuru Citu komandu faktiski
izpildīt šīs līnijas.
Print taustiņu.
Galvenie ir pie 3.
Līdz šim tik labi.
String ir vienkāršs teksts.
Pieņemsim izpildīt šīs līnijas.
Es saņemu virkni no lietotāja.
>> Let 's redzēt savā pārbaudē 50, es ievadiet BARFOO visas cepures, lai
tas ko es ieiet.
Ja tagad es drukāt vienkāršu tekstu.
Jūs redzēsiet, tas ir vienāds virkni.
Tas dod man kādu citu dīvainu heksadecimālo numuru, bet tas ir
Fakts, ka mans virkne ir BARFOO.
Ja es gribēju redzēt, ko galvenais pielīdzināts pie šis jautājums, kā es varētu pārbaudīt atslēgu?
>> STUDENTU: Print atslēga.
>> Jason Hirschhorn: Print atslēga, tieši tā.
Un patiesībā, tur ir īsceļu.
Ja jums ir apnicis rakstīt drukāt, Jūs varat vienkārši ierakstiet p.
Tāpēc p galvenais dara to pašu precīzu lieta.
Un atkal, es redzu, tas ir vienāds ar 3.
>> Ja es gribēju uzzināt, kāda gan taustiņu un BARFOO sastādīja vienlaicīgi
bet man bija apnicis rakstīt katras viena individuāli, es
varētu ierakstīt info vietējie iedzīvotāji.
Tas dod man galvenās ir vienāds ar 3.
Vienkāršs teksts ir vienāds BARFOO.
Tas arī dod man šīs divas dīvainas lietas augšpusē, šis mainīgais i un
šis mainīgais n.
>> Tie ir faktiski pastāvošo manā galvenajā programmā.
Mēs neesam saskārušies viņiem vēl, bet kā preview, tiem
pastāv manā cilpa.
Tātad tagad, tie ir vienādi daži dīvaini skaits, jo viņi nav bijuši
inicializēts, tomēr tās joprojām pastāv atmiņā, tāpēc viņi vienkārši noteikt
uz kādu atkritumu vērtību.
Bet mēs redzēt atslēgu vienkāršā teksta turpat.
>> Tāpēc es esmu gatavojas veikt šo līniju, līnija 34, lai cilpa.
Mēs ejam, lai ielēkt cilpa ar hitting n.
Un mēs esam iekšā cilpa.
Mēs esam pie mūsu pirmo pārbaudi.
Un atkal, tie ir sava veida meklēt pazīstams ar jums, jo tas bija
Caesar programma, kas bija rakstīts, bet atkal, ir dažas bug veida.
>> Un tagad, ja man info vietējie iedzīvotāji, jo es esmu iekšā, ka cilpa, jūs redzēsiet
ka man ir vienāds ar nulli, kā mēs sagaidām.
Tas ir tas, ko mēs noteikti to un inicializēts tas lai ir uz cilpas.
n ir vienāds ar 6.
Tas arī ir jēga, jo mēs noteikti to uz strlen no teksta.
Tāpēc es vēlētos darīt info vietējiem vai drukāt uz mainīgo bieži, lai pārliecinātos, ka
viss vienmēr ir tas, ko Es ceru, ka tas ir vienāds.
Šajā gadījumā, viss ko es ceru, ka tas ir vienāds.
>> Tāpēc sāksim pārvietojas pa šis cilpa.
Līnija es esmu par, ir līnija 36, ​​ja plain teksta i ir lielāks par un plain
teksta i ir mazāks par vai vienāds ar z.
Es zinu, ka mana problēma ir nevis ar savu pirmo burtu, tas ir ar otro burtu.
Ja mēs atskatāmies uz Reģistrēšanās 50, B dodas uz E naudas sodu.
Es esmu ņemot A un atstājot to kā , nemainot to D. Tātad
kaut kas ir nepareizi ar Otru vēstuli.
Tāpēc es esmu gatavojas pārvietot tur sekundē.
>> Bet, ja es to vēlos, lai pārbaudītu, kāda līdzenums Teksta Es līdzinājās jo šis konkrētais
gadījumā, es domāju, ka tas ir tas, ko?
Kas ir teksta man ir vienāds šajā pirmā kārta, izmantojot par cilpu?
>> STUDENTU: Zero?
>> Jason Hirschhorn: Teksta I?
Lai tā būtu kapitāls B. Es, protams, ir vienāds ar nulli, bet teksta
kronšteins nulles slēgta kronšteins vienāds B jo stīgas, kā mēs redzējām pagājušajā nedēļā,
ir masīvs, tāpēc mēs esam nonākuši pirmais simbols no tā.
Tātad vēlreiz, ja es izdrukāt teksta par Es, es, patiesībā, iegūtu rakstzīmi
B. Un tas ir veikls, labi?
Man nav tiešām ir teksta I. Tas nav viens no mainīgajiem, es noteikti
vai inicializēts, bet jūs varat izdrukāt no visu uzņēmējas lietas
ja vēlaties.
>> Bet pieņemsim pārvietotos.
Ja teksta I ir lielāks nekā A un teksta I ir mazāks par vai vienāds ar
Z, kas skaidri ir taisnība, jo mēs esam kapitāls B. Es esmu gatavojas palaist
daži komandu par to.
Mēs redzējām, ka matemātikas pagājušajā nedēļā, tāpēc mēs ņemt to par pašsaprotamu, ka tas darbojas
tiesības saskaņā ar Check 50.
>> Šie cirtaini bikšturi, pirmā parādīja, ka man bija aizejošais ja
nosacījumu, otrs parādīja ka es esmu iziešanas uz cilpas.
Un tāpēc tagad, kad es hit Tālāk, mēs redzēsim mēs esam atpakaļ uz cilpas vēlreiz.
Mēs ejam cauri uz cilpas vēlreiz.
Pieņemsim faktiski solis otrā atkārtojuma cilpa un veidam
informācija vietējie iedzīvotāji.
>> Tātad mēs esam otrajā atkārtojuma Mūsu uz cilpas.
Man ir 1, ko mēs sagaidām.
N ir vienāds ar 6, ko mēs sagaidām.
Galvenais ir vienāds ar 3, ko mēs sagaidām.
Un teksta, jūs redzēsiet, ir vienāds EARFOO tagad, nevis BARFOO vairs, jo
mūsu iepriekšējās iterācijas, B bija mainīts uz kapitālu E. Tātad mēs esam par
sastapties šo problēmu, tāpēc šis ir vieta, kur mēs ejam
nirt debugging.
Bet vai kāds ir kādi jautājumi par to, ko mēs esam darījuši līdz šim?
Fantastiska.
>> Tāpēc mēs esam par to, lai izpildītu to, ja nosacījums, teksta kronšteins Es aizvēru
kronšteins pārsniedz A un teksta I ir mazāks par vai vienāds ar Z. bet pirms
Es eju uz to, jo tas ir, ja Es zinu, mana kļūda, es vēlos norādīt
no teksta I So pieņemsim likts izdrukāt.
Tas ir vienāds ar rakstzīmju A, lai Šķiet, līdz šim viss ir labi un labs.
>> Tāpēc es ceru, ka šo līniju vienu manu loģiku, Šī līnija ir taisnība.
Tas ir lielais burts.
Bet, ja es hit n, mēs saprotam, ka tas līnija, patiesībā, nav izpildīt.
Es nolēca uz citam, ja.
Kāpēc tā notiek?
>> STUDENTU: Jo jums ir jūsu stāvoklis no teksta ir lielāks
nekā, nav vienāds vai lielāks par.
>> Jason Hirschhorn: Tāpēc man bija mana teksta I ir lielāks nekā, kas nav lielāks
par vai vienāds ar.
Tik skaidri, kapitāls nebija iedarbinātu šo, ja nosacījums, un mēs to darījām
nav solis uz to, un mēs to darījām nedara nepieciešamo pāreju.
Tātad tas ir tas, patiesībā.
Es sapratu, mana kļūda.
Es varētu iet atpakaļ manā avota failā, mainīt, un to atjaunina un
palaist Pārbaudiet 50 vēlreiz.
>> Bet mēs redzēsim, tikai pedagoģija s dēļ, ja es glabāt turpinās.
Cits ja neveic vai nu, bet kāda vietā ir vienāds, ir komanda
tas nemaina.
Tāpēc tas nav mainījies vispār, un, ja es drukāt vienkāršu tekstu šeit, mēs redzēsim notiek
cauri, ka cilpa nav, faktiski, mainītu šo otru raksturu vispār.
Tas joprojām kapitāla A.
>> Tātad vēlreiz, mēs debugged mūsu kļūda.
Mēs sapratām, ka tur bija daži loģika trūkst.
Un mēs atkļūdota to pirms laika pirms faktiski izpildīt šo līniju,
bet jums būs pamanījuši, mēs nebijām vienkārši hit Next un lēkt, lai tas cits, ja,
tas nozīmē, ka, ja nosacījums nebija taisnība.
Mēs neesam, patiesībā, iegūt Rezultātā mēs gaidīts.
Tātad, tad mēs varētu būt mudināts, bija mums nav bijis tik gudrs, lai apskatīt
ka, ja nosacījums, un pārbaudīt, ja, patiesībā, Mūsu nosacījums ir jānovērtē to
taisnība pašreizējā kontekstā.
>> Tas ir viss, debugging šo programmu.
Vai kāds ir kādi jautājumi?
Kādas komandas es varētu hit atmest GDB?
Q. Un tad es būšu piedāvāts, atmest anyway?
Jā vai nē.
Es hit jā, un es ņemšu atmest GDB.
>> Tāpēc, ka bija ātrs primer uz gdb.
Patiesībā, reālā scenārija, I did this par darba laika.
Es GDBed šo konkrēto programmu pie darba laiks ar students.
Un, ja mēs ejam atpakaļ mēs redzējām komandas Pirms mēs izmantojām pārtraukuma Mainas, vispirms
lieta, ko mēs darījām.
Mēs izmantojām darboties ar komandrindas argumentus, Otrā lieta, ko mēs darījām.
Mēs izmantojām blakus daudz, lai pārvietotos mums pa līnijām.
Un atkal, īsais variants Nākamās ir n.
Tas ir, kas iekavās pelēkā slaidā.
>> Mēs neizmantoja soli, taču mēs neesam obligāti nepieciešams, lai par šo lietu.
Bet mēs varētu izmantot to mazliet vēlāk šodien ja mēs debugging, lai
Piemēram, bināro meklēšanu kad binārais meklēšana sauc atsevišķu
funkciju, bet tur ir dažas kļūdas ar to.
Mēs esam gatavojas vēlaties, lai soli aicinājums bināro meklēšanas un
faktiski atkļūdot to.
Uzskaitīt mēs neizmantoja nu tāpēc, ka mums bija labu sajūtu mūsu kodu, bet, ja es
tomēr vēlas, lai iegūtu sajūtu par to, ko kods es bija apkārt, es varētu vienkārši izmantot sarakstā.
>> Drukāt mēs izmantojām, info vietējie mēs izmantojām.
Turpināt mums nav nepieciešams izmantot šajā gadījumā, neviens nebija mums ir nepieciešams, lai izmantotu
atslēgt, bet mēs izmantot atmest.
Arī šie 10 komandas, praksē tos.
Ja jūs saprotat šos 10 komandas, Jums ir jānosaka debugging jebkuru
izdot ar gdb.
>> Tāpēc mēs esam par to, lai dotos tālāk, atkal, lai būtība sadaļā šodien iet pa
tie šķirošanas un meklēšanas algoritmi.
Pirms mēs to darām, atkal, kādi jautājumi, komentāri, bažas par gdb?
Tātad ir visi gatavojas izmantot GDB nevis printf?
Lai ikviens, lai nepārtrauktību dēļ, visiem ir pavirša savas galvas tiesības
tagad, tāpēc es jūs redzēt darba laika un visi TFS redzēs tevi un
viņi teiks, parādiet man, kā izmantot GDB, un jūs varēsiet
parādīt viņiem, vai ne?
Veida?
Varbūt cerams.
Atdzist.
>> Tāpēc mēs esam gatavojas pārcelties uz šķirošana un meklēšana.
Jūs redzēsiet Man ir saraksts jau ir sakārtoti mums, bet tas nav dodas
būs vienmēr.
Tātad problēma noteikti specifikāciju Problēma noteikti trīs, jums ir šorti
ka jūs varat skatīties, un tas faktiski lūdz, lai jūs skatīties šo šorti.
Arī lekciju pagājušajā nedēļā, mēs devāmies pāri daudz no šiem algoritmiem, tāpēc es esmu
nav gatavojas tērēt laiku klasē iet pār šiem algoritmiem vēlreiz, vai zīmējumu
bildes par to, kā šos algoritmi strādā.
Atkal, ka informācija, ko jūs varat atkārtoti skatīties lekcija, vai šī informācija
ir notverti izcili uz šorti lai šos meklē, visi
kas ir pieejami cs50.net.
>> Tā vietā, ko mēs gatavojamies darīt, ir rakstīt šo programmu.
Mums ir sajūta, garīgo modeli, par to, kā viņi strādā, un tāpēc tas, ko mēs ejam
to darīt, ir kodu tos reāli.
Mēs ejam, lai savukārt, ka garīgo modeli, ka attēls, ja vēlaties, uz
faktiskais kods.
Un, ja tu būtu nedaudz mulsina, vai miglaini par garīgo modeli, es pilnīgi
saprast.
>> Mēs faktiski nav gatavojas pāriet uz kodu uzreiz.
Tāpēc, kamēr tas ātri šajā slaidā lūdz Jums kodu bināro meklēšanu, un
patiesībā, iteratīvs versija bināro meklēšanu, pirmā lieta, ko es
tiešām gribu, lai jūs darīt, ir uzrakstīt kādu pseudocode.
Tātad jums ir šī garīgās modelis par to, kā bināro meklēšanas darbi.
Izņemiet papīra lapas, ja jums ir viens viegli pieejama, vai atvērt
teksta redaktoru, un es gribētu visi rakstīt.
Ņem četras minūtes, lai rakstītu pseudocode bināro meklēšanu.
>> Atkal, domā par to, ka garīgo modeli.
Es atnākšu apkārt, ja jums ir jautājumi un mēs varam izdarīt attēlu out.
Bet vispirms, pirms mēs sākam plānošanu, Es gribētu rakstīt
pseudocode bināro meklēšanu, lai tad, kad mēs nirt, mēs esam kādu virzienu, kā
, kur mums vajadzētu doties.
>> STUDENTU: Vai mēs pieņemam masīvs vērtības, mēs iegūstam jau sakārtots?
>> Jason Hirschhorn: Tātad bināro meklēšanu strādāt - lielisks jautājums - tu
ir uzņemt šķiroti masīva vērtībām.
Tāpēc pieņemu, tas darbosies.
Mēs iesim atpakaļ uz šo slaidu.
Jūs redzēsiet purpurā funkciju deklarācija ir bool binary_search int
vērtību, int vērtības, int n.
Tam vajadzētu izskatīties pazīstami, ja esat jau tuvojās vai gotten savu
rokas netīras ar problēmu kopumu.
>> Bet tas ir jūsu uzdevums deklarācija.
Atkal, nav jāuztraucas par ka daudz šajā brīdī.
Ko es tiešām gribu, lai jūs darīt, ir veikt Četras minūtes līdz pseudocode bināro
meklēt, un tad mēs brauksim pāri, kas kā grupa.
Un es nāk apkārt.
Ja jums ir jautājumi, lūdzu brīvi paaugstināt savu roku.
>> Kāpēc jūs to vēl divas minūtes pabeigt līdz pseudocode?
Es zinu, tas var likties smieklīgi, ka mēs esam izdevumu tik daudz laika
kaut kas nav pat faktiski C, bet jo īpaši tiem vairāk
apstrīdot algoritmi un problēmu komplekti, kas mums ir, lai noskaidrotu,
sākot ar pseudocode nav satraucošs par sintaksi, tikai neuztraucoties par
loģika, ir neticami noderīgi.
Un tādā veidā, jūs neesat atrisināt divas neticami sarežģītas problēmas uzreiz.
Jūs tikai koncentrēties uz loģiku, un tad jūs pārvietoties sintaksi.
>> OK.
Sāksim iet cauri pseudocode.
Es esmu uzrakstījis šeit, bināro meklēšanas pseudocode.
Mēs rakstīt šo par kuģa kopā.
Vai es ņemšu rakstīt to, un jums došu man liek man ir nepieciešams.
Tātad, var kāds sniegt man pirmais līnija pseudocode jūs
rakstīja bināro meklēšanu?
Jā, Annie?
>> Students: Lai garums saraksts ir lielāka par nulli.
>> Jason Hirschhorn: Kamēr garums saraksta lielāka par nulli.
Un atkal mēs redzam dažus C vērstu sintakses lietas šeit.
Bet lielākā daļa no tā ir angļu valodā.
Vai kāds ir līnija, ko tie īsteno Pirms šo to pseido-kodu?
>> STUDENTU: Get masīvs Šķirotu numurus.
>> Jason Hirschhorn: You rakstīja: "get masīvs Šķirotu skaitļiem. "Per
funkcija deklarāciju, mēs būsim iet masīvs sakārtoti numuriem.
>> STUDENTU: [nedzirdama].
>> Jason Hirschhorn: So mums būs tā.
Bet jā, ja mums nebija, ka mēs būtu nepieciešams, lai sakārtotu mūsu masīvs
skaitļi, jo bināro meklēšanu darbojas tikai sakārtoti masīvi.
Tāpēc, kamēr garums saraksta vienāda ar nulli, es esmu gatavojas īstenot dažas cirtaini lencēm
lai tas izskatās mazliet vairāk kā C. Bet, kamēr, šķiet karti uz
kamēr cilpa, tāpēc iekšā šo brīdi cilpa, kas mums ir nepieciešams, lai
darīt bināro meklēšanu?
>> Kāds cits, kas man nav devis atbildēt vēl, bet kurš rakstīja šo?
>> STUDENTU: Iet uz vidu saraksta.
>> Jason Hirschhorn: Tom.
Iet uz vidu sarakstā.
Un pēcpārbaudes jautājums, ko mēs darām, kad mēs esam pie
vidū sarakstā?
>> STUDENTU: Vai pārbaudīt, vai kas ir numuru jūs meklējat.
>> Jason Hirschhorn: Excellent.
Iet vidū sarakstu un pārbaudīt ja mūsu vērtības ir tur -
fantastiska.
Vai kāds ir kaut kas cits tas bija atšķirīgs par šo?
Tas ir tieši labi.
>> Pirmā lieta, ko mēs darām bināro meklēšanu ir iet uz vidu sarakstā un
pārbaudiet, lai redzētu, vai mūsu vērtība ir tur.
Tāpēc es pieņemu, ja mūsu vērtība ir tur, ko mēs darām?
>> STUDENTU: Mēs atgriežamies nulle [nedzirdama].
>> Jason Hirschhorn: Jā, ja mūsu vērtība ir tur, mēs atradām.
Tātad, mēs varam pateikt, kādā veidā, tomēr tas funkcija ir definēta, mēs pateikt lietotāju
mēs atradām.
Ja tas nav tur, lai gan, tas ir ja tas izpaužas grūts.
Tātad, ja tas nav tur, kāds cits, kurš strādāja par bināro meklēšanu vai
ir ideja tagad, ko mēs darām?
>> STUDENTU: Jautājums.
>> Jason Hirschhorn: Jā?
>> STUDENTU: Vai masīva jau ir sakārtoti?
>> Jason Hirschhorn: Jā, mēs esam, pieņemot masīva jau ir sakārtots.
>> STUDENTU: Tātad jums ir, lai pārbaudītu, vai vērtība, ka jūs redzat, ir lielāks nekā
vērtība, ka jūs vēlaties, jūs varat pārvietot uz vidu otru pusi.
>> Jason Hirschhorn: Tātad, ja vidū saraksts ir lielāks nekā tas, ko mēs
meklē, tad mēs darām?
Mēs virzāmies kur?
>> STUDENTU: Jūs vēlaties, lai pārietu uz puse no saraksta ar
skaitļi zemākas nekā.
>> Jason Hirschhorn: lai mēs zvans, ka kreisi.
Tātad, ja vidū ir lielāks, mēs varam meklēt left puse no saraksta.
Un pēc tam meklēt, ko es domāju, ko meklēt?
>> STUDENTU: [nedzirdama].
>> Jason Hirschhorn: Mēs ejam uz vidu.
Mēs faktiski atkārtot šo lietu.
Mēs ejam atpakaļ caur mūsu kamēr cilpa.
Es došu jums pēdējais -
cits, ja, vidū ir mazāks nekā mēs darām, ko mēs darām šeit?
>> STUDENTU: Iet uz labo pusi.
>> Jason Hirschhorn: Meklēt tiesības.
Tas izskatās labi, bet vai kāds ir viss, kas mums var nebūt vai
kaut kas cits, ka jūs likts Jūsu pseido-kodu?
Tātad šis ir tas, ko mēs esam tik tālu.
Kaut garums saraksta ir lielāks par nulli, mēs ejam, lai dotos
lai saraksta vidū un pārbaudīt, ja mūsu vērtība ir tur.
>> Ja vidū ir lielāks, mēs ejam uz meklēt pa kreisi, cits, ja pa vidu ir
mazāk, mēs ejam, lai meklētu tiesības.
Tātad mēs visi esam bija daži familiaritāte ar termini mēs izmantojam datorzinātnēs
un instrumenti mums ir.
Bet jūs jau novērojat mēs bijām runājot angļu valodā, bet mēs atradām
par lietām, kas šķiet karti uz daudz instrumenti mums ir mūsu kodēšanas rīku komplektu.
Tātad, tiesības pie nūja, mēs neesam gatavojas faktiski kodu vēl.
>> Ko mēs redzam šeit, angļu valodā, ka kartes uz lietām, mēs varam rakstīt C?
>> STUDENTU: Kamēr.
>> Jason Hirschhorn: Kamēr.
Tāpēc tas, kamēr šeit kartes uz ko?
>> STUDENTU: kamēr cilpa.
>> Jason Hirschhorn: kamēr cilpa?
Vai, iespējams, plašākā nozīmē, cilpa.
Mēs vēlamies kaut ko darīt vairāk un vairāk.
Tāpēc mēs esam gatavojas kodu cilpu.
Un mēs jau zinām, jo ​​mēs esam darījuši tas reizes pāris, un mēs
ir daudz piemēru, kas pastāv, kā faktiski rakstīt
šis indekss cilpu.
Tā, ka būtu diezgan viegli.
Mums vajadzētu būt iespējai iegūt, ka sāka diezgan ātri.
>> Ko vēl mēs redzam šeit?
Kādi citi struktūras sintakses lietas ka mēs esam iepazinušies ar C, mēs
jau ir sajūta Based nost no vārdiem mēs izmantojām?
Jā, Anna?
[Dzirdams]
tikai kidding.
Anna, iet uz priekšu.
>> Students: Ja un cits.
>> Jason Hirschhorn: ja un cits - tieši šeit.
Tātad, ko tie izskatās?
>> STUDENTU: ja cits paziņojumu.
>> Jason Hirschhorn: Jā, nosacījumiem, vai ne?
Tāpēc mēs, iespējams, vajadzēs uzrakstīt dažus nosacījumus.
Un atkal, lai gan varbūt mulsinoši pirmkārt, mums parasti ir jēga tagad
par to, kā rakstīt nosacījumus un sintakse apstākļiem.
Un, ja mums nav, mēs vienkārši uzmeklēt sintakse apstākļiem, izgriezt un ielīmēt
ka, jo mēs zinām, mēs nepieciešams nosacījums.
Citas lietas, mēs redzam, ka karti uz lietas, kas mums var būt nepieciešams veikt C?
Jā, Aleha?
>> STUDENTU: Tas varētu būt skaidrs, , tikai pārbaudot, vai
vērtība ir kaut kas.
>> Jason Hirschhorn: Tātad, kā mēs pārbaudām un - lai iet uz vidu saraksta
un pārbaudīt, ja mūsu vērtība ir tur?
Kā mēs to darām C?
Kas ir sintakse, kas?
>> STUDENTU: Vienāds, ir vienāds.
>> Jason Hirschhorn: Vienāds, ir vienāds.
Tāpēc šī pārbaude, iespējams, gatavojas jābūt vienādības, ir vienāds.
Tāpēc mēs zinām, mums ir nepieciešams, ka kaut kur.
Un patiesībā, tikai rakstot to, mēs redzam šīs citas lietas.
Mēs esam nāksies veikt dažas salīdzināšanas operatori tur -
fantastiska.
Tātad, tas tiešām izskatās pēc un liels, mums nav rakstīts
Vārds C kodu vēl.
Bet mēs saņēmām garīgo modeli uz leju ar lekciju un tiem šorti.
>> Mēs rakstījām pseido-kodu kā grupa.
Un jau mums ir 80%, ja ne 90% no tā, kas mums ir jādara.
Tagad mums ir nepieciešams, lai kodu tas, kas atkal ir
ne-trivial problēmu atrisināt.
Bet vismaz mēs esam iestrēdzis uz loģiku.
Vismaz tagad, kad mēs ejam uz darba laiks, Es varu teikt, es zinu, ko man vajag
to darīt, bet jūs varat atgādināt man par sintaksi?
Vai pat, ja darba laiks ir pārpildīti, jums varat Google par sintaksi, nevis
nekā ir iestrēdzis uz loģiku.
>> Un atkal, nevis mēģināt atrisināt loģika un sintakses problēmas visiem
uzreiz, tas bieži vien ir daudz labāk lauzt šos divus cietos problēmas ietecēt
Divi vieglāk vadāmu tiem un darīt pseido-kodu un tad kodu C.
Tātad, pieņemsim redzēt, ko es darīju, lai pseido-kodu pirms laika.
>> Kaut garums saraksta ir lielāks par nulli, paskatās pa vidu
saraksta.
Ja skaitlis konstatēts atgriezās taisnība, cits ja skaitlis lielāks, meklēt pa kreisi.
Cits ja skaits ir mazāks, meklēt labi, atgriezties viltus.
Tā, kas izskatās gandrīz identiski, ja nav gandrīz identisks tam, ko mēs rakstījām.
Faktiski, Tom, ko jūs vispirms teica, laužot vidū sarakstā, un, ja
skaits, kas atrastas uz diviem paziņojumiem ir tiešām tas, ko es darīju.
>> Es kombinēt tos tur.
Es būtu noklausījies Jūs pirmo reizi.
Tāpēc, ka ir pseido-kodu mēs esam.
Ja jūs vēlaties, lai tagad, sorry, dodieties atpakaļ uz mūsu sākotnējo problēmu.
Pieņemsim kods binary.c.
Tāpēc jāīsteno atkārtošanas versiju bināro meklēšanu, izmantojot šādas
funkcija deklarācija.
>> Un jums nav nepieciešams, lai kopētu tas nosaka tikai pagaidām.
Es tiešām gatavojas atvērt up šeit binary.c.
Tāpēc ir funkcija deklarācija vidū ekrāna.
Un jūs redzēsiet, es paņēmu pseido kodu No manā pusēm, bet gandrīz identisks
lai ko mēs rakstījām, un nodot, ka jums.
Tāpēc tagad, pieņemsim piecas minūtes ar kodu šo funkciju.
>> Un atkal, ja jums ir kādi jautājumi, paceliet roku, ļaujiet man zināt, es ņemšu
nāk apkārt.
>> STUDENTU: [nedzirdama].
>> Jason Hirschhorn: Tāpēc es ņēma bināro meklēšana definīciju at
augšu, uz līnijas 12.
Tas ir tas, ko es saņēmu par manu slaidu.
Un tad tas viss pseido kods, es tikko kopēt un ielīmēt no slaida,
pseido-koda slide.
Es joprojām nav dzirdes [nedzirdama].
>> Tātad, ja jums ir pabeidzis savu īstenošanu, es gribu, lai pārbaudītu to.
Es e-pastu jums helpers.h failu iepriekš šajā klasē.
Un tā būs pieejama tiešsaistē, kā arī lejupielādei par cilvēkiem, skatoties
šajā sadaļā laiku atlikta.
Un es tikai izmantot generic sadalījumu kodu no pset3.
Tāpēc es ņēma find.C, izmantot savu helpers.h failu nevis helpers.h failu
, kas ir dota sadales kodu.
>> Un man nācās veikt vēl vienu maiņu find.C nevis zvanot vienkārši
meklēšanu, zvaniet binary_search.
Tātad, ja jūs vēlaties, lai pārbaudītu savu kodu, zinu, ka tas ir, kā to izdarīt.
Patiesībā, kad mēs būsim darbojas šo kodu tieši tagad, es tikko kopiju
mans pset3 katalogs, atkal, aizstāja talcinieki failus un pēc tam, ka iespēju
mainīt find.C zvanīt binary_search nevis vienkārši meklēt.
>> Jason Hirschhorn: Jā.
Jums ir jautājums?
>> STUDENTU: Nevermind.
>> Jason Hirschhorn: Neraizējieties.
Nu, pieņemsim sāktu.
Mēs kodētu tas kā grupa.
Viena cita piezīme.
Atkal, tas ir, var viegli tikt samainīti in Problēma noteikti trīs.
Man ir mana helpers.h fails, kas drīzāk nekā helpers.h mēs dota,
paziņo, bināro meklēšanu, burbulis kārtot un atlase kārtot.
Un find.c jūs pamanīsiet uz līnijas, kas tas ir, līnija 68, ko mēs saucam par bināro
meklēt nevis meklēšanu.
Tātad vēlreiz, kods, kas ir pieejama tiešsaistē vai kods, kas jūs esat
radot tagad var viegli samainīti in p iestatīts 3, lai pārbaudītu to.
>> Bet vispirms, pieņemsim kodu bināro meklēšanu.
Mūsu funkcija deklarāciju, mēs atgriezties bool.
Mēs veicam vesels skaitlis sauc vērtību.
Mēs ņemam masīvs integers sauc vērtībām, un mēs n ir
izmērs masīva.
On line 10, tepat, man ir asas ietver stdbool.h.
Vai kāds zina, kāpēc tas ir tur?
Tātad, ko tas kods līnijas darīt?
>> STUDENTU: Tas ļauj izmantot bool atgriešanās veidu.
>> Jason Hirschhorn: Tieši tā.
>> STUDENTU: Vai tā ir bibliotēka, kas ļauj izmantot bool atgriešanās veidu.
>> Jason Hirschhorn: Tik straujš iekļaut stdbool.h line dod man kādu
definīcijas un deklarācijas lietām ka man ir atļauts izmantot
Šī bibliotēka.
Tātad tiem, saka, ka tur ir Tas, ko sauc par bool, un tas var būt
patiesa vai nepatiesa.
Tātad tas, ko tas līnija dara.
Un, ja man nav šo līniju, es būtu nokļūt nepatikšanās, lai rakstot šo
vārdu tieši šeit, bool, tieši tur.
Tieši labi.
Tāpēc man ir nepieciešams, ka ar šo kodu.
OK.
Tātad šis atkal ir iteratīvs versija, nevis rekursīvs vienu.
Tātad, ļaujiet mums sākt.
>> Sāksim ar to pirmo reizi līnija pseido kodu.
Un, cerams, mēs - vai ne, cerams.
Mēs ejam, lai iet pa istabu.
Mēs iesim pozīcijai, un es jums palīdzēšu jūs izrēķināt līniju, kas mums ir nepieciešams
rakstīt pirmās.
Tāpēc, kamēr garums saraksta ir lielāka par nulli.
Sāksim priekšā.
Kas line man vajadzētu rakstīt šeit, kodu?
>> STUDENTU: Kaut iekavas n ir lielāks par 0.
>> Jason Hirschhorn: Kamēr n ir liels par 0.
Tātad, n ir lielums saraksta, un mēs pārbaudīt, ja -
>> [interposing BALSIS]
>> Jason Hirschhorn: - žēl?
>> STUDENTU: Kā mēs zinām, ka n ir lielums saraksta?
>> Jason Hirschhorn: Sorry.
Vienu PSET specifikācijā meklēšanu un kārtot funkcijas jums ir nepieciešams, lai rakstītu,
n ir lielums sarakstā.
Es aizmirsu paskaidrot, ka šeit.
Bet jā. n ir lielums sarakstu, šajā gadījumā.
Tātad, bet n ir lielāks par 0.
OK.
Tas var izrādīties nedaudz problemātiska tomēr, ja lietas iet tālāk.
Tāpēc, ka mēs turpināsim zināt lielums saraksta visā tas
funkcija, bet teikt, ka mēs sāktu ar masīvu 5 veselus skaitļus.
Un mēs ejam cauri, un mēs esam Tagad samazinājies to uz leju, lai
masīvs 2 veseli skaitļi.
Kas 2 veseli skaitļi ir tas, ka?
Izmērs ir 2 tagad, ka mēs gribam, lai apskatīt, bet kuriem 2 ir tas, ka?
Vai tas ir jēga, uz šo jautājumu?
>> OK.
Es lūgt to vēlreiz.
Lai mēs sāktu ar šo klāstu 5 veseli skaitļi, un n ir vienāds ar 5, vai ne?
Mēs palaist cauri šeit.
mēs, iespējams, mainīt izmēru, tiesības, kā lietas iet tālāk.
Kas ir tas, ko mēs sakām, mēs vēlamies darīt.
Mēs nevēlamies, lai meklētu pilna lieta vēlreiz.
Tā teikt, mēs mainīt to uz 2.
Mēs ņemam pusi sarakstu, kas ir dīvaini.
Tik vienkārši paņemt 2.
Tāpēc tagad n ir vienāds ar 2.
Es atvainojos par nabadzīgajiem Dry Erase marķieri.
Tiesības?
Un mēs esam meklēt pa sarakstu atkal ar sarakstu lielumu 2.
Nu, mūsu masīvs joprojām izmēru 5.
Mēs sakām, mēs tikai vēlamies, lai meklēt 2 vietas tajā.
Tātad, kas 2 plankumi ir tie?
>> Vai tas ir jēga?
Vai tie ir palikuši 2 plankumi?
Vai tie ir pareizie 2 plankumi?
Vai tie ir vidējie 2 plankumi?
Mēs esam sadalīti šo problēmu uz leju, bet mēs tiešām nezinu, kas ir daļa no
problēma, mēs joprojām meklē, tikai, kam šie 2 mainīgos.
Tāpēc mums ir nepieciešams nedaudz vairāk laika, bet n ir lielāks par 0.
Mums ir jāzina, kur tas n ir mūsu faktisko masīvs.
>> Tātad, vai kāds ir mainīt uz šo līniju?
Lielākā daļa no šīs pozīcijas ir pilnīgi pareizi.
Vai ir vēl papildus?
Vai mēs varam mijmaiņas kaut ko par n līdz padara šo līniju mazliet labāk?
Mm-hm?
>> STUDENTU: Vai jūs sāktu mainīgo piemēram, garums līdz n, kas būs pēc tam var izmantot
vēlāk funkcija?
>> Jason Hirschhorn: So inicializētu dažāda garuma, lai n,
un mēs izmantojam, ka vēlāk?
Bet tad mēs vienkārši atjaunināt garumu un mēs vēl uzskriet šo problēmu, ja mēs
samazināt garumu mūsu problēmas, bet mēs nekad zināt, kur, patiesībā,
ka garums kartes uz.
>> STUDENTU: Vai nav, ka nenotiks vēlāk, kad jūs sakāt, meklēt pa kreisi,
meklēt labi?
Jūs gatavojas doties uz atšķirīgu platību jūsu -
>> Jason Hirschhorn: Mēs ejam, lai dotos uz platību, bet kā mēs zinām,
kas iet uz?
Ja mēs tikai ir masīvs un tas n, kā mēs zinām, kur
iet uz masīvā.
Uz muguras, jā?
>> STUDENTU: Vai jums ir, piemēram, zemāka robežu un augšējo robežu mainīgu vai
kaut kā tā?
>> Jason Hirschhorn: OK.
Tāpēc šī ir vēl viena ideja.
Nevis tikai sekotu izmērs, mēs sekot zemāka un
augšējā robeža mainīgs.
Tātad, kā mēs aprēķinātu lielumu no apakšējo robežu un augšējo robežu?
>> [interposing BALSIS]
>> Jason Hirschhorn: atņemšana.
Un arī sekotu zemāks saistoša un augšējā robeža ļaut mums zināt,
mēs meklē šīs divas?
Vai mēs meklē šos divus nekā šeit?
Vai mēs meklējot vidū divas?
Droši vien nav vidū divas, jo Tas, patiesībā, ir bināro meklēšanu.
Bet tagad mēs varētu saņemt izmēru, bet arī robežas masīva.
Būtībā, ja mums ir mūsu gigants tālruņa grāmatu, mēs izvilkt to pusi.
Mēs tagad zinām, ja tas ir mazāks tālruņu grāmata ir.
Bet mēs faktiski lielisks tālruņa grāmatu pusi.
Mums joprojām ir nepieciešams zināt, kur jaunas robežas mūsu problēma ir.
Vai kāds ir kādi jautājumi par to?
Jā?
>> STUDENTU: Vai tas darbojas, izveidojot mainīgs, es, ka jūs tad tikai pāriet
pozīcija i attiecībā pret tās pašreizējo atrašanās vietu, un garums, n?
>> Jason Hirschhorn: Un kas ir man?
>> STUDENTU: Tāpat kā es to, piemēram, sava veida -
Tāpat kā jūs sāktu man būt vidējā stāvoklī masīva.
Un pēc tam, ja vērtība ir stāvoklī i vidū masīva konstatēts
būt mazāka par vērtību, jums ir nepieciešams, i tagad kļūst garums masīva, plus
I vērtība dalīta ar 2.
, Piemēram, redzat, jūs maiņās i -
>> Jason Hirschhorn: Right.
>> Students: - līdz -
>> Jason Hirschhorn: Tāpēc es esmu gandrīz pozitīvi, ka strādās.
Bet jautājums ir, jums ir nepieciešams divi gabalus informācijas šeit.
Jūs varat darīt to ar sākumā un beigās, vai jūs varat darīt to ar izmēru, un pēc tam
daži marķieris.
Bet jums ir nepieciešams divi gabali informācijas šeit.
Jūs nevarat iztikt tikai ar vienu.
Vai tas ir jēga?
>> Tāpēc mēs esam gatavojas iet cauri, un mēs gatavojamies darīt [dzirdams]
un izveidot dažas marķierus.
Tātad Ko tu rakstīt savu kodu?
>> STUDENTU: Es tikai teicu int saistošs viens ir vienāds ar 0.
>> Jason Hirschhorn: Sauksim ka int, sākot.
>> STUDENTU: OK.
>> Jason Hirschhorn: Tas padara vairāk sajūtu par mani.
Un?
>> STUDENTU: Es teicu, es domāju, int beidzas.
>> Jason Hirschhorn: int beidzas.
>> STUDENTU: Es domāju, n mīnus 1, vai kaut kas tamlīdzīgs.
Tāpat, pēdējais elements.
>> Jason Hirschhorn: Tātad jūs rakstījāt, int sākuma ir 0, semikolu, un int
beidzas vienāds n mīnus 1, semikolu.
Tātad būtībā, ko mēs darām Šeit, 0 pirmo pozīciju.
Un kā mēs zinām bloki, tie nav iet līdz n, viņi iet līdz n mīnus 1.
Tāpēc mums ir daži robežas mūsu masīvs.
Un šīs sākotnējās robežas gadās būt sākotnējās robežas mūsu problēma.
OK.
Tā, ka skan labi.
Tad, ja mēs ejam atpakaļ uz šo līniju, bet garums saraksts ir lielāks par 0,
kāda tā vietā, n, būtu mēs ieliekam šeit?
>> STUDENTU: Rakstiet beidzas mīnus sākums.
>> Jason Hirschhorn: Kamēr beidzas mīnus sākas ir lielāks par 0?
OK.
Un mēs varētu, ja mēs vēlējāmies, lai padarīt šo mazliet nicer, ko
vēl mēs varētu darīt?
Ja mēs vēlējāmies, lai attīrītu Šis kods up mazliet?
Kā mēs varam atbrīvoties no 0?
Tas ir tikai stila jautājums.
Tas ir pareizi tagad.
>> STUDENTU: Ending nav vienāds sākums?
>> Jason Hirschhorn: mēs varam darīt?
>> [interposing BALSIS]
>> STUDENTU: Ending ir lielāks?
>> Jason Hirschhorn: Jā.
Mēs varam tikai darīt, kamēr beidzas ir lielāks par sākuma.
Tiesības.
Mēs pievienotās sāk uz otru pusi no tā, kā mēs tikām vaļā no 0.
Tāpēc tas tikai izskatās mazliet tīrāks.
OK.
Tātad, kaut garums saraksts ir 0, tapa ka, lai gan beidzot ir lielāks
nekā sākums.
Mēs gatavojamies īstenot mūsu nepieciešama cirtaini bikšturi, tad pirmā lieta,
mēs vēlamies darīt, ir apskatīt tos nedaudz sarakstā.
Jums?
Vai jūs varētu man -
>> Students: Ja iekavas vērtība kvadrātiekavas -
>> Jason Hirschhorn: Ja apaļās vērtība kvadrātiekavas.
>> STUDENTU: Ending dalīts ar 2.
>> Jason Hirschhorn: Ending?
>> STUDENTU: Es redzu problēmas ar jūsu -
>> Jason Hirschhorn: OK.
Nu, paskaties vidū.
Kā mēs zinām, kas pa vidu ir?
Jā.
Tāpēc ļaujiet man izdzēst šo kodu.
Kā mēs zinām, kas pa vidu ir?
Kaut ko, ja jums ir sākums un beigās, kā jūs atrast
vidū?
>> STUDENTU: Tu vidēji.
>> STUDENTU: Jūs pievienot tos kopā un pēc tam -
>> Jason Hirschhorn: Pievienot tos kopā un pēc tam?
>> STUDENTU: Un jūs vidēji.
Sadalīt to ar 2.
>> Jason Hirschhorn: Pievienot tos kopā un izdalot ar 2.
Tāpēc int vidū ir vienāds?
Tom, jūs varat dot to man?
>> STUDENTU: Sākums plus beidzas -
>> Jason Hirschhorn: sākums plus beidzas.
>> STUDENTU: All, bracket, dalīts ar 2.
>> Jason Hirschhorn: All, iekavās, dalīts ar 2.
Lai dod man vidū par kaut ko, pareizi?
>> STUDENTU: Jums arī vajadzēs noapaļot to uz augšu.
>> Jason Hirschhorn: Ko jūs domāju, man ir nepieciešams noapaļot to uz augšu?
>> [interposing BALSIS]
>> STUDENTU: Jo, ja tas ir dīvaini numurs, tad tas ir tāpat kā -
>> Jason Hirschhorn: Nu, OK.
Lai es varētu noapaļot to uz augšu.
Bet, ja tas ir nepāra skaitlis, 5, es varu ņemot 1 prom no vidus.
Vai ja tas ir pat numuru, bet, kas ir labāks gadījums.
Ja tas ir 4, mums ir tikai 4, es varu pieņemt Pirmais "vidējā", citēju, likt pēdiņas beigās vai
otrais "vidējā" vienu.
Nu varētu strādāt bināro meklēšanu, tāpēc man nav tiešām ir nepieciešams, lai ap to.
Bet ir viena cita lieta, ko es ir nepieciešams, lai apskatīt šo līniju.
Mēs, iespējams, nevar saprast tā vēl, bet mēs atgriezīsimies pie tā.
Tāpēc, ka šī pozīcija faktiski joprojām nepieciešama viena cita lieta.
>> Bet līdz šim, mēs esam rakstiski četras rindiņas kodu.
Mēs esam ieguvuši savu sākumu un beigu marķieri.
Mums ir mūsu, kamēr cilpa, kas kartes par tieši mūsu pseudocode.
Mēs esam apskatot vidū, kas Maps tieši uz mūsu pseudocode.
Es teiktu, ka tas iet uz vidu no saraksta, šī līnija kods.
Un tad, kad mēs ejam uz vidu sarakstā, nākamā lieta, kas mums jādara,
ir pārbaudīt, ja mūsu vērtība ir tur pseudocode mēs rakstījām iepriekš.
>> Tātad, kā mēs pārbaudām, vai mūsu vērtības ir vidū saraksta?
Jums.
Kāpēc nav jums darīt?
>> Students: Ja mūsu vērtība s ir vidū ir vienāds
ko mēs noteikti -
Es domāju vienāds vienāds ar -
>> Jason Hirschhorn: It -
OK.
>> STUDENTU: Es neesmu pārliecināts, ko mainīgais mēs meklējam
lai gan, ir tāpēc, ka -
>> [interposing BALSIS]
>> STUDENTU: [nedzirdama].
>> Jason Hirschhorn: Tieši tā.
Vienu funkciju deklarācijas mēs meklējam vērtību.
Tāpēc mēs esam meklējot vērtības masīva vērtību.
Tātad jūs esat tieši labi.
Jums būs darīt, ja atvērtā paren vērtība kronšteins vidējā slēgts kronšteinu vienāds
ir vienāds ar vērtību, un iekšā tur kas mums jādara?
Ja mūsu vērtība ir tur, ko mums ir jādara?
>> [interposing BALSIS]
>> STUDENTU: Atgriešanās nulle.
>> Jason Hirschhorn: Atgriešanās taisnība.
>> STUDENTU: Atgriešanās taisnība.
>> Jason Hirschhorn: Michael, ko tas līnija darīt?
>> STUDENTU: [dzirdams] programma darbojas virziena, un tas ir beigusies,
Jūs esat tas, ko jums ir jādara?
>> Jason Hirschhorn: programmu, vai kas?
Šādā gadījumā?
>> STUDENTU: funkcija.
>> Jason Hirschhorn: funkcija.
Un tā, lai atgrieztos kāds sauc tas un piešķir tai vērtību, taisnība.
Tieši labi.
Galvenais.
Kas ir atgriešanās tips un galvenais, Michael?
>> STUDENTU: int, vesels skaitlis?
>> Jason Hirschhorn: int, tieši tā.
Skaitlis.
Tas bija tikai jautājums, lai pārliecinātos, ka jums puiši ir uz augšu no tā.
Ko tas parasti atgriežas, ja viss strādā labi?
>> STUDENTU: Zero.
>> Jason Hirschhorn: Zero.
Tieši labi.
>> Students: Ja tas tikai atgriež patiess, nav informācijas tiek sniegta
par to -
Ak, tas ir tikai saprotams, ka tas vērtība ir iekšā masīvā.
>> Jason Hirschhorn: Tieši tā.
Šī programma nav sniegt informāciju par to, kur tieši vērtība.
Tas ir tikai sakot, jā, mēs noskaidrojām tas vai nē, mēs neatradām to.
Tātad, ja skaitlis atrasts, atgriezties true.
Nu, patiesībā mēs tikko izdarījām, kas patiešām ātri ar šo vienu rindiņu kodu.
Tāpēc es pārvietot šo līniju pseudocode.
>> STUDENTU: Vai nav mums vajag lai mainītu masīvu?
Tai jābūt vērtībām, nevis vērtība, vai ne?
>> Jason Hirschhorn: Sorry.
Paldies.
>> STUDENTU: Jā.
>> Jason Hirschhorn: Šī līnija jābūt vērtībām.
Tieši labi.
OK.
Tātad mēs esam paskatījās vidū sarakstā.
Ja skaitlis konstatēts atgriešanās taisnība.
Turpinot ar mūsu pseudocode, ja vidū ir lielāks, meklēt pa kreisi.
Tāpēc man bija šeit, ja numurs augstāka, meklēt pa kreisi.
Konstantīns, jūs varat dot man šo rindiņu kodu?
>> Students: Ja vērtība vidu -
>> Jason Hirschhorn: Tātad, ja vērtība -
ja atklāta paren vērtības kronšteinu vidējā close bracket -
>> Students: ir mazāka nekā vērtība?
>> Jason Hirschhorn: Vai mazāk nekā.
>> STUDENTU: Mazāk nekā vērtība.
>> Jason Hirschhorn: vērtība.
Nu, patiesībā, jūs vēlaties, lai pārbaudiet, vai numurs -
Piedodiet.
Tas ir nedaudz mulsinoši.
Bet cits, ja numurs vidū saraksts ir lielāks.
>> STUDENTU: Ak, OK.
>> Jason Hirschhorn: Es mainīt.
Cits ja vidū ir lielāks, mēs vēlaties meklēt pa kreisi, OK?
Un ko mēs darām iekšā to, ja nosacījums?
>> STUDENTU: Vai es varu veikt nelielas izmaiņas nosacījums, mainīt to uz cits, ja?
>> Jason Hirschhorn: cits, ja?
OK.
Lai šis kods veiks apmēram tāds pats.
Bet jauka lieta par izmantojot, ja cits ja, kas cits, ja vai, kas cits, ja cits
nozīmē, ka tikai viens no tiem, kas notiek pie jāpārbauda, ​​ne visi trīs no tiem,
iespējams.
Un kas padara to mazliet nicer uz datoru, kas ir
rādīt savu programmu.
>> Tātad [? Konstantīns?]
mēs esam šo līniju iekšpusē, kas cits, ja vērtības, kronšteins vidū close kronšteins
ir lielāks par vērtību.
Kas mums jādara?
Mums ir nepieciešams, lai meklētu pa kreisi.
Kā mēs to darām?
Es esmu gatavojas sniegt jums sākums.
>> Mums ir šīs divas lietas, ko sauc sākas un beidzas.
Tātad, kas nepieciešams, lai notiktu sākumā?
Ja jūs vēlaties meklēt pa kreisi no sarakstu, mēs mūsu pašreizējo sākums.
Ko mums darīt?
>> STUDENTU: Mēs noteikti sākumu līdz vidum plus 1.
>> Jason Hirschhorn: Tātad, ja mēs esam meklējot pa kreisi?
>> STUDENTU: Atvainojiet, vidējā mīnuss -
lai beidzot būtu vidū mīnus 1 un sākumā -
>> Jason Hirschhorn: Un ko notiek sākumā?
>> Students: Tā paliek nemainīgs.
>> Jason Hirschhorn: So nozīme nemainās.
Ja mēs esam meklējot pa kreisi, mēs esam izmantojot tādu pašu sākumu -
tieši labi.
Un beidzas?
Atvainojiet, ko dara beidzas vienāds atkal?
>> STUDENTU: Middle mīnus 1.
>> Jason Hirschhorn: Middle mīnus 1.
Tagad, kāpēc mīnus 1, ne tikai vidū?
>> STUDENTU: vidū ir no attēlu, kas jau, jo mums bija
pārbaudījusi, ka tas ir no?
>> Jason Hirschhorn: Tas ir tieši labi.
Vidū ir no attēla.
Mēs jau pārbaudīts vidū.
Tāpēc mēs nevēlamies "pa vidu", citējot likt pēdiņas beigās, lai turpmāk būt
masīvs, ka mēs meklējam.
Tātad tas ir fantastiski.
>> Cits ja vērtības kronšteinu vidū ir lielāks nekā vērtība beidzas vienāds
vidējā mīnus 1.
Jeff, ko par šo pēdējā rindā?
>> STUDENTU: Else.
Values ​​vidū ir mazāka nekā vērtība?
>> Jason Hirschhorn: Mēs ņemšu jūs dodot man cits.
Tātad, ja tu nedod man -
>> STUDENTU: Tātad sākas būtu vidējā plus 1.
>> Jason Hirschhorn: sākums vienāds vidū plus 1, atkal par to pašu
iemesla dēļ, ka Constantine deva mums agrāk.
Un beigās, kurš nav devis man koda rindu vēl?
Atgriezties viltus, Aleha, ko mēs rakstām šeit?
>> STUDENTU: Atgriešanās nepatiesa.
>> Jason Hirschhorn: Atgriešanās nepatiesa.
Un mums tas ir jādara, jo, ja mēs nav atrast to, mums ir nepieciešams pateikt, ka mēs
neatrada to.
Un mēs teicām, mēs ejam, lai atgrieztos bool, tāpēc mums noteikti ir jāatgriežas
bool kaut kur.
>> Tā ļauj palaist šo kodu.
Es tiešām gatavojas -
tāpēc mēs esam terminālī.
Mēs notīrītu savu logu.
Veidosim visu.
Mēs atradām tur ir viena kļūda.
Tur ir kļūda līnijas 15, sagaidāms Semikolu beigās
deklarācija.
Tātad, ko es aizmirstu?
>> STUDENTU: Semikols.
>> Jason Hirschhorn: Semikols pa labi šeit.
Es domāju, ka bija Toma kodu.
Tātad Tom, [nedzirdama].
Just kidding.
Darīsim darīt visu no jauna.
>> STUDENTU: Ko Dropbox katalogs mums būtu par šo?
>> Jason Hirschhorn: Tātad jūs varat vienkārši skatīties šo mazliet.
Bet atkal, ja jūs vēlaties, lai pārvietotu to kodu savā pset3 direktorijā, lai mēģinātu
it out, tas ir tas, ko es darīju.
Ja jūs pamanīsiet šeit - žēl, labs jautājums.
>> [? LS,?]
Man šeit find.c kodu No šīs nedēļas distro kodu.
Man ir helpers.h.
Man ir Make fails, ka es tiešām edited mazliet iekļaut šos jaunos
faili mēs esam rakstiski.
Visu šo kodeksa būs pieejama, nav sadales kodu, bet jaunā
Padara failu, jaunais helpers.h fails tiks būs pieejama internetā lejupielādei.
Atkal, tāpēc tie ir papildu kodus mēs esam.
>> Tātad, lai visiem, par šīs līnijas, padara atrast, binārā, burbulis izvēle - markas
visi trīs un apkopo par Tas izpildāmā koda atrast.
Tātad kopumā, mēs negribam taisni uz check50.
Mēs vēlamies, lai palaistu dažas pārbaudes par mūsu pašu.
Bet tikai, lai mēs varētu paātrināt šo mazliet, check50 2013 pset3.find pāries
in helpers.c-- mana slikti.
>> Man nav, ka tieši tagad.
Tātad, mēs esam patiešām gatavojas palaist kodu reāli.
Usage.find /, jūs zināt, ko tas nozīmē?
>> STUDENTU: Jums ir nepieciešams otru komandrindas par to.
>> Jason Hirschhorn: Man vajag Otrajā komandrindas.
Un vienu specifikāciju, man ir nepieciešams ievadīt, ko mēs meklējam.
Tātad, pieņemsim meklēt 42.
Mēs turpināsim to šķiroti, jo mēs nerakstīju kārtošanas funkcija vēl -
42, 43, 44.
>> Un kontroles D neatradu adatu siena kaudzē.
Tas ir slikti.
Tas noteikti ir tur.
Pamēģināsim kaut ko citu.
Varbūt tas ir tāpēc, ka man tā sākumā.
>> Darīsim 41, 42, 43.
Tur mēs ejam.
Tas atradis.
Palūkosimies uz to beigās, tagad, tikai lai mēs varētu būt pamatīga -
40, 41, 42.
Neatrada adatu.
Tāpēc es pieminēju šo agrāk.
Diemžēl, es zināju, ka tas kas notiks.
>> Bet pedagoģiskajiem mērķiem, tas ir labi, lai to izpētītu.
Tas nedarbojas.
Kaut kādu iemeslu dēļ, tas nevar atrast.
Mēs zinām, kas ir tur, bet mums nav atrast to.
Tātad viena lieta, ko mēs varētu darīt, ir iet cauri GDB to atrast, bet vai kāds,
bez iet caur gdb, ir sajūtu par to, kur mēs ieskrūvē up?
[? Madu? ?]
>> STUDENTU: Es domāju, ka tas varētu būt tad, kad beidzot ir vienāds ar sākuma, un tas ir
tikai vienu elementu sarakstu.
Tad tas vienkārši ignorē to, nevis faktiski tā pārbaudi.
>> Jason Hirschhorn: Tas ir tieši labi.
Kad beidzas vienāds sākumā, mēs vēl ir elements mūsu sarakstā?
>> STUDENTU: Jā.
>> Jason Hirschhorn: Jā, patiesībā, mēs ir viens un tikai viens elements.
Un tas, visticamāk, notiks, kad, vienu kodu mēs pārbaudīta, mēs esam
priekšējā siena kaudzē vai gals kaudzē.
Tas ir, ja sākums un beidzot būs vienāda
viens ar bināro meklēšanu.
Tātad šajos divos gadījumos, tas nav darbs, jo beidzot bija vienāda sākuma.
>> Bet, ja beidzot ir vienāds ar sākuma, tas savukārt cilpa izpildīt?
Tā nav.
Un mēs varētu būt jāpārbauda ka atkal caur gdb.
Tātad, kā mēs varam noteikt šo kodu, jo ja vienlaikus beidzot ir vienāds
sākuma, mēs arī vēlamies, lai šī kamēr cilpa, lai palaistu.
>> Tātad, ko noteikt mēs varam dot 18 rindā?
>> STUDENTU: [dzirdams] ir lielāka par vai vienāds ar.
>> Jason Hirschhorn: Tieši labi.
Kamēr beidzot ir lielāks nekā vai vienāds ar sākuma.
Tāpēc tagad, mēs pārliecināmies, lai iegūtu, ka stūra case beigās.
Un redzēsim.
Pieņemsim palaist šo vēl vienu reizi.
>> Veidosim visiem.
Atkal, jums ir tikai sekot līdzi šeit.
Atrast 41 šoreiz.
Tikai glabāt to konsekventi.
>> Atrast 42.
Palūkosimies uz to sākumā -
42, 43, 44.
Mēs atradām to.
Tāpēc, ka patiešām bija izmaiņas mums vajadzēja darīt.
>> Tas bija daudz kodēšanas mēs tikko bija, bināro meklēšanu.
Vai kāds ir kādi jautājumi, pirms Es pāriet līnijās mēs wrote
bināro meklēšanu vai kā mēs rakstainas , ko mēs neesam izdomāt?
Pirms mēs virzāmies tālāk, es arī vēlos norādīt out ka kopumā mēs samērot
mūsu pseido-kods viens viens uz mūsu kodu.
>> Mums tomēr ir, ka grūts lieta lai noskaidrotu, ar
sākas un beidzas.
Bet vēl jums nav izpētījuši, ka no jums būtu rakstīts diezgan daudz
identisks kods, izņemot šie top divas līnijas.
Un tad jūs būtu sapratuši, ja veicāt to pārbaudes un gadījumos, kas
jums ir nepieciešams kaut kas cits.
Tātad, pat ja Jums bija pēc mūsu pseido-koda līnija uz līniju, jūs esat
gotten visiem, bet divas rindiņas kodu jums nepieciešams rakstīt.
>> Un es gribētu būt gatavs derēt, ka jūs guys būtu viss, sapratu, ka no
diezgan ātri, kas jums nepieciešams, lai daži marķieri veida, kas tur, lai noskaidrotu
, kur jūs bijāt.
Tas atkal ir spēks darīt pseido-kodu pirms laika.
Tātad, mēs varam darīt loģiku, pirmkārt, un pēc tam mēs varam jāuztraucas par sintaksi.
>> Bija mums ir sajaukt par loģiku Mēģinot rakstīt šo kodu C,
mēs esam gotten visu messed up.
Un tad mēs gribētu būt uzdodot jautājumus par loģika un sintakse un meshing
tos visus kopā.
Un mēs esam gotten zaudējis , ko var ātri kļūt
ļoti sarežģīta problēma.
Tātad, pieņemsim pāriet tagad uz atlases veida.
>> Mums ir palikušas 20 minūtes.
Tāpēc man ir sajūta, ka mēs nebūsim spējīgi izietu cauri visiem atlases veida
un burbulis kārtošanas.
Bet ļaujiet mums vismaz mēģinājums lai pabeigtu atlases veida.
Tāpēc jāīsteno izvēli kārtot, izmantojot šādu funkciju deklarāciju.
>> Again, tas ir ņemts no problēma noteikti specifikāciju.
Int vērtības ir iekavās, ir masīvs veseli skaitļi.
Un int.n ir lielums šī masīva.
Atlases veida notiek kārtot šo masīvu.
>> Tāpēc par mūsu garīgo modeli izvēles kārtot, mēs pull -
pirmkārt, mēs iet cauri sarakstam pirmais laiku, atrast mazākais skaits,
nodot to sākumā, atrast otro mazākais skaitlis, ielieciet to
otro pozīciju, ja mēs gribam, lai Kārtot augošā secībā.
Es neesmu piespiežot jums rakstīt pseido-kods tiesības tagad.
>> Bet, pirms mēs to kodu, kā klases piecas minūtes, mēs rakstīt
pseido-koda tāpēc mums ir kāda jēga par to, kur mēs ejam.
Tāpēc mēģinājums rakstīt pseido kodu par savu.
Un tad mēģināt pārvērst, ka pseido-kodu uz kodu.
Mēs darīsim, ka grupa piecu minūšu laikā.
>> Un, protams, ļaujiet man zināt, ja Jums ir kādi jautājumi.
>> STUDENTU: Ka tā?
>> Jason Hirschhorn: redzēt, cik tālu jūs var saņemt vairāk divās minūtēs.
Es saprotu, jums nav varētu pabeigt.
Bet mēs iet pār to kā grupa.
>> Jūs visi kodēšanas tik [dzirdams], tāpēc es esmu žēl, lai apturētu to, ko jūs darāt.
Bet iesim cauri to kā grupa.
Un atkal, bināro meklēšanu, jums visiem dot man vienu, ja ne vairākas līnijas kodu.
Paldies par to.
Mēs ejam, lai darīt to pašu Šeit, kods kopā kā grupa.
>> Tātad izvēle kārtot - pieņemsim rakstiet daži ātri pseido-kodu.
Per mentālajā modelī, var kāds sniegt man pirmajā rindā pseido-kodu, lūdzu?
Ko es gribu darīt?
>> STUDENTU: Kamēr saraksts nedarbosies.
>> Jason Hirschhorn: OK, bet saraksts ir bojātas.
Un ko tu domā "ārpus pasūtījuma?"
>> STUDENTU: Kaut [dzirdams]
nav sakārtots.
>> Jason Hirschhorn: Kamēr saraksts ir bojātas, ko mēs darām?
Dodiet man otrajā rindā, lūdzu, Marcus.
>> STUDENTU: Tāpēc atrast nākamais mazākais skaitlis.
Tas tiks atkāpi.
>> Jason Hirschhorn: Tāpēc atrast nākamais mazākais skaitlis.
Un tad kāds cits?
Pēc tam, kad mēs redzam, nākamais mazākais skaitlis, ko mēs darām?
Es esmu gatavojas teikt atrast mazākais skaitlis.
Tas ir tas, ko mēs vēlamies darīt.
>> Tāpēc atrast mazāko numuru.
Tad ko mēs darām?
>> STUDENTU: [dzirdams] uz sākumu.
>> Jason Hirschhorn: Sorry?
>> STUDENTU: Novietojiet to saraksta sākumā.
>> Jason Hirschhorn: Tātad novietojiet to sākums saraksta.
Un ko mēs darām, lai lieta , kas bija sākumā
no saraksta, labi?
Mēs pārrakstot kaut ko.
Tātad, ja mēs uzdodam šo?
Jā, Anna?
>> STUDENTU: Kur mazākais skaits bija?
>> Jason Hirshhorn: Tātad nodot sākumu no saraksta, kurā
mazākais skaits bija.
Tāpēc, kamēr saraksts ir bojātas, atrast mazākais skaitlis, to ievieto
sākums saraksta, ielieciet saraksta sākumā, kur
mazākais skaits bija.
Marcus, jūs varat pārfrāzēt šo līniju kamēr saraksts ir bojātas?
>> STUDENTU: Lai gan skaitļi nav sakārtoti?
>> Jason Hirshhorn: Labi, tāpēc, lai zina, ka skaitļi nav bijuši
sakārtoti, kas mums jādara?
Cik daudz mums ir nepieciešams, lai iet caur šo sarakstu?
>> STUDENTU: Tāpēc es domāju, cilpa, vai bet, kamēr pārbauda skaits ir mazāks
par garumu saraksta?
>> Jason Hirshhorn: OK, tas ir labi.
Es domāju, ka es misphrased mans jautājums slikti.
Man bija tikai mēģina nokļūt pie Mēs ejam, lai iet
cauri visam sarakstam.
Tātad, kamēr saraksts ir nedarbojas, man ir grūti karti.
Bet būtībā, tas ir kā Es par to domāju.
Iet cauri visam sarakstam, atrast mazākais skaitlis, to ievieto
sākums - faktiski, tev taisnība.
Palūkosimies uz viņiem abiem.
>> Tātad, kamēr saraksts ir bojātas, mēs jāiet cauri visam sarakstam
vienreiz atrast mazākais skaits, vieta tā sākumā saraksta, kas iesaiņota
sākums saraksta, kurā mazākais skaits ir, un tad, ja
sarakstā joprojām nedarbojas, mēs esam got iet caur šo
process atkal, vai ne?
Tas ir iemesls, kāpēc izvēle kārtot, Big-o Runtime atlases veida, kāds?
>> STUDENTU: n brusas.
>> Jason Hirshhorn: n brusas.
Tāpēc, ka, piemēram, Marcus un es tikko sapratu šeit, mēs esam nāksies
iet caur sarakstu sarakstu vairākas reizes.
Tā iet cauri kaut garums n n reižu skaitu
faktiski ir n brusas.
>> Tātad šī ir mūsu pseudocode.
Tas izskatās ļoti labi.
Vai kāds ir kādi jautājumi par pseudocode?
Jo patiesībā atlases veida vajadzētu droši vien nāk viens uz vienu, kodu no
pseudocode.
Tātad kādi jautājumi par loģika pseudocode?
Lūdzu, jautājiet to tagad.
>> Atlase kārtot - kamēr saraksts ir out kārtības, mēs ejam, lai iet caur to
un atrast mazāko katru reizi un nodot to priekšā.
Tātad, kamēr saraksts ir nedarbojas, var kāds man šo rindiņu kodu, kas
man nav devis līnijas kodu vēl, lūdzu?
Tas izklausās, ko?
>> STUDENTU: Tas ir cilpa.
>> Jason Hirshhorn: Tas izklausās patīk cilpa.
Labi, jūs varat sniegt man par cilpu?
Par -
>> STUDENTU: i ir vienāds ar 0.
>> Jason Hirshhorn: i vai -
ko mēs trūkst?
Kas notiek tieši šeit?
>> STUDENTU: Int.
>> Jason Hirshhorn: Tieši tā.
(Int i = 0, -
>> Students: i <n; i + +).
>> Jason Hirshhorn: pavirši to, Jeff.
Mēs ejam cauri sarakstam, vai ne?
Mēs esam redzējuši šo kodu pirms.
Perfekta.
Tā ļauj īstenot mūsu cirtaini lencēm šeit.
Es esmu gatavojas īstenot dažus cirtaini bikšturi šeit.
>> Tāpēc, kamēr tas ir 0, mums ir jāiet izmantojot visu sarakstu.
Lai katru reizi, kad mēs ejam cauri sarakstam, ko mēs gribam, lai sekotu?
>> Students: Ja kāds mijmaiņas darījumi tiek veikti.
>> Jason Hirshhorn: Atrast mazākais skaitlis.
Lai mēs būtu iespējams izsekot mazākais skaitlis katru reizi.
Tāpēc līniju es varu darīt, lai sekotu ar vismazāko uzņēmumu skaitu?
Aleha, kā es varu saglabāt dziesmu kaut ko?
>> STUDENTU: Sākt jaunu mainīgo.
>> Jason Hirshhorn: Sākt jaunu mainīgo.
Tātad, pieņemsim izveidot mainīgo.
Kāda veida?
>> STUDENTU: Int.
>> Jason Hirshhorn: Int.
Sauksim to mazāko.
Un ko tas ir vienāds, ja Mēs esam tikko sākusies out?
Mēs neesam izgājuši cauri sarakstam vēl.
Mēs esam pirmajā daļā uzskaitīt mūsu pirmo reizi cauri.
Ko tas ir vienāds, mazākais skaitlis?
>> STUDENTU: noteiktajām vērtībām.
>> Jason Hirshhorn: noteiktajām vērtībām.
Tas izklausās tieši labi, vai ne?
Vismazāk sākumā ir vieta, kur mēs esam.
Tāpēc tagad mums ir mūsu mazākais, un mums ir nepieciešams iet cauri visam sarakstam un
salīdzināt šo mazākais viss pārējais.
Tāpēc mēs ejam cauri sarakstam atkal?
Michael?
>> STUDENTU: Jums ir nepieciešams, lai otru cilpu.
>> Jason Hirshhorn: Vēl viena cilpa.
Darīsim to.
Dodiet man kādu kodu.
>> STUDENTU: Par cilpa -
lai mazākais -
tikai int j, jūs varētu teikt?
= 0, tādas, ka -
>> Jason Hirshhorn: Nu, ja mēs gribam iet cauri visam sarakstam -
>> Students: j <n, j + +).
>> Jason Hirshhorn: Fantastic.
Mēs ejam, lai iet cauri cilpa atkal.
Un kā mēs atrast mazākais skaitlis?
Tom?
Mums ir pašreizējā mazākais skaits, Tātad, kā mēs atrast jaunu mazākais?
>> STUDENTU: Mēs varam pārbaudīt, vai mazākā skaits mums ir lielāka nekā
vērtības kronšteins j.
>> Jason Hirshhorn: Tātad, ja mazākais pārsniedz vērtības nobīdi j.
Tātad, ja mūsu pašreizējā mazākais ir lielāks nekā -
Es esmu gatavojas pārvietot šīs divas līnijas kodu, kas tur par sekundi.
Jo pirms mums darīt jebkādu pārnešana, mēs jāiet cauri visam sarakstam.
Tāpēc šis pseudocode būtu reāli ir ārpus, ka iekšējais uz cilpas.
Tā iet cauri visam sarakstam.
Ja mazākais ir lielāks nekā vērtībām j tad kādi?
>> STUDENTU: Tad mazākais vienāds vērtības j.
>> Jason Hirshhorn: Fantastic.
Viens ātrs jautājums -
Pirmo reizi mēs iet caur šo cilpu, i notiek, ir vienāds ar 0, j notiek
uz vienlīdzīgu 0, kad mēs šeit.
Tātad, mēs ejam, lai salīdzinātu numuru sevi.
Ir tas, ka efektīva?
Nē, tas nav īsti efektīva.
Tā nav mūsu j jādodas no 0 līdz n ikreiz?
Vai mēs vienmēr nepieciešams, lai pārbaudītu cauri visam sarakstam?
[Dzirdams]?
>> STUDENTU: Sākt ar i vietā.
>> Jason Hirshhorn: j Can sākt ar ko?
>> STUDENTU: i.
>> Jason Hirshhorn: j var sākt ar i.
Tāpēc tagad mēs salīdzinām sākuma ar vienu mēs esam par.
Bet pat tad, ir, ka efektīva, cik iespējams?
>> STUDENTU: i + 1.
>> Jason Hirshhorn: i + 1, šķiet, ir visefektīvākā, jo mēs
jau ir i.
Mēs esam norādot, ka mazākais rindā 15.
Mēs ejam, lai sāktu ar nākamais automātiski.
Tātad mēs iet cauri, lai cilpu.
Mēs iet caur katru reizi.
Mēs iet cauri vairākas reizes.
Tagad mēs esam gotten cauri šī iekšējā cilpa.
Mums ir vismazākā vērtība ietaupa.
Mums ir nepieciešams, lai tā būtu pēc saraksta sākumā.
Tātad, kā es varu novietot to saraksta sākumā?
Kas ir mainīgais, kas attiecas lai saraksta sākumā?
Mēs esam šajā ārpusē uz cilpas, lai to, kas attiecas uz
saraksta sākumā?
>> STUDENTU: noteiktajām vērtībām.
>> Jason Hirshhorn: Tieši labi.
Vērtības i ir sākums -
vai žēl, nevis sākums.
Tas bija mulsinoši.
Tas ir, ja mēs sākumā neatlasīti daļa no saraksta.
Tāpēc vērtības i.
Un kas tas ir vienāds?
>> STUDENTU: Mazākais.
>> Jason Hirshhorn Vērtības i ir vienāds, ko?
>> STUDENTU: Mazākais.
>> Jason Hirshhorn: Mazākais.
Tieši labi.
Tāpēc mēs esam ievietojot to sākumā saraksta, un tagad mums ir nepieciešams, lai
sākums saraksta, kurā mazākais skaits bija.
Tātad, kā es varu uzrakstīt, ja mazākais skaits bija?
Vērtības, ko?
>> STUDENTU: 0.
>> Jason Hirshhorn: mazais numurs ir pie 0?
>> STUDENTU: Jā.
>> Jason Hirshhorn: Ko darīt, ja mazākais skaits ir beigās
tas nešķiroti sarakstu?
>> STUDENTU: Atvainojiet, kāds bija jautājums?
>> Jason Hirshhorn: Kur ir mazākais skaitlis?
Mēs ņēmām mazākais un nodot to sākot ar šo līniju tieši šeit.
>> STUDENTU: Tas būtu uzglabāta daži -
>> STUDENT Vērtības j.
>> Jason Hirshhorn: Nu, tas ir ne vienmēr ir vērtības j.
Tas nav pat neeksistē šajā brīdī.
>> STUDENTU: Jums ir jādeklarē mainīgo agrāk un
tad uzdot to -
kad jūs atradīsiet mazākais skaits, piešķirt indeksu šo numuru, lai
daži mainīgais vai kaut kas tamlīdzīgs.
>> Jason Hirshhorn: Līdz ar to var jūs sakāt, ka atkal?
>> STUDENTU: Tātad, ja jums ir deklarēta int mazākais, jums vajadzētu atzīt, int
mazākais rādītājs = i, vai kaut kā tā.
>> Jason Hirshhorn: Tātad, kur es int mazākais, es ne tikai sekot
no lieluma, bet vietām.
int smallest_location = šajā gadījumā, mēs tikai man.
Mums ir nepieciešams zināt, kur tas ir.
Mēs got beigām kodu, un mēs sapratām, mums nebija ne jausmas, kur tas bija.
Un tā atkal, mēs esam kartēšana šo par 00:59.
Jūs puiši kodēšanas šo par savu gribu iespējams iegūt vienu un to pašu problēmu.
Kā heck es varu atrast to?
Un tad tu saproti, pagaidiet, es ir nepieciešams, lai izsekotu tā.
>> Tātad, ja mazākais ir lielāks nekā vērtības j.
Mēs noteikti mazākais ir vienāds ar vērtību j.
Kas vēl mums ir jāmaina?
Constantin, ko vēl darīt mums ir jāmaina?
>> STUDENTU: vieta.
>> Jason Hirshhorn: Tieši tā.
Tāpēc man šo līniju kodu.
>> STUDENTU: smallest_location = j.
>> Jason Hirshhorn: Tieši tā.
Un tad uz leju beigās, ja mēs gribam, lai ielieciet sākumu saraksta, kurā
mazākais skaits bija, cik Vai mēs atsaucamies uz to, kur
mazākais skaits bija?
Marcus?
>> STUDENTU: mazākais skaits bija atrodas mazākā vietā.
>> Jason Hirshhorn: Tātad vērtībām smallest_location.
Un ko mēs ieliekam tur?
Gada sākums sarakstu, kas ir kas?
>> STUDENTU: Nu, mēs īsti nezinām vairs, jo mēs pārrakstīja.
Tāpēc tas ir samainīti vietām no šīm divām līnijām?
Ja jūs slēdzis šos divus līnijas apkārt.
>> Jason Hirshhorn: Labi, tāpēc mums nav vairs, jo mēs esam reset līnija
Pirms vērtībām i uz vismazāko.
Tāpēc mēs zaudējām šo sākotnējo vērtību.
Tātad, jūs teicāt, swap šīs divas līnijas.
Tātad tagad nodot sākumu saraksta kur mazākais skaits bija.
Tāpēc smallest_location vienāds vērtības i.
Kas virzās sākumā šajā neatlasīti daļa no saraksta
mazākais vietu.
Un pēc tam uz vērtībām, es, mēs esam pārvietojas ka mazākais skaitlis.
>> Vai tas ir jēga, kāpēc mēs bija jāveic šo swap?
Mēs būtu pārrakstīti šo vērtību - Vēl viena lieta, jūs, iespējams, būs
izpētījuši, un konstatēja IKP.
Tāpēc mēs esam parūpējušies par visi pseudocode.
Vai ir kaut kas cits, mēs nepieciešams, lai rakstītu šeit?
Vai kāds domā par kaut ko?
>> STUDENTU: Kā jūs zināt, Kad tas ir izdarīts?
>> Jason Hirshhorn: Kā mēs zināt, kad mēs esam darījuši?
Liels jautājums.
Tātad, kā mēs zinām, kad mēs esam darījuši.
>> STUDENTU: Izveidot mainīgo, lai saglabātu skaits un, ja tur ir swap, kas ir vai nav
un iet caur caurlaide.
>> Jason Hirshhorn: OK.
Kas varētu strādāt burbulis veida.
Bet atlases veida, ja mums nav veikt mijmaiņas, kas var tikai
jo mazākā vērtība ir tajā tās pareizo vietu.
Mums, iespējams, ir saraksts 1, 2, 4, 3.
Otro reizi cauri mēs nebūs nekādas mijmaiņas darījumus.
Mēs būsim uz numuru 2, bet mēs joprojām ir nepieciešams, lai saglabātu turpinās.
Tāpēc mums ir nepieciešams, lai sekotu, kad mēs esam darījuši, vai arī mēs vienkārši gribam iet
līdz brīdim, kad tas ir pabeigts?
>> STUDENTU: Mēs varam tikai iet līdz brīdim, kad tas ir pabeigts.
>> Jason Hirshhorn: Mēs varam tikai iet, līdz tas ir pabeigts.
Burbulis veida, jūs esat tieši labi, Jeff un Aleha, ar savu risinājumu -
tas ir liels, lai izsekot, cik daudz mijmaiņa veicāt, jo burbulis
kārtot, ja jūs faktiski nav nekādas mijmaiņas darījumi, jūs esat darīts, un jūs varat varbūt samazināt savu
Problēma leju mazliet.
Bet atlases veida, jūs esat patiešām got iet līdz beigām
uzskaitīt katru reizi apkārt.
>> Tātad tas, ka.
Mums ir palikušas divas minūtes.
Veidosim visiem.
Ļaujiet man tikai atvērt atrast šeit un padarīt pārliecināts, ka es esmu patiešām aicinot uz augšu -
Es neesmu aicinot burbulis veida.
Pieņemsim mainīt uz atlases veida.
darīt visu. / atrast.
Let 's uzzināt 42.
Šoreiz mēs gatavojamies nodot nešķiroti sarakstā, jo tas būtu jāsašķiro
pirmkārt, vienu atrast kodu - būtu jāsašķiro Pirmais, izmantojot mūsu šķirošanas funkciju un pēc tam
meklēt kaut ko.
Īkšķus ikvienam.
>> Ak, mans Dievs.
Paga, mana sirds pukstēja.
Tātad tas ir pareizs.
Patiesībā, ja mums bija tas vairāk plaši, kodu, cik vien varu
pateikt, ir pilnīgi pareizs.
Ir daži ieteikumi Man būtu jums.
Piemēram, 15 un 16 šķiet mazliet lieks.
Šķiet, tāpat kā jums nav obligāti nepieciešams, lai saglabātu gan tos.
Ja Jums ir mazākais atrašanās vietu, jums var viegli atrast mazāko vērtību
vienkārši ierakstot vērtības i.
>> Tātad, ja es būtu šķirošanas savu kodu, kas es patiesībā būs, es būtu
iespējams pacelties punktu, ja ietverts gan no šiem, jo ​​jums
nav nepieciešams gan no tiem.
Ja jums ir vietā, jūs varat ir ļoti viegli iegūt vērtību.
Un šķiet mazliet dīvaini uzglabāt gan no tiem.
Varbūt nav pat veikt punktu, bet protams, komentēt, ka tas ir iespējams
nav stilistisko izvēle jums ir nepieciešams veikt.
Protams, kods vēl iet ļoti labi.
>> Tāpēc diemžēl mēs neesam nokļūt burbulis veida.
Es atvainojos par to.
Mēs to darījām finiša atlases veida.
Vai kāds ir kādi gala jautājumi par atlases veida?
>> Labi, pirms mēs galvu ārā, es gribu jums atvērt savu Chrome pārlūku.
Žēl, ka bija tikai kliedzošs plug viena veida interneta pārlūku.
Jūs varat atvērt jebkura veida pārlūku, bet tas droši vien būs Chrome.
Un doties uz šo tīmekļa vietnē -
sayat.me/cs50.
Ja jūs neesat rakstīt datorā tieši tagad, jūs esat skaidri
to nedarīšu, Tom.
>> Un, lūdzu, dariet to pa labi tagad vai nākamajā stundā -
sniegt man atsauksmes.
Tas ir tikai divi sadaļā.
Mums ir daudz vairāk kopā, tāpēc es ir daudz vietas, lai uzlabotu.
Es, cerams, arī bija dažas lietas labi.
Tātad jūs varat darīt man justies visi slikti, bet, ja Jūs arī vēlaties, lai dotu man smaidiņu
sejas, es saprotu, ka, kā labi.
Aizpildīt, ka iekšā
>> Un ar vienu minūti pa kreisi, tas bija nedēļas trīs.
Es stāvēt ārā mazliet Ja jums ir kādi jautājumi.
Es redzu, ka jūs guys lekciju rīt.