1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> Jason Hirschhorn: Bine ați venit la CS50 secțiune, toată lumea. 3 00:00:08,650 --> 00:00:11,430 Numele meu este Jason Hirschhorn. 4 00:00:11,430 --> 00:00:15,850 Sunt o mulțime de TFS ta, dar o mulțime de oamenii vor fi, sperăm, alături de noi 5 00:00:15,850 --> 00:00:20,420 on-line, elevii de extindere sau studenți încercând să se uite prin secțiunea dacă 6 00:00:20,420 --> 00:00:22,830 ratat punctul lor de acea săptămână sau doar prinde din urmă, dacă au vrut 7 00:00:22,830 --> 00:00:24,510 pentru a revizui unele materiale. 8 00:00:24,510 --> 00:00:30,060 >> Deci, ca pe programa, care toate de ce ați citit, corect? 9 00:00:30,060 --> 00:00:31,390 Vad o multime de dă din cap. 10 00:00:31,390 --> 00:00:34,220 Secțiuni vă oferi oportunități pentru a explora curs de 11 00:00:34,220 --> 00:00:37,420 material într-un mediu mai intim, precum arunca cu capul în 12 00:00:37,420 --> 00:00:38,810 hands-on activități. 13 00:00:38,810 --> 00:00:41,230 >> Deci, asta e de fapt ceea ce suntem gând să faci în fiecare săptămână. 14 00:00:41,230 --> 00:00:45,090 Vom merge prin ceea ce avem determinat pentru a fi cel mai important 15 00:00:45,090 --> 00:00:49,170 Subiectele acoperite în curs, precum și cele probabil, de asemenea, cele mai utile si 16 00:00:49,170 --> 00:00:52,780 cel mai probabil să vină pe seturi de probleme și în teste, și în codificare dvs. 17 00:00:52,780 --> 00:00:53,970 viata in afara de CS50. 18 00:00:53,970 --> 00:00:57,260 Așa că am de gând să meargă în aceste subiecte, le discuta, du-te peste ei, 19 00:00:57,260 --> 00:01:00,660 răspunde la orice întrebări ați avea, și apoi vom face o mulțime de 20 00:01:00,660 --> 00:01:02,250 probleme de practică în codificare. 21 00:01:02,250 --> 00:01:04,239 >> Ai adus toate laptop-uri, care este fantastic. 22 00:01:04,239 --> 00:01:05,710 Aceasta este o clasă de informatică. 23 00:01:05,710 --> 00:01:10,070 Cu toate acestea, o mulțime de exerciții pe care le facem, nu veți avea nevoie de laptop-uri pentru. 24 00:01:10,070 --> 00:01:11,720 Le puteți face pe o foaie de hârtie. 25 00:01:11,720 --> 00:01:13,580 Asta e cum ai de gând să le facă pe chestionare. 26 00:01:13,580 --> 00:01:16,450 Și într-adevăr, că este o modalitate foarte bună de a într-adevăr știu că vă cum să faci 27 00:01:16,450 --> 00:01:19,720 ceva dacă nu aveți Sosire de 50 de se bazează pe sau de a face să se bazeze pe, spunându- 28 00:01:19,720 --> 00:01:20,620 ați făcut orice erori. 29 00:01:20,620 --> 00:01:25,670 >> Deci, ești binevenit să codul de aparat sau run.cs50.net, care este 30 00:01:25,670 --> 00:01:29,770 un alt instrument care vă permite să cod on-line, dar, de asemenea, s-ar recomanda, în cazul în care 31 00:01:29,770 --> 00:01:32,280 nu ați încercat, folosind o foaie de hârtie și încearcă aceste practici 32 00:01:32,280 --> 00:01:33,640 problemele de pe o foaie de hârtie. 33 00:01:33,640 --> 00:01:35,330 Pentru că, din nou, că este în cele din urmă ceea ce ai de gând să fie 34 00:01:35,330 --> 00:01:37,430 a cerut să facă pe teste. 35 00:01:37,430 --> 00:01:44,080 >> Așa că haideți să începem cu noi ordinea de zi pentru ziua de azi. 36 00:01:44,080 --> 00:01:47,710 Vom trece peste anumite norme pentru secțiunea noastră, atunci vom arunca cu capul 37 00:01:47,710 --> 00:01:51,180 în tablouri, funcții, și linia de comandă argumente, care este ceea ce voi 38 00:01:51,180 --> 00:01:56,200 au acoperit în această săptămână trecut în curs și apoi luni, și ceea ce veți acoperi 39 00:01:56,200 --> 00:01:57,330 mai mult de mâine. 40 00:01:57,330 --> 00:01:59,060 Și în final, vom pentru a vorbi despre pset2. 41 00:01:59,060 --> 00:02:03,640 Dacă am putea obține un spectacol de mâini, dacă nu s-au uitat la setul problema doi 42 00:02:03,640 --> 00:02:04,890 caietul de sarcini. 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 Vom spune toată lumea. 45 00:02:08,120 --> 00:02:09,419 Fantastic. 46 00:02:09,419 --> 00:02:12,070 >> Vom vorbi despre seturi de probleme într-un pic, dar dacă ai citit setul problema 47 00:02:12,070 --> 00:02:14,340 caietul de sarcini, care este tot ce trebuie sa faci. 48 00:02:14,340 --> 00:02:18,370 Dacă ați citit că înainte de a veni la clasa și secțiunea marți, veți 49 00:02:18,370 --> 00:02:19,220 fie o poziție de mare. 50 00:02:19,220 --> 00:02:21,680 Putem merge prin setul de probleme, care este ceea ce vom 51 00:02:21,680 --> 00:02:22,090 să facă la sfârșitul. 52 00:02:22,090 --> 00:02:23,500 Vom merge prin logica, asigurați-vă că 53 00:02:23,500 --> 00:02:24,710 toată lumea este pe aceeași pagină. 54 00:02:24,710 --> 00:02:28,650 >> Vreau să fie în măsură să plece marți simti foarte confortabil cu ceea ce 55 00:02:28,650 --> 00:02:31,560 trebuie să facă pentru probleme set din această săptămână, și dacă nu, o voi face fericit 56 00:02:31,560 --> 00:02:33,050 rămâne după ce și de a lucra cu tine. 57 00:02:33,050 --> 00:02:36,850 Dar asta este un lucru pe care trebuie să fac, dar cred că ar fi foarte inteligent, 58 00:02:36,850 --> 00:02:40,500 doar pentru a citi setul problema specificație de clasă marți, 59 00:02:40,500 --> 00:02:42,640 care se pare ca o mulți dintre voi a făcut. 60 00:02:42,640 --> 00:02:45,810 >> Voi începe cu o ordine de zi pentru fiecare clasă astfel încât să știu unde mergem. 61 00:02:45,810 --> 00:02:49,520 Acest lucru este, de asemenea, util pentru oameni vizionarea on-line pentru fiecare secțiune 62 00:02:49,520 --> 00:02:53,540 este cod de culoare, așa că dacă vrei să vii pe spate și priviți la doar 10 minute, mai degrabă 63 00:02:53,540 --> 00:02:56,950 decât întreaga secțiune de 90 de minute, te pot merge doar la secțiunea cu coduri de culori 64 00:02:56,950 --> 00:02:57,890 si uita-te la acea parte. 65 00:02:57,890 --> 00:03:01,510 Așa că am încercat să-i rupe în frumos module care vă va permite să - 66 00:03:01,510 --> 00:03:03,960 dacă vrei să vii înapoi și să revizuiască, sau alți studenți care sunt doar 67 00:03:03,960 --> 00:03:05,350 vizionarea o secțiune pentru a examina - 68 00:03:05,350 --> 00:03:08,130 pentru a găsi un lucru specific care Vreau să acorde o atenție la 69 00:03:08,130 --> 00:03:10,480 si de a invata mai multe despre. 70 00:03:10,480 --> 00:03:11,390 Dulce. 71 00:03:11,390 --> 00:03:12,180 >> Norme. 72 00:03:12,180 --> 00:03:13,680 Sunt un lider POP în campus. 73 00:03:13,680 --> 00:03:14,900 Nu știu dacă cineva a făcut POP. 74 00:03:14,900 --> 00:03:16,280 Ai cineva face FOP? 75 00:03:16,280 --> 00:03:17,100 O persoană a făcut POP. 76 00:03:17,100 --> 00:03:18,430 Doi oameni au POP. 77 00:03:18,430 --> 00:03:19,250 Minunat. 78 00:03:19,250 --> 00:03:22,360 Deci, FOP este primul an în aer liber Program de orientare. 79 00:03:22,360 --> 00:03:27,240 Ne ia bobocilor în pădure și să facă experiențele cele mai magice de 80 00:03:27,240 --> 00:03:28,830 viața lor, corect? 81 00:03:28,830 --> 00:03:29,220 Da. 82 00:03:29,220 --> 00:03:30,080 Sunete despre dreapta. 83 00:03:30,080 --> 00:03:36,360 >> Așa că am vrut doar să înceapă prima noastră secțiune prin discutarea unor norme 84 00:03:36,360 --> 00:03:38,860 pentru clasa și relația noastră pentru că eu cred 85 00:03:38,860 --> 00:03:40,010 sunt foarte importante. 86 00:03:40,010 --> 00:03:43,630 În primul rând, ca cei care sunt partea mea s-au primit și 87 00:03:43,630 --> 00:03:47,150 a fost discutată în acel e-mail, îmi place acest lucru. 88 00:03:47,150 --> 00:03:48,130 Aceasta este partea mea favorita din an. 89 00:03:48,130 --> 00:03:49,100 Am fost atat de entuziasmat. 90 00:03:49,100 --> 00:03:50,040 Am fost aici de ore azi. 91 00:03:50,040 --> 00:03:54,560 Nu am părăsit această clădire cu excepția a mergi sa mananci pentru că îmi place CS50 secțiune, am 92 00:03:54,560 --> 00:03:58,620 place să predau, îmi place de lucru cu voi. 93 00:03:58,620 --> 00:04:02,000 >> Una dintre prioritățile mele, dacă nu-mi prioritatea numărul unu, nu numai pentru 94 00:04:02,000 --> 00:04:05,130 această clasă, dar inclusiv alte meu clase și extrașcolare, este de a 95 00:04:05,130 --> 00:04:09,350 sprijini voi, și vă ajut, și fac tot ce pot pentru a vă asigura că 96 00:04:09,350 --> 00:04:13,780 baieti au un minunat, distracție, productiv, angajarea, captivant 97 00:04:13,780 --> 00:04:15,250 experiență în această clasă. 98 00:04:15,250 --> 00:04:16,190 Asta e ceea ce am angajat. 99 00:04:16,190 --> 00:04:17,959 Asta e ce-mi place să fac asta. 100 00:04:17,959 --> 00:04:20,190 Acesta este numărul meu de un singur lucru, sprijinirea voi. 101 00:04:20,190 --> 00:04:25,110 Dacă aveți orice întrebări despre curs, Setul problema, sectiune, 102 00:04:25,110 --> 00:04:28,830 viață, chiar dacă vrei să vorbim despre viață, vă rugăm să nu ezitați să ajungă. 103 00:04:28,830 --> 00:04:31,210 >> Ai numărul meu de telefon mobil, aveți e-mail meu 104 00:04:31,210 --> 00:04:32,910 adresa, aveți Gchat mea. 105 00:04:32,910 --> 00:04:37,540 Ma puteti contacta la orice sau toate dintre cei ori de câte ori, dar, probabil, nu va primi 106 00:04:37,540 --> 00:04:38,720 un răspuns ori de câte ori. 107 00:04:38,720 --> 00:04:41,020 Eu încerc să mă întorc în 24 de ore. 108 00:04:41,020 --> 00:04:44,760 Deseori aceasta va fi cuprinsă 20 de minute sau 24 minute. 109 00:04:44,760 --> 00:04:46,110 Ar fi trebuit sa spus că pentru a face o paralelă. 110 00:04:46,110 --> 00:04:48,840 Dar va primi un răspuns destul de repede. 111 00:04:48,840 --> 00:04:54,220 >> Dacă mă text de o oră înainte de Setul problema e din cauza, eu vă va calma 112 00:04:54,220 --> 00:04:57,660 în jos și de a face exercitii de respiratie profunda cu tine, dar dacă nu au început, 113 00:04:57,660 --> 00:05:00,270 esti, probabil, nu vor termina, și Eu nu te pot ajuta cu adevărat acolo 114 00:05:00,270 --> 00:05:01,710 chiar dacă voi încerca meu cel mai bun. 115 00:05:01,710 --> 00:05:03,920 Așa că voi face tot Eu pot să vă susțină. 116 00:05:03,920 --> 00:05:07,980 Vă rugăm să nu ezitați să ajungă dacă este în secțiunea din nou, la Orar de lucru 117 00:05:07,980 --> 00:05:09,150 daca ma vezi, sau chiar în afara. 118 00:05:09,150 --> 00:05:11,800 Sunt fericit să înființeze un timp pentru a răspunde și locul de muncă prin probleme 119 00:05:11,800 --> 00:05:14,410 cu sau trece peste materialul. 120 00:05:14,410 --> 00:05:15,990 Astfel că este numărul unu, de sprijin. 121 00:05:15,990 --> 00:05:17,940 Voi face tot ce pot să vă susțină. 122 00:05:17,940 --> 00:05:21,520 >> Numărul doi, reuniunea la mijloc. 123 00:05:21,520 --> 00:05:24,760 Oricât de mult aș vrea să fi, eu sunt nu omnipotent și atotputernic sau 124 00:05:24,760 --> 00:05:28,410 atotștiutor, așa că nu știu tot timp dacă ceea ce fac este obtinerea 125 00:05:28,410 --> 00:05:33,410 peste, dacă modul în care predau subiect vă ajută să-l învețe, sau dacă 126 00:05:33,410 --> 00:05:36,120 sunt confuzi cu privire la un subiect, dar nu ridica mâna sau intreaba-ma 127 00:05:36,120 --> 00:05:37,390 sau trimite-mi un e-mail. 128 00:05:37,390 --> 00:05:42,150 Sau, chiar dacă, din nou, sunt confuz despre ceva pe platourile de filmare problema. 129 00:05:42,150 --> 00:05:44,240 Dacă nu ajunge la mine, Nu pot să știu că pentru sigur. 130 00:05:44,240 --> 00:05:46,950 Am de gând să fac tot ce pot pentru check-in pe voi, asigurați-vă că totul este 131 00:05:46,950 --> 00:05:51,170 merge bine, încearcă să învețe lucruri într-un mod care va conduce la cele mai multe dintre 132 00:05:51,170 --> 00:05:54,910 stiluri de învățare, dar în cazul în care există Pot să fac ceva, să-mi spuneți. 133 00:05:54,910 --> 00:05:58,520 >> De-a lungul acestor linii, dacă aveți nevoie de ajutor cu set de probleme, eu sunt mai mult 134 00:05:58,520 --> 00:05:59,700 decât fericit să vă ajute cu setul problema. 135 00:05:59,700 --> 00:06:02,300 Am de gând să faci o mulțime de că spre a doua 136 00:06:02,300 --> 00:06:03,460 jumătate din această secțiune. 137 00:06:03,460 --> 00:06:06,040 Dar dacă nu ați citit problema stabilește spate și nu s-au uitat la plimbare 138 00:06:06,040 --> 00:06:09,310 prin și nu au privit pantaloni scurți și așteaptă-mă să te învăț 139 00:06:09,310 --> 00:06:13,260 tot ceea ce a fost filmat on-line sau pe care le puteți găsi la CS50 140 00:06:13,260 --> 00:06:16,720 Studiul, care nu e chiar corect la mine sau a altor colegii dumneavoastră. 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> Asa ca te rog, eu sunt mai mult decât fericiți să vă ajutăm tine, dar voi trebuie să se întâlnească cu mine în 143 00:06:25,730 --> 00:06:27,230 la mijloc. 144 00:06:27,230 --> 00:06:30,100 Avem tone de resurse pentru vă la dispoziție pe CS50. 145 00:06:30,100 --> 00:06:31,230 Am menționat unele dintre ele. 146 00:06:31,230 --> 00:06:32,960 Vă rugăm să profite de ele. 147 00:06:32,960 --> 00:06:35,140 Dacă sunteți confuz, eu sunt mai mult decât fericit pentru a vă ajuta să le explicați în 148 00:06:35,140 --> 00:06:39,290 un alt mod, dar nu este corect dacă elevii apar la ore de birou, 149 00:06:39,290 --> 00:06:42,530 nu au început nimic, și e Joi noapte și ei așteaptă 150 00:06:42,530 --> 00:06:45,880 TF să le plimbe prin fiecare lucru pentru problema stabilit din cauza 151 00:06:45,880 --> 00:06:47,140 la prânz a doua zi. 152 00:06:47,140 --> 00:06:48,300 Face sens? 153 00:06:48,300 --> 00:06:50,890 Din nou, vă rugăm să ne întâlnim la mijloc. 154 00:06:50,890 --> 00:06:53,230 >> Și, în sfârșit, așteptările ridicate. 155 00:06:53,230 --> 00:06:58,010 Am de gând să fie de clasificare toți cei care-i în secțiunea mea, sau scor dvs. 156 00:06:58,010 --> 00:06:59,020 seturi de probleme. 157 00:06:59,020 --> 00:07:01,240 Nu s-au întors problema setat la zero sau unul încă. 158 00:07:01,240 --> 00:07:02,250 Ne pare rău pentru asta. 159 00:07:02,250 --> 00:07:04,970 Ne-a luat ceva timp sa sfârșit stabili secțiuni, și acum 160 00:07:04,970 --> 00:07:05,560 putem începe clasificare. 161 00:07:05,560 --> 00:07:09,560 >> Îi voi lua înapoi la tine cât mai curând posibil. 162 00:07:09,560 --> 00:07:11,890 Acestea sunt unele dintre meu advisees acolo. 163 00:07:11,890 --> 00:07:14,150 Îi voi lua înapoi la tine cât mai curând posibil. 164 00:07:14,150 --> 00:07:18,046 Și pentru set de probleme a doua, vom fi pe programa și vom începe să obtinerea ei 165 00:07:18,046 --> 00:07:20,440 pentru a te destul de repede după le predai 166 00:07:20,440 --> 00:07:24,130 >> Când ajungi problema ta setat înapoi, va obține scoruri, după cum știți de la 167 00:07:24,130 --> 00:07:28,150 citirea programa - corectitudinea, proiectarea, domeniul de aplicare, precum și stilul de scoruri. 168 00:07:28,150 --> 00:07:29,760 Veți primi, de asemenea comentarii. 169 00:07:29,760 --> 00:07:32,160 Observațiile sunt mai importante decât scorurile. 170 00:07:32,160 --> 00:07:33,780 Cred că este sigur să spun că. 171 00:07:33,780 --> 00:07:37,930 >> Scorurile sunt doar un număr la unu la cinci. 172 00:07:37,930 --> 00:07:38,930 Este greu de citit în cele. 173 00:07:38,930 --> 00:07:40,720 Este greu pentru a îmbunătăți de la cele. 174 00:07:40,720 --> 00:07:44,460 Dar comentariile vor sublinia specifice ce ai făcut bine sau zone 175 00:07:44,460 --> 00:07:48,360 vă puteți îmbunătăți și vă dau câteva idei pentru viitor sau alternative 176 00:07:48,360 --> 00:07:49,160 moduri de a face lucruri. 177 00:07:49,160 --> 00:07:52,270 >> Așa că vă rog, vă rog, vă rugăm să citiți prin comentarii. 178 00:07:52,270 --> 00:07:54,190 Am pus o mulțime de timp în aceste comentarii. 179 00:07:54,190 --> 00:07:57,190 Va rugam sa cititi si nu numai derulați în jos în partea de jos a 180 00:07:57,190 --> 00:08:01,890 PDF, uita-te pentru scor, sau du-te on-line și găsi scorul dvs., și apoi ignora 181 00:08:01,890 --> 00:08:02,800 comentariile. 182 00:08:02,800 --> 00:08:03,910 Asta nu e cum esti mergi la a lua mai bine. 183 00:08:03,910 --> 00:08:06,550 Asta nu e cum ai de gând să crească scoruri în cele din urmă, doar 184 00:08:06,550 --> 00:08:07,340 uitandu-se la scoruri. 185 00:08:07,340 --> 00:08:08,760 Vă rugăm să se uite la aceste comentarii. 186 00:08:08,760 --> 00:08:13,240 >> Și de-a lungul liniei de așteptările mari, din nou, cum am spus, voi 187 00:08:13,240 --> 00:08:14,260 poate fi marcat de la unu la cinci. 188 00:08:14,260 --> 00:08:17,120 Câte doi, câte trei, și patru labe sunt marea majoritate a scorurilor 189 00:08:17,120 --> 00:08:17,940 ai de gând să fie obținerea. 190 00:08:17,940 --> 00:08:20,180 Ones și cinciari sunt ambele foarte rare. 191 00:08:20,180 --> 00:08:21,720 Există întotdeauna lucruri putem face mai bine. 192 00:08:21,720 --> 00:08:23,490 Ori de câte ori am codul de un program, există întotdeauna ceva 193 00:08:23,490 --> 00:08:24,800 ar fi putut face mai bine. 194 00:08:24,800 --> 00:08:28,740 >> Deci, mai degrabă decât a spune te o perioadă de cinci tot timpul pe toate și a făcut 195 00:08:28,740 --> 00:08:31,960 totul perfect, nu cred nici o dintre noi cred cu adevărat că noi - sau 196 00:08:31,960 --> 00:08:34,830 Din fericire, noi nu facem totul perfectă tot timpul. 197 00:08:34,830 --> 00:08:37,010 Deci, nu fi îngrijorat dacă te nu a primit un cinci. 198 00:08:37,010 --> 00:08:40,470 Un cinci nu harta pe un A, un patru nu harta pe un B, un trei nu 199 00:08:40,470 --> 00:08:42,950 Nu harta pe o C. Asta nu e cum funcționează scorurile. 200 00:08:42,950 --> 00:08:48,140 >> La fel ca David a spus de multe ori, la sfârșitul semestrului toate scorurile și 201 00:08:48,140 --> 00:08:53,390 de intrare de la mine, TF ta, vin împreună și de a determina o nota finală pentru tine. 202 00:08:53,390 --> 00:08:56,760 Dar, din nou, nu-i cinci, A, patru, B, et cetera. 203 00:08:56,760 --> 00:09:01,150 Așa că am de gând să aibă așteptări mari pentru voi. 204 00:09:01,150 --> 00:09:03,670 Am de gând să aștepte bine problema seturi și am de gând să dea 205 00:09:03,670 --> 00:09:05,010 te feedback-ul ca atare. 206 00:09:05,010 --> 00:09:07,430 Și nu o să spui că ești gând pentru a obține un grad mai rău. 207 00:09:07,430 --> 00:09:09,760 Vă sunt clasificate în funcție de progresul din săptămână 208 00:09:09,760 --> 00:09:11,260 zero la cursul lui. 209 00:09:11,260 --> 00:09:17,190 >> Și, în sfârșit, în ceea ce privește mare așteptări din clasa, îmi place când 210 00:09:17,190 --> 00:09:18,460 oameni să participe. 211 00:09:18,460 --> 00:09:23,180 Înțeleg că unele persoane se simt mai mult sau mai puțin confortabil participante. 212 00:09:23,180 --> 00:09:26,050 Alte persoane sunt participante nu prin ridicarea mâinii lor și 213 00:09:26,050 --> 00:09:27,320 vorbind tot timpul. 214 00:09:27,320 --> 00:09:30,570 Dar noi în această clasă vor fi face o mulțime de probleme mici, foarte mult 215 00:09:30,570 --> 00:09:33,770 de mini întrebări, și apoi unele mai mare de codificare probleme. 216 00:09:33,770 --> 00:09:36,760 Deci, cu siguranta lucra aceste exerciții în atunci când o facem pe computer sau pe 217 00:09:36,760 --> 00:09:37,900 o foaie de hârtie. 218 00:09:37,900 --> 00:09:40,933 >> Dar voi, de asemenea, da ceva timp înainte are cineva sa raspunda la unele 219 00:09:40,933 --> 00:09:42,220 de întrebări cer. 220 00:09:42,220 --> 00:09:44,930 Așa că eu vă va da ceva timp pentru a gândiți-vă, pentru că vom 221 00:09:44,930 --> 00:09:49,380 de a face lucrurile în parteneri, uneori, Voi aștepta toată lumea 222 00:09:49,380 --> 00:09:52,150 pentru a fi angajat oarecum. 223 00:09:52,150 --> 00:09:56,030 Și pentru lipsa unui termen mai bun, acolo va fi, probabil, de asteptare la rece, care 224 00:09:56,030 --> 00:09:59,045 este locul unde toată lumea va avea o șansă să se gândească la răspuns, și apoi 225 00:09:59,045 --> 00:10:01,150 Voi suna pe tine, și apoi vei spune răspunsul. 226 00:10:01,150 --> 00:10:05,200 >> Nu vă faceți griji sau să fie speriat de asta. 227 00:10:05,200 --> 00:10:08,610 L-am făcut în trecut și am găsit care este mult mai mult succes, 228 00:10:08,610 --> 00:10:11,810 citit, de asemenea, cercetarea educațională pe ea pentru a determina dacă este sau nu a fost un 229 00:10:11,810 --> 00:10:12,640 buna tactica. 230 00:10:12,640 --> 00:10:15,790 Este foarte util, mai ales dacă da elevilor timp să se gândească la 231 00:10:15,790 --> 00:10:20,070 răspunsuri și nu le face doar vin afară și spune right off BAT. 232 00:10:20,070 --> 00:10:22,620 Dar dacă nu vă simțiți confortabil răspunde, eu sunt, de asemenea, destul de bine la 233 00:10:22,620 --> 00:10:25,370 simțind asta, iar noi nu vom ai pus la loc, mai ales pe 234 00:10:25,370 --> 00:10:28,240 camerei, chiar dacă nici unul dintre sunteți pe camera chiar acum. 235 00:10:28,240 --> 00:10:32,250 >> Deci, acestea sunt normele pe care le am. 236 00:10:32,250 --> 00:10:34,670 Un lucru mai mult de-a lungul liniilor a reunit la mijloc. 237 00:10:34,670 --> 00:10:36,490 Am de gând să vă dau baieti o mulțime de feedback. 238 00:10:36,490 --> 00:10:38,310 Vă rog să-mi feedback-ul, de asemenea. 239 00:10:38,310 --> 00:10:46,190 Există un site web, sayat.me/cs50. 240 00:10:46,190 --> 00:10:48,380 Deci, este un feedback sincer. 241 00:10:48,380 --> 00:10:50,730 Dacă doriți să-l dea în secțiune, Primesc un e-mail de fiecare dată când se întâmplă. 242 00:10:50,730 --> 00:10:53,820 Vom lua o pauză într-un pic, așa că voi uita-te prin feedback-ul atunci. 243 00:10:53,820 --> 00:10:55,970 Dacă aveți vreodată orice feedback, vă rugăm să-mi acolo. 244 00:10:55,970 --> 00:11:01,380 >> Dacă-mi dai feedback-ul pe Q, care este minunat, dar asta e ghidul 245 00:11:01,380 --> 00:11:02,570 pe care le face la sfârșitul anului. 246 00:11:02,570 --> 00:11:05,690 Dar care va fi la sfârșitul semestrului, astfel Eu nu va fi capabil să ia orice de care 247 00:11:05,690 --> 00:11:08,620 feedback-ul și ao transforma în predare mai bine voi. 248 00:11:08,620 --> 00:11:11,020 Deci, vă rugăm, dacă aveți orice feedback-ul, dă-mi. 249 00:11:11,020 --> 00:11:12,010 Îmi place feedback-ul. 250 00:11:12,010 --> 00:11:14,490 Înapoi la FOP, vom primi feedback tot timpul. 251 00:11:14,490 --> 00:11:18,610 >> Puteți să-mi dai plusuri, lucruri bune, delte, lucruri pe care le pot ameliora. 252 00:11:18,610 --> 00:11:20,600 Puteți comenta pe costumele mele. 253 00:11:20,600 --> 00:11:24,170 Că nu va fi la fel de util, dar tu esti Bine ați venit pentru a comenta cu privire la orice și 254 00:11:24,170 --> 00:11:24,570 totul. 255 00:11:24,570 --> 00:11:26,280 Vă rugăm, vă rugăm să-mi dea feedback-ul. 256 00:11:26,280 --> 00:11:28,740 Apreciez foarte mult și-l înseamnă mult pentru mine. 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> O normă mai mult, distractiv. 259 00:11:33,280 --> 00:11:34,530 Vom avea o mulțime de distracție. 260 00:11:34,530 --> 00:11:36,930 Sperăm că în acest curs, veți au o mulțime de distracție. 261 00:11:36,930 --> 00:11:38,780 Vom avea bomboane la secțiunea. 262 00:11:38,780 --> 00:11:40,040 Vom avea muzica. 263 00:11:40,040 --> 00:11:45,510 Noi sperăm că va fi de a cunoaște unul un alt oarecum bine, asa ca vreau 264 00:11:45,510 --> 00:11:47,690 aceasta să fie o distracție, experiență angajarea. 265 00:11:47,690 --> 00:11:50,890 >> Știu că unii dintre voi au adormit în prelegerile ai avut mai devreme, 266 00:11:50,890 --> 00:11:53,750 deci sperăm că nu vor este cazul acum. 267 00:11:53,750 --> 00:11:55,960 Și dacă acesta este cazul acum, doar Nu sforăi, pentru că s-ar putea 268 00:11:55,960 --> 00:11:57,580 fi prins pe camera foto. 269 00:11:57,580 --> 00:11:58,770 Dulce. 270 00:11:58,770 --> 00:12:04,020 Orice întrebări, comentarii, sau nelămuriri înainte de a trece la cam tot ce am 271 00:12:04,020 --> 00:12:05,270 a vorbit despre? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 Mare. 274 00:12:11,350 --> 00:12:14,830 >> Deci, vom merge în primele tablouri. 275 00:12:14,830 --> 00:12:17,140 Acesta este modul în care vă face o matrice. 276 00:12:17,140 --> 00:12:18,410 Am mai văzut asta înainte. 277 00:12:18,410 --> 00:12:21,830 Ai un tip de date, aveți un nume, și apoi aveți o dimensiune. 278 00:12:21,830 --> 00:12:24,430 Chiar aici, am crea două tablouri. 279 00:12:24,430 --> 00:12:30,360 Prima dintre ele este un tablou de caractere, și are 26 de locuri. 280 00:12:30,360 --> 00:12:33,790 Doilea este o matrice de scoruri, și are trei 281 00:12:33,790 --> 00:12:35,390 spații pentru trei numere întregi. 282 00:12:35,390 --> 00:12:35,827 Da? 283 00:12:35,827 --> 00:12:38,200 >> STUDENT: Sunt toate aceste diapozitive disponibil undeva pentru noi? 284 00:12:38,200 --> 00:12:38,850 >> Jason Hirschhorn: marea întrebare. 285 00:12:38,850 --> 00:12:40,650 Întrebarea a fost, sunt toate de aceste diapozitive disponibil? 286 00:12:40,650 --> 00:12:40,920 Da. 287 00:12:40,920 --> 00:12:43,420 Toate aceste slide-uri vor fi disponibile, și în viitor, voi e-mail- 288 00:12:43,420 --> 00:12:44,640 te înainte de secțiune. 289 00:12:44,640 --> 00:12:47,340 Dar astăzi, pentru că aceasta este prima săptămână, am avut un început târziu. 290 00:12:47,340 --> 00:12:49,675 Deci, de obicei, veți obține aceste slide-uri, dar acestea vor fi disponibile online și 291 00:12:49,675 --> 00:12:52,420 O să le e-mail la tine imediat după clasa. 292 00:12:52,420 --> 00:12:54,140 Orice alte întrebări? 293 00:12:54,140 --> 00:13:01,330 >> Deci, din nou, tablouri sunt cutii, pentru lipsa de un cuvânt mai bun, care dețin mai multe 294 00:13:01,330 --> 00:13:06,420 elemente de un tip de date, și sunt unul lângă altul în memorie. 295 00:13:06,420 --> 00:13:11,370 Și astfel, din nou, acest lucru este modul în care se poate face două tipuri de tablouri. 296 00:13:11,370 --> 00:13:15,090 >> Deci, după ce ați făcut matrice cu că prima linie - Rezultate int, suport 297 00:13:15,090 --> 00:13:17,430 , suport de aproape trei - te Vreau să-l inițializa. 298 00:13:17,430 --> 00:13:19,050 Vrei să pun niște valori de acolo. 299 00:13:19,050 --> 00:13:24,660 Și acest lucru este modul în care ai pus niște valori în acolo, alege doar indice și 300 00:13:24,660 --> 00:13:25,670 scris numărul. 301 00:13:25,670 --> 00:13:27,130 Să ne trage pe tablă. 302 00:13:27,130 --> 00:13:28,270 Se poate vedea toata lumea? 303 00:13:28,270 --> 00:13:29,030 Toată lumea poate vedea. 304 00:13:29,030 --> 00:13:30,790 Dulce. 305 00:13:30,790 --> 00:13:36,550 >> Astfel că va fi meu array numit Rezultate. 306 00:13:36,550 --> 00:13:37,730 După cum puteți vedea, e dimensiune trei. 307 00:13:37,730 --> 00:13:39,210 Există trei cutii acolo. 308 00:13:39,210 --> 00:13:43,120 Fiecare se poate potrivi ceea ce tip de tip de date? 309 00:13:43,120 --> 00:13:43,790 >> STUDENT: Integer. 310 00:13:43,790 --> 00:13:45,250 >> Jason Hirschhorn: Un întreg în aceasta. 311 00:13:45,250 --> 00:13:48,790 Am scris scoruri int, și primul cuvânt este tipul de date care va 312 00:13:48,790 --> 00:13:50,910 du-te în cutii în care matrice. 313 00:13:50,910 --> 00:13:52,160 Deci, eu pot potrivi trei. 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 De ce am de zero până acolo de pe bord? 316 00:13:57,000 --> 00:13:59,240 De ce nu se spune scor zero este egal cu 1? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 Amintește-mi numele tău. 319 00:14:03,180 --> 00:14:03,470 >> STUDENT: Kurt. 320 00:14:03,470 --> 00:14:04,070 >> Jason Hirschhorn: Kurt. 321 00:14:04,070 --> 00:14:04,480 >> STUDENT: Da. 322 00:14:04,480 --> 00:14:04,920 >> Jason Hirschhorn: De ce? 323 00:14:04,920 --> 00:14:07,230 >> STUDENT: Pentru primul indice este la zero, vom începe numărarea de la zero. 324 00:14:07,230 --> 00:14:08,480 >> Jason Hirschhorn: Deci, vom începe numărare la zero. 325 00:14:08,480 --> 00:14:09,580 Asta e exact dreapta. 326 00:14:09,580 --> 00:14:12,340 Aceasta este parte confuz și călătorie va te-ai trezit, mai ales atunci când sunteți 327 00:14:12,340 --> 00:14:14,900 încercarea de a parcurge tablouri, pe care vom face într-un pic. 328 00:14:14,900 --> 00:14:15,980 Vom începe numărarea de la zero. 329 00:14:15,980 --> 00:14:19,170 Deci, dacă vreau să mă refer la primul cutie, nu e cutia unul. 330 00:14:19,170 --> 00:14:22,290 Din păcate, e la zero cutie. 331 00:14:22,290 --> 00:14:26,460 Doilea este de cutie, și în acest caz, al treilea este cutie doi. 332 00:14:26,460 --> 00:14:28,700 >> Ce despre box trei? 333 00:14:28,700 --> 00:14:30,670 Unde este cutia trei? 334 00:14:30,670 --> 00:14:34,750 Sau, dacă vreau să fac scoruri, suport trei, suport aproape, ce e asta? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 Deci, ai spus caracter nul. 337 00:14:39,760 --> 00:14:41,600 Orice alte gânduri? 338 00:14:41,600 --> 00:14:44,590 Ce este suport scor trei suport? 339 00:14:44,590 --> 00:14:48,045 >> STUDENT: Nu există cu adevărat, deoarece ați definit doar ca scoruri, 340 00:14:48,045 --> 00:14:49,370 suport trei. 341 00:14:49,370 --> 00:14:51,400 >> Jason Hirschhorn: Deci tu spui ea nu exista cu adevarat. 342 00:14:51,400 --> 00:14:54,230 În unele cazuri, atunci când avem de-a face cu siruri de caractere, în general, vom pune un nul 343 00:14:54,230 --> 00:14:54,790 caracter la final. 344 00:14:54,790 --> 00:14:56,100 Vom ajunge la faptul că într-o secundă. 345 00:14:56,100 --> 00:15:01,020 Dar în acest caz, există nu este a treia cutie aici. 346 00:15:01,020 --> 00:15:06,390 Deci, ultima cutie din orice matrice este dimensiunea minus 1. 347 00:15:06,390 --> 00:15:11,310 Deci, dacă avem o serie de mărime n, prima casetă revine la zero, ultima este 348 00:15:11,310 --> 00:15:12,700 la n minus 1. 349 00:15:12,700 --> 00:15:14,970 Și în acest caz, ea nu există. 350 00:15:14,970 --> 00:15:17,970 Nu este ceva aici, în memorie, dar nu este al nostru. 351 00:15:17,970 --> 00:15:18,460 Noi nu-l dețin. 352 00:15:18,460 --> 00:15:19,570 Noi nu am cerut-o. 353 00:15:19,570 --> 00:15:22,606 Deci, dacă am încerca să-l acceseze, pe care le vom face într-un pic, suntem, probabil, va 354 00:15:22,606 --> 00:15:24,970 avea probleme. 355 00:15:24,970 --> 00:15:29,180 >> În acest caz, am inițializarea mea matrice cu trei variabile. 356 00:15:29,180 --> 00:15:36,195 Vom pune un unul în cutie de zero, a doua în cutie, și trei în cutie doi. 357 00:15:36,195 --> 00:15:39,280 Are cineva vreo întrebare despre inițializarea un tablou? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> Așa că am trecut peste asta chiar acum. 360 00:15:46,970 --> 00:15:52,725 Scoruri, suport trei, suport aproape, că nu există. 361 00:15:52,725 --> 00:15:58,130 Suntem la zero indexate în informatică, așa că începe numărarea de la zero. 362 00:15:58,130 --> 00:16:01,860 Ultima cutie disponibile pentru noi, este a treia cutie, dar se numește box 363 00:16:01,860 --> 00:16:03,110 numărul doi. 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> În continuare, acest lucru este o alternativă modul de inițializare matrice. 366 00:16:09,710 --> 00:16:13,410 Deci, în loc de a crea matrice pe una linie, de umplere prima casetă, apoi 367 00:16:13,410 --> 00:16:17,070 a doua casetă, apoi de-a treia casetă, poți face totul într-o singură linie. 368 00:16:17,070 --> 00:16:19,040 Deci, în această linie, ambele tablouri. 369 00:16:19,040 --> 00:16:23,460 Acest lucru creează același tablou exact ca și ceea ce am creat aici, dar 370 00:16:23,460 --> 00:16:24,710 doar într-o singură linie nu. 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> Acum, ne-am creat gama noastră. 373 00:16:31,360 --> 00:16:34,100 De obicei, odată ce vă creați un tablou, te vrei sa faci ceva cu ea, dacă 374 00:16:34,100 --> 00:16:38,430 asta e umple sau a lua lucrurile din ea si le imprima pe ecran. 375 00:16:38,430 --> 00:16:42,270 În acest caz, vom merge prin intermediul nostru scoruri matrice, pe care am initializat pe 376 00:16:42,270 --> 00:16:44,740 prima linie aici în gri. 377 00:16:44,740 --> 00:16:49,600 Și apoi pe a doua linie, vom începe iterarea prin matrice. 378 00:16:49,600 --> 00:16:52,640 Are cineva întrebări despre structura pentru o buclă? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> Deci, aceasta este pentru bucla. 381 00:16:56,400 --> 00:16:59,530 Avem starea noastră inițială, și apoi starea noastră finală, iar apoi am 382 00:16:59,530 --> 00:17:01,160 repeta, eu, fiecare bucla. 383 00:17:01,160 --> 00:17:05,579 Și în acolade în acest pentru buclă, ce se întâmplă dacă am fost pentru a rula 384 00:17:05,579 --> 00:17:06,290 acest program? 385 00:17:06,290 --> 00:17:10,410 Poate cineva să-mi spui ce ne-ar lua? 386 00:17:10,410 --> 00:17:11,589 [? Matu? ?] 387 00:17:11,589 --> 00:17:13,819 >> MATU: Imprimați toate scorurile pe fiecare linie. 388 00:17:13,819 --> 00:17:14,900 Aceasta s-ar imprima fiecare scor pe o linie separată. 389 00:17:14,900 --> 00:17:16,300 >> Jason Hirschhorn: Ce anume ar imprima? 390 00:17:16,300 --> 00:17:19,790 >> STUDENT: Aceasta ar imprima o, apoi două, apoi trei. 391 00:17:19,790 --> 00:17:20,235 >> Jason Hirschhorn: Exact. 392 00:17:20,235 --> 00:17:23,490 Ar imprima una, apoi două, apoi trei, fiecare pe linii separate, deoarece 393 00:17:23,490 --> 00:17:27,810 mergem prin matrice și veți vedea că în al doilea rând, printf 394 00:17:27,810 --> 00:17:29,275 Declarație, scoruri i. 395 00:17:29,275 --> 00:17:32,880 Deci, în primul tur de scrutin prin intermediul nostru pentru buclă, i este egală cu zero, ceea ce înseamnă că suntem 396 00:17:32,880 --> 00:17:34,640 obtinerea de valoarea la scor zero - 397 00:17:34,640 --> 00:17:36,900 care, dacă ne întoarcem la diagrama noastră, este unul - 398 00:17:36,900 --> 00:17:38,630 și completarea - 399 00:17:38,630 --> 00:17:39,700 oh, se spune c. 400 00:17:39,700 --> 00:17:41,680 Asta ar trebui să fie% d. 401 00:17:41,680 --> 00:17:43,970 Eu va stabili că într-un pic atunci când Am mana asta cu voi. 402 00:17:43,970 --> 00:17:48,670 Dar vom prezenta un întreg astfel încât să ar trebui să fie% d chiar aici, nu% C. 403 00:17:48,670 --> 00:17:50,340 Ceea ce este% c pentru? 404 00:17:50,340 --> 00:17:50,790 >> STUDENT: caractere. 405 00:17:50,790 --> 00:17:52,680 >> Jason Hirschhorn: caractere, exact. 406 00:17:52,680 --> 00:17:53,690 Care este celălalt? 407 00:17:53,690 --> 00:17:56,260 Dacă nu vrei să faci% d pentru o întreg, ce altceva poti face? 408 00:17:56,260 --> 00:17:57,000 >> STUDENT: Eu. 409 00:17:57,000 --> 00:17:59,180 >> Jason Hirschhorn:% I, exact. 410 00:17:59,180 --> 00:18:01,660 Astfel încât orice întrebări despre iterarea prin matrice? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 Deci, ce se întâmplă dacă facem acest lucru? 413 00:18:07,800 --> 00:18:10,290 În loc de a face i este mai mică trei, noi nu i se mai 414 00:18:10,290 --> 00:18:11,390 mic sau egal cu trei. 415 00:18:11,390 --> 00:18:13,420 Ce se întâmplă atunci când vom rula acest cod? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 Da, Annie? 418 00:18:18,940 --> 00:18:22,030 >> STUDENT: Se vor imprima lucruri ciudate pe a patra linie. 419 00:18:22,030 --> 00:18:23,850 >> Jason Hirschhorn: Deci ați spus, este va imprima lucruri ciudate pe 420 00:18:23,850 --> 00:18:24,390 a patra linie? 421 00:18:24,390 --> 00:18:25,750 Are cineva un raspuns la întrebarea ei? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 Deci, șansele sunt că, atunci când ajungem la - 424 00:18:33,160 --> 00:18:36,700 astfel încât pe a patra rundă de nostru prin buclă, la fel ca te-ai gandit, Annie, 425 00:18:36,700 --> 00:18:39,430 va fi scoruri suport trei, care ne-am dat seama deja nu 426 00:18:39,430 --> 00:18:41,990 există, și vom încerca și accesul că, imprima 427 00:18:41,990 --> 00:18:43,350 , aceasta a folosi un fel. 428 00:18:43,350 --> 00:18:46,060 Deci, computerul va, probabil, supăra pe noi. 429 00:18:46,060 --> 00:18:46,760 Ai perfectă dreptate. 430 00:18:46,760 --> 00:18:48,830 >> S-ar putea închide programul cu totul. 431 00:18:48,830 --> 00:18:52,222 S-ar putea imprima ceva foarte ciudat. 432 00:18:52,222 --> 00:18:53,420 Nu pot spune sigur. 433 00:18:53,420 --> 00:18:56,210 Cote sunt că va ajunge, probabil, supărat pe tu și tocmai a demisionat imediat. 434 00:18:56,210 --> 00:19:00,100 >> Dar acest lucru este o greșeală comună va avea în cazul în care ești doar în afara de cel de la 435 00:19:00,100 --> 00:19:05,110 final, iar acest lucru este un bug care va vă ciuma în întreaga de codificare. 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 O modalitate îmi place să fac este doar pe o tablă, du-te prin fiecare iteratie 438 00:19:14,150 --> 00:19:18,190 de buclă pe o parte sau pe hârtie pentru a vedea ceea ce se întâmplă, și apoi te 439 00:19:18,190 --> 00:19:20,440 în general seama, Oh, așteptați, eu nu ar trebui să au mers la mai puțin sau 440 00:19:20,440 --> 00:19:20,870 egal cu trei. 441 00:19:20,870 --> 00:19:24,730 Ar fi trebuit să oprit la două, care este Ce se întâmplă dacă starea dumneavoastră este mai puțin 442 00:19:24,730 --> 00:19:26,206 decât trei. 443 00:19:26,206 --> 00:19:29,120 Orice întrebări până acum? 444 00:19:29,120 --> 00:19:31,010 Dulce. 445 00:19:31,010 --> 00:19:33,360 >> Deci, aveți toate computerele deschise. 446 00:19:33,360 --> 00:19:36,760 Am de gând să vă dau două - trei minute pentru a scrie un program care 447 00:19:36,760 --> 00:19:40,460 creează o matrice cu numere întregi unul prin cinci și apoi imprimă în fiecare 448 00:19:40,460 --> 00:19:41,720 întreg pe o linie nouă. 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 Și dacă aveți orice întrebări, ridicați mâna. 451 00:19:46,000 --> 00:19:48,140 Sunt fericit să vină de. 452 00:19:48,140 --> 00:19:50,630 Cum am spus, să ia trei minute pentru a scrie acest lucru. 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 Este toată lumea în regulă dacă mă duc la un o fereastră nouă și închide asta? 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> Îmi pare rău dacă nu ați avut o șansă pentru a termina, dar am de gând să o facă 457 00:22:15,520 --> 00:22:17,310 împreună chiar acum. 458 00:22:17,310 --> 00:22:23,640 Deci, pe ecran, am # include cs50.h, # include stdio.h. 459 00:22:23,640 --> 00:22:26,090 Poate cineva spune-mi ce cele două linii fac? 460 00:22:26,090 --> 00:22:32,250 461 00:22:32,250 --> 00:22:33,155 Michael? 462 00:22:33,155 --> 00:22:40,030 >> STUDENT: Acestea includ biblioteci care CS50 făcut și că Steve are 463 00:22:40,030 --> 00:22:44,210 salvate pentru tine de a utiliza pentru a face viața mai ușoară. 464 00:22:44,210 --> 00:22:46,820 >> Jason Hirschhorn: Deci, ai spus că include biblioteci, una care CS50 465 00:22:46,820 --> 00:22:51,230 făcut, cs50.h, și unul care este doar standard,, vine cu 466 00:22:51,230 --> 00:22:53,510 pachetul C, stdio.h. 467 00:22:53,510 --> 00:22:54,890 Ce vrei să spui includ bibliotecile, deși? 468 00:22:54,890 --> 00:22:55,770 Poți fi un pic mai specific? 469 00:22:55,770 --> 00:23:01,180 >> STUDENT: Se face astfel încât să puteți folosi anumite cuvinte cod să aibă o 470 00:23:01,180 --> 00:23:05,710 funcționeze întâmpla fără a fi nevoie să meargă și de a face funcția de c te. 471 00:23:05,710 --> 00:23:08,730 >> Jason Hirschhorn: Poți da-mi un exemplu? 472 00:23:08,730 --> 00:23:11,160 >> STUDENT: Ca printf este cel pe care îl poate folosi. 473 00:23:11,160 --> 00:23:11,860 >> Jason Hirschhorn: printf. 474 00:23:11,860 --> 00:23:14,680 Deci, ai spus printf este unul dintre cei Funcțiile care mai degrabă decât să 475 00:23:14,680 --> 00:23:19,840 scrie printf pe cont propriu, printf este sunt incluse de fapt în stdio.h, astfel încât să 476 00:23:19,840 --> 00:23:22,010 se poate folosi doar și asume că va funcționa. 477 00:23:22,010 --> 00:23:28,270 În stdio.h, dacă ați deschis acest dosar, ar includ modul printf 478 00:23:28,270 --> 00:23:31,620 lucrări, toate de cod pentru printf? 479 00:23:31,620 --> 00:23:33,105 De ce te dai din cap? 480 00:23:33,105 --> 00:23:35,710 >> STUDENT: Deoarece fișierul header doar include declarația funcției. 481 00:23:35,710 --> 00:23:36,400 >> Jason Hirschhorn: Exact dreapta. 482 00:23:36,400 --> 00:23:39,680 Fișierul antet doar include declarația funcției. 483 00:23:39,680 --> 00:23:42,950 Deci, practic, atunci când sa compilati, lovit faceți socoteala, pe care o vom face într-un 484 00:23:42,950 --> 00:23:48,070 în al doilea rând, compilatorul știe că, dacă folosiți printf, printf există. 485 00:23:48,070 --> 00:23:49,370 O să fie definit undeva. 486 00:23:49,370 --> 00:23:51,200 Nu este o problema pentru tine folosind. 487 00:23:51,200 --> 00:23:55,490 Și apoi mai târziu, acesta va include unu și zero care conțin de fapt 488 00:23:55,490 --> 00:23:58,360 implementarea printf și le fuzioneze cu codul. 489 00:23:58,360 --> 00:24:01,935 Cum vă asigurați-vă că include unu și zero pentru, să zicem, pentru a primi șir? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> STUDENT: Ia șir este în cs50.h. 492 00:24:07,210 --> 00:24:07,830 >> Jason Hirschhorn: Corect. 493 00:24:07,830 --> 00:24:11,110 Așa că spune că se string există, declarația funcției. 494 00:24:11,110 --> 00:24:15,410 Dar apoi unu și zero, binare fișier care conține, de fapt, 495 00:24:15,410 --> 00:24:17,370 punerea în aplicare a șir luat? 496 00:24:17,370 --> 00:24:19,310 Cum vă asigurați-vă că merge cu programul dumneavoastră? 497 00:24:19,310 --> 00:24:23,220 >> STUDENT: Pass linker-ul în linia de argumentul de comandă. 498 00:24:23,220 --> 00:24:25,430 >> Jason Hirschhorn: Treceți linker în argumentul din linia de comandă. 499 00:24:25,430 --> 00:24:26,700 Cum faci asta? 500 00:24:26,700 --> 00:24:29,730 >> STUDENT: E L-linie în clang 501 00:24:29,730 --> 00:24:30,480 >> Jason Hirschhorn: Exact dreapta. 502 00:24:30,480 --> 00:24:32,900 Ai spus-L CS50, corect? 503 00:24:32,900 --> 00:24:34,940 Care include unu și zero. 504 00:24:34,940 --> 00:24:36,460 >> STUDENT: Dar nu-mi fac asta pentru tine, nu? 505 00:24:36,460 --> 00:24:37,010 >> Jason Hirschhorn: Exact. 506 00:24:37,010 --> 00:24:40,390 Face face asta pentru tine, dar în cele din urmă, nu va fi face, sau 507 00:24:40,390 --> 00:24:43,220 va trebui să facă o face pe cont propriu, astfel că este o 508 00:24:43,220 --> 00:24:43,940 lucru bun să-și amintească. 509 00:24:43,940 --> 00:24:47,350 Dacă aveți de gând să utilizeze una dintre aceste alte biblioteci, nu numai ai 510 00:24:47,350 --> 00:24:49,490 a scrie # include și apoi biblioteca. 511 00:24:49,490 --> 00:24:51,420 De asemenea, trebuie să-l lega inch 512 00:24:51,420 --> 00:24:54,480 Și aceste două lucruri sunt diferite. L-CS50 este diferit 513 00:24:54,480 --> 00:24:59,260 decât # include cs50.h. 514 00:24:59,260 --> 00:25:02,870 >> Apoi ne-am int main nule acolade, iar acum vom codul 515 00:25:02,870 --> 00:25:03,590 interior principal. 516 00:25:03,590 --> 00:25:07,090 Prima linie am aici este un comentariu care spune, creează o matrice 517 00:25:07,090 --> 00:25:08,820 cu int la unu la cinci. 518 00:25:08,820 --> 00:25:12,600 Ce este un cuvânt bun pentru a descrie ceea ce am au acum pe ecran, doar 519 00:25:12,600 --> 00:25:14,170 comentarii interiorul principal? 520 00:25:14,170 --> 00:25:15,722 Ce numim noi asta? 521 00:25:15,722 --> 00:25:16,820 >> STUDENT: Pseudocod. 522 00:25:16,820 --> 00:25:17,840 >> Jason Hirschhorn: Pseudocod. 523 00:25:17,840 --> 00:25:18,420 Mulțumesc, Jeffrey. 524 00:25:18,420 --> 00:25:19,540 Asta este exact dreapta. 525 00:25:19,540 --> 00:25:20,005 Pseudocod. 526 00:25:20,005 --> 00:25:22,854 L-ați văzut pseudocode înainte? 527 00:25:22,854 --> 00:25:28,340 Ridicați mâna dacă ați folosit pseudocod înainte de problema stabilit o. 528 00:25:28,340 --> 00:25:29,400 Aproximativ jumatate din tine. 529 00:25:29,400 --> 00:25:32,700 >> Mi-ar recomanda utilizarea pseudocod pentru a rupe în jos probleme în 530 00:25:32,700 --> 00:25:35,210 mai mici, mai ușor de a mușca bucăți. 531 00:25:35,210 --> 00:25:38,630 De asemenea, dacă faci pseudocod, vă au comentariile tale deja în mare parte 532 00:25:38,630 --> 00:25:40,760 construit în, astfel încât să nu trebuie să du-te înapoi și să încercați să dau seama 533 00:25:40,760 --> 00:25:42,450 ce faci. 534 00:25:42,450 --> 00:25:44,730 Deci, poate cineva da-mi aceasta prima linie pentru a crea un tablou cu un int 535 00:25:44,730 --> 00:25:45,980 prin cinci? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 Tu? 538 00:25:49,130 --> 00:25:53,350 >> STUDENT: Int și apoi puteți apela indiferent de numărul, și apoi pătrat 539 00:25:53,350 --> 00:25:54,830 suport cinci. 540 00:25:54,830 --> 00:25:57,820 >> Jason Hirschhorn: număr Deci int, croșetă cinci. 541 00:25:57,820 --> 00:25:59,160 >> STUDENT: Egal, și apoi acolade. 542 00:25:59,160 --> 00:26:00,830 >> Jason Hirschhorn: Egal, acolade. 543 00:26:00,830 --> 00:26:01,830 >> STUDENT: Unu, doi, trei, patru. 544 00:26:01,830 --> 00:26:05,566 >> Jason Hirschhorn: Unu, doi, trei, patru, cinci. 545 00:26:05,566 --> 00:26:07,390 >> STUDENT: Și apoi acolade și apoi punct și virgulă. 546 00:26:07,390 --> 00:26:09,240 >> Jason Hirschhorn: si cret bretele și virgulă. 547 00:26:09,240 --> 00:26:10,330 Excelent. 548 00:26:10,330 --> 00:26:12,210 Imprima fiecare int pe o linie nouă. 549 00:26:12,210 --> 00:26:17,140 Poate cineva da mi codul, te rog? 550 00:26:17,140 --> 00:26:17,530 [? Matu? ?] 551 00:26:17,530 --> 00:26:18,560 Dă-i drumul. 552 00:26:18,560 --> 00:26:20,440 >> STUDENT: Pentru ( 553 00:26:20,440 --> 00:26:21,750 >> Jason Hirschhorn: Pentru ( 554 00:26:21,750 --> 00:26:23,740 >> STUDENT: int i = 0 555 00:26:23,740 --> 00:26:26,070 >> Jason Hirschhorn: int i = 0 556 00:26:26,070 --> 00:26:28,190 >> STUDENT: Punct și virgulă i mai puțin de cinci. 557 00:26:28,190 --> 00:26:31,680 >> Jason Hirschhorn: Punct și virgulă, i mai mică de 5. 558 00:26:31,680 --> 00:26:33,600 >> STUDENT: Punct și virgulă, i + +. 559 00:26:33,600 --> 00:26:35,140 >> Jason Hirschhorn: Punct și virgulă, i + +. 560 00:26:35,140 --> 00:26:37,720 >> STUDENT: paranteze închise, apoi bretele deschise. 561 00:26:37,720 --> 00:26:39,410 >> Jason Hirschhorn: paranteze închise și două bretele. 562 00:26:39,410 --> 00:26:40,510 În interiorul acolade? 563 00:26:40,510 --> 00:26:47,640 >> STUDENT: Și apoi printf "% d / n" 564 00:26:47,640 --> 00:26:48,695 >> Jason Hirschhorn: Ne pare rău, stai. 565 00:26:48,695 --> 00:26:52,330 Printf "% d / n, citat închis. 566 00:26:52,330 --> 00:26:55,980 >> STUDENT: Și apoi Citat închis, virgulă, numărul, suport eu. 567 00:26:55,980 --> 00:26:58,350 >> Jason Hirschhorn: virgulă, numărul, suport eu. 568 00:26:58,350 --> 00:26:59,970 >> STUDENT: Ne pare rău, numere de suport eu. 569 00:26:59,970 --> 00:27:01,416 >> Jason Hirschhorn: Numere, suport eu. 570 00:27:01,416 --> 00:27:03,200 >> STUDENT: Îmi pare rău. 571 00:27:03,200 --> 00:27:04,750 Și apoi închis paranteze, punct și virgulă. 572 00:27:04,750 --> 00:27:07,156 >> Jason Hirschhorn: Închis paranteze, virgulă. 573 00:27:07,156 --> 00:27:08,680 Am de gând să salveze. 574 00:27:08,680 --> 00:27:12,670 Vom face numărul. 575 00:27:12,670 --> 00:27:14,742 Și cum am alerga numărul? 576 00:27:14,742 --> 00:27:16,470 >> STUDENT: Backslash. 577 00:27:16,470 --> 00:27:17,180 >> STUDENT: Dot slash - 578 00:27:17,180 --> 00:27:18,050 >> Jason Hirschhorn:. / Conta, exact. 579 00:27:18,050 --> 00:27:19,380 Mulțumesc. . / Conta. 580 00:27:19,380 --> 00:27:21,060 Unu, doi, trei, patru, Cinci pe linii noi. 581 00:27:21,060 --> 00:27:22,110 Se pare că a funcționat. 582 00:27:22,110 --> 00:27:23,200 Da, Noah? 583 00:27:23,200 --> 00:27:26,660 >> STUDENT: Ai putea, de asemenea, face mai puțin sau egal cu patru, ca i este mai mică 584 00:27:26,660 --> 00:27:27,630 sau egal cu patru? 585 00:27:27,630 --> 00:27:31,190 Există vreun avantaj de a face mai puțin decât cinci, sau pur și simplu un alt mod de 586 00:27:31,190 --> 00:27:31,610 scris-o? 587 00:27:31,610 --> 00:27:35,280 >> Jason Hirschhorn: Deci, întrebarea este ce ar fi putut face eu este mai mică sau 588 00:27:35,280 --> 00:27:37,450 egal cu patru în loc de i este mai mică de cinci. 589 00:27:37,450 --> 00:27:38,935 Ar care au lucrat la fel? 590 00:27:38,935 --> 00:27:39,760 >> STUDENT: Ar trebui. 591 00:27:39,760 --> 00:27:39,860 >> Jason Hirschhorn: Da. 592 00:27:39,860 --> 00:27:41,660 Este total ar fi de lucru la fel. 593 00:27:41,660 --> 00:27:44,780 Stilistic, ea este în general mai puțin, și veți vedea într-o secundă atunci când 594 00:27:44,780 --> 00:27:48,160 noi nu siruri de caractere, puteți folosi ceva numit strlen, care le-ați văzut 595 00:27:48,160 --> 00:27:50,380 înainte, pentru a obține lungimea șirului. 596 00:27:50,380 --> 00:27:54,090 Și nu poți face mai puțin sau egal strlen. 597 00:27:54,090 --> 00:27:56,500 Ai putea face mai puțin sau egal strlen minus unul. 598 00:27:56,500 --> 00:27:59,260 Deci, este doar frumos să nu mai puțin de strlen. 599 00:27:59,260 --> 00:28:00,240 Da? 600 00:28:00,240 --> 00:28:03,270 >> STUDENT: Și în real teste, nu avem de a prezenta observații cu privire noastră 601 00:28:03,270 --> 00:28:04,620 Codul precum și? 602 00:28:04,620 --> 00:28:06,130 >> Jason Hirschhorn: Întrebarea a fost in teste, faci 603 00:28:06,130 --> 00:28:07,760 trebuie să furnizeze comentarii? 604 00:28:07,760 --> 00:28:12,050 Deci, vom vorbi mai mult despre teste atunci când au venit, dar, în general, un bun 605 00:28:12,050 --> 00:28:14,530 Regula de degetul mare este atunci când sunteți scrierea de cod, oferă comentarii. 606 00:28:14,530 --> 00:28:18,130 Dacă primiți un cod greșit, dar comment dreapta, s-ar putea obține unele 607 00:28:18,130 --> 00:28:22,280 de credit, atât de la mine dacă am fost sortarea te pe un set de probleme sau la un test. 608 00:28:22,280 --> 00:28:24,660 Deci comentariile sunt întotdeauna bun pentru a oferi. 609 00:28:24,660 --> 00:28:25,040 Dulce. 610 00:28:25,040 --> 00:28:25,460 Contele. 611 00:28:25,460 --> 00:28:26,720 Excelent loc de muncă. 612 00:28:26,720 --> 00:28:28,570 Să trecem mai departe. 613 00:28:28,570 --> 00:28:29,920 >> Siruri de caractere. 614 00:28:29,920 --> 00:28:30,630 Siruri de caractere. 615 00:28:30,630 --> 00:28:31,730 Am mai văzut asta în curs. 616 00:28:31,730 --> 00:28:33,390 Acest lucru a suflat mintea mea atunci când am Primul aflat acest lucru. 617 00:28:33,390 --> 00:28:37,240 Este, probabil, nu sufla nimeni minte aici, dar e in regula. 618 00:28:37,240 --> 00:28:41,260 >> Siruri de caractere sunt matrice de caractere, și se termina cu, așa cum ați spus mai devreme, 619 00:28:41,260 --> 00:28:45,710 nul terminator, care este acest personaj / 0. 620 00:28:45,710 --> 00:28:47,740 Dacă vom trage un șir de bord, vom trage aici. 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 Deci, cât de lung este acest șir? 623 00:28:56,420 --> 00:28:56,680 Scuze. 624 00:28:56,680 --> 00:28:57,660 Cât de lung este acest șir? 625 00:28:57,660 --> 00:28:57,910 >> STUDENT: [inaudibil]. 626 00:28:57,910 --> 00:28:59,010 >> Jason Hirschhorn: Patru? 627 00:28:59,010 --> 00:28:59,880 De ce este ea patru? 628 00:28:59,880 --> 00:29:02,240 >> STUDENT: Deoarece locul cinci este pentru caracterul nul. 629 00:29:02,240 --> 00:29:04,070 >> Jason Hirschhorn: Deci, locul cinci este pentru caracterul nul. 630 00:29:04,070 --> 00:29:07,130 Deci, dacă am fost pentru a rula pe strlen acest lucru, s-ar da-mi patru. 631 00:29:07,130 --> 00:29:07,850 Corectați. 632 00:29:07,850 --> 00:29:11,640 Și matrice, deși, dacă ar fi să inițializa această matrice, cât de multe spații 633 00:29:11,640 --> 00:29:13,444 mi-ar trebui pentru a cere? 634 00:29:13,444 --> 00:29:13,821 >> STUDENT: Cinci. 635 00:29:13,821 --> 00:29:14,200 >> Jason Hirschhorn: Cinci. 636 00:29:14,200 --> 00:29:17,650 Mi-ar trebui să întreb de cinci ani, dar nu pot doar pune patru caractere aici 637 00:29:17,650 --> 00:29:19,750 pentru că am nevoie pentru a pune că null terminator pe final. 638 00:29:19,750 --> 00:29:25,260 Așa că am de gând să scrie în "Ohai" și pune nul terminator în la sfârșitul anului. 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 Vom spune acest lucru este string e egal cu aceasta. 641 00:29:34,940 --> 00:29:36,610 Ce este e suport de zero? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 s suport de zero, Annie? 644 00:29:41,550 --> 00:29:41,950 >> STUDENT: O. 645 00:29:41,950 --> 00:29:45,400 >> Jason Hirschhorn: O, exact. e un suport? 646 00:29:45,400 --> 00:29:48,200 e suport cinci? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 e suport cinci? 649 00:29:53,955 --> 00:29:54,740 >> STUDENT: nu există. 650 00:29:54,740 --> 00:29:55,040 >> Jason Hirschhorn: nu există. 651 00:29:55,040 --> 00:29:57,050 Exact dreapta. 652 00:29:57,050 --> 00:29:57,940 Rece. 653 00:29:57,940 --> 00:30:03,120 Orice întrebări cu privire la înțelegerea siruri de caractere ca matrice de caractere? 654 00:30:03,120 --> 00:30:03,870 Bine, atunci. 655 00:30:03,870 --> 00:30:05,440 Un program mai mult pentru voi. 656 00:30:05,440 --> 00:30:09,190 Scrieți un program care cere utilizatorului pentru un șir, apoi imprimă fiecare 657 00:30:09,190 --> 00:30:11,880 caracter pe o linie nouă. 658 00:30:11,880 --> 00:30:14,160 Așa că haideți să trei minute pentru a scrie acest program, iar apoi vom cod 659 00:30:14,160 --> 00:30:15,410 ca un grup. 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> Scuze. 662 00:31:04,830 --> 00:31:06,470 Ai nevoie pentru a vedea acest lucru? 663 00:31:06,470 --> 00:31:07,410 >> STUDENT: Nu. 664 00:31:07,410 --> 00:31:08,660 >> Jason Hirschhorn: OK. 665 00:31:08,660 --> 00:31:36,390 666 00:31:36,390 --> 00:31:40,605 Să ia un minut mai mult la acest cod, sau cel puțin de a începe pe ea. 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> Astfel încât puteți să vă păstrați de lucru, dar am de gând pentru a începe să mergi prin ea. 669 00:32:17,020 --> 00:32:22,560 Deci, ca înainte, am pe ecran # Include cs50.h, # include stdio.h. 670 00:32:22,560 --> 00:32:24,020 int main. 671 00:32:24,020 --> 00:32:28,880 Interior acolade Main, am două comentarii, pseudocod. 672 00:32:28,880 --> 00:32:30,980 Unul este cere un șir de la utilizator. 673 00:32:30,980 --> 00:32:33,900 Cea de a doua se imprima fiecare caracter pe o linie nouă. 674 00:32:33,900 --> 00:32:39,780 Deci Anna, poți să-mi cer pentru un șir de utilizare? 675 00:32:39,780 --> 00:32:41,970 >> STUDENT: printf. 676 00:32:41,970 --> 00:32:42,720 >> Jason Hirschhorn: printf? 677 00:32:42,720 --> 00:32:45,050 >> STUDENT: Da. 678 00:32:45,050 --> 00:32:46,165 ( 679 00:32:46,165 --> 00:32:47,610 >> JASON Hirschhorn: ( 680 00:32:47,610 --> 00:32:49,300 >> STUDENT: "Dă-mi un șir. 681 00:32:49,300 --> 00:32:52,380 >> Jason Hirschhorn: "da mi-o str - oops - 682 00:32:52,380 --> 00:32:53,710 șir. 683 00:32:53,710 --> 00:32:59,980 >> STUDENT: / n ") și virgulă. 684 00:32:59,980 --> 00:33:02,300 >> Jason Hirschhorn: Sfârșitul șir, paranteze închise, virgulă. 685 00:33:02,300 --> 00:33:03,550 >> STUDENT: Da. 686 00:33:03,550 --> 00:33:09,080 Și apoi următoarea linie, string s = se șir. 687 00:33:09,080 --> 00:33:11,240 >> Jason Hirschhorn: String s = se șir. 688 00:33:11,240 --> 00:33:11,665 >> STUDENT: Da. 689 00:33:11,665 --> 00:33:13,080 Și apoi () 690 00:33:13,080 --> 00:33:14,365 >> JASON Hirschhorn: () 691 00:33:14,365 --> 00:33:14,720 >> STUDENT: Punct și virgulă. 692 00:33:14,720 --> 00:33:15,540 >> Jason Hirschhorn: Punct și virgulă. 693 00:33:15,540 --> 00:33:16,890 Fantastic. 694 00:33:16,890 --> 00:33:19,000 Așa că am de gând pentru a obține un șir și Am de gând să-l în ceea ce salva? 695 00:33:19,000 --> 00:33:21,830 Care este variabilă numită pe care le-a creat? 696 00:33:21,830 --> 00:33:23,290 >> STUDENT: s String. 697 00:33:23,290 --> 00:33:24,580 >> Jason Hirschhorn: Variabila este numit s. 698 00:33:24,580 --> 00:33:25,700 Este de tip string. 699 00:33:25,700 --> 00:33:27,200 Exact. 700 00:33:27,200 --> 00:33:30,080 Următorul lucru pe care vrem să se imprime fiecare personaj pe o linie nouă. 701 00:33:30,080 --> 00:33:31,710 Cine poate da-mi codul? 702 00:33:31,710 --> 00:33:32,110 [Inaudibil]? 703 00:33:32,110 --> 00:33:33,000 Poți să mi-o dai? 704 00:33:33,000 --> 00:33:33,580 >> STUDENT: Sigur. 705 00:33:33,580 --> 00:33:35,420 >> Jason Hirschhorn: Să o facem. 706 00:33:35,420 --> 00:33:36,080 Și îmi pare rău. 707 00:33:36,080 --> 00:33:38,896 Nu-mi place să repet ceea ce spui pentru că ai prins corect, dar eu 708 00:33:38,896 --> 00:33:42,100 Trebuie să se repete, astfel încât, atunci când transcrie acest lucru, ei pot obține toate 709 00:33:42,100 --> 00:33:44,870 în textul de pe transcrierile. 710 00:33:44,870 --> 00:33:47,180 Astfel încât puteți să vă păstrați doar vorbind. 711 00:33:47,180 --> 00:33:48,590 Din păcate, am să-l spun pe tine. 712 00:33:48,590 --> 00:33:49,510 Îmi pare rău, dar - 713 00:33:49,510 --> 00:33:50,610 >> STUDENT: Asta e bine. 714 00:33:50,610 --> 00:33:53,010 Pentru int i = 0 715 00:33:53,010 --> 00:33:54,170 >> Jason Hirschhorn: Pentru int i = 0 716 00:33:54,170 --> 00:33:56,740 >> STUDENT: Eu mai puțin - 717 00:33:56,740 --> 00:33:58,206 >> Jason Hirschhorn: Punct și virgulă. 718 00:33:58,206 --> 00:34:00,650 >> STUDENT: Înainte de aceasta, putem pune un variabile astfel încât să obțineți int lungime nume? 719 00:34:00,650 --> 00:34:01,870 >> Jason Hirschhorn: Oh, tu nu faci Vreau să pun punct și virgulă? 720 00:34:01,870 --> 00:34:02,310 OK. 721 00:34:02,310 --> 00:34:05,120 Deci, ce vrei să faci după ce la zero? 722 00:34:05,120 --> 00:34:09,340 >> STUDENT: Vreau să obțineți Lungimea șir de e și 723 00:34:09,340 --> 00:34:10,410 stabilit că pentru o variabilă? 724 00:34:10,410 --> 00:34:11,760 >> Jason Hirschhorn: OK, Deci, cum fac asta? 725 00:34:11,760 --> 00:34:17,636 >> STUDENT: Deci, ce faci lungime int = 726 00:34:17,636 --> 00:34:20,010 >> Jason Hirschhorn: lungime int = 727 00:34:20,010 --> 00:34:22,230 >> STUDENT: S-T-R-L-E-N. 728 00:34:22,230 --> 00:34:24,260 >> JASON Hirschhorn: S-T-R-L-E-N - 729 00:34:24,260 --> 00:34:25,380 >> STUDENT: S. 730 00:34:25,380 --> 00:34:25,790 Paranteze. 731 00:34:25,790 --> 00:34:27,920 >> JASON Hirschhorn: (e). 732 00:34:27,920 --> 00:34:33,040 >> STUDENT: Și atunci cred că trebuie să a pus o virgulă între cele două int. 733 00:34:33,040 --> 00:34:34,590 >> Jason Hirschhorn: Un punct și virgulă după ce la zero? 734 00:34:34,590 --> 00:34:35,260 >> STUDENT: Da. 735 00:34:35,260 --> 00:34:40,670 Apoi a pus o virgulă după care, și vă spun, eu o lungime mai mică. 736 00:34:40,670 --> 00:34:43,250 i mai mică lungime, care este variabilă. 737 00:34:43,250 --> 00:34:44,590 >> STUDENT: Și apoi punct și virgulă. 738 00:34:44,590 --> 00:34:45,790 >> Jason Hirschhorn: Punct și virgulă. 739 00:34:45,790 --> 00:34:46,290 >> STUDENT: I ​​+ +. 740 00:34:46,290 --> 00:34:46,909 >> Jason Hirschhorn: I + +. 741 00:34:46,909 --> 00:34:47,530 Există buclă nostru pentru. 742 00:34:47,530 --> 00:34:48,860 OK, în interiorul de buclă. 743 00:34:48,860 --> 00:34:51,670 >> STUDENT: și apoi face printf. 744 00:34:51,670 --> 00:34:53,340 >> Jason Hirschhorn: printf. 745 00:34:53,340 --> 00:34:53,889 >> STUDENT: Console. 746 00:34:53,889 --> 00:34:55,130 >> Jason Hirschhorn: Parantezele, citate. 747 00:34:55,130 --> 00:34:59,930 >> STUDENT: Parantezele, citate,% C / N. 748 00:34:59,930 --> 00:35:00,760 >> Jason Hirschhorn:% C, OK. 749 00:35:00,760 --> 00:35:01,670 >> STUDENT: / n. 750 00:35:01,670 --> 00:35:03,470 >> Jason Hirschhorn: / n. 751 00:35:03,470 --> 00:35:04,410 >> STUDENT: citate închise. 752 00:35:04,410 --> 00:35:05,270 >> Jason Hirschhorn: citate închise. 753 00:35:05,270 --> 00:35:05,810 >> STUDENT: virgulă. 754 00:35:05,810 --> 00:35:06,860 >> Jason Hirschhorn: virgulă. 755 00:35:06,860 --> 00:35:07,800 >> STUDENT: S. 756 00:35:07,800 --> 00:35:08,070 >> Jason Hirschhorn: S. 757 00:35:08,070 --> 00:35:08,690 >> STUDENT: Suport i.. 758 00:35:08,690 --> 00:35:10,230 >> Jason Hirschhorn: Suport i.. 759 00:35:10,230 --> 00:35:11,520 >> STUDENT: și paranteze atunci închise. 760 00:35:11,520 --> 00:35:12,540 >> Jason Hirschhorn: paranteze închise. 761 00:35:12,540 --> 00:35:13,660 >> STUDENT: Și apoi punct și virgulă. 762 00:35:13,660 --> 00:35:13,770 >> Jason Hirschhorn: Punct și virgulă. 763 00:35:13,770 --> 00:35:14,380 Fantastic. 764 00:35:14,380 --> 00:35:16,890 Așa că haideți să salvăm acest lucru. 765 00:35:16,890 --> 00:35:19,770 Face vraja. 766 00:35:19,770 --> 00:35:20,040 Oh, Doamne. 767 00:35:20,040 --> 00:35:22,275 Am o serie de erori. 768 00:35:22,275 --> 00:35:33,120 Prima eroare pe linia 11, se spune, așteptat expresie, și-l dă 769 00:35:33,120 --> 00:35:36,910 mi-o eroare care de-a doua Int, nu e eroarea. 770 00:35:36,910 --> 00:35:38,430 Există unele erori pe acolo. 771 00:35:38,430 --> 00:35:41,060 Stie cineva ce eroare care este? 772 00:35:41,060 --> 00:35:41,640 Kurt? 773 00:35:41,640 --> 00:35:44,108 >> STUDENT: Cred că ar trebui să fie o virgulă și nu o virgulă. 774 00:35:44,108 --> 00:35:46,010 >> Jason Hirschhorn: OK, o virgulă în loc de un punct și virgulă. 775 00:35:46,010 --> 00:35:47,340 Deci, este că tot ce avem nevoie pentru a repara? 776 00:35:47,340 --> 00:35:47,655 >> STUDENT: Nu. 777 00:35:47,655 --> 00:35:48,930 >> Jason Hirschhorn: Ce altceva avem nevoie pentru a repara? 778 00:35:48,930 --> 00:35:50,920 >> STUDENT: Trebuie să includă string.h. 779 00:35:50,920 --> 00:35:51,680 >> Jason Hirschhorn: Includeți string.h. 780 00:35:51,680 --> 00:35:53,730 În cazul în care am nevoie pentru a include acest? 781 00:35:53,730 --> 00:35:57,085 >> STUDENT: același loc te inclusiv alte lucruri, chiar 782 00:35:57,085 --> 00:35:59,560 după ce includ stdio.h. 783 00:35:59,560 --> 00:36:01,610 >> Jason Hirschhorn: Să vedem dacă acest fapt în primul rând pentru că, în general, îmi place 784 00:36:01,610 --> 00:36:06,360 pentru a stabili un singur lucru în primul rând, și apoi executați l, iar apoi a vedea erorile care le primim. 785 00:36:06,360 --> 00:36:11,620 Deci, vom șterge terminalul cu controlul n, hai să facem vraja. 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 Deci, o altă eroare pe linia 11. 788 00:36:18,770 --> 00:36:20,540 Așteaptă punct și virgulă. 789 00:36:20,540 --> 00:36:22,640 Și eu sunt încă obtinerea erori pe această linie. 790 00:36:22,640 --> 00:36:25,270 Așa că nu mi-a dat o eroare spunând că nu înțelege ce strlen este, 791 00:36:25,270 --> 00:36:28,980 dar este să-mi dea erori pe acest linie, deci ce altceva este greșit? 792 00:36:28,980 --> 00:36:29,690 Mark? 793 00:36:29,690 --> 00:36:30,940 Marcus. 794 00:36:30,940 --> 00:36:32,570 >> STUDENT: Nu trebuie să scoateți de-a doua declarație Int? 795 00:36:32,570 --> 00:36:34,990 >> Jason Hirschhorn: Eliminați doilea Int. 796 00:36:34,990 --> 00:36:35,710 Să încercăm. 797 00:36:35,710 --> 00:36:37,600 Acum șterge terminalul. 798 00:36:37,600 --> 00:36:40,130 Face vraja. 799 00:36:40,130 --> 00:36:40,490 Eroare. 800 00:36:40,490 --> 00:36:42,890 Implicit, declararea bibliotecă Funcția strlen. 801 00:36:42,890 --> 00:36:44,270 Deci, acum putem vedea această eroare. 802 00:36:44,270 --> 00:36:45,760 Ce trebuie să includem? 803 00:36:45,760 --> 00:36:46,660 >> STUDENT: string.h. 804 00:36:46,660 --> 00:36:51,880 >> Jason Hirschhorn: Includeți string.h, Vom face # includ string.h în partea de sus 805 00:36:51,880 --> 00:36:52,920 a ecranului. 806 00:36:52,920 --> 00:36:55,450 Să salvăm, face vraja. 807 00:36:55,450 --> 00:36:56,970 Acum compilat. 808 00:36:56,970 --> 00:37:01,970 Deci, din nou, lucrurile pe care avem nevoie pentru a amintiți-vă linia 12 în buclă noastră de când 809 00:37:01,970 --> 00:37:08,010 suntem o înființarea, int i = 0, lungime = strlen (s). 810 00:37:08,010 --> 00:37:09,350 >> Aceasta este o strategie fantastic. 811 00:37:09,350 --> 00:37:12,590 Stilul de acest lucru este mare, Designul de acest lucru este mare. 812 00:37:12,590 --> 00:37:15,620 Putem merge în acele motive mai târziu, dar în acest fel aveți nevoie doar pentru a apela 813 00:37:15,620 --> 00:37:19,040 strlen dată în loc de fiecare timp ce alerga prin bucla. 814 00:37:19,040 --> 00:37:22,255 Cu toate acestea, trebuie să utilizați o virgulă acolo și nu aveți nevoie din nou Int. 815 00:37:22,255 --> 00:37:24,180 Dacă sunteți declararea atât a celor variabile împreună, 816 00:37:24,180 --> 00:37:26,850 nu au nevoie din nou Int. 817 00:37:26,850 --> 00:37:29,820 Și apoi, dacă ai de gând să utilizați strlen, care este o altă bibliotecă 818 00:37:29,820 --> 00:37:33,560 nu funcționează incluse în stdio.h sau cs50.h, face 819 00:37:33,560 --> 00:37:35,310 vă că include string.h. 820 00:37:35,310 --> 00:37:35,900 Kurt? 821 00:37:35,900 --> 00:37:39,085 >> STUDENT: Deci, dacă nu aveți nevoie să spune ce lungime tip este, nu că 822 00:37:39,085 --> 00:37:40,290 înseamnă că trebuie să fie un int? 823 00:37:40,290 --> 00:37:41,930 Tu nu ar putea avea două tipuri diferite Tipuri de acolo? 824 00:37:41,930 --> 00:37:43,290 >> Jason Hirschhorn: Deci, ai putea au două tipuri diferite. 825 00:37:43,290 --> 00:37:45,730 Lungimea este un int aici, totuși. 826 00:37:45,730 --> 00:37:48,590 Lungimea este un int pentru că e virgulă și apoi același lucru. 827 00:37:48,590 --> 00:37:50,460 >> STUDENT: Deci, se presupune că se va să fie la fel ca prima? 828 00:37:50,460 --> 00:37:52,423 >> Jason Hirschhorn: Exact. 829 00:37:52,423 --> 00:37:54,970 Noi nu vom face acest lucru acum, dar te poate include două variabile asupra 830 00:37:54,970 --> 00:37:57,080 aceeași linie cu un singur tip de date. 831 00:37:57,080 --> 00:38:01,415 X astfel int, y ar crea două variabile. 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 Deci, int x, y, dacă am face asta, dă mi-o variabila x neutilizate și Y, deoarece 834 00:38:10,770 --> 00:38:12,020 noi nu le folosesc. 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 Deci, punând gol înainte este doar o truc fantezie, dacă nu utilizați 837 00:38:21,650 --> 00:38:22,810 ceva, să-l folosească. 838 00:38:22,810 --> 00:38:26,300 Dar, după cum vedeți, am crea x și y pe aceeași linie cu o virgulă. 839 00:38:26,300 --> 00:38:28,450 Este crearea a două numere întregi chiar acolo. 840 00:38:28,450 --> 00:38:31,560 Deci da, totul este posibil pentru a crea două lucruri pe aceeasi linie 841 00:38:31,560 --> 00:38:33,720 separate printr-o virgulă. 842 00:38:33,720 --> 00:38:35,470 Să scăpăm de cei care, totuși. 843 00:38:35,470 --> 00:38:36,370 >> Deci, nu e vraja. 844 00:38:36,370 --> 00:38:39,200 Multumesc baieti pentru codificare el pentru noi. 845 00:38:39,200 --> 00:38:43,040 Să fie una mai mult timp, ea a alerga. 846 00:38:43,040 --> 00:38:44,580 Dă-mi un șir. 847 00:38:44,580 --> 00:38:45,580 [Inaudibil], ai facut cea mai mare parte. 848 00:38:45,580 --> 00:38:47,910 Care este șirul? 849 00:38:47,910 --> 00:38:48,250 >> STUDENT: Buna ziua. 850 00:38:48,250 --> 00:38:50,110 >> Jason Hirschhorn: Buna ziua. 851 00:38:50,110 --> 00:38:52,810 H-E-L-L-O, fiecare personaj pe o singură linie. 852 00:38:52,810 --> 00:38:53,700 Arata grozav. 853 00:38:53,700 --> 00:38:54,750 Să-l executați din nou. 854 00:38:54,750 --> 00:38:56,050 Întotdeauna o să verifice pentru cazuri colț. 855 00:38:56,050 --> 00:38:57,750 Ce este un caz colț bine pentru a verifica? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> STUDENT: Un număr? 858 00:39:00,890 --> 00:39:02,240 >> Jason Hirschhorn: Un număr. 859 00:39:02,240 --> 00:39:06,580 Deci, voi pune în 1, și se imprimă 1. 860 00:39:06,580 --> 00:39:08,970 Ea nu cere scrisori, astfel se pare ca munca numere. 861 00:39:08,970 --> 00:39:09,890 Caz colț bine pentru a verifica. 862 00:39:09,890 --> 00:39:11,740 Ce este un alt colț bine caz pentru a verifica? 863 00:39:11,740 --> 00:39:12,420 >> STUDENT: Un șir gol. 864 00:39:12,420 --> 00:39:12,910 >> Jason Hirschhorn: Hm? 865 00:39:12,910 --> 00:39:13,880 >> STUDENT: Ca un șir gol. 866 00:39:13,880 --> 00:39:14,400 >> Jason Hirschhorn: sir gol. 867 00:39:14,400 --> 00:39:16,730 Astfel încât să nu pună în nimic. 868 00:39:16,730 --> 00:39:18,660 Și ceea ce se tipărite? 869 00:39:18,660 --> 00:39:19,090 >> STUDENT: Nimic. 870 00:39:19,090 --> 00:39:19,870 >> Jason Hirschhorn: Nimic. 871 00:39:19,870 --> 00:39:20,555 Se pare ca functioneaza. 872 00:39:20,555 --> 00:39:23,790 Ai putea încerca mai multe cazuri de colt, dar în general numere, un date diferite este 873 00:39:23,790 --> 00:39:26,160 mare pentru a încerca, de asemenea nu este nimic. 874 00:39:26,160 --> 00:39:29,180 Nimic, zero negative sunt întotdeauna lucruri mari pentru a încerca și de lucrurile pe care le 875 00:39:29,180 --> 00:39:33,140 ar trebui să testeze, lucruri cu siguranță vom testa pentru și Sosire 50 de ani va testa. 876 00:39:33,140 --> 00:39:34,720 Orice întrebări cu privire la spell.c? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> Bine, să ne întoarcem. 879 00:39:39,310 --> 00:39:42,420 Mai am un program de pentru ca voi să scrie. 880 00:39:42,420 --> 00:39:44,700 Se numește students.c. 881 00:39:44,700 --> 00:39:49,020 Acesta este un program care cere utilizatorului pentru cinci nume, apoi alege aleator 882 00:39:49,020 --> 00:39:51,600 si afiseaza unul dintre numele. 883 00:39:51,600 --> 00:39:54,840 Acest program este un pic mai mult implicat decât în ​​ultimele două am scris, 884 00:39:54,840 --> 00:39:58,080 Deci, de ce nu ne ia cinci minute să cod, în mod individual, iar apoi vom 885 00:39:58,080 --> 00:40:00,130 codarea l ca un grup. 886 00:40:00,130 --> 00:40:03,795 >> Acest program implică, de asemenea, unele lucruri ar putea să nu fi văzut înainte, așa că, dacă 887 00:40:03,795 --> 00:40:06,390 Ai o întrebare despre, cum fac Eu fac asta, să ridice mâna. 888 00:40:06,390 --> 00:40:08,530 Voi veni și vă va indica în direcția cea bună. 889 00:40:08,530 --> 00:40:10,820 Dar noi suntem, de asemenea, o fac pentru că acest va fi o modalitate buna de a introduce unele 890 00:40:10,820 --> 00:40:12,070 subiecte care sunt dificil. 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> Așa că funcționează, nu? 893 00:44:15,560 --> 00:44:17,580 >> STUDENT: Da. 894 00:44:17,580 --> 00:44:19,180 >> Jason Hirschhorn: Ori de câte ori te întorci într-un set problemă, există multe moduri de a face 895 00:44:19,180 --> 00:44:20,790 ea, dar unele sunt mai elegant decât altele. 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 Să ne scufunde inch 898 00:44:31,110 --> 00:44:32,880 # Include cs50.h. 899 00:44:32,880 --> 00:44:34,250 # Include stdio.h. 900 00:44:34,250 --> 00:44:37,240 void main Int, acolade. 901 00:44:37,240 --> 00:44:39,430 In interiorul acolade, Am două comentarii. 902 00:44:39,430 --> 00:44:41,500 Primul este, cere utilizator pentru cinci nume. 903 00:44:41,500 --> 00:44:46,580 Al doilea este, alege aleator și imprima unul dintre numele. 904 00:44:46,580 --> 00:44:50,250 Deci, hai sa facem primul, cere utilizatorului pentru cinci nume. 905 00:44:50,250 --> 00:44:53,730 Care a cerut utilizator pentru cinci nume și-mi poate spune cum să faci asta? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 Doar doi oameni au făcut prima parte. 908 00:44:58,570 --> 00:45:00,150 Trei oameni au prima parte. 909 00:45:00,150 --> 00:45:00,670 Patru, cinci. 910 00:45:00,670 --> 00:45:03,140 Tom, cum o faci? 911 00:45:03,140 --> 00:45:09,940 >> STUDENT: Te-ar declara un șir și apoi numele, suport cinci. 912 00:45:09,940 --> 00:45:12,070 >> Jason Hirschhorn: String numele suport cinci. 913 00:45:12,070 --> 00:45:15,350 Deci, ce este această linie fac, Numele șir suport cinci? 914 00:45:15,350 --> 00:45:17,800 >> STUDENT: V-ar declara o serie de siruri de caractere. 915 00:45:17,800 --> 00:45:19,000 >> Jason Hirschhorn: Aceasta este o serie de siruri de caractere. 916 00:45:19,000 --> 00:45:21,590 Cât de multe siruri de caractere se vor pentru a se potrivi în aici? 917 00:45:21,590 --> 00:45:22,010 >> STUDENT: Cinci. 918 00:45:22,010 --> 00:45:22,320 >> Jason Hirschhorn: Cinci. 919 00:45:22,320 --> 00:45:22,660 Excelent. 920 00:45:22,660 --> 00:45:26,360 Am de gând să-l nume, deoarece numesc vom obține cele mai multe. 921 00:45:26,360 --> 00:45:27,790 OK, următorul? 922 00:45:27,790 --> 00:45:29,270 >> STUDENT: Și apoi au o pentru buclă - 923 00:45:29,270 --> 00:45:30,060 >> Jason Hirschhorn: Pentru buclă. 924 00:45:30,060 --> 00:45:33,035 >> STUDENT: - pentru I = 0. 925 00:45:33,035 --> 00:45:37,040 >> Jason Hirschhorn: for (int i = 0. 926 00:45:37,040 --> 00:45:38,270 >> STUDENT: Punct și virgulă. 927 00:45:38,270 --> 00:45:38,880 >> Jason Hirschhorn: Punct și virgulă. 928 00:45:38,880 --> 00:45:39,790 >> STUDENT: Am mai putin de cinci. 929 00:45:39,790 --> 00:45:41,310 >> Jason Hirschhorn: Am mai puțin de cinci ani. 930 00:45:41,310 --> 00:45:42,230 >> STUDENT: Punct și virgulă. 931 00:45:42,230 --> 00:45:42,560 >> Jason Hirschhorn: Punct și virgulă. 932 00:45:42,560 --> 00:45:43,380 >> STUDENT: I ​​+ +. 933 00:45:43,380 --> 00:45:46,050 >> Jason Hirschhorn: I + +. 934 00:45:46,050 --> 00:45:47,100 >> STUDENT: și paranteze atunci închise. 935 00:45:47,100 --> 00:45:48,600 >> Jason Hirschhorn: paranteze închise, și apoi unele acolade. 936 00:45:48,600 --> 00:45:50,050 În interiorul acolade? 937 00:45:50,050 --> 00:45:51,423 >> STUDENT: Și apoi printf. 938 00:45:51,423 --> 00:45:52,535 >> Jason Hirschhorn: printf. 939 00:45:52,535 --> 00:45:56,200 >> STUDENT: paranteze deschise, numele% d. 940 00:45:56,200 --> 00:45:57,090 >> Jason Hirschhorn: Îmi pare rău? 941 00:45:57,090 --> 00:45:57,660 >> STUDENT: Nume. 942 00:45:57,660 --> 00:45:58,200 >> Jason Hirschhorn: Nume. 943 00:45:58,200 --> 00:46:01,700 >> STUDENT: Și apoi spațiu, iar apoi d%. 944 00:46:01,700 --> 00:46:02,950 >> Jason Hirschhorn: Nume, spațiu,% d. 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> STUDENT: Și apoi / n, și apoi închis. 947 00:46:10,820 --> 00:46:15,070 >> Jason Hirschhorn: nume Deci, spațiu, % D / n, paranteze închise. 948 00:46:15,070 --> 00:46:17,730 >> STUDENT: virgulă, i + 1. 949 00:46:17,730 --> 00:46:19,390 Îmi pare rău. 950 00:46:19,390 --> 00:46:21,040 Citat închis, și apoi virgulă, i +1. 951 00:46:21,040 --> 00:46:24,400 >> Jason Hirschhorn: Închis Citat, virgulă, i +1. 952 00:46:24,400 --> 00:46:25,850 >> STUDENT: Da. 953 00:46:25,850 --> 00:46:27,650 Și apoi următoarea linie - 954 00:46:27,650 --> 00:46:29,400 >> Jason Hirschhorn: i + 1. 955 00:46:29,400 --> 00:46:31,600 >> STUDENT: Da. 956 00:46:31,600 --> 00:46:36,440 Și apoi următorul diapozitiv este numele pe care le suport. 957 00:46:36,440 --> 00:46:39,000 >> Jason Hirschhorn: linia următoare este numele pe care le suport. 958 00:46:39,000 --> 00:46:41,360 >> STUDENT: = se string. 959 00:46:41,360 --> 00:46:43,460 >> Jason Hirschhorn: = Get - 960 00:46:43,460 --> 00:46:44,510 de capital G-E-T - 961 00:46:44,510 --> 00:46:45,530 șir. 962 00:46:45,530 --> 00:46:47,800 Hopa, îmi pare rău. 963 00:46:47,800 --> 00:46:49,050 >> STUDENT: paranteze deschise, inchise și apoi - 964 00:46:49,050 --> 00:46:50,940 >> Jason Hirschhorn: deschis, închis paranteza. 965 00:46:50,940 --> 00:46:51,030 >> STUDENT: Punct și virgulă. 966 00:46:51,030 --> 00:46:52,500 >> Jason Hirschhorn: Punct și virgulă. 967 00:46:52,500 --> 00:46:57,545 OK, deci inițializa matrice de siruri de caractere, nume, si apoi du-te printr-o 968 00:46:57,545 --> 00:47:02,720 pentru buclă, și de cinci ori imprima un cere pentru utilizator și apoi depozitați 969 00:47:02,720 --> 00:47:03,360 cinci siruri de caractere. 970 00:47:03,360 --> 00:47:08,090 Are cineva vreo ajustări la aceasta? 971 00:47:08,090 --> 00:47:10,030 Tom, cred că toată lumea este de acord cu tine. 972 00:47:10,030 --> 00:47:10,880 Arata destul de bine. 973 00:47:10,880 --> 00:47:11,660 OK. 974 00:47:11,660 --> 00:47:14,830 De ce ai făcut i +1, deși? 975 00:47:14,830 --> 00:47:18,000 >> STUDENT: Vreau să spun, nu are să fie, dar i +1, astfel încât este 976 00:47:18,000 --> 00:47:19,700 Numele unul pentru a numi cinci. 977 00:47:19,700 --> 00:47:21,930 În caz contrar, ar fi nume zero, pentru a numi patru. 978 00:47:21,930 --> 00:47:24,400 >> Jason Hirschhorn: Deci ai făcut-o i +1 pentru că altfel ar fi 979 00:47:24,400 --> 00:47:27,060 imprimate la zero la patru, deoarece asta e modul în care gândesc calculatoare, dar oamenii 980 00:47:27,060 --> 00:47:28,530 nu citesc chiar așa. 981 00:47:28,530 --> 00:47:30,190 Acesta este un alt lucru veți întâlni. 982 00:47:30,190 --> 00:47:33,210 Uneori, când imprimați ceva pentru utilizator, veți dori să o facă 983 00:47:33,210 --> 00:47:35,733 un pic mai frumos, și de a face i +1 în acest caz poate 984 00:47:35,733 --> 00:47:37,430 modalitate de a face mai frumoasa. 985 00:47:37,430 --> 00:47:41,380 >> Văd, de asemenea, cinci de două ori, numele string este de cinci, i este mai mic de cinci. 986 00:47:41,380 --> 00:47:42,430 Știu unde ai cinci. 987 00:47:42,430 --> 00:47:44,890 Ai luat-o de la mine spunându ai cinci nume. 988 00:47:44,890 --> 00:47:49,000 Dar, dacă am vrut să fac un cod pic mai robust, un singur lucru am 989 00:47:49,000 --> 00:47:53,110 putea face este aici, in afara de Int, am putea face ceva de genul asta, 990 00:47:53,110 --> 00:47:57,070 # Define, și am putea face NUMELE 5. 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> Deci, practic, ori de câte ori scriu de capital N, capitalul A, capitala M, capitala E, 993 00:48:05,390 --> 00:48:08,890 capitalul S, că șir, se va înlocui care cu 5 în codul. 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 Sau hai să-i spunem doar - vom doar numesc NUMĂR. 996 00:48:13,445 --> 00:48:17,190 Deci, eu sunt definirea tuturor capace NUMĂRUL să fie 5. 997 00:48:17,190 --> 00:48:22,830 >> Deci, acum, ori de câte ori am numărul 5, I se poate înlocui cu toate NUMĂR capace. 998 00:48:22,830 --> 00:48:26,880 Și acum, dacă doriți să schimbați numărul de nume, tot ce trebuie să faceți este să 999 00:48:26,880 --> 00:48:31,350 aceasta linie o, linie de patru, unde am # Define numărul 5, care modifica la 10, 1000 00:48:31,350 --> 00:48:34,340 sau schimba asta la 4. 1001 00:48:34,340 --> 00:48:37,400 Când codul devine mai mult, tu nu ești de gând să-și amintească toate locurile pe care le 1002 00:48:37,400 --> 00:48:41,630 pune câte nume ai vrut, și în pentru ca să nu ratezi o, acest lucru este 1003 00:48:41,630 --> 00:48:45,490 o modalitate buna de a face acest lucru, pentru a găsi ceva până sus și apoi să utilizați doar că fraza 1004 00:48:45,490 --> 00:48:46,400 peste tot de-a lungul codul. 1005 00:48:46,400 --> 00:48:46,780 Marcus? 1006 00:48:46,780 --> 00:48:49,780 >> STUDENT: Este stilistic preferat decât definirea la nivel global o 1007 00:48:49,780 --> 00:48:51,270 n constante? 1008 00:48:51,270 --> 00:48:53,760 >> Jason Hirschhorn: Deci, este ca stilistic preferat decât la nivel global 1009 00:48:53,760 --> 00:48:54,980 definind o constantă n? 1010 00:48:54,980 --> 00:48:59,036 Deci spui că ai putea face, int = numărul 5? 1011 00:48:59,036 --> 00:49:01,300 >> STUDENT: Nu au consoane în C sau nu? 1012 00:49:01,300 --> 00:49:02,720 >> Jason Hirschhorn: Sau const - la egal. 1013 00:49:02,720 --> 00:49:04,275 Deci spui doar o variabilă globală? 1014 00:49:04,275 --> 00:49:04,990 >> STUDENT: Da. 1015 00:49:04,990 --> 00:49:08,670 >> Jason Hirschhorn: Deci stilistic, nu e neaparat un drept 1016 00:49:08,670 --> 00:49:12,050 răspunde, dar ambele sunt mai bune decât aruncarea acestea aleatorie 1017 00:49:12,050 --> 00:49:12,960 numerelor pe tot codul. 1018 00:49:12,960 --> 00:49:14,650 Noi le numim numere magice. 1019 00:49:14,650 --> 00:49:16,450 Când mă uit la codul dvs. sau atunci când cineva a citit prin ea, ei 1020 00:49:16,450 --> 00:49:18,790 Nu vreau doar aceste numere aleatorii care nu fac sens. 1021 00:49:18,790 --> 00:49:22,420 Chiar numărul 26, care, în general, este numărul de litere din alfabet, 1022 00:49:22,420 --> 00:49:28,870 este mai bine să se definească ALPHABET sus sus și salvați numărul 26 în șir, 1023 00:49:28,870 --> 00:49:29,550 în cazul în care are sens. 1024 00:49:29,550 --> 00:49:33,210 >> Sau pe probleme stabilit o, mai degrabă decât - din nou, nu am vorbit despre acest lucru la 1025 00:49:33,210 --> 00:49:37,020 timp, dar în loc să arunce într-o 25 de pretutindeni sau un 10, puteți 1026 00:49:37,020 --> 00:49:41,860 salvați numărul 25, ca trimestru sau 10 ca DIME, și care face mai ușor pentru 1027 00:49:41,860 --> 00:49:44,140 oricine a citit prin codul de înțeleg de ce ai ales acest număr. 1028 00:49:44,140 --> 00:49:46,540 Și, de asemenea, pentru tine, dacă vrei vreodată să actualiza codul dvs., acesta este un pic face 1029 00:49:46,540 --> 00:49:47,290 mai robust. 1030 00:49:47,290 --> 00:49:48,070 Da? 1031 00:49:48,070 --> 00:49:50,830 >> STUDENT: Este acest cod, de asemenea, va să fie disponibile pentru noi după? 1032 00:49:50,830 --> 00:49:52,453 >> Jason Hirschhorn: Toate aceste coduri pe care le-am scris împreună sunt 1033 00:49:52,453 --> 00:49:54,620 va fi trimis la tine băieți și disponibile. 1034 00:49:54,620 --> 00:49:55,740 Da. 1035 00:49:55,740 --> 00:49:58,040 Deci, cere utilizatorului pentru cinci nume. 1036 00:49:58,040 --> 00:50:00,280 Aleatoriu alege și imprima unul dintre numele. 1037 00:50:00,280 --> 00:50:00,940 Cine a făcut această linie? 1038 00:50:00,940 --> 00:50:02,230 Aceasta este cea mai grea linie aici. 1039 00:50:02,230 --> 00:50:02,450 Îmi pare rău, Tom. 1040 00:50:02,450 --> 00:50:05,510 Ai făcut o treabă foarte bună, dar acest lucru este un pic mai complicată. 1041 00:50:05,510 --> 00:50:06,600 Marcus, dă-i drumul. 1042 00:50:06,600 --> 00:50:10,180 >> STUDENT: Ei bine, în primul rând, ai de gând să trebuie să includă stdlib.h și time.h. 1043 00:50:10,180 --> 00:50:13,200 >> Jason Hirschhorn: Deci tu spui la în partea de sus, includ două biblioteci mai mult. 1044 00:50:13,200 --> 00:50:18,830 Vrei să includă S-T-D-L-I-B punct H, Biblioteca Standard, și ce 1045 00:50:18,830 --> 00:50:19,760 era celălalt? 1046 00:50:19,760 --> 00:50:21,010 >> STUDENT: Time.h. 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> Jason Hirschhorn: # include time.h. 1049 00:50:27,840 --> 00:50:29,470 Deci, acestea sunt două biblioteci mai mult. 1050 00:50:29,470 --> 00:50:31,790 Presupun că acum am de gând să fie utilizând Funcțiile care sunt conținute în aceste 1051 00:50:31,790 --> 00:50:34,240 doi, care este motivul pentru care este necesar pentru a le include? 1052 00:50:34,240 --> 00:50:36,980 >> STUDENT: Deci, în primul rând esti gând să doriți să scrie srand. 1053 00:50:36,980 --> 00:50:38,770 >> Jason Hirschhorn: srand. 1054 00:50:38,770 --> 00:50:42,070 >> STUDENT: (dată (0) 1055 00:50:42,070 --> 00:50:42,700 >> Jason Hirschhorn: Îmi pare rău. 1056 00:50:42,700 --> 00:50:45,580 Srand (timp ( 1057 00:50:45,580 --> 00:50:46,890 >> STUDENT: 0. 1058 00:50:46,890 --> 00:50:47,230 >> Jason Hirschhorn: 0. 1059 00:50:47,230 --> 00:50:49,990 >> STUDENT:)), punct și virgulă. 1060 00:50:49,990 --> 00:50:51,320 >> Jason Hirschhorn: Un alt Paranteză închisă? 1061 00:50:51,320 --> 00:50:51,650 Punct și virgulă. 1062 00:50:51,650 --> 00:50:53,610 Am de gând să înlocuiască doar zero, cu NULL. 1063 00:50:53,610 --> 00:50:55,980 Va face cam acelasi lucru, dar în general, veți vedea NULL, care 1064 00:50:55,980 --> 00:50:57,720 vom vorbi despre acest lucru linie într-o secundă. 1065 00:50:57,720 --> 00:50:58,580 >> STUDENT: Stilistic mai bine? 1066 00:50:58,580 --> 00:51:02,240 >> Jason Hirschhorn: În general, oamenii NULL dreapta, dar același lucru. 1067 00:51:02,240 --> 00:51:05,010 >> STUDENT: Și apoi numele Int. 1068 00:51:05,010 --> 00:51:06,490 >> Jason Hirschhorn: Numele Int. 1069 00:51:06,490 --> 00:51:07,280 >> STUDENT: = 1070 00:51:07,280 --> 00:51:07,780 >> Jason Hirschhorn: = 1071 00:51:07,780 --> 00:51:08,580 >> STUDENT: Rand. 1072 00:51:08,580 --> 00:51:09,340 >> Jason Hirschhorn: Rand. 1073 00:51:09,340 --> 00:51:10,420 >> STUDENT: () 1074 00:51:10,420 --> 00:51:11,500 >> JASON Hirschhorn: () 1075 00:51:11,500 --> 00:51:12,850 >> STUDENT: numărul Modulo. 1076 00:51:12,850 --> 00:51:14,310 >> Jason Hirschhorn: Ce-i modulo? 1077 00:51:14,310 --> 00:51:14,970 Caracterul? 1078 00:51:14,970 --> 00:51:16,000 Caracterul la suta? 1079 00:51:16,000 --> 00:51:17,790 >> STUDENT: caracter Procent. 1080 00:51:17,790 --> 00:51:19,521 NUMĂRUL Modulo pe care l-ați definit sus. 1081 00:51:19,521 --> 00:51:22,030 >> Jason Hirschhorn: Modulo NUMBER. 1082 00:51:22,030 --> 00:51:24,052 >> STUDENT: Și apoi punct și virgulă. 1083 00:51:24,052 --> 00:51:24,660 >> Jason Hirschhorn: Punct și virgulă. 1084 00:51:24,660 --> 00:51:27,820 >> STUDENT: Și apoi noua linie, printf. 1085 00:51:27,820 --> 00:51:28,460 >> Jason Hirschhorn: printf. 1086 00:51:28,460 --> 00:51:29,730 >> STUDENT: ( 1087 00:51:29,730 --> 00:51:30,620 >> JASON Hirschhorn: ( 1088 00:51:30,620 --> 00:51:31,650 >> STUDENT: " 1089 00:51:31,650 --> 00:51:32,630 >> Jason Hirschhorn: " 1090 00:51:32,630 --> 00:51:35,320 >> STUDENT:% s / n 1091 00:51:35,320 --> 00:51:37,220 >> Jason Hirschhorn:% s / n 1092 00:51:37,220 --> 00:51:38,420 >> STUDENT: " 1093 00:51:38,420 --> 00:51:40,640 >> Jason Hirschhorn:% s / n " 1094 00:51:40,640 --> 00:51:43,540 >> STUDENT: virgulă, nume de spațiu. 1095 00:51:43,540 --> 00:51:44,350 >> Jason Hirschhorn: Space - 1096 00:51:44,350 --> 00:51:46,300 >> STUDENT: Oh, cred, ceea ce am numi aici? 1097 00:51:46,300 --> 00:51:48,640 >> Jason Hirschhorn: Am nume numit. 1098 00:51:48,640 --> 00:51:52,360 >> STUDENT: Open suport, numele. 1099 00:51:52,360 --> 00:51:55,090 >> Jason Hirschhorn: Open suport, numele. 1100 00:51:55,090 --> 00:51:55,850 >> STUDENT: suport închis. 1101 00:51:55,850 --> 00:51:56,490 >> Jason Hirschhorn: suport închis. 1102 00:51:56,490 --> 00:51:57,460 >> STUDENT:) 1103 00:51:57,460 --> 00:51:58,800 >> Jason Hirschhorn:) 1104 00:51:58,800 --> 00:51:59,440 >> STUDENT: Punct și virgulă. 1105 00:51:59,440 --> 00:52:00,410 >> Jason Hirschhorn: Punct și virgulă. 1106 00:52:00,410 --> 00:52:01,500 OK, hai să salva. 1107 00:52:01,500 --> 00:52:04,410 Să facem acest cod. 1108 00:52:04,410 --> 00:52:06,365 Studenții. 1109 00:52:06,365 --> 00:52:07,100 Să facem acest cod. 1110 00:52:07,100 --> 00:52:08,480 Studenții. 1111 00:52:08,480 --> 00:52:11,630 Nu. / Elev. . / Studenți. 1112 00:52:11,630 --> 00:52:12,870 Numele unul. 1113 00:52:12,870 --> 00:52:15,490 Vom spune David. 1114 00:52:15,490 --> 00:52:18,070 Numele doua, RJ. 1115 00:52:18,070 --> 00:52:20,561 Nume trei, Rob. 1116 00:52:20,561 --> 00:52:22,490 Numele patru, Lucas. 1117 00:52:22,490 --> 00:52:26,060 Numele cinci, Joseph. 1118 00:52:26,060 --> 00:52:28,850 Și apoi se imprimă Iosif din nou. 1119 00:52:28,850 --> 00:52:31,730 >> Deci, lasă-mă să ruleze din nou. 1120 00:52:31,730 --> 00:52:32,460 Permiteți-mi să fac același nume. 1121 00:52:32,460 --> 00:52:39,760 David, RJ, Rob, Lucas, Joseph. 1122 00:52:39,760 --> 00:52:41,070 Și mi-a dat lui David de data asta. 1123 00:52:41,070 --> 00:52:43,030 Așa că am făcut același lucru, dar le-a dat mi un lucru diferit, și că este 1124 00:52:43,030 --> 00:52:45,410 pentru că, desigur, noi cerem pentru un nume aleator. 1125 00:52:45,410 --> 00:52:50,950 Deci, cred că, în funcție de pe mine rătăcire în jurul camerei, pe care cei mai mulți oameni 1126 00:52:50,950 --> 00:52:55,960 Probabil a primit prima la dreapta parte, înființarea că matrice și apoi obținerea 1127 00:52:55,960 --> 00:52:56,430 toate numele. 1128 00:52:56,430 --> 00:52:59,320 Vorbesc despre liniile 10, prin 16. 1129 00:52:59,320 --> 00:53:02,150 Dar liniile 18, prin 21 sunt, probabil, unele lucruri pe care nu s-au văzut înainte, 1130 00:53:02,150 --> 00:53:03,750 asa ca hai sa mergem prin cele. 1131 00:53:03,750 --> 00:53:10,390 >> Această linie, srand timp NULL este în esență - 1132 00:53:10,390 --> 00:53:14,300 Ne pare rău, să sărim în jos o linie, rand (). 1133 00:53:14,300 --> 00:53:17,320 Care vă oferă un număr aleator, un număr întreg aleator. 1134 00:53:17,320 --> 00:53:19,630 Și dacă te-a lovit rand om, care o mulțime de ai făcut - 1135 00:53:19,630 --> 00:53:21,530 M-A-N pătrundă R-A-N-D - 1136 00:53:21,530 --> 00:53:25,910 în terminalul de acest fel, M-A-N spațiu R-A-N-D, apăsați Enter. 1137 00:53:25,910 --> 00:53:30,490 V-ar veni la manualul și ar fi capabil să citească că rand 1138 00:53:30,490 --> 00:53:34,260 ieșiri de comandă num bytes aleatoare pseudo după însămânțarea număr aleator 1139 00:53:34,260 --> 00:53:35,510 Generator dată. 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> Astfel că este o descriere. 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 Asta este ceea ce face rand, oferă aveți un număr aleatoriu atunci când 1144 00:53:46,800 --> 00:53:48,610 apelați această funcție. 1145 00:53:48,610 --> 00:53:53,140 Din păcate, nu e chiar aleator pentru că, dacă doar numi aleatorie 1146 00:53:53,140 --> 00:53:55,970 fără să-l unele semințe, unele punct de plecare, se va alege întotdeauna 1147 00:53:55,970 --> 00:53:59,100 la fel, și-l folosește o formulă pentru a determina următoarea. 1148 00:53:59,100 --> 00:54:01,730 Deci, dacă te sun rand, acesta va doar vă dau același lucru. 1149 00:54:01,730 --> 00:54:02,610 Acesta va fi foarte previzibil. 1150 00:54:02,610 --> 00:54:03,790 Este de fapt, nu va fi aleatorie. 1151 00:54:03,790 --> 00:54:09,610 >> Deci, ce trebuie să facem, pe Marcus instrucțiuni pentru mine, s-au rand semințe 1152 00:54:09,610 --> 00:54:13,810 cu altceva, care este ceea ce funcția srand face. 1153 00:54:13,810 --> 00:54:18,055 Ea semințe rand cu ceva un pic mai mult aleator decât același lucru, și 1154 00:54:18,055 --> 00:54:23,360 el este semănat cu timpul NULL, care este, doar prin convenție, curent 1155 00:54:23,360 --> 00:54:24,650 timpul în secunde. 1156 00:54:24,650 --> 00:54:29,790 >> Deci tu presupunând că toată lumea nu este va rula codul de la exactă 1157 00:54:29,790 --> 00:54:33,620 aceeasi secunda, asa ca este un pariu sigur că timp NULL va fi diferit 1158 00:54:33,620 --> 00:54:35,250 de fiecare dată când acest cod este rulat. 1159 00:54:35,250 --> 00:54:39,020 Pariu sigur că, astfel, srand voința rand semințe cu ceva diferit la fiecare 1160 00:54:39,020 --> 00:54:39,990 singură dată. 1161 00:54:39,990 --> 00:54:44,110 Deci, prin convenție, atunci când vrei un de numere aleatoare, vom scrie această linie, 1162 00:54:44,110 --> 00:54:50,540 srand timp NULL, pentru a ne da o mult semințe mai aleator, iar apoi vom rula 1163 00:54:50,540 --> 00:54:52,080 rand, ceea ce ne dă un număr aleatoriu. 1164 00:54:52,080 --> 00:54:52,840 Da? 1165 00:54:52,840 --> 00:54:54,140 >> STUDENT: Ne puteți spune ce vrei să spui prin semințe? 1166 00:54:54,140 --> 00:54:55,630 >> Jason Hirschhorn: semințe ca in - 1167 00:54:55,630 --> 00:54:58,730 astfel rand se va alege un număr și se va utiliza unele 1168 00:54:58,730 --> 00:55:00,060 Formula pentru a ajunge acolo. 1169 00:55:00,060 --> 00:55:03,250 Deci, o să încep cu ceva și apoi ao transforma în ceva bazat 1170 00:55:03,250 --> 00:55:03,890 de pe acea formula. 1171 00:55:03,890 --> 00:55:06,090 Dacă vă dau mereu același lucru, este întotdeauna o să-l transforma într- 1172 00:55:06,090 --> 00:55:06,790 același lucru. 1173 00:55:06,790 --> 00:55:08,450 Așa că primul lucru pe care da aceasta este sămânța. 1174 00:55:08,450 --> 00:55:10,880 Deci vrei să-l dea ceva diferit pentru a începe cu, și așa 1175 00:55:10,880 --> 00:55:12,610 se va transforma in ceva diferit. 1176 00:55:12,610 --> 00:55:15,840 >> Și apoi în cele din urmă, linia 20, aceasta se numește% 1177 00:55:15,840 --> 00:55:17,470 modulo, și că este confuz. 1178 00:55:17,470 --> 00:55:19,850 Asta e ceva care este un pic diferit aici, că tu nu prea 1179 00:55:19,850 --> 00:55:22,240 au în matematică viața reală. 1180 00:55:22,240 --> 00:55:27,430 Dar, în esență, atunci când ia un gigant numărul și împărțiți în C, ceea ce 1181 00:55:27,430 --> 00:55:29,482 se întâmplă cu restul? 1182 00:55:29,482 --> 00:55:30,510 >> STUDENT: A se trunchiate. 1183 00:55:30,510 --> 00:55:31,220 >> Jason Hirschhorn: A se trunchiate. 1184 00:55:31,220 --> 00:55:35,200 Deci, 20 împărțit la 3 este ceea ce? 1185 00:55:35,200 --> 00:55:37,950 Ce înseamnă că a reveni la te, 20 împărțit la 3. 1186 00:55:37,950 --> 00:55:39,260 Ne pare rău, 10 împărțit la 3. 1187 00:55:39,260 --> 00:55:41,062 Ce înseamnă că se întoarcă la tine? 1188 00:55:41,062 --> 00:55:41,540 >> STUDENT: [inaudibil]. 1189 00:55:41,540 --> 00:55:45,170 >> Jason Hirschhorn: 10 împărțit la 3 doar randamente 3, nu 3 restul 1. 1190 00:55:45,170 --> 00:55:51,490 Deci, ceea ce 10 modulo 3 se întoarce este doar restul, 1. 1191 00:55:51,490 --> 00:55:54,020 Deci, dacă ai vrut să știi ce 10 împărțit de 3 a fost de fapt, te-ar 1192 00:55:54,020 --> 00:55:58,950 face 10 împărțit la 3, te-ar lua 3 dvs., și apoi vei face 10 modulo 3, și 1193 00:55:58,950 --> 00:55:59,860 vei primi un 1. 1194 00:55:59,860 --> 00:56:04,630 Deci ai dat seama că 10 divizat de 3 este 3, rest 1. 1195 00:56:04,630 --> 00:56:07,990 >> Și în această linie, rand ar putea fi orice număr întreg, în esență. 1196 00:56:07,990 --> 00:56:12,660 Deci, modulo spune, împărțiți-l de număr, care este în acest caz 5. 1197 00:56:12,660 --> 00:56:16,420 Și dacă vreodată împărțiți de un număr, număr întreg trebuie să fie întotdeauna mai mică 1198 00:56:16,420 --> 00:56:17,590 acest număr. 1199 00:56:17,590 --> 00:56:22,200 Deci, dacă sunteți împărțirea de către un număr de 5, restul este întotdeauna o să fie 1200 00:56:22,200 --> 00:56:23,396 zero la patru. 1201 00:56:23,396 --> 00:56:25,520 Asta e doar modul în care matematica funcționează. 1202 00:56:25,520 --> 00:56:29,700 >> Astfel încât un număr mare moduloed de un mic Numărul va întoarce întotdeauna 1203 00:56:29,700 --> 00:56:33,530 restul și se va întoarce întotdeauna un numărul care este mai mic decât numărul pe care 1204 00:56:33,530 --> 00:56:34,693 împărțită. 1205 00:56:34,693 --> 00:56:37,920 Are cineva întrebări despre modulo, deoarece aceasta va veni în foarte, 1206 00:56:37,920 --> 00:56:41,450 foarte la îndemână, așa că am dori să vă asigurați toată lumea se înțelege? 1207 00:56:41,450 --> 00:56:43,710 Rece. 1208 00:56:43,710 --> 00:56:46,000 Și am văzut că acest program a lucrat. 1209 00:56:46,000 --> 00:56:50,280 OK, se deplasează pe. 1210 00:56:50,280 --> 00:56:52,970 >> Deci, data viitoare, vom merge în funcții, și vom merge 1211 00:56:52,970 --> 00:56:55,580 prin restul de aceste lucruri destul de repede pentru că vreau să ajung la 1212 00:56:55,580 --> 00:56:57,150 argumente în linia de comandă. 1213 00:56:57,150 --> 00:57:00,330 Deci funcții sunt în esență, După cum ați văzut, cutii negre. 1214 00:57:00,330 --> 00:57:04,290 Ei iau lucrurile în numite parametri, fac ceva pentru ei, fie 1215 00:57:04,290 --> 00:57:06,990 le modifica sau crea unele efecte secundare, și în cele din urmă, au scuipat 1216 00:57:06,990 --> 00:57:09,530 ceva, care este valoarea de returnare. 1217 00:57:09,530 --> 00:57:12,495 Poate cineva da-mi un motiv de ce ne-ar folosi funcții? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 E cineva? 1220 00:57:16,360 --> 00:57:19,360 Un motiv de ce ne-ar folosi funcții? 1221 00:57:19,360 --> 00:57:21,280 Oricine? 1222 00:57:21,280 --> 00:57:22,700 Am văzut două mâini. 1223 00:57:22,700 --> 00:57:23,590 Ce e un motiv bun? 1224 00:57:23,590 --> 00:57:24,930 Marcus? 1225 00:57:24,930 --> 00:57:27,730 >> STUDENT: Dacă trebuie să sunați la același bucată de cod de mai multe ori. 1226 00:57:27,730 --> 00:57:29,150 >> Jason Hirschhorn: OK, dacă aveți nevoie de pentru a apela aceeași bucată de 1227 00:57:29,150 --> 00:57:30,040 codarea de mai multe ori. 1228 00:57:30,040 --> 00:57:32,470 Jeff, ai avut un motiv diferit? 1229 00:57:32,470 --> 00:57:34,230 >> STUDENT: Doar pentru ca poate mai puțin cod. 1230 00:57:34,230 --> 00:57:35,070 >> Jason Hirschhorn: Puteți puțin cod. 1231 00:57:35,070 --> 00:57:35,320 Dreapta. 1232 00:57:35,320 --> 00:57:38,720 Dacă vrei să faci ceva mult - 1233 00:57:38,720 --> 00:57:41,720 în codul anterior, am putea avea scris a obține șir de cinci ori, dar o 1234 00:57:41,720 --> 00:57:44,620 pentru bucla face sa arate mai frumos și va trebui să scrie mai puțin cod. 1235 00:57:44,620 --> 00:57:45,760 Funcțiile sunt o idee similară. 1236 00:57:45,760 --> 00:57:48,720 Dacă vreau să fac același lucru foarte mult, mutați-l la o funcție și de apel care 1237 00:57:48,720 --> 00:57:49,610 funcționa de fiecare dată. 1238 00:57:49,610 --> 00:57:51,190 Care va face acest lucru pentru tine. 1239 00:57:51,190 --> 00:57:53,740 Asta e un motiv de mare utilizarea funcțiilor. 1240 00:57:53,740 --> 00:57:54,870 >> Deci, anatomia unei funcții. 1241 00:57:54,870 --> 00:57:56,670 O funcție va fi, în general, arata ca aceasta. 1242 00:57:56,670 --> 00:57:59,280 Se va începe cu tipul de retur, atunci veți obține numele. 1243 00:57:59,280 --> 00:58:02,935 Va dura argumentele, altfel cunoscut sub numele de parametrii, iar în interior 1244 00:58:02,935 --> 00:58:05,290 aceste acolade, veți scrie codul. 1245 00:58:05,290 --> 00:58:07,150 >> Am văzut o funcție foarte mult. 1246 00:58:07,150 --> 00:58:09,160 Asta e principala. 1247 00:58:09,160 --> 00:58:13,820 Aici este principalul suprapuse pe că anatomie am avut mai devreme. 1248 00:58:13,820 --> 00:58:15,525 Ce Int chiar aici semnifica? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 Ce Int înseamnă? 1251 00:58:19,450 --> 00:58:21,026 Când scriu int main (void). 1252 00:58:21,026 --> 00:58:21,740 >> STUDENT: Tipul de retur? 1253 00:58:21,740 --> 00:58:22,350 >> Jason Hirschhorn: Îmi pare rău? 1254 00:58:22,350 --> 00:58:23,170 >> STUDENT: Tipul de retur. 1255 00:58:23,170 --> 00:58:24,820 >> Jason Hirschhorn: Int este reveni tip, exact dreapta. 1256 00:58:24,820 --> 00:58:25,870 Principalul întoarce un întreg. 1257 00:58:25,870 --> 00:58:28,678 Ce este principalul? 1258 00:58:28,678 --> 00:58:29,510 >> STUDENT: Numele funcției. 1259 00:58:29,510 --> 00:58:30,800 >> Jason Hirschhorn: principal este Numele funcției. 1260 00:58:30,800 --> 00:58:31,510 Exact dreapta. 1261 00:58:31,510 --> 00:58:31,840 Și neavenit? 1262 00:58:31,840 --> 00:58:33,190 Ce este nulă între paranteze? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> STUDENT: Aceasta nu ia orice valoare externă. 1265 00:58:42,030 --> 00:58:42,930 >> Jason Hirschhorn: Deci gol - 1266 00:58:42,930 --> 00:58:43,240 dreapta. 1267 00:58:43,240 --> 00:58:45,940 Între paranteze, am pus parametrii sau argumente de 1268 00:58:45,940 --> 00:58:48,480 Funcția ia, ceea ce se în cutia neagră. 1269 00:58:48,480 --> 00:58:50,760 Când scrieți vid, ce spui aceasta nu ia nimic inch 1270 00:58:50,760 --> 00:58:53,802 Void main astfel int inseamna lui principal Nu lua nimic inch 1271 00:58:53,802 --> 00:58:56,950 >> In interiorul acolade, avem unele cod, și apoi vom vedea la sfârșitul 1272 00:58:56,950 --> 00:58:57,640 reveni la zero. 1273 00:58:57,640 --> 00:59:01,220 Ce se întoarce la zero înseamnă? 1274 00:59:01,220 --> 00:59:02,470 Ei bine, am vorbit despre tipul returnat. 1275 00:59:02,470 --> 00:59:03,780 Principal trebuie să returneze un int. 1276 00:59:03,780 --> 00:59:04,960 Asta e ceea ce face această linie. 1277 00:59:04,960 --> 00:59:07,330 Se întoarce un întreg, zero. 1278 00:59:07,330 --> 00:59:13,600 >> Desigur, nu am văzut că o mulțime pentru că în programarea facem cu 1279 00:59:13,600 --> 00:59:16,070 mașinile pe care le facem și compilatoare vom folosi în zilele noastre, ai 1280 00:59:16,070 --> 00:59:16,990 nu au nevoie de acea linie. 1281 00:59:16,990 --> 00:59:20,070 Principal este destul de special, care știe atunci când ajunge la sfârșitul principal, doar 1282 00:59:20,070 --> 00:59:22,060 returna zero, în cazul în care totul a mers bine. 1283 00:59:22,060 --> 00:59:25,560 De fapt, în cazul în care ceva nu merge bine, principal va reveni de multe ori un alt 1284 00:59:25,560 --> 00:59:28,500 număr care înseamnă că ceva a mers bine cu programul dumneavoastră. 1285 00:59:28,500 --> 00:59:32,470 >> Deci, în general, atunci când vedea codul, te Nu scrie întoarcere la zero, dar e bine 1286 00:59:32,470 --> 00:59:34,770 să știe că se întâmplă în spatele scene pentru că ori de câte ori scrie 1287 00:59:34,770 --> 00:59:36,370 un alt tip de funcție, aveți de gând să trebuie să 1288 00:59:36,370 --> 00:59:37,400 includă un circuit de retur. 1289 00:59:37,400 --> 00:59:39,710 Dacă vrei să spui am de gând să returna un întreg, trebuie să 1290 00:59:39,710 --> 00:59:41,250 scrie reveni ceva. 1291 00:59:41,250 --> 00:59:45,160 Dacă spui gol aici, la început, main gol, pentru 1292 00:59:45,160 --> 00:59:48,670 de exemplu, atunci nu e întoarce nimic - gol nu înseamnă nimic - 1293 00:59:48,670 --> 00:59:50,320 astfel încât nu aveți nevoie de retur. 1294 00:59:50,320 --> 00:59:53,610 Dar scrii vreodată ceva care nu e anula pentru tipul de întoarcere, aveți nevoie de 1295 00:59:53,610 --> 00:59:55,950 o linie care spune retur și tu nevoie pentru a pune ceva acolo 1296 00:59:55,950 --> 00:59:57,650 care se potrivește tipului. 1297 00:59:57,650 --> 00:59:58,900 Orice întrebări despre asta? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 Dulce. 1300 01:00:04,680 --> 01:00:05,930 >> Domeniul de aplicare. 1301 01:00:05,930 --> 01:00:07,360 Acest lucru este ceva ce am atins, de asemenea. 1302 01:00:07,360 --> 01:00:10,720 Fiecare variabilă, după cum știm, are o anumit domeniu, și că este practic 1303 01:00:10,720 --> 01:00:14,160 vorbesc despre cazul în care variabila poate sau nu poate fi referit. 1304 01:00:14,160 --> 01:00:16,310 Și îmi place să spun ceea ce se întâmplă în acolade rămâne 1305 01:00:16,310 --> 01:00:18,000 în interiorul acolade. 1306 01:00:18,000 --> 01:00:21,490 Deci, de exemplu, dacă ne uităm la acest cod, vom defini o variabilă globală 1307 01:00:21,490 --> 01:00:24,510 in afara de principal, int a, aici în partea de sus. 1308 01:00:24,510 --> 01:00:27,380 Am numit un alt int-un interior principal. 1309 01:00:27,380 --> 01:00:29,760 Avem niște bretele mai buclat, și ne cheamă un alt o Int. 1310 01:00:29,760 --> 01:00:31,690 >> Avem trei o în cod. 1311 01:00:31,690 --> 01:00:32,550 Acestea nu sunt același lucru. 1312 01:00:32,550 --> 01:00:34,880 Am creat trei variabile distincte. 1313 01:00:34,880 --> 01:00:39,370 Apoi, în interiorul acestor cret interior bretele, am spus-o = 4. 1314 01:00:39,370 --> 01:00:44,130 Care un este că a vorbi despre, Primul, al doilea, 1315 01:00:44,130 --> 01:00:47,045 sau al treilea? 1316 01:00:47,045 --> 01:00:47,920 >> STUDENT: a treia. 1317 01:00:47,920 --> 01:00:49,320 >> Jason Hirschhorn: Se vorbește despre al treilea. 1318 01:00:49,320 --> 01:00:52,850 Toți cei care o de fapt poate fi a vorbit despre în acest special 1319 01:00:52,850 --> 01:00:58,660 exemplu pentru că domeniul lor de aplicare toate merge în aceste acolade cele mai intime. 1320 01:00:58,660 --> 01:01:02,360 Cu toate acestea, atunci când spunem lucrurilor aceeași nume, există ceva numit ascunde. 1321 01:01:02,360 --> 01:01:09,670 Deci, te descurci doar cu sau repara sau de a folosi variabilă mai recent, sau una 1322 01:01:09,670 --> 01:01:11,090 mai aproape de tine. 1323 01:01:11,090 --> 01:01:14,760 Deci interiorul aici, acest al treilea o este cea mai apropiată la acea linie, o = 4, deci 1324 01:01:14,760 --> 01:01:16,550 afectează treilea. 1325 01:01:16,550 --> 01:01:19,890 Și ultimul rând, o = 2, care este un că a vorbi despre, prima, a doua, 1326 01:01:19,890 --> 01:01:20,805 sau al treilea o? 1327 01:01:20,805 --> 01:01:22,530 >> STUDENT: În al doilea rând. 1328 01:01:22,530 --> 01:01:24,430 >> Jason Hirschhorn: Se vorbește despre cea de a doua o. 1329 01:01:24,430 --> 01:01:27,970 Desigur, o a treia este cea mai apropiată de l în codul, dar un al treilea 1330 01:01:27,970 --> 01:01:30,200 nu există în afara aceste acolade. 1331 01:01:30,200 --> 01:01:32,650 Odată ce ai ajuns la acel închisă cret bretele, e ca și cum a dispărut, 1332 01:01:32,650 --> 01:01:33,570 în esență. 1333 01:01:33,570 --> 01:01:36,150 Deci, doar doi ați plecat sunt cele primele două, și, desigur, acum 1334 01:01:36,150 --> 01:01:37,960 este cea mai apropiată de cea de a doua. 1335 01:01:37,960 --> 01:01:39,410 >> Deci, asta e un lucru bun pentru amintesc despre domeniul de aplicare. 1336 01:01:39,410 --> 01:01:42,900 De exemplu, eu sunt sigur că le-ați întâlnit acest lucru într-o face în timp ce buclă. 1337 01:01:42,900 --> 01:01:46,680 Dacă ați inițializat în interiorul variabila face în timp ce bucla și apoi încercați să 1338 01:01:46,680 --> 01:01:50,360 accesa o afară, probabil niște avertizare ca, aceasta 1339 01:01:50,360 --> 01:01:51,680 variabila nu există. 1340 01:01:51,680 --> 01:01:54,370 Asta e din cauza ideii aplicare, că lucrurile exista numai 1341 01:01:54,370 --> 01:01:55,320 in aceste acolade. 1342 01:01:55,320 --> 01:01:59,320 Acolade sunt ca o îmbrățișare gigant, care dai la codul, este un alt 1343 01:01:59,320 --> 01:02:01,380 mod de a gândi la asta. 1344 01:02:01,380 --> 01:02:05,280 >> Deci, aceasta este o altă funcție, ceva pentru ca voi să cod, hellofunction.c. 1345 01:02:05,280 --> 01:02:08,240 Vom trece că de acum, dar acest lucru este ceva ce am să vă încurajez să 1346 01:02:08,240 --> 01:02:09,740 practica pe cont propriu. 1347 01:02:09,740 --> 01:02:12,510 Scrieți un program în care apelurile principale o altă funcție care imprimă un 1348 01:02:12,510 --> 01:02:13,750 salut pentru utilizator. 1349 01:02:13,750 --> 01:02:17,750 Se ia în esență Salut lume și abstractizare care printf în 1350 01:02:17,750 --> 01:02:18,680 o altă funcție. 1351 01:02:18,680 --> 01:02:22,360 Dar nu vom face asta chiar acum pentru că nu avem la fel de mult timp 1352 01:02:22,360 --> 01:02:23,350 a plecat ca mi-ar fi plăcut. 1353 01:02:23,350 --> 01:02:26,250 >> Deci, declarația funcției. 1354 01:02:26,250 --> 01:02:28,080 Am văzut asta la fel de bine. 1355 01:02:28,080 --> 01:02:31,180 Dacă doriți să scrieți o altă funcție, aveți nevoie pentru a lăsa calculatorul să știe și 1356 01:02:31,180 --> 01:02:32,600 principal știe că ea există. 1357 01:02:32,600 --> 01:02:37,140 Deci, ce facem noi este mai principal, ne scrie tip returnat, numele, și 1358 01:02:37,140 --> 01:02:42,970 parametri, iar apoi jos principal, aici, vom copia de fapt acea linie 1359 01:02:42,970 --> 01:02:45,080 și apoi scrie codul actual. 1360 01:02:45,080 --> 01:02:50,990 Deci, în acest fel, dacă ai apela funcția în principal în partea de sus, principalul știe că 1361 01:02:50,990 --> 01:02:54,650 salut există, de exemplu, dacă am fost pentru a apela salut, iar apoi se pare a 1362 01:02:54,650 --> 01:02:56,710 implementarea jos. 1363 01:02:56,710 --> 01:02:59,680 Ce se întâmplă dacă nu includ acest linia de sus de sus, salut nule (void)? 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> În cazul în care nu includ această linie și solicită principale Bună ziua, eu sunt 1366 01:03:06,560 --> 01:03:07,640 va primi o eroare. 1367 01:03:07,640 --> 01:03:10,090 Am de gând pentru a obține o eroare, deoarece compilatorul nu știe 1368 01:03:10,090 --> 01:03:13,070 că există acest lucru. 1369 01:03:13,070 --> 01:03:16,680 Acest lucru este similar cu ce am nu # includ cs50.h. 1370 01:03:16,680 --> 01:03:21,390 Ceea ce în esență cs50.h face este de a pune ajunge șir acolo. 1371 01:03:21,390 --> 01:03:23,120 Se pune int ajunge acolo. 1372 01:03:23,120 --> 01:03:26,570 Se pune toate aceste funcții prototipuri înainte de principal, astfel încât atunci când 1373 01:03:26,570 --> 01:03:29,900 le numesc în principal, principal știe că există aceste lucruri. 1374 01:03:29,900 --> 01:03:31,630 Asta e ceea ce fac acele fișiere ore.. 1375 01:03:31,630 --> 01:03:33,850 Și așa, dacă ai de gând să faceți propriile dvs. funcția, le-ați luat pentru a vă asigura 1376 01:03:33,850 --> 01:03:36,690 ai pus ca prototip acolo. 1377 01:03:36,690 --> 01:03:38,380 Orice întrebări cu privire la acest lucru până acum? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> Argumente în linia de comandă. 1380 01:03:42,490 --> 01:03:44,780 Aceasta este ceea ce vom termina pe, și apoi sperăm că o vom 1381 01:03:44,780 --> 01:03:46,180 stoarce în unele PSET. 1382 01:03:46,180 --> 01:03:48,700 Nu știu dacă vom putea să stoarcă că, în cauza de timp, dar 1383 01:03:48,700 --> 01:03:51,560 cu voi, cei care sunt aici, si daca Vreți să spun după un pic, am 1384 01:03:51,560 --> 01:03:54,290 pot merge peste el afară. 1385 01:03:54,290 --> 01:03:56,020 Dar vom termina cu argumente în linia de comandă 1386 01:03:56,020 --> 01:03:58,510 pentru ultimele 15 minute. 1387 01:03:58,510 --> 01:03:59,930 Ne vom trezi, Michael? 1388 01:03:59,930 --> 01:04:01,180 Te-ai trezit? 1389 01:04:01,180 --> 01:04:01,660 Bun. 1390 01:04:01,660 --> 01:04:03,760 Nu știu dacă dormi cu ochii închiși. 1391 01:04:03,760 --> 01:04:05,800 Ar fi dificil. 1392 01:04:05,800 --> 01:04:07,180 >> Argumente în linia de comandă. 1393 01:04:07,180 --> 01:04:10,430 Acestea sunt o modalitate de a transmite informații într-un program. 1394 01:04:10,430 --> 01:04:12,780 În cele din urmă, ne vom întâlni pe alții. 1395 01:04:12,780 --> 01:04:15,600 Dar, în esență, vom opri scris int main (void), dacă vrem să 1396 01:04:15,600 --> 01:04:16,720 ia unele argumente în linia de comandă. 1397 01:04:16,720 --> 01:04:19,850 Vom scrie acest lucru numit int main (int argc, 1398 01:04:19,850 --> 01:04:22,430 șir argv, paranteze. 1399 01:04:22,430 --> 01:04:23,710 Că este confuz. 1400 01:04:23,710 --> 01:04:26,070 Aceasta este o mulțime de scrisori, care nu sunt în umană engleză, așa că am de gând să 1401 01:04:26,070 --> 01:04:27,680 despachetați-le chiar acum. 1402 01:04:27,680 --> 01:04:30,450 >> Argc reprezintă numărul de argumente - 1403 01:04:30,450 --> 01:04:32,600 și din nou, toate acestea vor fi disponibil on-line - 1404 01:04:32,600 --> 01:04:34,280 și care este numărul de argumente. 1405 01:04:34,280 --> 01:04:37,940 Argv standuri pentru vector argument, și acestea sunt argumentele ei înșiși. 1406 01:04:37,940 --> 01:04:38,830 Este o serie de siruri de caractere. 1407 01:04:38,830 --> 01:04:40,880 Am văzut de fapt o matrice de siruri de caractere înainte de ziua de azi. 1408 01:04:40,880 --> 01:04:44,390 Am creat o în ultima PROGRAM am codat. 1409 01:04:44,390 --> 01:04:45,720 >> Deci, aici este un exemplu. 1410 01:04:45,720 --> 01:04:50,230 Eu scriu. / Ohai CS50 secțiune pe linia mea de comandă. 1411 01:04:50,230 --> 01:04:54,090 Argc în acest caz este egal cu 3. 1412 01:04:54,090 --> 01:05:01,170 Argv suport 0 este Ohai, argv suport 1 este CS50, argv suport 2 este de secțiune. 1413 01:05:01,170 --> 01:05:05,160 Din nou, argc reprezintă numărul de argumente, și pentru excursie te-ai trezit un pic 1414 01:05:05,160 --> 01:05:08,710 bit, contăm întotdeauna numele de funcție ca primul argument. 1415 01:05:08,710 --> 01:05:12,350 Deci, în acest caz, există trei argumente, numele funcției 1416 01:05:12,350 --> 01:05:14,590 și apoi cei doi pe care am tastat inch 1417 01:05:14,590 --> 01:05:18,900 >> Apoi, vom salva pe cei Argumentele ei înșiși în argv. 1418 01:05:18,900 --> 01:05:22,690 Și, din nou, la fel cum am văzut mai înainte, am făcut acest lucru în ultimul program am codat. 1419 01:05:22,690 --> 01:05:27,110 Puteți trece prin matrice de argv și a obține aceste siruri de caractere. 1420 01:05:27,110 --> 01:05:28,830 Asta-i esență, ceea ce am făcut la sfârșitul ultimei programul nostru. 1421 01:05:28,830 --> 01:05:33,190 Am ales un nume aleatoriu și apoi sa dus la nume indiferent de suport și imprimate 1422 01:05:33,190 --> 01:05:34,580 out șir localizate acolo. 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> Pe partea de sus a doar matrice, pentru că siruri de caractere în sine sunt tablouri, ca 1425 01:05:43,670 --> 01:05:46,320 a vorbit despre, puteți avea matrice de matrice, care este 1426 01:05:46,320 --> 01:05:48,530 în esență, ceea ce este argv. 1427 01:05:48,530 --> 01:05:51,370 Într-un fel vă puteți gândi la acest lucru este de rânduri și coloane. 1428 01:05:51,370 --> 01:05:54,750 Eu pot trage chiar acum. 1429 01:05:54,750 --> 01:05:57,370 Deci, argv - 1430 01:05:57,370 --> 01:05:58,630 că nu e stergerea. 1431 01:05:58,630 --> 01:05:59,880 Să tragem în Ohai. 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> Deci, dacă am scris în, Ohai secțiunea CS50, Am de gând să trunchia 1434 01:06:12,490 --> 01:06:14,520 Secțiunea pentru acest exemplu. 1435 01:06:14,520 --> 01:06:29,026 Dar, în esență, mi multi-dimensionale matrice, Ohai CS50, 1436 01:06:29,026 --> 01:06:32,200 vom face secta. 1437 01:06:32,200 --> 01:06:34,610 Deci, aici, eu pot accesa - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 dacă dau doar argv un număr - 1440 01:06:45,710 --> 01:06:46,390 acest lucru este greșit. 1441 01:06:46,390 --> 01:06:49,020 Ce e în neregulă în această schemă? 1442 01:06:49,020 --> 01:06:49,690 >> STUDENT: Start de la zero. 1443 01:06:49,690 --> 01:06:50,350 >> Jason Hirschhorn: Ar trebui începe de la zero. 1444 01:06:50,350 --> 01:06:52,940 Ar trebui, probabil, de asemenea, roti, dar deoarece am deja desenat pe, eu sunt 1445 01:06:52,940 --> 01:06:54,120 de gând să-l lase pe acolo pentru acum. 1446 01:06:54,120 --> 01:06:55,160 Dar aceasta începe de la zero. 1447 01:06:55,160 --> 01:06:56,410 Asta-i drept. 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 Îmi pare rău dacă acest lucru este mic. 1450 01:07:00,120 --> 01:07:01,370 Poate voi un fel de a vedea? 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 Deci, dacă am face argv 0, voi obține toate de Ohai. 1453 01:07:06,670 --> 01:07:08,555 Dacă fac argv 1, voi lua tot de CS50. 1454 01:07:08,555 --> 01:07:10,720 Dacă fac argv 2, voi lua tot de secte. 1455 01:07:10,720 --> 01:07:13,370 >> Dar acum, așa cum am spus, siruri de caractere sunt tablouri în sine. 1456 01:07:13,370 --> 01:07:19,740 Deci, ce pot să fac este să pot trata acest ca un tablou multi-dimensional, și am 1457 01:07:19,740 --> 01:07:24,190 se poate face ceva de-a lungul liniilor de argv 0, 0, ceea ce îmi dă doar 1458 01:07:24,190 --> 01:07:25,400 caracter 0. 1459 01:07:25,400 --> 01:07:28,760 Argv 0, 1, ceea ce îmi dă doar h.. 1460 01:07:28,760 --> 01:07:33,960 Argv 1, 3, ceea ce îmi dă doar aceasta 0 aici în CS50. 1461 01:07:33,960 --> 01:07:37,690 >> Deci, deoarece siruri de caractere în sine sunt tablouri, punem 1462 01:07:37,690 --> 01:07:38,540 că într-un alt tablou. 1463 01:07:38,540 --> 01:07:42,850 Avem acum serie de matrice, și noi poate indexa în prima matrice și 1464 01:07:42,850 --> 01:07:44,840 apoi indice în a doua matrice nostru. 1465 01:07:44,840 --> 01:07:48,650 Și, după cum v-ați aștepta, am face asta de a pune doar pe cei doi - 1466 01:07:48,650 --> 01:07:51,760 Noi facem paranteze pătrate doar chiar una lângă alta. 1467 01:07:51,760 --> 01:07:58,930 Deci, în acest exemplu, argv 1 este CS50 și argv 1, 2, așa cum am spus, este de doar 5. 1468 01:07:58,930 --> 01:08:02,120 Are cineva întrebări despre matrice multi-dimensionale? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 Voi fac minunat. 1471 01:08:06,380 --> 01:08:07,750 Dulce. 1472 01:08:07,750 --> 01:08:11,980 >> Deci, avem un alt program chiar aici, și acesta este lucrul finală suntem 1473 01:08:11,980 --> 01:08:13,690 O să fac chiar acum. 1474 01:08:13,690 --> 01:08:18,160 Deci, vreau să scrie un program care ia numele complet de utilizator, două și numai 1475 01:08:18,160 --> 01:08:21,649 două argumente în linia de comandă, și în cele din urmă, imprima un salut la 1476 01:08:21,649 --> 01:08:24,180 Utilizatorul care include prenumele lor. 1477 01:08:24,180 --> 01:08:27,800 Deci, de ce nu iei trei sau patru minute pentru a face acest lucru, iar apoi vom merge 1478 01:08:27,800 --> 01:08:29,870 peste el ca un grup, și apoi vom încheia? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> Și din nou, aici, când spunem ia o numele complet de utilizator de pe descrierea 1481 01:09:48,084 --> 01:09:54,473 de această problemă, ar trebui să fie de comandă argumente de linie, nu cu ajutorul obține șir. 1482 01:09:54,473 --> 01:09:55,450 Da, Marcus? 1483 01:09:55,450 --> 01:09:58,260 >> STUDENT: Deci, atunci când spui doi comandă argumente linie, este faptul că, în plus față de 1484 01:09:58,260 --> 01:10:00,000 . / a alerga, sau - 1485 01:10:00,000 --> 01:10:02,980 >> Jason Hirschhorn: Bună întrebare. 1486 01:10:02,980 --> 01:10:05,995 Face, inclusiv. / Run, trei argumente în linia de comandă. 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 Sau inclusiv. / Personalizate, în acest caz, pentru că este 1489 01:10:11,320 --> 01:10:12,360 numele acestui fișier. 1490 01:10:12,360 --> 01:10:13,300 Deci, argc ar fi trei. 1491 01:10:13,300 --> 01:10:19,480 Dar vreau doar două argumente acordată programului. 1492 01:10:19,480 --> 01:10:20,400 Eu ar trebui să precizeze că. 1493 01:10:20,400 --> 01:10:23,380 Voi face această schimbare înainte de a posta acestea și le trimite la voi. 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> STUDENT: Ce se întâmplă dacă au un nume de mijloc? 1496 01:10:34,740 --> 01:10:36,800 >> Jason Hirschhorn: Dacă aveți un mijloc nume, nu mai ai noroc. 1497 01:10:36,800 --> 01:10:38,050 Îmi pare rău. 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 Sau, dacă te duci doar de Shakira, esti, de asemenea, de noroc. 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 Da? 1502 01:10:56,425 --> 01:11:00,760 >> STUDENT: Deci, atunci când oamenii nu au cs50.h, nu definesc argv 1503 01:11:00,760 --> 01:11:03,450 ca char stele argv? 1504 01:11:03,450 --> 01:11:05,160 Sau este încă numit string argv? 1505 01:11:05,160 --> 01:11:07,430 >> Jason Hirschhorn: Da. 1506 01:11:07,430 --> 01:11:10,480 Deci șir, din nou, am masca asupra a ceea ce exact se întâmplă acolo. 1507 01:11:10,480 --> 01:11:14,040 Care va fi despachetat poate miercuri, dar în curând. 1508 01:11:14,040 --> 01:11:16,380 E ca și cum roți de formare. 1509 01:11:16,380 --> 01:11:18,370 Pentru că, în esență, este același lucru. 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> Așa că haideți să-un alt minut pentru programul acest lucru, iar apoi vom trece peste 1512 01:11:42,560 --> 01:11:45,130 ca un grup, și apoi cum am spus, încheie. 1513 01:11:45,130 --> 01:11:47,770 Și cred că încă bomboane în plus, Deci voi ar trebui să ia sperăm 1514 01:11:47,770 --> 01:11:49,790 care, sau vă rugăm să luați asta. 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> Ne pare rău dacă sunteți încă scris, dar vreau să se arunca cu capul în și de noi 1517 01:12:22,560 --> 01:12:24,010 se poate termina împreună. 1518 01:12:24,010 --> 01:12:30,470 Deci, am scris în, # include cs50.h, # include stdio.h. 1519 01:12:30,470 --> 01:12:33,970 int main (void), acoladă, ondulat bretele, din interiorul trei linii de 1520 01:12:33,970 --> 01:12:38,760 pseudocod, ia numele complet de utilizator, două și numai două linie de comandă 1521 01:12:38,760 --> 01:12:42,670 argumente, imprimați un salut Utilizatorul care include prenumele lor. 1522 01:12:42,670 --> 01:12:45,810 >> Deci, primul, ia Numele complet al utilizatorului. 1523 01:12:45,810 --> 01:12:47,290 Cine mă poate ajuta să ia numele complet de utilizator? 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 Cum pot face ca o parte? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 Voi ați făcut asta prima parte? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 Ia numele complet de utilizator. 1530 01:13:03,894 --> 01:13:05,860 Ei bine, pentru că o linie de comandă argument, ceea ce ar trebui să scriu? 1531 01:13:05,860 --> 01:13:09,624 Ce ar trebui să se schimbe la Declarația funcția mea? 1532 01:13:09,624 --> 01:13:11,140 >> STUDENT: Nu vrei să fie nulă mai. 1533 01:13:11,140 --> 01:13:11,410 >> Jason Hirschhorn: Exact. 1534 01:13:11,410 --> 01:13:12,385 Nu vreau să fie nulă. 1535 01:13:12,385 --> 01:13:13,630 Ce aș dori-o să fie? 1536 01:13:13,630 --> 01:13:14,650 >> STUDENT: argc Int. 1537 01:13:14,650 --> 01:13:15,720 >> Jason Hirschhorn: Int argc. 1538 01:13:15,720 --> 01:13:17,430 >> STUDENT: argv String. 1539 01:13:17,430 --> 01:13:19,055 >> Jason Hirschhorn: String argv. 1540 01:13:19,055 --> 01:13:19,705 >> STUDENT: Suport, suport. 1541 01:13:19,705 --> 01:13:20,070 >> Jason Hirschhorn: Suport, suport. 1542 01:13:20,070 --> 01:13:21,780 Așa este, și că este de fapt, ce am de gând pentru a obține 1543 01:13:21,780 --> 01:13:22,820 Numele complet al utilizatorului. 1544 01:13:22,820 --> 01:13:24,070 Ei au de gând să-l pun acolo. 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 Astfel că unul a făcut. 1547 01:13:28,780 --> 01:13:30,780 Deci, acum vreau două și numai două argumente în linia de comandă. 1548 01:13:30,780 --> 01:13:35,065 Deci Noe, ceea ce este un fel pot a verifica numărul de comandă 1549 01:13:35,065 --> 01:13:36,315 argumente în linia de am? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> STUDENT: Puteți face o declarație, dacă. 1552 01:13:40,725 --> 01:13:42,270 >> Jason Hirschhorn: Dacă afirmație, exact. 1553 01:13:42,270 --> 01:13:44,830 Ce vreau ca o condiție? 1554 01:13:44,830 --> 01:13:48,370 >> STUDENT: Dacă argc mai mare decât 3. 1555 01:13:48,370 --> 01:13:52,485 >> Jason Hirschhorn: Dacă argc este mai mare de 3. 1556 01:13:52,485 --> 01:13:58,430 Dacă argc mai mare de 3, ce să fac? 1557 01:13:58,430 --> 01:13:59,400 >> ELEVUL: Înapoi 1. 1558 01:13:59,400 --> 01:14:01,856 >> Jason Hirschhorn: Înapoi 1. 1559 01:14:01,856 --> 01:14:04,050 Se va asigura că am două și numai două? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> STUDENT: Nu. 1562 01:14:07,820 --> 01:14:13,110 Dacă argc este mai mare decât 3 și mai puțin de 2. 1563 01:14:13,110 --> 01:14:17,770 >> Jason Hirschhorn: Dacă argc este mai mare mare de 3 și argc este mai mică de 2. 1564 01:14:17,770 --> 01:14:21,540 Ceea ce e un mod în care pot scrie acest lucru în doar o linie, sau fără a utiliza ca 1565 01:14:21,540 --> 01:14:23,890 și operatorul boolean? 1566 01:14:23,890 --> 01:14:25,942 >> STUDENT: Nu este egal cu 2. 1567 01:14:25,942 --> 01:14:28,790 >> Jason Hirschhorn: Dacă argc nu este egal cu 2. 1568 01:14:28,790 --> 01:14:29,260 Exact. 1569 01:14:29,260 --> 01:14:34,890 Deci, dacă argc nu este egal cu 2, că mi va da acest program, 1570 01:14:34,890 --> 01:14:37,250 personalizat, atunci când l-am alerga, și care va da-mi cât de multe 1571 01:14:37,250 --> 01:14:38,740 argumente în linia de comandă? 1572 01:14:38,740 --> 01:14:42,110 Câte voi verifica pentru? 1573 01:14:42,110 --> 01:14:42,370 >> Scuze. 1574 01:14:42,370 --> 01:14:43,400 Lasă-mă să reformulez asta. 1575 01:14:43,400 --> 01:14:46,620 Dacă argc = 2, cât de multe lucruri a făcut utilizatorul scrie în linie? 1576 01:14:46,620 --> 01:14:47,500 >> STUDENT: Unul. 1577 01:14:47,500 --> 01:14:49,120 >> Jason Hirschhorn: Doar unul. 1578 01:14:49,120 --> 01:14:50,430 Deci, înainte, ai avut dreptate, Noah. 1579 01:14:50,430 --> 01:14:52,192 Ce am de fapt nevoie pentru a pune acolo? 1580 01:14:52,192 --> 01:14:53,640 >> STUDENT: Asta este egal cu 3. 1581 01:14:53,640 --> 01:14:55,970 >> Jason Hirschhorn: argc nu este egal cu 3. 1582 01:14:55,970 --> 01:15:00,250 Vreau să egaleze 3 pentru că vreau personalizată plus celelalte două. 1583 01:15:00,250 --> 01:15:02,560 Deci, dacă argc nu este egal cu 3, se întoarcă 1. 1584 01:15:02,560 --> 01:15:04,475 De ce ai spus întoarce 1? 1585 01:15:04,475 --> 01:15:06,180 >> STUDENT: Pentru că înseamnă că e greșit. 1586 01:15:06,180 --> 01:15:08,420 >> Jason Hirschhorn: Asta înseamnă că e greșit, și ceea ce este că va face? 1587 01:15:08,420 --> 01:15:10,360 >> STUDENT: Re-solicita utilizatorului. 1588 01:15:10,360 --> 01:15:11,940 >> Jason Hirschhorn: Este de gând să renunțe programul, așa că va trebui să rulați 1589 01:15:11,940 --> 01:15:14,520 din nou, dar nu avem nimic aici pentru a cere-le din nou. 1590 01:15:14,520 --> 01:15:14,840 Nu am cerut asta. 1591 01:15:14,840 --> 01:15:15,990 Deci, asta e exact dreapta. 1592 01:15:15,990 --> 01:15:17,680 Reveni doar 1 închide programul. 1593 01:15:17,680 --> 01:15:18,520 Mare. 1594 01:15:18,520 --> 01:15:21,600 >> Și imprima un salut pentru utilizator care cuprinde prenumele lor. 1595 01:15:21,600 --> 01:15:24,010 Cum pot face asta? 1596 01:15:24,010 --> 01:15:25,990 Anna? 1597 01:15:25,990 --> 01:15:26,580 >> STUDENT: printf. 1598 01:15:26,580 --> 01:15:27,785 >> Jason Hirschhorn: printf. 1599 01:15:27,785 --> 01:15:28,640 >> STUDENT: (" 1600 01:15:28,640 --> 01:15:30,460 >> JASON Hirschhorn: ( 1601 01:15:30,460 --> 01:15:31,600 >> STUDENT: "Bună ziua 1602 01:15:31,600 --> 01:15:33,210 >> Jason Hirschhorn: "Bună ziua 1603 01:15:33,210 --> 01:15:34,800 >> STUDENT:% s 1604 01:15:34,800 --> 01:15:37,230 >> Jason Hirschhorn:% s 1605 01:15:37,230 --> 01:15:38,840 >> STUDENT: / n 1606 01:15:38,840 --> 01:15:41,030 >> Jason Hirschhorn: / n 1607 01:15:41,030 --> 01:15:43,120 >> STUDENT: ", 1608 01:15:43,120 --> 01:15:45,130 >> Jason Hirschhorn: ", 1609 01:15:45,130 --> 01:15:46,620 >> STUDENT: Argv 1610 01:15:46,620 --> 01:15:47,080 >> Jason Hirschhorn: Îmi pare rău? 1611 01:15:47,080 --> 01:15:47,750 >> STUDENT: Argv 1612 01:15:47,750 --> 01:15:48,840 >> Jason Hirschhorn: Argv 1613 01:15:48,840 --> 01:15:50,190 >> STUDENT: Piata paranteze 1. 1614 01:15:50,190 --> 01:15:51,230 >> Jason Hirschhorn: paranteze pătrate? 1615 01:15:51,230 --> 01:15:51,870 >> STUDENT: 1. 1616 01:15:51,870 --> 01:15:54,050 >> Jason Hirschhorn: 1. 1617 01:15:54,050 --> 01:15:55,850 >> STUDENT: Si) virgulă. 1618 01:15:55,850 --> 01:15:58,290 >> Jason Hirschhorn:) virgulă. 1619 01:15:58,290 --> 01:16:00,250 Să alergăm această. 1620 01:16:00,250 --> 01:16:03,730 Face personalizate. 1621 01:16:03,730 --> 01:16:06,392 . / Personalizate. 1622 01:16:06,392 --> 01:16:07,420 Ea tocmai a demisionat. 1623 01:16:07,420 --> 01:16:10,390 De ce sa renuntat? 1624 01:16:10,390 --> 01:16:11,310 >> STUDENT: Nu ați pus nici un argument. 1625 01:16:11,310 --> 01:16:12,560 >> Jason Hirschhorn: nu am pune orice argumente inch 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 Arata grozav. 1628 01:16:16,920 --> 01:16:18,130 Ați nimerit-o. 1629 01:16:18,130 --> 01:16:22,420 Deci, din nou, te-ai dus în argv și tu verificat la argc început. 1630 01:16:22,420 --> 01:16:24,390 Acestea sunt două importante lucruri să-și amintească. 1631 01:16:24,390 --> 01:16:29,250 Deci, în ultimele noastre două minute înainte am pleca, nu vom ajunge la PSET două, dar 1632 01:16:29,250 --> 01:16:33,585 cum am spus, dacă vrei să stai după timp de 10 minute, aș el fericit pentru a merge 1633 01:16:33,585 --> 01:16:35,710 peste cu voi logice pentru aceste seturi de probleme. 1634 01:16:35,710 --> 01:16:37,930 Am avut o mulțime de a acoperi azi asa ca nu am ajunge la ele. 1635 01:16:37,930 --> 01:16:39,820 În general, îmi place să includă că, la sfârșitul. 1636 01:16:39,820 --> 01:16:42,150 Deci, dacă vrei să stai în jur, lipi în jurul valorii de 10 minute. 1637 01:16:42,150 --> 01:16:42,990 Vom face asta. 1638 01:16:42,990 --> 01:16:46,250 >> Apoi, așa cum am menționat la început, PSET zero și unu, vom ajunge ca 1639 01:16:46,250 --> 01:16:48,040 feedback-ul înapoi la tine, ca cel mai scurt timp posibil. 1640 01:16:48,040 --> 01:16:51,260 Scopul este de a obtine PSET un feedback-ul, parte comentarii, 1641 01:16:51,260 --> 01:16:52,850 înainte de PSET doi se datorează. 1642 01:16:52,850 --> 01:16:56,730 Deci, dacă ați făcut unele greșeli sau stilistic, lucrurile ar putea fi mai bine, 1643 01:16:56,730 --> 01:17:01,330 veți avea aceste informații, astfel încât să nu va face aceleași lucruri în PSET două. 1644 01:17:01,330 --> 01:17:06,140 Și apoi în viitor, veți obține toate de feedback-ul dvs. PSET și comentarii 1645 01:17:06,140 --> 01:17:08,190 înapoi înainte de următoarea este datorată. 1646 01:17:08,190 --> 01:17:12,695 >> În cele din urmă, dacă am putea pune într-un alt mufă pentru feedback-ul. 1647 01:17:12,695 --> 01:17:13,935 Aceasta este prima secțiune. 1648 01:17:13,935 --> 01:17:15,920 Acesta a fost primul meu secțiune predarea acestui an. 1649 01:17:15,920 --> 01:17:16,930 Du-te acolo. 1650 01:17:16,930 --> 01:17:19,800 Scrie lucruri, bune și rele, și voi folosi pentru a face 1651 01:17:19,800 --> 01:17:21,320 secțiune mai bine data viitoare. 1652 01:17:21,320 --> 01:17:24,870 Și ultimul, din nou, în cazul în care aveți nevoie nimic, lasă-mă să știu. 1653 01:17:24,870 --> 01:17:26,410 Sunt mai mult decât fericit să vă ajut. 1654 01:17:26,410 --> 01:17:28,420 Dacă doriți doar bomboane, am va avea bomboane in plus. 1655 01:17:28,420 --> 01:17:29,800 Sunt fericit să-l aducă la tine. 1656 01:17:29,800 --> 01:17:31,190 >> Acest lucru va fi un curs uimitor. 1657 01:17:31,190 --> 01:17:34,900 Acesta este unul dintre, dacă nu favoritul meu Desigur, mi-am luat în viața mea, 1658 01:17:34,900 --> 01:17:37,220 și sper că va fi ca minunat pentru tine. 1659 01:17:37,220 --> 01:17:40,090 Deci, vreau să fac totul în puterea mea să-l că minunat pentru voi face. 1660 01:17:40,090 --> 01:17:46,590 Am de gând să trimită un e-mail dacă ești în secțiunea mea sau Noe, și 1661 01:17:46,590 --> 01:17:50,310 O să încerc și programa cu fiecare dintre voi un timp pentru a verifica în peste 1662 01:17:50,310 --> 01:17:53,820 următoarele două săptămâni, așa că am putea obține un sentiment de ceea ce fundal CS este, 1663 01:17:53,820 --> 01:17:58,170 și-l va ajuta, de asemenea, ma adapta aceste secțiuni pentru a se potrivi mai bine nevoilor dumneavoastră. 1664 01:17:58,170 --> 01:17:59,740 Deci, asta e ce am aliniat. 1665 01:17:59,740 --> 01:18:02,260 Din nou, ne vedem afara dacă vrei să fii acolo. 1666 01:18:02,260 --> 01:18:03,700 Acest lucru a fost de doua saptamani secțiune. 1667 01:18:03,700 --> 01:18:04,950 Multumesc baieti atât de mult. 1668 01:18:04,950 --> 01:18:09,067