1 00:00:00,000 --> 00:00:11,375 2 00:00:11,375 --> 00:00:14,430 >> DAVID MALAN: Acesta este CS50, iar această este începutul săptămânii unul. 3 00:00:14,430 --> 00:00:17,930 Și ceea ce ne-am gandit face este trage înapoi perdea de un dispozitiv care mulți 4 00:00:17,930 --> 00:00:20,970 de ai mers tu, probabil, trecut acum de ani de zile, dar niciodată, probabil, destul de 5 00:00:20,970 --> 00:00:22,280 cunoscut ceea ce este. 6 00:00:22,280 --> 00:00:26,000 Deci, acest dispozitiv va arata, probabil, familiar pentru majoritatea dintre voi de acum. 7 00:00:26,000 --> 00:00:32,972 >> [Redare video] 8 00:00:32,972 --> 00:00:36,150 >> -Un triumf de matematică și calificare mecanic este această mare nou 9 00:00:36,150 --> 00:00:39,120 calculator automat la Universitatea Harvard. 10 00:00:39,120 --> 00:00:43,220 Probleme complexe de matematică a pus prin masina sub formă codificată pe 11 00:00:43,220 --> 00:00:47,840 bandă sunt rezolvate cu precizie într-un minut fracțiune din timpul necesar pentru 12 00:00:47,840 --> 00:00:49,090 Calculul uman. 13 00:00:49,090 --> 00:01:00,090 14 00:01:00,090 --> 00:01:04,080 >> Proiectat pentru a accelera toate formele de cercetării matematice și științifice, 15 00:01:04,080 --> 00:01:07,860 creier mecanic gigant va de lucru pentru Statele Unite ale Americii 16 00:01:07,860 --> 00:01:09,180 Navy până la sfârșitul războiului. 17 00:01:09,180 --> 00:01:18,180 18 00:01:18,180 --> 00:01:18,600 >> [END redare video] 19 00:01:18,600 --> 00:01:21,980 >> DAVID MALAN: Deci, asta e ceea ce vedeți în Centrul de Stiinta, care este în cazul în care 20 00:01:21,980 --> 00:01:23,540 că aparatul este acum găzduit. 21 00:01:23,540 --> 00:01:25,910 Tu de fapt, a se vedea doar o parte din ea. 22 00:01:25,910 --> 00:01:28,800 Numai o parte este în prezent pe ecran, și că este un dispozitiv numit 23 00:01:28,800 --> 00:01:31,970 Mark I, și a fost în esență, un calculator foarte mare. 24 00:01:31,970 --> 00:01:36,250 Acesta a fost urmat de Mark II, și e de la Mark II, care suntem de fapt 25 00:01:36,250 --> 00:01:39,210 obține un pic de lexicon. 26 00:01:39,210 --> 00:01:43,780 >> Acesta este primul caz înregistrat de ceva esti pe cale de a deveni tot 27 00:01:43,780 --> 00:01:45,860 prea familiarizat cu peste parcursul semestrului - 28 00:01:45,860 --> 00:01:48,460 și anume, un bug. 29 00:01:48,460 --> 00:01:52,030 Deci, sa dovedit la un moment dat Mark Dispozitiv al II-lea nu a fost funcționează 30 00:01:52,030 --> 00:01:55,930 în mod corespunzător, și la o inspecție mai atentă, a existat într-adevăr o problemă - o molie - 31 00:01:55,930 --> 00:01:56,910 că molie - 32 00:01:56,910 --> 00:01:57,610 interior. 33 00:01:57,610 --> 00:02:03,130 Și, de atunci, ne-am referit la greșeli în programe ca bug-uri. 34 00:02:03,130 --> 00:02:05,330 Astfel mai mult pe care să vină. 35 00:02:05,330 --> 00:02:08,919 >> Vorbind de film, precum și, dacă te nu au deja, știu că CS50 este 36 00:02:08,919 --> 00:02:09,669 evident filmat. 37 00:02:09,669 --> 00:02:13,330 Prelegerile merge de obicei imediat după clasă într-un fel de pre-lansare 38 00:02:13,330 --> 00:02:17,240 format nemodificat, și apoi o zi sau două mai târziu, am pus o rezoluție mai mare 39 00:02:17,240 --> 00:02:18,490 și versiunea mai mare calitate. 40 00:02:18,490 --> 00:02:21,800 Poate vă amintiți Vanessa, care a avut norocul de a juca cu Google sticla, 41 00:02:21,800 --> 00:02:23,540 pe care mi-am amintit de taxa de data asta. 42 00:02:23,540 --> 00:02:26,450 Deci, dacă doriți să vină după clasa și să se joace, ei ar trebui să funcționeze în prezent. 43 00:02:26,450 --> 00:02:30,816 Și dacă doriți să vedeți ce Vanessa văzut de altă zi, ceea ce veți vedea 44 00:02:30,816 --> 00:02:35,260 aici - permiteți-mi să crească volumul aici pe laptop-ul meu. 45 00:02:35,260 --> 00:02:35,690 >> [Redare video] 46 00:02:35,690 --> 00:02:37,620 >> -Deci, lasă-mă să coadă este în sus. 47 00:02:37,620 --> 00:02:38,070 Bine. 48 00:02:38,070 --> 00:02:40,930 Deci atinge acest. 49 00:02:40,930 --> 00:02:41,720 Bine. 50 00:02:41,720 --> 00:02:43,470 OK, sticlă. 51 00:02:43,470 --> 00:02:44,720 Înregistrarea unui clip video. 52 00:02:44,720 --> 00:02:47,240 53 00:02:47,240 --> 00:02:48,640 >> Bine. 54 00:02:48,640 --> 00:02:50,446 Vanessa? 55 00:02:50,446 --> 00:02:50,870 >> [END redare video] 56 00:02:50,870 --> 00:02:53,485 >> DAVID MALAN: Bine, deci motivul că nu au de lucru pentru majoritatea dintre voi la 57 00:02:53,485 --> 00:02:56,540 sfârșitul clasei a fost pentru că am procedat pentru a înregistra o oră de care 58 00:02:56,540 --> 00:02:59,505 imagini arătând spre mine după Mi-am pus ochelarii jos. 59 00:02:59,505 --> 00:03:04,010 Așa că astăzi, le voi lăsa pe, dar mulțumesc vă la Vanessa pentru a fi o astfel de 60 00:03:04,010 --> 00:03:05,420 sport bun. 61 00:03:05,420 --> 00:03:08,330 >> Între timp, un cuplu de anunțuri înainte de a merge înainte azi. 62 00:03:08,330 --> 00:03:11,120 Deci unul, CS50 are o tradiție de a face ceea ce putem pentru a încerca să facă o foarte 63 00:03:11,120 --> 00:03:12,630 clasa mare simt mai mic. 64 00:03:12,630 --> 00:03:16,640 Și spre acest scop, cele mai multe în fiecare vineri, ne-am adunat la un restaurant din 65 00:03:16,640 --> 00:03:20,160 pătrat, Foc și gheață, cu 30 sau 40 de colegii dumneavoastră, eu, o parte din 66 00:03:20,160 --> 00:03:22,520 cadrele didactice, și ne-am au un prânz foarte casual. 67 00:03:22,520 --> 00:03:26,280 Noi de multe ori invita prietenii din industrie, absolvenți ai clasei, absolvenți ai 68 00:03:26,280 --> 00:03:30,340 colegiu, într-adevăr doar pentru a discuta fiecare pe alții, vorbesc despre viața de după 69 00:03:30,340 --> 00:03:32,260 colegiu, viața în colegiu, și altele asemenea. 70 00:03:32,260 --> 00:03:35,570 Deci, dacă v-ar dori să ia parte la această Primul astfel de masa de prânz vineri, la 71 00:03:35,570 --> 00:03:38,640 13:15, cap de care URL la un moment dat. 72 00:03:38,640 --> 00:03:40,830 >> Spațiul este limitat, asa ca vom face primul venit primul servit. 73 00:03:40,830 --> 00:03:43,880 Dar vom face acest lucru din nou, pe o recurente bază, astfel încât să nu vă faceți griji dacă nu 74 00:03:43,880 --> 00:03:45,800 face în acest prim lot. 75 00:03:45,800 --> 00:03:48,960 >> Acum, în ceea ce privește resursele furnizate curricularly de curs, 76 00:03:48,960 --> 00:03:51,500 există o mulțime întreagă, iar dacă nu aveți tras în sus site-ul cursului 77 00:03:51,500 --> 00:03:54,310 deja, în special, sub cursuri, veți găsi că totul 78 00:03:54,310 --> 00:03:57,070 am făcut săptămâna trecută este acolo, atât în film și un fel 79 00:03:57,070 --> 00:03:58,435 de formă electronică. 80 00:03:58,435 --> 00:04:01,210 Dar dincolo de clipuri video, veți găsi că în prezent există text integral 81 00:04:01,210 --> 00:04:03,290 transcrieri, de exemplu, de fiecare curs. 82 00:04:03,290 --> 00:04:08,260 >> Deci, dacă am merge de fapt, înapoi la acest ecran aici cu Vanessa, și navigați 83 00:04:08,260 --> 00:04:12,010 la colțul de jos al ecranului, veți găsi că, de fapt, nu pentru 84 00:04:12,010 --> 00:04:15,060 Curs de vineri, dar dacă ne întoarcem la Miercuri, întrucât această caracteristică are o 85 00:04:15,060 --> 00:04:17,870 câteva zile, veți găsi că puteți de fapt trage în sus, pentru o mai bună sau pentru 86 00:04:17,870 --> 00:04:22,260 mai rău, fiecare cuvânt pe care I sau un voluntar pe scenă spus. 87 00:04:22,260 --> 00:04:23,270 Și, mai mult decât atât. 88 00:04:23,270 --> 00:04:25,700 Puteți să-l căuta de fapt, puteți faceți clic pe oricare dintre aceste fraze, sari 89 00:04:25,700 --> 00:04:29,250 la acel moment, în film, tot spre și sfârșitul a face materialul tot 90 00:04:29,250 --> 00:04:30,620 mai navigabil. 91 00:04:30,620 --> 00:04:34,550 >> Dar dacă nu vrei să-l urmeze în astfel de detaliu, veți găsi, de 92 00:04:34,550 --> 00:04:39,710 exemplu, acest meniu mic aici pentru 1.5x viteza, viteza de 2x, sau i-am f deja 93 00:04:39,710 --> 00:04:42,100 vorbesc prea repede pentru tine, viteza de 0.75x. 94 00:04:42,100 --> 00:04:45,190 Deci dăm seama de ce este disponibile acolo pentru tine. 95 00:04:45,190 --> 00:04:49,120 >> Dar, dincolo de faptul că, pentru prelegeri, realiza pe care le face, de asemenea, aceste resurse 96 00:04:49,120 --> 00:04:50,530 disponibile, de asemenea. 97 00:04:50,530 --> 00:04:55,240 Slide-uri, de exemplu cod, nimic din ce am face pe scenă sau în avans de clasă, 98 00:04:55,240 --> 00:04:58,160 Vom posta acolo, astfel încât să puteți juca de-a lungul la domiciliu sau în Sanders. 99 00:04:58,160 --> 00:05:01,280 Dar ceea ce, de asemenea, am gândit să facem acest lucru an pentru prima dată, este, de asemenea, 100 00:05:01,280 --> 00:05:04,240 vă oferă cu walkthroughs din aceste exemple. 101 00:05:04,240 --> 00:05:08,120 Din ce în ce, așa cum am reflectat asupra Valoarea de prelegeri CS50 lui, am început 102 00:05:08,120 --> 00:05:11,450 la întrebarea cât de util este pentru voi să stea acolo, pentru mine să stau 103 00:05:11,450 --> 00:05:15,020 aici, și pentru mine să vorbesc la tine, în special ca material, 104 00:05:15,020 --> 00:05:17,020 exemple, devin mai complexe. 105 00:05:17,020 --> 00:05:20,790 Pentru că invariabil, după o serie de minute, cineva va fi zona de afară, și 106 00:05:20,790 --> 00:05:24,310 atunci ți-e dor ceva despre cheie a unor de exemplu, și apoi ești în esență, 107 00:05:24,310 --> 00:05:27,720 plecat pentru porțiunea rămasă din clasa, care nu este cea mai bună utilizare a 108 00:05:27,720 --> 00:05:31,330 timp, sau, într-adevăr, a noastră colectiv ca o clasă. 109 00:05:31,330 --> 00:05:33,920 >> Și astfel ceea ce am crezut că vom încerca să facem, în special pentru unele dintre cele mai 110 00:05:33,920 --> 00:05:37,700 exemple complexe, care s-ar putea să nu fac justiție la clasă, că nu s-ar putea 111 00:05:37,700 --> 00:05:41,560 au timp de la clasa, sau s-ar putea doar zona în timpul, este vom producem 112 00:05:41,560 --> 00:05:45,500 o serie de walkthroughs acestor exemple, astfel că, dacă te duci la, pentru 113 00:05:45,500 --> 00:05:51,410 exemplu, pagina filme vinerea trecută aici în exemple, veți vedea că 114 00:05:51,410 --> 00:05:54,050 pentru vineri, există acum acest link-ul de walkthroughs. 115 00:05:54,050 --> 00:05:55,780 Și formatul acestor se va schimba în timp. 116 00:05:55,780 --> 00:05:58,080 Pentru moment, suntem cu ajutorul unui simplu Lista de redare YouTube. 117 00:05:58,080 --> 00:06:00,980 >> Dar ceea ce am făcut cu echipa noastră de producție apoi sa mers pe jos prin fiecare 118 00:06:00,980 --> 00:06:04,480 și fiecare dintre aceste exemple din nou, sperăm subliniind în mult mai mare 119 00:06:04,480 --> 00:06:07,550 claritate exact ceea ce takeaways ar putea fi sau ar trebui să fie de la fiecare. 120 00:06:07,550 --> 00:06:10,560 Deci, veți găsi, de exemplu, de la ultima săptămână, toate exemplele de reîncărcare 121 00:06:10,560 --> 00:06:12,950 am trecut prin terminat liniar în acest mod. 122 00:06:12,950 --> 00:06:15,840 Deci, nu ezitați să se angajeze sau nu se angajeze în acest material. 123 00:06:15,840 --> 00:06:19,140 Într-adevăr o temă de acest curs special este că există, probabil, mai mult 124 00:06:19,140 --> 00:06:21,870 în modul de resurse decât tine ar putea absorbi, eventual, peste 125 00:06:21,870 --> 00:06:23,260 cursul unui semestru. 126 00:06:23,260 --> 00:06:23,980 >> Dar asta e în mod deliberat. 127 00:06:23,980 --> 00:06:26,990 Este menit să fie, astfel încât voi, ca studenții individuale pot auto-select 128 00:06:26,990 --> 00:06:28,070 bazat pe stilul tau de invatare. 129 00:06:28,070 --> 00:06:29,790 Deci, dacă prelegeri lucra pentru tine, mare. 130 00:06:29,790 --> 00:06:31,090 Dacă secțiuni de lucru pentru tine, mare. 131 00:06:31,090 --> 00:06:32,930 În cazul în care walkthroughs de lucru pentru te mai bine, mare. 132 00:06:32,930 --> 00:06:36,980 Este într-adevăr va fi de până la tine de a alege ce resurse funcționează cel mai bine pentru tine. 133 00:06:36,980 --> 00:06:40,380 >> În cele din urmă, datorită unui absolvent de Desigur, vom oferi, de asemenea, un canonic 134 00:06:40,380 --> 00:06:41,890 set de note de scrib. 135 00:06:41,890 --> 00:06:46,270 Deci, mai degrabă decât au căpetenii baieti în prelegeri zmângăleală jos 136 00:06:46,270 --> 00:06:49,880 lucruri care vin în clasă, noi, personal, vă va oferi cu ceea ce am 137 00:06:49,880 --> 00:06:53,410 simt sunt un set canonic de note de te elibereze de acea distragere a atenției, astfel încât 138 00:06:53,410 --> 00:06:57,150 Dacă sunteți aici și angajat, sunteți cu adevărat angajat cu ceea ce se întâmplă, 139 00:06:57,150 --> 00:07:00,110 cu colegii dvs. fac pe etapă, cu ceea ce este pe ecran, 140 00:07:00,110 --> 00:07:03,570 și nu pur și simplu scris cuvânt cu cuvânt ceea ce sa întâmplat a fost spus. 141 00:07:03,570 --> 00:07:06,730 Deci realiza toate aceste resurse sunt disponibile pentru tine. 142 00:07:06,730 --> 00:07:09,210 >> Secționare, ca răspuns la un FAQ, va începe în această miercuri. 143 00:07:09,210 --> 00:07:12,050 În esență, să așteptăm până după mai alte clase sunt realizate astfel încât să putem 144 00:07:12,050 --> 00:07:14,420 reduce numărul de modificări de care avem nevoie pentru a face. 145 00:07:14,420 --> 00:07:20,010 Dar vine în acest weekend, începând Duminică, va fi un timp instanță unul dintre 146 00:07:20,010 --> 00:07:21,360 ceea ce noi numim super-secțiuni. 147 00:07:21,360 --> 00:07:23,990 Acestea vor fi filmat pentru cei care nu pot participa, și, în esență, 148 00:07:23,990 --> 00:07:28,880 capete de curs ne va plimba prin intermediul unor din porțiunea C a cursului, 149 00:07:28,880 --> 00:07:32,330 spre capăt al problemei set unul, care va fi primul nostru C pe 150 00:07:32,330 --> 00:07:33,140 set problemă. 151 00:07:33,140 --> 00:07:36,240 Și acestea vor fi doar secțiuni opționale în anticiparea a ceea ce va 152 00:07:36,240 --> 00:07:40,010 devin punctele recurente au condus de curs de 50 plus 153 00:07:40,010 --> 00:07:41,600 predare semenii săptămânal. 154 00:07:41,600 --> 00:07:45,130 În zilele de duminică sau luni sau marți, ne- au secțiunile 90 minute într-o foarte 155 00:07:45,130 --> 00:07:48,020 sensul tradițional, care va fi oportunități pentru mâini pe și mai mult 156 00:07:48,020 --> 00:07:50,800 revizuirea intim al Materialul cursului. 157 00:07:50,800 --> 00:07:53,820 >> Fără alte introduceri, permiteți-mi să introducă capete ale cursului, care sunt 158 00:07:53,820 --> 00:07:57,380 în spatele scenei cu mine, a face tot ceea ce se întâmplă. 159 00:07:57,380 --> 00:08:02,670 Dacă cei care astăzi aici ma, Rob ar putea adera și Lauren și Iosif și Lucas, toate 160 00:08:02,670 --> 00:08:05,770 din care au fost cu curs de ceva timp. 161 00:08:05,770 --> 00:08:08,450 RJ este al treilea astfel de membru al echipei noastre. 162 00:08:08,450 --> 00:08:11,720 El nu a putut fi astăzi aici, dar el mi-a cerut să arate o fotografie de el. 163 00:08:11,720 --> 00:08:14,600 Nu sunt sigur că a vrut acest lucru unul, dar nu este. 164 00:08:14,600 --> 00:08:18,350 >> Si lasa-ma sa permite echipei să spun salut și să se prezinte astfel încât 165 00:08:18,350 --> 00:08:22,260 ajungi să-i cunoști ca și dvs. colegi de predare propriu acest termen. 166 00:08:22,260 --> 00:08:23,490 >> LAUREN CARVALHO: Hi. 167 00:08:23,490 --> 00:08:24,740 Numele meu este Lauren Carvalho. 168 00:08:24,740 --> 00:08:26,900 Sunt un tutore rezident în Leverett House. 169 00:08:26,900 --> 00:08:31,120 Sunt, de asemenea, foarte încântați să fie un TV cap pentru CS50 acest an. 170 00:08:31,120 --> 00:08:35,830 >> CS50 este o clasa foarte provocator, precum și ca o clasă foarte mare, așa că, dacă 171 00:08:35,830 --> 00:08:38,780 au dubii, dacă vă simțiți ca te care se încadrează în spatele, nu ezitați să 172 00:08:38,780 --> 00:08:43,840 ajunge la oricare dintre noi, la heads@cs50.het, sau pentru a-mi, dacă te-ar 173 00:08:43,840 --> 00:08:46,330 place să se joace cu aur meu Retriever cățeluș. 174 00:08:46,330 --> 00:08:48,060 Aici e Lucas. 175 00:08:48,060 --> 00:08:48,560 >> LUCAS FREITAS: Hei, băieți. 176 00:08:48,560 --> 00:08:49,330 Numele meu este Lucas Freitas. 177 00:08:49,330 --> 00:08:51,880 Sunt un junior [inaudibil] 178 00:08:51,880 --> 00:08:53,630 informatică și lingvistică. 179 00:08:53,630 --> 00:08:58,030 Sunt de fapt din Brazilia, și eu, de asemenea, realiza studii est asiatice. 180 00:08:58,030 --> 00:09:00,740 Deci, dacă aveți orice întrebări cu privire la informatică sau limbi sau 181 00:09:00,740 --> 00:09:01,870 nimic, doar să-mi spuneți. 182 00:09:01,870 --> 00:09:05,630 Sau CS50, în special. 183 00:09:05,630 --> 00:09:05,880 >> JOSEPH ONG: Hi. 184 00:09:05,880 --> 00:09:06,265 Eu sunt Iosif. 185 00:09:06,265 --> 00:09:11,360 Sunt un calculator senior studiu știința în Elliott House. 186 00:09:11,360 --> 00:09:13,500 Deci, să vedem. 187 00:09:13,500 --> 00:09:16,530 O să mă vezi în jurul transportă una dintre aceste camere uriașe. 188 00:09:16,530 --> 00:09:21,110 Sunt fotograf personal rezident pentru 50 de asemenea, și elevii de multe ori 189 00:09:21,110 --> 00:09:25,140 uneori ma confunda o turistică din Asia. 190 00:09:25,140 --> 00:09:29,220 >> Deci, dacă mă văd cu un aparat de fotografiat, Nu fugi. 191 00:09:29,220 --> 00:09:32,960 Zâmbește și nu fi timid. 192 00:09:32,960 --> 00:09:34,870 Și sper să vă bucurați de 50. 193 00:09:34,870 --> 00:09:38,690 M-am bucurat foarte mult când am luat-o, și de aceea am fost TFing pentru 194 00:09:38,690 --> 00:09:41,164 acești trei ani. 195 00:09:41,164 --> 00:09:41,570 >> ROB BOWDEN: Hi. 196 00:09:41,570 --> 00:09:42,550 Sunt Rob. 197 00:09:42,550 --> 00:09:46,240 Acesta este al patrulea semestru mea cu CS50. 198 00:09:46,240 --> 00:09:47,430 Tocmai am absolvit în luna mai. 199 00:09:47,430 --> 00:09:49,650 Am fost în Kirkland. 200 00:09:49,650 --> 00:09:53,670 Sunt emoționat pentru acest semestru, și sper că ești prea. 201 00:09:53,670 --> 00:09:56,650 >> DAVID MALAN: Vă mulțumesc pentru acest an capete, și la RJ precum. 202 00:09:56,650 --> 00:09:59,910 203 00:09:59,910 --> 00:10:02,310 >> Deci, câteva note finale asupra resurselor. 204 00:10:02,310 --> 00:10:04,090 O, p 0 este stabilit deja. 205 00:10:04,090 --> 00:10:06,620 Aceasta exista doar în standardul Ediție, care este destinat pentru 206 00:10:06,620 --> 00:10:07,610 întregime de clasa. 207 00:10:07,610 --> 00:10:10,940 Începând cu p set 1, vor exista ediții hacker de cele mai multe seturi de probleme, 208 00:10:10,940 --> 00:10:14,660 care, din nou, va acoperi materialul cu un pic mai mult de o provocare, în timp ce 209 00:10:14,660 --> 00:10:17,400 încă atinge pe unele de aceleași subiecte. 210 00:10:17,400 --> 00:10:21,400 Nu luați o privire la site-ul cursului pentru care caietul de sarcini pentru p set de 0. 211 00:10:21,400 --> 00:10:25,140 >> Orelor de lucru, de asemenea, va începe în această săptămână, in seara asta, mâine, miercuri, 212 00:10:25,140 --> 00:10:27,670 și joi în diverse mese săli în campus. 213 00:10:27,670 --> 00:10:32,140 Check out cs50.net/ohs pentru birou ore de curs, și să realizeze acest lucru 214 00:10:32,140 --> 00:10:34,430 va fi oportunități foarte casual, cu siguranță, la începutul 215 00:10:34,430 --> 00:10:37,190 semestru, pentru a veni cu cu dvs. laptop în timpul pauzei de creier. 216 00:10:37,190 --> 00:10:40,500 Adu niște prieteni și chat- TFS curs si CAS cu orice 217 00:10:40,500 --> 00:10:41,750 întrebări pe care le-ar putea avea. 218 00:10:41,750 --> 00:10:45,320 >> Și eu nu pot sublinia suficient, chiar și pentru zero și problema set de 0, acolo 219 00:10:45,320 --> 00:10:47,110 într-adevăr există nici o întrebare prostească. 220 00:10:47,110 --> 00:10:51,200 Nu există nici un student nu prea inconfortabil de a pune întrebări. 221 00:10:51,200 --> 00:10:53,940 Vă rugăm să nu ezitați să profite a acestei resurse. 222 00:10:53,940 --> 00:10:56,430 Acesta va fi acolo recurringly pe parcursul semestrului, 223 00:10:56,430 --> 00:10:57,840 ca va discuta CS50. 224 00:10:57,840 --> 00:11:00,900 Aceasta este discuția curs on-line Forumurile de la acea adresă nu. 225 00:11:00,900 --> 00:11:04,490 >> Ce vom face, de asemenea, în timpul prelegerilor este monitoriza, de asemenea, acest lucru, datorită 226 00:11:04,490 --> 00:11:05,580 Echipa de predare cursului. 227 00:11:05,580 --> 00:11:08,390 Și deci, dacă aveți o întrebare în timpul prelegeri, pentru că am spus ceva 228 00:11:08,390 --> 00:11:11,690 slab sau nu la toate, prin toate mijloacele, cere că, în timp real, dacă aveți dumneavoastră 229 00:11:11,690 --> 00:11:15,700 laptop sau telefon de pe site-ul, și vom face tot posibilul, în timp real, aproape de 230 00:11:15,700 --> 00:11:17,410 răspund la asta. 231 00:11:17,410 --> 00:11:21,500 >> Există întrebări cu privire la CS 50? 232 00:11:21,500 --> 00:11:23,930 Apoi, unul ultimele note ale mele. 233 00:11:23,930 --> 00:11:25,530 Această problemă a SAT UnSat. 234 00:11:25,530 --> 00:11:28,550 După cum a finaliza cărți de studiu, dacă te nu au deja, dau seama că 235 00:11:28,550 --> 00:11:32,360 viziune globală a SAT UnSat, disponibilă pentru toți studenții, este într-adevăr 236 00:11:32,360 --> 00:11:36,350 pentru a ajuta ia de pe marginea unui curs ca aceasta, ca să spunem așa, astfel încât, dacă 237 00:11:36,350 --> 00:11:40,510 găsiți-vă noaptea târziu, 2AM, 3am, trage într-adevăr capul împotriva 238 00:11:40,510 --> 00:11:43,960 peretele pe care știi că ești 99% din drum la finalizare, dar tu 239 00:11:43,960 --> 00:11:47,510 au atât de multe alte lucruri de facut, Cred că o utilizare mai bună, de multe ori, de 240 00:11:47,510 --> 00:11:51,260 timp elevilor este de a muta într-adevăr la aceste alte lucruri, astfel încât să puteți 241 00:11:51,260 --> 00:11:52,780 optimiza timpul tot în jurul. 242 00:11:52,780 --> 00:11:56,950 Și SAT UnSat este un mecanism prin care puteți lua confort în faptul 243 00:11:56,950 --> 00:12:00,530 că 99% din modurile posibile încă naibii de bine. 244 00:12:00,530 --> 00:12:03,790 >> Similar, de asemenea, dacă ați venit în desigur, cu nici un fundal anterioare sau 245 00:12:03,790 --> 00:12:07,960 nu aproape la fel de mult ca tine fundal cred că colegii dumneavoastră ar putea avea, adevărata 246 00:12:07,960 --> 00:12:13,210 sau falsă, dau seama că aceasta este o posibilitatea de a obține mainile murdare 247 00:12:13,210 --> 00:12:16,590 cu timpul, a pus degetele de la picioare în de apă, ca să spunem așa, la fel ca m-am 248 00:12:16,590 --> 00:12:18,500 a făcut ani în urmă, cu admis / respins. 249 00:12:18,500 --> 00:12:21,850 Așa cum am spus săptămâna trecută, a avut acest curs, ca și alții, nu a fost disponibil 250 00:12:21,850 --> 00:12:25,090 pass / fail la timp, probabil că ar nu și-au intensificat vreodată piciorul în 251 00:12:25,090 --> 00:12:28,310 clasa, chiar dacă am făcut, cinci săptămâni mai târziu, schimba mintea mea, care 252 00:12:28,310 --> 00:12:32,400 poate la fel de bine, și de a comuta pe sau de la statutul clasificate scrisoare. 253 00:12:32,400 --> 00:12:32,990 >> Bine. 254 00:12:32,990 --> 00:12:37,380 Deci, ne-am uitat la lucruri de genul asta Vineri, și suntem foarte repede merge 255 00:12:37,380 --> 00:12:39,890 pentru trecerea la ceva care pare mai criptic azi. 256 00:12:39,890 --> 00:12:42,300 Dar este, totuși, aceeași idee fundamentală. 257 00:12:42,300 --> 00:12:45,540 Care a fost termenul general care le utilizat pentru a descrie o piesa de puzzle 258 00:12:45,540 --> 00:12:47,690 care arata ca aceasta? 259 00:12:47,690 --> 00:12:48,510 >> Deci, o declarație. 260 00:12:48,510 --> 00:12:50,020 Și puteți apela acest orice număr de lucruri. 261 00:12:50,020 --> 00:12:51,870 Dar vom numi doar o declarație, și o declarație 262 00:12:51,870 --> 00:12:53,200 doar spune programului - 263 00:12:53,200 --> 00:12:55,290 sau în caz de Scratch, Sprite - 264 00:12:55,290 --> 00:12:56,520 de a face ceva. 265 00:12:56,520 --> 00:12:58,430 Spune-i salut în acest caz. 266 00:12:58,430 --> 00:13:01,450 >> Ceva de genul asta ne în loc numit ce? 267 00:13:01,450 --> 00:13:03,560 Da, așa o expresie booleană. 268 00:13:03,560 --> 00:13:07,380 O expresie booleană este doar ceva că este adevărat sau fals, și așa răzuibile 269 00:13:07,380 --> 00:13:10,530 le atrage cu această formă, dar, de asemenea, cu un semn de întrebare pentru a transmite 270 00:13:10,530 --> 00:13:14,510 Ideea că răspunsul la această întrebare este fie adevărat sau fals, da sau nu 271 00:13:14,510 --> 00:13:15,910 unul, 1 sau 0. 272 00:13:15,910 --> 00:13:19,290 >> Și vom folosi aceste expresii booleene interiorul constructe ca acestea, care 273 00:13:19,290 --> 00:13:21,010 am numit ce? 274 00:13:21,010 --> 00:13:22,460 Deci, condiție sau o sucursală. 275 00:13:22,460 --> 00:13:25,600 Și starea vedeți aici în Scratch are un pic de substituent pentru o 276 00:13:25,600 --> 00:13:28,260 piesa de puzzle din care forma, scopul care este astfel încât să puteți 277 00:13:28,260 --> 00:13:32,670 glisați-o și fixați-l pe partea de sus și apoi dicta programul dacă acest Boolean 278 00:13:32,670 --> 00:13:36,410 expresia este adevarata, face acest set de instrucțiuni, acest set de declarații, 279 00:13:36,410 --> 00:13:39,320 altcineva face acest lucru un alt set de instrucțiuni. 280 00:13:39,320 --> 00:13:41,270 >> Și amintesc că puteți cuib aceste lucruri. 281 00:13:41,270 --> 00:13:44,170 Chiar daca nu e prea mult loc vizual în care piesa de puzzle, Scratch 282 00:13:44,170 --> 00:13:47,820 va crește și micșora pentru a se potrivi orice piese de puzzle vă trageți și plasați în 283 00:13:47,820 --> 00:13:51,410 acolo astfel încât să puteți de fapt, cuib acest lucru și au un mod furculiță trei în drum. 284 00:13:51,410 --> 00:13:53,870 În cazul în care, altfel, dacă, altfel. 285 00:13:53,870 --> 00:13:58,100 Și puteți merge chiar dincolo de faptul că prin cuiburi continuare și în continuare după cum este necesar. 286 00:13:58,100 --> 00:14:02,520 >> Deci, în cele din urmă, am văzut construcții, cum ar fi aceasta, altfel cunoscut ca o buclă. 287 00:14:02,520 --> 00:14:05,690 Și acesta este doar ceva care nu ceva nou și din nou și din nou. 288 00:14:05,690 --> 00:14:09,250 În acest caz, se întâmplă să fie un finit număr de ori, dar, de asemenea, 289 00:14:09,250 --> 00:14:12,890 a văzut, de exemplu, în cazul în care numărul de ori au venit de la o variabilă, așa că 290 00:14:12,890 --> 00:14:13,690 ar putea schimba. 291 00:14:13,690 --> 00:14:16,910 Și am văzut, de asemenea, un alt bloc cu totul numit un bloc pentru totdeauna că 292 00:14:16,910 --> 00:14:19,590 ne-a permis să bucla infinit de mult. 293 00:14:19,590 --> 00:14:23,300 >> Deci, un alt construct care răzuibile 2.0 are - si cei dintre voi mai mult 294 00:14:23,300 --> 00:14:26,330 confortabil cu fundal anterior sunt deja bine familiarizat cu acest 295 00:14:26,330 --> 00:14:27,080 construi - 296 00:14:27,080 --> 00:14:29,910 aceste lucruri am numit ce? 297 00:14:29,910 --> 00:14:32,540 Așa că am sunat aceste funcții, altfel cunoscut sub numele de proceduri. 298 00:14:32,540 --> 00:14:35,030 Există o mică diferență semantică, dar le vom doar funcțiile de apel. 299 00:14:35,030 --> 00:14:39,950 >> Și o funcție, în caz de Scratch, este o piesa de puzzle personalizat, care 300 00:14:39,950 --> 00:14:43,670 vă puteți crea, astfel că aveți o noua piesa de puzzle, care, în acest 301 00:14:43,670 --> 00:14:47,190 caz, ar fi numit tuse, care apare printre toate celelalte 302 00:14:47,190 --> 00:14:48,730 piese de puzzle disponibil în Scratch. 303 00:14:48,730 --> 00:14:52,010 Chiar dacă MIT nu a inventat această piesă de puzzle, ai făcut-o. 304 00:14:52,010 --> 00:14:57,600 >> Deci, o funcție vă permite să creați noi comportamentul, da un nume de funcție, și 305 00:14:57,600 --> 00:14:59,200 apoi apel, ca să spunem așa. 306 00:14:59,200 --> 00:15:04,690 Într-adevăr l folosească în programele din nou și din nou și din nou, fără a trebui să aștepte 307 00:15:04,690 --> 00:15:08,600 pentru cineva ca MIT pe drumul de a inventa noi funcționalități de la zero. 308 00:15:08,600 --> 00:15:12,460 Vă puteți construi aceste puzzle piese de tine, și apoi le reutiliza 309 00:15:12,460 --> 00:15:13,600 în propriile programe. 310 00:15:13,600 --> 00:15:17,520 Și vom vedea un exemplu recurent de care azi și mai departe. 311 00:15:17,520 --> 00:15:20,960 >> Așa că astăzi, am tranziție acum la ceva mai mult arcane. 312 00:15:20,960 --> 00:15:24,350 Dar la sfârșitul zilei, ceva mai puternic și expresiv și mai mult 313 00:15:24,350 --> 00:15:28,110 reprezentant de calea pe care vom fi pe tot parcursul semestru un număr 314 00:15:28,110 --> 00:15:28,800 de limbi - 315 00:15:28,800 --> 00:15:30,800 că de cod sau codul sursă. 316 00:15:30,800 --> 00:15:34,720 Și codul sursă, se pare, nu este ceea ce un calculator 317 00:15:34,720 --> 00:15:37,400 de obicei, de fapt rulează. 318 00:15:37,400 --> 00:15:39,860 Codul sursă arată ceva de genul asta. 319 00:15:39,860 --> 00:15:43,010 >> Deci, aceasta este, din nou, poate cel mai simplu Programul se poate scrie într-o 320 00:15:43,010 --> 00:15:46,670 limbaj numit C. Vom începe să tachineze acest afară înainte de mult timp, și în cazul în care 321 00:15:46,670 --> 00:15:49,260 acest lucru într-adevăr nu arata ca greacă chiar acum, ai încredere în mine. 322 00:15:49,260 --> 00:15:54,040 În termen de doar o saptamana sau doua de timp, acest va fi mult prea familiar și de fapt 323 00:15:54,040 --> 00:15:57,780 destul de reprezentativ de ce exemple complexe cu care veți 324 00:15:57,780 --> 00:15:59,870 De asemenea, se mai confortabil. 325 00:15:59,870 --> 00:16:03,100 >> Dar nu poate rula doar acest un fel de cod de obicei. 326 00:16:03,100 --> 00:16:06,750 Trebuie să-l transforme în ceva ce calculatorul se intelege pe sine. 327 00:16:06,750 --> 00:16:09,840 Și astfel pentru că, avem nevoie de ceva vom numi un compilator. 328 00:16:09,840 --> 00:16:13,910 Un compilator este un program care are codul sursă, cum tocmai ați văzut, ca 329 00:16:13,910 --> 00:16:17,680 intrare, și produce zerouri și cei ca ieșire, în caz contrar 330 00:16:17,680 --> 00:16:19,210 cunoscut sub numele de cod obiect. 331 00:16:19,210 --> 00:16:23,190 Și e acele zerouri și cele care s-ar putea arata destul ca asta, care 332 00:16:23,190 --> 00:16:26,310 în cele din urmă sunt înțelese de Mac-ul sau PC-ul. 333 00:16:26,310 --> 00:16:30,050 >> Dacă ați auzit vreodată de marketing expresie Intel Inside, că doar 334 00:16:30,050 --> 00:16:32,800 înseamnă că o companie numita Intel a fabricat 335 00:16:32,800 --> 00:16:34,130 creierul de computer - 336 00:16:34,130 --> 00:16:37,270 altfel cunoscut sub numele de CPU, unitate centrală de procesare - 337 00:16:37,270 --> 00:16:39,640 și că e doar un lucru pe care înțelege modele 338 00:16:39,640 --> 00:16:40,880 de zerouri și cele. 339 00:16:40,880 --> 00:16:46,330 Și astfel prin transformarea codul sursă în cod obiect prin acest proces aici 340 00:16:46,330 --> 00:16:49,130 că vom face cu o pereche de comenzi în doar un pic, esti 341 00:16:49,130 --> 00:16:53,070 crearea de modele de zerouri și cele că angajații de la Intel au 342 00:16:53,070 --> 00:16:56,000 a decis reprezintă anumite declarații. 343 00:16:56,000 --> 00:16:58,810 >> Acum, eu nu prea știu ce este ceea ce de abia se uite la 344 00:16:58,810 --> 00:16:59,890 aceste zerouri și cele. 345 00:16:59,890 --> 00:17:01,420 Cei mai mulți oameni în aceste zile nu. 346 00:17:01,420 --> 00:17:04,900 Dar undeva acolo este un model de zerouri și cele care reprezintă 347 00:17:04,900 --> 00:17:06,349 Declarația de imprimare. 348 00:17:06,349 --> 00:17:10,460 Undeva acolo ar putea fi un alt set de zerouri și cele care 349 00:17:10,460 --> 00:17:16,940 reprezintă noțiunea de totdeauna sau Repeta de 10 ori sau chiar miau, dacă este 350 00:17:16,940 --> 00:17:20,000 de fapt un program care poate includ unele sunete. 351 00:17:20,000 --> 00:17:24,390 >> Deci, pe scurt, oamenii au decis doar, de mult ca am facut pentru ASCII - 352 00:17:24,390 --> 00:17:27,480 pentru litere ale alfabetului săptămâna trecută - oamenii au decis că, chiar 353 00:17:27,480 --> 00:17:32,200 modele mai complexe de zerouri și cele reprezintă un comportament mult mai complex 354 00:17:32,200 --> 00:17:35,650 cum ar fi imprimarea sau spune sau meowing. 355 00:17:35,650 --> 00:17:38,640 Și astfel pentru ziua de azi, și în mare măsură mai departe în semestru, vom lua pentru 356 00:17:38,640 --> 00:17:41,820 acordată ca cineva a dat seama cum să faci asta cartografiere. 357 00:17:41,820 --> 00:17:45,560 Dar noi, în concordanță cu această idee de stratificare de la partea de sus a activității oamenilor 358 00:17:45,560 --> 00:17:49,340 care au venit înaintea noastră, se vor lua pentru acordată de faptul că acest lucru se întâmplă 359 00:17:49,340 --> 00:17:50,300 sub capota. 360 00:17:50,300 --> 00:17:53,840 Dar noi suntem mult mai interesați în de construcție lucruri care sunt mai mult 361 00:17:53,840 --> 00:17:55,880 interesant pe partea de sus a tuturor acest lucru. 362 00:17:55,880 --> 00:17:58,900 >> Și astfel, într-adevăr, primul program ne a scris în Scratch a fost acest super-simplu 363 00:17:58,900 --> 00:18:00,600 unul, Hello World. 364 00:18:00,600 --> 00:18:05,100 Și vă puteți gândi la acest lucru ca fiind Programul principal care guvernează lui răzuibile 365 00:18:05,100 --> 00:18:07,280 Comportamentul ca de vinerea trecută. 366 00:18:07,280 --> 00:18:11,510 >> Astăzi, vom începe să traducă Scratch piese de puzzle în 367 00:18:11,510 --> 00:18:16,040 codul sursă în acest limbaj numit C, astfel încât ceea ce arata ca acest lucru pe 368 00:18:16,040 --> 00:18:20,230 Vineri, începând de astăzi înainte, este acum va arata aceasta. 369 00:18:20,230 --> 00:18:21,860 Desigur, mai criptic. 370 00:18:21,860 --> 00:18:25,010 Este destul de distrag atenția și un fel de spirit amortire a vedea toate citate 371 00:18:25,010 --> 00:18:27,760 și virgulă și paranteze și așa mai departe. 372 00:18:27,760 --> 00:18:32,350 >> Dar dacă începeți să ignore orice nu inteleg, si arata foarte 373 00:18:32,350 --> 00:18:35,960 la esența text alb pe ecran, cu siguranță veți vedea, așa cum fac eu, 374 00:18:35,960 --> 00:18:40,360 "Bună ziua, lume." Că se aliniază cu Declarația violet sus sus, și se pare 375 00:18:40,360 --> 00:18:44,790 în care cuvântul cheie principal este de gând să alinia conceptual când verde 376 00:18:44,790 --> 00:18:46,350 steag clic. 377 00:18:46,350 --> 00:18:49,820 >> Deci, cu alte cuvinte, în timp ce în Scratch, vom pune în aplicare acest program Hello World 378 00:18:49,820 --> 00:18:53,360 cu cele două piese de puzzle, în C, am de gând să-l pună în aplicare cu acestea 379 00:18:53,360 --> 00:18:55,510 patru linii oarecum criptice. 380 00:18:55,510 --> 00:18:58,130 Dar, așa cum am arunca cu capul adânc în acest lucru, va vedea că fiecare dintre cei 381 00:18:58,130 --> 00:19:02,730 caractere albe pe ecran fapt, are o semnificație importantă, 382 00:19:02,730 --> 00:19:05,880 și cele mai multe dintre programele noastre sunt de gând să uite structural la fel. 383 00:19:05,880 --> 00:19:08,980 Deci o declarație, să fie clar, ceea ce arata ca "lumea spune salut" pe 384 00:19:08,980 --> 00:19:12,020 Vineri se va începe căutarea ca acest luni. 385 00:19:12,020 --> 00:19:15,250 printf ("Bună ziua, lume"). 386 00:19:15,250 --> 00:19:17,700 Și există un backslash ciudat n, există paranteze, există 387 00:19:17,700 --> 00:19:18,490 punct și virgulă. 388 00:19:18,490 --> 00:19:21,950 >> Dar la sfârșitul zilei, cheia Takeaway astăzi este că tot ce facem 389 00:19:21,950 --> 00:19:25,710 este traducerea lucruri de imagine forma de forma de text. 390 00:19:25,710 --> 00:19:28,820 Deci, o buclă care arata ca aceasta săptămâna trecută este de gând să se uite acum 391 00:19:28,820 --> 00:19:30,140 ceva de genul asta. 392 00:19:30,140 --> 00:19:33,020 >> Și lasă-mă să renunțe, la fel ca în Zero, există diferite moduri de a 393 00:19:33,020 --> 00:19:34,110 atinge același obiectiv. 394 00:19:34,110 --> 00:19:38,860 La fel, în C. Nu vă arată doar mod de a face lucrurile, dar într-un fel de a 395 00:19:38,860 --> 00:19:43,230 traduce aceasta pentru totdeauna bloca la o buclă în C. 396 00:19:43,230 --> 00:19:44,980 >> Acest unul aici, repeta de 10 ori. 397 00:19:44,980 --> 00:19:47,580 Acesta într-adevăr un fel de curbe minte prima dată când îl văd. 398 00:19:47,580 --> 00:19:49,860 Ci să pună în aplicare acea acum înainte, am de gând să utilizeze un 399 00:19:49,860 --> 00:19:51,990 pentru bucla, ca să spunem așa. 400 00:19:51,990 --> 00:19:56,150 Și în mod clar există unele sintaxa care este un mic areal cu I și 401 00:19:56,150 --> 00:19:59,740 egal si 0, dar odata ce am arunca cu capul în care azi înainte, tu esti doar de gând 402 00:19:59,740 --> 00:20:04,260 pentru a vedea că totul este pur și simplu face ceva aritmetica de bază pentru a ne obține de la 0 403 00:20:04,260 --> 00:20:07,720 pe de până la 9 sau 10, în acest caz. 404 00:20:07,720 --> 00:20:11,570 >> În cele din urmă, cu variabile, vei aminti că o variabilă este o bucată de depozitare. 405 00:20:11,570 --> 00:20:14,290 Ei bine, ceea ce am avut pe stanga ultimul săptămână este de gând să arate un pic 406 00:20:14,290 --> 00:20:15,920 ceva de genul asta in aceasta saptamana. 407 00:20:15,920 --> 00:20:17,870 Dar, din nou, mai mult de pe care să vină. 408 00:20:17,870 --> 00:20:20,700 >> Am avut expresii booleene, care saptamana trecuta, arata ca aceasta. 409 00:20:20,700 --> 00:20:23,370 În această săptămână înainte, au de gând să începe să se uite un pic ca asta. 410 00:20:23,370 --> 00:20:24,890 >> Și asta e de fapt un pic de liniștitor. 411 00:20:24,890 --> 00:20:27,680 Este de fapt aproape la fel de simplu ca blocuri verde. 412 00:20:27,680 --> 00:20:31,115 Dar aici avem, din nou, unele noua sintaxă cu ampersand, dar puteți 413 00:20:31,115 --> 00:20:35,390 Poate că în timp ce în Scratch, te A spus-N-D, aparent în C, suntem 414 00:20:35,390 --> 00:20:37,070 O să spun ampersand ampersand. 415 00:20:37,070 --> 00:20:39,650 Dar toate acestea vor deveni naturale înainte de lung. 416 00:20:39,650 --> 00:20:40,680 >> Condiții. 417 00:20:40,680 --> 00:20:42,610 Săptămâna trecută, părea acest lucru pe partea stângă. 418 00:20:42,610 --> 00:20:44,800 În această săptămână, pe dreapta, este O să arate ca asta. 419 00:20:44,800 --> 00:20:48,560 Dar, din nou, Takeaway cheie aici este că cum veți vedea lucruri de genul asta pe 420 00:20:48,560 --> 00:20:51,950 dreptul, și mai ales în cazul în care mai puțin confortabil, e un fel de peste dvs. 421 00:20:51,950 --> 00:20:54,950 cap, veți obține un pic copleșit că N-am nici o idee cum am putut 422 00:20:54,950 --> 00:20:58,420 eventual veni cu că de la zero - 423 00:20:58,420 --> 00:20:59,500 nr joc de cuvinte destinate - 424 00:20:59,500 --> 00:21:05,300 doar dau seama că este într-adevăr la fel Ideea că, probabil, simțit atât de mult mai mult 425 00:21:05,300 --> 00:21:06,760 naturale în săptămâna precedentă. 426 00:21:06,760 --> 00:21:10,960 Și chiar dacă nu s-au scufundat în set de probleme 0, îndrăznesc să spun veți găsi 427 00:21:10,960 --> 00:21:13,790 că piesele de puzzle sunt destul de intuitiv, sau cel puțin 428 00:21:13,790 --> 00:21:16,050 devenit atât de-a lungul timpului. 429 00:21:16,050 --> 00:21:16,990 >> Deci, haideți să se scufunde inch 430 00:21:16,990 --> 00:21:20,760 Să ne murdărim mâinile aici cu Acest prim program simplu. 431 00:21:20,760 --> 00:21:22,410 Și simplu este, desigur, relativă. 432 00:21:22,410 --> 00:21:25,190 Pentru a face acest lucru, am de gând să schimbe ecrane pentru ca dispozitiv am sunat 433 00:21:25,190 --> 00:21:26,150 CS50 aparat. 434 00:21:26,150 --> 00:21:29,700 Aparatul CS50 este o bucată de software-ul care se execută într-un 435 00:21:29,700 --> 00:21:33,920 fereastra pe Mac-ul meu, și puteți rula, de asemenea, se într-o fereastră interiorul PC-ului, care 436 00:21:33,920 --> 00:21:38,720 îmi permite să aibă exact același mediu computer ca fiecare TF, ca 437 00:21:38,720 --> 00:21:40,940 fiecare CA, ca fiecare elev în clasa. 438 00:21:40,940 --> 00:21:44,590 Deoarece aparatul CS50 este literalmente un alt sistem de operare 439 00:21:44,590 --> 00:21:45,410 numit Linux - 440 00:21:45,410 --> 00:21:47,160 în special Fedora Linux - 441 00:21:47,160 --> 00:21:51,320 și noi, personalul, s-au configurat Procesul de instalare pentru această 442 00:21:51,320 --> 00:21:55,200 Sistemul funcționează în așa fel încât unul, E un mic CS50 logo-ul în 443 00:21:55,200 --> 00:21:59,240 Orientul Mijlociu, doi, exista un meniu personalizat la în partea de jos, și trei, pedagogic, 444 00:21:59,240 --> 00:22:02,570 am simplificat interfața cu utilizatorul ca mult posibil, astfel încât, atunci când 445 00:22:02,570 --> 00:22:05,540 boot-eze prima dată acest lucru pe cont propriu Mac sau PC, aveți aceeași 446 00:22:05,540 --> 00:22:08,280 mediului ca oricine altcineva, și tu au toate instrumentele de care aveți nevoie 447 00:22:08,280 --> 00:22:11,390 pentru curs, fără a fi nevoie să dau cum să instalați fiecare și 448 00:22:11,390 --> 00:22:13,280 fiecare instrument individual. 449 00:22:13,280 --> 00:22:15,840 >> Deci, acest lucru pare relativ cum ar fi Mac OS sau Windows. 450 00:22:15,840 --> 00:22:18,760 În colțul din stânga jos, vă au în esență un meniu Start de 451 00:22:18,760 --> 00:22:20,280 felul, sau un meniu Apple. 452 00:22:20,280 --> 00:22:23,700 Și atunci aveți ceea ce suspectul va fi de trei icoane cele mai comune. 453 00:22:23,700 --> 00:22:24,460 Una dintre ele este Chrome. 454 00:22:24,460 --> 00:22:26,460 Există un browser interior a aparatului. 455 00:22:26,460 --> 00:22:29,970 >> Doi este un program numit gedit, care am văzut pe scurt săptămâna trecută, care este 456 00:22:29,970 --> 00:22:31,310 doar un editor grafic. 457 00:22:31,310 --> 00:22:35,350 Și trei este un program de terminal, care este o fereastră în alb și negru din 458 00:22:35,350 --> 00:22:39,860 odinioară, care ne permite să tastați mai mult Comenzile Arcane dar mult mai puternic la 459 00:22:39,860 --> 00:22:40,660 tastatură nostru. 460 00:22:40,660 --> 00:22:44,220 Așa că am de gând să merg mai departe și faceți clic pe gedit, și fiți siguri că problema 461 00:22:44,220 --> 00:22:48,520 set 1, pentru a fi lansat vineri, va te plimbi prin toate aceste etape aceleași. 462 00:22:48,520 --> 00:22:51,730 >> Observați că am o destul de simplu interfața cu utilizatorul cu trei părți. 463 00:22:51,730 --> 00:22:54,990 Pe stânga, am un mare gol fereastră numită codul sursă. 464 00:22:54,990 --> 00:22:58,930 Acolo am de gând pentru a vedea un rezumat de orice cod care scriu. 465 00:22:58,930 --> 00:23:01,990 Pe partea dreapta, am o mare fila, nemântuit în prezent, și că este 466 00:23:01,990 --> 00:23:03,510 în cazul în care codul meu va merge. 467 00:23:03,510 --> 00:23:06,780 Și pe partea de jos, am o încorporat Fereastră terminal, un alb-negru 468 00:23:06,780 --> 00:23:12,060 prompt la care am posibilitatea să tastați comenzile la compila și pentru a rula programele mele - că 469 00:23:12,060 --> 00:23:14,110 este, de a face și de a rula programele mele. 470 00:23:14,110 --> 00:23:15,170 >> Așa că haideți să începem simplu. 471 00:23:15,170 --> 00:23:17,700 Lasă-mă să merg până la File, Save. 472 00:23:17,700 --> 00:23:20,530 Am de gând să merg mai departe și du-te în jharvard. 473 00:23:20,530 --> 00:23:24,320 Deci aparat, indiferent de ce numele tau este, aparține unui tip pe nume 474 00:23:24,320 --> 00:23:28,250 John Harvard, care are o casă jharvard dintre care director in toate dvs. 475 00:23:28,250 --> 00:23:29,100 fișiere va merge. 476 00:23:29,100 --> 00:23:31,640 Este propria copie a contului său, deci nu suntem toți de partajare 477 00:23:31,640 --> 00:23:33,530 În același hard disk. 478 00:23:33,530 --> 00:23:35,580 Trebuie doar iluzia din proprie John Harvard. 479 00:23:35,580 --> 00:23:38,350 >> În avans, am de fapt, instalat Dropbox. 480 00:23:38,350 --> 00:23:42,600 Aparatul vine pregatite dinainte cu Dropbox astfel încât, dacă ceva nu merge bine 481 00:23:42,600 --> 00:23:45,950 în timpul semestrului, dacă ați configurat aparatul cu un liber 482 00:23:45,950 --> 00:23:48,950 Cont Dropbox, toate fișierele vor fi în mod automat susținute, astfel încât să 483 00:23:48,950 --> 00:23:50,430 le poate recupera foarte usor. 484 00:23:50,430 --> 00:23:53,980 Și am de gând să merg în Dropbox mea director, și nu există deja merge 485 00:23:53,980 --> 00:23:55,530 să fie un cuplu alte lucruri acolo. 486 00:23:55,530 --> 00:24:02,090 >> Dar am de gând să merg mai departe și du-te la File, Save. 487 00:24:02,090 --> 00:24:05,930 Am de gând să meargă în jharvard, Dropbox, și aici, am de gând să 488 00:24:05,930 --> 00:24:10,590 da programul meu un super-simplu nume, hello.c, și apoi salvați. 489 00:24:10,590 --> 00:24:11,810 Așa că am aceeași interfață acum. 490 00:24:11,810 --> 00:24:14,190 Singurul lucru care sa schimbat este fila sus. 491 00:24:14,190 --> 00:24:17,170 Deci, eu sunt foarte repede va recrea că programul de 492 00:24:17,170 --> 00:24:19,060 slide-uri acum o clipă. 493 00:24:19,060 --> 00:24:25,690 >> Deci în principal (nule), iar apoi printf, "Bună ziua, lume," o oarecum criptic 494 00:24:25,690 --> 00:24:29,920 backslash n, citat de aproape, închide paranteze, punct și virgulă, iar 495 00:24:29,920 --> 00:24:32,030 apoi Ctrl S pentru a salva. 496 00:24:32,030 --> 00:24:34,860 Și observați ca o parte ce sa a aparut aici, pe partea de sus stânga. 497 00:24:34,860 --> 00:24:37,490 Și acest lucru nu este util astăzi, dar vor fi utile în timp. 498 00:24:37,490 --> 00:24:40,160 Tu vezi doar, din nou, un rezumat al cod pe care le-ați scris. 499 00:24:40,160 --> 00:24:43,320 Și pentru că am scris ceva numit principal, de aceea cuvântul principal mi-a venit 500 00:24:43,320 --> 00:24:44,030 sus acolo. 501 00:24:44,030 --> 00:24:46,610 Dar în cea mai mare parte, ne Nu am nevoie de asta azi. 502 00:24:46,610 --> 00:24:51,130 >> Bine, așa că am susțin că acest lucru este meu primul program scris într-o programare 503 00:24:51,130 --> 00:24:54,620 limbaj numit C. Știm de vineri că ceea ce acest lucru este de gând să faci 504 00:24:54,620 --> 00:24:58,450 foarte uninterestingly când am rulați este doar afișa - 505 00:24:58,450 --> 00:25:01,270 cu alte cuvinte, imprima, ca un calculator om de știință s-ar spune - 506 00:25:01,270 --> 00:25:03,310 Bună ziua lume pe ecran. 507 00:25:03,310 --> 00:25:06,800 Deci, pentru a face acest lucru, veți observa că am pentru a merge aici la terminalul meu 508 00:25:06,800 --> 00:25:09,250 fereastră, iar acum am o clipește prompt. 509 00:25:09,250 --> 00:25:15,480 Dar aceasta este acum o versiune tastatură de directorul meu John Harvard acasa. 510 00:25:15,480 --> 00:25:19,610 Este o modalitate de tastatură prin care pentru a naviga hard disk mea. 511 00:25:19,610 --> 00:25:25,380 >> Deci, eu nu pot tip de fapt, așa cum am făcut-o săptămâna trecută să salut, pentru că este 512 00:25:25,380 --> 00:25:27,230 O să spun o regulă pentru a face țintă - 513 00:25:27,230 --> 00:25:27,950 ceva e în neregulă. 514 00:25:27,950 --> 00:25:31,690 Nu prea stiu ce mesaj înseamnă, dar asta pentru ca, în mod implicit, 515 00:25:31,690 --> 00:25:35,350 atunci când această fereastră alb-negru este deschis, eu sunt în interiorul John Harvard 516 00:25:35,350 --> 00:25:36,160 directorul home. 517 00:25:36,160 --> 00:25:39,180 Dar de unde am salva acest program? 518 00:25:39,180 --> 00:25:40,440 În dosarul meu Dropbox. 519 00:25:40,440 --> 00:25:43,110 >> Acum, toți dintre noi au crescut cu calculatoare în cazul în care doar dublu clic 520 00:25:43,110 --> 00:25:45,610 pe pictograma unui folder, acesta deschide, și voila. 521 00:25:45,610 --> 00:25:48,280 Asta în cazul în fișier numit hello.c ar fi. 522 00:25:48,280 --> 00:25:49,470 Deci, în fapt, hai să facem asta. 523 00:25:49,470 --> 00:25:51,610 >> Lasă-mă să merg mai departe și pentru a minimiza gedit la fel ca tine ar fi pe 524 00:25:51,610 --> 00:25:52,990 Windows sau Mac OS. 525 00:25:52,990 --> 00:25:56,160 Dă-mi drumul in casa director in stanga sus. 526 00:25:56,160 --> 00:25:57,620 Voi vedea aici o grămadă de dosare. 527 00:25:57,620 --> 00:25:58,870 Aici e dosarul meu Dropbox. 528 00:25:58,870 --> 00:26:00,770 Checkmarks înseamnă că a fost sincronizate. 529 00:26:00,770 --> 00:26:04,040 Și există câteva lucruri în aici, dar observa că hello.c este 530 00:26:04,040 --> 00:26:04,960 într-adevăr acolo. 531 00:26:04,960 --> 00:26:08,050 >> Și astfel, în Mac OS sau Windows, în mod normal, Aș faceți clic dublu, acesta se deschide în 532 00:26:08,050 --> 00:26:10,220 indiferent de program, și eu sunt bine să plec. 533 00:26:10,220 --> 00:26:13,370 Dar acum, cel puțin începând de astăzi, am trebuie să facă un pas înapoi doar pentru a 534 00:26:13,370 --> 00:26:16,960 vă dau câteva instrumente de bază pentru dvs. Setul de instrumente cu care să facă mai mult 535 00:26:16,960 --> 00:26:18,980 lucruri puternice înainte de lung. 536 00:26:18,980 --> 00:26:22,280 >> Deci, la acest prompt, eu trebuie să fac echivalentul dublu click pe 537 00:26:22,280 --> 00:26:23,560 Folder Dropbox. 538 00:26:23,560 --> 00:26:29,900 Și de a face acest lucru, am de gând să introduceți CD-ul de schimba director, Dropbox, intra. 539 00:26:29,900 --> 00:26:36,100 Și observa acum paranteze la mea așa-numita prompte spune acum că eu sunt în 540 00:26:36,100 --> 00:26:38,470 tilda, puțin ondulate simbol în partea din stânga sus a 541 00:26:38,470 --> 00:26:40,860 cele mai multe tastaturi, / Dropbox. 542 00:26:40,860 --> 00:26:45,200 Aceasta este doar notație prescurtare pentru spune umană, sunteți acum în interiorul 543 00:26:45,200 --> 00:26:48,650 folderul Dropbox, la fel ca și cum ai fi făcut clic dublu pe ea. 544 00:26:48,650 --> 00:26:54,610 >> Deci, acum, dacă am merge mai departe și tastați face Bună ziua, intră, văd o foarte criptic 545 00:26:54,610 --> 00:26:57,450 comandă, dar nu un mesaj de eroare, se pare, și apoi 546 00:26:57,450 --> 00:26:59,020 un alt clipește prompt. 547 00:26:59,020 --> 00:27:04,470 Și dacă vă amintiți, tot atât de repede vineri, am făcut asta. . / Bună ziua. 548 00:27:04,470 --> 00:27:10,000 >> Ceea ce esti pe cale de a vedea este rezultatul de funcționare mea acestui program, sau, în Mac 549 00:27:10,000 --> 00:27:14,310 OS și PC punct de vedere, dacă aș dubla în mod normal faceți clic pe un program - o aplicatie. 550 00:27:14,310 --> 00:27:17,620 program sau un. exe, acesta se deschide o fereastră și se execută. 551 00:27:17,620 --> 00:27:21,920 Tastarea / salut. Este la fel ca dublu clic pe un program pentru a rula, dar 552 00:27:21,920 --> 00:27:23,280 folosind tastatura mea. 553 00:27:23,280 --> 00:27:25,410 >> Introduceți, salut lume. 554 00:27:25,410 --> 00:27:26,150 Și asta e tot. 555 00:27:26,150 --> 00:27:29,150 Așa că haideți să tachineze acest afară de așa nu se simt prea mult ca greacă. 556 00:27:29,150 --> 00:27:31,370 >> Deci. / Ce înseamnă? 557 00:27:31,370 --> 00:27:34,120 Oricine care a navigat vreodată o tastatură Mediul ca aceasta, ceea ce este punct 558 00:27:34,120 --> 00:27:36,690 referindu-se la? 559 00:27:36,690 --> 00:27:37,800 Directorul curent. 560 00:27:37,800 --> 00:27:41,320 >> Deci, directorul curent este doar un sinonim pentru un folder. 561 00:27:41,320 --> 00:27:46,230 Deci, spunând punct slash, eu spun, uita-te pentru un program numit salut în 562 00:27:46,230 --> 00:27:47,250 directorul curent - 563 00:27:47,250 --> 00:27:48,540 în folderul curent. 564 00:27:48,540 --> 00:27:50,480 Cu alte cuvinte, dosarul meu Dropbox. 565 00:27:50,480 --> 00:27:54,220 Și de aceea apăsarea Enter ulterior de fapt, ruleaza acest program. 566 00:27:54,220 --> 00:27:58,790 >> Dacă aș LS acum tip, observa că văd totul în dosarul meu Dropbox. 567 00:27:58,790 --> 00:28:02,000 Noțiuni de bază Started.pdf, care Dropbox vă oferă gratuit, fotografiile mele 568 00:28:02,000 --> 00:28:05,450 director, un director public, nesalvate Documentul 1 care l-am făcut din greșeală o 569 00:28:05,450 --> 00:28:09,730 în urmă clipă, foo.c, ceea ce am făcut mai devreme astăzi, iar apoi două linii - 570 00:28:09,730 --> 00:28:12,090 hello.c și salut. 571 00:28:12,090 --> 00:28:17,280 >> Hello.c este programul l-am scris cu gedit, și ceea ce este salut în verde? 572 00:28:17,280 --> 00:28:20,920 573 00:28:20,920 --> 00:28:22,940 Salut în verde este executabil. 574 00:28:22,940 --> 00:28:27,020 Cu alte cuvinte, atunci când am fugit această comandă Acum o clipă - permiteți-mi să se rostogolească 575 00:28:27,020 --> 00:28:28,040 înapoi în timp - 576 00:28:28,040 --> 00:28:32,400 Când am fugit să salut, că este pas de mijloc aici. 577 00:28:32,400 --> 00:28:34,410 Și a luat hello.c ca date de intrare - 578 00:28:34,410 --> 00:28:39,910 Codul sursă AKA - și a produs un fișier numit salut în calitate de ieșire, care 579 00:28:39,910 --> 00:28:42,510 conține toate aceste zero si unu. 580 00:28:42,510 --> 00:28:47,640 Și de aceea, în cele din urmă, pot de fapt executați o comandă cum ar fi / salut.. 581 00:28:47,640 --> 00:28:53,310 Din cauza Intel Inside, de operare meu sistem, Linux, deschide acele zerouri 582 00:28:53,310 --> 00:28:55,820 și cele, le hrănește în creierul meu calculator - 583 00:28:55,820 --> 00:28:56,580 CPU - 584 00:28:56,580 --> 00:29:00,460 și că CPU știe, oh, aici e un model de zero-uri și cele care spune 585 00:29:00,460 --> 00:29:02,800 imprima următorul lucru de pe ecran. 586 00:29:02,800 --> 00:29:04,450 >> Care este următorul lucru? 587 00:29:04,450 --> 00:29:07,650 Citat citez, "Hello World." 588 00:29:07,650 --> 00:29:12,100 >> În regulă, deci un scurt rezumat al unora dintre aceste comenzi, astfel încât să putem începe 589 00:29:12,100 --> 00:29:13,350 le ia pentru a acordat. 590 00:29:13,350 --> 00:29:15,550 Lasă-mă să treceți la de unde am rămas. 591 00:29:15,550 --> 00:29:22,230 Și veți aminti că am avut CD la spatele nostru se încheie acum o clipă. 592 00:29:22,230 --> 00:29:24,880 Acestea sunt, îndrăznesc să spun, pentru scopuri de azi - 593 00:29:24,880 --> 00:29:29,010 Poate că în această săptămână - singurele comenzile noi ar putea avea nevoie să tastați la comanda 594 00:29:29,010 --> 00:29:30,580 cere în afară de a face. 595 00:29:30,580 --> 00:29:34,510 >> Deci, CD stat pentru ce? 596 00:29:34,510 --> 00:29:35,180 Schimba directorul. 597 00:29:35,180 --> 00:29:38,010 E doar echivalentul a dublei faceți clic pe un dosar. 598 00:29:38,010 --> 00:29:41,320 Și, ca o paranteză, dacă te pierdut vreodată în interiorul dvs. 599 00:29:41,320 --> 00:29:43,430 aparatul, astfel încât Dropbox - 600 00:29:43,430 --> 00:29:45,420 Vreau să mă întorc la meu Director jharvard - 601 00:29:45,420 --> 00:29:50,490 atunci când în dubiu, CD, introduceți, cu nici un alt cuvinte, și doar fermoare te înapoi 602 00:29:50,490 --> 00:29:53,110 de unde ai pornit, care este o comandă rapidă drăguț. 603 00:29:53,110 --> 00:29:54,840 >> Bine, deci acum alte comenzi. 604 00:29:54,840 --> 00:29:55,660 LS. 605 00:29:55,660 --> 00:29:56,840 Am scris că în urmă cu o clipă. 606 00:29:56,840 --> 00:29:59,500 Ce crezi LS vine de la? 607 00:29:59,500 --> 00:30:00,470 >> Deci, lista, nu? 608 00:30:00,470 --> 00:30:03,300 Pe vremuri, când oamenii veneau cu aceste comenzi, acestea 609 00:30:03,300 --> 00:30:07,180 au încercat să fie eficient, și mai degrabă tip de L-I-S-ENTER, ele 610 00:30:07,180 --> 00:30:08,470 a decis LS. 611 00:30:08,470 --> 00:30:09,080 Asta e bine. 612 00:30:09,080 --> 00:30:10,420 Se pare destul ca lista. 613 00:30:10,420 --> 00:30:13,870 Hai să LS tip intra, și că listează fișiere sau foldere în mea 614 00:30:13,870 --> 00:30:15,000 dosarul curent. 615 00:30:15,000 --> 00:30:17,530 >> mkdir, puteți ghici, probabil. 616 00:30:17,530 --> 00:30:18,440 Face directorul. 617 00:30:18,440 --> 00:30:22,010 Deci, nu te duci la un meniu de fișiere și selectați Dosar nou în acest mediu. 618 00:30:22,010 --> 00:30:27,410 Mai degrabă, tastați spațiu mkdir comanda și apoi numele folderului 619 00:30:27,410 --> 00:30:29,850 pe care doriți să creați, și se va face. 620 00:30:29,850 --> 00:30:32,380 >> rm, puteți ghici, probabil. 621 00:30:32,380 --> 00:30:33,480 Elimina sau șterge. 622 00:30:33,480 --> 00:30:36,740 Deci, dacă doriți să ștergeți un fișier, veți a se vedea în setul problema cum te 623 00:30:36,740 --> 00:30:37,240 poate face acest lucru. 624 00:30:37,240 --> 00:30:39,510 Și rmdir, scoateți director. 625 00:30:39,510 --> 00:30:42,320 >> Deci, din nou, eu tind sa zboare prin intermediul unor de aceste detalii,, pentru că 626 00:30:42,320 --> 00:30:46,010 ei nu sunt tot ceea ce distractiv de mult să-și petreacă timp, dar două, vă vom oferi în 627 00:30:46,010 --> 00:30:48,720 mult mai detaliat în oricare dintre Problema cursului stabilește, în special 628 00:30:48,720 --> 00:30:52,370 edițiile standard, oricare dintre pașii care ar putea avea nevoie să tastați atât de 629 00:30:52,370 --> 00:30:54,830 pe care le obține mai mult și mai mult confortabil cu aceste lucruri. 630 00:30:54,830 --> 00:30:57,430 >> Dar acum, permiteți-mi să tachineze pe langa un alt lucru. 631 00:30:57,430 --> 00:31:02,580 Când am scris să salut acum o clipă, am văzut o secvență criptic de comenzi. 632 00:31:02,580 --> 00:31:04,805 Am văzut, din nou, să salut. 633 00:31:04,805 --> 00:31:07,640 634 00:31:07,640 --> 00:31:08,520 OK, hai sa facem acest lucru. 635 00:31:08,520 --> 00:31:11,840 Am fost pe cale de a face o greșeală, dar [Inaudibil] acum recunosc că am fost pe punctul de a 636 00:31:11,840 --> 00:31:14,400 și o fac în mod deliberat. 637 00:31:14,400 --> 00:31:15,810 >> Ce am făcut greșit chiar acum? 638 00:31:15,810 --> 00:31:18,680 639 00:31:18,680 --> 00:31:21,060 Da, deci eu nu sunt în Dropbox director, deoarece un moment în urmă am 640 00:31:21,060 --> 00:31:22,720 CD-ul tastat și doar a lovi Enter. 641 00:31:22,720 --> 00:31:25,480 Asta mă mărit din nou de unde am pornit, ceea ce nu este cazul în care dosarul meu 642 00:31:25,480 --> 00:31:31,720 este, așa că am într-adevăr nevoie pentru a face CD-ul Dropbox intra, iar acum pot să fac salut rm 643 00:31:31,720 --> 00:31:34,060 intra, eliminați fișierul regulat salut. 644 00:31:34,060 --> 00:31:35,200 Nu știu de ce este atât de criptic. 645 00:31:35,200 --> 00:31:37,600 Asta înseamnă că ești sigur doriți să ștergeți Alo? 646 00:31:37,600 --> 00:31:41,510 Aveți posibilitatea să tastați y pentru Da, intră, și acum a dispărut. 647 00:31:41,510 --> 00:31:46,010 >> Și acum, dacă tastați face salut din nou, este va recrea codul meu obiect, 648 00:31:46,010 --> 00:31:47,460 recrea acele zero si unu. 649 00:31:47,460 --> 00:31:51,070 Dar ceea ce este treaba cu această comandă foarte mult? 650 00:31:51,070 --> 00:31:53,960 Ei bine, vom sicana acest lucru în afară Înainte de mult timp, dar face - 651 00:31:53,960 --> 00:31:55,500 I-am spus un pic de o minciună albă înainte - 652 00:31:55,500 --> 00:31:56,880 nu este un compilator. 653 00:31:56,880 --> 00:32:00,350 Face este un program care în mod automat seama cum de a rula un 654 00:32:00,350 --> 00:32:02,060 compilator pentru tine. 655 00:32:02,060 --> 00:32:07,490 >> Deci, porunca pe care într-adevăr ar trebui să fie de funcționare, în scopul de a converti hello.c 656 00:32:07,490 --> 00:32:11,240 în salut arata de fapt un pic mai mult ca aceasta. 657 00:32:11,240 --> 00:32:15,900 Și Doamne ferește, trebuie să de fapt, amintiți-vă să tastați vreodată că tot 658 00:32:15,900 --> 00:32:17,280 Secvența de comenzi tunel. 659 00:32:17,280 --> 00:32:21,360 Scopul de a face în viață este de a amintiți-vă că gradul de complexitate a 660 00:32:21,360 --> 00:32:24,470 noi și automatizarea ce ar fi altfel fi pași foarte obositor. 661 00:32:24,470 --> 00:32:26,040 >> Dar pot aproxima că. 662 00:32:26,040 --> 00:32:29,960 Deci, pe această foaie de ieftin puțin aici, am poate aproxima că ceea ce comandă este 663 00:32:29,960 --> 00:32:33,960 face pur și simplu prin tastarea zăngănit, care este numele de compilator vom fi 664 00:32:33,960 --> 00:32:35,170 folosind acest semestru. 665 00:32:35,170 --> 00:32:38,500 Dacă vreunul dintre voi ați făcut vreodată iOS dezvoltare pentru iPhone sau iPad, 666 00:32:38,500 --> 00:32:42,930 Zăngănit este programul care le-ați folosit în Xcode pentru a face aplicațiile dvs.. 667 00:32:42,930 --> 00:32:46,360 Clang, însă, este doar un alt program al cărui nume se poate introduce la comanda 668 00:32:46,360 --> 00:32:49,210 prompte, și prin introducerea acest lucru acum, Pot să prezint ceva care este un 669 00:32:49,210 --> 00:32:52,410 Reprezentantul puțin de comenzi pentru a veni. 670 00:32:52,410 --> 00:32:53,910 Deci, lasă-mă să fac acest lucru manual. 671 00:32:53,910 --> 00:32:59,240 >> Deci rm Bună ziua, și observa acum în cazul în care Eu, la fel ca și verifica un bun-simț - 672 00:32:59,240 --> 00:33:03,180 . / Bună ziua, ce crezi că am ar trebui să vedeți dacă am face acest lucru? 673 00:33:03,180 --> 00:33:04,060 Un fel de eroare. 674 00:33:04,060 --> 00:33:05,110 Director nu fișier, cum ar. 675 00:33:05,110 --> 00:33:06,740 Astfel că unul este de fapt destul de directă. 676 00:33:06,740 --> 00:33:08,110 >> Deci, acum, permiteți-mi clar pe ecran. 677 00:33:08,110 --> 00:33:11,370 De control S șterge doar pe ecran pentru a elimina unele distrageri. 678 00:33:11,370 --> 00:33:17,160 Și acum am de gând să manual tip clang-o salut hello.c. 679 00:33:17,160 --> 00:33:18,890 Deci, despre ce este vorba de a face? 680 00:33:18,890 --> 00:33:23,820 Exact același lucru care face făcut pentru noi, dar am aruncat o parte din 681 00:33:23,820 --> 00:33:25,430 cuvintele de prisos. 682 00:33:25,430 --> 00:33:28,570 >> Zăngănit este programul care va ia-o. c fișier ca intrare și produc 683 00:33:28,570 --> 00:33:30,110 zero si unu ca ieșire. 684 00:33:30,110 --> 00:33:35,120 Dar-o acum înainte va numi un comutator sau un steag. 685 00:33:35,120 --> 00:33:39,080 Aceasta este doar jargon tehnician pentru a spune acesta este un cuvânt pe care îl tastați, la un prompt 686 00:33:39,080 --> 00:33:42,590 care influențează într-un fel comportamentul de programul pe care îl rulați. 687 00:33:42,590 --> 00:33:47,180 Deci, nimeni nu vrea să ghicesc ce-o transmite? 688 00:33:47,180 --> 00:33:47,840 >> De ieșire. 689 00:33:47,840 --> 00:33:52,670 E doar cineva a decis-o înseamnă ieșire un fișier numit salut și să ia ca 690 00:33:52,670 --> 00:33:56,440 intrare indiferent de ultimul cuvânt cu privire la promptă este, hello.c, astfel încât, dacă am lovit 691 00:33:56,440 --> 00:33:58,930 Introduceți acum, nimic nu pare să se întâmple. 692 00:33:58,930 --> 00:34:02,010 Și destul de ciudat, în această lume de de programare, în cazul în care nu se întâmplă nimic, 693 00:34:02,010 --> 00:34:03,980 că este, probabil, un lucru bun pentru că nu există nici o eroare 694 00:34:03,980 --> 00:34:05,350 Mesajul de pe ecran. 695 00:34:05,350 --> 00:34:07,190 Bună ziua, Enter. 696 00:34:07,190 --> 00:34:08,670 Programul meu a alerga acum. 697 00:34:08,670 --> 00:34:14,517 >> Dar eu pot face lucruri stupide cum ar fi aceasta. clang-o, hihihi, hello.c, 698 00:34:14,517 --> 00:34:18,590 intra, iar acum am un identică Programul numit hihihi. 699 00:34:18,590 --> 00:34:20,739 Acesta se comportă la fel, dar numele este diferit. 700 00:34:20,739 --> 00:34:23,360 >> Deci, aceasta este doar să spun că, dacă doriți pentru a influența comportamentul unui 701 00:34:23,360 --> 00:34:25,909 Programul, vom tot vezi lucruri numite 702 00:34:25,909 --> 00:34:27,739 argumente în linia de comandă. 703 00:34:27,739 --> 00:34:28,639 Aceasta este o linie. 704 00:34:28,639 --> 00:34:29,580 Ce tastați comenzi. 705 00:34:29,580 --> 00:34:30,969 Ergo, linia de comandă. 706 00:34:30,969 --> 00:34:35,690 Și parametri sunt doar cuvinte sau bucăți mici de sintaxă care 707 00:34:35,690 --> 00:34:40,840 influența într-un fel comportamentul programele pe care le execută. 708 00:34:40,840 --> 00:34:44,639 >> Bine, că este, probabil, cel mai Programul de plictisitor, putem scrie și să vedem. 709 00:34:44,639 --> 00:34:46,670 Să facem acum ceva mult mai interesant. 710 00:34:46,670 --> 00:34:49,420 Lasă-mă să merg mai departe și de a crea un nou fișier. 711 00:34:49,420 --> 00:34:53,139 Am de gând să merg mai departe și de a salva acest lucru în Directorul home John Harvard ca, 712 00:34:53,139 --> 00:34:58,670 să-i zicem custom.c, să fie un mic program personalizat. 713 00:34:58,670 --> 00:35:01,920 Am de gând pentru a mări în partea de sus a mea filele de aici și începe din nou. 714 00:35:01,920 --> 00:35:03,730 >> Include stdio.h standard. 715 00:35:03,730 --> 00:35:04,990 Mai multe despre faptul că într-o clipă. 716 00:35:04,990 --> 00:35:08,240 int main (void), mai mult pe că într-un moment. 717 00:35:08,240 --> 00:35:09,490 printf ("Bună ziua, David"). 718 00:35:09,490 --> 00:35:12,810 719 00:35:12,810 --> 00:35:14,560 Mult mai interesant, nu? 720 00:35:14,560 --> 00:35:20,690 >> Deci, acum, dacă - nu din cauza numelui meu, doar pentru că este diferit - 721 00:35:20,690 --> 00:35:24,950 face personalizat intra. 722 00:35:24,950 --> 00:35:26,780 Personalizat, salut, David. 723 00:35:26,780 --> 00:35:28,020 Dar chiar și faptul că, de asemenea, este o minciună albă. 724 00:35:28,020 --> 00:35:30,850 Acest program ar putea fi la fel de bine numit david.c, pentru că nu este personalizat 725 00:35:30,850 --> 00:35:31,880 Comportamentul la toate. 726 00:35:31,880 --> 00:35:35,080 Într-adevăr, vreau un program care cere utilizatorului pentru numele lor. 727 00:35:35,080 --> 00:35:36,320 >> Deci, cum fac asta? 728 00:35:36,320 --> 00:35:38,520 Ei bine, lasă-mă să derulați în sus pe aici. 729 00:35:38,520 --> 00:35:42,960 Și înainte de a utiliza o declarație în Zero, înainte de a folosi printf, 730 00:35:42,960 --> 00:35:47,600 altfel cunoscut ca o funcție, lasă-mă să Primul cere utilizatorului pentru unele de intrare. 731 00:35:47,600 --> 00:35:49,690 >> Deci, pentru a face acest lucru, trebuie să face un cuplu de lucruri. 732 00:35:49,690 --> 00:35:53,360 O, am nevoie de un loc pentru a stoca utilizatorului numele după ce l-am rugat sau 733 00:35:53,360 --> 00:35:54,510 o pentru ea. 734 00:35:54,510 --> 00:36:00,120 Ce CONSTRUCT am nevoie pentru a utiliza, probabil, pentru a stoca o valoare de genul asta? 735 00:36:00,120 --> 00:36:00,910 O variabilă. 736 00:36:00,910 --> 00:36:05,130 >> Deci, spre deosebire de Scratch, în cazul în care obține doar o frumos piesa de puzzle, aici, trebuie să 737 00:36:05,130 --> 00:36:07,620 utilizarea, în mod evident, cuvintele la ne exprima. 738 00:36:07,620 --> 00:36:11,510 Și de acum înainte, oricând doriți o cuvânt sau o frază, în programarea, 739 00:36:11,510 --> 00:36:13,090 vom numi ca un șir. 740 00:36:13,090 --> 00:36:14,990 Deci, un șir este un cuvânt sau o frază. 741 00:36:14,990 --> 00:36:18,170 Este o secvență de zero sau mai multe caractere, mai mult formal. 742 00:36:18,170 --> 00:36:22,520 >> Și, dacă doriți o astfel de variabilă a există, trebuie să spui da-mi unul. 743 00:36:22,520 --> 00:36:27,490 Și modul prin care poți face asta este să spune șir s punct și virgulă, unde s poate fi 744 00:36:27,490 --> 00:36:28,740 tot ce vrei. 745 00:36:28,740 --> 00:36:30,510 De fapt, s este un pic underwhelming. 746 00:36:30,510 --> 00:36:33,250 Lasă-mă să merg mai departe și mai mult este numele de apel în mod clar. 747 00:36:33,250 --> 00:36:36,570 Dă-mi un șir numit nume. 748 00:36:36,570 --> 00:36:40,180 >> Dar acum, ceea ce este persoana de Numele implicit? 749 00:36:40,180 --> 00:36:42,930 Ei bine, dacă omul nu tastați nimic in, evident, nu se întâmplă 750 00:36:42,930 --> 00:36:44,310 să fie nici o valoare în nume. 751 00:36:44,310 --> 00:36:48,120 Și se pare că în C, dacă nu dau o variabilă de valoare, se va 752 00:36:48,120 --> 00:36:49,180 au o valoare de gunoi. 753 00:36:49,180 --> 00:36:51,650 S-ar putea avea unele zerouri aleatorii și cele, deci esti doar de gând să vezi 754 00:36:51,650 --> 00:36:54,570 gunoi, într-adevăr, pe ecran dacă încercați să-l afișeze. 755 00:36:54,570 --> 00:36:59,800 >> Dar eu pot rezolva ca prin a spune, de fapt, magazin în interiorul numelui 756 00:36:59,800 --> 00:37:01,400 după valoare. 757 00:37:01,400 --> 00:37:09,240 Felul în care vă stoca valori în variabile este dacă aveți un nume de variabilă pe 758 00:37:09,240 --> 00:37:13,370 stânga, trebuie să puneți într-un fel ceea ce doriți să stocați în ea pe dreapta, și 759 00:37:13,370 --> 00:37:17,650 sintaxa pentru că se întâmplă a fi, după cum urmează. 760 00:37:17,650 --> 00:37:22,120 >> Noi nu am văzut acest lucru înainte, dar ia pe credință pentru o clipă că există 761 00:37:22,120 --> 00:37:26,270 există o altă declarație în lume că am de gând pentru a apela din nou funcția, 762 00:37:26,270 --> 00:37:28,310 iar această funcție este numita obține șir. 763 00:37:28,310 --> 00:37:29,670 Și-l face literalmente acest lucru. 764 00:37:29,670 --> 00:37:34,680 Ea devine într-un fel o secvență de caractere de la om și apoi 765 00:37:34,680 --> 00:37:36,380 face ceva cu ea. 766 00:37:36,380 --> 00:37:38,410 >> Și acest lucru nu arata ca sintaxa criptic. 767 00:37:38,410 --> 00:37:40,880 În mod normal, dacă utilizați semne egale - vă aflați în lume, să zicem, 768 00:37:40,880 --> 00:37:43,740 algebra, si tu esti de fapt spunând x este egal cu 1. 769 00:37:43,740 --> 00:37:46,570 Aici noi nu spunem că Numele egal obține șir. 770 00:37:46,570 --> 00:37:51,270 Spunem magazin în numele ce- pe partea dreaptă 771 00:37:51,270 --> 00:37:52,400 din care semnul egal. 772 00:37:52,400 --> 00:37:55,030 Semnul egal reprezintă operatorului de atribuire. 773 00:37:55,030 --> 00:37:58,240 Este sintaxa care spune că a pus ceea ce este pe partea dreaptă din interiorul ceea ce-i 774 00:37:58,240 --> 00:37:59,090 pe stânga. 775 00:37:59,090 --> 00:38:03,040 Deci, se string este o nouă piesă de funcționalitate care nu numai că 776 00:38:03,040 --> 00:38:03,670 ceva - 777 00:38:03,670 --> 00:38:05,000 cere utilizatorului pentru un șir - 778 00:38:05,000 --> 00:38:08,500 De asemenea, se întoarce, ca să spunem așa. 779 00:38:08,500 --> 00:38:10,690 >> Deci, haideți să vedem ce se întâmplă să se întâmple aici. 780 00:38:10,690 --> 00:38:14,300 Am de gând să merg mai departe acum și zoom out, și am de gând pentru a obține un cuplu de 781 00:38:14,300 --> 00:38:15,780 greșelile de la prompte mea. 782 00:38:15,780 --> 00:38:18,750 Am de gând să tastați face personalizat, intra. 783 00:38:18,750 --> 00:38:19,230 Wow. 784 00:38:19,230 --> 00:38:20,500 O grămadă de greșeli. 785 00:38:20,500 --> 00:38:23,120 >> În regulă, deci asta este un fel de copleșitoare, cu siguranță, la început, dar 786 00:38:23,120 --> 00:38:27,220 se pare că toate acestea foarte Desigur mesaje de eroare criptic sunt 787 00:38:27,220 --> 00:38:30,700 referindu-se la unele modele care vom începe pentru a vedea în timp. 788 00:38:30,700 --> 00:38:32,600 Deci, asta voi smulge, pentru că este în primul rând. 789 00:38:32,600 --> 00:38:35,700 Utilizarea șir de identificare nedeclarate. 790 00:38:35,700 --> 00:38:39,400 >> Asta înseamnă că gedit, sau zăngănit, în acest caz, nu știe 791 00:38:39,400 --> 00:38:40,780 Ce vreau să spun prin șir. 792 00:38:40,780 --> 00:38:43,880 Și asta pentru că, în C, de programare limbă, există de fapt, 793 00:38:43,880 --> 00:38:47,750 este o variabila de tip string. 794 00:38:47,750 --> 00:38:49,810 C nu știe că există siruri de caractere. 795 00:38:49,810 --> 00:38:52,260 >> Dar noi, CS50 personal, nu. 796 00:38:52,260 --> 00:38:57,080 Și astfel în avans de clasă, am a creat un fișier numit CS50.h. 797 00:38:57,080 --> 00:39:00,060 Și în interiorul acestui dosar - și mai mult pe sintaxa să vină - 798 00:39:00,060 --> 00:39:03,730 în interiorul acestui fișier este o definiție din ceea ce am definit 799 00:39:03,730 --> 00:39:05,340 verbal ca un șir. 800 00:39:05,340 --> 00:39:09,100 Deci, pur și simplu, prin încheierea acestui linie unul de cod în programul meu, eu sunt acum 801 00:39:09,100 --> 00:39:14,620 predare gedit și să facă și zăngănit toate la rândul său, ceea ce este un șir. 802 00:39:14,620 --> 00:39:15,475 >> Nu știu cum încă. 803 00:39:15,475 --> 00:39:17,110 În câteva săptămâni, vom coaja înapoi ca strat. 804 00:39:17,110 --> 00:39:20,340 Dar pentru acum, știu că acest învață compilatorul ce un 805 00:39:20,340 --> 00:39:22,020 șir de fapt este. 806 00:39:22,020 --> 00:39:24,230 >> Deci, acum, permiteți-mi clar meu terminale aici. 807 00:39:24,230 --> 00:39:28,530 Lasă-mă să re-rula face personalizat, și eu rezolvat toate aceste probleme. 808 00:39:28,530 --> 00:39:30,210 Deci acest lucru, de asemenea, se va fie o temă recurentă. 809 00:39:30,210 --> 00:39:34,190 Am scris doar un program de 9 linii, și dar am avut 18 de linii de erori. 810 00:39:34,190 --> 00:39:35,650 Asta e un fel de intimidare. 811 00:39:35,650 --> 00:39:39,260 Dar dau seama că ei cascada de multe ori astfel de că o mică greșeală declanseaza 812 00:39:39,260 --> 00:39:43,070 confuzie pentru compilator, și se pare mult mai rău decât este. 813 00:39:43,070 --> 00:39:47,460 >> Deci, acum un observator atent va ști că Primesc un șir de 814 00:39:47,460 --> 00:39:51,460 utilizator, dar eu nu sunt de fapt face ceea ce cu ea? 815 00:39:51,460 --> 00:39:53,570 Nu mă face de fapt nimic cu ea. 816 00:39:53,570 --> 00:40:01,240 Deci, dacă am rula de fapt personalizat din nou, se va doar să stea acolo. 817 00:40:01,240 --> 00:40:03,380 Ce se întâmplă? 818 00:40:03,380 --> 00:40:07,990 Programul meu pare a fi blocat pe ce linie, ai spune? 819 00:40:07,990 --> 00:40:09,860 >> Deci, este de fapt blocat pe linia 7. 820 00:40:09,860 --> 00:40:13,600 Și noi nu am văzut acest lucru înainte, dar pe linia 7, nu e, din nou, acest lucru 821 00:40:13,600 --> 00:40:14,650 afirmație, se șir. 822 00:40:14,650 --> 00:40:15,930 Și ea face ceea ce spune. 823 00:40:15,930 --> 00:40:18,480 Se așteaptă acum pentru om să ia șir. 824 00:40:18,480 --> 00:40:22,230 Acest lucru este complet unintuitive pentru mine, umană, pentru că nu am fost spus 825 00:40:22,230 --> 00:40:23,040 ce să facă. 826 00:40:23,040 --> 00:40:27,320 >> Dar lasă-mă să merg mai departe pe credință și permiteți-mi să pretind a fi Rob. 827 00:40:27,320 --> 00:40:28,500 Enter. 828 00:40:28,500 --> 00:40:30,930 Asta nu e programul am vrut. 829 00:40:30,930 --> 00:40:32,350 Deci avem primul nostru blog. 830 00:40:32,350 --> 00:40:34,390 >> Dar haideți să încercăm să motiveze prin de ce acesta este cazul. 831 00:40:34,390 --> 00:40:36,940 În primul rând, permiteți-mi rezolva această primă problemă. 832 00:40:36,940 --> 00:40:44,690 Permiteți-mi să adăugați o linie de aici care spune printf, ceea ce este numele tau? 833 00:40:44,690 --> 00:40:47,700 Hai să facem Citat de aproape, Paranteză închisă. 834 00:40:47,700 --> 00:40:51,350 >> Acum, lasă-mă să re-rula programul. 835 00:40:51,350 --> 00:40:51,760 Problemă. 836 00:40:51,760 --> 00:40:54,690 Nu văd asta. 837 00:40:54,690 --> 00:40:54,930 >> Dreapta. 838 00:40:54,930 --> 00:40:55,990 Nu l-am recompilare. 839 00:40:55,990 --> 00:40:59,800 Deci, într-un limbaj ca C, pentru că schimba codul sursă nu înseamnă 840 00:40:59,800 --> 00:41:03,170 pe care le-au schimbat codul obiect pentru a genera cod obiect nou, 841 00:41:03,170 --> 00:41:04,330 noi zero si unu. 842 00:41:04,330 --> 00:41:05,590 Trebuie să recompilați. 843 00:41:05,590 --> 00:41:10,300 Dacă eu acum re-rula personalizat, introduceți, ah, un pic mai clar. 844 00:41:10,300 --> 00:41:11,890 Numele meu este Rob. 845 00:41:11,890 --> 00:41:12,760 Încă buggy. 846 00:41:12,760 --> 00:41:14,170 >> Și aș spune că e câteva bug-uri acum. 847 00:41:14,170 --> 00:41:15,450 Acest lucru arată doar hidos, sincer. 848 00:41:15,450 --> 00:41:18,980 Ca, minim, ar trebui să aibă un spațiu acolo, sau mutați 849 00:41:18,980 --> 00:41:20,330 cursorul la noua linie. 850 00:41:20,330 --> 00:41:21,370 >> Și, de fapt, noua linie. 851 00:41:21,370 --> 00:41:24,660 Asta e un fel de fraza cheie aici că am văzut, dar nu este definit. 852 00:41:24,660 --> 00:41:28,560 Modul în care veți obține un text pentru a trece la următoarea linie, 853 00:41:28,560 --> 00:41:29,480 tu nu faci acest lucru. 854 00:41:29,480 --> 00:41:31,070 Aceasta este încurcată la calculator. 855 00:41:31,070 --> 00:41:33,830 Acest lucru arata ca două linii separate de cod, nici de care 856 00:41:33,830 --> 00:41:35,010 este perfect corect. 857 00:41:35,010 --> 00:41:39,380 Ai în schimb trebuie să fie mai explicit și spune, da-mi o nouă linie, pe care le 858 00:41:39,380 --> 00:41:41,810 reprezintă în C cu backslash n. 859 00:41:41,810 --> 00:41:43,230 >> Deci, există câteva astfel de caractere. 860 00:41:43,230 --> 00:41:45,080 Backslash n va stabili că estetică. 861 00:41:45,080 --> 00:41:49,640 862 00:41:49,640 --> 00:41:50,870 Permiteți-mi să recompilați programul meu. 863 00:41:50,870 --> 00:41:52,300 Lasă-mă să re-rula programul meu. 864 00:41:52,300 --> 00:41:53,520 >> Aceasta arata mai bine. 865 00:41:53,520 --> 00:41:56,960 Este încă destul de primitiv, dar este, de asemenea, încă buggy. 866 00:41:56,960 --> 00:41:58,090 Deci, există un singur - 867 00:41:58,090 --> 00:42:01,680 chiar dacă nu ați programat înainte, puteți lua, probabil, o presupunere 868 00:42:01,680 --> 00:42:04,960 la ce acest program este în continuare greșită. 869 00:42:04,960 --> 00:42:08,540 Ce trebuie să fac ca Nu am făcut încă? 870 00:42:08,540 --> 00:42:10,450 >> Deci, ce trebuie să fac de fapt, ceva cu nume. 871 00:42:10,450 --> 00:42:14,190 La fel ca la zero, s-ar putea de fapt atribuie o variabilă ca n sau 872 00:42:14,190 --> 00:42:16,150 contracara cum am facut ultima saptamana - o valoare. 873 00:42:16,150 --> 00:42:18,930 Dar dacă nu faci nimic cu ea, nimic nu se va întâmpla. 874 00:42:18,930 --> 00:42:20,210 >> Bine, asa ca lasa repara. 875 00:42:20,210 --> 00:42:23,670 Permiteți-mi să tastați variabil mea acolo, și lasă-mă să merg pe aici. 876 00:42:23,670 --> 00:42:29,120 Lasă-mă să recompilați, lasă-mă să re-rula, Rob. 877 00:42:29,120 --> 00:42:30,540 Acum, eu sunt doar un idiot, nu? 878 00:42:30,540 --> 00:42:33,280 >> Deci, acest lucru nu este adevărat obtinerea ma mai departe. 879 00:42:33,280 --> 00:42:35,850 Dar asta a fost un perfect natural instinct, aș spune, nu? 880 00:42:35,850 --> 00:42:39,340 În cazul în care variabila este numit nume, și eu Vreau să merg acolo, de ce nu am 881 00:42:39,340 --> 00:42:40,200 introduceți-l acolo? 882 00:42:40,200 --> 00:42:42,210 >> Ei bine, desigur, avem pentru a distinge acum 883 00:42:42,210 --> 00:42:44,070 între ceea ce este un șir? 884 00:42:44,070 --> 00:42:47,060 Observați că citatul citat aici, Buna ziua? 885 00:42:47,060 --> 00:42:48,960 Acest fapt în sine este un șir. 886 00:42:48,960 --> 00:42:49,820 E greu codificate. 887 00:42:49,820 --> 00:42:50,690 Nu e de om. 888 00:42:50,690 --> 00:42:54,020 E de la mine, programator originală, dar este încă un șir. 889 00:42:54,020 --> 00:42:58,300 >> Deci, dacă ați scrie literalmente N-A-M-E în interiorul a unui șir, ce se întâmplă la 890 00:42:58,300 --> 00:42:59,120 obține imprimate? 891 00:42:59,120 --> 00:43:03,660 Bine, N-A-M-E. Avem în schimb nevoie de pentru a spune printf, nu se imprimă 892 00:43:03,660 --> 00:43:04,870 în literalmente nume. 893 00:43:04,870 --> 00:43:06,680 Imprima valoarea de nume. 894 00:43:06,680 --> 00:43:08,410 >> Și de a face acest lucru, facem următoarele. 895 00:43:08,410 --> 00:43:09,800 Și aceasta este doar o convenție umană. 896 00:43:09,800 --> 00:43:14,990 Noi spunem în schimb% s, și că standuri pentru șir. 897 00:43:14,990 --> 00:43:19,810 Și apoi, la sfârșitul meu citate apropiate, Am de gând să pună o virgulă și 898 00:43:19,810 --> 00:43:23,790 trece un al doilea argument în această declarație. 899 00:43:23,790 --> 00:43:25,970 Am de gând să introduceți numele acolo. 900 00:43:25,970 --> 00:43:27,960 >> Deci, acum observa, avem o ușor noua sintaxă. 901 00:43:27,960 --> 00:43:32,320 Încă mai avem două paranteze, și permiteți-mi să spun că de acum încolo lucrurile 902 00:43:32,320 --> 00:43:36,830 între paranteze reprezintă argumente într-o funcție - 903 00:43:36,830 --> 00:43:39,730 intrări, care sunt într-un fel vor pentru a influența comportamentul acesteia. 904 00:43:39,730 --> 00:43:43,010 Deci, prin care logica, cât de multe argumente printf pare a fi 905 00:43:43,010 --> 00:43:45,450 având în acest moment? 906 00:43:45,450 --> 00:43:48,370 >> Deci, se pare a fi a lua doi, și că este într-adevăr implicat 907 00:43:48,370 --> 00:43:49,570 prin virgula aici. 908 00:43:49,570 --> 00:43:51,640 Deci, acesta este un argument în între ghilimele. 909 00:43:51,640 --> 00:43:54,540 Chiar dacă are o virgulă în ea, totul e în ghilimele, ceea ce înseamnă 910 00:43:54,540 --> 00:43:56,230 este un șir lung. 911 00:43:56,230 --> 00:43:58,280 Virgulă, numele variabilei. 912 00:43:58,280 --> 00:44:00,680 >> Deci, acum lasă-mă să micșora. 913 00:44:00,680 --> 00:44:02,240 Lasă-mă să-l re-rula. 914 00:44:02,240 --> 00:44:03,490 Rob. 915 00:44:03,490 --> 00:44:06,520 La naiba, ce am gresit? 916 00:44:06,520 --> 00:44:07,920 >> În regulă, deci va trebui să recompilați. 917 00:44:07,920 --> 00:44:11,030 Deci, din nou, greșeli ușor de a face timpurie din nou și din nou pe. 918 00:44:11,030 --> 00:44:15,280 Deci, acum re-rula personalizate, Rob, intra, și voila. 919 00:44:15,280 --> 00:44:17,110 Avem acum un program personalizat. 920 00:44:17,110 --> 00:44:21,660 >> Asa ca acum am un program care folosind câteva caracteristici 921 00:44:21,660 --> 00:44:22,520 că sunt demn de remarcat. 922 00:44:22,520 --> 00:44:27,850 O, eu sunt, folosind CS50.h, altfel cunoscut sub CS50 biblioteca. 923 00:44:27,850 --> 00:44:33,050 Și în interiorul CS50 bibliotecii sunt Funcțiile pe care alte persoane au scris - 924 00:44:33,050 --> 00:44:33,980 și anume personalului - 925 00:44:33,980 --> 00:44:36,620 pentru tine de a utiliza, și să obțină șir este unul dintre ele. 926 00:44:36,620 --> 00:44:41,310 >> În interiorul liniei 2 este stdio.h, și de ce este acest lucru acolo? 927 00:44:41,310 --> 00:44:42,070 Ia-o presupunere. 928 00:44:42,070 --> 00:44:46,200 Ceea ce există în interiorul standard de IO părinte? 929 00:44:46,200 --> 00:44:46,940 Printf. 930 00:44:46,940 --> 00:44:49,600 Deci printf, nu-l văd nicăieri altceva de pe ecran. 931 00:44:49,600 --> 00:44:51,870 Ea trebuie să vină cu calculator într-un fel. 932 00:44:51,870 --> 00:44:54,870 În cazul în care nu provin de la? 933 00:44:54,870 --> 00:44:57,660 Este în interiorul - care este declarat, ca să spunem așa, în interiorul 934 00:44:57,660 --> 00:44:59,890 un fișier numit stdio.h. 935 00:44:59,890 --> 00:45:02,670 >> Acum, pentru chestia asta, ne vom întoarce a în cele din urmă, pentru că este un pic 936 00:45:02,670 --> 00:45:03,930 distrage atenția de acum. 937 00:45:03,930 --> 00:45:05,490 Aceasta se referă la tipul de returnare. 938 00:45:05,490 --> 00:45:07,660 Aceasta se referă la un argument. 939 00:45:07,660 --> 00:45:10,230 Dar pentru ziua de azi, ne concentram doar aici, pe aceste linii. 940 00:45:10,230 --> 00:45:13,280 >> Deci numele șir, doar pentru a recapitulare, Ce a făcut pentru mine? 941 00:45:13,280 --> 00:45:16,940 942 00:45:16,940 --> 00:45:19,560 Deci, a declarat o variabila de tip string. 943 00:45:19,560 --> 00:45:22,630 Deci, este menit să fie de cuvinte, nu pentru numere. 944 00:45:22,630 --> 00:45:25,530 Doar ca o paranteză, dacă am vrea acesta să fie un număr, aș spune 945 00:45:25,530 --> 00:45:26,560 ceva de genul Int. 946 00:45:26,560 --> 00:45:29,740 Dacă am vrut să fie un punct de flotant valoare, ceva cu un punct zecimal, 947 00:45:29,740 --> 00:45:30,600 Aș spune float. 948 00:45:30,600 --> 00:45:32,640 Dar pentru ziua de azi, am spus șir. 949 00:45:32,640 --> 00:45:35,940 >> Și i-am dat această variabilă un nume de nume, dar am putut 950 00:45:35,940 --> 00:45:37,240 au numit-o nimic. 951 00:45:37,240 --> 00:45:39,340 De fapt, inițial, l-am sunat S. 952 00:45:39,340 --> 00:45:41,050 >> Acest lucru aici este doar o altă declarație. 953 00:45:41,050 --> 00:45:44,170 Cât de multe argumente este aceasta luând afirmație? 954 00:45:44,170 --> 00:45:47,890 Deci, se ia doar una, și că este pur și simplu un detaliu estetic de 955 00:45:47,890 --> 00:45:49,610 afișarea ceva pe ecranului pentru mine. 956 00:45:49,610 --> 00:45:54,750 Ce este această 8 linie face în termeni de nespecialist? 957 00:45:54,750 --> 00:45:57,320 >> Se face o valoare de utilizator - și anume, un șir - 958 00:45:57,320 --> 00:45:58,770 și ceea ce o face cu ea? 959 00:45:58,770 --> 00:46:02,450 Este în esență, predarea la Tipul pe partea stângă a 960 00:46:02,450 --> 00:46:07,100 semnul egalității, astfel că, în acest caz, Numele variabilă poate stoca de fapt. 961 00:46:07,100 --> 00:46:10,020 >> Și apoi printf este un alt exemplu de o funcție. 962 00:46:10,020 --> 00:46:11,870 Și noi spunem pentru a apela o funcție. 963 00:46:11,870 --> 00:46:13,870 Pentru a utiliza o funcție este pentru a apela o funcție. 964 00:46:13,870 --> 00:46:15,640 Acest lucru aparent are două argumente. 965 00:46:15,640 --> 00:46:18,100 Acesta, virgulă, aceasta. 966 00:46:18,100 --> 00:46:20,910 >> Aceasta în sine este doar un șir care conține un substituent. 967 00:46:20,910 --> 00:46:23,860 % S înseamnă a pune un alt șir aici. 968 00:46:23,860 --> 00:46:27,360 Și astfel aplicându-și numele după virgula, care este introducerea 969 00:46:27,360 --> 00:46:29,420 care lucru pentru mine. 970 00:46:29,420 --> 00:46:31,300 >> Deci, eu pot face alte lucruri încă. 971 00:46:31,300 --> 00:46:36,820 Lasă-mă să merg mai departe acum și de a face un pic de o Programul de prostie, dar permiteți-mi șterge acest, 972 00:46:36,820 --> 00:46:38,880 și să-mi crea o buclă. 973 00:46:38,880 --> 00:46:41,390 În timp ce adevărat. 974 00:46:41,390 --> 00:46:45,210 Simbolul adevărat este, evident, întotdeauna o să fie adevărat. 975 00:46:45,210 --> 00:46:49,830 Deci, ce fel de buclă am inducerea de a scrie o linie de genul asta? 976 00:46:49,830 --> 00:46:51,070 >> Deci, o bucla infinita, nu? 977 00:46:51,070 --> 00:46:52,090 Doar în timp ce adevărat. 978 00:46:52,090 --> 00:46:56,210 Nu există nici un fel pot schimba cuvântul adevărat a fi orice altceva, astfel încât acesta este 979 00:46:56,210 --> 00:46:57,310 doar de gând să ruleze pentru totdeauna. 980 00:46:57,310 --> 00:46:59,960 Deci, dacă ați avut vreodată de fapt un program de în Mac sau PC-ul care pare dvs. 981 00:46:59,960 --> 00:47:02,480 au închis, sau se face ceva și ceva, iar tu doar 982 00:47:02,480 --> 00:47:05,500 nu pot obține lucru să renunțe dacă nu reporniți computerul sau trage în sus 983 00:47:05,500 --> 00:47:08,360 Task Manager sau cum ar fi, aici este un astfel de exemplu. 984 00:47:08,360 --> 00:47:14,340 >> Eu pot spune, "Sunt un program de buggy." Close citat, aproape 985 00:47:14,340 --> 00:47:15,780 paranteze, punct și virgulă. 986 00:47:15,780 --> 00:47:17,010 Deci, din nou, observa tiparele. 987 00:47:17,010 --> 00:47:21,440 Chiar dacă o parte din sintaxa noastră este nou, în timp ce cuvântul cheie, cuvântul cheie adevărat, 988 00:47:21,440 --> 00:47:23,590 Notă am avea aceeași tip de acolade. 989 00:47:23,590 --> 00:47:25,890 Am luat un punct și virgulă și paranteze. 990 00:47:25,890 --> 00:47:28,000 >> Deci, acum să mergem mai departe și compila acest lucru. 991 00:47:28,000 --> 00:47:29,630 Face personalizat, personalizate. 992 00:47:29,630 --> 00:47:32,690 993 00:47:32,690 --> 00:47:36,660 Deci, la acest moment, nu este nevoie să reporniți aparatul, bine? 994 00:47:36,660 --> 00:47:39,925 Deci lecția ușor aici este cu două degete, de control C, 995 00:47:39,925 --> 00:47:41,230 vom renunta acest program. 996 00:47:41,230 --> 00:47:45,430 Dar puteți vedea exact de ce acest lucru se repeta din nou și din nou. 997 00:47:45,430 --> 00:47:48,080 >> Pot să fac ceva un pic mai complex ca un teaser. 998 00:47:48,080 --> 00:47:49,600 Am de gând să merg mai departe și spun următoarele. 999 00:47:49,600 --> 00:47:55,210 Pentru Int, care este un întreg, i este doar un nume generic dăm la cele mai 1000 00:47:55,210 --> 00:47:59,500 variabile în programare și atunci când sunteți numărare doar, este egal cu 0. 1001 00:47:59,500 --> 00:48:08,640 Lasă-mă să merg mai departe și spun în timp ce este, să zicem, mai puțin de 100, i, plus, plus. 1002 00:48:08,640 --> 00:48:10,240 Vom reveni la această sintaxă, dar acest lucru înseamnă doar 1003 00:48:10,240 --> 00:48:12,270 incrementa am din nou și din nou. 1004 00:48:12,270 --> 00:48:14,200 >> Și ceea ce vreau să fac aici? 1005 00:48:14,200 --> 00:48:21,130 Printf, "pot conta să i." Acesta este un program de buggy. 1006 00:48:21,130 --> 00:48:22,450 Ce am de fapt intenția de aici? 1007 00:48:22,450 --> 00:48:25,220 1008 00:48:25,220 --> 00:48:30,940 >> La sută nu e, dar tu nu ar ghici aceasta. % D este un număr întreg zecimal. 1009 00:48:30,940 --> 00:48:32,720 Virgulă am. 1010 00:48:32,720 --> 00:48:34,340 Lasă-mă să reveniți. 1011 00:48:34,340 --> 00:48:37,170 >> Permiteți-mi acum recompilațicu face. 1012 00:48:37,170 --> 00:48:39,280 Permiteți-mi acum reluare cu personalizat. 1013 00:48:39,280 --> 00:48:42,410 Pot conta cu adevărat al naibii de repede atunci când Scriu un program de genul asta. 1014 00:48:42,410 --> 00:48:45,480 >> Acum, hai sa facem ceva o puțin neintenționată. 1015 00:48:45,480 --> 00:48:51,220 Ce zici să facem acest lucru în timp ce este mai mare sau egală cu 0. 1016 00:48:51,220 --> 00:48:53,630 Ce se întâmplă acest lucru pentru a induce? 1017 00:48:53,630 --> 00:49:01,030 Deci, logic, acest lucru nu este atât de înțelept, pentru că acum, dacă rulați din nou acest lucru, povesti, 1018 00:49:01,030 --> 00:49:05,050 Eu pot conta acum foarte, foarte mare. 1019 00:49:05,050 --> 00:49:08,850 Din păcate, la fel de mare ca pot numărul este de 4 miliarde de euro, astfel încât acest lucru se întâmplă 1020 00:49:08,850 --> 00:49:10,140 pentru a lua un timp. 1021 00:49:10,140 --> 00:49:13,440 >> Deci, de ce să nu lăsăm acest lucru ca nostru Cliffhanger, promițând că pe 1022 00:49:13,440 --> 00:49:15,650 Miercuri, vom vedea dacă acest program se face. 1023 00:49:15,650 --> 00:49:19,260 Doi, vom prezenta modul în care te scrie propria funcție, astfel încât foarte 1024 00:49:19,260 --> 00:49:22,930 repede, de miercuri, vom, așa cum am tranziția de la zero în C, începe 1025 00:49:22,930 --> 00:49:25,880 scris ce în ce mai complexe programe care fac de mult, 1026 00:49:25,880 --> 00:49:27,070 mult mai mult decât aceasta. 1027 00:49:27,070 --> 00:49:28,766 Ne veți vedea atunci. 1028 00:49:28,766 --> 00:49:31,580 >> [Aplauze] 1029 00:49:31,580 --> 00:49:34,690 >> SPEAKER 1: La CS50 următoare, Ziua puzzle a fost un succes. 1030 00:49:34,690 --> 00:49:39,690