1 00:00:00,000 --> 00:00:10,982 2 00:00:10,982 --> 00:00:11,940 DAVID Malan: Kull dritt. 3 00:00:11,940 --> 00:00:16,470 Allura dan huwa CS50, u dan huwa issa l-bidu ta 'tliet ġimgħat. 4 00:00:16,470 --> 00:00:19,960 >> Allura sa issa, konna ġie kitba programmi C 5 00:00:19,960 --> 00:00:23,210 li tfittex ftit xi ħaġa bħal din hawn. 6 00:00:23,210 --> 00:00:25,470 Allura konna ltqajna koppja ta ' sharp jinkludi fil-quċċata. 7 00:00:25,470 --> 00:00:28,490 Imxejna ltqajna int, prinċipali, null, u imbagħad xi ħaġa li tagħmel fin-nofs, 8 00:00:28,490 --> 00:00:30,590 xi ftit ta 'kodiċi ġewwa ta 'dik il-funzjoni. 9 00:00:30,590 --> 00:00:34,170 Iżda ewlenija kienet il-fatt li konna qed tgħid null hawn. 10 00:00:34,170 --> 00:00:39,320 Allura null, kollu ta 'dan iż-żmien, jispeċifika li dan il-programm, meta jitħaddmu, 11 00:00:39,320 --> 00:00:41,300 jistgħu jitmexxew biss permezz isem tagħha. 12 00:00:41,300 --> 00:00:46,330 Inti ma tistax tip xi kliem ieħor jew numri wara isem tal-programm meta 13 00:00:46,330 --> 00:00:46,830 running. 14 00:00:46,830 --> 00:00:51,200 Allura, per eżempju, jekk il-programm kienu kkompilata fis-fajl imsejjaħ hello, 15 00:00:51,200 --> 00:00:53,480 inti tista 'tagħmel ./hello, iżda li huwa. 16 00:00:53,480 --> 00:00:56,750 >> L-uniku mod li inti tista ' jipprovdu input għal dan il-programm 17 00:00:56,750 --> 00:00:57,960 huwa billi ssejjaħ il-funzjoni. 18 00:00:57,960 --> 00:00:59,790 Per eżempju, liema funzjoni li aħna kienu jużaw s'issa 19 00:00:59,790 --> 00:01:00,950 biex tikseb input mill-utent? 20 00:01:00,950 --> 00:01:02,117 >> UDJENZA: Get string. 21 00:01:02,117 --> 00:01:04,700 DAVID Malan: Biex tikseb string, jew nikseb int, jew inti stajt tidher oħrajn, 22 00:01:04,700 --> 00:01:07,630 anki jekk int ma użati minnhom għadhom, bħal nikseb twil, twil u simili. 23 00:01:07,630 --> 00:01:09,380 Iżda jissoponi li aħna fil-fatt tixtieq li tibda 24 00:01:09,380 --> 00:01:12,760 kitba programmi li huma ftit aktar versatili, u, franchement, ftit aktar 25 00:01:12,760 --> 00:01:15,090 bħall-kmandi li inti stajt ġew jkollna, wieħed jittama, 26 00:01:15,090 --> 00:01:16,550 ftit mdorri. 27 00:01:16,550 --> 00:01:18,560 Bħal cd ispazju Dropbox. 28 00:01:18,560 --> 00:01:20,800 Dan, naturalment, bidliet tiegħek direttorju, jekk wieħed jassumi 29 00:01:20,800 --> 00:01:23,590 int fid-dar John Harvard direttorju, biex folder Dropbox tiegħek. 30 00:01:23,590 --> 00:01:27,380 Sadanittant, kmand bħal dan toħloq direttorju ġdid imsejjaħ pset2, 31 00:01:27,380 --> 00:01:30,290 kif inti jista 'jkollok diġà jew Hekk għal problema se sett tnejn. 32 00:01:30,290 --> 00:01:33,970 Jagħmlu Hello, naturalment, huwa kmand li jibni programm imsejjaħ bonjour 33 00:01:33,970 --> 00:01:35,770 minn fajl imsejjaħ bonjour dot c. 34 00:01:35,770 --> 00:01:39,140 U f'kull wieħed minn dawn każijiet, issa, aħna kellna 35 00:01:39,140 --> 00:01:43,620 tipprovdi argument fuq l-hekk imsejħa linja ta 'kmand, il-pront Teptip, 36 00:01:43,620 --> 00:01:48,540 hekk li jagħmlu jaf dak li jibnu, u hekk li mkdir jaf liema folder biex joħolqu, 37 00:01:48,540 --> 00:01:51,110 u sabiex cd jaf fejn inti tixtieq li tmur. 38 00:01:51,110 --> 00:01:54,720 Imma sa issa, inżommu qal li prinċipali, il-funzjoni default tiegħek, 39 00:01:54,720 --> 00:01:58,500 għandha espressjoni vojt ġewwa ta 'dawk parentesi, 40 00:01:58,500 --> 00:02:01,250 li jfisser li ma tistax tieħu ebda argument. 41 00:02:01,250 --> 00:02:03,240 >> Allura jibdew illum, dak li aħna qed tmur biex tagħmel 42 00:02:03,240 --> 00:02:06,270 huwa, aħna qed tmur biex tibda appoġġ affarijiet bħal dan anke. 43 00:02:06,270 --> 00:02:08,990 Fil-fatt, f'dan il-każ, li inti ma tipikament manwalment tip, 44 00:02:08,990 --> 00:02:11,130 Jagħmlu kienet tagħmel dan għalina, ma jkunx hemm 45 00:02:11,130 --> 00:02:15,840 wieħed iżda wieħed, tnejn, tlieta addizzjonali kordi wara l-tal-programm jismu 46 00:02:15,840 --> 00:02:16,850 clang. 47 00:02:16,850 --> 00:02:18,240 Allura kif nistgħu jintlaħaq dan? 48 00:02:18,240 --> 00:02:20,260 >> Ukoll, jibdew illum, f'każijiet fejn irridu 49 00:02:20,260 --> 00:02:22,855 biex jipprovdu input permezz tal- hekk imsejħa linja tal-kmand, 50 00:02:22,855 --> 00:02:24,980 aħna qed tmur biex tibda żżid here x'hemm fil yellow-- 51 00:02:24,980 --> 00:02:30,520 tissostitwixxi nulli virgola argc int string ARGV parentesi miftuħa parentesi magħluqa. 52 00:02:30,520 --> 00:02:32,520 Issa dan huwa interessanti għal ftit ta 'raġunijiet. 53 00:02:32,520 --> 00:02:35,690 Wieħed, li għaddej biex let us jiktbu programmi li huma ftit aktar dinamiku. 54 00:02:35,690 --> 00:02:37,570 Iżda, aktar compellingly, li għaddej biex jiftħu 55 00:02:37,570 --> 00:02:40,340 issa konverżazzjoni li dak arrays jista 'verament 56 00:02:40,340 --> 00:02:43,300 jintużaw, għal dak string verament huwa taħt il-barnuża, 57 00:02:43,300 --> 00:02:47,320 sakemm ġimgħa d-dieħla meta nibdew għadis anke aktar fil-fond dwar kif il-magna hija 58 00:02:47,320 --> 00:02:48,590 tagħmel kollha ta 'dan ix-xogħol għalf. 59 00:02:48,590 --> 00:02:51,920 Iżda għal issa, ejja tiġbed, forsi, stampa. 60 00:02:51,920 --> 00:02:54,950 >> Meta inti jikteb programm ma prinċipali ddikjarat 61 00:02:54,950 --> 00:02:58,810 b'dan il-mod, bħal dik prinċipali jieħu żewġ argumenti, ta 'int 62 00:02:58,810 --> 00:03:03,233 and-- liema tip ta 'dejta hija t-tieni argument? 63 00:03:03,233 --> 00:03:04,529 >> UDJENZA: Array. 64 00:03:04,529 --> 00:03:05,320 DAVID Malan: Array. 65 00:03:05,320 --> 00:03:09,170 Allura jidher mad-daqqa t'għajn bħal din hija string, iżda avviż-parentesi kwadri. 66 00:03:09,170 --> 00:03:12,760 Recall aħħar darba aħna introdotti il-kunċett ta 'firxa. 67 00:03:12,760 --> 00:03:16,210 U arrays użu parentesi kwadri fi ftit ta 'kuntesti. 68 00:03:16,210 --> 00:03:19,160 Inti tista 'tuża l-kwadru parentesi li jmorru fis firxa 69 00:03:19,160 --> 00:03:22,710 u jiksbu element partikolari, bħal bracket 0 jew kategorija 1 jew kategorija 2. 70 00:03:22,710 --> 00:03:25,500 Iżda aħna raw, jekk fil-qosor, aħħar ġimgħa li inti wkoll 71 00:03:25,500 --> 00:03:28,790 jużaw dawn parentesi kwadri sa tiddikjara d-daqs ta 'firxa, 72 00:03:28,790 --> 00:03:31,790 jekk inti taf minn qabel kemm ints jew kif kordi ħafna jew kwalunkwe inti 73 00:03:31,790 --> 00:03:32,630 fil-fatt tixtieq. 74 00:03:32,630 --> 00:03:34,790 Għalhekk jirriżulta li hemm f'kuntest tielet hawn 75 00:03:34,790 --> 00:03:37,890 li ma jkollux numru ġewwa tal-parentesi kwadri. 76 00:03:37,890 --> 00:03:41,920 Meta inti tispeċifika, bħala għandi hawn, l-isem ta 'xi ħaġa simili ARGV, 77 00:03:41,920 --> 00:03:44,550 li huwa biss mod fancy ta ' qal argument vector, li 78 00:03:44,550 --> 00:03:47,750 huwa mod ieħor fancy ta ' qal firxa ta 'argumenti, 79 00:03:47,750 --> 00:03:50,870 parentesi miftuħa parentesi magħluqa biss ifisser li inti ma neċessarjament 80 00:03:50,870 --> 00:03:52,960 taf minn qabel kemm hu kbir l-array se tkun, 81 00:03:52,960 --> 00:03:55,070 imma inti taf li għaddej biex tkun firxa. 82 00:03:55,070 --> 00:03:57,320 Mela jekk inti ma tafx il- numru ma tqiegħed fil hemm, 83 00:03:57,320 --> 00:04:01,160 għall parentesi miftuħa parentesi magħluqa ifisser li ARGV mhix string, 84 00:04:01,160 --> 00:04:03,124 iżda firxa ta 'kordi. 85 00:04:03,124 --> 00:04:05,040 Allura sintattikament, jekk inti think lura aħħar ġimgħa, 86 00:04:05,040 --> 00:04:09,460 huwa simili ħafna għall qal xi ħaġa bħal etajiet INT parentesi miftuħa, 87 00:04:09,460 --> 00:04:10,984 u mbagħad xi ħaġa wara. 88 00:04:10,984 --> 00:04:12,150 Allura dak li ma dan look like? 89 00:04:12,150 --> 00:04:13,399 Ejja attwalment tfassal stampa. 90 00:04:13,399 --> 00:04:18,756 Allura meta inti tmexxi dan il-programm ma Main wara li żewġ argumenti definit ġewwa 91 00:04:18,756 --> 00:04:21,339 ta 'dawk parentesi, inti essenzjalment jkollhom talanqas żewġ biċċiet 92 00:04:21,339 --> 00:04:23,560 ta 'memorja mogħtija lilek taħt il-barnuża. 93 00:04:23,560 --> 00:04:26,550 Wieħed, kif jien ser jiġbed dan rettangolu, se jiġu msejħa argc. 94 00:04:26,550 --> 00:04:30,645 U hekk kif terġa 'malajr, liema huwa t-tip tad-data ta 'argc? 95 00:04:30,645 --> 00:04:31,270 Allura huwa ta 'int. 96 00:04:31,270 --> 00:04:33,480 Allura numru huwa għaddej li jmorru fl dawriet argc-- 97 00:04:33,480 --> 00:04:35,660 li stands għall-għadd argument. 98 00:04:35,660 --> 00:04:38,887 Sadanittant, stajt mfassla ARGV bħala firxa. 99 00:04:38,887 --> 00:04:40,970 U jien ma verament jafu kemm żmien li għaddej biex tkun, 100 00:04:40,970 --> 00:04:42,470 hekk għal skopijiet lum dot dot dot. 101 00:04:42,470 --> 00:04:43,636 Hija tista 'tikseb ta' xi tul. 102 00:04:43,636 --> 00:04:45,640 Imma stajt isaffru hawn mill-inqas erba rettangoli. 103 00:04:45,640 --> 00:04:50,970 Allura ARGV blokki ta 'memorja li stores string string string dot dot dot, 104 00:04:50,970 --> 00:04:53,950 u argc huwa biss wieħed chunk ta 'memorja għal integer. 105 00:04:53,950 --> 00:04:55,710 >> Allura issa, ejja jkun ftit aktar preċiża. 106 00:04:55,710 --> 00:04:59,200 Jekk, meta I jkollhom kordi f'dan array, imsejħa 107 00:04:59,200 --> 00:05:03,290 ARGV, I rridu nġibu lejn lilhom individwalment, bħad aħħar ġimgħa, 108 00:05:03,290 --> 00:05:05,670 aħna qed tmur biex jużaw notazzjoni bħal ARGV bracket 0 109 00:05:05,670 --> 00:05:07,650 biex jiksbu l-ewwel ħaġa firxa. 110 00:05:07,650 --> 00:05:10,440 Bracket ARGV 1 li jiksbu l- tieni ħaġa, u ibqa 'sejjer hekk. 111 00:05:10,440 --> 00:05:14,597 Il-prinċipali hawnhekk qed we qed għadhom 0 indexed-- we qed għadhom jibdew jgħoddu mit 0. 112 00:05:14,597 --> 00:05:16,430 Allura issa ejja attwalment tpoġġi xi ħaġa f'dan. 113 00:05:16,430 --> 00:05:21,670 I Jekk kellhom jikkompilaw programm imsejjaħ bonjour minn fajl imsejjaħ bonjour dot c, 114 00:05:21,670 --> 00:05:24,340 u mbagħad I run dan il-programm ma dot mmejla hello, 115 00:05:24,340 --> 00:05:28,380 dak li ma kompjuter tiegħi, laptop tiegħi, look like taħt il-barnuża 116 00:05:28,380 --> 00:05:31,300 l-mument I run dot mmejla bonjour u hit Ikteb? 117 00:05:31,300 --> 00:05:33,500 Ukoll, dan huwa forsi dak li aħna tista 'tiddeskrivi 118 00:05:33,500 --> 00:05:37,010 bħala l-kontenut tal-tal-kompjuter tiegħek memorja, jew Memory RAM-- Random Access. 119 00:05:37,010 --> 00:05:40,330 Fi kliem ieħor, il-kompjuter, b'xi mod għalik magically, 120 00:05:40,330 --> 00:05:45,360 tpoġġi in-numru 1 fil argc, argcount AKA, u li tqiegħed litteralment l-sekwenza 121 00:05:45,360 --> 00:05:48,200 ./hello fil ARGV bracket 0. 122 00:05:48,200 --> 00:05:51,750 Għandi l-ebda idea, franchement, x'hemm fil bracket ARGV 1 jew 2 jew 3, 123 00:05:51,750 --> 00:05:55,550 għaliex jekk l-utent ma jkunx ittajpjat xejn minbarra ./hello, 124 00:05:55,550 --> 00:05:58,550 aħna qed tmur biex wieħed jassumi li dawn huma valuri żibel aktar probabbli, 125 00:05:58,550 --> 00:05:59,700 biex ngħidu hekk. 126 00:05:59,700 --> 00:06:02,650 Dawk biċċiet ta 'memorja jeżistu, iżda mhux sa us 127 00:06:02,650 --> 00:06:05,710 li tħares lejn lilhom, għaliex l argcount hija waħda biss. 128 00:06:05,710 --> 00:06:07,870 >> Issa, sadanittant, jekk I jiktbu run programm ieħor, 129 00:06:07,870 --> 00:06:12,250 cd, li hija aktar kif suppost kmand, fil Teptip ispazju tiegħek cd prompt-- 130 00:06:12,250 --> 00:06:17,200 Dropbox-- meta I run dan, effettivament, meta l-programm cd huwa mmexxi, argc, 131 00:06:17,200 --> 00:06:22,270 ġewwa tal-memorja tal-kompjuter tiegħi, huwa għall- l-aktar briefest tieni in-numru 2. 132 00:06:22,270 --> 00:06:25,936 U mbagħad ARGV o bracket għandha cd, ARGV bracket 1 għandha Dropbox, 133 00:06:25,936 --> 00:06:28,560 u mbagħad naturalment il-kmand tikkompleta, sabiex kollha ta 'dan il-memorja 134 00:06:28,560 --> 00:06:30,420 essenzjalment tmur bogħod u huwa użat għal xi ħaġa oħra. 135 00:06:30,420 --> 00:06:32,270 U hu għalhekk li jien ngħid biss qasma tat-tieni. 136 00:06:32,270 --> 00:06:35,720 >> Sadanittant, jekk nagħmlu pset2 mkdir, l-istampa jistenna kważi l-istess, 137 00:06:35,720 --> 00:06:37,900 iżda ma kordi differenti ġewwa ARGV. 138 00:06:37,900 --> 00:06:42,570 Jekk I do sing clang bonjour , l-istess idea bonjour dot c. 139 00:06:42,570 --> 00:06:47,060 Aktar Jittieħed timtela għal ARGV, u argc, naturalment, huwa ta '4. 140 00:06:47,060 --> 00:06:49,150 Allura fi kliem ieħor, anke jekk din array 141 00:06:49,150 --> 00:06:52,950 jista 'jiġi dot dot dot, ta' xi tul varjabbli, biex ngħidu hekk, 142 00:06:52,950 --> 00:06:56,720 inti dejjem taf fejn il-aħħar ta 'dan huwa, minħabba argc huwa se jgħidlek 143 00:06:56,720 --> 00:07:00,120 fuq liema punt ikollok tieqaf tħares lejn elementi fil ARGV. 144 00:07:00,120 --> 00:07:03,660 Inti tista 'tħares biss lejn erba b'kollox f'dan il-każ. 145 00:07:03,660 --> 00:07:06,600 >> Mela ejja issa tagħti ħarsa lejn, forsi, programm sempliċi. 146 00:07:06,600 --> 00:07:09,070 Wieħed li biss jgħid bonjour li xi ħadd bħal Zamyla. 147 00:07:09,070 --> 00:07:12,620 So I pretensjoni jien ser jikteb programm fi ftit mument li permezz tagħhom I jistgħu jagħmlu 148 00:07:12,620 --> 00:07:16,670 ./hello ispazju Zamyla, u mbagħad nixtieq programm tiegħi li jistampaw xi ħaġa 149 00:07:16,670 --> 00:07:18,520 super-sempliċi bħal "hello, Zamyla." 150 00:07:18,520 --> 00:07:20,100 Issa fil-passat konna użati getstring. 151 00:07:20,100 --> 00:07:22,850 Allura fil-passat, anki jekk int ġodda għall-ipprogrammar, 152 00:07:22,850 --> 00:07:27,180 odds huma inti tista 'Whip up programm li juża getstring 153 00:07:27,180 --> 00:07:29,390 u mbagħad tuża printf li jgħidu hi li Zamyla. 154 00:07:29,390 --> 00:07:31,290 Imma ejja ma tuża getstring dan iż-żmien. 155 00:07:31,290 --> 00:07:37,510 Let me minflok tmur fil-Appliant u ma jinkludi l-istandard I O dot h. 156 00:07:37,510 --> 00:07:41,160 Let me jinkludu wkoll CS50 dot h. 157 00:07:41,160 --> 00:07:44,730 Issa int prinċipali, u issa jien mhux se jagħmlu null llum. 158 00:07:44,730 --> 00:07:51,200 Minflok, jien ser tagħmel argc int ARGV string parentesi miftuħa parentesi magħluqa, 159 00:07:51,200 --> 00:07:52,640 mhux speċifikat numru. 160 00:07:52,640 --> 00:07:54,644 U issa hawnhekk hija tiegħi hekk imsejħa tagħmel. 161 00:07:54,644 --> 00:07:57,560 What jien ser tagħmel issa huwa, jien se jagħmlu daqsxejn ta 'qabża ta' fidi, 162 00:07:57,560 --> 00:08:00,560 Jien ser tassumi li l-utent tal- ser tuża dan il-programm b'mod korrett, 163 00:08:00,560 --> 00:08:04,980 u jien sempliċiment ser do printf hello,% sn. 164 00:08:04,980 --> 00:08:06,630 Allura xejn ġdid hemmhekk. 165 00:08:06,630 --> 00:08:11,470 Imma nixtieq li issa tqiegħed x'ikun kelma l- tipi utent wara l-isem tal-programm. 166 00:08:11,470 --> 00:08:16,970 Mela jekk nagħmel ./hello ispazju Zamyla, I tixtieq li b'xi mod programmatically aċċess 167 00:08:16,970 --> 00:08:20,870 nikkwota unquote "Zamyla." so I tista 'tmur fil-argument vector tiegħi, 168 00:08:20,870 --> 00:08:25,980 firxa tiegħi ta 'kordi, u jekk l-kmand, darb'oħra, kien ./hello ispazju Zamyla, 169 00:08:25,980 --> 00:08:29,340 dak Numru do I trid biex jitqiegħdu fil ARGV hawn? 170 00:08:29,340 --> 00:08:29,840 UDJENZA: 1. 171 00:08:29,840 --> 00:08:32,355 DAVID Malan: 1, minħabba bracket 0 jinstabx 172 00:08:32,355 --> 00:08:34,230 se tkun l- isem tal-programm, kif rajna. 173 00:08:34,230 --> 00:08:37,789 Allura bracket 1 hija l-ewwel kelma li jien, l-utent, għandek ittajpjat. 174 00:08:37,789 --> 00:08:39,559 Jien ser jimxi 'l quddiem u jiffrankaw din. 175 00:08:39,559 --> 00:08:42,830 Jien se jmorru fil folder tiegħi fejn stajt mqiegħda dan il-fajl. 176 00:08:42,830 --> 00:08:44,920 Jien ser tagħmel jagħmlu bonjour 3. 177 00:08:44,920 --> 00:08:46,230 OK Comp IO. 178 00:08:46,230 --> 00:08:51,380 ./hello Zamyla Ikteb. 179 00:08:51,380 --> 00:08:54,480 What did I do wrong? 180 00:08:54,480 --> 00:08:57,270 I kien maqbud mill-sorpriża myself għal ftit mument hemmhekk. 181 00:08:57,270 --> 00:08:58,230 What did I do wrong? 182 00:08:58,230 --> 00:08:59,220 >> UDJENZA: Isem. 183 00:08:59,220 --> 00:09:01,767 >> DAVID Malan: ta 'l-fajl attwalment imsejħa hello3.c. 184 00:09:01,767 --> 00:09:03,850 U jien għamilt dan biss għal konsistenza, għaliex konna 185 00:09:03,850 --> 00:09:06,550 kellhom hello.c fil- passat fil-kodiċi online. 186 00:09:06,550 --> 00:09:11,550 Mela ejja jiffissaw dan ./hello sing bracket 3 Zamyla. 187 00:09:11,550 --> 00:09:12,370 Ikteb. 188 00:09:12,370 --> 00:09:14,030 U issa għandna hello, Zamyla. 189 00:09:14,030 --> 00:09:17,650 Sadanittant, I jistgħu jbiddlu dan tkun Rob, jew verament xi kelma oħra. 190 00:09:17,650 --> 00:09:19,230 >> Imma ejja jikkunsidraw każ kantuniera. 191 00:09:19,230 --> 00:09:24,360 Liema jista inti jistennew se jiġri jekk I do not isem tat-tip ħadd fil-livelli kollha? 192 00:09:24,360 --> 00:09:25,270 >> UDJENZA: Error. 193 00:09:25,270 --> 00:09:27,300 >> DAVID Malan: Żball ta 'xi tip, forsi. 194 00:09:27,300 --> 00:09:28,200 Ejja naraw. 195 00:09:28,200 --> 00:09:29,440 Ikteb. 196 00:09:29,440 --> 00:09:30,210 Null. 197 00:09:30,210 --> 00:09:33,870 Allura printf huwa attwalment qed ftit protettiv minna 198 00:09:33,870 --> 00:09:38,131 hawn, u litteralment istampar paren miftuħa null, imma affarijiet anke agħar jista 'jiġri. 199 00:09:38,131 --> 00:09:40,130 U biss biex juru xi ħaġa inti assolutament 200 00:09:40,130 --> 00:09:42,800 m'għandekx tagħmel, ejja jmorru fl hawn u tibda poking madwar. 201 00:09:42,800 --> 00:09:43,300 Right? 202 00:09:43,300 --> 00:09:46,410 Jekk Naf li l-istampa fil- memorja huwa essenzjalment dan, 203 00:09:46,410 --> 00:09:52,660 bracket ARGV 1 għandha Zamyla, ARGV bracket 0 għandha ./hello, jew ./hello-3. 204 00:09:52,660 --> 00:09:55,400 X'inhu fil-bracket 2? 205 00:09:55,400 --> 00:09:58,210 So I tista 'twieġeb li mistoqsija myself, right? 206 00:09:58,210 --> 00:10:00,460 I tista 'biss jibdlu l-1 għal 2. 207 00:10:00,460 --> 00:10:07,270 I issa jistgħu recompile bonjour 3, ./hello3 Ejja zoom u hit Ikteb. 208 00:10:07,270 --> 00:10:08,270 Whoops. 209 00:10:08,270 --> 00:10:10,660 Nru marka kwotazzjoni. 210 00:10:10,660 --> 00:10:12,540 Interessanti. 211 00:10:12,540 --> 00:10:15,530 Allura dak it-tip ta 'kessaħ li tara x'qed jittella aktar fil hawn. 212 00:10:15,530 --> 00:10:17,130 >> Allura x'qed jittella ġewwa ta 'laptop tiegħi? 213 00:10:17,130 --> 00:10:20,390 Ejja tiffranka ma bracket 3. 214 00:10:20,390 --> 00:10:25,190 Jagħmlu hello3, ./hello-3. 215 00:10:25,190 --> 00:10:26,500 Kurjuż. 216 00:10:26,500 --> 00:10:30,560 U issa ejja nikseb verament bold-- 50. 217 00:10:30,560 --> 00:10:34,340 Allura li verament għadis fil-fond fil-memorja tal-kompjuter tiegħi. 218 00:10:34,340 --> 00:10:35,930 50 indiċijiet fil. 219 00:10:35,930 --> 00:10:41,950 Sabiex tagħmel bonjour 3 ./hello-3. 220 00:10:41,950 --> 00:10:42,680 Kurjuż. 221 00:10:42,680 --> 00:10:44,660 Kull dritt, issa jien biss se tikseb imprudenti. 222 00:10:44,660 --> 00:10:47,331 Ejja mur 5,000. 223 00:10:47,331 --> 00:10:47,830 Kull dritt. 224 00:10:47,830 --> 00:10:49,520 So let me recompile. 225 00:10:49,520 --> 00:10:51,460 Jagħmlu hello3, ./hello-3. 226 00:10:51,460 --> 00:10:55,780 227 00:10:55,780 --> 00:10:56,460 OK. 228 00:10:56,460 --> 00:10:59,250 Issa xi wħud minnkom, hemm tista jkun bozza tad-dawl jmorru off. 229 00:10:59,250 --> 00:11:01,900 Kemm inti għandek raw dan il-messaġġ qabel? 230 00:11:01,900 --> 00:11:03,440 OK. 231 00:11:03,440 --> 00:11:04,420 Allura, għaliex? 232 00:11:04,420 --> 00:11:07,250 >> Odds are-- u hemm differenti affarijiet li jistgħu jikkawżaw din, 233 00:11:07,250 --> 00:11:09,730 u b'mod ċar int fil tajba company-- għandna ċar 234 00:11:09,730 --> 00:11:11,900 ikkawżat dak li sejjaħ tort segmentazzjoni. 235 00:11:11,900 --> 00:11:15,890 U l-istorja twila fil-qosor għal-lum, I għandhom jintmessu segment ta 'memorja 236 00:11:15,890 --> 00:11:17,060 li jien ma għandu jkollhom. 237 00:11:17,060 --> 00:11:19,970 Meta segment ifisser biss blokki ta 'memorja li jien ma għandu jkollhom. 238 00:11:19,970 --> 00:11:25,530 Issa l-kompjuter jiggarantixxi li jekk I run ./helloZamyla li nista tmissx ARGV 239 00:11:25,530 --> 00:11:27,760 jkun bracket 0 u ARGV bracket 1. 240 00:11:27,760 --> 00:11:32,730 Iżda argc huwa valur 2, dan ifisser I am biss allowed-- huwa tip ta 'l-unur 241 00:11:32,730 --> 00:11:35,180 system-- tmissx bracket 0 u bracket 1. 242 00:11:35,180 --> 00:11:37,990 Jekk immur xi farther, hemm assolutament se jkun memorja hemmhekk. 243 00:11:37,990 --> 00:11:40,660 RAM My teżisti fiżikament fil-kompjuter. 244 00:11:40,660 --> 00:11:42,080 Imma min jaf x'hemm hemmhekk? 245 00:11:42,080 --> 00:11:44,450 Tabilħaqq, niġri multipli programmi f'ħin wieħed. 246 00:11:44,450 --> 00:11:46,910 I jista 'jkollhom seen-- jekk I ma kinux tagħmel dan fuq il-Appliant 247 00:11:46,910 --> 00:11:49,937 iżda fuq Mac tiegħi jew PC-- I jista 'jkollhom raw il-kontenut ta 'email. 248 00:11:49,937 --> 00:11:52,270 I tista raw instant messaġġ Stajt reċentement mibgħuta. 249 00:11:52,270 --> 00:11:55,390 Kwalunkwe ħaġa li tista 'tkun wieqaf madwar fil-memorja 250 00:11:55,390 --> 00:11:59,180 setgħu ġew aċċessata permezz ta ' dan notazzjoni parentesi kwadra arbitrarja. 251 00:11:59,180 --> 00:12:02,850 Jew, agħar għadu, inti jista 'jkollok misjuba wieħed ta 'passwords tiegħi 252 00:12:02,850 --> 00:12:05,859 li I d reċentement ittajpjat fil, li programm kien maħżun fil-memorja sabiex 253 00:12:05,859 --> 00:12:07,900 biex jawtentikaw lili, u allura biss tip ta 'telaq minnha 254 00:12:07,900 --> 00:12:09,910 fil RAM sal I nieqaf dak il-programm. 255 00:12:09,910 --> 00:12:12,860 >> U fil-fatt, dan huwa wieħed ta ' il-periklu u waħda s-setgħat 256 00:12:12,860 --> 00:12:15,980 ta 'użu ta' lingwa bħal C. Għandek aċċess bla xkiel 257 00:12:15,980 --> 00:12:18,860 li l-kontenut kollu tal-memorja ta 'programm, 258 00:12:18,860 --> 00:12:21,340 u liema guys ħżiena tista anki do f'dawk cases-- 259 00:12:21,340 --> 00:12:23,807 speċjalment meta aħna jiksbu l-ipprogrammar web 260 00:12:23,807 --> 00:12:26,890 lejn it-tmiem tas-semestru, aħna ser nirrevedu din topic-- huwa poke madwar, 261 00:12:26,890 --> 00:12:31,660 potenzjalment, xi ħadd huwa tal-kompjuter memorja u ssib dawn l-affarijiet kurjużi 262 00:12:31,660 --> 00:12:32,570 kif rajna hemmhekk. 263 00:12:32,570 --> 00:12:36,900 Jew saħansitra agħar għadu, passwords li hu jew hi jistgħu mbagħad jużaw biex tagħmel affarijiet ħżiena. 264 00:12:36,900 --> 00:12:40,240 >> So ċar I m'għandhomx għamlu dan, minħabba affarijiet stramb jibdew jiġri. 265 00:12:40,240 --> 00:12:42,310 Tabilħaqq, dan huwa jiġġarrfu program. 266 00:12:42,310 --> 00:12:44,580 Dan ikun l-ekwivalenti tal OS Mac jew Windows 267 00:12:44,580 --> 00:12:46,770 tieqa program biss jisparixxu. 268 00:12:46,770 --> 00:12:48,300 Żball mhux mistennija seħħet. 269 00:12:48,300 --> 00:12:50,840 Fl-ambjent kmand tal-linja naraw xi ħaġa bħal din. 270 00:12:50,840 --> 00:12:54,480 Imma hu għalhekk li, huwa jien sempliċiment li jmissu memorja li ma jappartjenix lili. 271 00:12:54,480 --> 00:12:57,090 >> Mela ejja jiddefendu kontra dan ta ' ftit b'mod differenti 272 00:12:57,090 --> 00:12:59,010 billi tħares lejn dan il-programm hawn. 273 00:12:59,010 --> 00:13:01,000 Għalhekk, għal darb'oħra, l-iskeletru li rajna earlier-- 274 00:13:01,000 --> 00:13:02,480 u stajt enfasizzat dan int ħin. 275 00:13:02,480 --> 00:13:05,900 U dan kollu ħin prinċipali għandu tabilħaqq lura valur. 276 00:13:05,900 --> 00:13:09,120 Anke jekk fil-maġġoranza tal lecture tagħna eżempji konna qatt darba użati 277 00:13:09,120 --> 00:13:10,990 ritorn xejn prinċipali. 278 00:13:10,990 --> 00:13:13,710 Aħna biss jiktbu qrib printf Brace kaboċċi u thats it. 279 00:13:13,710 --> 00:13:16,500 Iżda b'xejn, dak il- kompilatur qed tagħmel għalik, 280 00:13:16,500 --> 00:13:19,510 effettivament, qed jirritornaw 0 għalik. 281 00:13:19,510 --> 00:13:22,950 Dawriet out-- u huwa ftit counterintuitive-- li 0 hija tajba. 282 00:13:22,950 --> 00:13:24,690 Dan ma jfissirx falza per se. 283 00:13:24,690 --> 00:13:29,080 0 hija tajba, u kwalunkwe non-0 valur, id-dinja iddeċieda, 284 00:13:29,080 --> 00:13:30,619 tista turi żball. 285 00:13:30,619 --> 00:13:32,910 Mela jekk inti stajt qatt messed xi ħaġa up fuq il-kompjuter tiegħek, 286 00:13:32,910 --> 00:13:36,600 jew programm għadu kif miet fuqek u inti ħadthom gotten xi tieqa żbaljata 287 00:13:36,600 --> 00:13:40,360 fuq l-iskrin tiegħek, tgħid żball negattiv 49 jew żball 23-- 288 00:13:40,360 --> 00:13:44,170 xi value-- apparentement arbitrarja thats minħabba programmer tkun hard-kodifikati 289 00:13:44,170 --> 00:13:49,370 valur bħall negattiv 49 jew pożittiv 23 biex jirrappreżentaw kull numru, DARE ngħid, 290 00:13:49,370 --> 00:13:53,340 ta 4 biljun affarijiet possibbli li jistgħu imorru ħażin fi programm. 291 00:13:53,340 --> 00:13:55,700 >> Allura kif tista I jieħdu vantaġġ ta 'dan myself? 292 00:13:55,700 --> 00:13:58,970 Well, let me jiftħu programm li I kiteb bil-quddiem, 293 00:13:58,970 --> 00:14:01,450 u poke madwar online imsejħa bonjour 4. 294 00:14:01,450 --> 00:14:05,650 U huwa kważi identiku, ħlief li tagħha ltqajna xi ftit ta 'żball-verifika. 295 00:14:05,650 --> 00:14:09,660 F'dan il-każ, stajt darb'oħra ddikjarat prinċipali kif jittieħdu żewġ argumenti, 296 00:14:09,660 --> 00:14:13,180 iżda din id-darba, fuq il-linja 17, l-avviż Jien tagħmel daqsxejn ta 'verifika sanità. 297 00:14:13,180 --> 00:14:17,100 Jien jagħmlu ċert li argc ugwali ugwali 2. 298 00:14:17,100 --> 00:14:18,960 Għaliex jekk huwa, li ifisser I jistgħu b'sigurtà 299 00:14:18,960 --> 00:14:21,420 tmissx mhux biss bracket 0, iżda parentesi 1. 300 00:14:21,420 --> 00:14:24,330 And I jimxi 'l quddiem u jistampa, f'dan il-każ, Zamyla jew Rob 301 00:14:24,330 --> 00:14:26,020 jew kwalunkwe kelma I ittajpjat out. 302 00:14:26,020 --> 00:14:28,020 U issa biss li tikseb ftit aktar xierqa, 303 00:14:28,020 --> 00:14:31,910 Jien ser jirritornaw b'mod espliċitu 0 biex turi kollox huwa tajjeb. 304 00:14:31,910 --> 00:14:33,300 Xejn ħażin li ġara. 305 00:14:33,300 --> 00:14:38,590 >> Iżda b'konvenzjoni, jien ser ritorn 1, jew franchement kwalunkwe 0 non valur, 306 00:14:38,590 --> 00:14:40,160 jekk xi ħaġa li marret ħażin. 307 00:14:40,160 --> 00:14:43,270 Issa l-utent mhux se verament Avviż x'inhu għaddej. 308 00:14:43,270 --> 00:14:50,410 Tabilħaqq jekk I tmur fis dan id-direttorju, aħna zoom fi u ma tagħmel bonjour 4, 309 00:14:50,410 --> 00:14:54,210 ./hello-4 Zamyla iġib ruħu bħala I jistennew. 310 00:14:54,210 --> 00:14:58,570 Imma jekk jien minflok ma tip xejn, xejn ma jidher li jiġri, 311 00:14:58,570 --> 00:14:59,680 iżda ma crash. 312 00:14:59,680 --> 00:15:04,660 U jekk jien minflok tagħmel xi ħaġa bħal Rob huwa Procter 313 00:15:04,660 --> 00:15:07,550 fil-qsim Thayer-- informazzjoni arbitrarja. 314 00:15:07,550 --> 00:15:13,680 Iżda avviż, ARGV 1, 2, 3, 4, u 5 issa għandhom jeżistu fil-memorja. 315 00:15:13,680 --> 00:15:16,540 Dan, wisq, mhuwiex dak li programm tiegħi jistenna, 316 00:15:16,540 --> 00:15:20,300 għaliex stajt ċċekkjati jekk argc ugwali ugwali 2 jew le. 317 00:15:20,300 --> 00:15:22,140 Allura jien issa difiża kontra dan. 318 00:15:22,140 --> 00:15:25,290 >> Issa, bħala twarrib, aħna l- programmer-- jew pjuttost aħna l users-- 319 00:15:25,290 --> 00:15:29,670 qatt ma tara dak 0 jew 1 iżda bl-użu ta ' għodda msejħa Debugger, jew għodod oħra, 320 00:15:29,670 --> 00:15:32,250 kif aħna ser tara qabel twil, inti l-programmer 321 00:15:32,250 --> 00:15:36,590 tista 'attwalment tara dak li jista' jkun tmur ħażina ġewwa tal-programm tiegħek. 322 00:15:36,590 --> 00:15:39,170 >> Allura, xi mistoqsijiet dwar argc? 323 00:15:39,170 --> 00:15:40,873 Yeah. 324 00:15:40,873 --> 00:15:45,292 >> UDJENZA: Stajt tidher fejn huma ma kellhomx il-karattru, [inaudible] 325 00:15:45,292 --> 00:15:49,669 biss qal star string d, bħal karattru comma asterisk. 326 00:15:49,669 --> 00:15:50,710 Dawn huma ekwivalenti hawnhekk? 327 00:15:50,710 --> 00:15:51,626 >> DAVID Malan: Dawn huma. 328 00:15:51,626 --> 00:15:55,080 Għalhekk il-kwistjoni hija, inti għandek programmi kultant dehru 329 00:15:55,080 --> 00:15:57,270 bħal din li ma jgħidu bracket ARGV string 330 00:15:57,270 --> 00:16:01,015 iżda minflok ngħid xi ħaġa bħal char bracket ARGV star. 331 00:16:01,015 --> 00:16:03,140 U hemm anke oħrajn varjanti li inti tista 'tara. 332 00:16:03,140 --> 00:16:04,264 Huma tassew ekwivalenti. 333 00:16:04,264 --> 00:16:06,240 Għal issa, aħna għandna dawn tip ta 'roti tat-taħriġ 334 00:16:06,240 --> 00:16:09,737 fuq fil-forma ta 'sekwenza fil-CS50 librerija, iżda fi ftit aktar minn ġimgħa 335 00:16:09,737 --> 00:16:12,570 jew hekk aħna qed tmur biex ineħħi l- ostruzzjoni għal kollox u fil-fatt 336 00:16:12,570 --> 00:16:16,820 tħares lejn dak li l char u l-istilla huma, u kif dawk jappartjenu għall-memorja 337 00:16:16,820 --> 00:16:18,140 rappreżentazzjoni aktar ġenerali. 338 00:16:18,140 --> 00:16:19,540 Allura aħna ser terga 'lura għal dan. 339 00:16:19,540 --> 00:16:21,540 >> Mistoqsijiet oħra fuq ARGV tagħna jew argc? 340 00:16:21,540 --> 00:16:22,397 Yeah. 341 00:16:22,397 --> 00:16:24,438 UDJENZA: Għaliex ma kien jirritorna żball [inaudible]? 342 00:16:24,438 --> 00:16:27,147 343 00:16:27,147 --> 00:16:29,230 DAVID Malan: Għaliex ma kien ritorn żball only-- oh! 344 00:16:29,230 --> 00:16:31,813 Fil-każ preċedenti, meta aħna kienu futzing madwar bil-memorja, 345 00:16:31,813 --> 00:16:35,110 għaliex ma biss ritorn żball meta I really ittajpjat numru kbir? 346 00:16:35,110 --> 00:16:36,620 Risposta qasira hija, aħna biss ltqajna xxurtjati. 347 00:16:36,620 --> 00:16:39,240 Ġeneralment, kompjuter jalloka memorja fil-biċċiet, 348 00:16:39,240 --> 00:16:42,900 u tatni blokki kbar biżżejjed li I ltqajna bogħod, mingħajr ma jkunu ndunat, 349 00:16:42,900 --> 00:16:46,280 tal bracket jmissu 2, parentesi 3, parentesi 50, iżda malli I imbuttat 350 00:16:46,280 --> 00:16:49,080 Xorti tiegħi, I marru lil hinn mill- konfini tal-blokki ta 'memorja 351 00:16:49,080 --> 00:16:50,520 is-sistema operattiva kien mogħti lili. 352 00:16:50,520 --> 00:16:52,720 U li meta kklampjata isfel u qal, no. 353 00:16:52,720 --> 00:16:54,580 Żball Segmentazzjoni. 354 00:16:54,580 --> 00:16:55,692 Yeah. 355 00:16:55,692 --> 00:16:58,890 >> UDJENZA: Kif il-kompjuter jafu l-valur ta 'argc? 356 00:16:58,890 --> 00:17:02,390 >> DAVID Malan: Kif il- kompjuter jafu l-valur ta 'argc? 357 00:17:02,390 --> 00:17:07,920 Meta inti tmexxi programm, li programm, min-natura tal-pront Teptip, 358 00:17:07,920 --> 00:17:11,359 hija mogħtija l-firxa ta ' kliem li kienu ittajpjat 359 00:17:11,359 --> 00:17:13,300 fil-pront, li kien ittajpjat fil-prompt. 360 00:17:13,300 --> 00:17:16,569 U għalhekk huwa operattiva tiegħek sistema li essenzjalment 361 00:17:16,569 --> 00:17:20,329 populates argumenti prinċipali tal għalik. 362 00:17:20,329 --> 00:17:22,829 Allura dak wieħed mis-servizzi li ikollok, tip ta segretament 363 00:17:22,829 --> 00:17:24,869 taħt il-barnuża tal- sistema operattiva. 364 00:17:24,869 --> 00:17:27,118 Mistoqsijiet oħra? 365 00:17:27,118 --> 00:17:27,618 Yeah. 366 00:17:27,618 --> 00:17:29,787 >> UDJENZA: X'tagħmel dump qalba jfisser? 367 00:17:29,787 --> 00:17:31,370 DAVID Malan: X'tagħmel dump qalba jfisser? 368 00:17:31,370 --> 00:17:32,950 Allura li hija mistoqsija tajba. 369 00:17:32,950 --> 00:17:35,312 U let me jmorru lura fis dan id-direttorju hawn. 370 00:17:35,312 --> 00:17:37,270 U inti ser ikollok avviż li I jkollhom fajl ġdid hemmhekk. 371 00:17:37,270 --> 00:17:41,670 Huwa tabilħaqq sejjaħ qalba, u huwa attwalment tipikament fajl deċenti 'daqs. 372 00:17:41,670 --> 00:17:45,300 Din hija essenzjalment stampa ta il-kontenut tal-memorja programm tiegħi 373 00:17:45,300 --> 00:17:46,902 jew RAM meta ġġarraf. 374 00:17:46,902 --> 00:17:49,110 U dan se jkun utli, potenzjalment, diagnostically, 375 00:17:49,110 --> 00:17:52,850 ladarba aħna nitkellmu għal taħdita futur u taqsima dwar debugging, 376 00:17:52,850 --> 00:17:55,730 għaliex inti tista 'attwalment jagħmlu l- ekwivalenti ta 'awtopsja diġitali 377 00:17:55,730 --> 00:18:00,300 fuq dan il-fajl biex jgħinu insemmu dak li għamilt ħażin fil-programm tiegħek. 378 00:18:00,300 --> 00:18:01,220 Yeah. 379 00:18:01,220 --> 00:18:04,450 >> UDJENZA: Huwa argc kmand fil innifsu, jew jistgħu inti isem li bih xejn? 380 00:18:04,450 --> 00:18:05,575 >> DAVID Malan: Tajba kwistjoni. 381 00:18:05,575 --> 00:18:08,040 Huwa argc kmand fih innifsu, jew inti tista 'isem li bih xejn? 382 00:18:08,040 --> 00:18:09,290 Huwa definittivament mhux kmand. 383 00:18:09,290 --> 00:18:13,500 Huwa sempliċiment l varjabbli isem jew l-isem ta 'l-argument, 384 00:18:13,500 --> 00:18:15,481 u hekk assolutament aħna jista 'jsejjaħ din foo, 385 00:18:15,481 --> 00:18:18,480 nistgħu sejħa dan bar, li għandhom tendenza li jkun il-go għal kliem li kompjuter 386 00:18:18,480 --> 00:18:19,860 xjentist tmur għall. 387 00:18:19,860 --> 00:18:22,820 Iżda billi konvenzjoni, nużaw argc u ARGV. 388 00:18:22,820 --> 00:18:25,360 Imma dak li biss bniedem konvenzjoni, xejn aktar. 389 00:18:25,360 --> 00:18:25,860 Kull dritt. 390 00:18:25,860 --> 00:18:28,140 Allura jinstabx, stajt ġiet javżak daqsxejn ta 'lie-- abjad 391 00:18:28,140 --> 00:18:31,264 u franchement, fil-futur, tkun taf tara konna kienu javżak tinsab abjad ieħor. 392 00:18:31,264 --> 00:18:33,510 Iżda għal issa, aħna qed tmur li titqaxxar lura waħda minn dawn. 393 00:18:33,510 --> 00:18:37,310 F'dan il-każ hawnhekk meta I preċedentement mexxa programm bħal ./hello jew ./hello-3 394 00:18:37,310 --> 00:18:42,780 Zamyla, kellna l-kontenut ta 'tiegħi memorja tal-kompjuter tfittex madwar bħal 395 00:18:42,780 --> 00:18:43,280 dan. 396 00:18:43,280 --> 00:18:45,070 Imma jfakkru dak string huwa. 397 00:18:45,070 --> 00:18:49,279 What did ngħidu ġimgħa ilu dak string attwalment hija taħt il-barnuża? 398 00:18:49,279 --> 00:18:50,320 UDJENZA: Array ta Chars. 399 00:18:50,320 --> 00:18:52,111 DAVID Malan: Huwa ta ' firxa ta 'Chars, id-dritt? 400 00:18:52,111 --> 00:18:55,760 Allura aħna jista 'jkollhom firxa ta' kordi, iżda, imbagħad, string 401 00:18:55,760 --> 00:18:57,150 firxa ta 'karattri. 402 00:18:57,150 --> 00:19:00,010 Mela jekk jien verament tixtieq li tkun anali meta I tfassal din l-istampa, 403 00:19:00,010 --> 00:19:03,290 I għandhom verament jiġu tpinġija hija ftit aktar bħal dan, 404 00:19:03,290 --> 00:19:08,000 li biha f'kull wieħed minn dawn indiċi ta 'firxa ARGV tiegħi, 405 00:19:08,000 --> 00:19:11,432 hemm innifsu huwa string kollu li hi stess hija fil-firxa. 406 00:19:11,432 --> 00:19:13,140 U issa l-jimteddu abjad aħna qed javżak llum 407 00:19:13,140 --> 00:19:15,181 huwa li l-istampa ma ħarsa pjuttost bħal dan. 408 00:19:15,181 --> 00:19:19,110 Fil-fatt, il-kwadri ftit huma tipikament barra tal-rettangoli kbar 409 00:19:19,110 --> 00:19:19,610 hemmhekk. 410 00:19:19,610 --> 00:19:21,280 Iżda aħna ser terga 'lura għal li qabel twil. 411 00:19:21,280 --> 00:19:25,440 Iżda din hija ./hello backslash 0, li huwa l-karattru speċjali li 412 00:19:25,440 --> 00:19:28,310 tiddemarka-tmiem ta string, u konna ltqajna wieħed ieħor wara 413 00:19:28,310 --> 00:19:29,360 Isem Zamyla tal. 414 00:19:29,360 --> 00:19:30,900 Allura dak li jfisser dan? 415 00:19:30,900 --> 00:19:33,410 >> Well, let me imorru quddiem u jiftħu żewġ eżempji oħra 416 00:19:33,410 --> 00:19:35,220 li huma disponibbli online. 417 00:19:35,220 --> 00:19:40,590 Wieħed huwa msejjaħ argv1.c u l-ieħor huwa argv2. 418 00:19:40,590 --> 00:19:44,260 Huwa program sempliċi super li hija differenti minn programmi tal-passat 419 00:19:44,260 --> 00:19:47,260 f'dak issa jien jużaw argc u ARGV up here. 420 00:19:47,260 --> 00:19:54,300 U issa jien jintegra ma 'għall-loop fil-linja 18, minn i = 0 fuq sa argc. 421 00:19:54,300 --> 00:19:56,850 U dak li jien ser tagħmel ma din il-linja tal-kodiċi hawn? 422 00:19:56,850 --> 00:19:58,270 Bl-Ingliż. 423 00:19:58,270 --> 00:20:00,510 Dan ovvjament juri użu ta argc. 424 00:20:00,510 --> 00:20:03,670 Iżda bl-Ingliż, dak ma do jekk I run dan il-programm? 425 00:20:03,670 --> 00:20:04,366 Yeah? 426 00:20:04,366 --> 00:20:07,386 >> UDJENZA: Huwa ser jistampaw tiegħek iskrin kemm drabi tixtieq. 427 00:20:07,386 --> 00:20:08,260 DAVID Malan: Eżattament. 428 00:20:08,260 --> 00:20:10,480 Sabiex ikun x'ikun kliem I tip fil-prompt, huwa 429 00:20:10,480 --> 00:20:13,120 ser regurgitate minnhom fil lili waħda għal kull linja. 430 00:20:13,120 --> 00:20:14,370 Mela ejja imorru quddiem u tagħmel dan. 431 00:20:14,370 --> 00:20:17,862 Let me go fis direttorju tiegħi u ma jagħmlu ./argv1 argv1. 432 00:20:17,862 --> 00:20:20,521 433 00:20:20,521 --> 00:20:21,770 U issa, ejja jżommha sempliċi. 434 00:20:21,770 --> 00:20:23,834 Ejja nagħmlu xejn fl-ewwel. 435 00:20:23,834 --> 00:20:26,750 Hija ma jistampa ħaġa waħda, u li tabilħaqq l-isem tal-programm, 436 00:20:26,750 --> 00:20:28,240 għaliex dan huwa fil bracket 0. 437 00:20:28,240 --> 00:20:33,290 Jekk I issa ngħid foo, li għaddej biex tagħmel dawn iż-żewġ, u jekk ngħid bar foo, 438 00:20:33,290 --> 00:20:35,580 li għaddej biex ngħid dawk it-tliet affarijiet. 439 00:20:35,580 --> 00:20:37,740 Issa li kemmxejn interessanti, forsi. 440 00:20:37,740 --> 00:20:41,450 Iżda tfakkar li ARGV firxa ta 'spag, 441 00:20:41,450 --> 00:20:45,960 iżda string huwa firxa ta 'Chars, hekk nistgħu jieħdu l-affarijiet up a talja 442 00:20:45,960 --> 00:20:48,560 u li tapplika dan bażika loġika u jagħmlu kodiċi li 443 00:20:48,560 --> 00:20:51,160 jistenna ftit aktar cryptic, ċertament. 444 00:20:51,160 --> 00:20:53,540 Iżda billi jkollhom nested loop, xi ħaġa bħar 445 00:20:53,540 --> 00:20:57,030 għal dak li inti tista 'recall minn Mario, per eżempju, jekk inti għamilt dan il-mod. 446 00:20:57,030 --> 00:21:00,380 >> Allura issa avviż fuq il-linja 19, jien darb'oħra mtennija fuq argumenti tiegħi, 447 00:21:00,380 --> 00:21:02,410 minn 0 sa l argc. 448 00:21:02,410 --> 00:21:05,510 U issa fil-linja 21-- jien self trick mill-aħħar week-- 449 00:21:05,510 --> 00:21:11,090 I am iċċekkjar dak li huwa l- tul ta 'ARGV bracket i. 450 00:21:11,090 --> 00:21:12,920 Jien ħażna din ir-risposta fil n. 451 00:21:12,920 --> 00:21:18,230 U mbagħad jien jintegra mill j fuq sa n, fejn j huwa initialized għal 0. 452 00:21:18,230 --> 00:21:19,460 Allura, konvenzjoni biex jingħaddu. 453 00:21:19,460 --> 00:21:22,335 Ladarba inti ħadthom użati i, jekk għandek loop nested, inti ma tistax tuża i darb'oħra, 454 00:21:22,335 --> 00:21:25,770 inkella inti ser clobber, potenzjalment, il-valur ta 'barra tal-linja ta' ġewwa. 455 00:21:25,770 --> 00:21:27,200 So jien jużaw j minn konvenzjoni. 456 00:21:27,200 --> 00:21:28,020 Aħna jistgħu jużaw k. 457 00:21:28,020 --> 00:21:31,080 Jekk għandek aktar minn k, inti probabilment jkollhom wisq ibejtu, tipikament. 458 00:21:31,080 --> 00:21:33,800 Imma issa, avviż printf tiegħi linja hija kemmxejn differenti. 459 00:21:33,800 --> 00:21:37,520 Jien ma istampar% s, jien istampar% c, li, naturalment, 460 00:21:37,520 --> 00:21:39,460 huwa placeholder għal char. 461 00:21:39,460 --> 00:21:40,770 >> U issa dan l-avviż sintassi. 462 00:21:40,770 --> 00:21:41,270 New. 463 00:21:41,270 --> 00:21:42,630 Aħna ma bbenefikawx qabel. 464 00:21:42,630 --> 00:21:47,290 Iżda loġikament, dan ifisser biss jiksbu l-string ith fil ARGV 465 00:21:47,290 --> 00:21:50,067 u jiksbu l-JTH liema? 466 00:21:50,067 --> 00:21:50,900 UDJENZA: Karattru. 467 00:21:50,900 --> 00:21:52,800 DAVID Malan: Karattru f'dak string. 468 00:21:52,800 --> 00:21:57,100 Hekk billi tuża parentesi kwadri segwit minn parentesi kwadri, 469 00:21:57,100 --> 00:22:00,390 dan huwa għadis ewwel fis kordi ARGV tal, 470 00:22:00,390 --> 00:22:02,225 u mbagħad it-tieni parentesi kwadri bil j 471 00:22:02,225 --> 00:22:06,580 huwa għadis fil-karattri ta ' li string partikolari fil ARGV. 472 00:22:06,580 --> 00:22:09,562 U mbagħad, biss għal miżura tajba, Jien istampar linja ġdida hawn. 473 00:22:09,562 --> 00:22:12,020 Allura issa let me imorru quddiem u tiftaħ up tieqa kemmxejn akbar 474 00:22:12,020 --> 00:22:13,600 hekk nistgħu naraw dan fl-azzjoni. 475 00:22:13,600 --> 00:22:15,700 Let me go f'dak folder. 476 00:22:15,700 --> 00:22:22,550 U issa ma jagħmlu ARGV-2-- whoops-- make-ARGV 2, ./argv 2. 477 00:22:22,550 --> 00:22:23,110 Ikteb. 478 00:22:23,110 --> 00:22:24,860 U huwa a hard ftit biex taqra vertikalment, 479 00:22:24,860 --> 00:22:27,920 iżda li tabilħaqq l-isem tal- programm, segwit minn linja vojta. 480 00:22:27,920 --> 00:22:30,210 Issa let me imorru quddiem u tagħmel foo. 481 00:22:30,210 --> 00:22:33,210 Bl-istess mod diffiċli biex jinqara, iżda huwa tabilħaqq istampar karattru wieħed kull linja. 482 00:22:33,210 --> 00:22:36,780 U jekk I do bar, huwa issa istampar dawk linja b'linja. 483 00:22:36,780 --> 00:22:40,140 Allura l-takeaway hawnhekk mhix daqshekk li, wow, ħarsa lejn din trick ġdida pulita 484 00:22:40,140 --> 00:22:44,750 fejn inti tista 'tikseb fuq il-kontenut ta 'karattri speċifiċi ta' firxa, 485 00:22:44,750 --> 00:22:48,380 iżda pjuttost kif aħna qed tieħu dawn bażika ideat bħal indiċjar fis firxa, 486 00:22:48,380 --> 00:22:51,620 u mbagħad indiċjar fi firxa li kien f'dak array, 487 00:22:51,620 --> 00:22:56,180 u biss applikati l-istess ideat għall eżempji ftit aktar sofistikati. 488 00:22:56,180 --> 00:22:59,560 Imma l-affarijiet bażiċi verament ma jkunux mibdula, anke mill-aħħar ġimgħa. 489 00:22:59,560 --> 00:23:02,350 >> Issa dan huwa tip ta 'informazzjoni f'waqtha, peress li, jfakkru, fl zero ġimgħa 490 00:23:02,350 --> 00:23:04,110 aħna lagħbu bil-ktieb tat-telefon bħal dan. 491 00:23:04,110 --> 00:23:06,670 U anke jekk din hija ovvjament biċċiet fiżiċi tal-karta, 492 00:23:06,670 --> 00:23:09,150 inti tista 'tip ta' jaħsbu ta ' ktieb tat-telefon bħala firxa. 493 00:23:09,150 --> 00:23:12,770 Ċertament, jekk ġejt biex reimplement dan biċċiet dawn biċċiet tal-karti 494 00:23:12,770 --> 00:23:15,260 fil-kompjuter, probabbilment inti tuża xi ħaġa 495 00:23:15,260 --> 00:23:20,270 bħal firxa li jaħżen kollha ta 'dawk ismijiet u numri mill A-triq kollha 496 00:23:20,270 --> 00:23:23,800 permezz Z. Allura dan huwa sabiħ, għax dan jippermetti l-opportunità, 497 00:23:23,800 --> 00:23:28,310 forsi, biex jikkunsidraw kif inti tista fil-fatt jimplimentaw xi ħaġa bħal dik. 498 00:23:28,310 --> 00:23:31,250 Bħala ma 'serje ta' bibien hawn. 499 00:23:31,250 --> 00:23:36,380 Mela jekk jien could-- għandna bżonn wieħed voluntier biex toħroġ fuq up. 500 00:23:36,380 --> 00:23:36,980 Ejja naraw. 501 00:23:36,980 --> 00:23:40,650 An wiċċ familjari forsi, wiċċ familjari forsi. 502 00:23:40,650 --> 00:23:42,090 Kif dwar fil oranġjo? 503 00:23:42,090 --> 00:23:42,680 Hawnhekk. 504 00:23:42,680 --> 00:23:45,870 Shirt Orange, come fuq up. 505 00:23:45,870 --> 00:23:52,230 >> Ejja imorru quddiem issa u jimxu dawn il-bibien fuq il-ġenb, 506 00:23:52,230 --> 00:23:54,020 jimxu dawn barra mill-mod għal mument. 507 00:23:54,020 --> 00:23:56,600 508 00:23:56,600 --> 00:23:57,760 X'hemm isem tiegħek? 509 00:23:57,760 --> 00:23:58,580 >> Ajay: 510 00:23:58,580 --> 00:23:58,655 >> DAVID Malan: Ajay. 511 00:23:58,655 --> 00:23:58,680 David. 512 00:23:58,680 --> 00:23:59,451 Nizza li jissodisfaw inti. 513 00:23:59,451 --> 00:23:59,950 Kull dritt. 514 00:23:59,950 --> 00:24:04,500 Allura aħna għandna lura dawn is-sitt bibien diġitalment fuq il screen-- 515 00:24:04,500 --> 00:24:07,810 jew, pjuttost, seba bibien fuq il- screen-- mazz sħiħ ta 'numri. 516 00:24:07,810 --> 00:24:10,099 U stajt qallek xejn fil advance-- miftiehem? 517 00:24:10,099 --> 00:24:11,140 Ajay: Xejn bil-quddiem. 518 00:24:11,140 --> 00:24:14,730 DAVID Malan: All nixtieq li inti tagħmel issa huwa li jinstabu għalija, u għalina, 519 00:24:14,730 --> 00:24:20,920 verament, in-numru 50, pass wieħed fi żmien. 520 00:24:20,920 --> 00:24:21,830 >> Ajay: Numru 50? 521 00:24:21,830 --> 00:24:22,580 >> DAVID Malan: In-numru 50. 522 00:24:22,580 --> 00:24:24,746 U inti tista jiżvelaw x'hemm wara kull waħda minn dawn il-bibien 523 00:24:24,746 --> 00:24:27,930 sempliċiment billi tmiss ma 'saba. 524 00:24:27,930 --> 00:24:31,364 Kkritikat dan. [Rires] 525 00:24:31,364 --> 00:24:34,560 >> [Applause] 526 00:24:34,560 --> 00:24:39,540 >> Isir ħafna ukoll. 527 00:24:39,540 --> 00:24:40,400 OK. 528 00:24:40,400 --> 00:24:44,090 Għandna rigal sabiħ premju għalik hawn. 529 00:24:44,090 --> 00:24:46,520 Pick tiegħek ta 'films aħna diskussi l-aħħar ġimgħa. 530 00:24:46,520 --> 00:24:47,362 >> Ajay: Oh, raġel. 531 00:24:47,362 --> 00:24:49,050 Oh, stajt qatt ma rajt Spaceballs. 532 00:24:49,050 --> 00:24:49,520 >> DAVID Malan: Spaceballs. 533 00:24:49,520 --> 00:24:50,140 Kull dritt. 534 00:24:50,140 --> 00:24:53,790 Allura żżomm fuq wieħed biss mument. 535 00:24:53,790 --> 00:24:57,430 How-- ejja jagħmlu dan a moment-- teachable 536 00:24:57,430 --> 00:25:00,412 kif ma inti tmur dwar konstatazzjoni tal-numru 50? 537 00:25:00,412 --> 00:25:01,370 Ajay: I għażlet b'mod każwali. 538 00:25:01,370 --> 00:25:03,420 DAVID Malan: Allura inti għażilt saltwarjament u ltqajna xxurtjati. 539 00:25:03,420 --> 00:25:03,790 Ajay: Iva. 540 00:25:03,790 --> 00:25:04,456 DAVID Malan: OK. 541 00:25:04,456 --> 00:25:05,050 Eċċellenti. 542 00:25:05,050 --> 00:25:08,470 Allura issa, kellha inti ma gotten xxurtjati, x'iktar 543 00:25:08,470 --> 00:25:10,210 seta 'ġara wara dawn il-bibien? 544 00:25:10,210 --> 00:25:12,930 Mela jekk jien jimxi 'l quddiem u jiżvelaw dawn in-numri hawn, 545 00:25:12,930 --> 00:25:15,180 huma fil-fatt huma fl-ordni każwali. 546 00:25:15,180 --> 00:25:17,750 U l-aħjar inti jista 'jkollhom isir, franchement, huwa billi, finalment, 547 00:25:17,750 --> 00:25:19,410 fl-agħar każ, jqabbluhom kollha. 548 00:25:19,410 --> 00:25:23,000 Allura inti ltqajna super-xxurtjati, li mhuwiex dak li aħna'd sejħa algoritmu. 549 00:25:23,000 --> 00:25:24,730 Iva, congrats. 550 00:25:24,730 --> 00:25:27,010 Imma issa let's-- Humer lili, jekk inti tista '. 551 00:25:27,010 --> 00:25:28,310 Ejja mur dan tab hawn. 552 00:25:28,310 --> 00:25:31,460 U hawn huma n-numri fil-ċar dak li jidher li jkun ordni każwali, 553 00:25:31,460 --> 00:25:32,280 u kienu. 554 00:25:32,280 --> 00:25:35,160 Imma issa jekk I minflok pretensjoni li wara dawn il-bibien 555 00:25:35,160 --> 00:25:39,070 huma n-numri li huma magħżula. 556 00:25:39,070 --> 00:25:41,780 L-għan issa huwa li wkoll issibna-numru 50. 557 00:25:41,780 --> 00:25:45,910 Iżda tagħmel dan algorithmically, u jgħidulna kif inti qed tmur dwar dan. 558 00:25:45,910 --> 00:25:48,020 U jekk issibha, inti żżomm il-movie. 559 00:25:48,020 --> 00:25:49,520 Inti ma jsibuha, inti tagħti lura. 560 00:25:49,520 --> 00:25:52,720 561 00:25:52,720 --> 00:25:58,112 Ajay: So jien ser jiċċekkja l-truf ewwel, biex jiddeterminaw jekk there's-- 562 00:25:58,112 --> 00:26:02,048 [Daħk u applause] 563 00:26:02,048 --> 00:26:04,451 564 00:26:04,451 --> 00:26:05,492 DAVID Malan: Hawnhekk inti tmur. 565 00:26:05,492 --> 00:26:17,080 566 00:26:17,080 --> 00:26:21,700 Ejja tagħti ħarsa lejn wieħed tal-predeċessuri Ajay tal, 567 00:26:21,700 --> 00:26:25,450 Sean, li ma kienx daqshekk xxurtjati. 568 00:26:25,450 --> 00:26:28,670 OK, hekk kompitu tiegħek hawn, Sean, huwa dan li ġej. 569 00:26:28,670 --> 00:26:32,970 Għandi moħbija wara dawn bibien in-numru sebgħa, 570 00:26:32,970 --> 00:26:37,200 iżda tucked bogħod f'xi wħud minn dawn il-bibien kif ukoll huma numri mhux negattivi oħra. 571 00:26:37,200 --> 00:26:40,730 U l-għan tiegħek huwa li wieħed jaħseb ta 'dan ringiela ta 'fuq ta' numri biss bħala firxa. 572 00:26:40,730 --> 00:26:43,590 Aħna biss sekwenza ta 'biċċiet tal-karta bin-numri warajhom. 573 00:26:43,590 --> 00:26:47,640 U l-għan tiegħek huwa, biss bl-użu l-quċċata array hawn, issib lili n-numru sebgħa. 574 00:26:47,640 --> 00:26:51,200 U aħna huma mbagħad se critique kif inti tmur dwar kif isir dan. 575 00:26:51,200 --> 00:26:52,920 Issibna-numru sebgħa, jekk jogħġbok. 576 00:26:52,920 --> 00:27:02,570 577 00:27:02,570 --> 00:27:03,070 No 578 00:27:03,070 --> 00:27:06,760 579 00:27:06,760 --> 00:27:08,179 5, 19, 13. 580 00:27:08,179 --> 00:27:16,752 581 00:27:16,752 --> 00:27:17,835 Mhuwiex mistoqsija trick. 582 00:27:17,835 --> 00:27:21,420 583 00:27:21,420 --> 00:27:21,920 1. 584 00:27:21,920 --> 00:27:26,715 585 00:27:26,715 --> 00:27:29,840 Fuq dan il-punt punteġġ tiegħek ma tantx hu tajba, sabiex inti tista 'ukoll jibqgħu għaddejjin. 586 00:27:29,840 --> 00:27:32,870 587 00:27:32,870 --> 00:27:33,370 3. 588 00:27:33,370 --> 00:27:38,570 589 00:27:38,570 --> 00:27:39,802 Mur fuq. 590 00:27:39,802 --> 00:27:42,510 Franchement, I iżda ma jistax jgħin wonder dak li qed anki jaħsbu dwar. 591 00:27:42,510 --> 00:27:44,990 >> Seán: I tista 'tieħu minn biss l-filliera ta' fuq. 592 00:27:44,990 --> 00:27:46,240 DAVID Malan: Biss il-filliera ta 'fuq. 593 00:27:46,240 --> 00:27:47,281 Allura inti ħadthom ltqajna tlieta xellug. 594 00:27:47,281 --> 00:27:48,310 Allura ssib lili 7. 595 00:27:48,310 --> 00:27:54,758 596 00:27:54,758 --> 00:27:59,141 >> [UDJENZA shouts SUĠĠERIMENTI] 597 00:27:59,141 --> 00:28:22,210 598 00:28:22,210 --> 00:28:26,130 Allura kemm ta 'dawk kienu aqwa għal raġunijiet differenti ħafna. 599 00:28:26,130 --> 00:28:29,150 Allura dan huwa fejn aħna jitħalla 'off mument ilu, 600 00:28:29,150 --> 00:28:32,530 u l-għarfien ċavetta hawn kien dawn il-bibien kellhom in-numri 601 00:28:32,530 --> 00:28:37,390 warajhom li kienu magħżula, l-ideal takeaway li għalihom hija li inti tista 'tagħmel 602 00:28:37,390 --> 00:28:39,670 fundamentalment aħjar dan it-tieni example-- 603 00:28:39,670 --> 00:28:42,380 u, tabilħaqq, li kien Sean ewwel tentattiv bin-numri bl-addoċċ 604 00:28:42,380 --> 00:28:45,460 daqstant before-- iżda hekk kif dawn in-numri huma magħżula, 605 00:28:45,460 --> 00:28:47,980 ħafna bħall-ktieb tat-telefon, dak li tista 'ovvjament tagħmel? 606 00:28:47,980 --> 00:28:50,090 Jew kif tista 'inti lieva li l-għarfien? 607 00:28:50,090 --> 00:28:51,530 Yeah. 608 00:28:51,530 --> 00:28:54,910 >> UDJENZA: Inti tmur f'nofsu [inaudible]. 609 00:28:54,910 --> 00:28:55,660 DAVID Malan: Yeah. 610 00:28:55,660 --> 00:28:56,160 Eżattament. 611 00:28:56,160 --> 00:28:59,680 Allura istint inizjali Ajay kien biex jivverifika l-truf, bħala niftakar, 612 00:28:59,680 --> 00:29:02,320 u allura aħna tip ta 'lest l-eżempju malajr. 613 00:29:02,320 --> 00:29:05,220 Imma jekk irridu bdew jagħmlu dan aktar metodiku flimkien dawk il-linji, 614 00:29:05,220 --> 00:29:07,860 iżda jibdew forsi fil- nofs, għaliex qed magħżula, 615 00:29:07,860 --> 00:29:10,900 hekk kif aħna jiżvelaw l numru 16, aħna għalhekk know-- 616 00:29:10,900 --> 00:29:14,850 u ejja jagħmlu eżattament that-- aħna għalhekk jafu li 50, fil-każ tal-lum, 617 00:29:14,850 --> 00:29:16,080 s'est li jkun lejn il-lemin. 618 00:29:16,080 --> 00:29:18,735 Hekk biss bħal fil żero meta ġimgħa aħna Tore-ktieb tat-telefon fil nofs 619 00:29:18,735 --> 00:29:21,490 u threw nofs il- problema bogħod, l-istess idea here. 620 00:29:21,490 --> 00:29:23,680 Nistgħu tarmi Din it-taqsima tal-problema bogħod. 621 00:29:23,680 --> 00:29:25,730 U probabbilment dak li inti tista 'tagħmel algorithmically, 622 00:29:25,730 --> 00:29:28,710 ladarba inti taf li 50 għandu jkun lejn il-lemin, jekk huwa kullimkien, 623 00:29:28,710 --> 00:29:31,390 huwa li tipprova hemm, fin-nofs tal-bibien li jifdal. 624 00:29:31,390 --> 00:29:33,450 Of course, 50 huwa ogħla minn 42, sabiex inkunu nistgħu 625 00:29:33,450 --> 00:29:36,060 tarmi dan li jifdal kwart tal-problema bogħod, 626 00:29:36,060 --> 00:29:38,510 u, finalment, jidentifikaw xi ħaġa bħal 50. 627 00:29:38,510 --> 00:29:41,050 Iżda biss kif ma 'l- ktieb tat-telefon, dawn in-numri 628 00:29:41,050 --> 00:29:44,560 ngħataw lilna diġà ordni Issortjati, li tħalli us 629 00:29:44,560 --> 00:29:47,450 bil-kwistjoni, kif taħseb li tikseb l-affarijiet fis-ordni magħżula? 630 00:29:47,450 --> 00:29:49,640 U, franchement, b'liema prezz? 631 00:29:49,640 --> 00:29:51,390 Hija ħaġa waħda li tkun mogħtija l-ktieb tat-telefon 632 00:29:51,390 --> 00:29:54,810 u mbagħad tagħfas ħbieb tiegħek billi jsibu numru tat-telefon verament malajr, right? 633 00:29:54,810 --> 00:29:58,520 Tiċrit 32 paġni out biex isibu persuna minn 4 biljun paġni, 634 00:29:58,520 --> 00:30:00,470 għidna kien eżempju estrem. 635 00:30:00,470 --> 00:30:03,320 Imma kemm ħin ma ħadet Verizon biex issolvi dak il-ktieb tat-telefon? 636 00:30:03,320 --> 00:30:06,170 Kif ħafna ħin ma ħadet us biex issolvi dawn is-seba 'numri? 637 00:30:06,170 --> 00:30:10,110 Li hija mistoqsija li konna b'hekk injorati s'issa kompletament. 638 00:30:10,110 --> 00:30:12,330 >> Mela ejja twieġeb din il-mistoqsija issa. 639 00:30:12,330 --> 00:30:15,920 U aħna qed kollha barra ta 'movies issa, imma aħna ma jkollhom xi blalen istress. 640 00:30:15,920 --> 00:30:19,480 Jekk, ngħidu, tmien voluntiera ma mind jingħaqdu magħna up here? 641 00:30:19,480 --> 00:30:24,100 Ejja imorru quddiem u jagħmlu, kif madwar l-erbgħa tal inti, tlieta mill inti hawn? 642 00:30:24,100 --> 00:30:25,290 Get xi uċuh ġodda. 643 00:30:25,290 --> 00:30:27,220 U l-erbgħa tal inti hemmhekk? 644 00:30:27,220 --> 00:30:30,760 U now-- ejja ma bias here-- u numru tmienja minn hawn fuq l-aħħar. 645 00:30:30,760 --> 00:30:32,060 Come fuq up. 646 00:30:32,060 --> 00:30:32,560 Kull dritt. 647 00:30:32,560 --> 00:30:37,480 Allura dak li għandna hawn għal kull inti huwa numru. 648 00:30:37,480 --> 00:30:40,055 Jekk inti tixtieq li tmur quddiem, tieħu dan in-numru. 649 00:30:40,055 --> 00:30:40,763 X'hemm isem tiegħek? 650 00:30:40,763 --> 00:30:41,950 >> Artie: Artie. 651 00:30:41,950 --> 00:30:43,100 >> DAVID Malan: Artie, okay. 652 00:30:43,100 --> 00:30:44,297 Inti numru 1. 653 00:30:44,297 --> 00:30:45,310 >> Amin: Amin. 654 00:30:45,310 --> 00:30:46,060 DAVID Malan: Amin. 655 00:30:46,060 --> 00:30:46,820 David. 656 00:30:46,820 --> 00:30:47,530 Inti numru 2. 657 00:30:47,530 --> 00:30:49,100 U jimxi 'l quddiem, bħala I idejn inti l-folji tal-karta, 658 00:30:49,100 --> 00:30:52,130 linja yourselves up fuq quddiem tal-mużika stands fl-istess ordni bħal up hemm. 659 00:30:52,130 --> 00:30:52,660 >> Andy: Hi, Andy. 660 00:30:52,660 --> 00:30:53,970 >> DAVID Malan: Andy, huwa sabiħ li tara int. 661 00:30:53,970 --> 00:30:54,520 Numru 3. 662 00:30:54,520 --> 00:30:55,310 >> JACOB: Jacob. 663 00:30:55,310 --> 00:30:56,760 >> DAVID Malan: Jacob, numru 4. 664 00:30:56,760 --> 00:30:57,549 Merħba abbord. 665 00:30:57,549 --> 00:30:58,090 GRANT: Għotja. 666 00:30:58,090 --> 00:30:58,881 DAVID Malan: Grant. 667 00:30:58,881 --> 00:31:00,348 Numru 5. 668 00:31:00,348 --> 00:31:01,200 >> Alanna: Alanna. 669 00:31:01,200 --> 00:31:02,766 >> DAVID Malan: Alanna, numru 6. 670 00:31:02,766 --> 00:31:03,589 >> FRANCES: Frances. 671 00:31:03,589 --> 00:31:04,880 DAVID Malan: Frances, numru 7. 672 00:31:04,880 --> 00:31:05,200 U? 673 00:31:05,200 --> 00:31:05,830 >> RACHEL: Rachel. 674 00:31:05,830 --> 00:31:06,815 >> DAVID Malan: Rachel, numru 8. 675 00:31:06,815 --> 00:31:07,100 Kull dritt. 676 00:31:07,100 --> 00:31:08,766 Jimxi 'l quddiem u nikseb yourself f'din l-ordni. 677 00:31:08,766 --> 00:31:11,440 Let me tpoġġi wieħed li jifdal mużika stand fil-post. 678 00:31:11,440 --> 00:31:13,670 Fejn għandek bżonn stand? 679 00:31:13,670 --> 00:31:14,170 OK. 680 00:31:14,170 --> 00:31:18,710 Jimxi 'l quddiem u biss jitqiegħed numri tiegħek fejn l-udjenza tista 'tara minnhom fuq, 681 00:31:18,710 --> 00:31:20,340 l-mużika stand jiffaċċjaw 'il barra. 682 00:31:20,340 --> 00:31:27,240 U wieħed jittama, l-ewwel tagħna check sanità here-- 4, 2, 6. 683 00:31:27,240 --> 00:31:27,890 Oh-oh. 684 00:31:27,890 --> 00:31:29,070 Stenna minuta. 685 00:31:29,070 --> 00:31:31,140 Aħna ma jkollhom 8. 686 00:31:31,140 --> 00:31:35,180 I bżonn biex tkeċċi int mill- l-eżempju b'xi. 687 00:31:35,180 --> 00:31:35,680 No 688 00:31:35,680 --> 00:31:36,940 Le, li OK. 689 00:31:36,940 --> 00:31:37,890 Ejja naraw. 690 00:31:37,890 --> 00:31:38,880 Nistgħu nagħmlu dan. 691 00:31:38,880 --> 00:31:39,440 Stand by. 692 00:31:39,440 --> 00:31:43,970 693 00:31:43,970 --> 00:31:45,740 Hemm immorru. 694 00:31:45,740 --> 00:31:46,800 Korretta. 695 00:31:46,800 --> 00:31:47,360 Kull dritt. 696 00:31:47,360 --> 00:31:50,260 Allura, issa għandna 8, 1, 3 7, 5. 697 00:31:50,260 --> 00:31:50,760 OK. 698 00:31:50,760 --> 00:31:51,360 Eċċellenti. 699 00:31:51,360 --> 00:31:54,400 >> Għalhekk il-kwistjoni fil-idejn huwa, fl b'liema prezz, u skond liema metodu, 700 00:31:54,400 --> 00:31:58,580 nistgħu attwalment sort dawn in-numri hawn sabiex inkunu nistgħu tip ta 'xogħol lura, 701 00:31:58,580 --> 00:32:02,759 finalment, u decide-- huwa tassew impressjonanti, huwa tassew effiċjenti, 702 00:32:02,759 --> 00:32:04,550 li I tista 'taqsam u jirbħu ktieb tat-telefon? 703 00:32:04,550 --> 00:32:06,716 Huwa tassew effiċjenti li I tista 'taqsam u conquer 704 00:32:06,716 --> 00:32:08,600 dawk il-biċċiet diġitali tal-karta fuq il-bord, 705 00:32:08,600 --> 00:32:14,500 jekk forsi huwa va ispiża us fortuna fil-ħin jew ċikli ta 'enerġija jew CPU 706 00:32:14,500 --> 00:32:17,340 biex fil-fatt tikseb data tagħna fis xi ordni Issortjati? 707 00:32:17,340 --> 00:32:18,930 Mela ejja jistaqsu din il-kwistjoni. 708 00:32:18,930 --> 00:32:22,077 >> Allura l-ewwel darba, dawn in-numri huma sabiex każwali pretty ħafna, 709 00:32:22,077 --> 00:32:24,160 u jien ser tipproponi algoritmu wieħed, jew proċess 710 00:32:24,160 --> 00:32:25,970 li permezz tiegħu nistgħu sort dawn folks. 711 00:32:25,970 --> 00:32:28,100 Jien ser approċċ dan pretty naively. 712 00:32:28,100 --> 00:32:30,730 U jien ser jirrikonoxxu li huwa tip ta 'lott għalija 713 00:32:30,730 --> 00:32:32,890 biex nagħlaq f'moħħi madwar il- data kollha stabbilit għal darba. 714 00:32:32,890 --> 00:32:33,640 Imma inti taf liema? 715 00:32:33,640 --> 00:32:37,450 Jien ser tagħmel xi fixes marġinali sempliċi ħafna. 716 00:32:37,450 --> 00:32:41,152 4 u 2 huma out of order, jekk il- għan huwa li tmur minn 1 fuq sa 8. 717 00:32:41,152 --> 00:32:41,860 Allura inti taf liema? 718 00:32:41,860 --> 00:32:43,776 Jien ser ikollhom inti guys tpartit, jekk inti taqleb 719 00:32:43,776 --> 00:32:46,380 fiżikament pożizzjonijiet u biċċiet tiegħek ta 'karta. 720 00:32:46,380 --> 00:32:47,894 Issa 4 u 6, dawn huma fl-ordni. 721 00:32:47,894 --> 00:32:49,060 Jien ser jitilqu dawk jkun. 722 00:32:49,060 --> 00:32:50,227 6 u 8, dawk huma fl-ordni. 723 00:32:50,227 --> 00:32:51,185 Going li jħallu lilhom tkun. 724 00:32:51,185 --> 00:32:52,170 8 u1, out of order. 725 00:32:52,170 --> 00:32:54,790 Jekk inti tnejn ma mind iskambji. 726 00:32:54,790 --> 00:32:57,300 Issa 8 u 3, jekk inti guys tista 'tpartit. 727 00:32:57,300 --> 00:32:59,320 8 u 7, jekk inti guys tista 'tpartit. 728 00:32:59,320 --> 00:33:01,790 U 8 u l-5, jekk inti guys tista 'tpartit. 729 00:33:01,790 --> 00:33:03,980 >> Issa, am I jsir? 730 00:33:03,980 --> 00:33:05,200 Le, ovvjament le. 731 00:33:05,200 --> 00:33:07,880 Imma I għamlu l- sitwazzjoni aħjar, id-dritt? 732 00:33:07,880 --> 00:33:09,430 Liema kien l-isem tiegħek mill-ġdid, numru 8? 733 00:33:09,430 --> 00:33:10,055 >> RACHEL: Rachel. 734 00:33:10,055 --> 00:33:12,850 DAVID Malan: Allura Rachel għandha effettivament effervexxentement up pretty bogħod, 735 00:33:12,850 --> 00:33:15,660 it-triq kollha sa l-aħħar ta ' firxa tiegħi ta 'numri hawnhekk. 736 00:33:15,660 --> 00:33:17,310 U għalhekk dik il-problema hija tip ta 'solvuti. 737 00:33:17,310 --> 00:33:21,670 Issa, b'mod ċar, 2 għad trid jimxu daqsxejn, u 4 u 6 u 1. 738 00:33:21,670 --> 00:33:24,420 Imma I jidhru li gotten ftit eqreb lejn is-soluzzjoni. 739 00:33:24,420 --> 00:33:26,790 Mela ejja japplikaw dan l-istess heuristic naive mill-ġdid. 740 00:33:26,790 --> 00:33:27,690 2 u 4, OK. 741 00:33:27,690 --> 00:33:28,810 4 u 6, OK. 742 00:33:28,810 --> 00:33:29,930 6 u 1, mm mm. 743 00:33:29,930 --> 00:33:32,230 Ejja swap. 744 00:33:32,230 --> 00:33:33,200 6 u 3, mm mm. 745 00:33:33,200 --> 00:33:34,420 Ejja swap. 746 00:33:34,420 --> 00:33:35,580 6 u 7 huwa OK. 747 00:33:35,580 --> 00:33:36,590 7 u 5, Nope. 748 00:33:36,590 --> 00:33:37,790 Ejja swap. 749 00:33:37,790 --> 00:33:38,470 U issa 7 u 8. 750 00:33:38,470 --> 00:33:39,862 U x'hemm isem tiegħek mill-ġdid? 751 00:33:39,862 --> 00:33:40,570 FRANCES: Frances. 752 00:33:40,570 --> 00:33:41,445 DAVID Malan: Frances. 753 00:33:41,445 --> 00:33:44,230 Allura issa Frances hija fil anki aħjar pożizzjoni, minħabba li issa 7 u 8 754 00:33:44,230 --> 00:33:46,440 jkun korrett effervexxentement sal-quċċata. 755 00:33:46,440 --> 00:33:47,510 Allura 2 u 4, OK. 756 00:33:47,510 --> 00:33:48,720 4 u 1, swap Ejja. 757 00:33:48,720 --> 00:33:50,410 4 u 3, tpartit Ejja. 758 00:33:50,410 --> 00:33:51,550 4 u 6, int OK. 759 00:33:51,550 --> 00:33:53,340 6 u 5, tpartit Ejja. 760 00:33:53,340 --> 00:33:54,590 U issa dawk guys huma tajbin. 761 00:33:54,590 --> 00:33:55,780 Aħna kważi hemm. 762 00:33:55,780 --> 00:33:57,706 2 u 1, out of order, hekk tpartit. 763 00:33:57,706 --> 00:33:59,080 U issa let me tagħmel verifika sanità. 764 00:33:59,080 --> 00:34:03,080 2 u 3, 3 u 4, 4 u 5, 5 u 6, 6 u 7, 8. 765 00:34:03,080 --> 00:34:05,060 OK, hekk aħna qed isir. 766 00:34:05,060 --> 00:34:09,310 >> Imma b'liema spiża ma I sort dawn in-numri hawn? 767 00:34:09,310 --> 00:34:13,960 Well, kif ħafna passi ma I potenzjalment tieħu meta issortjar dawn folks? 768 00:34:13,960 --> 00:34:15,710 Well, aħna ser terga 'lura għal din il-kwistjoni. 769 00:34:15,710 --> 00:34:18,030 Iżda, franchement, jekk inti ltqajna ftit bored, li l- 770 00:34:18,030 --> 00:34:22,270 tip ta 'tiżvela f'dak dan ma kienx forsi l-algoritmu aktar effiċjenti. 771 00:34:22,270 --> 00:34:25,230 U fil-fatt, franchement, jien għaraq l-aktar mixi u lura. 772 00:34:25,230 --> 00:34:26,639 Li ma ħassx partikolarment effiċjenti. 773 00:34:26,639 --> 00:34:27,805 Mela ejja tipprova xi ħaġa oħra. 774 00:34:27,805 --> 00:34:31,870 Jekk inti guys tista reset yourselves għal dawn it-tmien valuri. 775 00:34:31,870 --> 00:34:32,969 Tajba tax-xogħol. 776 00:34:32,969 --> 00:34:36,570 >> Ejja tagħti ħarsa diġitalment, għal ftit mument qabel nippruvaw xi ħaġa oħra, 777 00:34:36,570 --> 00:34:38,179 lejn dak li ġara biss. 778 00:34:38,179 --> 00:34:41,330 Up hawn, int ser tara viżwalizzazzjoni ta 'dawn it-tmien bnedmin 779 00:34:41,330 --> 00:34:44,719 biha blu u aħmar bars jirrappreżentaw numri. 780 00:34:44,719 --> 00:34:46,670 Il taller-bar, l-akbar numru. 781 00:34:46,670 --> 00:34:48,510 Il-iqsar-bar, l-iżgħar numru. 782 00:34:48,510 --> 00:34:51,560 U dak li int ser tara hija fil- sabiex każwali aktar minn tmienja minnhom. 783 00:34:51,560 --> 00:34:55,830 Inti qed tmur biex tara dawn il-vireg jkollna magħżula minn dak l-istess algoritmu, 784 00:34:55,830 --> 00:34:59,890 jew sett ta 'struzzjonijiet, li aħna ser sejħa issa sort bużżieqa. 785 00:34:59,890 --> 00:35:04,000 Allura avviż, kull tieni jew hekk, żewġ bars huma tixgħel fl-aħmar, 786 00:35:04,000 --> 00:35:05,590 qed jiġu mqabbla mill-kompjuter. 787 00:35:05,590 --> 00:35:08,630 U mbagħad jekk il-bar kbar u l- ftit bar huma out of order, 788 00:35:08,630 --> 00:35:11,220 dawn ikunu qed skambjat għal me. 789 00:35:11,220 --> 00:35:15,120 >> Issa dan huwa oerhört tedious biex jaraw dan, ċertament, 790 00:35:15,120 --> 00:35:18,630 għal żmien twil ħafna, iżda avviż- takeaway-- bars kbar li jiċċaqalqu lejn il-lemin, 791 00:35:18,630 --> 00:35:20,460 bars ftit li jiċċaqalqu lejn ix-xellug. 792 00:35:20,460 --> 00:35:23,380 Ejja abort dan il-proċess u tħaffef dan up 793 00:35:23,380 --> 00:35:27,330 li jkunu ferm aktar mgħaġġla, sabiex inkunu nistgħu jiksbu sens ta 'livell għoli ta' liema, 794 00:35:27,330 --> 00:35:29,970 tabilħaqq, sort bubble qed tagħmel. 795 00:35:29,970 --> 00:35:33,150 Tabilħaqq, huwa tbaqbieq sal- naħa tal-lemin tal-lista, 796 00:35:33,150 --> 00:35:35,260 jew l-array, il-bars akbar. 797 00:35:35,260 --> 00:35:40,020 U bil-maqlub, il-bars ftit huma tbaqbieq mod tagħhom l isfel għall-xellug, 798 00:35:40,020 --> 00:35:42,950 għalkemm b'pass aktar mgħaġġel milli konna qabel għamlet. 799 00:35:42,950 --> 00:35:45,850 Allura, aktar diffiċli biex tara mal-bnedmin, iżda viżwalment dan huwa tabilħaqq dak 800 00:35:45,850 --> 00:35:46,540 kien qed jiġri. 801 00:35:46,540 --> 00:35:49,110 >> Imma ejja jippruvaw fundamentalment approċċ differenti issa. 802 00:35:49,110 --> 00:35:52,387 Ejja nippruvaw differenti algoritmu li biha għandna inti 803 00:35:52,387 --> 00:35:59,640 guys tibda f'dawn oriġinali pożizzjonijiet, li kien f'din l-ordni hawn. 804 00:35:59,640 --> 00:36:00,827 U ejja imorru quddiem issa. 805 00:36:00,827 --> 00:36:02,910 U jien se jagħmlu xi ħaġa saħansitra aktar sempliċi, id-dritt? 806 00:36:02,910 --> 00:36:06,710 Retrospettivament, jagħmlu skambju pairwise darb'oħra u għal darb'oħra, kważi ftit għaqlija. 807 00:36:06,710 --> 00:36:10,460 Ejja nagħmlu l-affarijiet aktar naively, fejn jekk irrid biex issolvi dawn folks, 808 00:36:10,460 --> 00:36:12,560 let me biss iżommu tfittex għall-iżgħar element. 809 00:36:12,560 --> 00:36:14,570 Allura issa dritt, 4 hija l- iżgħar numru stajt tidher. 810 00:36:14,570 --> 00:36:15,695 Jien ser ftakar li. 811 00:36:15,695 --> 00:36:17,750 Nru, 2 huwa aħjar, u ftakar li. 812 00:36:17,750 --> 00:36:20,730 1 huwa saħansitra iżgħar. 813 00:36:20,730 --> 00:36:21,970 3, 7, 5. 814 00:36:21,970 --> 00:36:22,470 OK. 815 00:36:22,470 --> 00:36:23,750 One-- x'hemm isem tiegħek mill-ġdid? 816 00:36:23,750 --> 00:36:24,400 >> Artie: Artie. 817 00:36:24,400 --> 00:36:24,610 >> DAVID Malan: Artie. 818 00:36:24,610 --> 00:36:25,460 Għalhekk, Artie, imorru quddiem. 819 00:36:25,460 --> 00:36:27,043 Jien ser pull inti out tal-linja. 820 00:36:27,043 --> 00:36:28,400 Jekk inti tista 'terga' lura hawn. 821 00:36:28,400 --> 00:36:30,790 U I-ħtieġa biex tagħmel spazju għalih. 822 00:36:30,790 --> 00:36:32,040 Għandna punt tad-deċiżjoni hawn. 823 00:36:32,040 --> 00:36:36,000 Kif tista nagħmlu spazju għal Artie hawn fil-bidu fejn numru 1 jappartjeni? 824 00:36:36,000 --> 00:36:36,770 >> UDJENZA: Shift. 825 00:36:36,770 --> 00:36:38,950 >> DAVID Malan: OK, aħna jista 'jċaqlaq kulħadd. 826 00:36:38,950 --> 00:36:40,860 Iżda tipproponi ottimizzazzjoni. 827 00:36:40,860 --> 00:36:43,410 Li jħoss ftit annoying għalija li jistaqsu erba 'persuni 828 00:36:43,410 --> 00:36:44,620 biex jimxu 'l isfel. 829 00:36:44,620 --> 00:36:45,520 X'aktar jista 'nagħmel? 830 00:36:45,520 --> 00:36:46,360 >> UDJENZA: Switch minnhom. 831 00:36:46,360 --> 00:36:46,850 >> DAVID Malan: Switch minnhom. 832 00:36:46,850 --> 00:36:47,900 U x'hemm isem tiegħek mill-ġdid? 833 00:36:47,900 --> 00:36:48,441 >> JACOB: Jacob. 834 00:36:48,441 --> 00:36:50,330 DAVID Malan: Jacob, jimxu. 835 00:36:50,330 --> 00:36:54,440 Ħafna aktar effiċjenti biss li jkollhom Postijiet tpartit Jacob ma Artie, 836 00:36:54,440 --> 00:36:56,710 għall-kuntrarju jisforzaw erba 'dawn folks, 837 00:36:56,710 --> 00:36:58,734 nirringrazzjak ħafna, biex pożizzjoni korretta tagħhom. 838 00:36:58,734 --> 00:37:01,150 X'hemm sbieħ dwar Artie issa, hu fil-pożizzjoni korretta tiegħu. 839 00:37:01,150 --> 00:37:02,060 Ejja nagħmlu dan mill-ġdid. 840 00:37:02,060 --> 00:37:03,730 2, dak l-iżgħar numru stajt tidher. 841 00:37:03,730 --> 00:37:05,690 3, 7, 5. 842 00:37:05,690 --> 00:37:06,190 OK. 843 00:37:06,190 --> 00:37:07,467 2 huwa definittivament l-iżgħar. 844 00:37:07,467 --> 00:37:08,550 M'għandhomx jagħmlu xi xogħol. 845 00:37:08,550 --> 00:37:09,320 Ejja nagħmlu dan mill-ġdid. 846 00:37:09,320 --> 00:37:10,070 6. 847 00:37:10,070 --> 00:37:10,640 Iżgħar? 848 00:37:10,640 --> 00:37:11,140 8. 849 00:37:11,140 --> 00:37:11,590 Nope. 850 00:37:11,590 --> 00:37:11,720 4? 851 00:37:11,720 --> 00:37:12,220 Ooh. 852 00:37:12,220 --> 00:37:13,420 Let me tiftakar 4. 853 00:37:13,420 --> 00:37:13,950 3. 854 00:37:13,950 --> 00:37:15,110 Let me tiftakar 3. 855 00:37:15,110 --> 00:37:16,080 7, 5. 856 00:37:16,080 --> 00:37:18,490 Iżgħar numru stajt jidhru fuq dan il-pass huwa ta '3. 857 00:37:18,490 --> 00:37:20,340 Jekk youd come fuq out. 858 00:37:20,340 --> 00:37:21,986 Fejn huma aħna se tpoġġi lilek? 859 00:37:21,986 --> 00:37:22,860 U x'hemm isem tiegħek? 860 00:37:22,860 --> 00:37:23,530 >> Alanna: Alanna. 861 00:37:23,530 --> 00:37:25,780 >> DAVID Malan: Alanna, aħna qed ser ikollhom biex tkeċċi int. 862 00:37:25,780 --> 00:37:28,670 Iżda dan huwa aktar effiċjenti, biss tpartit żewġ persuni, 863 00:37:28,670 --> 00:37:31,850 milli jkollhom nies multipli attwalment sidestep fuq. 864 00:37:31,850 --> 00:37:32,850 Issa ejja tagħmel dan mill-ġdid. 865 00:37:32,850 --> 00:37:34,980 Jien ser tagħżel 4, hekk come fuq out. 866 00:37:34,980 --> 00:37:36,540 U li għaddej biex jimxu? 867 00:37:36,540 --> 00:37:37,750 Numru 8, tal-kors. 868 00:37:37,750 --> 00:37:40,260 Jekk I issa jsibu numru 5, come fuq out. 869 00:37:40,260 --> 00:37:42,104 Numru 8 għaddej biex tikseb żgumbrat mill-ġdid. 870 00:37:42,104 --> 00:37:43,770 Jien issa ser issib numru 6 fis-seħħ. 871 00:37:43,770 --> 00:37:44,410 7 fil-post. 872 00:37:44,410 --> 00:37:45,080 8 fil-post. 873 00:37:45,080 --> 00:37:48,590 >> Dak li aħna biss għamlet issa hija xi ħaġa imsejħa sort għażla, 874 00:37:48,590 --> 00:37:52,560 u jekk aħna Ħares dan, huwa se jħossu xi ftit differenti. 875 00:37:52,560 --> 00:37:56,800 Ejja imorru quddiem u minn dan menu hawn, dan visualization-- 876 00:37:56,800 --> 00:38:02,920 ejja tbiddel dan to-- come fuq, Firefox. 877 00:38:02,920 --> 00:38:07,610 Ejja tbiddel dan it-tip ta 'għażla. 878 00:38:07,610 --> 00:38:11,830 U ejja tħaffef it up bħal qabel, u tibda l-viżwalizzazzjoni issa. 879 00:38:11,830 --> 00:38:13,990 U dan algoritmu għandha jħossu differenti għaliha. 880 00:38:13,990 --> 00:38:16,480 Fuq kull iterazzjoni, franchement, huwa saħansitra aktar sempliċi. 881 00:38:16,480 --> 00:38:18,385 Jien biss għażla l-element iżgħar. 882 00:38:18,385 --> 00:38:21,510 Issa, franchement, I ltqajna ftit xxurtjati li żmien, fis-sens li magħżula super-fast. 883 00:38:21,510 --> 00:38:22,660 L-elementi kienu każwali. 884 00:38:22,660 --> 00:38:25,520 Mhuwiex, kif aħna ser eventwalment tara, fundamentalment aktar mgħaġġel. 885 00:38:25,520 --> 00:38:29,400 Imma ejja tara terz u finali approċċ hawnhekk dwar dak li għaddej. 886 00:38:29,400 --> 00:38:36,230 Mela ejja imorru quddiem u reset inti guys finali ħin wieħed li jkun fil din l-ordni hawn. 887 00:38:36,230 --> 00:38:38,450 >> U issa, jien se jkun ftit aktar għaqlija, 888 00:38:38,450 --> 00:38:40,220 biss li jarrotondaw out algoritmi tagħna. 889 00:38:40,220 --> 00:38:41,230 Jien ser jagħmlu dan. 890 00:38:41,230 --> 00:38:43,140 Jien ser ma jmorrux quddiem u lura tant. 891 00:38:43,140 --> 00:38:44,900 Franchement, jien għajjien ta ' dan kollu traversat. 892 00:38:44,900 --> 00:38:47,691 Jien biss ser jieħdu dak jien mogħti fil-bidu tal-lista, 893 00:38:47,691 --> 00:38:49,460 u jien ser issolvi li allura hemmhekk. 894 00:38:49,460 --> 00:38:50,140 Allura aħna qegħdin hawn. 895 00:38:50,140 --> 00:38:51,030 Numru 4. 896 00:38:51,030 --> 00:38:53,680 Jien ser daħħal in-numru 4 ġo lista magħżula. 897 00:38:53,680 --> 00:38:54,180 Magħmul. 898 00:38:54,180 --> 00:38:58,300 Nitlob issa, u biss biex jagħmlu dan aktar ċara, din il-parti tal-lista tiegħi huwa magħżul. 899 00:38:58,300 --> 00:39:02,610 Huwa tip ta 'talba stupid, iżda tabilħaqq 4 huwa magħżul fil-lista ta 'daqs wieħed. 900 00:39:02,610 --> 00:39:04,210 Issa, jien ser tieħu fuq numru 2. 901 00:39:04,210 --> 00:39:07,670 Numru 2 Jien issa ser daħħal fil-post it-tajjeb. 902 00:39:07,670 --> 00:39:08,680 Għalhekk, fejn ma 2 jappartjenu? 903 00:39:08,680 --> 00:39:09,824 Ovvjament, minn hawn. 904 00:39:09,824 --> 00:39:11,490 Allura aqbad u jimxu lura, jekk inti tista '. 905 00:39:11,490 --> 00:39:14,406 U għaliex ma inti guys ħu mużika tiegħek stands miegħek f'dan il-ħin. 906 00:39:14,406 --> 00:39:17,020 U ejja sfurzat daħħal inti fil-bidu tal-lista. 907 00:39:17,020 --> 00:39:17,936 Allura xogħol ftit aktar. 908 00:39:17,936 --> 00:39:20,890 I kellhom jimxu Jacob madwar, u x'hemm isem tiegħek? 909 00:39:20,890 --> 00:39:21,420 >> Amin: Amin. 910 00:39:21,420 --> 00:39:22,270 >> DAVID Malan: Amin. 911 00:39:22,270 --> 00:39:24,350 Imma l-anqas I ma tmurx lura u lura. 912 00:39:24,350 --> 00:39:25,739 Jien biss tieħu l-affarijiet kif mmur. 913 00:39:25,739 --> 00:39:27,530 Jien biss ddaħħalhom fil-post dritt. 914 00:39:27,530 --> 00:39:29,220 6, dan huwa attwalment pjuttost faċli. 915 00:39:29,220 --> 00:39:31,510 Ejja daħħal inti hemmhekk, jekk inti biss riedu jimxu fuq ftit. 916 00:39:31,510 --> 00:39:32,870 Numru 8, wkoll pjuttost faċli. 917 00:39:32,870 --> 00:39:33,741 Dritt hemmhekk. 918 00:39:33,741 --> 00:39:34,240 Kkritikat dan. 919 00:39:34,240 --> 00:39:37,590 Numru 1 ma nistgħux biss tpartit ma 'Amin hawn, 920 00:39:37,590 --> 00:39:39,340 minħabba li għaddej li mess up-ordni. 921 00:39:39,340 --> 00:39:40,660 Allura aħna għandna li jkun ftit aktar għaqlija. 922 00:39:40,660 --> 00:39:42,770 Għalhekk, Artie, jekk inti tista back up għal mument. 923 00:39:42,770 --> 00:39:46,550 Ejja imorru quddiem u shift issa, b'differenza algoritmi preċedenti tagħna, 924 00:39:46,550 --> 00:39:50,910 biex tagħmel spazju għall Artie dritt hawn fil-bidu. 925 00:39:50,910 --> 00:39:54,690 Għalhekk fl-aħħar tal-ġurnata, jien tip ta ' tagħmel dak li ridt biex jevitaw qabel. 926 00:39:54,690 --> 00:39:57,770 U għalhekk algoritmu tiegħi huwa tip ta maqluba, intellettwalment, 927 00:39:57,770 --> 00:39:59,070 minn dak li oriġinarjament kien. 928 00:39:59,070 --> 00:40:01,240 Jien biss tagħmel l-shifting f'punt differenti. 929 00:40:01,240 --> 00:40:02,291 Issa jien fil 3. 930 00:40:02,291 --> 00:40:02,790 Oh, kkritikat. 931 00:40:02,790 --> 00:40:04,039 Irridu jagħmlu iktar xogħol mill-ġdid. 932 00:40:04,039 --> 00:40:05,060 Mela ejja push inti out. 933 00:40:05,060 --> 00:40:09,360 Ejja jimxu 8, 6, 4-- oh oh-- u 3 huwa se jmorru hemm dritt. 934 00:40:09,360 --> 00:40:11,490 Dan bl-inqas iffrankar żgħar f'dan il-ħin. 935 00:40:11,490 --> 00:40:13,100 7, mhux wisq xogħol xi jsir. 936 00:40:13,100 --> 00:40:15,370 Mela jekk inti tixtieq li pop lura, ejja daħħal inti. 937 00:40:15,370 --> 00:40:17,440 U fl-aħħarnett, 5, jekk inti tixtieq li pop lura, aħna 938 00:40:17,440 --> 00:40:22,610 bżonn li neqilbu, inti, inti, sakemm ħamsa hija fis-seħħ. 939 00:40:22,610 --> 00:40:25,670 >> Allura issa biex tara dan fi livell għoli grafikament, 940 00:40:25,670 --> 00:40:31,080 ejja tagħmel dan algoritmu viżwalizzazzjoni żmien addizzjonali wieħed. 941 00:40:31,080 --> 00:40:33,580 Allura dan aħna għandu jsejjaħ sort inserzjoni. 942 00:40:33,580 --> 00:40:37,700 Aħna ser run daqstant malajr, u tibda hawn. 943 00:40:37,700 --> 00:40:39,580 U dan, wisq, għandu jħossu differenti. 944 00:40:39,580 --> 00:40:42,180 Huwa tip ta 'jkollna aħjar u aħjar, imma hija qatt perfetta 945 00:40:42,180 --> 00:40:44,630 sal I jmorru fi u bla xkiel fil dawn il-lakuni. 946 00:40:44,630 --> 00:40:47,860 Minħabba, għal darb'oħra, jien biss jieħdu dak Jien qed tingħata mix-xellug għal-lemin. 947 00:40:47,860 --> 00:40:50,350 So I ma jiksbu hekk xxurtjati li kollox kien perfett. 948 00:40:50,350 --> 00:40:54,190 C'est pourquoi kellna dawn ftit mispositions li aħna fissi matul iż-żmien. 949 00:40:54,190 --> 00:40:58,890 >> Allura kollha ta 'dawn algoritmi jidhru li run b'rati kemmxejn differenti. 950 00:40:58,890 --> 00:41:02,030 Fil-fatt, li kieku inti ngħid huwa l-aħjar jew l-aktar malajr s'issa? 951 00:41:02,030 --> 00:41:03,450 Sort Bubble, l-ewwel? 952 00:41:03,450 --> 00:41:05,000 Sort Għażla, it-tieni? 953 00:41:05,000 --> 00:41:08,450 Sort Inserzjoni, it-tielet? 954 00:41:08,450 --> 00:41:10,710 I tisma 'xi xorta ta' selezzjoni. 955 00:41:10,710 --> 00:41:13,280 Ħsibijiet oħra? 956 00:41:13,280 --> 00:41:16,880 >> Għalhekk jirriżulta li kollha ta 'dawn algoritmi 957 00:41:16,880 --> 00:41:22,400 huma fundamentalment huma effiċjenti daqs kull other-- jew, bil-maqlub, eżatt kif 958 00:41:22,400 --> 00:41:25,980 ineffiċjenti daqs xulxin, għaliex nistgħu nagħmlu fundamentalment 959 00:41:25,980 --> 00:41:28,120 aħjar minn kull tlieta ta 'dawn algoritmi. 960 00:41:28,120 --> 00:41:29,990 U li daqsxejn ta 'gidba abjad, wisq. 961 00:41:29,990 --> 00:41:32,580 meta I say effiċjenti jew bħala ineffiċjenti, 962 00:41:32,580 --> 00:41:35,040 li l-inqas għal Valuri super-kbar ta 'n. 963 00:41:35,040 --> 00:41:38,450 Meta aħna għandna biss tmien nies hawn, jew forsi 50 jew hekk bars fuq l-iskrin, 964 00:41:38,450 --> 00:41:41,645 inti ser assolutament avviż differenzi fost dawn it-tliet algoritmi. 965 00:41:41,645 --> 00:41:44,020 Imma kif n, in-numru ta 'nies, jew in-numru ta 'numri, 966 00:41:44,020 --> 00:41:46,350 jew in-numru ta 'nies fil-telefon ktieb, jew in-numru ta 'paġni tal-web 967 00:41:46,350 --> 00:41:48,230 fid-database Google gets akbar u akbar, 968 00:41:48,230 --> 00:41:51,650 aħna ser tara li kollha tlieta minn dawn algoritmi huma attwalment pretty foqra. 969 00:41:51,650 --> 00:41:54,060 U nistgħu nagħmlu fundamentalment aħjar minn dik. 970 00:41:54,060 --> 00:41:56,830 >> Ejja tagħti ħarsa, finalment, lejn dak li dawn algoritmi jista 971 00:41:56,830 --> 00:41:59,520 ħoss bħal fil- kuntest ta 'ftit oħrajn 972 00:41:59,520 --> 00:42:03,550 kif ukoll permezz ta 'din viżwalizzazzjoni hawn 973 00:42:03,550 --> 00:42:06,860 li se jintroduċi magħna biex numru ta 'algoritmi. 974 00:42:06,860 --> 00:42:10,330 Ejja imorru quddiem u nifraħ parteċipanti tagħna hawn, kollha minnhom 975 00:42:10,330 --> 00:42:11,690 magħżula infushom tajjeb ħafna. 976 00:42:11,690 --> 00:42:15,124 Jekk inti tixtieq li tieħu rigal firda. 977 00:42:15,124 --> 00:42:16,540 Inti tista 'żżomm numri tiegħek ukoll. 978 00:42:16,540 --> 00:42:19,460 979 00:42:19,460 --> 00:42:22,520 U dak li inti ser tara, jew pjuttost tisma, issa, 980 00:42:22,520 --> 00:42:25,710 hija li kif aħna tpoġġi ħsejjes għal kull wieħed minn dawn il-vireg 981 00:42:25,710 --> 00:42:28,660 u jassoċja mal-software, frekwenza differenti ta 'ħoss, 982 00:42:28,660 --> 00:42:33,970 inti tista wrap moħħ aktar audioly tiegħek madwar dak kull wieħed minn dawn l-affarijiet 983 00:42:33,970 --> 00:42:34,470 look like. 984 00:42:34,470 --> 00:42:39,325 L-ewwel waħda minnhom huwa tip inserzjoni 985 00:42:39,325 --> 00:42:44,275 >> [Tones] 986 00:42:44,275 --> 00:42:47,245 987 00:42:47,245 --> 00:42:49,720 >> Dan huwa tip bubble. 988 00:42:49,720 --> 00:42:54,175 >> [Tones] 989 00:42:54,175 --> 00:43:17,250 990 00:43:17,250 --> 00:43:18,222 >> Sort Għażla. 991 00:43:18,222 --> 00:43:22,596 >> [Tones] 992 00:43:22,596 --> 00:43:33,570 993 00:43:33,570 --> 00:43:35,150 >> Xi ħaġa imsejħa sort jingħaqdu. 994 00:43:35,150 --> 00:43:38,140 >> [Tones] 995 00:43:38,140 --> 00:43:49,510 996 00:43:49,510 --> 00:43:51,278 >> Sort Gnome. 997 00:43:51,278 --> 00:43:56,390 >> [Tones] 998 00:43:56,390 --> 00:44:08,240 999 00:44:08,240 --> 00:44:09,430 >> C'est għal CS50. 1000 00:44:09,430 --> 00:44:13,360 Aħna se tara int nhar l-Erbgħa. 1001 00:44:13,360 --> 00:44:16,671 >> Narrator: U issa, "Deep Ħsibijiet, "mill Daven Farnham. 1002 00:44:16,671 --> 00:44:19,910 1003 00:44:19,910 --> 00:44:21,590 Għaliex ma hija għal loop? 1004 00:44:21,590 --> 00:44:23,200 Għaliex ma jagħmilha aħjar? 1005 00:44:23,200 --> 00:44:25,970 I d tagħmel ħamsa loop. 1006 00:44:25,970 --> 00:44:28,720 >> [Rires]