1 00:00:00,000 --> 00:00:05,530 2 00:00:05,530 --> 00:00:09,790 >> PROFESORI: Pra, rendi i ditës për këtë javë, jo se shumë gjëra. 3 00:00:09,790 --> 00:00:12,801 Por shpresojmë shumë, shumë e dobishme dhe relevante për ju djema këtë javë. 4 00:00:12,801 --> 00:00:15,550 Por ne jemi duke shkuar për të shpenzuar ndoshta 15, 20 minuta vetëm duke folur shpejt 5 00:00:15,550 --> 00:00:17,370 në lidhje me listën e link. 6 00:00:17,370 --> 00:00:19,694 Listat Link do të të mbulohet në quiz. 7 00:00:19,694 --> 00:00:22,610 Pra, ndoshta kjo do të jetë shumë e dobishme për të mësuar pak për atë që është. 8 00:00:22,610 --> 00:00:25,210 >> Ne jemi duke shkuar për të shpenzuar madhe Shumica e seksionit sotme 9 00:00:25,210 --> 00:00:27,640 duke shkuar mbi quiz zero probleme praktikë. 10 00:00:27,640 --> 00:00:30,970 Dhe pastaj ne do të kurseni ndoshta 20, 30 minuta në fund për çdo pyetje zvarritëse 11 00:00:30,970 --> 00:00:32,850 dikush ka. 12 00:00:32,850 --> 00:00:34,610 >> Dhe pastaj, e fundit pesë minuta, unë jam duke shkuar 13 00:00:34,610 --> 00:00:36,467 për të dhënë një pompë dorë fjalim për quiz. 14 00:00:36,467 --> 00:00:38,050 Ju djema të gjithë duan të jenë këtu për këtë. 15 00:00:38,050 --> 00:00:39,591 Për shkak se ajo do të jetë një kohë e mirë. 16 00:00:39,591 --> 00:00:42,650 17 00:00:42,650 --> 00:00:49,230 >> Të gjithë të drejtë, kështu që disa Materiali në listën link. 18 00:00:49,230 --> 00:00:52,620 Se si ata janë strukturuar në mënyrë tipike është ju keni atë që quhet një nyje, e drejtë? 19 00:00:52,620 --> 00:00:54,870 Ju keni këto gjëra të quajtura nyje, të cilat janë structs. 20 00:00:54,870 --> 00:00:57,360 Unë do të shkoj për se si të krijoni një nyje në rrëshqitje ardhshëm. 21 00:00:57,360 --> 00:01:00,680 Por në thelb të gjitha të lidhura Listat eshte dhëna se 22 00:01:00,680 --> 00:01:03,340 ka qenë i lidhur së bashku nëpërmjet pointers. 23 00:01:03,340 --> 00:01:09,110 >> Dhe kështu avantazh që kemi të përdorur një listë e lidhur mbi, 24 00:01:09,110 --> 00:01:11,280 ndoshta, si një grup, është fakti që në një rrjet 25 00:01:11,280 --> 00:01:15,000 ju keni nevojë për një bllok puthitur te memorie e gjitha në vendin e njëjtë, një 26 00:01:15,000 --> 00:01:16,870 pas tjetrit, të jenë në gjendje që të ketë atë. 27 00:01:16,870 --> 00:01:20,200 Ndërsa një listë e lidhur, ju mund të kanë bit të rastit të vogël të kujtesës 28 00:01:20,200 --> 00:01:23,020 të gjithë kompjuterin tuaj i lidhur së bashku nga pointers. 29 00:01:23,020 --> 00:01:26,270 >> Dhe në këtë mënyrë ju mund të hyni informacion 30 00:01:26,270 --> 00:01:28,610 që vjen njëra pas tjetër, pas tjetrës 31 00:01:28,610 --> 00:01:32,720 pa pasur nevojë për vetëm një copë të madhe të kujtesës në kompjuterin tuaj diku. 32 00:01:32,720 --> 00:01:35,910 Dhe kështu kjo është një nga më të mëdha Arsyet pse ne i përdorim listë link. 33 00:01:35,910 --> 00:01:40,300 >> Së dyti, kjo është shumë e lehtë për dinamike resize listën lidhjen, sepse në grup, 34 00:01:40,300 --> 00:01:44,720 kur ju të deklarojë një grup, ju keni një vlerë të caktuar të caktuar. 35 00:01:44,720 --> 00:01:47,340 Le të thonë se unë të kërkuar për të krijuar një grup prej 10 integers. 36 00:01:47,340 --> 00:01:49,970 Unë krijoj një rrjet prej 10 integers, dhe kjo është ajo. 37 00:01:49,970 --> 00:01:50,580 Është 10. 38 00:01:50,580 --> 00:01:52,038 Unë nuk e di se çfarë duhet të bëjmë pas kësaj. 39 00:01:52,038 --> 00:01:53,680 Në qoftë se unë të kërkuar për të bërë atë 11, nuk mund ta bëjë këtë. 40 00:01:53,680 --> 00:01:55,710 Nëse unë dua të bëj atë 9, nuk mund ta bëjë këtë. 41 00:01:55,710 --> 00:01:59,910 >> Ndërsa në një listë lidhje, ju mund të shtoni dhe të fshini dhe futur kudo që ju dëshironi. 42 00:01:59,910 --> 00:02:04,940 Ju dinamike mund të ndrysho tuaj strukturojnë këtu, strukturën e të dhënave tuaja. 43 00:02:04,940 --> 00:02:08,370 Dhe kjo na jep shumë më shumë fleksibilitet shtuar 44 00:02:08,370 --> 00:02:11,320 se ne nuk bëjmë zakonisht kanë me vargjeve. 45 00:02:11,320 --> 00:02:15,210 >> Çdokush hutuar në bazë Struktura e si një listë lidhje është 46 00:02:15,210 --> 00:02:17,930 ose pse ne duhet të përdorin një të tillë mbi një grup? 47 00:02:17,930 --> 00:02:20,330 Po, ne do të shkojnë mbi në detaje se si të vërtetë të krijuar një të tillë. 48 00:02:20,330 --> 00:02:24,121 Por kjo është vetëm lloj i ndjenja e përgjithshme e drejtë tani. 49 00:02:24,121 --> 00:02:24,620 Ftohtë. 50 00:02:24,620 --> 00:02:28,770 Dhe kështu vargjeve janë të lidhur së bashku nga këto gjëra të bukur të vogla 51 00:02:28,770 --> 00:02:29,960 quajtur nyje. 52 00:02:29,960 --> 00:02:32,210 Të gjitha një nyje është është një lloj i struct. 53 00:02:32,210 --> 00:02:36,090 Mos harroni, një struct është nëse do të donit për të krijuar një lloj të caktuar të variablit 54 00:02:36,090 --> 00:02:39,850 C, që nuk ka tashmë ekzistojnë, ju, si një programues, 55 00:02:39,850 --> 00:02:42,030 në fakt mund të krijojë atë vetë. 56 00:02:42,030 --> 00:02:46,540 >> Dhe kështu që ky lloj i të dhënave Struktura është quajtur një nyje, 57 00:02:46,540 --> 00:02:50,770 ka qenë në fakt e krijuar nga ne, që nuk ekziston në kuadër C në vete. 58 00:02:50,770 --> 00:02:53,150 Dhe mënyra që ju të krijojë një është që ju keni 59 00:02:53,150 --> 00:02:57,170 kokë e typedef struct, e cila tregon përpiluesit unë jam 60 00:02:57,170 --> 00:02:59,640 gati për të krijuar një e strukturës. 61 00:02:59,640 --> 00:03:00,830 >> Ne jemi duke shkuar emrin kjo "nyje". 62 00:03:00,830 --> 00:03:03,350 Dhe brenda ne jemi duke shkuar të deklarojë një ndryshore në, 63 00:03:03,350 --> 00:03:05,060 e cila do të ruajë një vlerë. 64 00:03:05,060 --> 00:03:09,320 Dhe pastaj ne jemi gjithashtu do të kanë një tregues të quajtur "të ardhshëm" 65 00:03:09,320 --> 00:03:12,090 që tregon për të ardhshëm nyje në listën link. 66 00:03:12,090 --> 00:03:14,730 Dhe pastaj keni mbaruar se jashtë nga vetëm duke përsëritur nyje përsëri kështu 67 00:03:14,730 --> 00:03:17,490 përpiluesit e di, OK ky është fundi i struct tim. 68 00:03:17,490 --> 00:03:22,540 >> Dhe kështu në këtë mënyrë, ne jemi lloj të krijuar një koleksion të bukur të vogël 69 00:03:22,540 --> 00:03:25,450 lloj gjë me një vlera dhe me nje tregues. 70 00:03:25,450 --> 00:03:27,757 Dhe ju mund të lidhjen e tyre të gjithë së bashku me këto pointers. 71 00:03:27,757 --> 00:03:30,090 Në mënyrë që ata të gjithë mund të jetë lloj i lidhur së bashku në një zinxhir. 72 00:03:30,090 --> 00:03:32,920 73 00:03:32,920 --> 00:03:34,162 >> Ftohtë. 74 00:03:34,162 --> 00:03:35,453 Mund të dëgjoni se një pak më të mirë? 75 00:03:35,453 --> 00:03:36,140 >> Audienca: Po. 76 00:03:36,140 --> 00:03:38,540 >> PROFESORI: Në rregull. 77 00:03:38,540 --> 00:03:44,280 Pra, mënyra se si ju djema mund të shihni, një listë tipike lidhje është e strukturuar 78 00:03:44,280 --> 00:03:45,500 është se ju keni një kokë. 79 00:03:45,500 --> 00:03:49,460 Ju keni vlerën kokë që nuk është duke u theksuar nga ndonjë pointer tjetër. 80 00:03:49,460 --> 00:03:53,177 Por kjo do t'i referohemi, ose referencë, një tjetër nyje. 81 00:03:53,177 --> 00:03:56,510 Nyja pasi do të referuese nyje pas kësaj, dhe kështu me radhë e kështu me radhë 82 00:03:56,510 --> 00:03:59,170 derisa ju goditi përfundimisht në fund të listës suaj link. 83 00:03:59,170 --> 00:04:00,980 Dhe ju thjesht nuk do të ketë një tregues atje. 84 00:04:00,980 --> 00:04:04,659 >> Dhe kështu, mendoj se si, në një zinxhir, apo edhe në qoftë se ndonjë nga ju djema të bëra, unë nuk e di, 85 00:04:04,659 --> 00:04:06,450 si me fruta unazore kur ishe i vogël. 86 00:04:06,450 --> 00:04:08,590 Ju do të string ato së bashku dhe veshin rreth qafës sate. 87 00:04:08,590 --> 00:04:09,840 Mendoj se është e saktë njëjta gjë. 88 00:04:09,840 --> 00:04:12,964 Ju keni këto gjëra të vogla që ju mund të string së bashku që tregojnë për një 89 00:04:12,964 --> 00:04:15,291 pas tij, me atë pas atë, dhe kështu me radhë e kështu me radhë 90 00:04:15,291 --> 00:04:17,040 deri sa të ketë një zinxhir një strukturë të dhënave 91 00:04:17,040 --> 00:04:21,190 që ju mund të përdorni megjithatë ju pëlqen. 92 00:04:21,190 --> 00:04:27,370 >> Pra, mënyra se si kjo ne do zakonisht futur apo fshij 93 00:04:27,370 --> 00:04:30,020 ndonjë nyje nga një lidhje Lista është shumë e ndryshme 94 00:04:30,020 --> 00:04:31,970 në varësi se ku nyje është. 95 00:04:31,970 --> 00:04:34,880 Kështu, për shembull, për shkak se pointers janë gjithmonë 96 00:04:34,880 --> 00:04:38,645 duke treguar në një vlerë të caktuar, kur ju fshini ose futur një nyje, 97 00:04:38,645 --> 00:04:41,770 ju doni të bëni të sigurtë që akrep është e gjitha duke treguar në gjërat e duhura. 98 00:04:41,770 --> 00:04:46,200 >> Pra, nëse ju të kërkuar për të potencialisht të futur një nyje të re me vlerën e një 99 00:04:46,200 --> 00:04:48,379 brenda një lidhje të renditura Lista e, ne të gjithë e dimë këtu 100 00:04:48,379 --> 00:04:51,170 nga foto që po ndodh për shkoni në mes të kokës dhe të dy, e drejtë? 101 00:04:51,170 --> 00:04:52,620 Sepse një i përshtatet të drejtë atje. 102 00:04:52,620 --> 00:04:59,060 Por mënyra në të cilën ne do ta bëjmë atë është duke i parë dereferencing treguesin 103 00:04:59,060 --> 00:05:02,160 nga koka dhe dërguar atë në një. 104 00:05:02,160 --> 00:05:05,040 >> Por, kemi ardhur në një problem këtu. 105 00:05:05,040 --> 00:05:08,280 Dikush mund të shohim se çfarë problemi është nëse ne do të dereference parë 106 00:05:08,280 --> 00:05:10,090 tregues nga koka në një? 107 00:05:10,090 --> 00:05:14,202 Çfarë problemi mund të kandidojë në qoftë se ne të përpiqemi të shtoni këtë në frontin e array tonë? 108 00:05:14,202 --> 00:05:15,409 >> Audienca: [padëgjueshme] 109 00:05:15,409 --> 00:05:16,200 PROFESORI: Pikërisht. 110 00:05:16,200 --> 00:05:20,000 Pra, këtu ne kemi një tregues që ishte dikur treguar nga koka në dy. 111 00:05:20,000 --> 00:05:23,120 Por në qoftë se ju merrni shpëtoj atë akrep, ju pikë atë në një, 112 00:05:23,120 --> 00:05:26,500 ne tani nuk kemi asnjë ide ku të shkoni për të gjetur dy. 113 00:05:26,500 --> 00:05:29,850 Sepse siç thashë më parë, ju keni marrë një copë gjigant e kujtesës në kompjuterin tuaj. 114 00:05:29,850 --> 00:05:31,860 Të gjitha këto nyje mund të të jetë interspersed rastësisht 115 00:05:31,860 --> 00:05:33,350 në çdo vend në kompjuterin tuaj. 116 00:05:33,350 --> 00:05:36,140 Dhe ju nuk e dini se si të shkojë për të gjetur se. 117 00:05:36,140 --> 00:05:40,420 >> Dhe kështu që ju duhet të keni pointers duke treguar për të gjitha nyjet në fund. 118 00:05:40,420 --> 00:05:42,420 Ose tjetër në qoftë se ju aksidentalisht dereference një 119 00:05:42,420 --> 00:05:44,485 pa caktimin e parë një vlerë pari, ju jeni 120 00:05:44,485 --> 00:05:47,410 vetëm duke shkuar për të humbur çdo gjë më pas. 121 00:05:47,410 --> 00:05:49,720 >> Pra, ajo që ne jemi duke shkuar për bëni është, ju do të në fillim 122 00:05:49,720 --> 00:05:53,270 doni të krijoni një akrep në nyja ju doni të futur. 123 00:05:53,270 --> 00:05:55,270 Pikë atë të vendit ku ju doni të futur atë në, 124 00:05:55,270 --> 00:05:59,410 dhe pastaj më vonë të mund të tregojnë kokën mbrapa për një. 125 00:05:59,410 --> 00:06:02,800 >> A ka kuptim që të gjithë këtu? 126 00:06:02,800 --> 00:06:03,346 I madh. 127 00:06:03,346 --> 00:06:04,720 Mendoni se si vetëm si një zinxhir. 128 00:06:04,720 --> 00:06:07,420 Nëse shtoni një zinxhir, kjo është lloj i intuitive 129 00:06:07,420 --> 00:06:10,742 si ju do të shkoni në lidhje futur atë. 130 00:06:10,742 --> 00:06:15,274 >> OK, kështu që në fakt është shumë më e më të shkurtër se kam menduar se do të jetë, 131 00:06:15,274 --> 00:06:16,690 një Spiel pesë minuta në listat link. 132 00:06:16,690 --> 00:06:19,960 Vetëm kështu që ju djema kanë Ideja themelore e asaj që është. 133 00:06:19,960 --> 00:06:23,580 >> Këtu kemi agjendën për quiz zero. 134 00:06:23,580 --> 00:06:24,895 Mos lejoni që kjo ju frikësojnë. 135 00:06:24,895 --> 00:06:26,270 Unë e di se kjo është një shumë e informacionit. 136 00:06:26,270 --> 00:06:27,580 Ajo duket shumë e frikshme. 137 00:06:27,580 --> 00:06:33,130 Kjo është edhe një shumë të, unë mendoj, lloj CSC i termave. 138 00:06:33,130 --> 00:06:37,440 Gjëra të tilla si vargjet hexadecimal, Akrepa, alokimet e kujtesës dinamike 139 00:06:37,440 --> 00:06:40,120 janë terma shumë të frikshme fryrë. 140 00:06:40,120 --> 00:06:42,700 >> Por, ne jemi duke shkuar për të thyer ato poshtë, të bëjë disa probleme praktikë 141 00:06:42,700 --> 00:06:44,980 kështu që ju djema të gjithë janë të gatshëm për këtë provë. 142 00:06:44,980 --> 00:06:47,104 Sa nga ju djema kanë tashmë ka filluar duke studiuar? 143 00:06:47,104 --> 00:06:50,040 144 00:06:50,040 --> 00:06:53,670 >> OK, ju djema ndoshta dëshironi për të filluar duke u nisur 145 00:06:53,670 --> 00:06:56,480 në se, për shkak se quiz është nesër. 146 00:06:56,480 --> 00:06:58,739 Ose të enjten për disa prej jush. 147 00:06:58,739 --> 00:07:01,030 Yeah, kështu që ne jemi duke shkuar për të shkuar mbi disa probleme praktike. 148 00:07:01,030 --> 00:07:04,600 Nëse ju djema të gjithë duan të marrin nga një fletë letre, një laps. 149 00:07:04,600 --> 00:07:07,310 Ne jemi duke shkuar për të shpenzuar vetëm Shumica dërrmuese e seksionit sotme 150 00:07:07,310 --> 00:07:11,590 duke shkuar mbi disa prej se kështu ju djema keni një ide të asaj që të presin në quiz. 151 00:07:11,590 --> 00:07:14,957 152 00:07:14,957 --> 00:07:16,890 >> NE RREGULL. 153 00:07:16,890 --> 00:07:19,730 Një çift i logjistike Detajet, si edhe, për askënd 154 00:07:19,730 --> 00:07:25,120 i cili nuk ka qenë në këtë lidhje atje, në qoftë se ju shkoni në cs50.yale.edu, në frontin 155 00:07:25,120 --> 00:07:28,566 kjo faqe ka një lidhje që thotë se "Rreth Quiz Zero". 156 00:07:28,566 --> 00:07:29,440 Lidhje ju merr atje. 157 00:07:29,440 --> 00:07:31,065 Nëse ju nuk e keni lexuar atë, ju lutem lexoni atë. 158 00:07:31,065 --> 00:07:34,470 Për shkak se ajo ju tregon të vërtetë e rëndësishme informacion në lidhje me quiz. 159 00:07:34,470 --> 00:07:37,410 >> Unë jam duke shkuar për të tërhequr këtë jashtë nga se vetëm për shkak, fizikisht, 160 00:07:37,410 --> 00:07:40,200 në qoftë se ju djema nuk e dini ku për të shkuar, ne do të kemi probleme. 161 00:07:40,200 --> 00:07:44,220 Dhe kështu që nëse e kaluar juaj në drejtim me një për N, shkoni në auditorin e shkollës ligj. 162 00:07:44,220 --> 00:07:47,500 Dhe në qoftë se fillon e tua të fundit me P tek Z, shkoni në Davies Auditorium. 163 00:07:47,500 --> 00:07:50,240 Dhe kjo vlen vetëm për njerëzit në seksionin mërkurën. 164 00:07:50,240 --> 00:07:53,420 >> Nëse jeni duke marrë quiz për E enjte, ju shkoni në SHSSH 114 165 00:07:53,420 --> 00:07:55,078 ku leksionin tuaj në mënyrë tipike është. 166 00:07:55,078 --> 00:07:55,953 Audienca: [padëgjueshme] 167 00:07:55,953 --> 00:07:59,316 168 00:07:59,316 --> 00:08:01,940 PROFESORI: O tek Z, ju do të jeni për të shkuar në auditor Davies. 169 00:08:01,940 --> 00:08:03,273 Unë jam duke shkuar për të ndryshuar atë, e drejtë? 170 00:08:03,273 --> 00:08:05,670 171 00:08:05,670 --> 00:08:09,698 >> Oh, po, ju vetëm të dështojnë automatikisht. 172 00:08:09,698 --> 00:08:11,753 >> Oh yeah, që është Christa. 173 00:08:11,753 --> 00:08:15,190 174 00:08:15,190 --> 00:08:16,030 Yeah, keq e mia. 175 00:08:16,030 --> 00:08:17,610 Po, o tek Z, ju do të jeni për të shkuar në Davies Auditorim. 176 00:08:17,610 --> 00:08:19,140 Unë jam duke shkuar për të rregulluar këtë herë të ngarkoj. 177 00:08:19,140 --> 00:08:20,320 Po. 178 00:08:20,320 --> 00:08:22,160 >> Dhe pastaj edhe diçka rëndësishme në mendje 179 00:08:22,160 --> 00:08:25,290 është se e mërkurë, në qoftë se ju jeni zyrtarisht regjistruar në seksionin mërkurën, 180 00:08:25,290 --> 00:08:26,832 ju duhet të marrë quiz tuaj mërkurën. 181 00:08:26,832 --> 00:08:29,706 Dhe nëse ju jeni të regjistruar në të enjten, ju duhet të marrë quiz tuaj enjten. 182 00:08:29,706 --> 00:08:31,000 Dhe kjo është gjatë kohës së klasës. 183 00:08:31,000 --> 00:08:35,970 Ku, unë mendoj se është si në 1:00 02:15 të mërkurën dhe 2:30-03:45 184 00:08:35,970 --> 00:08:37,220 të enjteve. 185 00:08:37,220 --> 00:08:41,710 >> Nëse ju keni një konflikte të papajtueshme, Justifikime Dekanit janë e vetmja gjë, 186 00:08:41,710 --> 00:08:43,030 për fat të keq, ne mund të marrë. 187 00:08:43,030 --> 00:08:45,560 Sepse ne kemi pasur një Pjesa më e madhe e kërkesave 188 00:08:45,560 --> 00:08:47,970 për të kaluar nga e mërkura deri të enjten. 189 00:08:47,970 --> 00:08:51,265 Të cilat ne nuk mund të nderojmë nëse ne kemi një kërkesë Dean. 190 00:08:51,265 --> 00:08:52,650 >> NE RREGULL. 191 00:08:52,650 --> 00:08:57,000 Pra, para se të ketë filluar në një disa nga problemet e praktikës, 192 00:08:57,000 --> 00:09:00,540 Unë jam vetëm duke shkuar për të shkuar mbi Këshilla të dobishme Andy për sukses. 193 00:09:00,540 --> 00:09:04,140 Ju djema, kur ju studioni, ju me të vërtetë doni të praktikoni shkruar kodin me dorë. 194 00:09:04,140 --> 00:09:07,050 Hera e parë që kam ndonjëherë mori një quiz CS, unë nuk e kishte 195 00:09:07,050 --> 00:09:09,960 Praktika shkruar kodin me dorë para dhe ajo ishte shumë e 196 00:09:09,960 --> 00:09:11,890 tronditëse në sa e vështirë ishte. 197 00:09:11,890 --> 00:09:16,125 >> Kur ju djema nuk do të marrë në të zakon i shtypur nga çdo gjë, 198 00:09:16,125 --> 00:09:20,260 ajo vjen shumë natyrshëm të qenit në gjendje të ketë autocompleted 199 00:09:20,260 --> 00:09:22,015 kllapa dhe pikpresje atje. 200 00:09:22,015 --> 00:09:23,890 Kur ju shkruani atë me dorë, ndonjëherë është e 201 00:09:23,890 --> 00:09:27,100 shumë, shumë e lehtë për të harruar një pikëpresje, ose harrojnë për të mbyllur një parantezë, 202 00:09:27,100 --> 00:09:30,970 ose harrojnë për të mbyllur një zorrë e trashë, ose diçka të tillë. 203 00:09:30,970 --> 00:09:34,322 >> Pra, kur ju shkruani kodin me dorë, kjo është një ndjehen shumë të ndryshme. 204 00:09:34,322 --> 00:09:37,280 Kështu që ju djema, kur ju jeni duke punuar përmes disa prej problemeve të praktikës, 205 00:09:37,280 --> 00:09:38,904 kjo do të mirë të vërtetë të praktikuar sot. 206 00:09:38,904 --> 00:09:41,770 Ose nesër, unë mendoj, në qoftë se ju jeni duke marrë quiz të enjten. 207 00:09:41,770 --> 00:09:45,280 >> Së dyti, ne kemi kaluar, si, Vlen Tetë viti i praktikës 208 00:09:45,280 --> 00:09:47,070 kuize online. 209 00:09:47,070 --> 00:09:50,759 Quiz këtij viti do të jetë ndoshta shumë, shumë e ngjashme me të gjithë ata. 210 00:09:50,759 --> 00:09:51,800 Ata janë të gjithë shumë të ngjashme. 211 00:09:51,800 --> 00:09:54,220 Ju lloj i marrë në Stili i llojit të pyetjeve të 212 00:09:54,220 --> 00:09:57,250 që ne kërkojmë, llojin e funksionet që ne do të shkruajnë atë në, 213 00:09:57,250 --> 00:09:58,580 et cetera, e të tjera. 214 00:09:58,580 --> 00:10:01,980 >> Pra, të marrë kuize praktikë, sidomos nën kufizimet e kohës. 215 00:10:01,980 --> 00:10:05,390 75 minuta për të bërë quiz është jo shumë sasinë e kohës. 216 00:10:05,390 --> 00:10:07,254 Është shumë, shumë të gjatë. 217 00:10:07,254 --> 00:10:09,670 Dhe kështu që ju djema të vërtetë duan për t'u siguruar që ju djema janë 218 00:10:09,670 --> 00:10:11,990 në zakonin e të shkruarit Kodi me dorë shpejt. 219 00:10:11,990 --> 00:10:15,070 Për shkak se ju nuk doni të parë koha për të parë një quiz e asaj gjatësi 220 00:10:15,070 --> 00:10:16,560 të jetë në quiz tuaj. 221 00:10:16,560 --> 00:10:20,540 Ju djema të vërtetë dëshironi të bëni të sigurtë që ju praktikë më parë. 222 00:10:20,540 --> 00:10:24,550 >> Së katërti, ju doni të shqyrtojë leksion dhe seksion slides. 223 00:10:24,550 --> 00:10:25,980 Ju nuk keni për të mësuar përmendësh gjëra. 224 00:10:25,980 --> 00:10:30,430 Në fakt, të gjithë është e lejuar një një fletë e shënimeve të bardha të letrës, 225 00:10:30,430 --> 00:10:31,090 para dhe prapa. 226 00:10:31,090 --> 00:10:32,920 Ju djema mund të shtypni ose shkruani. 227 00:10:32,920 --> 00:10:37,070 Nëse ju gjeni veten tuaj kanë nevojë për të mësuar përmendësh diçka, e vënë atë poshtë në atë fletë. 228 00:10:37,070 --> 00:10:40,810 >> Unë ju garantoj, ju nuk doni të të mbërthyer në mes të këtij quiz 229 00:10:40,810 --> 00:10:43,890 qenë si, oh yeah, çfarë është Runtime të këtij lloji kundrejt atij lloji. 230 00:10:43,890 --> 00:10:46,490 Vetëm vënë atë poshtë dhe kopje atë direkt nga fletë tuaj shënim. 231 00:10:46,490 --> 00:10:50,420 Atëherë ju mund të vërtetë të përdorni vetëm tuaj tru për të menduar për problemet 232 00:10:50,420 --> 00:10:52,190 në vend që të kujtojnë fakte. 233 00:10:52,190 --> 00:10:55,250 Dhe kështu me të vërtetë të përfitojnë i çdo detaje të ngrohtë 234 00:10:55,250 --> 00:11:00,140 që ju mendoni se keni nevojë për të mësuar përmendësh, pllum atë poshtë në fletë shqyrtimit. 235 00:11:00,140 --> 00:11:02,680 >> OK, ndonjë pyetje logjistik në lidhje me quiz 236 00:11:02,680 --> 00:11:05,510 para se të fillojmë disa Problemet quiz praktikë? 237 00:11:05,510 --> 00:11:06,416 Po? 238 00:11:06,416 --> 00:11:10,040 >> Audienca: Unë nuk kam pasur një shans për të parë në quiz [e padëgjueshme] 239 00:11:10,040 --> 00:11:11,757 por ajo do të jetë Aplikimi kryesisht, 240 00:11:11,757 --> 00:11:14,090 Apo ka edhe do të jetë, si, pyetje diturinë? 241 00:11:14,090 --> 00:11:14,940 >> PROFESORI: Kjo është një shumë. 242 00:11:14,940 --> 00:11:16,731 Pra, mënyra se si unë do përshkroi quiz 243 00:11:16,731 --> 00:11:18,810 is-- kam vënë së bashku disa probleme praktikë 244 00:11:18,810 --> 00:11:20,960 që unë u tërhoq nga të gjitha kuize. 245 00:11:20,960 --> 00:11:25,210 Por ju do të shihni se ka dy kryesore lloje të pyetjeve ne do të ju pyes. 246 00:11:25,210 --> 00:11:28,750 >> Njëra është një detaj nivel shumë të ulët të gjëra. 247 00:11:28,750 --> 00:11:31,720 Ne do të ju jap një copë të vogël të kodit dhe thonë se, a ka një gabim këtu? 248 00:11:31,720 --> 00:11:33,110 Çfarë do të jetë shtypje këtu? 249 00:11:33,110 --> 00:11:35,980 Çfarë do të prodhojë ky kod, e të tjera. 250 00:11:35,980 --> 00:11:38,710 Pra detaje informacion nivel të ulët. 251 00:11:38,710 --> 00:11:42,700 >> Dhe në anën rrokullisje, ne do të kemi shumë Niveli i lartë pyetje bazuar në njohuri. 252 00:11:42,700 --> 00:11:45,190 A mund të shpjegoni se çfarë Dallimi në mes të një kërkim binar 253 00:11:45,190 --> 00:11:46,148 dhe një kërkim linear është? 254 00:11:46,148 --> 00:11:48,500 Pse do të duam të përdorni një lidhje të tjera? 255 00:11:48,500 --> 00:11:49,960 Ndoshta, ajo që është Gdb? 256 00:11:49,960 --> 00:11:51,560 Pse ne duam të përdorim GDB? 257 00:11:51,560 --> 00:11:54,590 Niveli më i lartë, më thelbësore Pyetjet mirëkuptim. 258 00:11:54,590 --> 00:11:58,240 Pra, ju do të shihni një përzierje e dy prej tyre në quiz tuaj. 259 00:11:58,240 --> 00:12:01,462 >> Çdo gjë tjetër para se të kreu i drejtë në të? 260 00:12:01,462 --> 00:12:02,879 NE RREGULL. 261 00:12:02,879 --> 00:12:03,670 Audienca: Një më shumë. 262 00:12:03,670 --> 00:12:04,030 PROFESORI: Oh, një më shumë. 263 00:12:04,030 --> 00:12:04,340 Më vjen keq. 264 00:12:04,340 --> 00:12:05,631 >> Audienca: Po, kjo është e gjitha e drejtë. 265 00:12:05,631 --> 00:12:10,140 Pra, ju jeni duke thënë se 75 minuta është shumë e shkurtër, si është e pamundur 266 00:12:10,140 --> 00:12:11,640 që ne do të përfundojë? 267 00:12:11,640 --> 00:12:13,571 Ose, si, 75 minuta është pikërisht sa më shumë kohë 268 00:12:13,571 --> 00:12:15,700 si ne do të duhet në qoftë se ne ishim i përgatitur në mënyrë të përshtatshme? 269 00:12:15,700 --> 00:12:17,450 PROFESORI: OK, kështu që quiz është sfiduese. 270 00:12:17,450 --> 00:12:19,550 Kjo është padyshim sfiduese. 271 00:12:19,550 --> 00:12:21,092 Ju do të gjeni veten të shkurtër në kohë. 272 00:12:21,092 --> 00:12:24,341 Ju jeni me siguri do të goditur, si 10, 15 minuta për të shkuar, dhe duke qenë si, mut. 273 00:12:24,341 --> 00:12:25,520 Unë kam lënë kaq shumë për të bërë. 274 00:12:25,520 --> 00:12:26,520 Dhe kjo është krejtësisht në rregull. 275 00:12:26,520 --> 00:12:28,740 Gjithkush do të ndjehen të njëjtën mënyrë. 276 00:12:28,740 --> 00:12:31,074 >> Vetëm të jenë shumë të vetëdijshëm për sa kohë që ju keni. 277 00:12:31,074 --> 00:12:33,490 Dhe kështu kjo është arsyeja pse unë po ju them djema bëni kuize praktikë. 278 00:12:33,490 --> 00:12:36,672 Sepse me të vërtetë i jep një ndjenjë të madhe e çfarë quiz do të jetë si. 279 00:12:36,672 --> 00:12:39,130 Pra, nëse ju gjeni veten duke u në gjendje për të përfunduar praktikën 280 00:12:39,130 --> 00:12:41,671 kuize në një sasi të mirë të kohë, ju mund të ritmin veten mirë, 281 00:12:41,671 --> 00:12:45,695 atëherë ju nuk do të ketë një problem të mërkurën ose të enjten. 282 00:12:45,695 --> 00:12:46,575 >> Ftohtë. 283 00:12:46,575 --> 00:12:49,200 Pra, nëse të gjithë wants-- unë mendoj shumica e njerëzve kanë fletët e letrës 284 00:12:49,200 --> 00:12:49,810 jashtë tashmë. 285 00:12:49,810 --> 00:12:52,604 Unë jam duke shkuar për në thelb vetëm ju jap pyetje shembull, 286 00:12:52,604 --> 00:12:54,520 ju jap djema, si, një disa minuta për të bërë ato. 287 00:12:54,520 --> 00:12:59,610 Dhe ne do të shkoj për si një klasë ajo përgjigjet e tyre janë. 288 00:12:59,610 --> 00:13:02,860 >> Pra, kjo është një shumë tipik Pyetja në fillim ne do të 289 00:13:02,860 --> 00:13:06,720 ju pyes, vetëm konvertimin Numrat në mes të bazave të ndryshme. 290 00:13:06,720 --> 00:13:09,070 Binare, si ju djema mund të Recall, është baza dy. 291 00:13:09,070 --> 00:13:12,470 Dhjetor është bazë 10, apo atë që ne si njerëzit zakonisht interpretuar. 292 00:13:12,470 --> 00:13:17,120 Heksadecimal është bazë 16, e cila është zero përmes nëntë si dhe përmes F. 293 00:13:17,120 --> 00:13:19,990 >> Pra, ka katër numra Jam duke i kërkuar ju djema për të kthyer këtu. 294 00:13:19,990 --> 00:13:23,909 Unë do të jap se ju pëlqen, tre të katër minuta për të menduar se si përmes 295 00:13:23,909 --> 00:13:25,200 ne do të shkoni në lidhje me zgjidhjen e kësaj. 296 00:13:25,200 --> 00:13:32,832 297 00:13:32,832 --> 00:13:35,710 >> Audienca: A jemi të lejuar calculators? 298 00:13:35,710 --> 00:13:37,630 >> PROFESORI: Ju nuk do të nevojë calculators, vërtet. 299 00:13:37,630 --> 00:13:42,420 Unë mendoj shtesë themelore, unë mendoj, është të gjithë ju djema do të kërkohet të bëjnë. 300 00:13:42,420 --> 00:14:41,700 301 00:14:41,700 --> 00:14:45,070 >> Dhe vetëm kështu që unë lloj i kanë një ndjenjë e kur të gjithë është bërë, shikoni lart, 302 00:14:45,070 --> 00:14:47,429 valë, unë nuk e di, buzëqeshje, duken të lumtur në qoftë se ju jeni bërë. 303 00:14:47,429 --> 00:14:47,929 Po. 304 00:14:47,929 --> 00:17:21,680 305 00:17:21,680 --> 00:17:23,945 Ndoshta një çift shumë minuta. 306 00:17:23,945 --> 00:18:28,080 307 00:18:28,080 --> 00:18:29,600 >> OK, le ta sjellë atë në. 308 00:18:29,600 --> 00:18:31,580 Unë jam duke shkuar për qëllim ju jap djema pak kohë 309 00:18:31,580 --> 00:18:33,760 se ju ndoshta duhet të të bëjë disa nga këto probleme, 310 00:18:33,760 --> 00:18:37,124 thjesht sepse unë dua të bëni të sigurtë që marrim përmes një bandë e problemeve. 311 00:18:37,124 --> 00:18:39,290 Kështu që nuk shqetësohet nëse ju nuk kanë një shans për të përfunduar. 312 00:18:39,290 --> 00:18:43,770 Krejtësisht në rregull për aq kohë sa ju keni një ide se si të shkojë në lidhje me këtë. 313 00:18:43,770 --> 00:18:45,850 Pra, le të shkojnë përpara dhe të bëjë një të parë. 314 00:18:45,850 --> 00:18:52,690 315 00:18:52,690 --> 00:18:57,870 >> Pra, së pari, ka njeri të më thuash në binar, çfarë secili prej këtyre shifrave 316 00:18:57,870 --> 00:19:00,484 përfaqësojnë në kuptimin e vlerave të tyre? 317 00:19:00,484 --> 00:19:01,250 Po? 318 00:19:01,250 --> 00:19:03,349 >> Audienca: Dy të Fuqia zero, dy me një. 319 00:19:03,349 --> 00:19:04,140 PROFESORI: Pikërisht. 320 00:19:04,140 --> 00:19:04,640 Kështu që. 321 00:19:04,640 --> 00:19:13,430 322 00:19:13,430 --> 00:19:16,430 >> E drejtë, kështu që në mënyrë tipike kur ne jemi në bazë të 10 323 00:19:16,430 --> 00:19:20,580 të gjitha këto paraqesin janë, si, 10 në bazë të zero, drejtë? 324 00:19:20,580 --> 00:19:21,810 Kjo është vendi i dikujt tuaj. 325 00:19:21,810 --> 00:19:24,520 Të gjithë vendin 10 e juaj është është 10 në fuqinë e një. 326 00:19:24,520 --> 00:19:26,600 Vend që ju 100 është 10 në fuqinë e dy. 327 00:19:26,600 --> 00:19:29,570 >> Çfarëdo që ju jeni në bazë po shkon të bëjë me të njëjtën gjë e saktë, 328 00:19:29,570 --> 00:19:31,480 vetëm me një bazë të ndryshme. 329 00:19:31,480 --> 00:19:34,130 Pra binar, gjithçka që është është baza e dy. 330 00:19:34,130 --> 00:19:37,110 Ju jeni duke shkuar për të kthyer të gjitha shifra në dy në çfarëdo pushtet 331 00:19:37,110 --> 00:19:38,190 e që shifra. 332 00:19:38,190 --> 00:19:41,450 Dhe kështu në këtë kuptim, ne mund të ketë një mënyrë më të lehtë 333 00:19:41,450 --> 00:19:43,800 të qenë në gjendje për të shtuar deri ose të përmbledhur të gjithë numrat në mënyrë 334 00:19:43,800 --> 00:19:46,010 për të kthyer në bazë të 10. 335 00:19:46,010 --> 00:19:50,362 >> Pra, ka njeri të dëshironi të më tregoni se çfarë përgjigja ndaj atij të parë është në bazë të dhjetë? 336 00:19:50,362 --> 00:19:51,674 >> Audienca: Dy, [e padëgjueshme] 337 00:19:51,674 --> 00:19:52,340 PROFESORI: Po. 338 00:19:52,340 --> 00:19:53,230 Audienca: 42. 339 00:19:53,230 --> 00:19:56,560 PROFESORI: 42, ju shkoni atje. 340 00:19:56,560 --> 00:20:00,660 Pra, mënyra se si e mori këtë përgjigje ishte nga bërë Dy të parët, e cila është dy. 341 00:20:00,660 --> 00:20:02,760 Plus dy e treta, e cila është tetë. 342 00:20:02,760 --> 00:20:07,590 Plus dy të pestë, i cili është çdo gjë që është mbetur. 343 00:20:07,590 --> 00:20:09,390 Ju përmbledhur ato dhe kjo është 42. 344 00:20:09,390 --> 00:20:12,000 >> A është ndokush i hutuar se si ne e mori atë? 345 00:20:12,000 --> 00:20:15,630 Përveç kësaj Pra themelore, si Unë i thashë, ju duhet të jetë në rregull. 346 00:20:15,630 --> 00:20:17,410 Nëse jo, mirë, ne mund të praktikojnë atë shumë. 347 00:20:17,410 --> 00:20:18,720 Por kjo është e gjitha e drejtë. 348 00:20:18,720 --> 00:20:20,560 Ftohtë. 349 00:20:20,560 --> 00:20:25,570 >> A ka dikush duan të më jepte përgjigjen për një të dytë, si dhe? 350 00:20:25,570 --> 00:20:26,860 >> 50? 351 00:20:26,860 --> 00:20:27,600 Të mirë. 352 00:20:27,600 --> 00:20:30,044 Çdokush hutuar se si kemi marrë se ose? 353 00:20:30,044 --> 00:20:31,960 Cool, unë do të kemi Përgjigjet në rrëshqitje të ardhshëm. 354 00:20:31,960 --> 00:20:34,440 Kështu që nuk shqetësohet nëse ju duhet të kopje atë poshtë. 355 00:20:34,440 --> 00:20:38,860 >> OK, kështu që heksadecimal është pak e komplikuar. 356 00:20:38,860 --> 00:20:41,840 por unë jam duke shkuar për të treguar ju djema një shkurtore për mënyrën se si të bëhet kjo. 357 00:20:41,840 --> 00:20:44,800 Pra heksadecimal, si ti mos harroni, të gjitha ajo është jetë 16. 358 00:20:44,800 --> 00:20:48,920 Dhe për shkak se ne si njerëz në fakt nuk 16 numra për të përfaqësuar atë, 359 00:20:48,920 --> 00:20:56,940 ne do të shkojmë nga zero në nëntë, e cila jonë e parë 10 vlera, dhe pastaj ne të bëjmë një anë F, 360 00:20:56,940 --> 00:20:58,630 të cilat janë gjashtë vlera e ardhshme. 361 00:20:58,630 --> 00:21:03,040 >> Dhe kështu mënyra më e lehtë për të shkuar nga ndonjë numër binar në heksadecimal 362 00:21:03,040 --> 00:21:05,350 është për të thyer ato në gjysmave. 363 00:21:05,350 --> 00:21:10,042 Dhe kështu çdo numër binar ne do të japim ju ndoshta do të ketë tetë shifra. 364 00:21:10,042 --> 00:21:11,750 Ju vetëm mund të thyejnë ata deri në mes. 365 00:21:11,750 --> 00:21:17,460 >> Pra, së pari one-- një E, një një, një, një, një një. 366 00:21:17,460 --> 00:21:21,340 Lloji i mendojnë atë, ju e dini, tërheq një prerje apo një presje në mes tyre. 367 00:21:21,340 --> 00:21:23,800 Dhe vetëm ju mund të konvertohet direkt çfarëdo 368 00:21:23,800 --> 00:21:26,670 kjo është për të parë Numri i heksadecimal, 369 00:21:26,670 --> 00:21:29,880 dhe çdo gjë që këtu është për të i dyti i heksadecimal. 370 00:21:29,880 --> 00:21:37,584 >> Pra mbani mend nga simbol i përbashkët, çfarë vlerat hexadecimal filloni me? 371 00:21:37,584 --> 00:21:38,460 >> Audienca: Zero. 372 00:21:38,460 --> 00:21:39,270 >> PROFESORI: 0x. 373 00:21:39,270 --> 00:21:45,210 Pra, ne e dimë se çdo herë ne ju kërkojmë për të kthyer ndonjë numër të heksadecimal, 374 00:21:45,210 --> 00:21:48,230 ose çdo kohë që ju shihni ndonjë numër që fillon me 0x, 375 00:21:48,230 --> 00:21:50,230 ju e dini se kjo është një vlerë hexadecimal. 376 00:21:50,230 --> 00:21:54,160 >> Dhe pastaj ju do të jeni të kërkohet të përcaktuar se çfarë këto dy shifrat janë. 377 00:21:54,160 --> 00:21:59,690 Dhe mënyra që ju të bëni që, tallying deri se gjysma dhe tallying lart se gjysma. 378 00:21:59,690 --> 00:22:02,870 Pra, në këtë shembull, çfarë do një, një, një, një të jetë? 379 00:22:02,870 --> 00:22:04,890 Çfarë vlere do që të jetë? 380 00:22:04,890 --> 00:22:06,040 Kjo do të jetë F, e drejtë? 381 00:22:06,040 --> 00:22:08,050 Kjo do të jetë 15. 382 00:22:08,050 --> 00:22:11,780 >> Pra, kjo do të jetë F. One, një, një, një këtu është edhe 383 00:22:11,780 --> 00:22:21,270 F. Kështu një, një, një, një, një, një, një, një në heksadecimal, të gjitha ajo është është 0XFF. 384 00:22:21,270 --> 00:22:25,350 Për shkak se kjo gjysma e përfaqësuar F, vlera e 15, 385 00:22:25,350 --> 00:22:27,331 dhe kjo gjysma e përfaqësuar F, vlera 15. 386 00:22:27,331 --> 00:22:29,456 Sepse mos harroni, ne jemi duke llogaritur nga zero deri në nëntë. 387 00:22:29,456 --> 00:22:35,290 A është si 10, B është si 11, F është 15. 388 00:22:35,290 --> 00:22:41,690 >> Ka që e bëjnë kuptim të gjithëve se si kemi marrë nga binar në heksadecimal? 389 00:22:41,690 --> 00:22:44,595 >> Audienca: Dhe kështu si e kemi marrë 15 nga një, një, një, një? 390 00:22:44,595 --> 00:22:46,220 PROFESORI: Po, kjo është binar, e drejtë? 391 00:22:46,220 --> 00:22:48,090 Imagjinoni kjo është vetëm një numër binar. 392 00:22:48,090 --> 00:22:50,792 Kështu që ju duhet të dy të 0, e cila është një. 393 00:22:50,792 --> 00:22:51,500 Audienca: Oh, OK. 394 00:22:51,500 --> 00:22:51,670 Kështu që ju vetëm totale atë. 395 00:22:51,670 --> 00:22:52,670 >> PROFESORI: Po, dhe pastaj ju vetëm totale atë jashtë. 396 00:22:52,670 --> 00:22:53,380 Kjo është e gjitha ajo është. 397 00:22:53,380 --> 00:22:54,890 >> Audienca: OK. 398 00:22:54,890 --> 00:22:55,830 >> PROFESORI: OK. 399 00:22:55,830 --> 00:23:00,740 >> Audienca: Pra, ju shkoni nga binar të decimal të heksadecimal? 400 00:23:00,740 --> 00:23:04,590 >> PROFESORI: Kjo është Mënyra më e lehtë për ta bërë këtë, vërtet. 401 00:23:04,590 --> 00:23:11,390 Ju nuk jeni duke shkuar për të decimal sepse dhjetor ka vetëm zero deri në nëntë. 402 00:23:11,390 --> 00:23:13,410 Ne jemi vetëm lloj i ndarjen këtë deri në dy. 403 00:23:13,410 --> 00:23:15,201 >> Audienca: [padëgjueshme] duke përdorur decimal të gjetur 404 00:23:15,201 --> 00:23:17,809 çfarë ajo përputhet deri në heksadecimal. 405 00:23:17,809 --> 00:23:20,100 PROFESORI: Unë do të thotë, ju jeni tallying duke përdorur matematikë bazë. 406 00:23:20,100 --> 00:23:20,725 Audienca: Po. 407 00:23:20,725 --> 00:23:22,300 PROFESORI: Po, shumë e shumë. 408 00:23:22,300 --> 00:23:23,630 Kjo është pak konfuze. 409 00:23:23,630 --> 00:23:26,410 Por vetëm e di se ju mund të ndajnë deri çfarëdo 410 00:23:26,410 --> 00:23:28,160 kjo vlerë është në vetëm gjysma. 411 00:23:28,160 --> 00:23:29,570 Shikoni, çfarë është kjo në binar? 412 00:23:29,570 --> 00:23:30,610 Çfarë numri është ajo? 413 00:23:30,610 --> 00:23:33,270 Ajo do të jetë diçka nga zero deri F. 414 00:23:33,270 --> 00:23:35,722 >> Këtu është gjithashtu do të jetë diçka nga zero deri F. 415 00:23:35,722 --> 00:23:37,722 Dhe atëherë ju vetëm mund të vënë ata të dy të drejtë atje. 416 00:23:37,722 --> 00:23:38,263 >> Audienca: OK. 417 00:23:38,263 --> 00:23:38,910 PROFESORI: Po. 418 00:23:38,910 --> 00:23:39,410 NE RREGULL. 419 00:23:39,410 --> 00:23:42,320 Kështu që ju djema doni të provoni një tjetër atëherë? 420 00:23:42,320 --> 00:23:49,601 Zero, një, zero një, një, zero, një zero. 421 00:23:49,601 --> 00:23:52,350 Unë do të ju jap djema si 30 sekonda, pasi ju ndoshta nuk e di 422 00:23:52,350 --> 00:23:53,850 mashtrim për të si ta bëni këtë më herët. 423 00:23:53,850 --> 00:24:24,950 424 00:24:24,950 --> 00:24:27,381 >> OK, dikush doni të merrni këtë një e shtënë? 425 00:24:27,381 --> 00:24:28,774 >> 0X5A. 426 00:24:28,774 --> 00:24:29,440 PROFESORI: 0X5A. 427 00:24:29,440 --> 00:24:30,470 5a. 428 00:24:30,470 --> 00:24:31,340 Të mirë. 429 00:24:31,340 --> 00:24:37,050 Pra, kjo këtu do be-- doni për të na tregoni se si ju mori atë? 430 00:24:37,050 --> 00:24:38,920 Së pari, si e keni marrë pesë? 431 00:24:38,920 --> 00:24:42,030 >> Audienca: Sepse zero, një, zero, një është pesë. 432 00:24:42,030 --> 00:24:45,170 >> PROFESORI: A e kuptojnë të gjithë pse zero, një, zero, një është pesë? 433 00:24:45,170 --> 00:24:46,260 Ju keni marrë një të tillë këtu. 434 00:24:46,260 --> 00:24:48,010 Ju keni asgjë në dy të parit. 435 00:24:48,010 --> 00:24:50,300 Në dy të dytë, ju ketë një në katër, i cili është. 436 00:24:50,300 --> 00:24:52,600 Kështu që ju të shtoni katër plus një, ju keni pesë. 437 00:24:52,600 --> 00:24:53,600 Gjithkush mirë? 438 00:24:53,600 --> 00:24:54,100 NE RREGULL. 439 00:24:54,100 --> 00:24:56,570 Dhe pastaj çfarë të jetë kjo dhe pse? 440 00:24:56,570 --> 00:24:58,350 Çfarë numri ka një korrespondojnë? 441 00:24:58,350 --> 00:24:59,350 >> Audienca: 10. 442 00:24:59,350 --> 00:25:00,976 >> PROFESORI: Dhe çfarë kjo në bazë të dy? 443 00:25:00,976 --> 00:25:01,850 Audienca: [padëgjueshme] 444 00:25:01,850 --> 00:25:03,010 PROFESORI: Pikërisht. 445 00:25:03,010 --> 00:25:06,370 Pra, kjo vlerë i dytë këtu do të jetë 0X5A. 446 00:25:06,370 --> 00:25:08,410 >> Gjithkush e mirë se si për të kthyer? 447 00:25:08,410 --> 00:25:10,770 Kjo është një shumë të thjeshtë se sa ju mendoni se është. 448 00:25:10,770 --> 00:25:13,330 Unë vetëm dua të sigurohemi ju e dini këshilla të dobishme 449 00:25:13,330 --> 00:25:14,950 dhe truket për mënyrën se si ta bëjnë këtë. 450 00:25:14,950 --> 00:25:18,432 >> Audienca: Pse mund të ju vetëm të ndarë ajo në mes si kjo? 451 00:25:18,432 --> 00:25:21,390 Vetëm të jetë si, OK, unë jam vetëm duke shkuar për të kujdes për këta parë [e padëgjueshme]? 452 00:25:21,390 --> 00:25:24,240 >> PROFESORI: Sepse kjo është në fakt Mënyra Vlerat hexadecimal janë të përfaqësuara. 453 00:25:24,240 --> 00:25:26,890 0x, që në fakt do të thotë asgjë tjetër se sa ju thënë 454 00:25:26,890 --> 00:25:28,710 se kjo është një numër heksadecimal. 455 00:25:28,710 --> 00:25:31,580 Dhe kjo gjithmonë përfaqëson katër shifrat. 456 00:25:31,580 --> 00:25:34,330 Dhe kjo gjithmonë përfaqëson katër shifrat e fundit. 457 00:25:34,330 --> 00:25:37,835 Dhe kështu këto dy shifrat vetëm korrespondojnë me copa të ndryshme. 458 00:25:37,835 --> 00:25:39,200 >> Audienca: Pra, ne do të always-- 459 00:25:39,200 --> 00:25:41,830 >> PROFESORI: Ju jeni gjithmonë do të merrni tetë bit vlerë. 460 00:25:41,830 --> 00:25:44,580 >> Audienca: A është kjo vetëm si një gjë këtu apo se një gjë të gjithë? 461 00:25:44,580 --> 00:25:46,883 PROFESORI: Kjo është vetëm një gjë në kompjuter, yep. 462 00:25:46,883 --> 00:25:47,424 Audienca: OK. 463 00:25:47,424 --> 00:25:48,240 Mbresëlënës. 464 00:25:48,240 --> 00:25:51,290 >> PROFESORI: Gjithashtu, kështu që në këtë shembull ne konvertuar nga binar në decimal, 465 00:25:51,290 --> 00:25:53,290 dhe nga binar në heksadecimal. 466 00:25:53,290 --> 00:25:56,610 Ju djema doni të bëni të sigurtë që edhe praktikë do mënyrë tjetër përreth. 467 00:25:56,610 --> 00:26:03,370 Pra, nëse unë ju dha 0XFF, ju mund të nxjerrë se në binar, e drejtë? 468 00:26:03,370 --> 00:26:06,820 >> Ju konvertojë F në binar, e cila është një, një, një, një, 469 00:26:06,820 --> 00:26:09,380 konvertohet F në binar, i cili është një, një, një, një. 470 00:26:09,380 --> 00:26:11,310 >> Pra, ne mund t'ju kërkojë të bëni mënyra të tjera përreth. 471 00:26:11,310 --> 00:26:14,817 Pra decimal të binar, ose hexadecimal në binar. 472 00:26:14,817 --> 00:26:16,650 Pra, ju doni të bëni që ju e dini të dy rrugët. 473 00:26:16,650 --> 00:26:19,371 Ne ndoshta do të ju pyes një kombinim i të dyjave. 474 00:26:19,371 --> 00:26:20,660 >> Po, ju keni një pyetje? 475 00:26:20,660 --> 00:26:22,724 Unë mund see-- ju jeni të mirë? 476 00:26:22,724 --> 00:26:23,348 Audienca: Po. 477 00:26:23,348 --> 00:26:24,560 PROFESORI: OK. 478 00:26:24,560 --> 00:26:26,101 A jam unë i mirë të fshihet kjo? 479 00:26:26,101 --> 00:26:26,600 I madh. 480 00:26:26,600 --> 00:26:33,965 481 00:26:33,965 --> 00:26:40,437 >> Të gjithë të drejtë, kështu që përgjigjet janë këtu, nëse dikush është kurioz më vonë dhe për të marrë hutuar. 482 00:26:40,437 --> 00:26:41,844 NE RREGULL. 483 00:26:41,844 --> 00:26:46,070 >> Audienca: A ka rëndësi në qoftë se ne kemi vënë letrat tona në kryeqytet apo të vogla? 484 00:26:46,070 --> 00:26:50,360 >> PROFESORI: Ai e bën, sepse në heksadecimal, me konventë, 485 00:26:50,360 --> 00:26:52,840 të gjithë personazhet janë të uppercase. 486 00:26:52,840 --> 00:26:54,650 Pra, një përmes F janë do të jenë të uppercase. 487 00:26:54,650 --> 00:26:58,660 Nëse ju vendosni një vogle A, unë nuk e di nëse ne domosdoshmërisht do të shënojë atë të gabuar. 488 00:26:58,660 --> 00:27:00,679 Por teorikisht, kjo nuk është teknikisht 489 00:27:00,679 --> 00:27:01,970 si ju jeni duke menduar që të ketë atë. 490 00:27:01,970 --> 00:27:03,303 Pra, ata të gjithë duhet të jenë të uppercase. 491 00:27:03,303 --> 00:27:05,910 Po, pyetje e mirë. 492 00:27:05,910 --> 00:27:07,780 >> NE RREGULL. 493 00:27:07,780 --> 00:27:08,790 Pyetja e dytë. 494 00:27:08,790 --> 00:27:12,750 Konsideroni këtë program të bukur këtu. 495 00:27:12,750 --> 00:27:15,180 Unë do të kërkoj pyetjen: Unë do të kthehem këtë. 496 00:27:15,180 --> 00:27:23,170 >> Pra, së pari, çfarë është brenda standardit io.h kjo është në interes të programit? 497 00:27:23,170 --> 00:27:26,640 Së dyti, ajo që e bën të pavlefshme tregon në përputhje tre? 498 00:27:26,640 --> 00:27:30,572 Dhe së treti, çfarë do të kthehej zero nga kryesore, si linjë gjashtë, në përgjithësi të ditur? 499 00:27:30,572 --> 00:27:33,280 Nëse ju djema doni të shkruani ato poshtë, pasi që unë duhet të kaloni prapa 500 00:27:33,280 --> 00:27:36,810 në rrëshqitje vetëm kështu që ju mund të shihni kodin. 501 00:27:36,810 --> 00:27:40,400 Ky është një shembull i, si, ndoshta një Pyetja nivel më të lartë, ku ne ju kërkojmë 502 00:27:40,400 --> 00:27:42,435 çfarë gjëra thotë në një program. 503 00:27:42,435 --> 00:27:47,290 504 00:27:47,290 --> 00:27:49,215 >> Gjithkush e mirë për mua të të kthehemi në rrëshqitje? 505 00:27:49,215 --> 00:27:53,400 506 00:27:53,400 --> 00:27:54,361 OK, i ftohtë. 507 00:27:54,361 --> 00:27:57,610 Kështu që unë do të ju jap djema si ndoshta tre minuta për të parë në këtë një Quick reale. 508 00:27:57,610 --> 00:28:41,330 509 00:28:41,330 --> 00:28:44,140 >> OK, kështu që kjo e si mjaft e lehtë, konceptualisht. 510 00:28:44,140 --> 00:28:49,280 A ka dikush doni të më tregoni se çfarë është së pari brenda nga hash përfshirë 511 00:28:49,280 --> 00:28:52,630 standardi skedar ynë bibliotekë io.h? 512 00:28:52,630 --> 00:28:55,510 Pse kemi nevojë për atë bibliotekën të përfshira për këtë program? 513 00:28:55,510 --> 00:28:56,930 Ajo që këtu nuk kemi nevojë për të? 514 00:28:56,930 --> 00:28:56,980 >> Po? 515 00:28:56,980 --> 00:28:58,340 >> Audienca: është se kur ju vënë atë printf? 516 00:28:58,340 --> 00:28:59,131 >> PROFESORI: Pikërisht. 517 00:28:59,131 --> 00:29:01,780 Pra printf, çdo kohë që ju marrë një hyrje nga përdoruesi 518 00:29:01,780 --> 00:29:04,140 dhe të shtypura diçka në ekran, kjo është 519 00:29:04,140 --> 00:29:05,600 input standarde, bibliotekë prodhimi. 520 00:29:05,600 --> 00:29:07,170 Mendoni se që way-- input, output. 521 00:29:07,170 --> 00:29:08,430 >> A kemi një prodhim? 522 00:29:08,430 --> 00:29:09,207 Po, unë bëj. 523 00:29:09,207 --> 00:29:12,040 Kështu që unë e di se unë jam gjithmonë do të duhet bibliotekën standardizohet i.o. 524 00:29:12,040 --> 00:29:16,400 >> Pra printf është funksioni me të cilën ne kemi nevojë për të hyrë në 525 00:29:16,400 --> 00:29:19,370 dhe hashtag përfshijnë bibliotekë standarde i.o. 526 00:29:19,370 --> 00:29:20,280 NE RREGULL. 527 00:29:20,280 --> 00:29:22,660 >> Së dyti, ajo çfarë e bën të pavlefshëm të ditur? 528 00:29:22,660 --> 00:29:26,970 Ne kemi int kryesor (i pavlefshëm), çfarë pavlefshëm këtu do të thotë këtu on line tre? 529 00:29:26,970 --> 00:29:28,080 Po, në shpinë. 530 00:29:28,080 --> 00:29:29,020 >> Audienca: [padëgjueshme] 531 00:29:29,020 --> 00:29:29,920 >> PROFESORI: Pikërisht. 532 00:29:29,920 --> 00:29:33,320 Pra mbani mend, ne kemi mësuar duke filluar me pset tonë 533 00:29:33,320 --> 00:29:35,360 që ju mund të vërtetë specifikoni command line 534 00:29:35,360 --> 00:29:39,010 Argumentet se programi juaj, që ju Funksioni kryesor, merr si ti, përdoruesi, 535 00:29:39,010 --> 00:29:39,650 e quajti atë. 536 00:29:39,650 --> 00:29:42,650 Në qoftë se ne kemi pavlefshëm, që do të thotë se ju mund vetëm të drejtuar programin direkt 537 00:29:42,650 --> 00:29:44,680 pa argumente command line. 538 00:29:44,680 --> 00:29:46,160 Gjithkush qartë për këtë? 539 00:29:46,160 --> 00:29:46,660 NE RREGULL. 540 00:29:46,660 --> 00:29:52,850 >> Dhe së fundi pse nuk kemi mërzit duke bërë kjo gjë kthim zero këtu? 541 00:29:52,850 --> 00:29:54,740 Pse ne kemi edhe një kryesor int? 542 00:29:54,740 --> 00:29:57,330 Pse nuk mund të ketë vetëm boshllëk void kryesore? 543 00:29:57,330 --> 00:29:59,216 Po? 544 00:29:59,216 --> 00:30:01,590 Audienca: Vetëm kështu që ne mund të të jetë i sigurt se programi është 545 00:30:01,590 --> 00:30:04,247 daljes me sukses, si krahasim me nëse ai ishte i numëruar. 546 00:30:04,247 --> 00:30:06,580 Dhe ne do të dimë se kjo është një lloj të ndryshme të gabimit. 547 00:30:06,580 --> 00:30:07,621 >> PROFESORI: Po, pikërisht. 548 00:30:07,621 --> 00:30:10,670 Kjo është vetëm një shumë gjë konvencionale që ne bëjmë, 549 00:30:10,670 --> 00:30:13,840 është se vetëm në fund programi juaj, vetëm për të siguruar 550 00:30:13,840 --> 00:30:15,830 që funksion tuaj kryesor po kandidon në mënyrë korrekte, 551 00:30:15,830 --> 00:30:17,940 Ne gjithmonë duam të bëjmë kthimin zero. 552 00:30:17,940 --> 00:30:21,160 Edhe pse ne mund domosdoshmërisht nuk e shihni se shtypur kudo. 553 00:30:21,160 --> 00:30:25,092 >> Sepse si programuesit, ju e dini, nëse ju keni linja të ndryshme të kodit 554 00:30:25,092 --> 00:30:27,050 dhe ju nuk e dini se ku këto do të gabuar, 555 00:30:27,050 --> 00:30:30,240 dhe ju nëse ndodh një gabim të duan të sigurohuni që ju të merrni atë gabim. 556 00:30:30,240 --> 00:30:33,240 Dhe kështu në mënyrë tipike, nëse diçka shkon gabuar ne do të kemi një kthim të një vetëm 557 00:30:33,240 --> 00:30:34,669 për t'u siguruar që ne e dimë se ajo është. 558 00:30:34,669 --> 00:30:36,460 Pra, nëse ju shihni një kthim zero, që në mënyrë tipike 559 00:30:36,460 --> 00:30:38,293 do të thotë që programi juaj është i ekzekutuar me sukses. 560 00:30:38,293 --> 00:30:40,490 561 00:30:40,490 --> 00:30:40,990 Mirë? 562 00:30:40,990 --> 00:30:45,180 563 00:30:45,180 --> 00:30:45,680 Ftohtë. 564 00:30:45,680 --> 00:30:48,710 565 00:30:48,710 --> 00:30:52,680 >> OK, programi i dytë këtu. 566 00:30:52,680 --> 00:30:54,827 Mendoni se. 567 00:30:54,827 --> 00:30:56,910 Dhe në qoftë se ju djema të parë një noton, ju djema mund ndoshta 568 00:30:56,910 --> 00:31:00,810 të ketë një ide e mirë të asaj që Unë jam gati për të ju pyes. 569 00:31:00,810 --> 00:31:05,200 >> Pra, kur ky program ekzekuton, si ju mund të shihni, 570 00:31:05,200 --> 00:31:09,330 Unë jam deklaruar një noton brenda funksionit tim kryesor. 571 00:31:09,330 --> 00:31:13,470 Unë jam emërtimin atë "përgjigjem", dhe unë jam vendosjen e që barabartë me një ndarë nga 10. 572 00:31:13,470 --> 00:31:17,860 Unë jam shtypjen jashtë, në një vend decimal, që noton. 573 00:31:17,860 --> 00:31:19,880 Dhe atëherë unë jam kthyer zero. 574 00:31:19,880 --> 00:31:24,470 >> Pra, kur ekzekutimin e programit, mendoj se mbrapa për të babëzitur tani, 575 00:31:24,470 --> 00:31:26,550 ky program shtyp 0.0. 576 00:31:26,550 --> 00:31:29,993 Siç e dimë të gjithë, shpresojmë se ne të gjithë e di, një e ndarë nga 10 nuk është 0.00, 577 00:31:29,993 --> 00:31:32,350 është 0.1. 578 00:31:32,350 --> 00:31:37,810 Por, shpjegojnë pse ky program mendon se 1 pjesëtuar me 10 printime në 0.1 Tjetër 579 00:31:37,810 --> 00:31:39,504 sesa 0.1? 580 00:31:39,504 --> 00:31:42,545 Unë do të ju djema jap ndoshta si 30 sekonda për të vetëm të shpejt të mendojnë për atë 581 00:31:42,545 --> 00:31:43,878 dhe unë do të shkoj përsëri në programin. 582 00:31:43,878 --> 00:32:17,800 583 00:32:17,800 --> 00:32:20,290 >> NE RREGULL. 584 00:32:20,290 --> 00:32:22,205 Çdokush duan të jepte një e shtënë? 585 00:32:22,205 --> 00:32:24,330 Në tre fjali ose më pak, sepse zakonisht ne jemi 586 00:32:24,330 --> 00:32:27,650 do të kufizojë të gjitha përgjigjet për tre fjali ose më pak 587 00:32:27,650 --> 00:32:31,130 kështu që ju nuk do të vetëm të derdh mbrapa gjëra të rastit onto quiz tuaj. 588 00:32:31,130 --> 00:32:32,740 >> Po, të marrë një e shtënë. 589 00:32:32,740 --> 00:32:36,390 >> Audienca: Pra, unë mendoj se nuk është kjo gjë të quajtur, si, [e padëgjueshme] 590 00:32:36,390 --> 00:32:42,320 Kështu që nuk mund të jetë, për shembull, mund të ketë, si, 0.09, 591 00:32:42,320 --> 00:32:47,250 se ku keni shkruar i pari shifror, kjo do të jetë për 0.0? 592 00:32:47,250 --> 00:32:49,100 >> PROFESORI: Mbylle, jo fare. 593 00:32:49,100 --> 00:32:49,810 Christabell? 594 00:32:49,810 --> 00:32:51,770 >> Audienca: Ju jeni duke e ndarë një dhe 10, dhe ata janë të dy integers. 595 00:32:51,770 --> 00:32:54,610 Dhe kështu që mënyra që ajo do për të ruajtur ajo është si një numër të plotë. 596 00:32:54,610 --> 00:32:56,480 Dhe kështu numër i plotë më i afërt do të jetë 0.0. 597 00:32:56,480 --> 00:32:57,471 Dhe kështu që është 0.1. 598 00:32:57,471 --> 00:32:58,970 PROFESORI: Po, kjo është me të vërtetë mirë. 599 00:32:58,970 --> 00:33:00,040 Kjo është përgjigja e drejtë. 600 00:33:00,040 --> 00:33:03,597 Pra, kjo është një shumë konfuz Koncepti për një shumë të fëmijëve. 601 00:33:03,597 --> 00:33:06,680 Dhe unë me të vërtetë dëshironi të bëni të sigurtë që kjo përforcohet në kokën e të gjithëve. 602 00:33:06,680 --> 00:33:10,090 >> Pra, ajo që ne e quajmë lundrues Pika pasaktësi, 603 00:33:10,090 --> 00:33:12,800 ku arsyeja pse shumë nga programet tuaja në lakmitar 604 00:33:12,800 --> 00:33:17,010 nuk ka punuar fillimisht ishte për shkak keni harruar për të hedhur ndryshore tuaj. 605 00:33:17,010 --> 00:33:19,370 Pra, çfarë ka thënë Christabell ishte plotësisht e saktë. 606 00:33:19,370 --> 00:33:21,990 >> Një noton është e natyrshme të pasaktë. 607 00:33:21,990 --> 00:33:26,400 Sepse në një kompjuter, të drejtë, ne kemi një sasi e caktuar e copa të kujtesës 608 00:33:26,400 --> 00:33:28,480 ne mund të përdorim për të përfaqësuar numrat. 609 00:33:28,480 --> 00:33:33,480 Kështu, për shembull, kjo ID CS50 is-- Unë mendoj se kjo është një kompjuter 64-bit. 610 00:33:33,480 --> 00:33:37,520 >> Një noton mund të përfaqësohet vetëm nga një sasi e fundme të këtyre bit. 611 00:33:37,520 --> 00:33:42,260 Dhe kështu 0.1 me zero pafundme, që ishte 0.1 është, e drejtë? 612 00:33:42,260 --> 00:33:45,450 Por ne nuk mund të vërtetë të ruajë ky numër në kompjuterin tonë. 613 00:33:45,450 --> 00:33:47,810 Ne thjesht nuk kanë kujtesë të mjaftueshme për ta bërë këtë. 614 00:33:47,810 --> 00:33:52,340 >> Dhe kështu përafrimi më i afërt i çfarë është ruajtur në kujtesën e në fakt është 615 00:33:52,340 --> 00:33:55,390 diçka si 0.000 diçka, diçka, diçka, diçka. 616 00:33:55,390 --> 00:34:01,240 I cili, sapo ju të shkurtoj ai, raundet deri në 0.0. 617 00:34:01,240 --> 00:34:05,640 >> Dhe kështu që ky shembull është vetëm një që tregon shumë çështjeve 618 00:34:05,640 --> 00:34:08,469 ne kemi sa herë që ne jemi duke u përpjekur për të bërë gabimisht matematikë 619 00:34:08,469 --> 00:34:11,000 pa hedh si një numër i plotë ndryshme. 620 00:34:11,000 --> 00:34:14,870 Pra, vetëm të jetë i kujdesshëm për të ndodhur kjo. 621 00:34:14,870 --> 00:34:18,239 >> Më kuize, në qoftë se ne të ju jap një bllok i kodit dhe kjo është si, 622 00:34:18,239 --> 00:34:19,510 atë printime në fund? 623 00:34:19,510 --> 00:34:24,096 Dhe në qoftë se kjo është disa vlera të rastit të djema duhet të e di pse kjo po ndodh. 624 00:34:24,096 --> 00:34:24,909 Po? 625 00:34:24,909 --> 00:34:27,926 >> Audienca: Truncate është shpëtoj gjithçka pas një pikë të caktuar? 626 00:34:27,926 --> 00:34:28,513 [Padëgjueshme] 627 00:34:28,513 --> 00:34:30,929 PROFESORI: Yeah, kështu që në fakt ky është një shembull i vërtetë e keqe, 628 00:34:30,929 --> 00:34:37,870 sepse 0.100 çfarëdo fakt do të shkurtoj deri në 0.1. 629 00:34:37,870 --> 00:34:41,389 Por në qoftë se keni qenë për të drejtuar it-- unë nuk e bëj mbani mend, sepse vitin e kaluar ata 630 00:34:41,389 --> 00:34:42,830 vrapoi atë në një program të ndryshëm. 631 00:34:42,830 --> 00:34:45,300 Ata vrapoi atë në diçka të quajtur CS50 Appliance, e cila 632 00:34:45,300 --> 00:34:46,389 është e ndryshme nga ID. 633 00:34:46,389 --> 00:34:48,520 Kjo ishte një sistem 32-bit, unë mendoj. 634 00:34:48,520 --> 00:34:50,290 Dhe kështu ka pasur numra të ndryshëm. 635 00:34:50,290 --> 00:34:53,330 >> Por në thelb, vetëm e di se i gjithë koncepti i truncation 636 00:34:53,330 --> 00:34:54,815 dhe se si ajo vetëm shkurtime gjërat off. 637 00:34:54,815 --> 00:34:55,690 Dhe kështu që nëse ajo rounds-- 638 00:34:55,690 --> 00:34:56,300 >> Audienca: Pa arrestimi. 639 00:34:56,300 --> 00:34:57,370 >> PROFESORI: Pikërisht. 640 00:34:57,370 --> 00:34:57,870 Po. 641 00:34:57,870 --> 00:35:02,330 642 00:35:02,330 --> 00:35:04,380 Ftohtë. 643 00:35:04,380 --> 00:35:05,250 >> Hi, në pjesën e prapme. 644 00:35:05,250 --> 00:35:07,634 Ne jemi vetëm duke shkuar mbi disa Pyetjet shqyrtim quiz. 645 00:35:07,634 --> 00:35:08,430 >> Në rregull. 646 00:35:08,430 --> 00:35:10,150 Kështu që e konsiderojnë një program të ndryshëm këtu. 647 00:35:10,150 --> 00:35:12,797 648 00:35:12,797 --> 00:35:15,380 Unë jam duke shkuar për të ju jap djema një minuta çift të lexoni mbi këtë. 649 00:35:15,380 --> 00:35:18,588 Kjo është diçka që ka qenë për një shumë Kohët e fundit që unë mendoj shpërtheu një shumë prej jush 650 00:35:18,588 --> 00:35:19,142 mendjet djema s. 651 00:35:19,142 --> 00:35:21,100 Por ne jemi duke shkuar për të folur nëpër këtë përsëri vetëm 652 00:35:21,100 --> 00:35:24,152 për t'u siguruar që ju kuptojnë atë plotësisht. 653 00:35:24,152 --> 00:35:24,652 NE RREGULL. 654 00:35:24,652 --> 00:35:41,280 655 00:35:41,280 --> 00:35:41,780 NE RREGULL. 656 00:35:41,780 --> 00:35:44,342 Çdokush duhet më shumë kohë për lexuar nëpër këtë kod? 657 00:35:44,342 --> 00:35:45,650 NE RREGULL. 658 00:35:45,650 --> 00:35:50,630 >> Pra, mua më duket se në këtë program unë jam 659 00:35:50,630 --> 00:35:53,460 krijuar dy vargje duke përdorur getString. 660 00:35:53,460 --> 00:35:55,180 Një quajtur s dhe një të quajtur t. 661 00:35:55,180 --> 00:35:58,680 Dhe në qoftë se ata janë të barabartë është e barabartë me njëri-tjetrin, 662 00:35:58,680 --> 00:36:00,880 ajo duhet të shtypura "You tipit të njëjtën gjë. " 663 00:36:00,880 --> 00:36:04,170 >> Por elsewise, ajo do të shtypura ", You shtypur gjëra të ndryshme ", e drejtë? 664 00:36:04,170 --> 00:36:05,990 Duket shumë, shumë e thjeshtë. 665 00:36:05,990 --> 00:36:08,720 Por, megjithatë, në qoftë se unë në fakt të përpiqet për të shkruar këtë program, 666 00:36:08,720 --> 00:36:12,230 duket se edhe kur unë input vargjet e saktë të njëjta, 667 00:36:12,230 --> 00:36:15,490 ajo ende printon jashtë, "You shtypur gjëra të ndryshme! " 668 00:36:15,490 --> 00:36:18,020 A ka dikush duan të marrin një shtënë në pse ky program gjithmonë 669 00:36:18,020 --> 00:36:20,370 përgjigjet se inputet janë të ndryshme, madje edhe 670 00:36:20,370 --> 00:36:22,090 kur vetë fjalët janë të njëjta? 671 00:36:22,090 --> 00:36:24,870 672 00:36:24,870 --> 00:36:29,170 >> Pra, nëse unë do të input-- David dashuri për të përdorur një shembull si mami, apo jo? 673 00:36:29,170 --> 00:36:37,890 Fjala M-O-M për S, T është e barabartë me gërma të vogla M-O-M. 674 00:36:37,890 --> 00:36:40,340 Nëse unë u zhvillua këtë përmes që kodi, pse do të 675 00:36:40,340 --> 00:36:44,180 shtypura nga "të shtypur gjëra të ndryshme?" 676 00:36:44,180 --> 00:36:46,336 >> A ka dikush nevojë për më shumë koha për të menduar për këtë? 677 00:36:46,336 --> 00:36:47,294 OK, unë mendoj se ne jemi të mirë. 678 00:36:47,294 --> 00:36:48,716 Po? 679 00:36:48,716 --> 00:36:53,930 >> Audienca: OK, kështu që kjo është diçka në lidhje me ku është e ruajtur në kujtesën, e drejtë? 680 00:36:53,930 --> 00:36:54,890 >> PROFESORI: Po. 681 00:36:54,890 --> 00:37:00,400 >> Audienca: Ku është si, në qoftë se ky string s është i ruajtur në kujtesë spot-- 682 00:37:00,400 --> 00:37:01,689 Unë jam duke shpikur this-- është zero. 683 00:37:01,689 --> 00:37:02,355 PROFESORI: Sigurisht. 684 00:37:02,355 --> 00:37:05,290 Audienca: Dhe varg t është ruajtur në vend të kujtesës, 685 00:37:05,290 --> 00:37:11,000 si, 167, dhe pastaj zero nuk ka të barabartë 167. 686 00:37:11,000 --> 00:37:12,610 >> PROFESORI: Pikërisht. 687 00:37:12,610 --> 00:37:18,350 OK, kështu që mos harroni këtë të pabesueshme Shpallja kemi shpjeguar për ju djema 688 00:37:18,350 --> 00:37:21,530 këtë javë të fundit, që strings vërtetë nuk ekziston? 689 00:37:21,530 --> 00:37:25,380 Kur ne të krijuar diçka të quajtur string ne jemi, në realitet, 690 00:37:25,380 --> 00:37:29,330 duke krijuar diçka të quajtur yll char. 691 00:37:29,330 --> 00:37:34,470 Të cilat të gjitha kjo është është një tregues për një varg apo për një grup të karaktere. 692 00:37:34,470 --> 00:37:39,480 >> Dhe kështu në këtë shembull, në qoftë se unë ishin të input M-O-M mënyra 693 00:37:39,480 --> 00:37:49,350 se kompjuteri im do të dyqan është brenda backslash kujtesës zero, e drejtë? 694 00:37:49,350 --> 00:37:53,180 Këto katër karaktere, chars, do të ruhen diku. 695 00:37:53,180 --> 00:37:59,290 >> Dhe atëherë këto katër karaktere, backslash zero, 696 00:37:59,290 --> 00:38:01,275 janë ruajtur diku tjetër, e drejtë? 697 00:38:01,275 --> 00:38:04,685 Unë nuk kam asnjë ide se ku adresat janë, ata janë diku në kompjuterin tim. 698 00:38:04,685 --> 00:38:07,080 Por unë nuk e di saktësisht se ku ata janë. 699 00:38:07,080 --> 00:38:10,170 >> Kur kam krijuar një varg s, të gjithë që me të vërtetë është 700 00:38:10,170 --> 00:38:15,550 është një tregues për fillim të këtij vargut. 701 00:38:15,550 --> 00:38:21,130 Dhe kur unë krijuar këtë vlerë t, gjithçka që është një tregues këtu. 702 00:38:21,130 --> 00:38:23,980 Dhe kështu që kur ju jeni duke u përpjekur të vë shenjën e barazimit dhe të kontrolluar 703 00:38:23,980 --> 00:38:27,710 për të parë nëse është e barabartë s barabartë për t, kompjuteri 704 00:38:27,710 --> 00:38:31,635 është me të vërtetë vetëm të kthehej në ju adresa e kësaj m 705 00:38:31,635 --> 00:38:33,390 dhe adresa e atij m. 706 00:38:33,390 --> 00:38:36,230 Dhe për shkak se ata janë të dy pjesë të veçanta e të dhënave 707 00:38:36,230 --> 00:38:38,750 që janë të ruajtura në dy të ndryshme adresat në kompjuterin tuaj, 708 00:38:38,750 --> 00:38:41,750 kompjuteri juaj kurrë nuk do të njohin ata si të njëjta. 709 00:38:41,750 --> 00:38:43,500 A ka dikush duan të japin një e shtënë në atë që ne 710 00:38:43,500 --> 00:38:46,900 do të duhet të bëni nëse ne të kërkuar për të korrigjuar këtë dhe të ketë një program të saktë running 711 00:38:46,900 --> 00:38:49,360 në vend? 712 00:38:49,360 --> 00:38:52,070 Mendoni se për disa sekonda. 713 00:38:52,070 --> 00:38:54,929 Çfarë nuk kemi nevojë për të ndryshuar për të merrni këtë funksionimin e programit 714 00:38:54,929 --> 00:38:56,220 mënyrën se si ne duam që ajo të funksionojë? 715 00:38:56,220 --> 00:39:17,260 716 00:39:17,260 --> 00:39:18,918 >> Po, duan të marrin një goditje me thikë në atë? 717 00:39:18,918 --> 00:39:24,082 >> Audienca: A mund të përpiqemi të dereference tregues dhe shikoni nëpër rrjet? 718 00:39:24,082 --> 00:39:25,540 PROFESORI: Kjo është një mënyrë për të bërë atë. 719 00:39:25,540 --> 00:39:27,880 Pra, çfarë është emri juaj përsëri? 720 00:39:27,880 --> 00:39:29,010 Më vjen keq, kujtoj mua. 721 00:39:29,010 --> 00:39:29,589 >> Zee: Zee. 722 00:39:29,589 --> 00:39:32,130 PROFESORI: Yeah, kështu që ajo që Zee sugjeroi do të punojë absolutisht. 723 00:39:32,130 --> 00:39:32,629 E drejtë? 724 00:39:32,629 --> 00:39:35,730 Ne mund dereference e akrep dhe në fakt shkojnë dhe qasja 725 00:39:35,730 --> 00:39:38,460 të dhënat fizike brenda të këtu. 726 00:39:38,460 --> 00:39:40,300 Dhe ne vetëm mund të krahasoni të gjithë ekranin. 727 00:39:40,300 --> 00:39:43,670 >> Ne mund të themi, OK, akrep, më jepni çfarë është brenda këtu. 728 00:39:43,670 --> 00:39:44,960 Ajo do të kthehet një m. 729 00:39:44,960 --> 00:39:47,168 Dhe unë do të thoja, akrep, më jepni çfarë është brenda këtu. 730 00:39:47,168 --> 00:39:47,750 Kthehuni një m. 731 00:39:47,750 --> 00:39:48,410 Bëjnë ato ndeshje? 732 00:39:48,410 --> 00:39:49,410 Po. 733 00:39:49,410 --> 00:39:50,340 Pastaj ne të lëvizë. 734 00:39:50,340 --> 00:39:54,240 >> Ne vazhdojmë të kontrolluar të gjithë dy Strings të gjitha rrugën deri në fund 735 00:39:54,240 --> 00:39:56,635 dhe të shohim nëse ata janë të barabartë, nëse të gjitha vlerat janë të barabarta. 736 00:39:56,635 --> 00:39:59,680 Dhe në qoftë se të gjitha vlerat janë të barabarta, atëherë ne e dimë se vargjet janë të vërteta. 737 00:39:59,680 --> 00:40:01,600 Absolutisht, kjo është se si ne do ta bëjmë atë? 738 00:40:01,600 --> 00:40:03,930 >> A ka dikush hutuar në ndonjë nga këto? 739 00:40:03,930 --> 00:40:06,970 I tërë koncepti i se si strings janë me të vërtetë vetëm pointers, 740 00:40:06,970 --> 00:40:08,440 dhe se si ata nuk të vërtetë ekziston? 741 00:40:08,440 --> 00:40:10,480 Dhe pse ne kemi marrë gabime si mënyrën se si ne të merrni atë? 742 00:40:10,480 --> 00:40:15,070 Sepse unë ju garantoj djema, pointers dhe caktimi string dhe kujtesës 743 00:40:15,070 --> 00:40:16,470 do të dalë. 744 00:40:16,470 --> 00:40:17,410 >> Po? 745 00:40:17,410 --> 00:40:21,072 >> Audienca: [padëgjueshme] dereference ajo, ju vetëm vënë një yll [e padëgjueshme] 746 00:40:21,072 --> 00:40:21,780 PROFESORI: E drejta. 747 00:40:21,780 --> 00:40:28,430 Pra, për të derererence një mjet pointer për të shkuar në atë adresë e akrep 748 00:40:28,430 --> 00:40:30,390 dhe të marrë të dhënat, vlerën atje. 749 00:40:30,390 --> 00:40:32,700 Dhe mënyra për ta bërë këtë është akrep yll. 750 00:40:32,700 --> 00:40:34,262 A nuk e ngatërruar atë. 751 00:40:34,262 --> 00:40:35,186 >> Audienca: [padëgjueshme]. 752 00:40:35,186 --> 00:40:35,852 >> PROFESORI: Po. 753 00:40:35,852 --> 00:40:39,750 Audienca: Kështu që ju mund të shkruani vetëm në qoftë se yllit s barabartë t barabartë yll. 754 00:40:39,750 --> 00:40:40,630 >> PROFESORI: E pra, nuk ka. 755 00:40:40,630 --> 00:40:40,960 Jo. 756 00:40:40,960 --> 00:40:41,640 >> Audienca: Kjo nuk është mjaft e mirë, e drejtë? 757 00:40:41,640 --> 00:40:43,760 >> PROFESORI: Kjo nuk është, sepse ju jeni vetëm kontrolluar letrën e parë. 758 00:40:43,760 --> 00:40:46,010 Ju jeni me siguri do të nevojë për një lloj të një lak që 759 00:40:46,010 --> 00:40:49,055 iterates përmes çdo të vetme Karakteri në të dy vargjet. 760 00:40:49,055 --> 00:40:49,837 Po. 761 00:40:49,837 --> 00:40:52,920 Pra, nëse ju të kërkuar për të vetëm të kontrolloni për të parë nëse ata filluan me të njëjtën gjë, 762 00:40:52,920 --> 00:40:58,220 ju mund të bëni nëse, yll s eshte e barabarte me yll t. 763 00:40:58,220 --> 00:41:01,300 Atëherë ju e dini se të paktën ata filloi me të njëjtin karakter. 764 00:41:01,300 --> 00:41:01,952 >> Po? 765 00:41:01,952 --> 00:41:04,056 >> Audienca: Pra, mënyra ju bëni që do të jetë 766 00:41:04,056 --> 00:41:06,064 si një ngulitur për lak ose akrep? 767 00:41:06,064 --> 00:41:06,730 PROFESORI: Po. 768 00:41:06,730 --> 00:41:08,170 Pretty much vetëm një për lak. 769 00:41:08,170 --> 00:41:12,430 Mos harroni, Davidi në klasë përmendur sheqer pa pagesë sintaktik? 770 00:41:12,430 --> 00:41:17,690 Dhe ai e kishte këtë shumë gjë konfuze e yllit t 771 00:41:17,690 --> 00:41:22,030 plus një, ku ai do të integrojë përmes dhe të lëvizin në treguesin? 772 00:41:22,030 --> 00:41:29,910 Mënyra më e lehtë për të bërë kjo është vetëm t e i. 773 00:41:29,910 --> 00:41:31,090 >> Pra, kjo është vetëm një koleksion. 774 00:41:31,090 --> 00:41:34,630 Mënyrë që ju do të ketë nevojë për një lak që u nga zero deri në i, ku 775 00:41:34,630 --> 00:41:36,580 I është gjatësia e string, ju mund vetëm 776 00:41:36,580 --> 00:41:39,510 shkruaj që në vend të bërë të Gjithë akrep, gjë referencë. 777 00:41:39,510 --> 00:41:43,510 Pra, këto gjëra janë pikërisht ekuivalente në kompjuterin tuaj. 778 00:41:43,510 --> 00:41:45,905 >> Ju djema ndoshta nuk do të duhet të dini se, 779 00:41:45,905 --> 00:41:48,280 por kjo është e mirë për të vetëm lloji i kanë në shpinë mendjen tuaj. 780 00:41:48,280 --> 00:41:52,630 Vetëm e di se kompjuteri njeh blloqe të ndryshme të kodit 781 00:41:52,630 --> 00:41:53,890 si të njëjtën gjë. 782 00:41:53,890 --> 00:41:57,510 Sepse kjo është vetëm shumë më tepër përdorues miqësor për ne për të paraqitur atë si është 783 00:41:57,510 --> 00:41:58,150 një koleksion. 784 00:41:58,150 --> 00:42:00,990 Është vetëm më të lehtë. 785 00:42:00,990 --> 00:42:02,719 >> Audienca: Pra, përdorni strlen të pëlqen, get-- 786 00:42:02,719 --> 00:42:03,385 PROFESORI: Po. 787 00:42:03,385 --> 00:42:03,926 Audienca: OK. 788 00:42:03,926 --> 00:42:05,940 PROFESORI: Ju mund përdorin strlen ose, në qoftë se ju 789 00:42:05,940 --> 00:42:10,420 nuk kanë strlen ju mund të bëni vetëm deri derisa ju goditi backslash zero për të dy. 790 00:42:10,420 --> 00:42:11,568 Ose do të punojë. 791 00:42:11,568 --> 00:42:12,068 Po. 792 00:42:12,068 --> 00:42:14,871 793 00:42:14,871 --> 00:42:17,996 Audienca: Pra, kjo është në çdo dereference karakter të vetëm në qoftë se ne kemi qenë në fakt 794 00:42:17,996 --> 00:42:21,044 shkruar këtë kod, ne mund të bëjë vetëm kllapa T i 795 00:42:21,044 --> 00:42:22,460 si me yll në frontin e tij? 796 00:42:22,460 --> 00:42:27,700 >> PROFESORI: Po, është e barabartë është e barabartë me s kllapa unë, dhe pastaj të mbajtur lëviz I 797 00:42:27,700 --> 00:42:29,790 poshtë lart derisa ju goditi fundin. 798 00:42:29,790 --> 00:42:31,286 Po, kjo është ajo që ju do të bëni. 799 00:42:31,286 --> 00:42:33,660 Dhe unë në fakt do të kemi një tjetër shembull kur ne fakt 800 00:42:33,660 --> 00:42:36,740 shkruaj strlen kështu që ju djema do lloj i merrni për të luajtur rreth me pak. 801 00:42:36,740 --> 00:42:43,567 >> Pra, është e qartë se të gjithë në vetëm kujtesë, vargjet, Akrepa, adresat cilësisë? 802 00:42:43,567 --> 00:42:46,650 Disa koncepte nivelit më të lartë që ju do të sigurt duhet të dini në quiz 803 00:42:46,650 --> 00:42:48,928 nesër. 804 00:42:48,928 --> 00:42:49,904 >> Në rregull. 805 00:42:49,904 --> 00:42:50,404 Të mirë. 806 00:42:50,404 --> 00:42:54,824 807 00:42:54,824 --> 00:42:55,324 Yep. 808 00:42:55,324 --> 00:42:58,770 809 00:42:58,770 --> 00:43:04,180 OK, kështu që një gjë që ne do të pyesim ju, siç bëjmë çdo vit në një quiz, është, 810 00:43:04,180 --> 00:43:08,340 mendoj se ju keni harruar (e cila ne duket të harroni të bëni çdo vit) 811 00:43:08,340 --> 00:43:10,810 në të cilën është deklaruar header skedarit strlen. 812 00:43:10,810 --> 00:43:13,860 Dhe kështu që ne kemi për të rishkruar atë vetë. 813 00:43:13,860 --> 00:43:16,350 >> Këtu janë një listë e udhëzimeve që ne mund të ju paraqesim 814 00:43:16,350 --> 00:43:20,660 djema ku ju merrni për të supozojmë se s vargu nuk do të jetë i pavlefshëm. 815 00:43:20,660 --> 00:43:23,830 Ju mund të supozojmë se s do të jetë ndërpritet me një backslash zero. 816 00:43:23,830 --> 00:43:26,670 Pra, ju e dini se çfarë është ajo do të përfundojë me të. 817 00:43:26,670 --> 00:43:29,500 >> Dhe, për shembull, se Gjatësia e përshëndetje do të jetë pesë. 818 00:43:29,500 --> 00:43:32,890 Kështu që ju mund të supozojmë se përshëndetje do të jetë pesë, H-E-L-L-O. 819 00:43:32,890 --> 00:43:35,890 Ju nuk keni për të supozojmë se Backside zero llogaritë për gjatësinë. 820 00:43:35,890 --> 00:43:39,720 821 00:43:39,720 --> 00:43:42,300 >> Kjo gjëja e fundit këtu, nuk shqetësohen për fryhen integer. 822 00:43:42,300 --> 00:43:45,270 A ka dikush kujtohet çfarë integer overflow është? 823 00:43:45,270 --> 00:43:48,041 >> Audienca: shkon përtej Gjatësia e [e padëgjueshme]. 824 00:43:48,041 --> 00:43:50,740 >> PROFESORI: Po, mund të shpjegoni pak, çfarë do të thotë? 825 00:43:50,740 --> 00:43:55,330 >> Audienca: Pra, unë mendoj se shkon prapa për shembull truncating më herët. 826 00:43:55,330 --> 00:43:58,380 Por në qoftë se ju keni vetëm kaq shumë numra që shkojnë përtej numrin e bit 827 00:43:58,380 --> 00:44:01,409 që ju në fakt mund të caktojë atë se ajo vetëm do lloj i prerë. 828 00:44:01,409 --> 00:44:04,242 PROFESORI: Yeah, kështu që në një tipik kompjuter, sa bit kemi? 829 00:44:04,242 --> 00:44:05,306 Audienca: 32? 830 00:44:05,306 --> 00:44:06,430 PROFESORI: Po, 32, e drejtë. 831 00:44:06,430 --> 00:44:10,030 Dhe kështu kjo është, ajo, katër miliard, dy miliard? 832 00:44:10,030 --> 00:44:13,579 Katër miliardë, deri në katër miliardë integers pozitive, e drejtë? 833 00:44:13,579 --> 00:44:15,370 Dy miliardë negative, dy miliardë pozitiv, 834 00:44:15,370 --> 00:44:16,900 varet se si ju doni të bëni atë. 835 00:44:16,900 --> 00:44:21,470 >> Dhe kështu që në thelb ne mund të kemi integers mjaftueshme që mund të shkojnë deri 836 00:44:21,470 --> 00:44:25,800 të dy me 31 minus 1, e drejtë? 837 00:44:25,800 --> 00:44:27,980 Sepse dikur ne hit dy të 32-të, ne nuk e bëjmë 838 00:44:27,980 --> 00:44:30,040 kanë atë shumë memorie në kompjuterin tonë. 839 00:44:30,040 --> 00:44:32,310 >> Dhe kështu, teorikisht, unë mund të dalë me një numër 840 00:44:32,310 --> 00:44:34,560 që është, si, dy të 46-in. 841 00:44:34,560 --> 00:44:38,040 Është një numër i madh-ass, por teorikisht ju mund. 842 00:44:38,040 --> 00:44:42,730 Dhe del nga shtrati kështu numër i plotë është në qoftë se ju përpiqeni të të krijojë një numër të plotë që shkon përtej asaj që 843 00:44:42,730 --> 00:44:44,790 kompjuteri juaj është i aftë për ruajtjen. 844 00:44:44,790 --> 00:44:46,590 >> Dhe kështu që ju djema për ky shembull nuk kanë 845 00:44:46,590 --> 00:44:51,330 për t'u shqetësuar rreth nesh duke ju dhënë një gjigant varg që është dy deri në karaktere 32ND 846 00:44:51,330 --> 00:44:51,830 gjatë. 847 00:44:51,830 --> 00:44:54,010 Që me të vërtetë do të thotë. 848 00:44:54,010 --> 00:44:59,430 >> Të gjithë të drejtë, kështu që unë jam vetëm duke shkuar për të dhënë ju djema struktura bazë të kësaj. 849 00:44:59,430 --> 00:45:02,020 Ju jeni duke shkuar për të krijuar një Funksioni i quajtur int strlen ku 850 00:45:02,020 --> 00:45:08,436 një të kalojë në, një yll char, ose varg, tregues në vargun e quajtur s. 851 00:45:08,436 --> 00:45:10,820 >> Të gjithë të drejtë, të gjithë kopje atë poshtë. 852 00:45:10,820 --> 00:45:13,550 853 00:45:13,550 --> 00:45:14,850 Ftohtë. 854 00:45:14,850 --> 00:45:17,020 Oops-- mënyrë tjetër. 855 00:45:17,020 --> 00:45:21,360 >> Pra, kjo është lloj i si një pjesë më e vështirë e problemit, 856 00:45:21,360 --> 00:45:25,320 kështu që unë do të ju jap djema ndoshta pesë për gjashtë minuta për llojin e pyetini 857 00:45:25,320 --> 00:45:27,478 dhe shkruaj këtë funksion jashtë. 858 00:45:27,478 --> 00:45:29,710 >> Audienca: Ne nuk bëjmë llogari për [e padëgjueshme], 859 00:45:29,710 --> 00:45:30,200 ne nuk duhet të përdorin numër i plotë? 860 00:45:30,200 --> 00:45:31,241 >> PROFESORI: Jo, ju nuk e bëni. 861 00:45:31,241 --> 00:48:05,847 862 00:48:05,847 --> 00:48:06,930 Unë do të ju jap djema një aluzion. 863 00:48:06,930 --> 00:48:12,325 Një lak, ndërsa mund të jetë shumë i dobishëm këtu. 864 00:48:12,325 --> 00:48:12,825 Po. 865 00:48:12,825 --> 00:48:44,995 866 00:48:44,995 --> 00:48:45,495 Ja 867 00:48:45,495 --> 00:48:45,995 karamele. 868 00:48:45,995 --> 00:48:49,980 869 00:48:49,980 --> 00:48:53,410 Karamele do të jetë në dispozicion për quiz, unë mendoj. 870 00:48:53,410 --> 00:48:55,315 Pra, ju djema do të jenë të gjithë sheqerosur deri nesër. 871 00:48:55,315 --> 00:49:01,110 872 00:49:01,110 --> 00:49:02,962 Mund I-- ju mori atë. 873 00:49:02,962 --> 00:49:03,718 >> Audienca: OK. 874 00:49:03,718 --> 00:49:04,384 PROFESORI: Po. 875 00:49:04,384 --> 00:49:10,550 876 00:49:10,550 --> 00:49:11,870 >> Ndoshta 30 sekonda më shumë apo më shumë. 877 00:49:11,870 --> 00:50:02,220 878 00:50:02,220 --> 00:50:07,340 >> Të gjithë të drejtë, në qoftë se ju jeni nuk bëhet, nuk shqetësohet. 879 00:50:07,340 --> 00:50:08,810 Ne do të lëvizin nëpër këtë së bashku. 880 00:50:08,810 --> 00:50:09,310 NE RREGULL. 881 00:50:09,310 --> 00:50:13,800 Kështu që unë jam duke shkuar për vetëm layout Struktura themelore për këtë funksion këtu. 882 00:50:13,800 --> 00:50:17,255 Int strlen. 883 00:50:17,255 --> 00:50:20,040 884 00:50:20,040 --> 00:50:23,460 Së pari, ka njeri dua të them mua çfarë do të thotë se int? 885 00:50:23,460 --> 00:50:25,160 Ne duhet të kemi në këtë funksion. 886 00:50:25,160 --> 00:50:26,709 >> Audienca: Strlen [e padëgjueshme]. 887 00:50:26,709 --> 00:50:27,500 PROFESORI: Pikërisht. 888 00:50:27,500 --> 00:50:31,140 Pra, çfarëdo që të ndodhë në këtu, ne kemi nevojë për të kthyer një numër të plotë. 889 00:50:31,140 --> 00:50:36,367 Dhe siç specifikohet në spekulim, ne duam të return-- 890 00:50:36,367 --> 00:50:37,700 Shkoni për të një vajzë, vetëm do të mbajë. 891 00:50:37,700 --> 00:50:40,480 Kjo është e gjitha e mirë. 892 00:50:40,480 --> 00:50:42,960 Hani atë të gjithë kështu që unë nuk kam për të marrë atë përsëri, në të vërtetë. 893 00:50:42,960 --> 00:50:46,022 894 00:50:46,022 --> 00:50:48,855 Int vetëm nënkupton se ju jeni do të jenë të kthyer një numër të plotë. 895 00:50:48,855 --> 00:50:55,350 896 00:50:55,350 --> 00:50:57,106 >> Çfarë është kjo char yll s? 897 00:50:57,106 --> 00:50:58,640 Cfare do te thote ajo? 898 00:50:58,640 --> 00:51:00,879 >> Audienca: Si, çfarë është të qenit të dhëna në. 899 00:51:00,879 --> 00:51:01,670 PROFESORI: Pikërisht. 900 00:51:01,670 --> 00:51:04,142 Dhe ajo që është pothuajse e njëjta gjë si yll char? 901 00:51:04,142 --> 00:51:04,850 Audienca: String? 902 00:51:04,850 --> 00:51:05,641 PROFESORI: Pikërisht. 903 00:51:05,641 --> 00:51:09,080 Pra, të gjithë ne jemi duke bërë është duke i dhënë ky një tregues për një varg. 904 00:51:09,080 --> 00:51:09,580 NE RREGULL. 905 00:51:09,580 --> 00:51:12,860 906 00:51:12,860 --> 00:51:13,360 Ftohtë. 907 00:51:13,360 --> 00:51:16,650 >> Gjithashtu, mos harroni, në qoftë se ne të harrojmë për të ju jap këto kllapa, 908 00:51:16,650 --> 00:51:18,330 mos harroni të shkruani vetë. 909 00:51:18,330 --> 00:51:20,720 Sepse teorikisht, kodi juaj është gabuar nëse ju harroni të shkruani ato. 910 00:51:20,720 --> 00:51:21,803 Vetëm gjithmonë i kushtoj vëmendje. 911 00:51:21,803 --> 00:51:23,750 Ashtu si, pak gjëra që ju nuk e vërejnë 912 00:51:23,750 --> 00:51:26,917 kur ju jeni programimit në laptopë tuaj, sepse laptop e bën atë për ju? 913 00:51:26,917 --> 00:51:28,624 Mos harroni kur ju jeni duke shkruar me dorë. 914 00:51:28,624 --> 00:51:29,170 Po? 915 00:51:29,170 --> 00:51:30,954 >> Audienca: Por si e pasaktë? 916 00:51:30,954 --> 00:51:33,190 Si, nuk kemi marrë të gjithë problemin e gabuar? 917 00:51:33,190 --> 00:51:34,190 >> PROFESORI: Jo, jo. 918 00:51:34,190 --> 00:51:34,860 Mos u shqetësoni. 919 00:51:34,860 --> 00:51:39,270 Kjo është në fakt teorikisht e mundur për ju për të marrë pikë të plota në një pyetje 920 00:51:39,270 --> 00:51:41,980 edhe në qoftë se kodi juaj do kurrë nuk të drejtuar në jetën reale. 921 00:51:41,980 --> 00:51:46,052 Unë sugjeroj që ju nuk do të përpiqet për të bërë që të ndodhë. 922 00:51:46,052 --> 00:51:48,260 Për shembull, si në qoftë se çdo gjë kjo është e drejtë këtu është, 923 00:51:48,260 --> 00:51:51,850 por ju harroni një zorrë e trashë ose një parantezë, kodi juaj nuk do të vërtetë të drejtuar. 924 00:51:51,850 --> 00:51:53,740 Por ne mund të jetë i mëshirshëm. 925 00:51:53,740 --> 00:51:54,394 >> Po? 926 00:51:54,394 --> 00:51:56,050 >> Audienca: A keni të komentoni mbi shkrim dore tonë? 927 00:51:56,050 --> 00:51:57,758 >> PROFESORI: Jo, jo, jo shqetësohet për këtë. 928 00:51:57,758 --> 00:51:58,440 Nuk ka komentuar. 929 00:51:58,440 --> 00:51:59,400 Stil duhet të jetë e mirë. 930 00:51:59,400 --> 00:52:01,470 Si, nuk Smush çdo gjë në një linjë. 931 00:52:01,470 --> 00:52:04,580 Ne nuk do të jenë të lumtur me ju, nëse ju bëni këtë. 932 00:52:04,580 --> 00:52:07,250 >> A ka dikush duan të më jep vijën e parë? 933 00:52:07,250 --> 00:52:08,633 Hint, kjo është shumë e lehtë. 934 00:52:08,633 --> 00:52:09,320 >> Po? 935 00:52:09,320 --> 00:52:11,920 >> Audienca: Int, n është e barabartë me zero. 936 00:52:11,920 --> 00:52:13,734 Vetëm ngritur kundër. 937 00:52:13,734 --> 00:52:15,900 PROFESORI: Pra, ne duam disa lloj i një kundër, e drejtë? 938 00:52:15,900 --> 00:52:19,780 Unë jam vetëm duke shkuar për të përmendur atë "numërimin" për hir të lexueshmëri. 939 00:52:19,780 --> 00:52:21,265 Çfarë duam të vendosur atë barabartë me? 940 00:52:21,265 --> 00:52:21,890 >> Audienca: Zero. 941 00:52:21,890 --> 00:52:23,840 PROFESORI: Po. 942 00:52:23,840 --> 00:52:24,340 Pikëpresje. 943 00:52:24,340 --> 00:52:26,250 Është gjithashtu shumë e pazakontë pikpresje vizatim. 944 00:52:26,250 --> 00:52:28,870 Vetëm praktikë bëjnë këtë. 945 00:52:28,870 --> 00:52:31,990 >> Pra, ne duam që së pari të ketë një kundër të tipit int. 946 00:52:31,990 --> 00:52:35,360 Sepse ne duam për të numëruar deri sa shumë karaktere ose letra janë 947 00:52:35,360 --> 00:52:36,780 në këtë varg, e drejtë? 948 00:52:36,780 --> 00:52:38,330 Hapi i parë i lehtë. 949 00:52:38,330 --> 00:52:42,140 >> OK, ndoshta pak më komplekse tani, si do të shkojmë për të bërë këtë? 950 00:52:42,140 --> 00:52:45,400 A ka dikush duan të jepni linjë të kodit 951 00:52:45,400 --> 00:52:48,450 që mund të jetë në gjendje për të ndihmuar lak përmes çfarëdo kjo është? 952 00:52:48,450 --> 00:52:54,540 953 00:52:54,540 --> 00:52:56,900 >> Po, shpirti trim në shpinë? 954 00:52:56,900 --> 00:53:06,832 >> Audienca: OK, kështu që ndërsa pika asterisks, The yeah, ylli i s, 955 00:53:06,832 --> 00:53:09,465 nuk është e barabartë me zero, atëherë bëni diçka? 956 00:53:09,465 --> 00:53:11,090 PROFESORI: Kjo është e vërtetë, të vërtetë të ngushtë. 957 00:53:11,090 --> 00:53:11,835 Të vërtetë afër. 958 00:53:11,835 --> 00:53:13,710 Kështu që unë jam duke shkuar për të adresuar dy gjëra me këtë. 959 00:53:13,710 --> 00:53:18,240 Para së gjithash, kjo nuk është saktësisht zero. 960 00:53:18,240 --> 00:53:20,110 Çfarë është ajo? 961 00:53:20,110 --> 00:53:22,550 Është terminator null, e cila është backslash zero. 962 00:53:22,550 --> 00:53:24,960 Pra, ata janë të ndryshëm në Kushtet e se si ata janë të ruajtura. 963 00:53:24,960 --> 00:53:26,270 Pra, ju jeni të vërtetë afër. 964 00:53:26,270 --> 00:53:30,330 >> Dhe së dyti, ne nuk duam për të vetëm të lëvizur akrep. 965 00:53:30,330 --> 00:53:32,320 Ne duam që në fakt qasje vlerat, e drejtë? 966 00:53:32,320 --> 00:53:34,050 Dhe kështu si do të bëjmë atë? 967 00:53:34,050 --> 00:53:34,550 Shumë e lehtë. 968 00:53:34,550 --> 00:53:36,841 Mos mendoni për pointers, nuk mendojnë për kujtimet. 969 00:53:36,841 --> 00:53:38,525 Kthehu mbrapa në javën e dytë të këtij kursi. 970 00:53:38,525 --> 00:53:39,555 >> Audienca: [padëgjueshme]. 971 00:53:39,555 --> 00:53:40,680 PROFESORI: Që nga, mbani mend? 972 00:53:40,680 --> 00:53:41,400 Cilat janë vargjet? 973 00:53:41,400 --> 00:53:42,650 Si janë ata të ruhen në kujtesën? 974 00:53:42,650 --> 00:53:43,300 >> Audienca: Ata janë ngritur. 975 00:53:43,300 --> 00:53:43,810 >> PROFESORI: Ata janë ngritur. 976 00:53:43,810 --> 00:53:45,550 Pra, si nuk kemi qasje çdo karakter brenda? 977 00:53:45,550 --> 00:53:46,466 >> Audienca: [padëgjueshme]. 978 00:53:46,466 --> 00:53:47,530 PROFESORI: Pikërisht. 979 00:53:47,530 --> 00:53:53,195 Pra while-- çfarë shkon brenda këtu? 980 00:53:53,195 --> 00:53:54,940 S e - 981 00:53:54,940 --> 00:53:55,920 >> Audienca: I. 982 00:53:55,920 --> 00:53:58,216 >> PROFESORI: Oh, unë nuk ekziston, e bën këtë? 983 00:53:58,216 --> 00:53:59,620 >> Audienca: Oh, numërimin? 984 00:53:59,620 --> 00:54:01,640 >> PROFESORI: Ne mund të vetëm përdorin numërimin, nuk mund të kemi? 985 00:54:01,640 --> 00:54:03,050 >> Audienca: Na vjen keq, unë e quajti atë unë. 986 00:54:03,050 --> 00:54:04,341 >> PROFESORI: Po, kjo është e gjitha e mirë. 987 00:54:04,341 --> 00:54:06,710 988 00:54:06,710 --> 00:54:10,760 Ne kemi një ndryshore deri këtu se është tashmë është shpallur si kundër tonë. 989 00:54:10,760 --> 00:54:13,650 Pra, pse nuk kemi vetëm të përdorin atë për të lëvizur nëpër lak, ndërsa? 990 00:54:13,650 --> 00:54:15,230 A ka kjo kuptim? 991 00:54:15,230 --> 00:54:20,864 >> Kështu, ndërsa s e count-- ka njeri të dua për të dhënë mua atë që ndodh pas këtu? 992 00:54:20,864 --> 00:54:22,030 Audienca: Kjo nuk ka të barabartë. 993 00:54:22,030 --> 00:54:23,405 PROFESORI: A nuk të barabartë, e drejtë? 994 00:54:23,405 --> 00:54:26,200 Është zhurmë barabartë, pikë thirrje është e barabartë, 995 00:54:26,200 --> 00:54:28,500 çdo gjë që ju djema doni të e quajti atë nuk equal-- 996 00:54:28,500 --> 00:54:29,496 >> Audienca: [padëgjueshme]. 997 00:54:29,496 --> 00:54:30,990 >> PROFESORI: Po. 998 00:54:30,990 --> 00:54:37,110 Mos harroni kuotë të vetme është për një char, kuotat dyfishtë janë për një varg. 999 00:54:37,110 --> 00:54:38,630 Kini kujdes kur për përdorimin e tyre. 1000 00:54:38,630 --> 00:54:42,430 Pra, kur ne jemi duke kërkuar përmes array, karakteri fundit, 1001 00:54:42,430 --> 00:54:46,420 ne e dimë se ne nuk duam ajo të jetë backslash zero. 1002 00:54:46,420 --> 00:54:47,340 >> Kështu, ndërsa. 1003 00:54:47,340 --> 00:54:48,840 Ne nuk janë në fund të vargut. 1004 00:54:48,840 --> 00:54:52,335 Çfarë duam të bëjmë brenda? 1005 00:54:52,335 --> 00:54:55,269 >> Audienca: Ne duam për të shtuar në counter kështu që numëron plus plus? 1006 00:54:55,269 --> 00:54:56,060 PROFESORI: Pikërisht. 1007 00:54:56,060 --> 00:55:03,064 Pra, këtu ne jemi duke shkuar për të bërë numërimin, numërimin plus plus. 1008 00:55:03,064 --> 00:55:03,980 Missing një rresht më shumë. 1009 00:55:03,980 --> 00:55:05,090 Ne jemi pothuajse atje. 1010 00:55:05,090 --> 00:55:07,398 Çfarë jemi duke harruar të bëjmë? 1011 00:55:07,398 --> 00:55:08,770 >> Audienca: Kthimi zero? 1012 00:55:08,770 --> 00:55:10,820 >> PROFESORI: Ju dëshironi të kthehen zero? 1013 00:55:10,820 --> 00:55:12,962 >> Audienca: Jo, duke u kthyer në strlen. 1014 00:55:12,962 --> 00:55:13,511 Prisni. 1015 00:55:13,511 --> 00:55:14,760 PROFESORI: Cila është ruajtur në? 1016 00:55:14,760 --> 00:55:15,090 AUDIENCA: Pika. 1017 00:55:15,090 --> 00:55:15,589 Count. 1018 00:55:15,589 --> 00:55:17,150 PROFESORI: Pikërisht. 1019 00:55:17,150 --> 00:55:20,760 Pra, këtu ne do të kthehen numërimin. 1020 00:55:20,760 --> 00:55:23,450 1021 00:55:23,450 --> 00:55:25,380 >> Sepse ajo që ne jemi duke bërë këtu ultimately-- 1022 00:55:25,380 --> 00:55:29,780 ne kemi një ndryshore kundër që është duke shkuar për të ardhura nëpër vargun tonë. 1023 00:55:29,780 --> 00:55:33,050 Ne jemi duke shkuar për të mbajtur vazhdim e sipër, të mbajtur shkuar, rreth e rreth në këtë lak. 1024 00:55:33,050 --> 00:55:37,700 Dhe, ndërsa ne nuk jemi në fund të këtij string, e cila është terminator pavlefshëm. 1025 00:55:37,700 --> 00:55:40,410 >> Dhe çdo herë që ne do të shkojmë nëpër ajo, ne jemi duke shtuar në banak tonë. 1026 00:55:40,410 --> 00:55:42,640 Dhe ne jemi duke shkuar më tej së bashku në këtë grup. 1027 00:55:42,640 --> 00:55:44,880 Dhe në fund, pasi ne goditi terminator null, 1028 00:55:44,880 --> 00:55:48,469 ne e dimë, oh, ne mund të pushim, kthehen numërimin. 1029 00:55:48,469 --> 00:55:49,260 Ne kemi strlen tonë. 1030 00:55:49,260 --> 00:55:52,280 1031 00:55:52,280 --> 00:55:56,400 >> Ka marrë të gjithë si kjo u zbatua? 1032 00:55:56,400 --> 00:55:58,830 Ndërsa loops-- Unë e di që ne nuk kemi bërë shumë me ta, 1033 00:55:58,830 --> 00:56:01,240 por ata janë zakonisht të shumë, shumë e dobishme në qoftë se ju 1034 00:56:01,240 --> 00:56:05,390 nuk e di se çfarë jeni duke ndalur kusht domosdoshmërisht duhet të jetë. 1035 00:56:05,390 --> 00:56:06,220 >> Pyetje? 1036 00:56:06,220 --> 00:56:10,080 >> Audienca: A mund të shkruaj null me kusht ndërsa? 1037 00:56:10,080 --> 00:56:10,940 >> PROFESORI: Derisa? 1038 00:56:10,940 --> 00:56:15,304 Yeah, kështu që në këtë problem kam pasur të djema supozojmë se s nuk do të jetë i pavlefshëm. 1039 00:56:15,304 --> 00:56:17,220 Sepse mos harroni, teorikisht, në qoftë se unë ju dha 1040 00:56:17,220 --> 00:56:21,180 një tregues se ishte shumë e madhe e kujtesës, kjo do t'ju japë null, e drejtë? 1041 00:56:21,180 --> 00:56:23,770 Kjo është ajo që operativ sistemi do të bëjë. 1042 00:56:23,770 --> 00:56:26,960 >> Pra, nëse unë nuk ju them për të marrë përsipër s do të jetë i pavlefshëm, ju duhet të kontrolloni. 1043 00:56:26,960 --> 00:56:32,050 Kështu që këtu, ju do të bëni, në qoftë s barabartë barabartë null, kthehet një të tillë. 1044 00:56:32,050 --> 00:56:33,028 Diçka e tillë. 1045 00:56:33,028 --> 00:56:34,153 Audienca: [padëgjueshme] zero. 1046 00:56:34,153 --> 00:56:37,287 1047 00:56:37,287 --> 00:56:39,370 PROFESORI: OK, unë do të tregoj ju pse ne nuk mund ta bëjmë këtë. 1048 00:56:39,370 --> 00:56:43,357 Sepse kujtohet në kujtesën, të drejtë, këtu. 1049 00:56:43,357 --> 00:56:43,940 Ne do të shkojnë këtu. 1050 00:56:43,940 --> 00:56:49,940 1051 00:56:49,940 --> 00:56:54,090 >> Ju keni marrë blloqe gjigante e kujtesës të gjithë me rrjetet 1052 00:56:54,090 --> 00:56:56,680 se dyqan vlera të ndryshme, e drejtë? 1053 00:56:56,680 --> 00:57:00,110 Dhe kështu të gjithë një varg is-- për shembull, në qoftë se ne jemi për të dhëna hello, 1054 00:57:00,110 --> 00:57:05,490 kjo do të jetë H-E-L-L-O backslash zero, e drejtë? 1055 00:57:05,490 --> 00:57:09,570 Dhe pastaj kush e di, si të rastit gjërat që janë në këtu pas saj. 1056 00:57:09,570 --> 00:57:11,220 >> Ne fakt nuk e di se çfarë është atje. 1057 00:57:11,220 --> 00:57:13,350 Dhe kështu që nëse ju do të bëni në vend të backslash zero, 1058 00:57:13,350 --> 00:57:15,590 null, ajo nuk mund të jetë null. 1059 00:57:15,590 --> 00:57:17,680 Për shkak se ajo vetëm mund të nënkuptojë disa gjëra të tjera të rastit 1060 00:57:17,680 --> 00:57:19,270 që nuk i përkasin në varg tuaj. 1061 00:57:19,270 --> 00:57:23,219 Dhe kështu mënyra që ne gjithmonë e dimë se një varg përfundon është me një backslash zero. 1062 00:57:23,219 --> 00:57:25,760 Dhe kështu që është gjithmonë se si ne kontrolloni për të parë fundin e një varg. 1063 00:57:25,760 --> 00:57:30,820 >> Null, gjithçka që do të thotë është nëse keni një tregues jo-ekzistues, para së gjithash, 1064 00:57:30,820 --> 00:57:36,160 ose në qoftë se kujtesa juaj është vetëm aq i madh se ju nuk mund të ktheheni, atëherë ajo do të jetë i pavlefshëm. 1065 00:57:36,160 --> 00:57:40,150 Pra, të jenë shumë të kujdesshëm kur të diferencuar dallimi në mes null 1066 00:57:40,150 --> 00:57:42,130 dhe backslash zero. 1067 00:57:42,130 --> 00:57:43,670 Po. 1068 00:57:43,670 --> 00:57:46,886 >> Gjithkush në rregull me këtë? 1069 00:57:46,886 --> 00:57:48,150 NE RREGULL. 1070 00:57:48,150 --> 00:57:50,440 >> Kështu që unë kam ju djema shkruani nga strlen. 1071 00:57:50,440 --> 00:57:53,790 Feasibly ne mund të pyesni ju shkruani nga A deri I, mbani mend se "Atwoa" 1072 00:57:53,790 --> 00:57:55,400 apo çfarëdo ju djema doni të telefononi atë? 1073 00:57:55,400 --> 00:57:58,010 Që funksionojnë në Vigenere dhe Cezari, që 1074 00:57:58,010 --> 00:58:00,900 konverton një vlerë ASCII për një numër të plotë? 1075 00:58:00,900 --> 00:58:04,360 Që gjithashtu ka dalë në kuize kaluara e funksioneve ne kemi pyetur ju për të shkruar. 1076 00:58:04,360 --> 00:58:08,280 >> Pretty much çdo funksion që e keni përdorur dhe është 1077 00:58:08,280 --> 00:58:11,660 shumë e lehtë për të shkruar vetë, sensorë si është më e ulët, 1078 00:58:11,660 --> 00:58:14,620 është e lartë, për të ulur, në pjesën e sipërme. 1079 00:58:14,620 --> 00:58:17,964 Funksionet që do të konvertohet një string nga shkronja jokapitale në uppercase. 1080 00:58:17,964 --> 00:58:19,380 Ne të gjithë e dimë se si ta bëni atë, e drejtë? 1081 00:58:19,380 --> 00:58:21,100 Është mjaft e lehtë. 1082 00:58:21,100 --> 00:58:24,770 Vetëm dua të bëni të sigurtë që ju të can-- është i njëjti proces mendimi. 1083 00:58:24,770 --> 00:58:26,940 Ju vetëm iterate nëpër dhe ju kthehet gjëra. 1084 00:58:26,940 --> 00:58:30,190 Ju ose numërimin ose kur ju kthejnë gjërat ndryshe. 1085 00:58:30,190 --> 00:58:32,280 >> Unë do të suggest-- I nuk e di nëse ne jemi duke shkuar 1086 00:58:32,280 --> 00:58:39,080 të ju pyes për të mësuar përmendësh çfarë kapitalit A ose Z kapital, apo të vogla Një apo të vogla 1087 00:58:39,080 --> 00:58:42,640 z janë në ASCII, por unë do të sugjeroja mbase shkruar se poshtë në rast 1088 00:58:42,640 --> 00:58:44,124 ne bejme. 1089 00:58:44,124 --> 00:58:45,540 Vetëm kështu që ju djema keni një referencë. 1090 00:58:45,540 --> 00:58:47,180 Ashtu si uppercase Një është, çfarë, 197? 1091 00:58:47,180 --> 00:58:51,320 Dhe pastaj Fjala është si 50 diçka. 1092 00:58:51,320 --> 00:58:52,492 65, vërtet, ju shkoni atje. 1093 00:58:52,492 --> 00:58:54,950 Pra, vetëm shumë e shumë të dini Dallimi në mes tyre është 32. 1094 00:58:54,950 --> 00:58:57,670 Kjo është shumë e rëndësishme. 1095 00:58:57,670 --> 00:58:58,170 Po. 1096 00:58:58,170 --> 00:59:01,445 A jam unë i mirë për këtë? 1097 00:59:01,445 --> 00:59:01,945 NE RREGULL. 1098 00:59:01,945 --> 00:59:03,109 >> Audienca: Ne mund të teorikisht shkruaj disa 1099 00:59:03,109 --> 00:59:04,410 nga këto poshtë, si edhe në little-- tonë 1100 00:59:04,410 --> 00:59:07,035 >> PROFESORI: Ju teorikisht mund vetëm të kopjoni funksionin poshtë. 1101 00:59:07,035 --> 00:59:08,482 Kjo është e vërtetë. 1102 00:59:08,482 --> 00:59:11,080 >> Audienca: Jo [e padëgjueshme]. 1103 00:59:11,080 --> 00:59:12,720 >> PROFESORI: ju djema keni një fletë. 1104 00:59:12,720 --> 00:59:14,194 Ju djema keni një fletë shënim. 1105 00:59:14,194 --> 00:59:14,860 Ju mund të shtypni atë. 1106 00:59:14,860 --> 00:59:15,490 Ju mund të shkruani atë. 1107 00:59:15,490 --> 00:59:17,031 Ju mund të bëni çfarë të doni me të. 1108 00:59:17,031 --> 00:59:18,530 Po. 1109 00:59:18,530 --> 00:59:21,406 Pra teorikisht, nëse ju doni të, të shkojnë për të. 1110 00:59:21,406 --> 00:59:23,338 >> Audienca: [padëgjueshme] por ne nuk të vërtetë 1111 00:59:23,338 --> 00:59:25,994 domosdo duhet të mbani mend vlera, ne mund vetëm 1112 00:59:25,994 --> 00:59:28,914 përdorni për të sipërme ose të Funksioni më i ulët, e drejtë? 1113 00:59:28,914 --> 00:59:29,580 PROFESORI: Po. 1114 00:59:29,580 --> 00:59:32,740 Por nëse ne ju dha një pyetje që thotë se të shkruani në pjesën e sipërme, 1115 00:59:32,740 --> 00:59:34,350 atëherë ju do të duhet për të shkruar atë. 1116 00:59:34,350 --> 00:59:38,150 Kështu që ju djema mund të supozojmë se ju djema keni qasje në të gjitha funksionet, 1117 00:59:38,150 --> 00:59:41,523 por në qoftë se ju doni të përdorni të sipërme ose të më të ulët, çfarë ju gjithashtu keni për të bërë? 1118 00:59:41,523 --> 00:59:43,840 >> Audienca: [padëgjueshme] përdorni CS50 [e padëgjueshme] 1119 00:59:43,840 --> 00:59:44,840 >> PROFESORI: A është CS50.h? 1120 00:59:44,840 --> 00:59:47,320 1121 00:59:47,320 --> 00:59:48,310 Të jenë të kujdesshëm atje. 1122 00:59:48,310 --> 00:59:50,640 >> Pra, për të sipërme, të ulët, është e lartë, është më e ulët, 1123 00:59:50,640 --> 00:59:52,990 funksionet që përfshijnë manipulim string janë 1124 00:59:52,990 --> 00:59:55,490 të gjitha brenda ose në ascii ose brenda bibliotekës matematikës 1125 00:59:55,490 --> 00:59:57,350 ose brenda bibliotekës string. 1126 00:59:57,350 --> 01:00:00,290 Pra, nëse ju djema përdorin ato funksionet, të jenë të kujdesshëm për të kujtuar 1127 01:00:00,290 --> 01:00:01,451 për të përfshirë atë header. 1128 01:00:01,451 --> 01:00:03,950 Pra, ndoshta edhe diçka ju dëshironi që të përfshijë në fletë tuaj, 1129 01:00:03,950 --> 01:00:04,892 çfarë janë header? 1130 01:00:04,892 --> 01:00:06,600 Cilat janë bibliotekat ju keni qenë duke përdorur? 1131 01:00:06,600 --> 01:00:08,550 Cilat janë funksionet brenda këtyre bibliotekat? 1132 01:00:08,550 --> 01:00:09,230 Eshte e rendesishme. 1133 01:00:09,230 --> 01:00:10,420 >> Po? 1134 01:00:10,420 --> 01:00:12,570 >> Audienca: Mund të vetëm polic jashtë dhe të bëjë hashtag 1135 01:00:12,570 --> 01:00:14,955 përmes absolutisht çdo letër ne kemi ndonjëherë 1136 01:00:14,955 --> 01:00:17,340 shihet si në të gjitha pyetjet? 1137 01:00:17,340 --> 01:00:18,320 >> PROFESORI: Ju mund. 1138 01:00:18,320 --> 01:00:20,361 Unë nuk e di se sa të lumtur ne do të jetë në klasën 1139 01:00:20,361 --> 01:00:25,090 që quiz kur çdo pjesë e kodit është dy herë për aq kohë sa ajo duhet të jetë. 1140 01:00:25,090 --> 01:00:27,200 Unë nuk e di, mund të heq një pikë për stilin. 1141 01:00:27,200 --> 01:00:28,790 Por teorikisht tuaj Kodi do të jetë e drejtë. 1142 01:00:28,790 --> 01:00:30,915 Ju djema mund të polic jashtë dhe vetëm përfshijnë çdo gjë. 1143 01:00:30,915 --> 01:00:32,044 Kjo është në rregull shumë, vërtet. 1144 01:00:32,044 --> 01:00:32,960 Audienca: [padëgjueshme]. 1145 01:00:32,960 --> 01:00:33,270 PROFESORI: Po. 1146 01:00:33,270 --> 01:00:34,900 Unë do të sugjeroja të mos e bërë atë pse. 1147 01:00:34,900 --> 01:00:35,505 Po. 1148 01:00:35,505 --> 01:00:36,130 Audienca: Best. 1149 01:00:36,130 --> 01:00:36,620 PROFESORI: Pyetje e mirë. 1150 01:00:36,620 --> 01:00:37,480 Audienca: Pra, skenari më i keq. 1151 01:00:37,480 --> 01:00:38,563 PROFESORI: Rasti më i keq. 1152 01:00:38,563 --> 01:00:40,350 Nëse jeni plotësisht të harrojmë, ju mund të bëni atë. 1153 01:00:40,350 --> 01:00:40,850 Po. 1154 01:00:40,850 --> 01:00:43,870 1155 01:00:43,870 --> 01:00:45,400 >> Yep, kodi është e drejtë atje. 1156 01:00:45,400 --> 01:00:49,176 I përdorur n në vend të numërimit, por, ju e di, çfarëdo gjithandej varkë tuaj. 1157 01:00:49,176 --> 01:00:51,092 Audienca: Prisni, kështu që ne nuk do të duhet të hashtag 1158 01:00:51,092 --> 01:00:53,460 përfshijnë sepse ne jemi duke filluar në int? 1159 01:00:53,460 --> 01:00:56,150 1160 01:00:56,150 --> 01:00:59,924 >> PROFESORI: Po, unë vetëm supozohet se ne u pyetën për të shkruar funksionin. 1161 01:00:59,924 --> 01:01:02,340 Nëse dëshironi që të jetë i sigurt, ju ndoshta mund të vënë atë atje. 1162 01:01:02,340 --> 01:01:05,650 Por unë thjesht nuk u mërzit, po. 1163 01:01:05,650 --> 01:01:09,919 >> Unë nuk e di edhe nëse ju nevojë për ndonjë bibliotekë për këtë. 1164 01:01:09,919 --> 01:01:12,710 Sepse ju nuk jeni me të vërtetë shtypjen nga ndonjë gjë apo ndonjë gjë, apo jo? 1165 01:01:12,710 --> 01:01:16,500 1166 01:01:16,500 --> 01:01:19,568 Po, unë nuk e di nëse ju keni nevojë për një bibliotekë. 1167 01:01:19,568 --> 01:01:22,400 >> NE RREGULL. 1168 01:01:22,400 --> 01:01:26,020 Kjo është gjithashtu një pak më të gjatë linjat e manipulimit të kujtesës. 1169 01:01:26,020 --> 01:01:27,400 Ky lloj i pak i ndërlikuar. 1170 01:01:27,400 --> 01:01:28,960 Mendoni për këtë. 1171 01:01:28,960 --> 01:01:30,580 Ju keni një funksion të quajtur funk. 1172 01:01:30,580 --> 01:01:33,570 Unë mund të ketë quajtur atë çfarëdo, por unë zgjedh për të përmendur atë funk. 1173 01:01:33,570 --> 01:01:36,000 Unë kam atë mbi kryesor ime. 1174 01:01:36,000 --> 01:01:39,790 Mbani mend, ju dëshironi të keni një funksion pas kryesor juaj, 1175 01:01:39,790 --> 01:01:42,370 ju doni të bëni të sigurtë që ju përfshijnë prototip të lartë. 1176 01:01:42,370 --> 01:01:45,750 >> Por në këtë rast ajo ishte aq e shkurtër që unë ndjeva se unë mund vetëm 1177 01:01:45,750 --> 01:01:47,260 të përfshijë atë në majë kryesore. 1178 01:01:47,260 --> 01:01:51,170 Unë nuk duhet të ketë prototip, sepse është shkruar më lart. 1179 01:01:51,170 --> 01:01:55,430 Pra, të gjitha unë jam duke bërë në funksion e mia kryesore po krijon integer x është e barabartë me 10. 1180 01:01:55,430 --> 01:02:00,490 Unë jam duke e quajtur funksionin tim funk, dhe pastaj shtypjen diçka. 1181 01:02:00,490 --> 01:02:02,840 >> Dhe pastaj kjo është në fakt çfarë Func është duke bërë. 1182 01:02:02,840 --> 01:02:04,340 Ju djema doni të mendoni me këtë. 1183 01:02:04,340 --> 01:02:05,423 Për shkak se ajo është pak i ndërlikuar. 1184 01:02:05,423 --> 01:02:07,220 Është shumë, shumë e ndërlikuar, në të vërtetë. 1185 01:02:07,220 --> 01:02:09,549 Mendoni se nëpër çka kjo Programi do të jetë kompjuteri. 1186 01:02:09,549 --> 01:02:10,840 Unë do të ju jap djema dy minuta. 1187 01:02:10,840 --> 01:03:36,660 1188 01:03:36,660 --> 01:03:37,891 >> Diskutimet e mirë? 1189 01:03:37,891 --> 01:03:38,853 >> Audienca: Po. 1190 01:03:38,853 --> 01:03:39,815 >> PROFESORI: Po. 1191 01:03:39,815 --> 01:03:42,220 Të gjithë të drejtë, kështu që kjo është ndërlikuar për një arsye. 1192 01:03:42,220 --> 01:03:44,845 Dhe kjo është arsyeja pse kam kërkuar për të sjellë kjo në vëmendjen e të gjithëve. 1193 01:03:44,845 --> 01:03:47,870 1194 01:03:47,870 --> 01:03:51,147 A ka dikush doni të jepni mua një sugjerim, një përpjekje? 1195 01:03:51,147 --> 01:03:52,230 Çfarë kjo do të shtypura nga? 1196 01:03:52,230 --> 01:03:53,930 Krejtësisht mirë në qoftë se ju jeni të gabuar. 1197 01:03:53,930 --> 01:03:55,619 Po? 1198 01:03:55,619 --> 01:03:59,483 >> Audienca: Unë mendoj se është 100 dhe pastaj 10 në dy linja të veçanta. 1199 01:03:59,483 --> 01:04:00,940 >> PROFESORI: Dhe një 10? 1200 01:04:00,940 --> 01:04:03,154 A ka dikush ndonjë supozime të tjera? 1201 01:04:03,154 --> 01:04:04,150 Po? 1202 01:04:04,150 --> 01:04:09,040 >> Audienca: Ndoshta vetëm 10 për shkak Func nuk është kthyer ndonjë gjë? 1203 01:04:09,040 --> 01:04:11,610 >> PROFESORI: OK, kështu që ne kanë mend numër një 1204 01:04:11,610 --> 01:04:14,990 është se mend numri dy është vetëm do të shtypura nga 10. 1205 01:04:14,990 --> 01:04:17,623 A ka dikush ndonjë supozime të tjera? 1206 01:04:17,623 --> 01:04:19,654 NE RREGULL. 1207 01:04:19,654 --> 01:04:21,070 Pra, le të ecin nëpër këtë, apo jo? 1208 01:04:21,070 --> 01:04:23,903 Kurdo që ju të merrni një pjesë të kodit, mos vetëm shikoni në atë dhe të jetë si, 1209 01:04:23,903 --> 01:04:25,060 ah, kjo është aq shumë gjëra! 1210 01:04:25,060 --> 01:04:26,460 Unë jam kaq i hutuar! 1211 01:04:26,460 --> 01:04:28,220 Si, qetësuar veten poshtë. 1212 01:04:28,220 --> 01:04:31,602 Vetëm e di se ju mund vetëm shikoni përmes linjës kodit nga linjë. 1213 01:04:31,602 --> 01:04:32,310 Kjo është e gjitha ajo është. 1214 01:04:32,310 --> 01:04:33,840 Është si duke lexuar një libër. 1215 01:04:33,840 --> 01:04:38,000 >> Pra, me çdo funksion, ne gjithmonë të fillojë në kryesore. 1216 01:04:38,000 --> 01:04:40,860 Pra, ne jemi duke shkuar për të fillojë në zbrazëti int main, 1217 01:04:40,860 --> 01:04:43,010 edhe programin e së tashmë të drejtuar poshtë, e drejtë? 1218 01:04:43,010 --> 01:04:45,070 Të fillojë në në zbrazëti kryesore. 1219 01:04:45,070 --> 01:04:48,030 Int x është e barabartë me 10. 1220 01:04:48,030 --> 01:04:50,400 >> Kështu që unë jam duke shkuar për të fshirë këtë. 1221 01:04:50,400 --> 01:04:55,179 1222 01:04:55,179 --> 01:04:58,470 Unë jam duke shkuar për të nxjerrë kujtesës vetëm kështu ju djema mund të lloj të shihni se çfarë po ndodh. 1223 01:04:58,470 --> 01:05:02,190 >> Mos harroni poshtë këtu kemi pirg tonë? 1224 01:05:02,190 --> 01:05:05,810 Deri këtu kemi tonë grumbullosh diku këtu. 1225 01:05:05,810 --> 01:05:07,470 Stack rritet, e drejtë? 1226 01:05:07,470 --> 01:05:10,150 Dhe brenda rafte, ju keni nga rrjeti elektrik të funksionuar si edhe 1227 01:05:10,150 --> 01:05:12,230 të gjitha variablave rrjeta lokale. 1228 01:05:12,230 --> 01:05:14,310 >> Kështu që këtu, int x barabartë 10. 1229 01:05:14,310 --> 01:05:17,670 Funksioni ynë kryesor ne jemi duke krijuar një ndryshore të quajtur x. 1230 01:05:17,670 --> 01:05:20,590 Ne jemi vendosjen se e barabartë me 10. 1231 01:05:20,590 --> 01:05:24,200 Këtu ju keni marrë disa x, dhe ju jeni vendosjen që i barabartë deri në 10, të drejtë, 1232 01:05:24,200 --> 01:05:25,400 brenda kryesor. 1233 01:05:25,400 --> 01:05:27,430 Gjithkush mirë? 1234 01:05:27,430 --> 01:05:28,070 >> Funksion. 1235 01:05:28,070 --> 01:05:30,330 Deri tani, brenda kryesore ynë funksion, ne jemi duke e quajtur 1236 01:05:30,330 --> 01:05:31,810 funksioni kemi shkruar më lart. 1237 01:05:31,810 --> 01:05:34,550 Pra, ne jemi tani hyjnë funksionin e dytë. 1238 01:05:34,550 --> 01:05:40,120 Ne jemi duke shkuar për të krijuar një tjetër int ndryshueshme x është e barabartë me 100. 1239 01:05:40,120 --> 01:05:42,410 Çfarë po ndodh këtu në rafte? 1240 01:05:42,410 --> 01:05:46,980 Çfarë ndodh kur ju telefononi një funksion që krijon variabla të reja? 1241 01:05:46,980 --> 01:05:50,038 Çfarë ndodh këtu në rafte? 1242 01:05:50,038 --> 01:05:52,134 >> Audienca: [padëgjueshme] shtyllave në krye? 1243 01:05:52,134 --> 01:05:52,800 PROFESORI: Po. 1244 01:05:52,800 --> 01:05:54,050 Pra, ai në fakt krijon një kopje. 1245 01:05:54,050 --> 01:05:56,560 1246 01:05:56,560 --> 01:05:57,740 Dhe kjo lloj e shtyllave në krye. 1247 01:05:57,740 --> 01:06:00,700 Mendoni e stack-- një pirg e librave, një pirg të çdo gjë. 1248 01:06:00,700 --> 01:06:06,520 Shtyllave në krye, para në të fundit jashtë, të zgjasë në, së pari jashtë. 1249 01:06:06,520 --> 01:06:08,471 >> Pra, kjo do të krijojë një x këtu. 1250 01:06:08,471 --> 01:06:12,080 1251 01:06:12,080 --> 01:06:14,450 >> Që do të ketë Të gjitha funcs variablave. 1252 01:06:14,450 --> 01:06:14,950 I madh. 1253 01:06:14,950 --> 01:06:20,980 Deri tani ne kemi dy Xa të ndryshme që paraqesin dy gjëra shumë të ndryshme. 1254 01:06:20,980 --> 01:06:24,470 Pastaj ne jemi duke shkuar për të shtypur jashtë numër të plotë të x. 1255 01:06:24,470 --> 01:06:26,430 Pra, le të shtypura 100, e drejtë? 1256 01:06:26,430 --> 01:06:29,389 Sepse këtu është 100. 1257 01:06:29,389 --> 01:06:31,680 Pra, kjo është gjëja e parë se ajo do të shtypura jashtë. 1258 01:06:31,680 --> 01:06:35,710 Si kjo asgjë kthimit funksion, tani që funksion, se linja kryesore në 1259 01:06:35,710 --> 01:06:37,070 është bërë. 1260 01:06:37,070 --> 01:06:39,160 Gjithkush e mirë me mua deri tani? 1261 01:06:39,160 --> 01:06:43,034 >> Pra, ne jemi tani përmes dy nga tre linja e funksionit tonë kryesor. 1262 01:06:43,034 --> 01:06:44,450 Tani ne jemi duke shkuar në vijën e tretë. 1263 01:06:44,450 --> 01:06:46,350 Ne jemi duke shkuar për printf. 1264 01:06:46,350 --> 01:06:48,222 Çfarë është kjo x brenda kryesor? 1265 01:06:48,222 --> 01:06:49,263 Çfarë do që përfaqëson? 1266 01:06:49,263 --> 01:06:52,720 1267 01:06:52,720 --> 01:06:54,280 >> Çfarë është vlera e x tani? 1268 01:06:54,280 --> 01:06:55,220 >> Audienca: 100. 1269 01:06:55,220 --> 01:06:56,799 >> PROFESORI: Është 100? 1270 01:06:56,799 --> 01:06:57,590 Audienca: Ende 10. 1271 01:06:57,590 --> 01:06:58,878 PROFESORI: Ende 10. 1272 01:06:58,878 --> 01:07:00,870 Po. 1273 01:07:00,870 --> 01:07:06,810 Sepse mos harroni, brenda Func ynë, x është e barabartë me 100. 1274 01:07:06,810 --> 01:07:09,690 Por në qoftë se ne të kthehet prapa të funksionit tonë kryesor, 1275 01:07:09,690 --> 01:07:12,440 që variabël është ruajtur në një vend tjetër në rafte tonë. 1276 01:07:12,440 --> 01:07:16,250 >> Pra, tani ne kemi nevojë për të shkuar përsëri në rafte kryesor, mbetet ndryshoret lokale. 1277 01:07:16,250 --> 01:07:18,460 Dhe këtu x është e barabartë me 10. 1278 01:07:18,460 --> 01:07:20,300 Dhe kështu që ne jemi duke shkuar për të shkruar jashtë 10. 1279 01:07:20,300 --> 01:07:22,530 >> Pra, ajo ishte absolutisht e drejtë. 1280 01:07:22,530 --> 01:07:25,053 Ne jemi duke shkuar për ketë prodhimi i 100 dhe 10. 1281 01:07:25,053 --> 01:07:25,553 Po? 1282 01:07:25,553 --> 01:07:28,700 Audienca: Kur ju malloc, a është tog apo rafte që është [e padëgjueshme]? 1283 01:07:28,700 --> 01:07:31,950 PROFESORI: Kur ju malloc, ju jeni duke marrë kujtimin nga plehrat 1284 01:07:31,950 --> 01:07:32,830 dhe alokimin atë. 1285 01:07:32,830 --> 01:07:34,950 Kështu që ju nuk keni të luajnë me ndonjë nga këto. 1286 01:07:34,950 --> 01:07:38,100 Kështu që unë mendoj takeaway madhe këtu është diçka që quhet objekti. 1287 01:07:38,100 --> 01:07:39,650 >> Për ata prej jush që ishin në seanca shqyrtimi natën e fundit, 1288 01:07:39,650 --> 01:07:41,080 kemi biseduar shkurtimisht në lidhje me këtë. 1289 01:07:41,080 --> 01:07:45,380 Shtrirja përcakton se si dhe kur variabla tuaj ekzistojnë. 1290 01:07:45,380 --> 01:07:48,050 Ose brenda çfarë korniza bëjnë variabla tuaj ekzistojnë. 1291 01:07:48,050 --> 01:07:51,690 >> Pretty much sundimi i gishtit në përgjithësi është, variables-- juaj në qoftë se keni krijuar ato 1292 01:07:51,690 --> 01:07:56,660 brenda braces-- dredhur ato ekzistojnë vetëm brenda këtyre formatimin e teksteve kaçurrel. 1293 01:07:56,660 --> 01:08:00,312 >> Kështu për shembull, në funksion tonë funk, ju shihni ato dy formatimin e teksteve. 1294 01:08:00,312 --> 01:08:02,020 Nëse ju jeni duke krijuar çdo gjë në brendësi të saj, 1295 01:08:02,020 --> 01:08:06,500 shanset janë të gjithë ju jeni bërë është duke krijuar një pirg dhe ruajtjen se ka. 1296 01:08:06,500 --> 01:08:07,430 E njëjta gjë në kryesore. 1297 01:08:07,430 --> 01:08:09,950 Kjo është ruajtur vetëm brenda kryesor. 1298 01:08:09,950 --> 01:08:13,560 >> Gjithashtu ju duan të jenë të shumë, shumë të kujdesshëm këtu. 1299 01:08:13,560 --> 01:08:18,310 Sepse Shtrirja gjithashtu jep vetë për shembuj të ndryshëm. 1300 01:08:18,310 --> 01:08:25,950 Kështu për shembull një për loop, për int i barabartë me 0. 1301 01:08:25,950 --> 01:08:28,460 Unë është më pak se, unë nuk e di, 10. 1302 01:08:28,460 --> 01:08:32,111 Unë plus plus. 1303 01:08:32,111 --> 01:08:34,560 Dhe ju keni marrë kodin brendësi të saj, e drejtë? 1304 01:08:34,560 --> 01:08:38,830 >> Ku e bën këtë variabël, Unë, në fakt vetëm ekzistojnë? 1305 01:08:38,830 --> 01:08:40,510 Vetëm brenda e juaj për lak. 1306 01:08:40,510 --> 01:08:43,640 Kështu që unë bast shumë nga ju djema kanë ndoshta hasur këtë gabim kur 1307 01:08:43,640 --> 01:08:45,930 ju jeni duke bërë programet në psets tuaj. 1308 01:08:45,930 --> 01:08:49,990 Sa nga ju djema janë përpjekur të përdorin I jashtë e një për lak dhe kishte një gabim? 1309 01:08:49,990 --> 01:08:53,310 Ashtu si një integers unreferenced ose diçka të tillë? 1310 01:08:53,310 --> 01:08:56,069 >> Arsyeja pse kjo ndodh është për shkak se ju jeni këtu 1311 01:08:56,069 --> 01:08:59,109 duke krijuar diçka që vetëm ekziston brenda tuaj për lak. 1312 01:08:59,109 --> 01:09:01,972 Dhe në qoftë se ju të përpiqen të përdorin atë, unë nuk e bën në fakt ekzistojnë jashtë saj. 1313 01:09:01,972 --> 01:09:04,930 Pra, në thelb një kompjuter '' Unë nuk e di se çfarë jeni duke folur rreth. 1314 01:09:04,930 --> 01:09:08,689 Gjithë çka di është se një i ishte këtu, por tani nuk është më. 1315 01:09:08,689 --> 01:09:12,580 >> Pra, nëse unë do të krijoj një për lak brenda, apo jo? 1316 01:09:12,580 --> 01:09:19,080 Dhe unë jam duke shkuar për të krijuar një tjetër, si int j, dhe e kanë atë të bëjë çdo gjë. 1317 01:09:19,080 --> 01:09:23,689 Dhe ju keni një kod brenda e që loop, j ekziston vetëm këtu. 1318 01:09:23,689 --> 01:09:26,029 Por ekziston edhe brenda i. 1319 01:09:26,029 --> 01:09:29,310 Dhe kështu j ekziston vetëm brenda këtë për lak, 1320 01:09:29,310 --> 01:09:33,850 kurse unë ekziston në të gjithë gjë. 1321 01:09:33,850 --> 01:09:34,500 >> Gjithkush qartë? 1322 01:09:34,500 --> 01:09:37,416 E njëjta gjë me deklaratat e kushtëzuara në qoftë se ju doni të krijoni asgjë. 1323 01:09:37,416 --> 01:09:40,390 E njëjta gjë me sythe ndërsa nëse ju doni të krijoni asgjë. 1324 01:09:40,390 --> 01:09:42,390 Kjo është diçka që të jetë shumë, shumë të kujdesshëm në lidhje. 1325 01:09:42,390 --> 01:09:45,681 Pra, ky ishte një problem me të vërtetë mirë në ndjejnë se ajo demonstroi dy gjëra. 1326 01:09:45,681 --> 01:09:47,160 Ai tregoi për herë të parë, qëllimin. 1327 01:09:47,160 --> 01:09:49,550 Dhe ajo demonstroi gjithashtu kujtese. 1328 01:09:49,550 --> 01:09:54,130 Sepse ju djema duhet të dini se Funksionet rritet lart në rafte. 1329 01:09:54,130 --> 01:09:56,710 Dhe se kur ju telefononi funksionet, ju jeni duke krijuar 1330 01:09:56,710 --> 01:09:59,060 në thelb një pirg i ri i kujtesës. 1331 01:09:59,060 --> 01:10:02,100 Kjo është shumë e ndryshme nga çfarë mbetet kujtesa juaj është. 1332 01:10:02,100 --> 01:10:03,300 Po. 1333 01:10:03,300 --> 01:10:03,800 Uf! 1334 01:10:03,800 --> 01:10:05,470 Gjithkush OK për këtë? 1335 01:10:05,470 --> 01:10:06,750 Kjo ishte konfuze. 1336 01:10:06,750 --> 01:10:09,380 Tema shumë të mirë për të shkuar mbi, sepse ju jeni me siguri 1337 01:10:09,380 --> 01:10:12,255 do të merrni disa ndërlikuar gjëra të tilla si që në quiz. 1338 01:10:12,255 --> 01:10:13,350 Po. 1339 01:10:13,350 --> 01:10:13,850 Ftohtë. 1340 01:10:13,850 --> 01:10:16,014 1341 01:10:16,014 --> 01:10:18,430 Unë do të vënë ju të merrni 100 në një Linja dhe pastaj 10 në tjetrën. 1342 01:10:18,430 --> 01:10:21,468 Po, shumë i mirë. 1343 01:10:21,468 --> 01:10:26,350 >> OK, tani ju djema do të merrni mundësi të jenë Tas. 1344 01:10:26,350 --> 01:10:30,600 Ju merrni për t'iu përgjigjur të gjitha bukuroshe email që unë ndonjëherë merrni. 1345 01:10:30,600 --> 01:10:34,290 >> Pra, I dashur Andi, unë shoh unë mendoj se diçka është do të gabuar me përpiluesit time. 1346 01:10:34,290 --> 01:10:37,910 Unë jam i sigurt se kodi im është i saktë, por unë mbaj marrë një defekt segmentimit 1347 01:10:37,910 --> 01:10:39,074 çdo herë që unë të kandidojë. 1348 01:10:39,074 --> 01:10:39,740 Çfarë po ndodh? 1349 01:10:39,740 --> 01:10:42,844 Ju lutemi ndihmoni, shumë e dashurisë. 1350 01:10:42,844 --> 01:10:45,740 1351 01:10:45,740 --> 01:10:49,410 >> Në qoftë se ju djema mori diçka si se si do të përgjigjet? 1352 01:10:49,410 --> 01:10:51,860 Këto janë në fakt shumë të zakonshme pyetje ne do të ju pyes. 1353 01:10:51,860 --> 01:10:54,090 Është në qoftë se, ne do të ju jap një skenar, ne do të na japin 1354 01:10:54,090 --> 01:10:56,350 me mend tuaj më të mirë në atë që po ndodh. 1355 01:10:56,350 --> 01:11:00,710 Çdokush kanë një goditje me thikë në çfarë po ndodh? 1356 01:11:00,710 --> 01:11:02,654 Po? 1357 01:11:02,654 --> 01:11:06,056 >> Audienca: Ndoshta dereferenced null, diçka si akrep 1358 01:11:06,056 --> 01:11:08,924 është vënë në diçka null. 1359 01:11:08,924 --> 01:11:11,590 PROFESORI: Po, kjo do të jetë një shembull kur kjo do të ndodhë. 1360 01:11:11,590 --> 01:11:14,467 Por ajo që është më e madhe foto e çfarë po ndodh këtu? 1361 01:11:14,467 --> 01:11:17,050 Audienca: A është e jeni duke u përpjekur për të hyrë në kujtesën se ju nuk jeni 1362 01:11:17,050 --> 01:11:18,175 supozohet të kenë qasje në? 1363 01:11:18,175 --> 01:11:19,200 PROFESORI: Pikërisht. 1364 01:11:19,200 --> 01:11:24,800 Pra, mendoni për një faj Seg, një off kufijtë, zonë të kufizuar në kujtesën 1365 01:11:24,800 --> 01:11:27,780 që ju nuk duhet të jetë prekur. 1366 01:11:27,780 --> 01:11:31,670 >> Pra, shumë e shumë, kur jeni duke u përpjekur për index-- si për shembull, 1367 01:11:31,670 --> 01:11:34,110 ju keni deklaruar një grup prej zero deri në nëntë. 1368 01:11:34,110 --> 01:11:37,360 Por ju të përpiqet për të prekur atë 10th vlera, ju nuk keni qasje në këtë. 1369 01:11:37,360 --> 01:11:38,694 Sepse ju nuk e kanë deklaruar atë. 1370 01:11:38,694 --> 01:11:40,943 Dhe kështu që kompjuteri juaj është duke shkuar për të parë në se të jetë si, 1371 01:11:40,943 --> 01:11:43,440 uh oh, ju jeni duke u përpjekur për të shkuar jashtë kufijve të një indeksi. 1372 01:11:43,440 --> 01:11:45,270 Unë jam duke shkuar për të ju jap një faji segmentimit. 1373 01:11:45,270 --> 01:11:46,590 >> E mendojmë si segment, e drejtë? 1374 01:11:46,590 --> 01:11:49,665 Një segment shtesë, faji është kur ju përpiqeni të shkelin diçka 1375 01:11:49,665 --> 01:11:50,790 dhe ju nuk duhet të jetë atje. 1376 01:11:50,790 --> 01:11:53,660 Faji Segmentimi është në çdo kohë ju përpiqen për të prekur gjërat 1377 01:11:53,660 --> 01:11:54,970 që ju nuk duhet të jetë prekur. 1378 01:11:54,970 --> 01:11:56,815 >> Shembuj Pra zakonshme janë një indeks. 1379 01:11:56,815 --> 01:11:58,940 Sigurisht, në qoftë se jeni duke u përpjekur për të prekur se ishte null, 1380 01:11:58,940 --> 01:12:00,220 që do të punojë si edhe. 1381 01:12:00,220 --> 01:12:02,300 Nëse treguesin juaj është duke u përpjekur për prek gjëra që nuk duhet të prekë, 1382 01:12:02,300 --> 01:12:03,730 që do të mund të punojnë edhe si. 1383 01:12:03,730 --> 01:12:07,120 Më zakonisht ju do të shihni këtë në një rrjet. 1384 01:12:07,120 --> 01:12:07,740 Gjithkush mirë? 1385 01:12:07,740 --> 01:12:10,374 >> Audienca: Pra, nëse ju doni për të hyrë në pikën 10 1386 01:12:10,374 --> 01:12:12,290 dhe ka vetëm një kufi e nëntë apo diçka. 1387 01:12:12,290 --> 01:12:13,160 >> PROFESORI: Po, pikërisht. 1388 01:12:13,160 --> 01:12:13,660 Pak a shume. 1389 01:12:13,660 --> 01:12:15,930 1390 01:12:15,930 --> 01:12:16,430 Ftohtë. 1391 01:12:16,430 --> 01:12:19,070 1392 01:12:19,070 --> 01:12:19,920 >> I dashur Andi. 1393 01:12:19,920 --> 01:12:23,440 Pra, ne kemi marrë këto të mrekullueshme gjëra quajtur llojet. 1394 01:12:23,440 --> 01:12:25,472 Nëse Merge sort-- si ne pa në shembullin kur është 1395 01:12:25,472 --> 01:12:27,180 Davidi e bëri të gjithë gjë në class-- pse, 1396 01:12:27,180 --> 01:12:29,760 nëse ajo është aq shumë më shpejt se ndonjë nga llojet e tjera, 1397 01:12:29,760 --> 01:12:33,310 pse nuk kemi shqetësojë edhe duke e ditur ndonjë nga llojet e tjera? 1398 01:12:33,310 --> 01:12:35,100 >> Çfarë është kjo pyetje me të vërtetë duke kërkuar ju? 1399 01:12:35,100 --> 01:12:36,659 Çfarë është tre word-- 1400 01:12:36,659 --> 01:12:37,950 Audienca: Cila është tregti-off? 1401 01:12:37,950 --> 01:12:38,530 PROFESORI: Pikërisht. 1402 01:12:38,530 --> 01:12:39,946 Kjo është ajo që është duke i kërkuar pyetjen. 1403 01:12:39,946 --> 01:12:43,682 Çfarë është tregti-off mes Merge lloj vargje çdo llojet e tjera? 1404 01:12:43,682 --> 01:12:45,850 >> Audienca: Merr kujtesës, e drejtë? 1405 01:12:45,850 --> 01:12:47,720 >> PROFESORI: A ju të shpjegojë se pak më shumë? 1406 01:12:47,720 --> 01:12:49,490 Së pari le të shpjegojmë dyqan bashkohen. 1407 01:12:49,490 --> 01:12:50,970 Si funksionon bashkojë lloj punë? 1408 01:12:50,970 --> 01:12:55,220 >> Audienca: Pra, ajo punon nga duke e ndarë gjithçka në gjysmën e 1409 01:12:55,220 --> 01:13:00,660 dhe pastaj të vënë atë së bashku dhe rishpërndarja atë në mënyrë, 1410 01:13:00,660 --> 01:13:02,862 si çdo herë ju bashkojë vendos. 1411 01:13:02,862 --> 01:13:03,820 PROFESORI: Pretty much. 1412 01:13:03,820 --> 01:13:06,861 Kështu që unë mund të tërheqë këtë jashtë, por ajo do të kap për mua pesë minuta për të nxjerrë atë jashtë. 1413 01:13:06,861 --> 01:13:10,220 Shikojnë prapa në të slides seksion ku kemi mbuluar bashkojë lloj. 1414 01:13:10,220 --> 01:13:10,790 Pikërisht. 1415 01:13:10,790 --> 01:13:13,406 >> Pra, mënyra Merge vepra Renditur është ajo ndan gjërat në gjysmë, 1416 01:13:13,406 --> 01:13:15,780 dhe pastaj ajo vetëm duket më së Vlerat e para të të gjithë ata 1417 01:13:15,780 --> 01:13:17,000 dhe llojet vetëm kaq. 1418 01:13:17,000 --> 01:13:20,364 Vazhdimisht krijon vargjeve të reja dhe vë gjëra gjithnjë e më shumë në rregull. 1419 01:13:20,364 --> 01:13:23,030 Dhe kështu, ndërsa kjo është e vërtetë, të vërtetë shpejt sepse it's-- ju e dini, 1420 01:13:23,030 --> 01:13:25,380 Një kërkim binar është n log n. 1421 01:13:25,380 --> 01:13:27,880 Ju jeni duke krijuar kaq shumë vargjeve të ndryshme që ju jeni 1422 01:13:27,880 --> 01:13:29,700 duke përdorur një sasi të madhe të kujtesës. 1423 01:13:29,700 --> 01:13:33,080 Dhe kështu, ndërsa ajo është më e shpejtë, tregtia jashtë këtu është që ju jeni duke përdorur më shumë memorie. 1424 01:13:33,080 --> 01:13:38,490 >> Dhe kështu, aluzion, llojet dhe kërkimet janë mbuluar shumë më tepër këtë vit 1425 01:13:38,490 --> 01:13:41,610 se ata kanë qenë në vitet e mëparshme. 1426 01:13:41,610 --> 01:13:45,100 Ju djema duhet të shohin se reflektuar në përputhje me rrethanat në quiz. 1427 01:13:45,100 --> 01:13:49,160 Unë patjetër do të kalojnë kohën e shkuar mbi atë që të gjithë e llojet e ndryshme 1428 01:13:49,160 --> 01:13:52,320 janë, kërko si binar, si lineare punë kërkimit. 1429 01:13:52,320 --> 01:13:54,750 Si të ndoshta pseudokod kod ato jashtë. 1430 01:13:54,750 --> 01:13:55,950 Cilat janë kohët running? 1431 01:13:55,950 --> 01:13:59,210 Diçka si kohë running është shumë të lehtë për të kopjoni poshtë mbi një fletë shënim, 1432 01:13:59,210 --> 01:13:59,710 e drejtë? 1433 01:13:59,710 --> 01:14:01,420 >> Është e vërtetë e vështirë kur ju jeni në mes testi 1434 01:14:01,420 --> 01:14:02,390 dhe ju duhet të kuptoj se nga. 1435 01:14:02,390 --> 01:14:03,160 Kopje atë poshtë. 1436 01:14:03,160 --> 01:14:05,550 Unë ju garantoj se ju jeni do të duhet të dini se. 1437 01:14:05,550 --> 01:14:06,860 Cilat janë tregtisë të humbura? 1438 01:14:06,860 --> 01:14:10,064 Rastin më të keq, skenarët më të mira rast për të gjithë ata, shumë të marrë të dini. 1439 01:14:10,064 --> 01:14:10,564 Po? 1440 01:14:10,564 --> 01:14:12,730 >> Audienca: A kemi nevojë për të e di se si të kodit bashkojë lloj? 1441 01:14:12,730 --> 01:14:15,470 Si, nuk kemi nevojë për të kujtohet rekursive? 1442 01:14:15,470 --> 01:14:18,950 >> PROFESORI: I highly dyshim atë, vetëm sepse kjo është si mjaft e komplikuar. 1443 01:14:18,950 --> 01:14:22,282 Por kjo nuk mund të jetë e parealizueshme në qoftë se ne kërkoj nga ju që të përdorin pseudokod atë. 1444 01:14:22,282 --> 01:14:22,781 Po. 1445 01:14:22,781 --> 01:14:25,470 1446 01:14:25,470 --> 01:14:29,170 >> Po, OK, një më shumë. 1447 01:14:29,170 --> 01:14:31,387 Kjo mund të ketë ardhur deri në ju pjesa e fundit në një grimë. 1448 01:14:31,387 --> 01:14:42,101 1449 01:14:42,101 --> 01:14:43,090 Po? 1450 01:14:43,090 --> 01:14:44,930 Ka dëgjuar të gjithë këtë? 1451 01:14:44,930 --> 01:14:48,360 >> OK, kështu që shumë e shumë e parë e të gjithë, se çfarë lloj programi 1452 01:14:48,360 --> 01:14:51,000 do të jetë duke ju dhënë një prodhim si kjo? 1453 01:14:51,000 --> 01:14:54,350 Mos harroni ne pyetur ju për të mësuar rreth Ky lloj i ri i debugging mjet? 1454 01:14:54,350 --> 01:14:57,340 Cili ishte emri i saj? 1455 01:14:57,340 --> 01:14:59,460 Interfaqe e Valgrind, e drejtë 1456 01:14:59,460 --> 01:15:02,600 >> Kjo ishte një program ku ju mund të telefononi atë mund 1457 01:15:02,600 --> 01:15:05,940 mbajnë gjurmët e të gjithë kujtesën e ju jeni përdorur në programin tuaj dhe po ndodhte. 1458 01:15:05,940 --> 01:15:11,090 Pra, nëse ju keni marrë diçka, si, patjetër të humbur, 40 bytes në një bllok. 1459 01:15:11,090 --> 01:15:14,870 Ndoshta ju nuk jeni kujtohet për të liruar atë. 1460 01:15:14,870 --> 01:15:18,710 Sepse në qoftë se ju jeni duke përdorur byte memorje, që do të thotë që ju keni në disponim që kujtesën, 1461 01:15:18,710 --> 01:15:20,240 por ju nuk keni qenë në gjendje të lirë. 1462 01:15:20,240 --> 01:15:21,948 Pra, ju doni të bëni Sigurohuni që ju jeni gjithashtu 1463 01:15:21,948 --> 01:15:31,420 duke përdorur free-- kjo është një function-- për të liruar të gjithë 1464 01:15:31,420 --> 01:15:34,930 e kujtesës rialokuar nga malloc. 1465 01:15:34,930 --> 01:15:35,500 >> Ftohtë. 1466 01:15:35,500 --> 01:15:37,140 Pra me këtë rrëshqitje, unë do të duhet atë. 1467 01:15:37,140 --> 01:15:41,050 Kjo është kudo në një shumë të ligjërata, në një shumë prej slides seksioni. 1468 01:15:41,050 --> 01:15:44,254 Ju me të vërtetë dëshironi të bëni të sigurtë ju vetëm e di se të gjithë këtë. 1469 01:15:44,254 --> 01:15:47,170 Ose në fletë tuaj shënimin ose nëse ju duan për të mësuar përmendësh atë, të ndjehen të lirë për të. 1470 01:15:47,170 --> 01:15:48,836 Kjo është e vërtetë, të vërtetë, të vërtetë e rëndësishme. 1471 01:15:48,836 --> 01:15:53,200 1472 01:15:53,200 --> 01:15:56,890 >> Gjithashtu një shumë të mirë Pyetja që mund të pyesim. 1473 01:15:56,890 --> 01:16:00,320 Pse është zgjedhja sort-- vështrim në Përzgjedhja sort-- gjitha runtimes 1474 01:16:00,320 --> 01:16:02,060 janë katror n. 1475 01:16:02,060 --> 01:16:06,714 Pavarësisht se si lista vjen në ju si, kështu që pse është zgjedhja sort-- 1476 01:16:06,714 --> 01:16:08,630 Unë do të ju jap djema 30 i dyti mendoj për këtë. 1477 01:16:08,630 --> 01:16:10,700 Sepse kjo është lloj i konfuze. 1478 01:16:10,700 --> 01:16:12,710 Ajo përfshin disa menduar konceptuale. 1479 01:16:12,710 --> 01:16:16,470 Pse do herë drejtuar të jenë të njëjta në edhe më të keq dhe më të mira skenarët e rastit? 1480 01:16:16,470 --> 01:16:28,850 1481 01:16:28,850 --> 01:16:30,000 >> Po? 1482 01:16:30,000 --> 01:16:38,084 >> Audienca: Sepse Përzgjedhja lloj çdo pozitë apo hapësirë ​​në këtë grup të vogël 1483 01:16:38,084 --> 01:16:40,350 gjë apo çfarëdo. 1484 01:16:40,350 --> 01:16:44,430 Pra, edhe në rastin më të mirë, edhe në qoftë se është e renditura në mënyrë të përkryer, 1485 01:16:44,430 --> 01:16:47,380 ai ende do të duhet të jetë si, OK, një. 1486 01:16:47,380 --> 01:16:49,000 Në vendin tim të parë unë kam një të tillë. 1487 01:16:49,000 --> 01:16:50,250 Dhe të kalojnë nëpër të gjitha prej tyre. 1488 01:16:50,250 --> 01:16:51,249 OK, njëra është më i vogël. 1489 01:16:51,249 --> 01:16:53,053 Dhe pastaj ajo shkon përsëri dhe është si, OK, dy 1490 01:16:53,053 --> 01:16:54,594 është më i vogël gjitha gjëra. 1491 01:16:54,594 --> 01:16:56,804 Por ajo ende ka për të kontrolloni çdo njëri. 1492 01:16:56,804 --> 01:16:57,470 PROFESORI: Po. 1493 01:16:57,470 --> 01:17:00,490 Kështu për shembull, le të them vetëm Ne kemi një listë, të renditura tashmë, 1494 01:17:00,490 --> 01:17:03,390 një koleksion një deri në pesë. 1495 01:17:03,390 --> 01:17:07,100 Mënyra se llojet zgjedhja është se ajo shkon përmes, ajo kontrollon këto dy. 1496 01:17:07,100 --> 01:17:08,234 Atëherë ajo kontrollon ata të dy. 1497 01:17:08,234 --> 01:17:09,650 Dhe pastaj ajo kontrollon, dhe ajo kontrollon. 1498 01:17:09,650 --> 01:17:13,285 Ajo mban kontrollin gjithë prej tyre, pavarësisht nëse janë apo jo 1499 01:17:13,285 --> 01:17:14,160 është e renditura në fakt. 1500 01:17:14,160 --> 01:17:16,450 Sepse kjo është thjesht mënyra lloj punon. 1501 01:17:16,450 --> 01:17:19,530 >> Dhe kështu kjo çështje është lloj i si një pyetje konceptual ne do të pyesim. 1502 01:17:19,530 --> 01:17:21,430 Ku për herë të parë, që ju të e di se çfarë lloj Selection 1503 01:17:21,430 --> 01:17:23,304 është e drejtë, që të jetë në gjendje për t'iu përgjigjur pyetjes. 1504 01:17:23,304 --> 01:17:26,200 Ju duhet të jetë në gjendje për të kuptuar konceptualisht se çfarë po ndodh. 1505 01:17:26,200 --> 01:17:30,760 Dhe pastaj ju mund të aplikoni atë dhe të mendojnë, OK Le të imagjinojmë skenarin më të keq. 1506 01:17:30,760 --> 01:17:32,230 Ata janë të gjithë në rend zbritës. 1507 01:17:32,230 --> 01:17:33,290 Si do që të ndikojë atë? 1508 01:17:33,290 --> 01:17:34,650 >> Çfarë nëse është e Ascending order? 1509 01:17:34,650 --> 01:17:35,640 Në qoftë se kjo është renditur tashmë? 1510 01:17:35,640 --> 01:17:37,240 Si do që të ndikojë në runtimes? 1511 01:17:37,240 --> 01:17:40,270 Dhe pastaj Përzgjedhja lloj, ju do të vëreni se ai nuk ka të vërtetë rëndësi. 1512 01:17:40,270 --> 01:17:43,500 Sepse ju jeni duke kontrolluar të gjithë Vlerat pavarësisht nga ajo që po ndodh. 1513 01:17:43,500 --> 01:17:45,810 >> Dhe kështu gjëra të mira për të kujtuar. 1514 01:17:45,810 --> 01:17:50,290 Pse disa llojet ndryshojnë nga të tjerët dhe sa më të mirë dhe rastin më të keq 1515 01:17:50,290 --> 01:17:52,740 do të ndikojë në të gjitha prej tyre. 1516 01:17:52,740 --> 01:17:56,700 >> Unë jam duke shkuar për të goditur me të vërtetë në terezi sepse kjo do të jetë në quiz. 1517 01:17:56,700 --> 01:17:57,199 Po. 1518 01:17:57,199 --> 01:18:00,820 1519 01:18:00,820 --> 01:18:01,320 NE RREGULL. 1520 01:18:01,320 --> 01:18:05,590 Ka gjashtë minuta mbetur. 1521 01:18:05,590 --> 01:18:09,880 Unë mund të marrë tre minuta pyetje. 1522 01:18:09,880 --> 01:18:12,290 Unë gjithashtu mund të sorollatem për si 20 minuta pas seksionit 1523 01:18:12,290 --> 01:18:13,850 në qoftë se ju doni të bëni pyetje si. 1524 01:18:13,850 --> 01:18:16,330 A ka dikush thjesht duhet të vërtetë të shkurtër pyetje apo çështje konceptuale 1525 01:18:16,330 --> 01:18:17,360 ata janë të paqartë në lidhje me tani? 1526 01:18:17,360 --> 01:18:17,832 Po? 1527 01:18:17,832 --> 01:18:19,720 >> Audienca: A mund të flasim pak bit për operatorët bitwise? 1528 01:18:19,720 --> 01:18:20,280 >> PROFESORI: Po. 1529 01:18:20,280 --> 01:18:22,446 Operatorët Pra bitwise janë diçka që ju ndoshta 1530 01:18:22,446 --> 01:18:24,170 mund të dëshironi vetëm për të vënë në fletë tuaj. 1531 01:18:24,170 --> 01:18:27,540 Kështu quickly-- unë nuk dua për të shkuar shumë në thellësi 1532 01:18:27,540 --> 01:18:31,164 sepse Harvard, në shqyrtimin e tyre Seanca, e mbuloi mjaft mirë. 1533 01:18:31,164 --> 01:18:33,080 Operatori bitwise, ka pesë prej tyre, e drejtë? 1534 01:18:33,080 --> 01:18:41,370 >> Nuk është kjo, e cila është e x apo funksion, ka simbol, e cila është e. 1535 01:18:41,370 --> 01:18:44,050 Tub, e cila është or. 1536 01:18:44,050 --> 01:18:46,790 Dhe atëherë ju keni dy lloje të ndryshme të ndërrime. 1537 01:18:46,790 --> 01:18:50,610 >> Nëse unë ju jap dy vlera, nëse është Unë ju jap, si, një dhe një. 1538 01:18:50,610 --> 01:18:52,390 Çfarë do që të vlerësojë të? 1539 01:18:52,390 --> 01:18:55,490 Nëse unë ju jap vërtetë dhe e vërtetë, e vërtetë? 1540 01:18:55,490 --> 01:18:56,930 Po në lidhje vërtetë apo e rreme? 1541 01:18:56,930 --> 01:18:57,830 Ende e vërtetë, e drejtë? 1542 01:18:57,830 --> 01:18:59,762 Sepse ka një ose. 1543 01:18:59,762 --> 01:19:01,220 Ne do të më shumë gjasa të ju jap numrat. 1544 01:19:01,220 --> 01:19:03,780 Pra mbani mend, një është e barabartë vërtetë, është e barabartë me zero rreme. 1545 01:19:03,780 --> 01:19:07,407 Dhe ne mund të ju jap këto gjëra dhe t'ju kërkojë të na tregoni se çfarë ndodh. 1546 01:19:07,407 --> 01:19:10,240 Harvard mbulon atë brenda e parë 10 minuta të sesionit të tyre të studimit 1547 01:19:10,240 --> 01:19:11,230 me të vërtetë, me të vërtetë mirë. 1548 01:19:11,230 --> 01:19:14,260 Kështu që ju djema doni të bëni i sigurt që ju të shikojnë prapa në atë. 1549 01:19:14,260 --> 01:19:16,387 >> Audienca: A është pisa5 do të jetë në quiz? 1550 01:19:16,387 --> 01:19:16,970 PROFESORI: Jo. 1551 01:19:16,970 --> 01:19:18,240 Mos shikoni edhe në pisa5 tani. 1552 01:19:18,240 --> 01:19:18,810 Është e vështirë. 1553 01:19:18,810 --> 01:19:22,830 Vetëm mos shqetësojë edhe duke kërkuar në pisa5. 1554 01:19:22,830 --> 01:19:25,665 >> Megjithatë, si disa lë të kuptohet dhe sugjerime, unë 1555 01:19:25,665 --> 01:19:28,320 do të sugjeroj që ju të filloni pisa5 sa më shpejt që quiz është e gjatë. 1556 01:19:28,320 --> 01:19:30,319 Kjo do të jetë e vështirë javë, por pastaj ju djema 1557 01:19:30,319 --> 01:19:34,590 do të kalojë atë në kodrat e kodrina gjelbër dhe puppies, 1558 01:19:34,590 --> 01:19:36,115 dhe kjo është në rregull. 1559 01:19:36,115 --> 01:19:39,810 >> Kjo klasë merr rëndësishëm më e lehtë pas pset pestë. 1560 01:19:39,810 --> 01:19:41,560 Orari i punës: AUDIENCA janë e diela, e hënë? 1561 01:19:41,560 --> 01:19:44,260 PROFESORI: Yeah, kështu orarit të punës do të e diela deri të hënën për pset. 1562 01:19:44,260 --> 01:19:47,009 Orarit të punës në thelb Tonight do të jetë vetëm për shqyrtim quiz. 1563 01:19:47,009 --> 01:19:50,350 Nëse ndokush dëshiron të vijë në dhe të kërkojë Tas një pyetje, ne do të jemi atje. 1564 01:19:50,350 --> 01:19:53,220 >> Unë do të marrë ndoshta një shumë pyetje nëse dikush ka një pyetje? 1565 01:19:53,220 --> 01:19:53,809 Po? 1566 01:19:53,809 --> 01:19:55,850 Audienca: Kur ju jeni nyjet që përcaktojnë, [e padëgjueshme] 1567 01:19:55,850 --> 01:20:00,700 në qoftë se ju thonë yll nyje dhe pastaj e ardhshme, bën kompjuteri automatikisht 1568 01:20:00,700 --> 01:20:03,610 e kuptoj se ju jeni duke iu referuar një akrep? 1569 01:20:03,610 --> 01:20:04,580 >> PROFESORI: Jo. 1570 01:20:04,580 --> 01:20:06,710 >> Audienca: Ju duhet të relink ajo [e padëgjueshme]? 1571 01:20:06,710 --> 01:20:09,270 >> PROFESORI: Pra, në thelb struct e një nyje është, mos harroni, 1572 01:20:09,270 --> 01:20:12,620 është si keni krijuar nyjen dhe atëherë ju keni një tregues të quajtur tjetër. 1573 01:20:12,620 --> 01:20:14,630 Të gjithë ju jeni bërë është të paturit struktura atje. 1574 01:20:14,630 --> 01:20:16,387 Ju duhet të caktojë se treguesin diku. 1575 01:20:16,387 --> 01:20:18,470 Pra, kompjuterët nuk ka e di se çfarë është bërë ende. 1576 01:20:18,470 --> 01:20:20,250 Ju duhet të vërtetë të caktojë atë kur ju jeni duke krijuar listën tuaj lidhur. 1577 01:20:20,250 --> 01:20:22,170 Dhe kjo është ajo që kryesisht pset 5 do të jetë në. 1578 01:20:22,170 --> 01:20:24,106 Kështu që nuk ka shqetësime në lidhje me ndonjë nga se tani. 1579 01:20:24,106 --> 01:20:26,380 >> Audienca: Pra, ne nuk kemi nevojë të përqëndrohet shumë në listën Lidhje, vetëm 1580 01:20:26,380 --> 01:20:27,440 koncepti i përgjithshëm? 1581 01:20:27,440 --> 01:20:30,980 >> PROFESORI: Vetëm oxhaqet shumë e shumë, rradhë, listat Lidhje, pemët, tavolina hash. 1582 01:20:30,980 --> 01:20:33,639 Vetëm të jenë në gjendje të dinë se çfarë ata janë. 1583 01:20:33,639 --> 01:20:35,680 Ne nuk jemi duke shkuar për të pyetur ju pëlqen ndonjë gjë të veçantë 1584 01:20:35,680 --> 01:20:39,300 sepse ne nuk e kemi bërë me të vërtetë një pset që mbulon ndonjë që ende. 1585 01:20:39,300 --> 01:20:45,540 >> Pra, në dy minutat e fundit para Kam vendosur të lirë për të vrarë këtë quiz. 1586 01:20:45,540 --> 01:20:49,370 Pretty much, si, mendoni se si tani ju djema keni ardhur në këtë klasë. 1587 01:20:49,370 --> 01:20:52,820 >> Më kujtohet kur dy javë e kësaj klase, disa prej jush 1588 01:20:52,820 --> 01:20:55,720 kalojnë tri orë me shkrim ujë. 1589 01:20:55,720 --> 01:20:57,970 Sa kohë do të marrë ju djema për të shkruar ujë tani? 1590 01:20:57,970 --> 01:20:59,670 30 sekonda, ndoshta? 1591 01:20:59,670 --> 01:21:01,810 Mendoni se sa shumë ju djema kanë mësuar. 1592 01:21:01,810 --> 01:21:04,320 CS është një temë me të vërtetë, të vërtetë e vështirë. 1593 01:21:04,320 --> 01:21:06,190 Nuk ka asnjë dyshim për këtë. 1594 01:21:06,190 --> 01:21:09,160 Është e vështirë, kjo është arsyeja pse askush nuk e studion atë. 1595 01:21:09,160 --> 01:21:10,730 Është vetëm e vështirë. 1596 01:21:10,730 --> 01:21:11,650 Dhe kjo është krejtësisht në rregull. 1597 01:21:11,650 --> 01:21:14,150 >> Dhe unë jam me të vërtetë krenar që gjithkush e ka bërë deri tani. 1598 01:21:14,150 --> 01:21:16,380 Psets nuk janë të lehta. 1599 01:21:16,380 --> 01:21:17,790 Ata marrin shumë kohë. 1600 01:21:17,790 --> 01:21:22,580 Ju djema, unë kurrë nuk do të ju pyes për të shkruar loja e 15 ose Vigenere në pset. 1601 01:21:22,580 --> 01:21:24,160 Nuk ka nevojë të vetëm trullos jashtë në lidhje me atë. 1602 01:21:24,160 --> 01:21:28,080 Të gjithë ne jemi të testimit këtu është për të vlerësuar njohuritë tuaja konceptual, si edhe 1603 01:21:28,080 --> 01:21:31,524 si disa nga aftësitë tuaja themelore të kodimit. 1604 01:21:31,524 --> 01:21:33,440 Testi është i dizajnuar për të jetë me të vërtetë sfiduese. 1605 01:21:33,440 --> 01:21:36,180 Si, ajo është projektuar për ju të mos merrni 100. 1606 01:21:36,180 --> 01:21:39,880 Është projektuar edhe për ju që ndoshta të mos jetë në gjendje të përfundojë në 75 minuta. 1607 01:21:39,880 --> 01:21:41,995 Dhe kjo është krejtësisht në rregull. 1608 01:21:41,995 --> 01:21:42,870 Unë jam një student veten. 1609 01:21:42,870 --> 01:21:45,960 Unë e di, unë e urrej atë kur unë eci nga një quiz të jetë si, mut. 1610 01:21:45,960 --> 01:21:47,044 Kjo ishte me të vërtetë e vështirë. 1611 01:21:47,044 --> 01:21:49,460 Ndoshta ajo që do të happen-- dhe kjo është krejtësisht në rregull, 1612 01:21:49,460 --> 01:21:50,751 Unë jam i thënë ju djema tani. 1613 01:21:50,751 --> 01:21:53,190 Mjetet për këto gjëra nuk janë të larta në të gjitha. 1614 01:21:53,190 --> 01:21:55,360 >> Dhe për ata prej jush që kanë qenë duke marrë, si, 1615 01:21:55,360 --> 01:21:57,870 threes në grupe tuaj problemit, kjo nuk do të thotë që ju jeni 1616 01:21:57,870 --> 01:21:59,536 do të merrni një 60 për qind në këtë klasë. 1617 01:21:59,536 --> 01:22:01,440 Nëse ju merrni 60% mbi quiz, që nuk ka 1618 01:22:01,440 --> 01:22:03,330 të thotë që ju jeni do të merrni një D në këtë klasë. 1619 01:22:03,330 --> 01:22:05,740 Ne e shohim, veçanërisht unë, për ata prej jush në seksionin tim, 1620 01:22:05,740 --> 01:22:07,406 Unë shoh se sa e vështirë ju djema janë të gjithë duke punuar. 1621 01:22:07,406 --> 01:22:09,190 Dhe unë ndiek se. 1622 01:22:09,190 --> 01:22:11,420 >> Ju djema do të jetë mirë. 1623 01:22:11,420 --> 01:22:14,580 Nuk ka asnjë kujtim institucionale e lumturi në fund të semestrit. 1624 01:22:14,580 --> 01:22:16,840 Sepse të gjithë fëmijët e Harvardit janë duke u thënë miqtë e tyre, oh, ju do të jetë mirë. 1625 01:22:16,840 --> 01:22:18,381 Askush nuk është e thënë që ju djema se këtu. 1626 01:22:18,381 --> 01:22:20,950 Kështu që unë duhet të ju them se këtu djema. 1627 01:22:20,950 --> 01:22:22,280 >> Ju djema do të jetë mirë. 1628 01:22:22,280 --> 01:22:24,080 Unë jam shumë krenar për të gjithë ju djema. 1629 01:22:24,080 --> 01:22:25,680 Testi do të jetë e vështirë. 1630 01:22:25,680 --> 01:22:28,140 Studimi për të, dhe më pas vetëm hedhin atë larg. 1631 01:22:28,140 --> 01:22:31,280 Get gati për të mësuar gjëra të reja. 1632 01:22:31,280 --> 01:22:33,990 Dhe hani karamele. 1633 01:22:33,990 --> 01:22:35,940 Ne kemi kemi shumë të karamele. 1634 01:22:35,940 --> 01:22:37,760 >> Të marrë fle një natë të mirë. 1635 01:22:37,760 --> 01:22:40,420 Mos nuk fle, sepse që do të jetë me të vërtetë e keqe. 1636 01:22:40,420 --> 01:22:41,490 CS është një shumë e logjikës. 1637 01:22:41,490 --> 01:22:44,960 Nëse ju nuk fle, ju nuk mund të funksionojë, dhe truri juaj nuk mund të funksionojë. 1638 01:22:44,960 --> 01:22:48,780 Dhe unë do të jem këtu për të ardhshëm 20 minuta në qoftë se dikush dëshiron të sorollatem. 1639 01:22:48,780 --> 01:22:51,150 Ju djema janë duke shkuar për të vrarë atë. 1640 01:22:51,150 --> 01:22:53,000 Paç fat. 1641 01:22:53,000 --> 01:22:55,663