1 00:00:00,000 --> 00:00:03,290 >> [MUSIC JOC] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 JASON Hirschhorn: OK, toată lumea. 4 00:00:06,280 --> 00:00:07,460 Bine ați venit la secțiunea. 5 00:00:07,460 --> 00:00:10,840 Aceasta este CS50, foarte nostru primul super secțiune. 6 00:00:10,840 --> 00:00:13,700 După cum știți cu toții, săptămâna viitoare secțiuni regulate vor începe, 7 00:00:13,700 --> 00:00:15,580 dar în această săptămână suntem împreună. 8 00:00:15,580 --> 00:00:17,730 >> Există mine. 9 00:00:17,730 --> 00:00:18,840 Numele meu este Jason. 10 00:00:18,840 --> 00:00:20,630 Sunt un lector în informatică. 11 00:00:20,630 --> 00:00:23,910 Avem Andi, cine e șef AT de CS50. 12 00:00:23,910 --> 00:00:27,630 Și Scaz, profesorul Brian Scassellati, el este un profesor in Computer Science. 13 00:00:27,630 --> 00:00:30,970 >> Suntem capetele CS50 la Yale. 14 00:00:30,970 --> 00:00:34,992 Puteți trimite prin email întotdeauna ne heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 Vom fi la prelegeri. 16 00:00:35,950 --> 00:00:37,547 Vom fi la birou ore. 17 00:00:37,547 --> 00:00:40,130 Dacă e ceva ce putem vreodată face pentru tine, orice ai nevoie, 18 00:00:40,130 --> 00:00:42,610 nu ezitați de a ajunge la noi. 19 00:00:42,610 --> 00:00:44,140 >> Deci, ce vom face astăzi? 20 00:00:44,140 --> 00:00:47,790 Sau înainte de atunci, ceea ce este vine în această săptămână? 21 00:00:47,790 --> 00:00:52,620 Deci orelor de program este de luni, marți, Miercuri, și joi, 08:00 - 11:00. 22 00:00:52,620 --> 00:00:54,770 Există un program de pe site-ul. 23 00:00:54,770 --> 00:00:57,830 >> Secțiunile, cum am menționat, sunt începând de săptămâna viitoare. 24 00:00:57,830 --> 00:01:01,390 Și veți găsi în această săptămână ce cronometra secțiune este, ce zi este, 25 00:01:01,390 --> 00:01:03,350 și cine este TA ta. 26 00:01:03,350 --> 00:01:08,610 >> Problema Set 1 se datorează la joi la amiază, vineri la prânz, cu o zi mai târziu. 27 00:01:08,610 --> 00:01:10,817 Da, aveți nouă zile întârziere. 28 00:01:10,817 --> 00:01:12,150 Și acolo sunt nouă seturi de probleme. 29 00:01:12,150 --> 00:01:14,320 Și poate folosi doar un singur zi întârziere pe set problemă. 30 00:01:14,320 --> 00:01:17,930 Da, de fapt, toate problemă seturi sunt datorate vineri la prânz. 31 00:01:17,930 --> 00:01:18,550 Asta e tot. 32 00:01:18,550 --> 00:01:20,400 Tot ce detaliile sunt pe programa. 33 00:01:20,400 --> 00:01:22,360 >> În fiecare vineri, avem prânzuri. 34 00:01:22,360 --> 00:01:25,230 Ne place pentru a face acest mare Desigur simt un pic mai mic. 35 00:01:25,230 --> 00:01:26,580 Deci ești binevenit să RSVP. 36 00:01:26,580 --> 00:01:30,050 Masa de prânz gratuit cu colegii colegii și personalul. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> Toate aceste lucruri pe care Am pe ecran, 39 00:01:36,940 --> 00:01:43,330 și mai mult, puteți găsi cs50.yale.edu sau cs50.harvard.edu, dacă te duci la Harvard 40 00:01:43,330 --> 00:01:46,800 și sunt urmăriți acest on-line. 41 00:01:46,800 --> 00:01:50,240 >> De asemenea, pe aceste site-uri, nu sunt o tona de resurse pentru tine. 42 00:01:50,240 --> 00:01:54,610 Fiecare curs are nu numai video de curs, dar remarcă, de asemenea. 43 00:01:54,610 --> 00:01:58,184 Cineva vor urmări curs și ia notițe pentru tine. 44 00:01:58,184 --> 00:02:00,100 Astfel încât să puteți plăti doar atenție în timpul prelegeri, 45 00:02:00,100 --> 00:02:03,970 sau puteți utiliza notele lor / noastră ia act pentru a suplimenta propriile note. 46 00:02:03,970 --> 00:02:04,987 >> Există diapozitive on-line. 47 00:02:04,987 --> 00:02:07,320 Sursa code-- tot David trece peste în curs, 48 00:02:07,320 --> 00:02:09,979 sau Scaz trece peste prelegere, care codul sursă este disponibil online 49 00:02:09,979 --> 00:02:11,750 precum și, după cum cum am, video menționat. 50 00:02:11,750 --> 00:02:14,257 >> Secțiunile, de asemenea, vor fi toate filmat. 51 00:02:14,257 --> 00:02:15,840 Toate aceste diapozitive va fi disponibil. 52 00:02:15,840 --> 00:02:18,190 Toate din acest cod va fi disponibil pentru tine. 53 00:02:18,190 --> 00:02:22,440 Există pantaloni scurți pe site-ul în cazul în care Membri ai personalului CS50 cheltui cinci pana la 10 54 00:02:22,440 --> 00:02:24,130 minute trec prin subiecte pentru tine. 55 00:02:24,130 --> 00:02:26,750 Unii dintre cei care le-ați deja întâlnite în seturi de probleme. 56 00:02:26,750 --> 00:02:30,430 >> Orelor de serviciu, după cum am menționat, luni prin joi, 8:00 la 11:00. 57 00:02:30,430 --> 00:02:32,600 CS50 studiu este o resursă fantastic. 58 00:02:32,600 --> 00:02:37,100 Există probleme practice, slide-uri de propoziții, bug-uri cunoscute 59 00:02:37,100 --> 00:02:40,920 că studenții place să curgă în, pentru fiecare esență, noi subiect 60 00:02:40,920 --> 00:02:42,650 va acoperi în acest curs. 61 00:02:42,650 --> 00:02:46,350 >> Și, în sfârșit, cu privire la acest diapozitiv cel puțin, Reference50 62 00:02:46,350 --> 00:02:49,690 care vă oferă informații pe toate funcțiile C 63 00:02:49,690 --> 00:02:53,160 ai putea vreodată, eventual, spera de a utiliza și multe, multe altele. 64 00:02:53,160 --> 00:02:55,690 >> Din nou, faptul că dot dot dot la în partea de jos a ecranului 65 00:02:55,690 --> 00:02:59,990 este de a indica faptul că există chiar și mai multe resurse de pe cele două site-uri: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> Deci, ce facem azi? 68 00:03:05,840 --> 00:03:08,970 Ei bine, în primul rând am de gând să dea te uiti la resursele. 69 00:03:08,970 --> 00:03:10,010 A făcut deja asta. 70 00:03:10,010 --> 00:03:11,590 Uită-te la noi. 71 00:03:11,590 --> 00:03:16,430 >> Acum, vom trece peste tipurile de date și operatorii din C. 72 00:03:16,430 --> 00:03:19,990 Atunci Andi va veni aici și du-te peste biblioteci în C, printf (), 73 00:03:19,990 --> 00:03:24,570 o funcție cu care sunteți deja familiar sau va deveni rapid foarte 74 00:03:24,570 --> 00:03:25,530 familiar. 75 00:03:25,530 --> 00:03:27,810 Și veți merge, de asemenea peste condiționale și bucle. 76 00:03:27,810 --> 00:03:30,900 >> Și apoi în cele din urmă, Scaz va trece peste ID-ul CS50. 77 00:03:30,900 --> 00:03:34,250 Dacă nu ați porumbel în deja în Problema Set 1, 78 00:03:34,250 --> 00:03:37,060 precum și modul de utilizare a comenzi terminale și utile 79 00:03:37,060 --> 00:03:42,280 și apoi vă dau câteva demo-uri și codificare practică în ID-ul CS50. 80 00:03:42,280 --> 00:03:45,130 >> Înainte de a sări în acest conținut de pe partea asta, 81 00:03:45,130 --> 00:03:46,770 cineva are întrebări până acum? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 Grozav. 84 00:03:54,030 --> 00:03:54,950 BINE. 85 00:03:54,950 --> 00:03:55,810 Schimbarea unelte. 86 00:03:55,810 --> 00:03:58,760 >> [Schimbare a vitezelor] 87 00:03:58,760 --> 00:04:03,070 >> Asta am fost eu deplasare unelte într-o mașină manual. 88 00:04:03,070 --> 00:04:10,920 Deci, tipurile de date în C, nu poți avea doar un X variabilă și l-au fi pe linia 10, 89 00:04:10,920 --> 00:04:17,170 un număr întreg, poate numărul 1, pe linia 20, un număr zecimal 10.5, 90 00:04:17,170 --> 00:04:20,500 și linii atunci un cuplu mai târziu, un șir de caractere, iubesc CS50. 91 00:04:20,500 --> 00:04:25,052 >> În C, variabilele pot fi numai un singur lucru, și doar un singur lucru. 92 00:04:25,052 --> 00:04:26,510 Și deci va trebui să le dea tipuri. 93 00:04:26,510 --> 00:04:28,780 Și pe acest forum, am au o listă de tipuri. 94 00:04:28,780 --> 00:04:32,000 Există caractere, care suport pentru caractere. 95 00:04:32,000 --> 00:04:36,850 Deci asta e o literă A, B, C, D. Aceasta poate fi, de asemenea, un spațiu, 96 00:04:36,850 --> 00:04:40,290 sau care poate fi, de asemenea, un nou personaj linie. 97 00:04:40,290 --> 00:04:45,030 >> Există numere întregi, care sunt la fel numere, întreg Numere întregi sau 98 00:04:45,030 --> 00:04:47,130 rather-- dar nu zecimale. 99 00:04:47,130 --> 00:04:49,790 >> Pentru zecimale, avem Numerele în virgulă mobilă. 100 00:04:49,790 --> 00:04:53,200 Plutitoare numerele punctelor sunt numere cu zecimale. 101 00:04:53,200 --> 00:04:58,160 >> Apoi, există tânjește, care sunt numere întregi, în esență, mai lungi. 102 00:04:58,160 --> 00:05:01,160 Veți observa că o lungă este 8 întrucât un int este de 4. 103 00:05:01,160 --> 00:05:02,640 Voi ajunge la faptul că într-o secundă. 104 00:05:02,640 --> 00:05:07,390 Asta pentru că tânjește poate stoca chiar mai multe numere întregi decât un întreg poate stoca. 105 00:05:07,390 --> 00:05:10,100 Dublu este un float lung. 106 00:05:10,100 --> 00:05:12,460 >> Și, în sfârșit, ne-am string, care este un tip 107 00:05:12,460 --> 00:05:14,430 care le-au folosit probabil înainte. 108 00:05:14,430 --> 00:05:21,100 Dacă includeți hashtag # includeCS50.h în fișierul sursă, 109 00:05:21,100 --> 00:05:23,170 atunci puteți utiliza un tip de șir. 110 00:05:23,170 --> 00:05:25,560 Nu e de fapt construit în C. 111 00:05:25,560 --> 00:05:27,760 >> Există câteva alte tipuri de asemenea. 112 00:05:27,760 --> 00:05:32,900 Dar acestea sunt cele principale cu pe care le va folosi și se confruntă. 113 00:05:32,900 --> 00:05:36,210 C ca, din nou, am menționat, fiecare se variable-- 114 00:05:36,210 --> 00:05:38,620 poate fi doar un singur tip și un singur tip. 115 00:05:38,620 --> 00:05:42,890 Asta pentru că C este un static limbă dactilografiate, spre deosebire 116 00:05:42,890 --> 00:05:45,780 pentru limbi tastat dinamic în cazul în care dacă veți crea o variabilă 117 00:05:45,780 --> 00:05:50,081 puteți schimba ceea ce este stocat în l ca te duci pe la programul tău. 118 00:05:50,081 --> 00:05:52,580 Aici pe dreapta parte, am diferite dimensiuni 119 00:05:52,580 --> 00:05:57,440 din aceste tipuri de date în octeți. 120 00:05:57,440 --> 00:05:59,710 Deci, un caracter este de 1 octet. 121 00:05:59,710 --> 00:06:01,250 Asta e 8 biți. 122 00:06:01,250 --> 00:06:05,530 Și asta înseamnă că 8 biți există opt 0s și 1s. 123 00:06:05,530 --> 00:06:08,280 Am văzut aceste demo-uri în primul săptămână cu care becuri binare. 124 00:06:08,280 --> 00:06:15,680 >> Cu 8 biți sau 1 octet, putem reprezintă numere 0-255. 125 00:06:15,680 --> 00:06:16,180 Dreapta. 126 00:06:16,180 --> 00:06:18,770 Dacă toate 8 biți sunt 0 e 0. 127 00:06:18,770 --> 00:06:23,640 În cazul în care primul bit este 1, care este numărul o, și așa mai departe, tot drumul până la 255. 128 00:06:23,640 --> 00:06:28,290 Și de aceea pentru caractere pe care le puteți au, în esență, de până la 255 de ei, 129 00:06:28,290 --> 00:06:31,210 dar asta e o multime pentru a acoperi toate personajele care avem nevoie pentru a utiliza. 130 00:06:31,210 --> 00:06:38,060 >> Pentru numere întregi, puteți avea și 0 atunci va trebui 2 la 32 minus 1. 131 00:06:38,060 --> 00:06:40,340 Acestea sunt cât mai multe opțiuni aveți pentru numere întregi. 132 00:06:40,340 --> 00:06:44,780 >> Pentru un timp, aveți 0 la 2 la 64 minus 1. 133 00:06:44,780 --> 00:06:48,860 Deci, aveți multe, multe, mai multe opțiuni pentru tânjește. 134 00:06:48,860 --> 00:06:54,220 >> Siruri de caractere, care este un semn de întrebare pentru că asta e un cliffhanger pentru mai târziu. 135 00:06:54,220 --> 00:06:55,000 Da. 136 00:06:55,000 --> 00:06:56,350 Aș putea spune toată lumea e pe marginea scaunului lor, 137 00:06:56,350 --> 00:06:57,450 ca ceea ce e semn de întrebare? 138 00:06:57,450 --> 00:06:58,390 Este un cliffhanger. 139 00:06:58,390 --> 00:07:02,340 Vom acoperi în cele din urmă dimensiunea siruri de caractere și vorbi mai mult despre siruri de caractere. 140 00:07:02,340 --> 00:07:04,692 Deoarece string este de fapt una dintre roțile de formare 141 00:07:04,692 --> 00:07:06,400 am pus în această Desigur, la începutul 142 00:07:06,400 --> 00:07:09,700 și apoi scoate mai târziu pe, pentru că siruri de caractere in C 143 00:07:09,700 --> 00:07:13,320 sunt de fapt indicative pentru tablouri de caractere. 144 00:07:13,320 --> 00:07:15,810 Dar, din nou, e un Cliffhanger pentru mai târziu. 145 00:07:15,810 --> 00:07:18,890 Înainte de a trece la orice întrebări, comentarii, preocupările legate de acest diapozitiv? 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> BINE. 148 00:07:26,630 --> 00:07:30,330 Trebuie să fiu un explainer fantastic. 149 00:07:30,330 --> 00:07:33,210 De asemenea, atunci când ați programare, ai de gând să utilizați acești operatori. 150 00:07:33,210 --> 00:07:36,730 Semne foarte simplu care poate face simplu operațiuni, cu care esti, probabil, 151 00:07:36,730 --> 00:07:38,340 deja foarte familiar. 152 00:07:38,340 --> 00:07:42,580 >> De exemplu, pe partea dreaptă în partea stângă, vom vedea adăuga. 153 00:07:42,580 --> 00:07:44,640 Pentru a adăuga, faci doar un semn plus. 154 00:07:44,640 --> 00:07:46,850 Și așa s-ar putea avea două variabile x și y. 155 00:07:46,850 --> 00:07:48,810 Puteți face x + y în codul dumneavoastră. 156 00:07:48,810 --> 00:07:52,790 Poate vrei sa-- spui au numărul 7 și 3, 157 00:07:52,790 --> 00:07:55,780 doriți să stocați pe care într-o sumă variabilă numită. 158 00:07:55,780 --> 00:08:03,010 Puteți face int pentru tipul, spațiul sumă, numele variabilei, = 7 + 3; 159 00:08:03,010 --> 00:08:05,780 >> Ce-ar care se păstra în sumă? 160 00:08:05,780 --> 00:08:07,190 Oricine? 161 00:08:07,190 --> 00:08:09,270 Dacă aș fi avut în suma = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 Ce s-ar fi stocate în sumă? 163 00:08:10,437 --> 00:08:11,520 Puteți doar strige. 164 00:08:11,520 --> 00:08:12,120 Audiența: 10. 165 00:08:12,120 --> 00:08:12,995 >> JASON Hirschhorn: 10! 166 00:08:12,995 --> 00:08:14,870 Asta-i exact corect. 167 00:08:14,870 --> 00:08:19,520 Ce zici de la suma = 7-3, Eu folosesc doar ca semn de bord. 168 00:08:19,520 --> 00:08:20,871 Ce se întâmplă pentru a fi stocate? 169 00:08:20,871 --> 00:08:21,370 Audiența: 4. 170 00:08:21,370 --> 00:08:22,203 JASON Hirschhorn: 4. 171 00:08:22,203 --> 00:08:25,770 Sumă este, probabil, numele greșit pentru variabila, dar 4 ar fi stocate. 172 00:08:25,770 --> 00:08:31,890 >> Să se înmulțească în C, utilizați putinul Caracter Star, nu utilizați un x. 173 00:08:31,890 --> 00:08:35,990 Pentru a împărți, a utiliza un Forward Nu Slash simbolul diviziune. 174 00:08:35,990 --> 00:08:39,580 Și de a modulo, utilizați simbolul sută. 175 00:08:39,580 --> 00:08:47,900 >> Deci, să spunem că vreau să văd Int z = 7% 3, ceea ce ar fi stocate în z? 176 00:08:47,900 --> 00:08:51,250 Deci, asta e, în esență, întreabă ce face modulo? 177 00:08:51,250 --> 00:08:52,750 Stie cineva ce face modulo? 178 00:08:52,750 --> 00:08:53,940 Da. 179 00:08:53,940 --> 00:08:54,870 y 4. 180 00:08:54,870 --> 00:08:56,120 SPEAKER 1: Este restul. 181 00:08:56,120 --> 00:08:58,369 JASON Hirschhorn: este restul, atunci când împărți. 182 00:08:58,369 --> 00:09:02,790 Deci, 7 împărțit la 3 este de 2 rest 1. 183 00:09:02,790 --> 00:09:04,690 Deci 1-ar fi stocate. 184 00:09:04,690 --> 00:09:06,970 >> Ai făcut scădere, dar asta e modul în care funcționează. 185 00:09:06,970 --> 00:09:09,140 Asta e ceea ce face operatorul modulo. 186 00:09:09,140 --> 00:09:12,360 Este nevoie de un număr de ea împarte cu un alt număr și se întoarce la tine 187 00:09:12,360 --> 00:09:14,590 ce a mai rămas. 188 00:09:14,590 --> 00:09:19,770 Deci, din nou, cu 7% 3 vă oferă o, pentru că 7 împărțit la 3 este de 2 rest 1, 189 00:09:19,770 --> 00:09:21,650 și returnează restul. 190 00:09:21,650 --> 00:09:24,470 >> Ce zici să mergem înapoi un pas în acest semn divizare. 191 00:09:24,470 --> 00:09:29,194 Dacă am făcut 7 / împărțit la 3 nu cunosc pe nimeni că ceea ce se va întoarce? 192 00:09:29,194 --> 00:09:30,090 >> SPEAKER 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> JASON Hirschhorn: De ce 2 si nu 2.333? 194 00:09:32,240 --> 00:09:34,560 >> SPEAKER 2: Cred că ia off după numărul întreg. 195 00:09:34,560 --> 00:09:36,310 JASON Hirschhorn: Deci asta e exact dreapta. 196 00:09:36,310 --> 00:09:39,880 În C, dacă faci divizie a două numere întregi 7 împărțit de 3, 197 00:09:39,880 --> 00:09:43,430 acesta devine răspunsul pe care în acest caz 2.3333 totdeauna 198 00:09:43,430 --> 00:09:47,080 și se constată că punctul zecimal și taie tot de pe urma zecimal 199 00:09:47,080 --> 00:09:49,240 și doar tu întoarce 2. 200 00:09:49,240 --> 00:09:51,120 >> Deci, dacă am făcut 8 împărțit la 3. 201 00:09:51,120 --> 00:09:54,010 Că, de fapt, știm care să se întoarcă 2.666, 202 00:09:54,010 --> 00:09:57,050 dar taie tot de pe la zecimal, totul trunchiază, 203 00:09:57,050 --> 00:09:58,640 și doar se întoarce la tine 2. 204 00:09:58,640 --> 00:10:02,090 Deci 6 împărțit la 3, 7 divizat de 3, 8 împărțit la 3, 205 00:10:02,090 --> 00:10:04,840 sunt toate de gând să se întoarcă la tine 2. 206 00:10:04,840 --> 00:10:08,770 >> Stie cineva, sau au o presupunere, cu privire la cum aș putea obține de fapt, 207 00:10:08,770 --> 00:10:10,790 răspunsul complet dacă vreau asta zecimal? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 Da. 210 00:10:13,620 --> 00:10:14,152 Daţi-i drumul. 211 00:10:14,152 --> 00:10:15,110 SPEAKER 3: Folositi un float? 212 00:10:15,110 --> 00:10:16,942 JASON Hirschhorn: Ce vrei să spui? 213 00:10:16,942 --> 00:10:19,786 SPEAKER 3: Pentru că au spus float este pentru numere [Inaudibil] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 JASON Hirschhorn: dreapta. 216 00:10:23,900 --> 00:10:26,100 Deci, asta e exact dreapta. 217 00:10:26,100 --> 00:10:28,440 7 este un număr întreg. 218 00:10:28,440 --> 00:10:31,690 Dar dacă am vrut să rândul său, că într-un număr în virgulă mobilă, 219 00:10:31,690 --> 00:10:34,674 Mi-ar fi pentru a stoca că ca 7.0 deoarece computerul 220 00:10:34,674 --> 00:10:37,090 este de fapt stupid-- am văzut că cu example-- PB și J 221 00:10:37,090 --> 00:10:38,930 se va face doar exact ceea ce-l spun. 222 00:10:38,930 --> 00:10:40,846 >> Așa că, dacă scrie 7, aceasta Cred că e un număr întreg. 223 00:10:40,846 --> 00:10:43,640 Dacă ați scrie 7,0, chiar dacă știu aceste lucruri sunt echivalente, 224 00:10:43,640 --> 00:10:45,550 se tratează ca ca o plutitoare număr punct. 225 00:10:45,550 --> 00:10:50,441 Deci, dacă ai făcut 7,0 împărțit de 3, sau împărțit la 3,0, 226 00:10:50,441 --> 00:10:52,440 ar spune, OK, acum avem de-a face cu flotoare. 227 00:10:52,440 --> 00:10:57,514 Mă voi întoarce la tine 2.333333 totdeauna. 228 00:10:57,514 --> 00:10:59,930 Dar nu chiar pentru totdeauna, pentru că așa cum am văzut, de asemenea, în curs, 229 00:10:59,930 --> 00:11:03,350 aceste numere în virgulă mobilă nu sunt exact precise. 230 00:11:03,350 --> 00:11:05,940 >> Deci, dacă vrei asta zecimal, sau o parte din care zecimal, 231 00:11:05,940 --> 00:11:08,090 atunci va trebui să use-- una dintre ele trebuie să fie un număr în virgulă mobilă 232 00:11:08,090 --> 00:11:11,048 și computerul trebuie să înțeleagă că acesta este un punct plutitoare esti 233 00:11:11,048 --> 00:11:13,350 a face cu, nu un număr întreg. 234 00:11:13,350 --> 00:11:16,760 Orice întrebări cu privire la acest tabel pe pe partea dreaptă, până în prezent? 235 00:11:16,760 --> 00:11:22,650 Sau partea ta stângă, dvs stânga, partea ta stângă. 236 00:11:22,650 --> 00:11:23,264 Da. 237 00:11:23,264 --> 00:11:23,972 SPEAKER 4: dreapta. 238 00:11:23,972 --> 00:11:26,216 Pentru ca un obișnuit doar numere întregi, ar trebui să 239 00:11:26,216 --> 00:11:30,230 write-- ar va trebui să scrie plutească? 240 00:11:30,230 --> 00:11:31,920 >> JASON Hirschhorn: Da așa. 241 00:11:31,920 --> 00:11:34,400 Ei bine, dacă doriți să creați o variabilă care este un float, 242 00:11:34,400 --> 00:11:37,020 aveți nevoie pentru a spune float Z este egal cu ceva. 243 00:11:37,020 --> 00:11:37,640 >> SPEAKER 4: OK. 244 00:11:37,640 --> 00:11:41,950 >> JASON Hirschhorn: Dar dacă am vrut să face 7 împărțit la 3 și obține zecimal, 245 00:11:41,950 --> 00:11:48,540 Mi-ar face float z = 7,0 / 3,0 de; și care mi-ar da în virgulă mobilă 246 00:11:48,540 --> 00:11:49,273 număr. 247 00:11:49,273 --> 00:11:50,000 >> SPEAKER 4: OK. 248 00:11:50,000 --> 00:11:56,370 >> JASON Hirschhorn: Dacă am făcut-o ceva de genul int z = 7 / cu 3, 249 00:11:56,370 --> 00:12:00,856 că mi-ar da un întreg, pentru că acestea sunt toate numere întregi. 250 00:12:00,856 --> 00:12:01,730 Asta face sens? 251 00:12:01,730 --> 00:12:02,320 >> SPEAKER 4: Da. 252 00:12:02,320 --> 00:12:02,950 >> JASON Hirschhorn: OK. 253 00:12:02,950 --> 00:12:03,450 Grozav. 254 00:12:03,450 --> 00:12:06,030 Orice alte intrebari despre acest tabel? 255 00:12:06,030 --> 00:12:07,220 Într-adevăr? 256 00:12:07,220 --> 00:12:08,380 Sunt atat de incantat. 257 00:12:08,380 --> 00:12:09,120 BINE. 258 00:12:09,120 --> 00:12:13,910 >> Deci, alte lucruri pe care le va folosi, deseori în condiții sau bucle, 259 00:12:13,910 --> 00:12:17,580 sunt aceste tipuri de operators-- aceste tipuri de expresii booleene. 260 00:12:17,580 --> 00:12:23,140 Și, după cum am aflat, == este ceea ce utilizați pentru a verifica dacă două lucruri sunt egale. 261 00:12:23,140 --> 00:12:28,170 >> Deci, aici eu sunt de verificare în cazul în care x == y, să din nou presupunem că x este 7 și Y este 3. 262 00:12:28,170 --> 00:12:33,220 Deci, dacă am scris 7 == 3, ceea ce ar care se întoarcă la mine? 263 00:12:33,220 --> 00:12:34,220 E adevărat sau fals? 264 00:12:34,220 --> 00:12:35,275 >> Audiența: Fals. 265 00:12:35,275 --> 00:12:36,150 JASON Hirschhorn: OK. 266 00:12:36,150 --> 00:12:37,370 Mă simt ca toată lumea poate obține această unul. 267 00:12:37,370 --> 00:12:39,054 Deci toată lumea, ceea ce s-ar întoarce asta? 268 00:12:39,054 --> 00:12:39,720 Audiența: Fals. 269 00:12:39,720 --> 00:12:40,130 JASON Hirschhorn: Fals. 270 00:12:40,130 --> 00:12:40,850 Grozav. 271 00:12:40,850 --> 00:12:41,930 7 nu egal 3. 272 00:12:41,930 --> 00:12:44,530 Deci, 7 == 3 se va întoarce false. 273 00:12:44,530 --> 00:12:50,746 Tu ai un semn nu este egal, deci, dacă am verificate 7! = 3, ceea ce s-ar întoarce asta? 274 00:12:50,746 --> 00:12:51,370 Audiența: Adevărat. 275 00:12:51,370 --> 00:12:52,650 JASON Hirschhorn: Adevărat. 276 00:12:52,650 --> 00:12:53,200 Excelent. 277 00:12:53,200 --> 00:12:55,990 Cineva a fost foarte categoric în spate și apreciez asta. 278 00:12:55,990 --> 00:12:59,070 Atunci vei avea mai putin operatorului, mai mică sau egală cu operatorul, 279 00:12:59,070 --> 00:13:01,990 mai mare decât operatorul, mai mare mică sau egală cu operatorul. 280 00:13:01,990 --> 00:13:03,490 >> Deci, încă o verificare bun-simț. 281 00:13:03,490 --> 00:13:05,660 Dacă aș fi avut 7 este mai mare decât sau egală cu 3. 282 00:13:05,660 --> 00:13:06,966 Ce s-ar întoarce asta? 283 00:13:06,966 --> 00:13:07,692 >> Audiența: Adevărat. 284 00:13:07,692 --> 00:13:08,650 JASON Hirschhorn: Adevărat. 285 00:13:08,650 --> 00:13:10,050 Da. 286 00:13:10,050 --> 00:13:13,290 Camera din spate, partea din spate din cameră, fantastic. 287 00:13:13,290 --> 00:13:16,240 Puteti combina aceste expresii dacă doriți, de asemenea, 288 00:13:16,240 --> 00:13:21,880 cu o logică și care este && Sau o logică sau care este || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 Și așa acum puteți testa doi lucruri together-- E amuzant? 291 00:13:25,785 --> 00:13:28,250 De ce este așa de amuzant? 292 00:13:28,250 --> 00:13:35,200 >> Deci, dacă am vrut, eu pot să spun este 7 mai mare de 3, I 2 este mai mică de 4? 293 00:13:35,200 --> 00:13:37,090 Ei bine, în cazul în care este mai mare de 7 mult de 3, e adevărat. 294 00:13:37,090 --> 00:13:38,400 2 este mai mică de 4, e adevărat. 295 00:13:38,400 --> 00:13:41,140 Deci, toată chestia asta se va întoarce true. 296 00:13:41,140 --> 00:13:45,130 >> Dacă am testat 7 este mai mare de 3 si-- Eu doar iau numere aleatoare here-- 297 00:13:45,130 --> 00:13:47,340 4 este mai mică de 2, ei bine, asta e fals. 298 00:13:47,340 --> 00:13:49,610 Atât de adevărat și de a face false. 299 00:13:49,610 --> 00:13:54,520 Și puteți merge mai departe și se combină ca multe condiții împreună, ca vrei. 300 00:13:54,520 --> 00:14:00,000 >> Are cineva întrebări, comentarii, preocupări până acum? 301 00:14:00,000 --> 00:14:03,862 Și văd pe unii dintre voi a lua imagini de mine în ecran, pe care o apreciez. 302 00:14:03,862 --> 00:14:05,070 Să sperăm că, nu este Snapchat. 303 00:14:05,070 --> 00:14:06,417 Din fericire, e pentru note. 304 00:14:06,417 --> 00:14:08,500 Dar toate acestea sunt de gând să fie disponibile online. 305 00:14:08,500 --> 00:14:11,210 Deci nu trebuie să face fotografii în acest sens. 306 00:14:11,210 --> 00:14:15,150 Cum am menționat, totul vor fi disponibile online pentru tine. 307 00:14:15,150 --> 00:14:15,650 BINE. 308 00:14:15,650 --> 00:14:17,980 Sunt pe cale de a obține afara scenei, la fel oricine 309 00:14:17,980 --> 00:14:20,350 vreau să spun nimic înainte de acest lucru se întâmplă? 310 00:14:20,350 --> 00:14:21,080 Întrebări? 311 00:14:21,080 --> 00:14:21,680 >> [Interpunerea VOCI] 312 00:14:21,680 --> 00:14:22,250 >> JASON Hirschhorn: Oh, opriți. 313 00:14:22,250 --> 00:14:23,290 Voi sunteți prea frumos. 314 00:14:23,290 --> 00:14:23,790 BINE. 315 00:14:23,790 --> 00:14:26,520 Am de gând pentru a eticheta afară. 316 00:14:26,520 --> 00:14:27,240 Să mergem. 317 00:14:27,240 --> 00:14:29,570 >> ANDI Peng: Vom face o schimbare ciudat mic acum. 318 00:14:29,570 --> 00:14:32,280 >> JASON Hirschhorn: Sunt va lua acest off. 319 00:14:32,280 --> 00:14:33,946 ANDI Peng: apreciem sprijinul, băieți. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 Ma auzi? 322 00:14:43,180 --> 00:14:43,930 Este atât de bună? 323 00:14:43,930 --> 00:14:44,760 Perfect. 324 00:14:44,760 --> 00:14:45,630 Frumoasa. 325 00:14:45,630 --> 00:14:47,490 Permiteți-mi să învelesc că, în. 326 00:14:47,490 --> 00:14:49,100 BINE. 327 00:14:49,100 --> 00:14:54,140 Deci, eu sunt pe cale de a face ca un gigant informații cu privire benă voi chiar acum. 328 00:14:54,140 --> 00:14:57,370 Și nu vă faceți griji dacă sunteți un fel de nu ca urmare fiecare linie puțin din ceea ce 329 00:14:57,370 --> 00:14:58,812 Sunt pe cale să-ți arăt. 330 00:14:58,812 --> 00:15:00,770 Așa cum a spus Jason, totul este complet on-line. 331 00:15:00,770 --> 00:15:03,780 Doar vom încerca să introducă toată lumea să conceptele acoperite 332 00:15:03,780 --> 00:15:05,270 în unele dintre aceste diapozitive. 333 00:15:05,270 --> 00:15:06,582 Deci, trebuie doar să urmezi de-a lungul. 334 00:15:06,582 --> 00:15:09,540 Nu vă faceți griji dacă nu înțeleg totul; Cu toate acestea, în cazul în care în orice punct 335 00:15:09,540 --> 00:15:12,820 te simti pierdut, pentru a ridica dvs. mână, vom opri, nu vă faceți griji. 336 00:15:12,820 --> 00:15:15,060 Misto. 337 00:15:15,060 --> 00:15:19,270 >> Deci, eu cred că ceva David are deja un fel de menționat în curs 338 00:15:19,270 --> 00:15:23,240 și Jason a un fel de aluzie la ziua de astazi este ceea ce o bibliotecă este. 339 00:15:23,240 --> 00:15:27,510 Deci, în programare, avem aceste lucruri numite biblioteci. 340 00:15:27,510 --> 00:15:29,690 În cazul în care, în esență, toate acestea sunt este doar un set 341 00:15:29,690 --> 00:15:32,610 de funcții, care este în esență, doar cod care este 342 00:15:32,610 --> 00:15:35,070 fost deja scris de altcineva care putem toți 343 00:15:35,070 --> 00:15:36,410 utilizați în cadrul programelor noastre. 344 00:15:36,410 --> 00:15:38,790 >> Deci, cum face o normală lucru bibliotecă, nu? 345 00:15:38,790 --> 00:15:40,030 Intri ușa bibliotecii. 346 00:15:40,030 --> 00:15:41,890 Aveți toate acestea cărțile pe care le puteți scoate 347 00:15:41,890 --> 00:15:44,590 și puteți accesa informații în acele cărți. 348 00:15:44,590 --> 00:15:45,840 Același lucru în programare. 349 00:15:45,840 --> 00:15:48,820 >> Aveți o bibliotecă care are deja scris de către alte persoane. 350 00:15:48,820 --> 00:15:51,530 Și modul în care puteți, ca programator sau un student, 351 00:15:51,530 --> 00:15:55,780 pot avea acces la acea bibliotecă este prin hashtag # include. 352 00:15:55,780 --> 00:15:59,720 >> De exemplu, în C ne au trei C- cel mai 353 00:15:59,720 --> 00:16:03,420 utilizate în mod obișnuit trei standard de C libraries-- biblioteca de intrare / ieșire, 354 00:16:03,420 --> 00:16:05,540 biblioteca string, și biblioteca matematica. 355 00:16:05,540 --> 00:16:07,610 >> Deci, în primul seturi cuplu problemă, 356 00:16:07,610 --> 00:16:10,940 acestea vor fi cele trei pe care îl utilizați în primul rând. 357 00:16:10,940 --> 00:16:14,610 Deci, ca David deja a explicat în curs, 358 00:16:14,610 --> 00:16:17,460 I Standard / biblioteca O, sau intrare / ieșire biblioteca standard 359 00:16:17,460 --> 00:16:18,620 face exact asta. 360 00:16:18,620 --> 00:16:23,530 Acesta vă permite, în codul dvs., la intrare nimic de la utilizator și de ieșire care 361 00:16:23,530 --> 00:16:25,960 la ecran, în esență tipărirea se pe ecran. 362 00:16:25,960 --> 00:16:29,990 >> Și așa de fiecare dată când utilizați funcții, de exemplu printf funcția (), care 363 00:16:29,990 --> 00:16:33,319 vom trece peste slide-ul urmator, asigurați-vă că pentru a include standard I / O 364 00:16:33,319 --> 00:16:36,360 bibliotecă sau altceva ce nu o să putea utiliza funcția printf (). 365 00:16:36,360 --> 00:16:39,110 Pentru ca tu, ca programator nu a scris de fapt această funcție, 366 00:16:39,110 --> 00:16:41,840 te folosind doar cineva Codul altcuiva în propriul cod. 367 00:16:41,840 --> 00:16:43,620 >> Are vreun sens toată lumea? 368 00:16:43,620 --> 00:16:44,520 Misto. 369 00:16:44,520 --> 00:16:48,530 >> Și apoi ajungem în esență pe biblioteca string.h și math.h 370 00:16:48,530 --> 00:16:52,970 bibliotecă, .h înseamnă doar bibliotecă, alte biblioteci pe care le veți în cele din urmă 371 00:16:52,970 --> 00:16:55,310 fie folosind în codul dumneavoastră. 372 00:16:55,310 --> 00:16:57,620 >> Cu toate acestea, în scopuri a acestei biblioteci, avem, de asemenea 373 00:16:57,620 --> 00:17:01,170 have-- acestui class-- avem, de asemenea ceea ce se numește biblioteca CS50, 374 00:17:01,170 --> 00:17:05,270 cs50.h, în cazul în care ne-am, pentru examinare atentă dumneavoastră au creat 375 00:17:05,270 --> 00:17:07,369 multe funcții importante și utile. 376 00:17:07,369 --> 00:17:09,550 Astfel încât să ca un programator poate salut norocos off 377 00:17:09,550 --> 00:17:14,470 ceea ce am scris deja, astfel încât Această funcție este disponibilă pentru a vă 378 00:17:14,470 --> 00:17:15,599 pentru utilizarea dumneavoastră. 379 00:17:15,599 --> 00:17:18,359 >> Voi fi acoperind o pereche de funcțiile utilizate în mod obișnuit, 380 00:17:18,359 --> 00:17:20,839 dar știu că acestea sunt toate on-line googleable. 381 00:17:20,839 --> 00:17:24,904 Simte-te liber, trageți în sus biblioteca CS50 și atunci aveți toate funcțiile acolo. 382 00:17:24,904 --> 00:17:25,828 Da. 383 00:17:25,828 --> 00:17:28,140 >> SPEAKER 5: Deci, dacă nu au fost utilizând software-ul care 384 00:17:28,140 --> 00:17:29,916 este furnizat de către noi clasa, face asta 385 00:17:29,916 --> 00:17:32,698 Adică vom avea pentru a descărca și de a găsi Acest antet ne fișier și spune 386 00:17:32,698 --> 00:17:33,840 computerul unde este? 387 00:17:33,840 --> 00:17:34,320 >> ANDI Peng: marea întrebare. 388 00:17:34,320 --> 00:17:34,820 Exact. 389 00:17:34,820 --> 00:17:38,194 Deci e ca daca nu esti prezent fizic la o bibliotecă, 390 00:17:38,194 --> 00:17:40,360 nu exista nici o modalitate de a de fapt, du-te și-l accesați. 391 00:17:40,360 --> 00:17:42,589 Deci același lucru cu programare în C, vă 392 00:17:42,589 --> 00:17:45,880 trebuie să vă asigurați că sunteți folosind nostru aparat pentru că biblioteca este deja 393 00:17:45,880 --> 00:17:47,270 fost încorporată în ea. 394 00:17:47,270 --> 00:17:50,020 Și apoi când hashtag #include, bibliotecii acolo. 395 00:17:50,020 --> 00:17:50,520 Da. 396 00:17:50,520 --> 00:17:51,920 Buna intrebare. 397 00:17:51,920 --> 00:17:53,461 Toată lumea bună? 398 00:17:53,461 --> 00:17:53,960 Misto. 399 00:17:53,960 --> 00:17:56,371 400 00:17:56,371 --> 00:17:56,870 In regula. 401 00:17:56,870 --> 00:17:59,330 Deci vom lovi, În esență, ceea ce este 402 00:17:59,330 --> 00:18:01,620 prima funcție pe care Noi, ca programatori sunt 403 00:18:01,620 --> 00:18:03,900 va folosi în codul nostru. 404 00:18:03,900 --> 00:18:05,690 Aceasta se numește (funcția printf). 405 00:18:05,690 --> 00:18:08,450 Deci, printf (funcția), cum am a declarat deja în ultimul diapozitiv, 406 00:18:08,450 --> 00:18:11,830 este inclusă în standard I / O, standard de intrare / ieșire, bibliotecă. 407 00:18:11,830 --> 00:18:16,470 >> Deci, asigurați-vă că indiferent ce using-- oh, lasă-mă să iau laser pointer-- 408 00:18:16,470 --> 00:18:18,660 ori de câte ori utilizați (funcția printf), 409 00:18:18,660 --> 00:18:21,790 trebuie să includă standardul I / O bibliotecă sau altceva, atunci când compilați, 410 00:18:21,790 --> 00:18:23,760 ai de gând pentru a obține o eroare deoarece computerul va fi ca, 411 00:18:23,760 --> 00:18:26,140 oh nu știu unde printf () este, tu nu-mi spui unde printf () 412 00:18:26,140 --> 00:18:26,830 este. 413 00:18:26,830 --> 00:18:30,150 Ei bine, printf () este inclus în I Standard / O, astfel încât atunci când utilizați printf (), 414 00:18:30,150 --> 00:18:32,960 asigurați-vă că pentru a avea linie de mai sus codul. 415 00:18:32,960 --> 00:18:36,040 >> Deci, de exemplu, printf () aici este o funcție. 416 00:18:36,040 --> 00:18:40,260 Tot ce face este de imprimare ceva în interiorul parantezelor pentru utilizator. 417 00:18:40,260 --> 00:18:44,840 Cineva ar dori să ia o lovitură de cuțit la ce această linie de cod drept 418 00:18:44,840 --> 00:18:46,420 aici se va imprima? 419 00:18:46,420 --> 00:18:48,730 Prin urmare, răspunsul e pe ecran. 420 00:18:48,730 --> 00:18:50,480 Oricine? 421 00:18:50,480 --> 00:18:51,380 >> VERDI: Fundul. 422 00:18:51,380 --> 00:18:53,510 >> ANDI Peng: Verdi, de ce nu te duci înainte și spune tot declarația? 423 00:18:53,510 --> 00:18:55,718 >> VERDI: Buna ziua, numele meu este Andi, și eu sunt 20 de ani. 424 00:18:55,718 --> 00:18:57,270 ANDI Peng: Ah, minunat. 425 00:18:57,270 --> 00:19:00,240 Deci, în această linie vom imprima, Buna ziua, numele meu este Andi, 426 00:19:00,240 --> 00:19:04,280 și am 20 de ani, care este de fapt o declarație adevărată. 427 00:19:04,280 --> 00:19:05,090 >> Sintaxă. 428 00:19:05,090 --> 00:19:08,830 Deci, câteva aspecte sintactice care Vreți să vă asigurați că știți. 429 00:19:08,830 --> 00:19:09,360 Citate. 430 00:19:09,360 --> 00:19:13,170 Ghilimele duble Spune- computer care totul în interiorul 431 00:19:13,170 --> 00:19:14,850 va fi imprimat. 432 00:19:14,850 --> 00:19:16,620 >> Totul în interiorul poate doar să fie exact cum 433 00:19:16,620 --> 00:19:19,920 îl scrieți, cu excepția de obicei la sfârșitul anului, 434 00:19:19,920 --> 00:19:23,610 vom dori să includă un hash-- oh sorry-- o liniuță n. 435 00:19:23,610 --> 00:19:24,640 Deci, o liniuță n. 436 00:19:24,640 --> 00:19:28,884 >> Vrea cineva să ia o presupunere la ce care face să codul nostru? 437 00:19:28,884 --> 00:19:29,465 Da. 438 00:19:29,465 --> 00:19:30,840 SPEAKER 6: Se pune pe o linie nouă. 439 00:19:30,840 --> 00:19:31,650 ANDI Peng: Exact. 440 00:19:31,650 --> 00:19:34,660 Deci, toate acestea nu este permite orice se întâmplă 441 00:19:34,660 --> 00:19:37,520 Dupa aceasta, după această declarație, pentru a fi imprimate la o nouă linie. 442 00:19:37,520 --> 00:19:40,030 Astfel încât atunci când scrii dvs. Codul nu aveți la întâmplare lucruri 443 00:19:40,030 --> 00:19:41,738 însăilat pe la sfârșitul care nu vrei. 444 00:19:41,738 --> 00:19:43,700 Că totul devine imprimate frumos o linie 445 00:19:43,700 --> 00:19:46,870 și apoi vom începe pe următoarea linie. 446 00:19:46,870 --> 00:19:50,970 >> Are cineva aminte că ceea ce punct și virgulă nu atunci când suntem de codificare? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 Da. 449 00:19:55,330 --> 00:19:55,740 >> SPEAKER 7: Declaratie. 450 00:19:55,740 --> 00:19:56,010 >> ANDI Peng: Îmi pare rău? 451 00:19:56,010 --> 00:19:57,100 >> SPEAKER 7: se termină declarația? 452 00:19:57,100 --> 00:19:57,766 >> ANDI Peng: Da. 453 00:19:57,766 --> 00:20:02,670 Deci, în C, sau orice programare limbă, punct și virgulă 454 00:20:02,670 --> 00:20:04,640 denotă sfârșitul unei linii de programare. 455 00:20:04,640 --> 00:20:09,240 Deci, de exemplu, în limba engleză vom folosi perioadă să spun, oh acest lucru este sfârșitul unei propoziții. 456 00:20:09,240 --> 00:20:12,857 În programare, același lucru, avem o punct și virgulă pentru a indica sfârșitul unei linii. 457 00:20:12,857 --> 00:20:14,690 Deseori, atunci când sunteți incepand de a programa, 458 00:20:14,690 --> 00:20:17,150 vei îți dai seama uitați să adăugați punct și virgulă 459 00:20:17,150 --> 00:20:19,400 și apoi încercați să executați dumneavoastră Codul și nu funcționează. 460 00:20:19,400 --> 00:20:21,520 Și tu ești ca, Ah, eu nu știu de ce, ar trebui să fie de lucru. 461 00:20:21,520 --> 00:20:24,394 >> Sansele sunt, probabil, ai uitat un punct și virgulă sau un suport sau ceva 462 00:20:24,394 --> 00:20:25,020 undeva. 463 00:20:25,020 --> 00:20:27,740 Deci, asta e important să ne amintim. 464 00:20:27,740 --> 00:20:29,627 Misto. 465 00:20:29,627 --> 00:20:31,960 Bine, spectacol de mâini, cât de mulți oameni de aici au vreodată 466 00:20:31,960 --> 00:20:37,210 luate AP Informatică sau programate în Java înainte, niciodată? 467 00:20:37,210 --> 00:20:37,710 BINE. 468 00:20:37,710 --> 00:20:38,210 Lovely. 469 00:20:38,210 --> 00:20:41,340 Asta nu se va aplica atunci, dar în Java, tu 470 00:20:41,340 --> 00:20:44,960 au ceva numit System.out.println care nu există în C. 471 00:20:44,960 --> 00:20:49,927 >> Deci, în C, ori de câte ori doriți să adăugați în variabile 472 00:20:49,927 --> 00:20:51,760 în tot ce vrei pentru a imprima, e 473 00:20:51,760 --> 00:20:54,620 o sintaxă specifică vom utiliza. 474 00:20:54,620 --> 00:20:56,520 Asta se numește placeholding-- esență 475 00:20:56,520 --> 00:21:01,180 vom adăuga substituenți în loc cu un număr întreg sau variabila 476 00:21:01,180 --> 00:21:02,580 pe care dorim să le imprimați. 477 00:21:02,580 --> 00:21:07,430 >> Deci, ca voi puteti vedea am inclus un nou antet bibliotecă fișier aici. 478 00:21:07,430 --> 00:21:09,130 Biblioteca CS50. 479 00:21:09,130 --> 00:21:13,160 Și conținute în acea bibliotecă CS50 este o funcție comună, vom folosi 480 00:21:13,160 --> 00:21:15,610 în cursul nostru numit getint (). 481 00:21:15,610 --> 00:21:21,830 >> Vrea cineva să ia o lovitură de cuțit la ce poate fi, eventual, face getint (). 482 00:21:21,830 --> 00:21:22,830 >> Audiența: [inaudibil] 483 00:21:22,830 --> 00:21:23,550 >> ANDI Peng: Îmi pare rău. 484 00:21:23,550 --> 00:21:24,370 Nu puteai auzi. 485 00:21:24,370 --> 00:21:25,511 Maddie, oricine. 486 00:21:25,511 --> 00:21:27,260 Maddie: Oh, solicită te pentru un număr întreg. 487 00:21:27,260 --> 00:21:28,051 ANDI Peng: Exact. 488 00:21:28,051 --> 00:21:30,670 Deci această funcție, un alt funcție care este deja 489 00:21:30,670 --> 00:21:33,690 fost scris de altcineva că putem chema acum. 490 00:21:33,690 --> 00:21:38,000 Tot ce este este solicita dvs., utilizatorul, pentru a introduce ce vrei ca codul de 491 00:21:38,000 --> 00:21:41,850 se execută și se stochează whatever-- în acest caz, noi suntem getint () - ing, 492 00:21:41,850 --> 00:21:44,060 astfel încât înseamnă că suntem obținerea unui număr întreg. 493 00:21:44,060 --> 00:21:46,150 >> Și am de gând să stoca că într-o altă întreg 494 00:21:46,150 --> 00:21:48,900 că tocmai am făcut sunat vârstă. 495 00:21:48,900 --> 00:21:51,500 Care fac sens pentru toată lumea? 496 00:21:51,500 --> 00:21:52,190 Misto. 497 00:21:52,190 --> 00:21:56,400 >> Deci, acum că ne-am stocat acest întreg, care le-am determinat din partea utilizatorului, 498 00:21:56,400 --> 00:22:00,010 în această variabilă, am creat de tip int numita vârstă, 499 00:22:00,010 --> 00:22:03,720 putem merge mai departe și locul că, în printf nostru () funcție. 500 00:22:03,720 --> 00:22:08,970 Deci sintaxa de obicei pentru printf () este că ori de câte ori în fizică dumneavoastră actuale 501 00:22:08,970 --> 00:22:14,410 linia pe care doriți să includă că întreg, ai făcut asta simbol chiar acolo, 502 00:22:14,410 --> 00:22:17,800 simbolul la sută, cu tip de variabile pe care doriți. 503 00:22:17,800 --> 00:22:20,090 >> Deci, în acest caz, de vârstă este un număr întreg. 504 00:22:20,090 --> 00:22:25,030 Deci ai de gând să includă % i pentru că este un număr întreg. 505 00:22:25,030 --> 00:22:26,860 Și apoi după-ul declarație, ai de gând 506 00:22:26,860 --> 00:22:30,370 Pentru a face virgulă și Numele variabilei. 507 00:22:30,370 --> 00:22:33,420 >> Deci, aici, vom imprima out, Buna ziua, numele meu este Andi, 508 00:22:33,420 --> 00:22:35,730 și eu sunt de ani goale vechi. 509 00:22:35,730 --> 00:22:38,890 Hashta-- sau, sorry--, vârstă cu tot ce intrare. 510 00:22:38,890 --> 00:22:42,790 Deci, dacă ar fi să intrare 20 pentru getint meu () aici, 511 00:22:42,790 --> 00:22:44,500 ar imprima exact același lucru. 512 00:22:44,500 --> 00:22:47,990 Dar, dacă am vrut să intrare ceva altceva, cum ar fi, probabil, 40 sau 45 de ani, 513 00:22:47,990 --> 00:22:50,800 atunci veți vedea că reflectat în consecință, în codul. 514 00:22:50,800 --> 00:22:52,886 >> Deci acesta este un exemplu ceva în care 515 00:22:52,886 --> 00:22:55,260 se imprimă afară și se uită la tine, ca daca e acelasi lucru, 516 00:22:55,260 --> 00:22:57,593 dar sub capota calculatorul nu e de fapt 517 00:22:57,593 --> 00:22:59,560 lucruri foarte diferite se întâmplă. 518 00:22:59,560 --> 00:23:00,060 Misto. 519 00:23:00,060 --> 00:23:02,760 520 00:23:02,760 --> 00:23:03,260 In regula. 521 00:23:03,260 --> 00:23:06,940 Și ce dacă vrem mai multe variabile? 522 00:23:06,940 --> 00:23:08,290 Destul de ușor. 523 00:23:08,290 --> 00:23:09,150 Același lucru. 524 00:23:09,150 --> 00:23:11,930 Avem, de asemenea o nouă funcție aici numit getString (), 525 00:23:11,930 --> 00:23:15,380 De asemenea, sunt incluse în cadrul bibliotecii CS50, că tot ce face este solicita utilizatorului 526 00:23:15,380 --> 00:23:18,120 pentru un șir, care este doar un set de caractere, 527 00:23:18,120 --> 00:23:19,810 astfel ca o propoziție sau ca un nume. 528 00:23:19,810 --> 00:23:25,470 >> Deci, în acest caz, am avea două substituenți% s pentru coarde și% i 529 00:23:25,470 --> 00:23:26,750 pentru întreg. 530 00:23:26,750 --> 00:23:29,190 Și am de gând să urmeze că prin cele două variabile 531 00:23:29,190 --> 00:23:32,670 Vrem inclus, în ordinea că acestea apar în propoziția. 532 00:23:32,670 --> 00:23:35,471 Deci, de exemplu, numele meu este gol, vreau un nume acolo, 533 00:23:35,471 --> 00:23:36,970 așa că am de gând să aibă mai întâi numele. 534 00:23:36,970 --> 00:23:39,637 Și apoi după aceea, vreau vârstă, doresc să aibă de-al doilea vârstă. 535 00:23:39,637 --> 00:23:42,720 Și așa, dacă am vrut să de intrare, Buna, ziua, Numele meu Andi, și am 20 de ani. 536 00:23:42,720 --> 00:23:46,370 Dacă am introdus Andi și 20, același lucru exact ar imprima; 537 00:23:46,370 --> 00:23:51,134 Cu toate acestea, acum avem două stocate variabile de nume, precum și Int. 538 00:23:51,134 --> 00:23:51,634 Da. 539 00:23:51,634 --> 00:23:54,124 >> SPEAKER 8: Ar fi capabil să ruleze, dacă pornit 540 00:23:54,124 --> 00:23:55,620 numele și vârsta la sfârșitul acestei? 541 00:23:55,620 --> 00:23:55,840 >> ANDI Peng: Da. 542 00:23:55,840 --> 00:23:57,006 Asta e foarte bine întrebare. 543 00:23:57,006 --> 00:23:59,520 Deci, pe scurt, nu. 544 00:23:59,520 --> 00:24:03,070 Deoarece numele și age-- ce tip de variabilă este numele? 545 00:24:03,070 --> 00:24:03,950 >> SPEAKER 8: String. 546 00:24:03,950 --> 00:24:05,440 >> ANDI Peng: Și ce tip de variabilă este vârsta? 547 00:24:05,440 --> 00:24:06,231 >> SPEAKER 8: Integer. 548 00:24:06,231 --> 00:24:10,290 ANDI Peng: Deci, aici avem un substituent pentru coarde și întreg, nu? 549 00:24:10,290 --> 00:24:13,350 Deci, dacă ați fost pentru a comuta acestora, computerul nu va ști. 550 00:24:13,350 --> 00:24:16,250 Se va verifica pentru un șir, și dacă încerci să-i dea un int, 551 00:24:16,250 --> 00:24:18,083 că va fi ca așteptați Sunt confuz, tu 552 00:24:18,083 --> 00:24:21,100 mi-a spus că ar trebui să fie alocarea de memorie pentru un int. 553 00:24:21,100 --> 00:24:23,760 Și aici, atunci când se așteaptă un număr întreg 554 00:24:23,760 --> 00:24:25,640 și vă va oferi un nume și un șir de schimb, 555 00:24:25,640 --> 00:24:28,931 este, de asemenea, va fi foarte confuz, ea nu va rula exact așa cum trebuie. 556 00:24:28,931 --> 00:24:35,280 Deci, aici, numirea și sintaxa este foarte important pentru rularea de cod. 557 00:24:35,280 --> 00:24:37,991 Toată lumea bună? 558 00:24:37,991 --> 00:24:38,490 Da. 559 00:24:38,490 --> 00:24:39,476 Maddie. 560 00:24:39,476 --> 00:24:44,620 >> Maddie: Aici, eu știu că am uitat la exemple în clasă, în cazul în care ei cer 561 00:24:44,620 --> 00:24:46,950 ceea ce este vârsta ta, ceea ce este numele tau. 562 00:24:46,950 --> 00:24:50,250 Aici, ar fi că doesn't-- dacă am fost pentru a rula acest cod, 563 00:24:50,250 --> 00:24:51,750 nu ar cere pentru asta? 564 00:24:51,750 --> 00:24:54,740 Dar v-ar doar de intrare două numere și apoi ar fi așa? 565 00:24:54,740 --> 00:24:55,781 >> ANDI Peng: Da, exact. 566 00:24:55,781 --> 00:24:58,250 Deci, dacă ai vrut pentru ca acesta să afișaj, vă rugăm să introduceți vârsta ta, 567 00:24:58,250 --> 00:25:01,100 puteți adăuga doar o (funcția printf) Asta spune, Vă rugăm să introduceți vârsta, 568 00:25:01,100 --> 00:25:01,600 deasupra ei. 569 00:25:01,600 --> 00:25:02,711 Asta-i o întrebare bună. 570 00:25:02,711 --> 00:25:03,210 Da. 571 00:25:03,210 --> 00:25:07,964 >> SPEAKER 9: Deci, ar fi deja incluse în getint () [neauzit]. 572 00:25:07,964 --> 00:25:09,380 ANDI Peng: Nu, de fapt nu este. 573 00:25:09,380 --> 00:25:11,809 Deci, toate acest lucru nu este doar solicită un ecran gol 574 00:25:11,809 --> 00:25:13,100 a utilizatorului să introducă ceva. 575 00:25:13,100 --> 00:25:17,420 Dacă doriți, dacă doriți să imprimați ceva care spune utilizatorul ca, 576 00:25:17,420 --> 00:25:21,110 Vă rugăm să da-mi de vârsta ta, atunci ar trebui să printf (), care tine. 577 00:25:21,110 --> 00:25:23,789 Pentru că toată lumea folosește acest Funcția de lucruri diferite, 578 00:25:23,789 --> 00:25:26,080 ai putea fi stocarea vârstă, ai putea fi stocarea adresa, 579 00:25:26,080 --> 00:25:28,060 ai putea fi memorarea numerelor de telefon. 580 00:25:28,060 --> 00:25:31,190 Și așa este într-adevăr până la utilizări individuale baieti dumneavoastră 581 00:25:31,190 --> 00:25:34,390 pentru ceea ce vrei tu să spui. 582 00:25:34,390 --> 00:25:34,890 Da. 583 00:25:34,890 --> 00:25:38,236 >> SPEAKER 10: Deci, doar pentru a clarifica, în cazul în care a face tu de intrare numele și vârsta 584 00:25:38,236 --> 00:25:43,020 astfel încât să se apare în loc de% s? 585 00:25:43,020 --> 00:25:44,320 >> ANDI Peng: Ca și în ghidul? 586 00:25:44,320 --> 00:25:47,165 >> SPEAKER 10: Da, ca și cum nu am face it-- cazul în care nu am pus Andi, 587 00:25:47,165 --> 00:25:48,350 și în cazul în care nu am pus 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI Peng: Da. 589 00:25:48,640 --> 00:25:50,250 Deci, dacă ar fi să rula de fapt, acest cod, 590 00:25:50,250 --> 00:25:52,875 Nu mă fapt rulează Codul, aceasta este doar aici, chiar acum. 591 00:25:52,875 --> 00:25:56,910 Daca as fi fost pentru a rula cod, aș compila codul, face dosar, 592 00:25:56,910 --> 00:26:00,760 rula codul, și atunci nu ar doar să fie două spații pentru mine să-l de intrare. 593 00:26:00,760 --> 00:26:01,260 Da. 594 00:26:01,260 --> 00:26:03,843 Voi veți vedea atunci când joci în jurul valorii de cu codul tine. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> Bine vom muta în secțiunea următoare a ceea ce 597 00:26:09,645 --> 00:26:11,610 vom acoperă astăzi. 598 00:26:11,610 --> 00:26:13,980 Vom trece peste ceea ce Declarații condiționale sunt. 599 00:26:13,980 --> 00:26:16,500 Deci, dacă voi aminti și amintesc de curs, 600 00:26:16,500 --> 00:26:19,210 Declarații condiționale, toate acestea sunt sunt un set 601 00:26:19,210 --> 00:26:24,010 de instrucțiuni calculatorului în care, dacă o anumită condiție este adevărată, 602 00:26:24,010 --> 00:26:27,470 executați codul în interiorul acestei condiții. 603 00:26:27,470 --> 00:26:30,101 >> Deci, în esență, rămășițe mare tema de azi 604 00:26:30,101 --> 00:26:32,850 este că voi avea deja toate văzut logica din spatele tot 605 00:26:32,850 --> 00:26:34,020 că ne acoperă. 606 00:26:34,020 --> 00:26:36,190 Și tot ce facem este traducere ceva 607 00:26:36,190 --> 00:26:39,090 care a fost foarte intuitiv în Zero, și greu de codificare-l 608 00:26:39,090 --> 00:26:41,950 în sintaxa vom folosi pentru clasa care este C. 609 00:26:41,950 --> 00:26:47,550 Deci în mod logic, toate acest bloc a fost este acea bucata de cod chiar acolo. 610 00:26:47,550 --> 00:26:49,995 Da. 611 00:26:49,995 --> 00:26:50,900 BINE. 612 00:26:50,900 --> 00:26:55,290 >> De asemenea, vom ajunge într-o dacă ... altceva declarație care este doar un strat suplimentar 613 00:26:55,290 --> 00:26:59,120 de complexitate la if în cazul în care calculatorul are o privire la acest 614 00:26:59,120 --> 00:27:04,260 și vede, în cazul în care această condiție este adevărată, nu indiferent de interiorul acestor două paranteze, 615 00:27:04,260 --> 00:27:08,470 else-- astfel un fel de implicit dacă aceasta nu îndeplinește condition-- face acest lucru. 616 00:27:08,470 --> 00:27:10,120 E ca o furculiță în drum. 617 00:27:10,120 --> 00:27:14,400 Dacă plouă afară, mi-am pus pe o haina de ploaie, altfel nimic 618 00:27:14,400 --> 00:27:16,330 altfel nu-mi pune pe un sacou de ploaie. 619 00:27:16,330 --> 00:27:18,400 >> Asta logica sens pentru toată lumea? 620 00:27:18,400 --> 00:27:21,031 Misto. 621 00:27:21,031 --> 00:27:21,530 In regula. 622 00:27:21,530 --> 00:27:24,970 Deci, ca un exemplu greu de aceasta că ne-ar vedea în C 623 00:27:24,970 --> 00:27:28,890 este dacă am vrut să creeze un variabilă numită ore teme. 624 00:27:28,890 --> 00:27:32,050 Și dacă este mai puțin temele ore mult de cinci, spun Viața este mare. 625 00:27:32,050 --> 00:27:33,070 E minunat. 626 00:27:33,070 --> 00:27:36,450 Cu toate acestea, spun Lupta este real-- care este ceea ce noi toți de pe acest luni 627 00:27:36,450 --> 00:27:39,337 după-amiază până Știință Hill sunt Probabil face dreptate now-- 628 00:27:39,337 --> 00:27:40,170 Audiența: [rîzînd] 629 00:27:40,170 --> 00:27:42,510 ANDI Peng: Ei fel ne ar fi, vă mulțumesc pentru asta. 630 00:27:42,510 --> 00:27:46,180 Modul în care ne-ar hardcode acest lucru în C este if-- să presupunem 631 00:27:46,180 --> 00:27:49,920 avem deja o variabilă de tip Int numit ore pentru acasă aici. 632 00:27:49,920 --> 00:27:53,870 Dacă ore teme este mai mică de cinci printf (), Viața este mare. 633 00:27:53,870 --> 00:27:57,330 Amintiți-vă să păstreze / n, deoarece vrei o linie nouă după. 634 00:27:57,330 --> 00:27:59,660 Print altceva, lupta este real. 635 00:27:59,660 --> 00:28:03,720 >> Are toată lumea să înțeleagă cum Am trecut de la acest bloc 636 00:28:03,720 --> 00:28:07,610 în acest bloc de cod? 637 00:28:07,610 --> 00:28:08,110 Misto. 638 00:28:08,110 --> 00:28:11,030 639 00:28:11,030 --> 00:28:11,840 In regula. 640 00:28:11,840 --> 00:28:15,930 >> Deci, acum vom lua o privire la mai multe declarații Dacă totul. 641 00:28:15,930 --> 00:28:18,140 Deci, haideți să își asume Scopul acestui program 642 00:28:18,140 --> 00:28:20,870 a fost am solicita utilizatorului pentru un grad. 643 00:28:20,870 --> 00:28:24,450 Am Prompt folosind getint () pentru o calitate, și au o valoare de intrare, 644 00:28:24,450 --> 00:28:27,700 și doriți să se afișeze ce tip de clasa au primit. 645 00:28:27,700 --> 00:28:30,730 >> Deci, dacă aș fi pentru a proiecta un program, am Adică de obicei în toate ochii noștri, 646 00:28:30,730 --> 00:28:35,490 90 - 100 este un A, 80-90 la o B, și așa mai departe și așa mai departe. 647 00:28:35,490 --> 00:28:39,040 Ce este în neregulă cu acest bucată de cod care nu este 648 00:28:39,040 --> 00:28:41,393 face ceea ce vreau să fac. 649 00:28:41,393 --> 00:28:41,892 Da. 650 00:28:41,892 --> 00:28:45,100 >> SPEAKER 11: Ei au limite inferioare, dar ele nu au limite superioare. 651 00:28:45,100 --> 00:28:46,280 >> ANDI Peng: Exact. 652 00:28:46,280 --> 00:28:47,950 A tuturor auzit ce-a spus? 653 00:28:47,950 --> 00:28:50,200 Nu va fi superior limite, dar nu mai mici. limite 654 00:28:50,200 --> 00:28:52,540 Ne pare rău, alt mod în jurul valorii de, limite inferioare, nici superioare. limite 655 00:28:52,540 --> 00:28:55,090 Deci doriți să să ia o lovitură de cuțit la spunând 656 00:28:55,090 --> 00:28:58,945 ceea ce ar fi imprimat pe acest ecran dacă ar fi să rula acest cod. 657 00:28:58,945 --> 00:28:59,820 SPEAKER 11: O eroare? 658 00:28:59,820 --> 00:29:01,140 ANDI Peng: o eroare? 659 00:29:01,140 --> 00:29:02,740 Mare presupunere, nu destul de bine. 660 00:29:02,740 --> 00:29:05,465 Are cineva un alt lovitură de cuțit? 661 00:29:05,465 --> 00:29:06,640 Da, Aaron. 662 00:29:06,640 --> 00:29:10,099 >> AARON: Dacă ați pus în ceva mai mare decât 90, 663 00:29:10,099 --> 00:29:11,640 aceasta ar arăta toate calitatile pe care le ai. 664 00:29:11,640 --> 00:29:13,640 Aceasta ar arăta ai un A, ai un B, ai o C. 665 00:29:13,640 --> 00:29:13,870 >> ANDI Peng: Da. 666 00:29:13,870 --> 00:29:14,840 Asta-i exact corect. 667 00:29:14,840 --> 00:29:17,820 Deci, ar fi minunat. 668 00:29:17,820 --> 00:29:21,781 Cu toate acestea, ele sunt reciproc exclusiv, cred. 669 00:29:21,781 --> 00:29:23,280 Daca as fi fost pentru a rula această bucată de cod. 670 00:29:23,280 --> 00:29:26,200 Și apoi să spunem, am introdus gradul de 95. 671 00:29:26,200 --> 00:29:30,360 Deci, 95 este acum stocate în int numita clasa. 672 00:29:30,360 --> 00:29:33,610 >> Și așa C este un limbaj de care rulează până sus în jos, 673 00:29:33,610 --> 00:29:36,000 asa ca va întotdeauna rula până la partea de jos. 674 00:29:36,000 --> 00:29:39,420 Deci o să vină aici, în cazul în care citește grad este mai mare sau egal cu 90, 675 00:29:39,420 --> 00:29:42,850 printf () ai un A. Excelent, eu au un 95, care este mai mare de 90. 676 00:29:42,850 --> 00:29:44,866 O să imprimați, Am o A. Va 677 00:29:44,866 --> 00:29:48,850 să aruncăm o privire la acest lucru, dacă, va spun, bine 95 este, de asemenea mai mare de 80, 678 00:29:48,850 --> 00:29:52,970 este de gând să imprima ai, de asemenea, un Got un semn de exclamare B, și așa mai departe și așa 679 00:29:52,970 --> 00:29:53,690 mai departe. 680 00:29:53,690 --> 00:29:55,890 >> Deci, după cum putem vedea toate, aceasta este o problemă comună 681 00:29:55,890 --> 00:30:00,760 care pot apărea atunci când suntem scrierea de cod pentru a privi afară pentru. 682 00:30:00,760 --> 00:30:05,430 Oricine, orice întrebări cu privire la de ce se întâmplă? 683 00:30:05,430 --> 00:30:05,930 Grozav. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 BINE. 686 00:30:09,440 --> 00:30:12,110 >> Deci, cum putem rezolva această problemă, este în mod evident logic Următoarea întrebare. 687 00:30:12,110 --> 00:30:16,290 Ei bine, avem aceste frumoase lucruri numite dacă altcineva dacă altceva 688 00:30:16,290 --> 00:30:18,010 dacă declarațiile altceva. 689 00:30:18,010 --> 00:30:22,230 Deci, puteți vedea, dacă ai vrut pentru a schimba această problemă, 690 00:30:22,230 --> 00:30:25,260 ai vrut să facă fiecare dintre Condiții exclud reciproc, 691 00:30:25,260 --> 00:30:26,860 v-ar adăuga un alt ... if. 692 00:30:26,860 --> 00:30:30,068 >> Și acestea de course-- cred că de ei ca scari, sau ca trepte pe ladder-- 693 00:30:30,068 --> 00:30:34,050 aveți posibilitatea să adăugați cât mai multe dintre acestea în timp ce doresc pentru cât mai multe condiții, după cum doriți. 694 00:30:34,050 --> 00:30:36,790 Deci, aici, în cazul în care am introdus gradul de a fi 95. 695 00:30:36,790 --> 00:30:39,479 Dacă într-un grad mai mare de 95, printf (), am primit un A. Marea. 696 00:30:39,479 --> 00:30:42,020 Se va vedea un alt ... dacă și o să știe, Oh, nu, 697 00:30:42,020 --> 00:30:43,750 Am executat deja prima altceva. 698 00:30:43,750 --> 00:30:47,020 Am know-- sau prima if-- știu că Nu trebuie să se uite la oricare dintre aceste 699 00:30:47,020 --> 00:30:48,920 că una dintre ele a fost deja adevărat. 700 00:30:48,920 --> 00:30:50,410 Deci, este de gând să ruleze de sus în jos. 701 00:30:50,410 --> 00:30:53,650 De îndată ce prima este adevărată, atunci este de gând să săriți peste toate celelalte 702 00:30:53,650 --> 00:30:54,675 de altceva ... FI. 703 00:30:54,675 --> 00:30:55,550 Asta face sens? 704 00:30:55,550 --> 00:30:57,841 Deci, în acest fel, aveți diferite niveluri de verificare 705 00:30:57,841 --> 00:31:01,090 și de îndată ce una dintre ele este falsă, odihnă sunt, de asemenea, ei nici măcar nu va verifica. 706 00:31:01,090 --> 00:31:03,577 707 00:31:03,577 --> 00:31:04,076 Misto. 708 00:31:04,076 --> 00:31:07,680 709 00:31:07,680 --> 00:31:08,180 In regula. 710 00:31:08,180 --> 00:31:11,180 >> Deci, acesta este un exemplu de un alt un fel de declarație condițională 711 00:31:11,180 --> 00:31:15,250 vedem mai rar, dar le vom vedea și de a le folosi. 712 00:31:15,250 --> 00:31:18,120 Și ei sunt de multe ori mai mult eficientă pentru anumite cazuri. 713 00:31:18,120 --> 00:31:20,020 Deci, avem ceea ce se numește o declarație comutator. 714 00:31:20,020 --> 00:31:25,140 Deci, înainte de am acoperit ceea ce este un altceva declarație, o dacă ... altceva declarație. 715 00:31:25,140 --> 00:31:27,790 Aici, avem ceea ce sunt numit declarații comutator. 716 00:31:27,790 --> 00:31:31,100 >> Asa ca atunci cand folosim comutator declarații este cheia? 717 00:31:31,100 --> 00:31:34,090 Deci, într-o declarație comutator, vă de obicei, de obicei, de fapt, tu 718 00:31:34,090 --> 00:31:38,010 poate doar numere întregi de intrare pentru dvs. variabilă care te verificare. 719 00:31:38,010 --> 00:31:42,390 Deci, dacă am vrut să verifica pentru a vedea în cazul în care o anumită number-- de exemplu 720 00:31:42,390 --> 00:31:43,720 un grad, în cazul în care am primit un 90. 721 00:31:43,720 --> 00:31:48,190 Vreau să văd dacă e un A, B, sau C. am putea avea un caz aici. 722 00:31:48,190 --> 00:31:50,840 Cu toate acestea, cazul a a fi un alt constant. 723 00:31:50,840 --> 00:31:53,170 >> Deci, în acest sens, declarație comutator poate doar 724 00:31:53,170 --> 00:31:55,290 verifica pentru egalitatea de două numere. 725 00:31:55,290 --> 00:31:57,242 Aceasta nu verifică pentru nimic altceva. 726 00:31:57,242 --> 00:31:59,950 Așa că e ceva să fie foarte atentă a atunci când utilizați acest. 727 00:31:59,950 --> 00:32:04,810 Deci, aici, în cazul în care am vrut să verifica pentru a vedea dacă gradul meu de 90 este egală cu 90 sau 80 728 00:32:04,810 --> 00:32:08,500 sau 70 sau 60, și apoi de imprimare clasa corespunzătoare, 729 00:32:08,500 --> 00:32:11,420 Aș fi în stare să scrie că într-o declarație comutator. 730 00:32:11,420 --> 00:32:15,120 >> Deci o să vină aici, verificare este acest număr întreg egal cu această constantă? 731 00:32:15,120 --> 00:32:17,030 Dacă nu, o să săriți. 732 00:32:17,030 --> 00:32:19,880 Este egal cu constanta doua, și așa mai departe și așa mai departe, 733 00:32:19,880 --> 00:32:22,390 până când a lovit implicit, dacă nici unul dintre ei sunt egale. 734 00:32:22,390 --> 00:32:24,590 De îndată ce unul dintre ei este setat pentru a fi egal, 735 00:32:24,590 --> 00:32:27,040 este de gând să facă acest lucru linie de cod și break. 736 00:32:27,040 --> 00:32:30,990 Ceea ce înseamnă că va lovi ca alerga, rupe, și doar complet săriți 737 00:32:30,990 --> 00:32:32,240 la partea de jos a codului. 738 00:32:32,240 --> 00:32:37,550 Deci, în acest sens, un fel de funcții ca o dacă altcineva dacă altceva if. 739 00:32:37,550 --> 00:32:40,830 >> Deci, aici e un beton exemplu pentru voi. 740 00:32:40,830 --> 00:32:46,140 Deci, să presupunem că am vrut să a crea o variabilă numită an fondat. 741 00:32:46,140 --> 00:32:50,230 Și vreau să solicite utilizatorului să introducă anul în care a fost fondată școala lor. 742 00:32:50,230 --> 00:32:53,300 Deci, eu pot crea o declarație comutator aici. 743 00:32:53,300 --> 00:32:56,650 Și să spunem, am de intrare 1636. 744 00:32:56,650 --> 00:33:01,120 >> Acest cod de aici se va vedea comutator Anul înființării care este egal cu 1636. 745 00:33:01,120 --> 00:33:03,940 O să vezi cazul 1,636, oh acestea sunt egale, 746 00:33:03,940 --> 00:33:06,230 printf () nu ar trebui să fii la acea școală în nord? 747 00:33:06,230 --> 00:33:08,770 Pentru că noi presupunem că nu du-te aici dacă merg la Harvard, 748 00:33:08,770 --> 00:33:10,380 pauză și trece la sfârșitul. 749 00:33:10,380 --> 00:33:14,090 >> Daca as fi fost pentru a introduce 1701, care Presupun noi toți ar fi de intrare, 750 00:33:14,090 --> 00:33:17,500 ar trece peste acest caz, vin până la caz două care este 1701, 751 00:33:17,500 --> 00:33:19,660 și de imprimare Bine ati venit la Yale! 752 00:33:19,660 --> 00:33:21,360 Break, trece la sfârșitul. 753 00:33:21,360 --> 00:33:25,130 Altfel probabil luați acest curs online in care case-- bun venit minunat 754 00:33:25,130 --> 00:33:29,020 pentru Yale-- se merge la implicit de imprimare, Buna ziua Internet! 755 00:33:29,020 --> 00:33:29,870 Și rupe. 756 00:33:29,870 --> 00:33:30,466 Da. 757 00:33:30,466 --> 00:33:32,090 >> SPEAKER 12: Poti folosi altceva în loc de default acolo? 758 00:33:32,090 --> 00:33:34,550 >> ANDI Peng: Nu, pentru că încât această funcție întreg 759 00:33:34,550 --> 00:33:39,170 comutator este construit, sintaxa te necesitatea de a utiliza este caz implicit caz. 760 00:33:39,170 --> 00:33:42,400 E ca și cum, dacă else if, aceasta un e caz implicit caz. Da. 761 00:33:42,400 --> 00:33:45,650 SPEAKER 13: Ai Poate deja a spus acest lucru, dar poate ai mai mult de două cazuri? 762 00:33:45,650 --> 00:33:48,066 ANDI Peng: Da, ai putea au ca multe cazuri, după cum doriți. 763 00:33:48,066 --> 00:33:50,050 Ganditi-va ca la fel ca infinit adăugarea pe. 764 00:33:50,050 --> 00:33:52,396 >> SPEAKER 14: Dacă a apelat la 1,701 cu 1636, 765 00:33:52,396 --> 00:33:54,187 aceasta nu face cu adevărat o diferență drept? 766 00:33:54,187 --> 00:33:55,770 E doar de gând să fie de verificare pentru ea. 767 00:33:55,770 --> 00:33:56,900 >> ANDI Peng: Acesta este un foarte bun întrebare. 768 00:33:56,900 --> 00:33:58,880 Și vom atinge la acest lucru mai târziu, dar doar 769 00:33:58,880 --> 00:34:01,160 Știu că e comutatorul afirmație este infinitely-- e 770 00:34:01,160 --> 00:34:03,536 mai eficient decât în ​​cazul în care și altceva în cazul în care, pentru că funcționează 771 00:34:03,536 --> 00:34:06,660 folosind un alt tip de funcție care vă permite, să esență, la doar 772 00:34:06,660 --> 00:34:08,790 sari direct la cazul în care trebuie să fie la. 773 00:34:08,790 --> 00:34:10,547 Da. 774 00:34:10,547 --> 00:34:11,255 SPEAKER 14: cool. 775 00:34:11,255 --> 00:34:11,754 Mulțumesc. 776 00:34:11,754 --> 00:34:12,526 ANDI Peng: Da 777 00:34:12,526 --> 00:34:16,687 >> SPEAKER 14: Și nu a putut face cazuri ca și mai mare decât. 778 00:34:16,687 --> 00:34:17,270 ANDI Peng: Nu. 779 00:34:17,270 --> 00:34:19,860 Deci, asta e ceea ce limitarea About declarație comutator este că aveți 780 00:34:19,860 --> 00:34:21,564 să aibă constante doar, doar numere întregi. 781 00:34:21,564 --> 00:34:22,064 Da. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 BINE. 784 00:34:25,820 --> 00:34:28,659 >> Deci, aceasta este ceva ce baieti va întâlni mai rar de, 785 00:34:28,659 --> 00:34:32,280 dar am vrut doar să introduce-o în cazul în care. 786 00:34:32,280 --> 00:34:36,210 Avem aici ceea ce este numit un operator ternar. 787 00:34:36,210 --> 00:34:39,370 În cazul în care, în esență, e la fel ca o if compilate într-o singură linie. 788 00:34:39,370 --> 00:34:42,630 Aici, voi merge pe linia următoare, pagina următoare, pentru că este mai ușor pentru a vedea. 789 00:34:42,630 --> 00:34:44,860 >> Deci am văzut toate astea drept? 790 00:34:44,860 --> 00:34:46,110 Acest lucru este destul de usor de urmat. 791 00:34:46,110 --> 00:34:51,290 Dacă am vrut să fac o variabilă numită string numit s, în cazul în care un anumit număr 792 00:34:51,290 --> 00:34:54,770 Eu dau este mai mică de 100, am doriți să atribuiți scăzut la șir, 793 00:34:54,770 --> 00:34:57,240 altceva vreau să atribui mare. 794 00:34:57,240 --> 00:35:01,370 >> Acest aici este de a face exact același lucru cele opt linii de cod fac. 795 00:35:01,370 --> 00:35:03,600 Deci, aici vreau să crea un șir de variabile. 796 00:35:03,600 --> 00:35:08,520 Și aceasta este condiția eu sunt verificarea, în cazul în care un număr este mai mic de 100, 797 00:35:08,520 --> 00:35:12,750 apoi atribuiți valoarea scăzută, altceva atribui valoarea mare. 798 00:35:12,750 --> 00:35:15,802 >> Aceste slide-uri vor fi on-line, nu vă faceți griji dacă voi nu obține acest jos. 799 00:35:15,802 --> 00:35:18,510 Acesta este doar un mod mai simplu, o mai modalitate eficientă de cod scris. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 BINE. 802 00:35:21,810 --> 00:35:25,190 >> Deci, acum vom introduceți ceea ce, pentru majoritatea oamenilor 803 00:35:25,190 --> 00:35:28,660 sunt ca un foarte, foarte confuz lucru să se gândească la inceput. 804 00:35:28,660 --> 00:35:30,226 Secțiunea buclă. 805 00:35:30,226 --> 00:35:32,600 Așa că astăzi, vom vorbi aproximativ trei tipuri de bucle. 806 00:35:32,600 --> 00:35:34,890 Vom începe cu un timp bucla, atunci vorbim despre o face în timp ce bucla, 807 00:35:34,890 --> 00:35:36,740 și apoi vorbi despre bucle. 808 00:35:36,740 --> 00:35:40,010 >> Deci, în esență, pentru mai mult elevii vizuale acolo, 809 00:35:40,010 --> 00:35:44,410 avem, în esență, un grafic reprezentare a ceea ce face o buclă în timp ce. 810 00:35:44,410 --> 00:35:48,290 Deci, într-o programare, ar trebui să înceapă și introduceți bucla la un moment dat. 811 00:35:48,290 --> 00:35:49,470 Cameră o condiție. 812 00:35:49,470 --> 00:35:52,165 Și dacă condiția este adevărată, executați codul interior. 813 00:35:52,165 --> 00:35:53,790 Și te întorci în jurul valorii de și să verificați. 814 00:35:53,790 --> 00:35:57,190 Dacă este încă adevărat că continua să fie difuzate acest cod în jurul valorii de și în jurul într-o buclă. 815 00:35:57,190 --> 00:36:00,970 >> Cu toate acestea, a doua că condiția devine falsă, 816 00:36:00,970 --> 00:36:02,739 ai de gând să rupă și să pună capăt bucla. 817 00:36:02,739 --> 00:36:05,030 Și aceasta este, în esență, sintaxa ai de gând să utilizeze. 818 00:36:05,030 --> 00:36:08,250 În timp ce o anumită condiție este adevărat face acest lucru, dacă nu e adevărat, 819 00:36:08,250 --> 00:36:12,920 ai de gând pentru a trece la sfârșitul și merge mai departe cu programul. 820 00:36:12,920 --> 00:36:13,690 BINE. 821 00:36:13,690 --> 00:36:17,250 >> Are cineva un exemplu asupra a ceea ce se poate întâmpla potențial 822 00:36:17,250 --> 00:36:19,160 dacă am încerca pentru a rula acest bucată de cod? 823 00:36:19,160 --> 00:36:22,470 Apropo, SAJ-- e Scaz, Andi, Jason-- vom semnează e-mailurile noastre, 824 00:36:22,470 --> 00:36:24,830 Dragoste, SAJ. 825 00:36:24,830 --> 00:36:25,573 Asta e de noi. 826 00:36:25,573 --> 00:36:26,500 BINE. 827 00:36:26,500 --> 00:36:29,829 >> Oricine are un exemplu, sau au o idee asupra a ceea ce ar imprima? 828 00:36:29,829 --> 00:36:30,870 Un fel de întrebare capcană. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 Deci, aici, amintiți-vă starea suntem de verificare este adevărat timp. 831 00:36:39,380 --> 00:36:42,840 Deci în timp ce acest lucru este adevărat, este merge pentru a imprima, îmi place SAJ! 832 00:36:42,840 --> 00:36:48,460 Există orice punct în care ne-ar schimba asta ceva altfel? 833 00:36:48,460 --> 00:36:49,050 Nu, nu? 834 00:36:49,050 --> 00:36:51,470 >> Deci aici avem întâlnite ceea ce este, probabil, 835 00:36:51,470 --> 00:36:54,310 va fi o mulțime de bugging programele, bucla infinită. 836 00:36:54,310 --> 00:36:56,268 Veți găsi că, dacă rula acest bucată de cod, 837 00:36:56,268 --> 00:36:58,160 este doar de gând să păstreze imprimare, îmi place SAJ! 838 00:36:58,160 --> 00:37:00,701 În timp ce noi apreciem sprijinul, nu vrem computere 839 00:37:00,701 --> 00:37:02,910 sa se prabuseasca pentru că ține de imprimare Îmi place SAJ! 840 00:37:02,910 --> 00:37:05,320 >> Deci, vă rugăm, vă rog, evita bucla infinita 841 00:37:05,320 --> 00:37:07,320 pentru că niciodată nu se va pentru a evalua la fals 842 00:37:07,320 --> 00:37:08,780 și niciodată nu vei să părăsească bucla. 843 00:37:08,780 --> 00:37:10,530 Și ai de gând să fi aspirat în totdeauna. 844 00:37:10,530 --> 00:37:13,000 Misto. 845 00:37:13,000 --> 00:37:13,694 BINE. 846 00:37:13,694 --> 00:37:15,610 Al doilea tip de buclă vom vorbi despre ziua de azi 847 00:37:15,610 --> 00:37:17,580 este face în timp ce bucla, în timp ce bucla face. 848 00:37:17,580 --> 00:37:20,580 Și se numește în timp ce bucla do pentru că aveți un do și o vreme. 849 00:37:20,580 --> 00:37:24,390 Deci, aceasta este destul de similar cu un timp bucla, dar un pic diferit. 850 00:37:24,390 --> 00:37:27,620 Aici, ai de gând să faci indiferent de interiorul acestui 851 00:37:27,620 --> 00:37:29,747 în timp ce o anumită condiție este adevărată. 852 00:37:29,747 --> 00:37:32,580 Deci, dacă aș fi C și computerul sunt rulează în jos această bucată de cod, 853 00:37:32,580 --> 00:37:33,880 Am arunca o privire la partea de sus. 854 00:37:33,880 --> 00:37:36,890 Mă duc la C, spun fac acest lucru. 855 00:37:36,890 --> 00:37:40,550 Și apoi m-am verifica, în timp ce aceasta Este adevărat, am să-l repete. 856 00:37:40,550 --> 00:37:42,750 Dar în timp ce acest lucru este fals, apoi m-am merge mai departe 857 00:37:42,750 --> 00:37:44,700 și niciodată nu mă întorc la acea bucla din nou. 858 00:37:44,700 --> 00:37:48,360 >> Poate cineva să ia o lovitură de cuțit la ce diferenta 859 00:37:48,360 --> 00:37:52,130 între această buclă și cea pe care o doar sa uitat la a fost, practic,. 860 00:37:52,130 --> 00:37:52,717 Da. 861 00:37:52,717 --> 00:37:55,050 SPEAKER 15: Condiția vine după în loc de înainte de? 862 00:37:55,050 --> 00:37:55,841 ANDI Peng: Exact. 863 00:37:55,841 --> 00:37:57,984 Deci, ea a declarat ca starea vine după, nu înainte. 864 00:37:57,984 --> 00:38:00,400 În cele din urmă, diferența între acest lucru și în timp ce bucla 865 00:38:00,400 --> 00:38:03,597 este că sunteți doar de gând să faci indiferent de interiorul acestui indiferent de 866 00:38:03,597 --> 00:38:06,430 dacă este sau nu starea dumneavoastră este adevărat, și apoi verificați starea. 867 00:38:06,430 --> 00:38:08,304 Deci, în acest caz, ești always-- în acest fel, 868 00:38:08,304 --> 00:38:11,240 te mereu asigurandu- indiferent de e rulează în interiorul cel puțin 869 00:38:11,240 --> 00:38:14,230 o dată înainte de verificare pentru a vedea dacă doriți să se execute din nou. 870 00:38:14,230 --> 00:38:18,040 >> Și aici este un exemplu de când ne-ar folosi. 871 00:38:18,040 --> 00:38:22,570 Deci, de exemplu, în cazul în care am vrut să am o variabilă de tip int numit vârstă, 872 00:38:22,570 --> 00:38:25,640 și vreau să solicite utilizatorul pentru vârsta lor, 873 00:38:25,640 --> 00:38:27,910 Am de gând să fac printf () Care este varsta ta? 874 00:38:27,910 --> 00:38:30,330 vârsta = getint (), care este determinat utilizatorul. 875 00:38:30,330 --> 00:38:32,140 >> Și unii oameni vor fi foarte enervant. 876 00:38:32,140 --> 00:38:34,931 Și nu vrei bug-uri în dvs. program de cineva introducere cum ar fi, 877 00:38:34,931 --> 00:38:36,680 oh Sunt negativ de 4 ani sau orice altceva. 878 00:38:36,680 --> 00:38:39,900 În cazul în care în cazul în care face acest lucru, aceasta evalueaza 879 00:38:39,900 --> 00:38:43,150 la adevărata, ceea ce înseamnă că am de gând să trebuie să păstreze merge înapoi și de a face acest lucru. 880 00:38:43,150 --> 00:38:45,310 Deci, acest lucru se întâmplă pentru a menține re-determinat utilizatorul 881 00:38:45,310 --> 00:38:47,960 pentru a vă oferi ca un adevarat Numărul de vârstă și este 882 00:38:47,960 --> 00:38:51,930 O să mergi înapoi și refacerea ea până când vă dau o varsta reala 883 00:38:51,930 --> 00:38:56,900 mai mare decât unu, sau nu este zero. 884 00:38:56,900 --> 00:38:58,020 >> Deci aluzie, aluzie. 885 00:38:58,020 --> 00:39:02,263 Acest lucru va fi foarte, foarte util pentru una dintre problemele tale PSET. 886 00:39:02,263 --> 00:39:04,155 Da. 887 00:39:04,155 --> 00:39:05,580 >> SPEAKER 16: Hopa, îmi pare rău. 888 00:39:05,580 --> 00:39:06,288 >> ANDI Peng: Da. 889 00:39:06,288 --> 00:39:09,424 >> SPEAKER 16: Există, nu să fie un ticălos, dar-- 890 00:39:09,424 --> 00:39:10,340 ANDI Peng: Nu vă faceți griji. 891 00:39:10,340 --> 00:39:11,990 SPEAKER 16: --are acolo reguli diferite aici, 892 00:39:11,990 --> 00:39:13,810 sau ai uitat doar pentru a pune oferta? 893 00:39:13,810 --> 00:39:14,250 >> ANDI Peng: Oh, da. 894 00:39:14,250 --> 00:39:15,530 Îmi pare rău, asta e cu totul rău mea. 895 00:39:15,530 --> 00:39:17,100 Asta a fost cu siguranta Trebuia să fie o cotatie. 896 00:39:17,100 --> 00:39:17,690 Bun de captură. 897 00:39:17,690 --> 00:39:18,800 Care nu ar fi alerga. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 BINE. 900 00:39:22,830 --> 00:39:26,160 >> Deci, ultimul tip de bucla vom vorbi despre și, în cele din urmă, un fel de cele mai multe 901 00:39:26,160 --> 00:39:28,854 complex este de bucla. 902 00:39:28,854 --> 00:39:30,770 Nu vă faceți griji dacă nu știu ce înseamnă asta. 903 00:39:30,770 --> 00:39:32,061 E destul de confuz la început. 904 00:39:32,061 --> 00:39:33,640 Vom trece peste un exemplu. 905 00:39:33,640 --> 00:39:37,040 >> Tot ceea ce se întâmplă într-o buclă de este că aveți trei declarații 906 00:39:37,040 --> 00:39:38,380 care ai de gând să includă. 907 00:39:38,380 --> 00:39:42,130 Deci, pentru un anumit lucru, tu ești O să inițializa o variabilă. 908 00:39:42,130 --> 00:39:45,280 Ai de gând să adăugați condiția de a care această buclă va continua să fie difuzate. 909 00:39:45,280 --> 00:39:47,790 Și apoi, la sfârșitul bucla, ai de gând să-l actualizeze. 910 00:39:47,790 --> 00:39:50,248 Puteți actualiza variabila pe care doriți să urmăriți de. 911 00:39:50,248 --> 00:39:52,530 Deci, vom folosi de obicei pentru bucle de când am 912 00:39:52,530 --> 00:39:55,390 doriți să rulați o buclă pentru o anumită cantitate de ori 913 00:39:55,390 --> 00:39:58,900 si stim deja, Oh vreau această buclă să execute ca de 10 ori, 914 00:39:58,900 --> 00:40:03,060 atunci do-- voi trece peste un exemplu pe pagina următoare. 915 00:40:03,060 --> 00:40:07,830 >> Deci, aici, de exemplu, în Scratch, dacă vrut ceva pentru a repeta de 10 ori, 916 00:40:07,830 --> 00:40:10,790 tot ce a avut de spus a fost, Repeta de 10 ori am iubesc SAJ! 917 00:40:10,790 --> 00:40:15,260 care este o mai acceptabil spectacol de sprijin pentru noi 918 00:40:15,260 --> 00:40:17,120 mai degrabă decât bucla infinită. 919 00:40:17,120 --> 00:40:19,920 Aici, cum ați trecerea la C și scrie 920 00:40:19,920 --> 00:40:26,040 care este pentru int-- am de gând să creeze sau declara o variabila de tip int numit i. 921 00:40:26,040 --> 00:40:30,089 Am de gând pentru a inițializa l la 0, asa ca i = 0; 922 00:40:30,089 --> 00:40:31,630 și acest lucru va fi starea mea. 923 00:40:31,630 --> 00:40:33,860 Deci i este mai mică de 10. 924 00:40:33,860 --> 00:40:36,096 Și apoi la end-- ultima declarație esti 925 00:40:36,096 --> 00:40:38,710 Va trebui este actualizarea ce se întâmplă cu i variabila 926 00:40:38,710 --> 00:40:40,206 la sfârșitul pentru bucla. 927 00:40:40,206 --> 00:40:42,830 Deci e un fel de confuz, pentru că diferite părți ale acestei linii 928 00:40:42,830 --> 00:40:44,871 se întâmplă la diferite tipuri de bucla. 929 00:40:44,871 --> 00:40:46,746 Dar voi trece peste un exemplu pseudocod de care 930 00:40:46,746 --> 00:40:50,360 și poate explica acest doar un pic mai bine. 931 00:40:50,360 --> 00:40:51,500 >> Deci, aici. 932 00:40:51,500 --> 00:40:52,929 Asta e bucla doar am văzut. 933 00:40:52,929 --> 00:40:55,470 În esență în pseudocod, ceea ce se întâmplă în acest program, 934 00:40:55,470 --> 00:40:57,940 este primul creez I, se inițializează la 0. 935 00:40:57,940 --> 00:41:00,440 Sunt de verificare pentru a vedea dacă i este mai puțin de 10, în care caz 936 00:41:00,440 --> 00:41:02,840 prima dată, este deoarece 0 este mai mică de 10. 937 00:41:02,840 --> 00:41:04,727 Astfel, bucla se va rula. 938 00:41:04,727 --> 00:41:06,310 Și apoi am de gând să imprimați această linie. 939 00:41:06,310 --> 00:41:11,240 Și apoi, la sfârșitul acestei linii, drept aici, am de gând să fac creștere i, i ++, 940 00:41:11,240 --> 00:41:13,370 tot ceea ce înseamnă este incrementarea prin unul. 941 00:41:13,370 --> 00:41:15,460 >> Deci, i este acum un. 942 00:41:15,460 --> 00:41:17,960 Pentru că a fost o dată 0, dacă am incrementa e, e acum 1. 943 00:41:17,960 --> 00:41:19,610 Și apoi am de gând să mă întorc la începutul buclei 944 00:41:19,610 --> 00:41:20,730 și am verifica starea. 945 00:41:20,730 --> 00:41:22,080 Este condiția încă adevărat? 946 00:41:22,080 --> 00:41:24,030 Da, 1 este în continuare mai puțin de 10. 947 00:41:24,030 --> 00:41:27,370 Deci o să imprimați din nou, du-te și apoi incrementa I, și a verifica 948 00:41:27,370 --> 00:41:29,180 condiția continuu, continuu, 949 00:41:29,180 --> 00:41:33,290 până când veți obține în cele din urmă până la punctul unde i reprezintă 10. 950 00:41:33,290 --> 00:41:36,300 >> Ai de gând să Printeaza aceasta de 10 ori și apoi am va egal 10. 951 00:41:36,300 --> 00:41:37,800 Ai de gând să verifice starea. 952 00:41:37,800 --> 00:41:38,760 Este mai puțin de 10 10? 953 00:41:38,760 --> 00:41:40,370 Nu, ce este fals. 954 00:41:40,370 --> 00:41:43,020 Astfel, această buclă nu va pentru a rula, se va rupe, 955 00:41:43,020 --> 00:41:45,040 și ai de gând să continua cu codul. 956 00:41:45,040 --> 00:41:47,550 >> Deci, ca voi poate vedea, acest lucru este un exemplu foarte mare 957 00:41:47,550 --> 00:41:53,110 de o buclă, puteți programa în ruleaza pentru o anumită sumă de ori. 958 00:41:53,110 --> 00:41:54,457 Fiecare clar o? 959 00:41:54,457 --> 00:41:54,956 Da. 960 00:41:54,956 --> 00:41:59,060 >> SPEAKER 17: Ce zici de creștere exponențial, este diferit de codificare? 961 00:41:59,060 --> 00:42:02,060 >> ANDI Peng: Ai can-- vom merge peste acest lucru în slide-ul urmator. 962 00:42:02,060 --> 00:42:03,350 Buna intrebare. 963 00:42:03,350 --> 00:42:05,910 Este cineva, înainte de a mă muta on-- cineva la toate confuz, 964 00:42:05,910 --> 00:42:07,640 pentru că acest lucru este un concept foarte greu. 965 00:42:07,640 --> 00:42:09,510 Nu vă faceți griji, dacă you're-- OK. 966 00:42:09,510 --> 00:42:10,010 Misto. 967 00:42:10,010 --> 00:42:12,836 968 00:42:12,836 --> 00:42:13,490 >> In regula. 969 00:42:13,490 --> 00:42:14,610 Doar un diapozitiv generală. 970 00:42:14,610 --> 00:42:18,020 Această buclă în timp ce este de a face exact același lucru pentru bucla a fost. 971 00:42:18,020 --> 00:42:19,631 E doar scris diferit. 972 00:42:19,631 --> 00:42:22,130 Voi citi cu atenție poate diapozitivele la care vă convine mai târziu. 973 00:42:22,130 --> 00:42:24,880 Dar știu doar că există mai multe modalități de a scrie același lucru 974 00:42:24,880 --> 00:42:28,300 să se întâmple cu diferite bucle. 975 00:42:28,300 --> 00:42:28,800 BINE. 976 00:42:28,800 --> 00:42:32,380 >> Deci, acum avem în întrebarea de ce dacă avem o buclă în interiorul unei bucle. 977 00:42:32,380 --> 00:42:35,810 Primim în imobiliare Tipul chestii Inception aici. 978 00:42:35,810 --> 00:42:40,640 Când vrei să faci lucruri mai multe ori de alte lucruri în interiorul 979 00:42:40,640 --> 00:42:44,129 care fac lucruri de mai multe ori, doresc ceea ce se numește un imbricat pentru buclă. 980 00:42:44,129 --> 00:42:47,420 Pentru cei dintre voi care văd mai întâi acest lucru și se foarte confuz, tot ce facem aici 981 00:42:47,420 --> 00:42:50,580 are un pentru buclă în care avem o variabilă de rând. 982 00:42:50,580 --> 00:42:54,500 Dar interiorul ei, avem, de asemenea un alt pentru bucla de o coloana variabilă numită. 983 00:42:54,500 --> 00:42:58,560 Și am foarte sugerăm toți care sunt confuzi pentru a menține primul 984 00:42:58,560 --> 00:43:00,310 track-- trage acest lucru, trage asta. 985 00:43:00,310 --> 00:43:03,000 Nu încercați să motiv doar prin ea, el scoate. 986 00:43:03,000 --> 00:43:06,630 >> În capul tău, pe această bucată de hârtie, sau orice altceva, scrie rând, 987 00:43:06,630 --> 00:43:08,614 ține evidența a ceea ce rând este egală cu. 988 00:43:08,614 --> 00:43:10,780 Scrie coloană, ține evidența de ce coloana este egal cu. 989 00:43:10,780 --> 00:43:13,490 Și ține evidența a ceea ce este imprimarea cu fiecare iterație. 990 00:43:13,490 --> 00:43:16,320 Fiecare repetare a acestei bucle, fiecare iterație a buclei care mai mari, 991 00:43:16,320 --> 00:43:17,820 doar ține în urma logica. 992 00:43:17,820 --> 00:43:20,190 Și vă garantez, veți iubi ceea ce vezi, 993 00:43:20,190 --> 00:43:24,307 pentru că este, de asemenea, foarte aplicabil pentru seturi de probleme. 994 00:43:24,307 --> 00:43:24,806 Misto. 995 00:43:24,806 --> 00:43:27,501 996 00:43:27,501 --> 00:43:28,000 In regula. 997 00:43:28,000 --> 00:43:30,723 Deci cel mai important lucru că voi sunt, probabil, toate 998 00:43:30,723 --> 00:43:32,400 gândesc acum, sunt probleme Set 1s tale, 999 00:43:32,400 --> 00:43:33,650 care sunt datorate joi / vineri. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> În programul water.c, indiciu ai de gând să aibă 1002 00:43:39,710 --> 00:43:41,590 a solicita utilizatorului pentru o intrare. 1003 00:43:41,590 --> 00:43:43,640 Cadrul programului mario.c ai de gând să aibă 1004 00:43:43,640 --> 00:43:46,431 să utilizeze un imbricat pentru buclă, care este o buclă de interiorul unei bucle pentru, 1005 00:43:46,431 --> 00:43:50,247 pentru a imprima un bloc de piramidă, în esență ca ceea ce Mario are de sari prin. 1006 00:43:50,247 --> 00:43:53,330 Și apoi în interiorul dvs. greedy-- sau poate Efectuarea de Schimbare, dacă oricare dintre voi 1007 00:43:53,330 --> 00:43:55,740 au auzit vreodată de that-- ai de gând să trebuie să fie foarte 1008 00:43:55,740 --> 00:43:58,160 atentă a primelor valori în virgulă mobilă. 1009 00:43:58,160 --> 00:44:01,860 Amintiți-vă zecimale plutitoare și întregi nu sunt același lucru. 1010 00:44:01,860 --> 00:44:03,620 Ține evidența care unul este care. 1011 00:44:03,620 --> 00:44:05,953 Și ai de gând să utilizați Declarații condiționale, precum și. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> Bine, ultimul lucru. 1014 00:44:10,940 --> 00:44:12,770 Am câteva minute. 1015 00:44:12,770 --> 00:44:13,460 Stil. 1016 00:44:13,460 --> 00:44:19,320 Deci, aceasta este ceva care nu efect de fapt eficiența, 1017 00:44:19,320 --> 00:44:21,010 sau de funcționare efectivă a codului. 1018 00:44:21,010 --> 00:44:24,380 Cu toate acestea, ne afectează ca gredere tale, ca cititori. 1019 00:44:24,380 --> 00:44:27,290 Aceasta afectează le dacă sunteți încercarea de a găsi o problemă. 1020 00:44:27,290 --> 00:44:30,700 Aceasta afectează lizibilitatea codului. 1021 00:44:30,700 --> 00:44:34,070 >> Deci stil, ca atunci când sunteți încercarea de a stilul un eseu pentru limba engleză, dacă 1022 00:44:34,070 --> 00:44:36,070 nu au avut paragrafe, ai totul fel 1023 00:44:36,070 --> 00:44:39,190 de amestecate împreună pe o singură linie, aceasta face foarte dificil pentru oricine 1024 00:44:39,190 --> 00:44:42,620 pentru a citi eseul tău, chiar dacă punctele tale sunt logic sunet. 1025 00:44:42,620 --> 00:44:44,390 Același lucru în programare. 1026 00:44:44,390 --> 00:44:47,910 Puteți avea oribil obscure cod care Scaz va acoperi, 1027 00:44:47,910 --> 00:44:49,660 si se poate rula și funcția încă. 1028 00:44:49,660 --> 00:44:53,110 Dar pentru noi, ca AT dragi, care vor fi citit și evaluarea PSets tale, 1029 00:44:53,110 --> 00:44:54,460 asta nu e foarte frumos. 1030 00:44:54,460 --> 00:44:56,859 >> Deci, vă rugăm, de dragul de noi și le 1031 00:44:56,859 --> 00:44:58,900 atunci când sunteți încercarea de a repara o problemă în codul dvs., 1032 00:44:58,900 --> 00:45:00,774 și sunteți încercarea de a citit propriul cod, face 1033 00:45:00,774 --> 00:45:03,910 vă că urmați unor convenții că vom trece peste. 1034 00:45:03,910 --> 00:45:04,510 >> Deci primul. 1035 00:45:04,510 --> 00:45:07,070 Dă variabilele nume semnificative. 1036 00:45:07,070 --> 00:45:11,450 Dacă doriți să stocați un număr întreg numita vârstă, vă rugăm să-l numele vârstă. 1037 00:45:11,450 --> 00:45:12,875 Nu-l numi înălțime. 1038 00:45:12,875 --> 00:45:14,750 Când sunteți încercarea de a stoca o vârstă în înălțime, 1039 00:45:14,750 --> 00:45:16,722 face totul foarte confuz pentru noi. 1040 00:45:16,722 --> 00:45:17,930 Noi nu le place să fie confundate. 1041 00:45:17,930 --> 00:45:19,180 Nu-ți place să fie confundate. 1042 00:45:19,180 --> 00:45:20,350 Nimeni nu îi place să fie confundate. 1043 00:45:20,350 --> 00:45:23,100 Dacă aveți de gând pentru a crea ceva, nume ceva semnificativ. 1044 00:45:23,100 --> 00:45:26,440 >> Cu toate acestea, în timp bucla, cu un singur variabile de caractere sunt de obicei bine. 1045 00:45:26,440 --> 00:45:31,350 Și în pentru bucla, dacă doriți doar I, și j, k, nu ezitați a face doar asta. 1046 00:45:31,350 --> 00:45:32,670 >> Inițializare consistent. 1047 00:45:32,670 --> 00:45:33,770 Deci, ce înseamnă asta? 1048 00:45:33,770 --> 00:45:37,600 Asta înseamnă punct de vedere tehnic, teoretic, puteți iniția și de a crea 1049 00:45:37,600 --> 00:45:40,140 mai multe variabile pe aceeași linie. 1050 00:45:40,140 --> 00:45:42,820 Deci, de exemplu, pot crea un număr întreg numit scaz_age, 1051 00:45:42,820 --> 00:45:47,110 și întreg numit andi_age = 20, și un număr întreg numit jason_age 1052 00:45:47,110 --> 00:45:48,090 pe aceeași linie. 1053 00:45:48,090 --> 00:45:52,060 Și eu pot atribui, de asemenea, doar unul din ei și nu pe ceilalți la valorile. 1054 00:45:52,060 --> 00:45:54,142 Vă cerem să vă rugăm să nu faci asta. 1055 00:45:54,142 --> 00:45:57,350 Pentru că aici ați creat în esență, trei variabile, dar numai unul dintre ele 1056 00:45:57,350 --> 00:45:58,295 de fapt, are o valoare. 1057 00:45:58,295 --> 00:46:00,170 Și apoi când suntem încercarea de a citi codul, 1058 00:46:00,170 --> 00:46:01,850 sau dacă sunteți încercarea de a repara o problemă în codul dvs., 1059 00:46:01,850 --> 00:46:03,340 este foarte confuz de urmat. 1060 00:46:03,340 --> 00:46:09,300 Deci, doar pentru lizibilitate dvs., pentru lizibilitatea nostru, nu face asta. 1061 00:46:09,300 --> 00:46:10,355 >> Acolade consistente. 1062 00:46:10,355 --> 00:46:12,980 Unii oameni să afișezi lor acolade în locuri diferite. 1063 00:46:12,980 --> 00:46:14,100 Nu contează. 1064 00:46:14,100 --> 00:46:17,900 Doar asigurați-vă că sunteți consecvent în ta Cod propriu pe care ați vrea să le pun. 1065 00:46:17,900 --> 00:46:18,950 >> Spațiere consistent. 1066 00:46:18,950 --> 00:46:22,040 Dacă puneți un spațiu după un pentru bucla, face întotdeauna. 1067 00:46:22,040 --> 00:46:24,930 Nu doar ca un fel de a face acest lucru la unele locuri, nu o fac în altele. 1068 00:46:24,930 --> 00:46:26,580 Doar să fie în concordanță. 1069 00:46:26,580 --> 00:46:29,500 >> În al doilea rând, în cazul în care cineva ar dori să ia cunoștință Style Ghidul CS50, 1070 00:46:29,500 --> 00:46:33,230 avem în mod oficial un ghid de stil care vă toate aceste convenții spune, 1071 00:46:33,230 --> 00:46:34,890 plus mai mult. 1072 00:46:34,890 --> 00:46:35,530 E on-line. 1073 00:46:35,530 --> 00:46:38,670 E ca și cum cs50.net/style sau asa ceva. 1074 00:46:38,670 --> 00:46:40,180 Puteți să-l Google. 1075 00:46:40,180 --> 00:46:41,399 >> Coerența este cheia. 1076 00:46:41,399 --> 00:46:43,190 Deci, nu vă faceți griji ce alte persoane fac, 1077 00:46:43,190 --> 00:46:46,180 doar asigurați-vă că sunteți consistent în propriul cod. 1078 00:46:46,180 --> 00:46:50,570 Oricine are orice întrebări cu privire la asta? 1079 00:46:50,570 --> 00:46:51,070 Da. 1080 00:46:51,070 --> 00:46:53,370 >> SPEAKER 18: Deci lucrul propriu-zis de a face cu initializare este doar 1081 00:46:53,370 --> 00:46:56,130 le pe toate într-o separat linie, este că ceea ce vrei să spui? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI Peng: Deci, eu rareori am întâmpla acest lucru. 1083 00:46:58,850 --> 00:47:02,230 Dar dacă ai vrut să, dacă ai vrut să fie ca economie de spațiu în codul dvs., 1084 00:47:02,230 --> 00:47:04,000 sau orice altceva, puteți face acest lucru. 1085 00:47:04,000 --> 00:47:07,800 Noi cerem ca tu chiar nu inițializa un singur lucru și nu pe ceilalți. 1086 00:47:07,800 --> 00:47:12,600 Deci, dacă vrei să faci Int scaz_age, Int andi_age, Int jason_age, e în regulă. 1087 00:47:12,600 --> 00:47:15,600 Doar nu inițializa un și nu pe ceilalți este tot. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> Întrebări? 1090 00:47:19,904 --> 00:47:20,850 In regula. 1091 00:47:20,850 --> 00:47:24,610 Am de gând să treacă pe microfon, iar indicatorul cu laser, 1092 00:47:24,610 --> 00:47:28,862 și bagheta la Scaz în acest moment. 1093 00:47:28,862 --> 00:47:29,808 Acest lucru este ciudat. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 Aici este. 1096 00:47:33,200 --> 00:47:34,408 >> BRIAN SCASSELLATI: Mulțumesc. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 Cum e asta pentru un sunet? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 Sunetul este bun? . 1101 00:47:47,900 --> 00:47:49,220 Excelent. 1102 00:47:49,220 --> 00:47:50,350 BINE. 1103 00:47:50,350 --> 00:47:52,110 Deci, Max toată lumea. 1104 00:47:52,110 --> 00:47:56,540 >> Am de gând să încerc să lucreze prin un exemplu practic cu tine. 1105 00:47:56,540 --> 00:48:00,850 Și am de gând să utilizeze lui CS50 mediu de dezvoltare, ceea ce se numește 1106 00:48:00,850 --> 00:48:03,120 Mediu Integrat de Dezvoltare. 1107 00:48:03,120 --> 00:48:05,145 Și ați văzut acest demonstrată în curs. 1108 00:48:05,145 --> 00:48:07,520 Și în Problema Set 1, ești va avea posibilitatea de 1109 00:48:07,520 --> 00:48:10,890 să-l folosească, și joci cu l, și să se obișnuiască cu ea, 1110 00:48:10,890 --> 00:48:13,640 pentru că vom să-l folosească prin restul semestrului. 1111 00:48:13,640 --> 00:48:20,350 >> Deci, în acest IDE, aveți ceea ce pare ca un browser de fișiere foarte tradițional 1112 00:48:20,350 --> 00:48:21,890 peste pe una din fețe. 1113 00:48:21,890 --> 00:48:24,360 Ai o porțiune de până top unde mergi 1114 00:48:24,360 --> 00:48:28,850 pentru a vedea codul sursă, dvs Cfile, codul pe care le scrie. 1115 00:48:28,850 --> 00:48:31,880 Și în jos partea de jos, veți au o fereastră terminal 1116 00:48:31,880 --> 00:48:36,330 pe care le veți folosi pentru a atât compila programul 1117 00:48:36,330 --> 00:48:39,090 și pentru a rula sau a executa programul. 1118 00:48:39,090 --> 00:48:40,100 BINE. 1119 00:48:40,100 --> 00:48:46,560 >> Deci, doar să ne dea un pic de fundație, în fereastră terminal, 1120 00:48:46,560 --> 00:48:48,930 ai de gând să fie folosind un set de comenzi 1121 00:48:48,930 --> 00:48:53,040 că sunt comenzi standard, în întreaga de cele mai multe sisteme Unix sau Linux. 1122 00:48:53,040 --> 00:48:55,890 Și așa că, dacă ați folosit vreodată orice formă de Unix, Ubuntu, 1123 00:48:55,890 --> 00:48:59,140 sau oricare dintre celelalte arome, acestea sunt de gând să se uite familiar. 1124 00:48:59,140 --> 00:49:00,890 >> Dacă nu ați făcut, nu vă faceți griji. 1125 00:49:00,890 --> 00:49:02,830 Nu e nimic complicat despre ei. 1126 00:49:02,830 --> 00:49:05,330 Ei doar folosind un alt sintaxa, o denumire diferită 1127 00:49:05,330 --> 00:49:07,630 convenție decât ați văzut până acum. 1128 00:49:07,630 --> 00:49:12,190 >> Deci, pentru a lista afară fișierele într-o anumită director, 1129 00:49:12,190 --> 00:49:15,310 ei vor să utilizeze un comandă numit ls, sau lista. 1130 00:49:15,310 --> 00:49:18,010 Dacă doriți să vedeți totul cu toate detaliile, 1131 00:49:18,010 --> 00:49:21,535 veți utiliza o comandă argument conformitate cu ls -l. 1132 00:49:21,535 --> 00:49:23,910 Și că să-ți arăt tot mai detaliat, inclusiv 1133 00:49:23,910 --> 00:49:26,270 permisiunile pentru un fișier. 1134 00:49:26,270 --> 00:49:31,190 >> Pentru a schimba directorul, vei folosi comanda cd. 1135 00:49:31,190 --> 00:49:35,180 Și veți fi capabil de a schimba directorul atât pentru a merge la directorul tau de casa. 1136 00:49:35,180 --> 00:49:38,500 Asta e doar cd toate de în sine, cd cu două 1137 00:49:38,500 --> 00:49:42,930 puncte veti reveni la o nivelul la directorul anterior. 1138 00:49:42,930 --> 00:49:46,400 Și puteți, de asemenea CD pe un subdirector prin tastarea în cd 1139 00:49:46,400 --> 00:49:48,500 și numele pe care subdirector. 1140 00:49:48,500 --> 00:49:50,540 >> Puteți crea, de asemenea, noi directoare. 1141 00:49:50,540 --> 00:49:52,790 Și vom să meargă prin aceasta în doar un minut. 1142 00:49:52,790 --> 00:49:54,498 Ci doar pentru a pune totul pe ecran. 1143 00:49:54,498 --> 00:49:56,310 Astfel încât să puteți să le vedeți. 1144 00:49:56,310 --> 00:50:00,420 >> Veți avea, de asemenea, capacitatea de pentru a manipula fișiere direct 1145 00:50:00,420 --> 00:50:02,100 din linia de comandă. 1146 00:50:02,100 --> 00:50:06,059 Veți avea posibilitatea de a le copia, de a mutați-le, sau pentru a le elimina, 1147 00:50:06,059 --> 00:50:07,600 care este, în mod eficient, pentru a le șterge. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> IDE CS50 vă oferă din plin putere de argumente în linia de comandă. 1150 00:50:15,350 --> 00:50:20,280 Și asta înseamnă că puteți, de asemenea fac lucruri extrem de periculoase. 1151 00:50:20,280 --> 00:50:21,560 BINE. 1152 00:50:21,560 --> 00:50:25,010 De exemplu, puteți elimina, sau că este de ștergere, 1153 00:50:25,010 --> 00:50:28,750 un fișier, fără a cere o confirmare. 1154 00:50:28,750 --> 00:50:31,820 Și aveți posibilitatea să eliminați chiar recursively-- asta e 1155 00:50:31,820 --> 00:50:38,940 bord r flag-- un întreg subdirector și tot conținutul acestuia. 1156 00:50:38,940 --> 00:50:39,660 BINE. 1157 00:50:39,660 --> 00:50:42,940 Sunt enumerate în roșu pentru că ar trebui să cred că "Pericol" de fiecare dată 1158 00:50:42,940 --> 00:50:45,000 vezi aceste lucruri. 1159 00:50:45,000 --> 00:50:45,920 BINE. 1160 00:50:45,920 --> 00:50:46,420 In regula. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> Acum în cele din urmă, lucrurile pe care sunt va fi foarte valoros pentru tine, 1163 00:50:53,430 --> 00:50:57,270 sunt acolo sunt câteva trucuri bun sa stiti ca esti de navigație 1164 00:50:57,270 --> 00:50:59,190 prin această fereastră terminal. 1165 00:50:59,190 --> 00:51:03,590 În primul rând, puteți șterge ecranul la în orice moment doar prin tastarea în clar. 1166 00:51:03,590 --> 00:51:06,310 Și ai de gând să vezi mi fac asta destul de des. 1167 00:51:06,310 --> 00:51:09,990 Puteți, de asemenea, doar afișa textul unui fișier 1168 00:51:09,990 --> 00:51:13,992 prin tastarea mai mult și apoi numele fișierului. 1169 00:51:13,992 --> 00:51:17,200 Veți putea apoi pentru a derula înapoi și mai departe cu care tocmai cu bara de spațiu 1170 00:51:17,200 --> 00:51:19,010 și săgeată tastele. 1171 00:51:19,010 --> 00:51:25,450 >> Dacă aveți, așa cum am făcut astăzi în curs, un program care se execută în mod continuu 1172 00:51:25,450 --> 00:51:29,190 în buclă infinită, tu poate opri acest program 1173 00:51:29,190 --> 00:51:35,160 de executare prin tastarea în control, care deține în jos de control-C. 1174 00:51:35,160 --> 00:51:38,360 Și s-ar putea trebuie să faci Acest multiplu ori. 1175 00:51:38,360 --> 00:51:40,620 Computerul devine departe de tine. 1176 00:51:40,620 --> 00:51:43,380 Și tu, uneori, trebuie să da o pereche de eseuri 1177 00:51:43,380 --> 00:51:46,280 inainte de a va veni de fapt prin intermediul. 1178 00:51:46,280 --> 00:51:48,760 >> Veți fi, de asemenea, posibilitatea de a Sortare prin comenzile 1179 00:51:48,760 --> 00:51:54,230 pe care tocmai ați tastat cu ajutorul tastei sus, tasta săgeată, și apoi tasta săgeată în jos. 1180 00:51:54,230 --> 00:51:57,560 Și ceea ce este cel mai util este schimb tastați în nume de fișiere lungi 1181 00:51:57,560 --> 00:52:02,209 vei putea pentru utilizare Tab pentru a Completare automată câteva instrucțiuni. 1182 00:52:02,209 --> 00:52:04,750 Acum vom demonstra toți cei în doar o secundă. 1183 00:52:04,750 --> 00:52:06,780 Deci, dacă nu-ți amintești le, nu vă faceți griji. 1184 00:52:06,780 --> 00:52:10,780 Acestea sunt lucruri pe care le vei ridica și de a folosi ca mergem de-a lungul. 1185 00:52:10,780 --> 00:52:11,470 BINE. 1186 00:52:11,470 --> 00:52:18,830 >> Deci, în C- spre deosebire de rămășițe C este un limbaj compilat. 1187 00:52:18,830 --> 00:52:23,210 Asta înseamnă că vom avea o sursă de file-- că e textul pe care îl scrie, 1188 00:52:23,210 --> 00:52:26,500 comenzile pe care le scrieți, The printf () declarații, buclele, 1189 00:52:26,500 --> 00:52:32,580 tot else-- și vom să ia acel fișier și mână-l 1190 00:52:32,580 --> 00:52:34,670 la un program numit compilator. 1191 00:52:34,670 --> 00:52:39,850 >> Compilatorul va lua apoi acest text pe care le-ați scris 1192 00:52:39,850 --> 00:52:43,270 și-l traduce în instrucțiunile binare 1193 00:52:43,270 --> 00:52:46,010 că computerul este de fapt merge utilizare. 1194 00:52:46,010 --> 00:52:49,700 Asta se numește obiectul sau fișierul executabil. 1195 00:52:49,700 --> 00:52:55,320 Dacă te uiți la acest fișier, te duci pentru a vedea codul pe care le-ați scris. 1196 00:52:55,320 --> 00:52:59,480 Dacă te uiți la acest fișier, te duci pentru a vedea o secvență aleatoare de caractere 1197 00:52:59,480 --> 00:53:01,680 care fac nici un fel de sens. 1198 00:53:01,680 --> 00:53:03,250 Asta pentru ca aceasta este binar. 1199 00:53:03,250 --> 00:53:05,560 Nu este menit pentru tine de a fi citit. 1200 00:53:05,560 --> 00:53:08,690 >> Cu toate acestea, în orice moment pe care doriți să rula ceva, ce ai de gând 1201 00:53:08,690 --> 00:53:13,670 care urmează să fie difuzate este acest fișier obiect. 1202 00:53:13,670 --> 00:53:19,110 Așa că atunci când lucrăm cu aceste fișiere, vom scrie un fișier în C. 1203 00:53:19,110 --> 00:53:23,400 Vom apoi compila, folosind un comandă ca make care va invoca 1204 00:53:23,400 --> 00:53:27,070 zăngănitul compilator pentru limbajul C. 1205 00:53:27,070 --> 00:53:31,530 Și care va produce un obiect depune, ca un out, sau în acest caz, 1206 00:53:31,530 --> 00:53:36,580 numele, dosarul meu, pe care l-am pus în. 1207 00:53:36,580 --> 00:53:37,780 In regula. 1208 00:53:37,780 --> 00:53:39,790 >> Deci, hai să încercăm de fapt acest lucru. 1209 00:53:39,790 --> 00:53:42,850 Așa că am venit cu un exemplu din ceea ce am vrut să încerc. 1210 00:53:42,850 --> 00:53:47,380 Și unul dintre lucrurile pe care ma fascineaza este animația. 1211 00:53:47,380 --> 00:53:51,010 Așa că am de gând să încerc să fac un pic animației 1212 00:53:51,010 --> 00:53:53,760 folosind doar caractere ASCII. 1213 00:53:53,760 --> 00:53:56,470 Caractere putem imprima cu ușurință acum. 1214 00:53:56,470 --> 00:54:00,890 >> Deci, aici este cel mai bun încercarea mea crearea pentru tine 1215 00:54:00,890 --> 00:54:07,005 animație de un iepuras trece prin iarba înaltă. 1216 00:54:07,005 --> 00:54:07,505 Acolo este. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 BINE. 1219 00:54:10,670 --> 00:54:14,050 Deci, el nu fuge încă, dar e stând acolo în iarba înaltă. 1220 00:54:14,050 --> 00:54:17,810 >> Acum, dacă aș fi un animator, în vechea școală 1221 00:54:17,810 --> 00:54:20,860 versiune de animație, ceea ce am ar face este să va produce 1222 00:54:20,860 --> 00:54:23,640 o imagine a acestui bunny în iarbă. 1223 00:54:23,640 --> 00:54:25,390 Și apoi mi-ar obține un alt picture-- 1224 00:54:25,390 --> 00:54:30,600 un alt ceea ce au numit cell-- că a bunny doar ușor mutat. 1225 00:54:30,600 --> 00:54:34,870 Apoi treime unul care a avut bunny mutat un pic mai departe. 1226 00:54:34,870 --> 00:54:40,610 >> Și eu ar produce un întreg secvență de aceste celule. 1227 00:54:40,610 --> 00:54:44,220 Unii unde iepuras este de peste pe partea stângă. 1228 00:54:44,220 --> 00:54:47,050 Și apoi se mută încet, o de unul spre mijloc. 1229 00:54:47,050 --> 00:54:51,120 Și apoi din mijloc pe la dreapta. 1230 00:54:51,120 --> 00:54:55,760 Și dacă aș fi fost, atunci, într-adevăr norocos, am putut pune împreună 1231 00:54:55,760 --> 00:54:57,970 și aș putea să le anima. 1232 00:54:57,970 --> 00:55:00,370 Și nu e bunny meu trece prin iarbă. 1233 00:55:00,370 --> 00:55:02,310 >> Asta e marele meu PowerPoint truc pentru a doua zi. 1234 00:55:02,310 --> 00:55:02,809 BINE. 1235 00:55:02,809 --> 00:55:04,760 Deci, acest lucru este la fel de bun ca acesta devine. 1236 00:55:04,760 --> 00:55:05,260 BINE. 1237 00:55:05,260 --> 00:55:08,455 Deci, aici încă o dată, aici este nostru bunny trece prin iarbă. 1238 00:55:08,455 --> 00:55:09,217 >> SPEAKER 19: Din nou. 1239 00:55:09,217 --> 00:55:11,050 BRIAN SCASSELLATI: O mai mult timp, în regulă. 1240 00:55:11,050 --> 00:55:11,940 Nu e bunny ta. 1241 00:55:11,940 --> 00:55:12,940 BINE. 1242 00:55:12,940 --> 00:55:15,470 >> Deci, ceea ce astazi vom să faceți este să mergem 1243 00:55:15,470 --> 00:55:21,110 pentru a încerca pentru a automatiza procesul de de a produce aceste celule. 1244 00:55:21,110 --> 00:55:24,135 Noi nu destul va primi până la punctul de fiind capabil să le pună împreună. 1245 00:55:24,135 --> 00:55:28,900 Dar, vom încerca să pentru a automatiza proces de generare acestei secvențe. 1246 00:55:28,900 --> 00:55:32,900 >> Și aceasta este ceea ce o mare parte din animație de astăzi este ca. 1247 00:55:32,900 --> 00:55:36,690 Asta este, nu faci lucruri în mod necesar prin tragere la totul cu mâna. 1248 00:55:36,690 --> 00:55:40,610 Noi folosim un calculator pentru a automatiza părți ale acestui proces. 1249 00:55:40,610 --> 00:55:41,110 BINE. 1250 00:55:41,110 --> 00:55:47,720 >> Deci lasă-mă să comuta acum la IDE nostru CS50. 1251 00:55:47,720 --> 00:55:54,260 Și am creat pentru us-- și să ma mări aici un pic bit-- Am 1252 00:55:54,260 --> 00:55:58,420 a creat pentru noi un punct de pornire. 1253 00:55:58,420 --> 00:56:03,830 >> De fiecare dată când vă cerem să stai în jos și scrie o bucata de cod, 1254 00:56:03,830 --> 00:56:09,250 ceea ce suntem cu adevarat te cer să faci este ne cere să rezolve o problemă. 1255 00:56:09,250 --> 00:56:11,810 Și modul în care ar trebui să cred despre a face asta 1256 00:56:11,810 --> 00:56:17,900 este de incepand cu unele simplu parte din această soluție. 1257 00:56:17,900 --> 00:56:21,730 Și apoi construi de la acea parte. 1258 00:56:21,730 --> 00:56:23,400 Și asta e ceea ce vom face astăzi. 1259 00:56:23,400 --> 00:56:27,570 >> Deci, mai degrabă decât a încerca dintr-o dată la scrie întregul buchet de cod care este 1260 00:56:27,570 --> 00:56:30,770 O să producă cele 10 celule de animație, 1261 00:56:30,770 --> 00:56:35,506 vom începe în loc cu o bucată care funcționează. 1262 00:56:35,506 --> 00:56:37,380 Și apoi vom construi o pic în jurul valorii de faptul că 1263 00:56:37,380 --> 00:56:39,740 și un pic mai mult și un pic mai mult. 1264 00:56:39,740 --> 00:56:42,550 >> Acum, un lucru bun despre rezolvarea problemelor în acest fel 1265 00:56:42,550 --> 00:56:46,716 este faptul că vă va permite să începeți mereu cu ceva care știți 1266 00:56:46,716 --> 00:56:51,130 lucrări și să introducă o schimbare treptată. 1267 00:56:51,130 --> 00:56:54,090 Și asta e un mod minunat de pentru a afla cum să cod, 1268 00:56:54,090 --> 00:56:58,590 pentru că de fiecare dată când face un schimbare, veți vedea ce impact are. 1269 00:56:58,590 --> 00:56:59,540 BINE. 1270 00:56:59,540 --> 00:57:01,450 >> Deci, aici e punctul nostru de plecare. 1271 00:57:01,450 --> 00:57:01,950 BINE. 1272 00:57:01,950 --> 00:57:08,030 Deci, la începutul fișierul meu, Am hash stdio.h #included. 1273 00:57:08,030 --> 00:57:12,560 Asta e astfel încât să pot obține printf () funcție pentru a lucra. 1274 00:57:12,560 --> 00:57:15,240 >> Am atunci am funcția mea principală. 1275 00:57:15,240 --> 00:57:18,760 Și acest lucru încă arată un pic arcane sau obscure pentru unii dintre voi. 1276 00:57:18,760 --> 00:57:20,010 Asta e ok. 1277 00:57:20,010 --> 00:57:23,190 Tot ce spune este că funcția principală are 1278 00:57:23,190 --> 00:57:27,830 mijloace nu arguments-- nule nimic în C. Și 1279 00:57:27,830 --> 00:57:29,940 întoarce de convenție un număr întreg. 1280 00:57:29,940 --> 00:57:33,290 Principal revine întotdeauna un număr întreg, de obicei, un cod de a spune lucruri 1281 00:57:33,290 --> 00:57:35,071 a mers bine sau nu a mers bine. 1282 00:57:35,071 --> 00:57:35,570 BINE. 1283 00:57:35,570 --> 00:57:39,110 Dar principala trebuie sa aiba ca forma pentru noi acum. 1284 00:57:39,110 --> 00:57:42,080 >> Apoi m-am pus în trei linii de cod. 1285 00:57:42,080 --> 00:57:46,760 Și, împreună cu fiecare linie de cod, am pus un comentariu. 1286 00:57:46,760 --> 00:57:51,340 Acum, unul dintre lucrurile pe care vom insista pe care le faci, 1287 00:57:51,340 --> 00:57:55,320 și este astfel un important practica de programare, 1288 00:57:55,320 --> 00:57:57,800 este de a comenta mereu codul. 1289 00:57:57,800 --> 00:58:02,550 Scrie întotdeauna în jos într-o Engleză comentariu ceva 1290 00:58:02,550 --> 00:58:06,740 care credeți că Codul ar trebui să facă. 1291 00:58:06,740 --> 00:58:11,360 În acest fel, mai târziu, pe când te-ai întors la ea, poti sa te uiti la ea si se poate spune, 1292 00:58:11,360 --> 00:58:13,800 oh, îmi amintesc ce am fost încercarea de a face cu acest lucru. 1293 00:58:13,800 --> 00:58:17,590 Sau atunci când o TA sta jos cu tine la încerca să vă ajute la ore de birou, 1294 00:58:17,590 --> 00:58:20,890 ei pot uita la asta și du-te, eu vezi ce ai încercat să faci, 1295 00:58:20,890 --> 00:58:25,630 ci aceasta este ce se întâmplă cu adevărat. 1296 00:58:25,630 --> 00:58:26,130 BINE. 1297 00:58:26,130 --> 00:58:30,300 >> Așa că am trei părți la codul meu, Am de gând să în primul rând de imprimare 1298 00:58:30,300 --> 00:58:33,110 câteva puncte la începutul. 1299 00:58:33,110 --> 00:58:37,480 Voi imprima apoi afară meu iepuras extrem de fantezie. 1300 00:58:37,480 --> 00:58:40,600 Și apoi unele pic de puncte la sfârșitul. 1301 00:58:40,600 --> 00:58:45,220 >> Iar aceste trei declarații de imprimare ar trebui uita-te familiar pentru tine în acest moment. 1302 00:58:45,220 --> 00:58:47,350 Tot ce fac în fiecare dintre ele este că sunt 1303 00:58:47,350 --> 00:58:49,780 tipărirea o secvență de caractere. 1304 00:58:49,780 --> 00:58:51,370 Nu sunt variabile implicate. 1305 00:58:51,370 --> 00:58:54,320 Totul este doar plat. 1306 00:58:54,320 --> 00:58:55,270 BINE. 1307 00:58:55,270 --> 00:59:07,340 >> Deci, dacă mă duc jos acum la terminal-- meu să vedem dacă pot obține acest înapoi out-- 1308 00:59:07,340 --> 00:59:09,370 și am de gând să tastați din nou clar. 1309 00:59:09,370 --> 00:59:12,507 >> SPEAKER 20: Ne utilizați dublu slash pentru a comenta? 1310 00:59:12,507 --> 00:59:14,340 BRIAN SCASSELLATI: Can utiliza Da double--. 1311 00:59:14,340 --> 00:59:16,920 Există mai multe modalități de a lăsa comentarii în C. One 1312 00:59:16,920 --> 00:59:19,440 modalitate este să utilizați dublu slash. 1313 00:59:19,440 --> 00:59:24,910 Cealaltă este de a utiliza un slash și o stea și apoi închideți cu o stea si un slash. 1314 00:59:24,910 --> 00:59:26,110 In regula. 1315 00:59:26,110 --> 00:59:28,950 >> În primul rând, am de gând să începe navigarea pe aici. 1316 00:59:28,950 --> 00:59:35,350 Deci, dacă mă duc la directorul meu acasă, M-am schimbat directoare acolo, 1317 00:59:35,350 --> 00:59:40,230 Am de gând să se uite și să vedem ce-i în acel director, LS, lista afară. 1318 00:59:40,230 --> 00:59:43,230 Mă duc să văd că am Are două subdirectoare. 1319 00:59:43,230 --> 00:59:47,910 Să facem acest lucru un pic mai mare aici astfel încât să putem vedea toate. 1320 00:59:47,910 --> 00:59:50,610 >> Văd că am Are două subdirectoare. 1321 00:59:50,610 --> 00:59:53,510 Voi schimba directorul pentru a merge în spațiu de lucru. 1322 00:59:53,510 --> 00:59:58,380 Și am de gând doar să tastați în o parte din ea, și apoi a lovit doar Tab. 1323 00:59:58,380 --> 01:00:01,520 Și-l vom finaliza restul pentru mine. 1324 01:00:01,520 --> 01:00:03,370 Fancy. 1325 01:00:03,370 --> 01:00:04,960 >> O să mă uit și văd în spațiul de lucru. 1326 01:00:04,960 --> 01:00:08,431 Iar acum, lucrez pe supersecțiunii 1327 01:00:08,431 --> 01:00:09,680 că suntem predarea acum. 1328 01:00:09,680 --> 01:00:10,971 Asa ca voi merge in acel director. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 Și, în sfârșit, arata si a se vedea. 1331 01:00:15,970 --> 01:00:18,480 Și am acel fișier bunny.c. 1332 01:00:18,480 --> 01:00:20,980 >> Bine asa ca lasa-ma clar încă o dată. 1333 01:00:20,980 --> 01:00:24,370 Și am de gând să now-- din nou că sunt încă stau în acel director 1334 01:00:24,370 --> 01:00:27,540 și îmi spune că sunt în acel director supersecțiune. 1335 01:00:27,540 --> 01:00:30,690 Am de gând să merg mai departe și face bunny programul meu. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 Și comanda, face iepuras, în timp ce sună un pic ciudat, 1338 01:00:38,810 --> 01:00:42,960 invocă, de asemenea, compilatorul zăngănit. 1339 01:00:42,960 --> 01:00:46,470 >> Și este produsă de mi o ieșire, care este 1340 01:00:46,470 --> 01:00:52,130 o o funny-- executabil fișier executabil numit iepuras. 1341 01:00:52,130 --> 01:00:52,700 BINE. 1342 01:00:52,700 --> 01:00:56,700 Pot apoi, și acest lucru sună chiar mai rău, executa iepuras. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 BINE. 1345 01:01:00,680 --> 01:01:03,150 Și să vedem ce face. 1346 01:01:03,150 --> 01:01:04,527 BINE. 1347 01:01:04,527 --> 01:01:06,360 Asta-i un pic de ceea ce ma asteptam. 1348 01:01:06,360 --> 01:01:11,290 Am poza mea bunny acolo, dar am un fel de toate dorit de la sine. 1349 01:01:11,290 --> 01:01:13,186 Ce am pierdut? 1350 01:01:13,186 --> 01:01:14,478 >> SPEAKER 21: Slash l sau N Slash. 1351 01:01:14,478 --> 01:01:15,602 BRIAN SCASSELLATI: N Slash. 1352 01:01:15,602 --> 01:01:16,580 BINE. 1353 01:01:16,580 --> 01:01:18,800 Așa că haideți să ne întoarcem aici. 1354 01:01:18,800 --> 01:01:20,330 Și voi iesi din asta. 1355 01:01:20,330 --> 01:01:23,320 Și voi merge înapoi în asta. 1356 01:01:23,320 --> 01:01:27,720 Și haideți să aruncăm o privire acum din funcția mea principală aici. 1357 01:01:27,720 --> 01:01:29,280 >> Si ce ar trebui sa fac? 1358 01:01:29,280 --> 01:01:30,465 Vreau să pună capăt linie. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 Asa ca voi pune într-un comentariu. 1361 01:01:35,800 --> 01:01:38,430 Voi pune într-o printf (). 1362 01:01:38,430 --> 01:01:41,350 Și ce trebuie să pună în? 1363 01:01:41,350 --> 01:01:41,890 / n. 1364 01:01:41,890 --> 01:01:43,480 BINE. 1365 01:01:43,480 --> 01:01:46,040 Ce trebuie să se termine cu? 1366 01:01:46,040 --> 01:01:47,100 Punct și virgulă. 1367 01:01:47,100 --> 01:01:48,730 In regula. 1368 01:01:48,730 --> 01:01:52,880 >> Acum, într-adevăr una dintre cele mai lucruri importante este să vă asigurați 1369 01:01:52,880 --> 01:01:56,720 de fiecare dată când face o schimbare în codul dvs., pe care le salva. 1370 01:01:56,720 --> 01:02:01,380 Dacă nu ați salvat codul, ești O să observați că un pic în sus stea. 1371 01:02:01,380 --> 01:02:03,420 Și că tu spune stele nu au salvat acest cod. 1372 01:02:03,420 --> 01:02:07,790 >> Dacă am compila acum, nu este va pentru a reflecta orice din aceste modificări, 1373 01:02:07,790 --> 01:02:11,680 deoarece compilatorul se uită la fișierul care este pe disc, nu fișierul care este 1374 01:02:11,680 --> 01:02:13,790 deschide în editorul de. 1375 01:02:13,790 --> 01:02:14,290 In regula. 1376 01:02:14,290 --> 01:02:20,830 >> Deci, haideți să-l salvați și apoi vom merge chiar pe aici, vino înapoi. 1377 01:02:20,830 --> 01:02:24,670 Coboară la terminalul meu. 1378 01:02:24,670 --> 01:02:27,193 Și să îndepărteze spațiul din nou. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> Si putem merge mai departe și unul mai timp face programul nostru iepuras. 1381 01:02:35,760 --> 01:02:40,180 Și să execute iepuras. 1382 01:02:40,180 --> 01:02:42,500 Care nu au de lucru, fie. 1383 01:02:42,500 --> 01:02:43,950 Slash greșit. 1384 01:02:43,950 --> 01:02:52,280 Deci, dacă te uiți la ceea ce am, am pus o / n acolo, dar am avut slash greșit. 1385 01:02:52,280 --> 01:02:56,190 >> Tot ce computerul Are este foarte explicit. 1386 01:02:56,190 --> 01:02:57,230 OK? 1387 01:02:57,230 --> 01:03:01,250 O greșeală puțin de punctuație, și dintr-o dată nu obține ceea ce vrei. 1388 01:03:01,250 --> 01:03:01,750 In regula. 1389 01:03:01,750 --> 01:03:03,740 Așa că haideți să zoom înapoi din nou. 1390 01:03:03,740 --> 01:03:04,410 Vom merge înapoi. 1391 01:03:04,410 --> 01:03:07,930 Ei bine, face ca repararea foarte rapid. 1392 01:03:07,930 --> 01:03:09,270 Vom pune slash chiar în. 1393 01:03:09,270 --> 01:03:10,570 Vom salva. 1394 01:03:10,570 --> 01:03:13,410 Vom mări din nou. 1395 01:03:13,410 --> 01:03:16,730 >> Din anumite motive, nu e a fi fericit, dar hai să mergem mai departe 1396 01:03:16,730 --> 01:03:19,850 și vom merge înapoi la terminal aici. 1397 01:03:19,850 --> 01:03:22,940 Clar-l. 1398 01:03:22,940 --> 01:03:24,880 Vom mări. 1399 01:03:24,880 --> 01:03:28,410 Și încă o dată, vom face iepuras. 1400 01:03:28,410 --> 01:03:32,360 Și acum destul de sigur, că funcționează. 1401 01:03:32,360 --> 01:03:33,240 Ura. 1402 01:03:33,240 --> 01:03:34,300 BINE. 1403 01:03:34,300 --> 01:03:39,580 >> Deci, haideți să încercăm să facem acest lucru un pic mai general. 1404 01:03:39,580 --> 01:03:46,750 Să vedem dacă în loc de doar imprimare un anumit cadru, 1405 01:03:46,750 --> 01:03:49,610 Să vedem dacă putem face acest lucru astfel încât să putem obține toate 10 1406 01:03:49,610 --> 01:03:52,960 dintre aceste cadre animate că am vrut să aibă. 1407 01:03:52,960 --> 01:03:56,550 Deci, din nou, să luăm un pas la un moment dat. 1408 01:03:56,550 --> 01:03:59,900 >> Să-l mai întâi generaliza, nu ca să fac toate cadrele, 1409 01:03:59,900 --> 01:04:03,990 dar, așa că am face nici unul cadru care s-ar putea dori. 1410 01:04:03,990 --> 01:04:05,920 Deci, ce este diferența între cadrele? 1411 01:04:05,920 --> 01:04:07,377 Este iepurașul la fel? 1412 01:04:07,377 --> 01:04:07,960 Audiența: Da. 1413 01:04:07,960 --> 01:04:08,390 BRIAN SCASSELLATI: Da. 1414 01:04:08,390 --> 01:04:09,370 Care este diferența? 1415 01:04:09,370 --> 01:04:10,246 >> Audiența: Poziție. 1416 01:04:10,246 --> 01:04:11,870 BRIAN SCASSELLATI: poziția, nu? 1417 01:04:11,870 --> 01:04:15,590 Și cum pot controla poziția? 1418 01:04:15,590 --> 01:04:17,340 Câte puncte sunt punerea la începutul 1419 01:04:17,340 --> 01:04:19,048 și cât de multe puncte sunt punând la sfârșitul anului. 1420 01:04:19,048 --> 01:04:21,970 Așa că am avut cinci la începutul și cinci de la sfârșitul. 1421 01:04:21,970 --> 01:04:28,320 >> Să înlocuiască cinci cu o buclă pentru. 1422 01:04:28,320 --> 01:04:29,380 BINE. 1423 01:04:29,380 --> 01:04:32,330 Și am de gând să creeze un pentru buclă acum că va spune, 1424 01:04:32,330 --> 01:04:37,800 Am de gând să imprima un numar de puncte de la început. 1425 01:04:37,800 --> 01:04:39,600 Am de gând să utilizeze o variabilă. 1426 01:04:39,600 --> 01:04:44,150 Să spunem, cum eu, ca despre contorul în buclă mea. 1427 01:04:44,150 --> 01:04:47,200 Și am de gând să-l declare până sus. 1428 01:04:47,200 --> 01:04:49,360 >> Și apoi în bucla de Am nevoie pentru a face trei lucruri. 1429 01:04:49,360 --> 01:04:52,340 Primul lucru ce trebuie să fac este am nevoie pentru a inițializa i. 1430 01:04:52,340 --> 01:04:56,570 Ce ar trebui să inițializa să înceapă să fie? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 BINE. 1433 01:04:58,310 --> 01:05:00,950 >> Atunci am nevoie să spun, ceea ce este condiția de terminare? 1434 01:05:00,950 --> 01:05:03,020 Când ar trebui să mă opresc? 1435 01:05:03,020 --> 01:05:05,983 Ei bine, cât de multe puncte a face tu doriți să imprimați pe asta? 1436 01:05:05,983 --> 01:05:06,921 >> Audiența: Cinci. 1437 01:05:06,921 --> 01:05:08,170 BRIAN SCASSELLATI: Cinci din nou? 1438 01:05:08,170 --> 01:05:10,650 Ce zici să facem ceva altfel, am făcut cinci. 1439 01:05:10,650 --> 01:05:12,584 Să arate că e diferit. 1440 01:05:12,584 --> 01:05:13,250 SPEAKER 22: Doi. 1441 01:05:13,250 --> 01:05:13,580 BRIAN SCASSELLATI: Doi. 1442 01:05:13,580 --> 01:05:14,080 BINE. 1443 01:05:14,080 --> 01:05:17,760 Deci, dacă vreau două puncte, ceea ce ar trebui să am pus aici? 1444 01:05:17,760 --> 01:05:19,140 >> Audiența: Trei. 1445 01:05:19,140 --> 01:05:20,530 >> BRIAN SCASSELLATI: Trei. 1446 01:05:20,530 --> 01:05:21,400 BINE. 1447 01:05:21,400 --> 01:05:24,220 De câte ori este că va trece prin? 1448 01:05:24,220 --> 01:05:28,469 Care va trece prin de trei ori, 0, 1, 2 și, nu? 1449 01:05:28,469 --> 01:05:30,010 Bine, hai să mergem înapoi la două. 1450 01:05:30,010 --> 01:05:31,570 Acum vom avea două puncte. 1451 01:05:31,570 --> 01:05:35,800 Și ce vreau să fac în fiecare când mă duc prin bucla? 1452 01:05:35,800 --> 01:05:38,657 Ce trebuie să se schimbe de fiecare dată când mă duc prin? 1453 01:05:38,657 --> 01:05:39,850 >> SPEAKER 23: Adaugă un punct. 1454 01:05:39,850 --> 01:05:41,020 >> BRIAN SCASSELLATI: Trebuie să continui. 1455 01:05:41,020 --> 01:05:41,978 Am de gând să adăugați un punct. 1456 01:05:41,978 --> 01:05:45,310 Am de gând pentru a imprima un punct, de fiecare dată prin bucla. 1457 01:05:45,310 --> 01:05:49,990 Dar cum mă urmărire a modului în care de multe ori am fost prin bucla? 1458 01:05:49,990 --> 01:05:53,260 Sunt folosind I, care variabilă, care contra. 1459 01:05:53,260 --> 01:05:57,110 >> Deci, de fiecare dată, prin, am de gând a incrementa contorul de unul. 1460 01:05:57,110 --> 01:06:00,670 Acum, că e la fel de mă spunand ca i = i + 1. 1461 01:06:00,670 --> 01:06:01,210 Asta e ok. 1462 01:06:01,210 --> 01:06:04,653 Am putea-o face that-- îmi place stenografie, așa că voi spune eu ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 BINE. 1465 01:06:08,370 --> 01:06:10,680 >> Să facem același lucru aici în partea de jos. 1466 01:06:10,680 --> 01:06:11,846 Doar am facut un fel de asta. 1467 01:06:11,846 --> 01:06:13,990 Am de gând să lase voi face acest lucru un complet. 1468 01:06:13,990 --> 01:06:14,260 In regula. 1469 01:06:14,260 --> 01:06:15,426 >> Deci, ce ar trebui să scriu aici? 1470 01:06:15,426 --> 01:06:17,170 Iată mea pentru bucla. 1471 01:06:17,170 --> 01:06:23,162 Am de gând să fac un printf () și am de gând pentru a face astfel încât să imprimați doar o singură punct 1472 01:06:23,162 --> 01:06:25,740 pe care partea de jos. 1473 01:06:25,740 --> 01:06:27,740 >> Ce ar trebui să scrie în interiorul acestui bucla de acum? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 Ei bine, în primul rând ceea ce variabile ar trebui sa folosesc? 1476 01:06:33,948 --> 01:06:35,430 >> SPEAKER 24: J. 1477 01:06:35,430 --> 01:06:36,880 >> BRIAN SCASSELLATI: Mi-ar prinde J. 1478 01:06:36,880 --> 01:06:38,040 Pot folosi același cu cel? 1479 01:06:38,040 --> 01:06:39,961 Pot să folosesc din nou? 1480 01:06:39,961 --> 01:06:40,460 Da. 1481 01:06:40,460 --> 01:06:45,531 Asta e OK, pentru că IS că eu sunt, folosind aici, 1482 01:06:45,531 --> 01:06:47,780 Nu am nevoie de ele din nou, atunci când I a lua în jos la acest punct. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> Deci, ce ar trebui să am inițializa la? 1485 01:06:53,790 --> 01:06:56,675 1486 01:06:56,675 --> 01:06:57,300 SPEAKER 25: 10. 1487 01:06:57,300 --> 01:06:58,567 BRIAN SCASSELLATI: 0. 1488 01:06:58,567 --> 01:06:59,400 Ce ar trebui să verifice? 1489 01:06:59,400 --> 01:07:02,960 Câte puncte am nevoie acum, la sfârșitul dacă am două puncte, la începutul? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 Am nevoie de opt la final, asa ca ce ar trebui să verifice, am mai puțin than-- 1492 01:07:09,165 --> 01:07:12,645 >> Audiența: Șapte, opt, nouă. 1493 01:07:12,645 --> 01:07:14,020 BRIAN SCASSELLATI: Am auzit șapte. 1494 01:07:14,020 --> 01:07:14,810 Am auzit opt. 1495 01:07:14,810 --> 01:07:15,970 Și am auzit nouă. 1496 01:07:15,970 --> 01:07:16,470 BINE. 1497 01:07:16,470 --> 01:07:19,540 Deci suntem toți în dreapta ball-- Jason spune 10. 1498 01:07:19,540 --> 01:07:21,550 BINE. 1499 01:07:21,550 --> 01:07:25,920 >> Dacă am nevoie de două puncte pentru primul, cât de multe face 1500 01:07:25,920 --> 01:07:30,170 Eu-- și am nevoie de opt puncte pentru m Ultima Unu am pus de două deasupra, 1501 01:07:30,170 --> 01:07:31,743 ceea ce ar trebui să am pus jos? 1502 01:07:31,743 --> 01:07:32,570 >> Audiența: Opt. 1503 01:07:32,570 --> 01:07:33,611 >> BRIAN SCASSELLATI: Opt. 1504 01:07:33,611 --> 01:07:35,695 Pentru că o să conta la zero prin intermediul a șapte. 1505 01:07:35,695 --> 01:07:38,490 Și asta e de opt ori prin bucla. 1506 01:07:38,490 --> 01:07:38,990 BINE. 1507 01:07:38,990 --> 01:07:41,774 Și ce trebuie să fac la sfârșitul? 1508 01:07:41,774 --> 01:07:42,670 >> Audiența: i ++. 1509 01:07:42,670 --> 01:07:44,400 >> BRIAN SCASSELLATI: i ++. 1510 01:07:44,400 --> 01:07:45,440 In regula. 1511 01:07:45,440 --> 01:07:48,260 Așa că se uită destul de bine acolo. 1512 01:07:48,260 --> 01:07:50,620 Să încercăm și să vedem ce face. 1513 01:07:50,620 --> 01:07:51,450 BINE. 1514 01:07:51,450 --> 01:07:53,770 Deci vom să-l salveze. 1515 01:07:53,770 --> 01:07:54,940 Frumos și salvat. 1516 01:07:54,940 --> 01:07:56,910 >> Vom micșora înapoi. 1517 01:07:56,910 --> 01:07:58,220 Vom încerca aici, în terminal. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 Vom mări. 1520 01:08:02,970 --> 01:08:05,416 Oops. 1521 01:08:05,416 --> 01:08:09,990 Vom, încă o dată, face programul nostru iepuras. 1522 01:08:09,990 --> 01:08:14,460 Și mergeți mai departe și să execute iepuras. 1523 01:08:14,460 --> 01:08:15,980 Și nu este. 1524 01:08:15,980 --> 01:08:17,710 >> Deci nu e bunny nostru. 1525 01:08:17,710 --> 01:08:25,130 În cazul în care are două puncte de la începutul și opt puncte la sfârșitul. 1526 01:08:25,130 --> 01:08:27,540 Toată lumea cu mine? 1527 01:08:27,540 --> 01:08:28,770 BINE. 1528 01:08:28,770 --> 01:08:29,580 >> Deci, l-am construit. 1529 01:08:29,580 --> 01:08:33,000 Am construit un iepuras, un anumit cadru. 1530 01:08:33,000 --> 01:08:36,229 Acum am fost în stare să generaliza că pentru a construi 1531 01:08:36,229 --> 01:08:38,390 mai mult, diferite tipuri de rame. 1532 01:08:38,390 --> 01:08:42,399 >> Acum să mergem mai departe, și au genera nu doar un cadru, 1533 01:08:42,399 --> 01:08:46,290 dar sa genereze 10 rame, unde incet 1534 01:08:46,290 --> 01:08:50,569 face iepuras muta toate drumul peste câmpul. 1535 01:08:50,569 --> 01:08:51,430 In regula. 1536 01:08:51,430 --> 01:08:53,660 >> Să ne întoarcem. 1537 01:08:53,660 --> 01:08:54,839 Și vom încerca acum. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 Deci ce am nevoie pentru a schimba aici? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 De ce am nevoie pentru a schimba? 1542 01:09:07,180 --> 01:09:10,638 >> SPEAKER 26: trebuie mai întâi să schimba numărul de puncte maxim 1543 01:09:10,638 --> 01:09:11,626 la inceput. 1544 01:09:11,626 --> 01:09:16,850 Pentru că dacă facem 10 puncte, se va avea nevoie de până la scară. 1545 01:09:16,850 --> 01:09:17,850 BRIAN SCASSELLATI: Da. 1546 01:09:17,850 --> 01:09:23,760 Deci, chiar acum am o un fel de hardwired de a face întotdeauna două puncte de la începutul 1547 01:09:23,760 --> 01:09:27,890 și întotdeauna a face opt puncte la sfârșitul anului. 1548 01:09:27,890 --> 01:09:30,660 >> Vreau să construiască o altă buclă, nu? 1549 01:09:30,660 --> 01:09:33,290 Pentru ca nu vreau construi doar o imagine iepuras, 1550 01:09:33,290 --> 01:09:37,140 Vreau să construiască 10 imagini iepuras. 1551 01:09:37,140 --> 01:09:41,500 Așa că am nevoie pentru a construi o altă buclă, și cum am trece prin asta buclă, 1552 01:09:41,500 --> 01:09:44,660 Vreau să se schimbe cât de multe puncte imprima la început 1553 01:09:44,660 --> 01:09:50,529 și cât de multe puncte imprim la sfârșitul anului, pe baza cărora ciclu prin bucla 1554 01:09:50,529 --> 01:09:52,270 Am intrat. 1555 01:09:52,270 --> 01:09:52,770 In regula. 1556 01:09:52,770 --> 01:09:54,430 >> Așa că hai să-un alt contor. 1557 01:09:54,430 --> 01:09:58,142 Cineva a spus, înainte de J, asa ca vom face un alt J. 1558 01:09:58,142 --> 01:10:00,100 Și acum, vom construi un alt pentru buclă. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> Ce se în interiorul că bucla? 1561 01:10:06,200 --> 01:10:09,060 Chestia asta trebuie să meargă în interiorul buclei, nu? 1562 01:10:09,060 --> 01:10:11,190 Are iepuras au pentru a merge în interiorul buclei? 1563 01:10:11,190 --> 01:10:13,390 Am nevoie de un iepuras in fiecare dintre aceste 10 cadre? 1564 01:10:13,390 --> 01:10:14,099 >> Audiența: Uh-huh. 1565 01:10:14,099 --> 01:10:15,098 BRIAN SCASSELLATI: Da. 1566 01:10:15,098 --> 01:10:17,250 Vreau un iepuras în fiecare din 10 cadre, nu? 1567 01:10:17,250 --> 01:10:20,531 Ce zici de punctele de la cele din urmă, nu am nevoie de asta? 1568 01:10:20,531 --> 01:10:21,030 BINE. 1569 01:10:21,030 --> 01:10:22,550 >> Deci, am de gând să indenta toți. 1570 01:10:22,550 --> 01:10:25,110 Am de gând să subliniez toate acest lucru, și am de gând să lovi Tab. 1571 01:10:25,110 --> 01:10:28,590 Și asta o să-i împingă pe toți un pic, astfel încât este ușor pentru mine 1572 01:10:28,590 --> 01:10:32,010 pentru a vedea ce este în bucla. 1573 01:10:32,010 --> 01:10:33,710 Și apoi voi termina. 1574 01:10:33,710 --> 01:10:35,850 Sa spunem. 1575 01:10:35,850 --> 01:10:36,430 OK? 1576 01:10:36,430 --> 01:10:39,230 >> Acum, în această buclă, care Sunt building-- Hopa, 1577 01:10:39,230 --> 01:10:43,810 face ca astfel încât să puteți see-- Am contra mea J. 1578 01:10:43,810 --> 01:10:45,630 Voi a început la 0. 1579 01:10:45,630 --> 01:10:47,829 De câte ori vreau să treacă prin această buclă? 1580 01:10:47,829 --> 01:10:48,620 Audiența: de 10 ori. 1581 01:10:48,620 --> 01:10:49,786 BRIAN SCASSELLATI: de 10 ori. 1582 01:10:49,786 --> 01:10:51,402 Deci, ce număr ar trebui să pun aici? 1583 01:10:51,402 --> 01:10:52,880 >> Audiența: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> BRIAN SCASSELLATI: 9, 10, Cineva trebuie să spună 11, nu? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 Am vrut două puncte înainte și a pus eu mai puțin de 2. 1587 01:11:01,585 --> 01:11:03,810 Am vrut opt ​​puncte, Am pus eu mai puțin de 8. 1588 01:11:03,810 --> 01:11:06,950 Acum vreau să trec prin 10 ori, asa ca am pus j mai than-- 1589 01:11:06,950 --> 01:11:07,590 >> Audiența: 10. 1590 01:11:07,590 --> 01:11:08,610 >> BRIAN SCASSELLATI: 10. 1591 01:11:08,610 --> 01:11:10,150 Nu mergem. 1592 01:11:10,150 --> 01:11:13,360 Și ce fac la sfârșitul pentru a J? 1593 01:11:13,360 --> 01:11:15,310 ++, Ea incrementa. 1594 01:11:15,310 --> 01:11:16,230 BINE. 1595 01:11:16,230 --> 01:11:21,500 Acum, aici e partea complicat, ceea ce este se va întâmpla acum, dacă am face acest lucru? 1596 01:11:21,500 --> 01:11:24,537 Am de gând să imprima 10 cadre? 1597 01:11:24,537 --> 01:11:26,370 SPEAKER 27: Cred că vor fi toate la fel. 1598 01:11:26,370 --> 01:11:28,453 BRIAN SCASSELLATI: Vor toate să fie la fel, nu? 1599 01:11:28,453 --> 01:11:31,750 Deoarece toate dintre ele sunt încă în desfășurare pentru a pune două puncte de la început. 1600 01:11:31,750 --> 01:11:34,162 Dar eu nu vreau să-le pe toate au două puncte de la început. 1601 01:11:34,162 --> 01:11:35,870 Câte puncte îmi doresc la început? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> Audiența: Schimbarea. 1604 01:11:40,020 --> 01:11:42,840 >> BRIAN SCASSELLATI: I vreau să se schimbe, nu? 1605 01:11:42,840 --> 01:11:46,588 Deci, ce am eu aici că se schimbă de fiecare dată când bucla trece prin? 1606 01:11:46,588 --> 01:11:48,242 >> Audiența: Numărul de puncte, J. 1607 01:11:48,242 --> 01:11:49,950 BRIAN SCASSELLATI: J, numărul de puncte. 1608 01:11:49,950 --> 01:11:54,782 Așa că am putea schimba acest lucru să fie J. 1609 01:11:54,782 --> 01:11:59,190 Prima dată prin buclă, ce că va fi? 1610 01:11:59,190 --> 01:12:01,700 Ce pot seta j la cel mai întâi? 1611 01:12:01,700 --> 01:12:02,420 >> Audiența: 0. 1612 01:12:02,420 --> 01:12:05,700 >> BRIAN SCASSELLATI: Deci câți ori am de gând să fac acest lucru? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 A doua oară prin bucla, J anii Va fi o pentru că l-am incrementa. 1615 01:12:11,750 --> 01:12:14,180 Câte puncte am de gând să imprima? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 A treia oară prin bucla, câte puncte am de gând să imprima? 1618 01:12:19,904 --> 01:12:20,587 >> Audiența: Trei. 1619 01:12:20,587 --> 01:12:22,170 BRIAN SCASSELLATI: J va fi de 3. 1620 01:12:22,170 --> 01:12:24,890 Câte puncte am de gând să imprima? 1621 01:12:24,890 --> 01:12:26,817 Oh, îmi pare rău, J va fi de 2. 1622 01:12:26,817 --> 01:12:28,233 Câte puncte am de gând să imprima? 1623 01:12:28,233 --> 01:12:28,980 >> Audiența: 2. 1624 01:12:28,980 --> 01:12:29,855 >> BRIAN SCASSELLATI: 2. 1625 01:12:29,855 --> 01:12:32,460 OK, așa că am de gând să păstreze incrementing că, mergem de-a lungul. 1626 01:12:32,460 --> 01:12:33,460 Ce zici de jos? 1627 01:12:33,460 --> 01:12:34,310 Ce se duce în jos aici? 1628 01:12:34,310 --> 01:12:38,080 Nu vreau 8 întotdeauna la mai final? 1629 01:12:38,080 --> 01:12:39,269 >> SPEAKER 28: 10. 1630 01:12:39,269 --> 01:12:40,685 BRIAN SCASSELLATI: Vreau 10 puncte? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 Vreau să se schimbe, de asemenea. 1633 01:12:44,620 --> 01:12:47,469 Deci, cum vreau să se schimbe? 1634 01:12:47,469 --> 01:12:49,167 >> Audiența: [neauzit]. 1635 01:12:49,167 --> 01:12:51,750 BRIAN SCASSELLATI: Ei bine, dacă am au cinci puncte de la început, 1636 01:12:51,750 --> 01:12:53,293 câte lui dot primesc la sfârșitul? 1637 01:12:53,293 --> 01:12:54,020 >> Audiența: Cinci. 1638 01:12:54,020 --> 01:12:55,630 >> BRIAN SCASSELLATI: Dacă am șase puncte, la începutul, 1639 01:12:55,630 --> 01:12:56,875 câte primesc la sfârșitul? 1640 01:12:56,875 --> 01:12:57,500 Audiența: Patru. 1641 01:12:57,500 --> 01:12:58,950 BRIAN SCASSELLATI: Dacă am primit șapte puncte, la începutul, 1642 01:12:58,950 --> 01:13:00,204 câte primesc la sfârșitul? 1643 01:13:00,204 --> 01:13:00,870 Audiența: Trei. 1644 01:13:00,870 --> 01:13:03,161 BRIAN SCASSELLATI: dacă am doar de buline j la început, 1645 01:13:03,161 --> 01:13:04,790 câte primesc la sfârșitul? 1646 01:13:04,790 --> 01:13:07,520 10-j. 1647 01:13:07,520 --> 01:13:08,650 BINE. 1648 01:13:08,650 --> 01:13:10,390 Deci, hai să încercăm asta. 1649 01:13:10,390 --> 01:13:13,180 >> Deci, am de gând să salveze programul nostru iepuras. 1650 01:13:13,180 --> 01:13:16,270 Încă o dată, vom micșora. 1651 01:13:16,270 --> 01:13:19,090 Vom coborî la terminalul nostru. 1652 01:13:19,090 --> 01:13:20,180 Vom clar. 1653 01:13:20,180 --> 01:13:23,410 Și mări. 1654 01:13:23,410 --> 01:13:26,410 Vom face programul nostru iepuraș, din nou. 1655 01:13:26,410 --> 01:13:27,690 Si vom executa. 1656 01:13:27,690 --> 01:13:30,462 1657 01:13:30,462 --> 01:13:32,090 Uh-oh. 1658 01:13:32,090 --> 01:13:34,580 >> Stai, să micșora. 1659 01:13:34,580 --> 01:13:36,860 Am primit 10 cadre? 1660 01:13:36,860 --> 01:13:38,970 Ei bine, cum de multe iepurași îmi văd acolo? 1661 01:13:38,970 --> 01:13:43,330 1 2 3 4 5 6 7 8 9 10. 1662 01:13:43,330 --> 01:13:44,820 Am 10 cadre. 1663 01:13:44,820 --> 01:13:46,375 Sunt toate la fel? 1664 01:13:46,375 --> 01:13:47,000 Audiența: Da. 1665 01:13:47,000 --> 01:13:48,740 Nu. 1666 01:13:48,740 --> 01:13:50,000 >> BRIAN SCASSELLATI: Nu. 1667 01:13:50,000 --> 01:13:55,050 Asta în primul rând unu, Bunny este acum pe partea stângă. 1668 01:13:55,050 --> 01:13:57,541 Și aici, iepurașul este departe cu privire la 1669 01:13:57,541 --> 01:13:58,290 SPEAKER 29: dreapta. 1670 01:13:58,290 --> 01:14:00,502 BRIAN SCASSELLATI: Deci, Ce am uitat să fac? 1671 01:14:00,502 --> 01:14:01,750 SPEAKER 30: Începeți un rând nou. 1672 01:14:01,750 --> 01:14:04,041 BRIAN SCASSELLATI: Mi-am uitat pentru a începe o nouă linie, din nou. 1673 01:14:04,041 --> 01:14:05,270 Aceeași greșeală pe care am făcut înainte. 1674 01:14:05,270 --> 01:14:07,120 Bine, să mergem repara asta. 1675 01:14:07,120 --> 01:14:11,690 Acum, am încă codul acolo pentru a face o nouă linie. 1676 01:14:11,690 --> 01:14:13,899 De ce nu a făcut-o de lucru? 1677 01:14:13,899 --> 01:14:15,440 SPEAKER 31: Nu e in interiorul buclei. 1678 01:14:15,440 --> 01:14:17,710 BRIAN SCASSELLATI: Oh, nu e în interiorul buclei. 1679 01:14:17,710 --> 01:14:18,520 Asa este. 1680 01:14:18,520 --> 01:14:20,150 E în afara ședinței aici. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 Și pentru bucla este totul care este în interiorul acestui text. 1683 01:14:29,050 --> 01:14:35,500 >> Deci, am de gând să se mute acest interiorul bucla for. 1684 01:14:35,500 --> 01:14:39,410 Și voi Tab în fața lui la arată că este în locul potrivit. 1685 01:14:39,410 --> 01:14:42,020 Și acum, vom salva din nou. 1686 01:14:42,020 --> 01:14:44,350 Vom micșora. 1687 01:14:44,350 --> 01:14:45,770 Vom trece pe la terminalul nostru. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 A mari. 1690 01:14:50,360 --> 01:14:54,050 Vom reface programul nostru iepuras. 1691 01:14:54,050 --> 01:14:59,070 Și acum, acum avem noastre 10 cadre. 1692 01:14:59,070 --> 01:15:00,190 >> [Aplauze] 1693 01:15:00,190 --> 01:15:02,120 >> BRIAN SCASSELLATI: OK. 1694 01:15:02,120 --> 01:15:04,080 Asa ca. 1695 01:15:04,080 --> 01:15:08,370 Aici este imbricate noastră pentru bucle. 1696 01:15:08,370 --> 01:15:13,140 Noi am fost capabil să genereze în bucla interioară câte puncte am vrut 1697 01:15:13,140 --> 01:15:15,320 pentru a imprima la început, la sfârșitul. 1698 01:15:15,320 --> 01:15:21,570 Și bucla exterioară controlată câte cadre am fost construirea. 1699 01:15:21,570 --> 01:15:26,340 Am inceput cu o mică nucleu a problemei, 1700 01:15:26,340 --> 01:15:30,320 si am construit de la acel punct. 1701 01:15:30,320 --> 01:15:30,820 In regula. 1702 01:15:30,820 --> 01:15:33,500 >> Să facem încă un pas. 1703 01:15:33,500 --> 01:15:35,040 Ești gata? 1704 01:15:35,040 --> 01:15:38,800 Există un singur lucru în cazul în care aici am primit de fapt un fel 1705 01:15:38,800 --> 01:15:42,180 mai complexitate decât avem nevoie. 1706 01:15:42,180 --> 01:15:44,700 Hai să aruncăm o privire. 1707 01:15:44,700 --> 01:15:52,050 Deci, în programul nostru iepuras, dacă am micșora aici, 1708 01:15:52,050 --> 01:15:54,980 De fapt, fac parte din același lucru de peste si peste din nou. 1709 01:15:54,980 --> 01:15:59,032 Ce fac asta e un fel de același lucru repetă de două ori? 1710 01:15:59,032 --> 01:16:00,310 >> SPEAKER 32: Print puncte. 1711 01:16:00,310 --> 01:16:03,526 >> BRIAN SCASSELLATI: Da Imprima aceste puncte de două ori. 1712 01:16:03,526 --> 01:16:05,710 Într-adevăr, ar trebui să am acest comentariu aici. 1713 01:16:05,710 --> 01:16:09,037 Imprima unele puncte la începând, chiar aici. 1714 01:16:09,037 --> 01:16:10,620 Și apoi am imprima unele puncte la sfârșitul anului. 1715 01:16:10,620 --> 01:16:14,694 Și eu fac un fel de exact același lucru. 1716 01:16:14,694 --> 01:16:17,110 Ce vom începe de lucru pe în următoarele câteva săptămâni 1717 01:16:17,110 --> 01:16:23,440 este posibilitatea de a lua acele blocuri de cod pe care le folosim peste si peste din nou, 1718 01:16:23,440 --> 01:16:25,800 și printr-un proces numit abstracție, 1719 01:16:25,800 --> 01:16:31,100 vom să-i scoate și le scrie o dată astfel încât să putem apoi 1720 01:16:31,100 --> 01:16:35,130 le reutiliza de peste si peste din nou. 1721 01:16:35,130 --> 01:16:37,210 Deci, haideți să încercăm. 1722 01:16:37,210 --> 01:16:38,220 Gata? 1723 01:16:38,220 --> 01:16:42,200 >> Vom lua acest bloc de cod. 1724 01:16:42,200 --> 01:16:45,280 Și am de gând să-l scoată de acolo. 1725 01:16:45,280 --> 01:16:50,530 Și am de gând să define-- in partea de jos, 1726 01:16:50,530 --> 01:16:53,130 Am de gând să scrie o nouă funcție. 1727 01:16:53,130 --> 01:16:54,750 Nu va pentru a reveni nimic. 1728 01:16:54,750 --> 01:16:58,550 Și am de gând să-l sun printDots. 1729 01:16:58,550 --> 01:17:01,530 >> Se va lua o argument, un număr întreg care 1730 01:17:01,530 --> 01:17:04,920 spune că ar trebui să howManyDots imprima. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 Și acum, în loc de imprimare puncte j, voi imprima spune howManyDots că ar trebui să imprima. 1733 01:17:17,720 --> 01:17:21,581 >> Și există o mică problemă aici. 1734 01:17:21,581 --> 01:17:22,580 Știe cineva ce este? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 Ce am eu care este listat aici care nu este definit? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> Audiența: [inaudibil] 1739 01:17:35,090 --> 01:17:37,465 >> BRIAN SCASSELLATI: Ei bine, cum mai multe puncte este definită până 1740 01:17:37,465 --> 01:17:40,584 aici, dar eu sunt, folosind ca variabile i. 1741 01:17:40,584 --> 01:17:43,750 Așa că am de gând să ia că variabila i și am de gând să-l definească în aici 1742 01:17:43,750 --> 01:17:44,610 în schimb. 1743 01:17:44,610 --> 01:17:49,683 >> Deci, acum o să stay-- oops, au caps lock pe somehow-- Sunt 1744 01:17:49,683 --> 01:17:52,060 O să am păstra în aici. 1745 01:17:52,060 --> 01:17:57,050 >> Deci, acum aici e funcția mea mica sau sub-rutină, și se spune, 1746 01:17:57,050 --> 01:18:00,640 câte puncte am de gând să imprima? 1747 01:18:00,640 --> 01:18:05,300 Și-l va trece prin această buclă și a le imprima de peste si peste din nou. 1748 01:18:05,300 --> 01:18:10,940 >> Pot modifica apoi programul meu aici. 1749 01:18:10,940 --> 01:18:12,540 Și ce eu numesc această funcție? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 Așa că sun printDots. 1752 01:18:17,060 --> 01:18:21,530 Câte puncte vreau să imprimați prima dată în fața iepurașul? 1753 01:18:21,530 --> 01:18:22,030 Audiența: J. 1754 01:18:22,030 --> 01:18:23,230 BRIAN SCASSELLATI: J. 1755 01:18:23,230 --> 01:18:27,110 Câte puncte vreau să imprimați la final, după ce iepurașul? 1756 01:18:27,110 --> 01:18:30,610 1757 01:18:30,610 --> 01:18:31,110 10-j. 1758 01:18:31,110 --> 01:18:35,020 1759 01:18:35,020 --> 01:18:38,010 >> Și e un lucru îmi lipsește. 1760 01:18:38,010 --> 01:18:43,740 După cum ați văzut în curs de astăzi, vom declara printDots 1761 01:18:43,740 --> 01:18:52,430 până mai sus pentru a da prototip. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 BINE. 1764 01:18:58,220 --> 01:19:03,530 >> Deci, ce am făcut e că am încercat să izola partea refolosit de cod 1765 01:19:03,530 --> 01:19:06,430 care le-am făcut de peste si peste din nou. 1766 01:19:06,430 --> 01:19:11,120 Și am încercat să-l scoate, astfel încât tot de care este conținută într-un singur loc. 1767 01:19:11,120 --> 01:19:16,810 În acest fel, dacă am o greșeală pe undeva, Trebuie doar să-l repara într-un singur loc. 1768 01:19:16,810 --> 01:19:17,310 In regula. 1769 01:19:17,310 --> 01:19:18,470 >> Deci, haideți să-l salveze. 1770 01:19:18,470 --> 01:19:20,950 Și să vă asigura că funcționează. 1771 01:19:20,950 --> 01:19:22,050 Așa că hai să mergem afară. 1772 01:19:22,050 --> 01:19:25,200 Vom merge din nou la terminalul nostru. 1773 01:19:25,200 --> 01:19:27,960 Vom mări. 1774 01:19:27,960 --> 01:19:31,010 Vom face acest proces iepuras. 1775 01:19:31,010 --> 01:19:32,380 >> Oh. 1776 01:19:32,380 --> 01:19:34,800 Și este mi-a dat un avertisment. 1777 01:19:34,800 --> 01:19:37,070 Ce se-mi spui? 1778 01:19:37,070 --> 01:19:39,870 Ei bine, în oricare dintre aceste ori, vrei mereu 1779 01:19:39,870 --> 01:19:44,170 pentru a defila până la prima error-- acum pe asta, am doar unul. 1780 01:19:44,170 --> 01:19:52,700 >> Ea mi-a spus în bunny.c, pe linia 8, coloana 9, există o problemă. 1781 01:19:52,700 --> 01:19:58,650 Se spune, ai declarat acest Am variabilă și nu l-au folosit. 1782 01:19:58,650 --> 01:20:02,230 >> Acum, în mod normal, asta e nu cel mai rău eroarea. 1783 01:20:02,230 --> 01:20:04,300 Asta e una ușoară de a stabili. 1784 01:20:04,300 --> 01:20:07,550 Și, de fapt, ne putem întoarce în. 1785 01:20:07,550 --> 01:20:09,910 Ne putem întoarce la Bunny. 1786 01:20:09,910 --> 01:20:13,010 Și în acest caz, tot ce trebuie să faceți este să scape de I, 1787 01:20:13,010 --> 01:20:16,630 pentru că nu utilizați Am în principal mai. 1788 01:20:16,630 --> 01:20:19,860 Noi doar folosind-o în nostru sub-rutina. 1789 01:20:19,860 --> 01:20:22,777 >> Deci, haideți să salveze. 1790 01:20:22,777 --> 01:20:23,360 Vom merge înapoi. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 Și mări. 1793 01:20:28,630 --> 01:20:30,700 Vom unul de mai mult timp să iepuras. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 Și din nou acolo sunt noastre 10 cadre. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 BINE. 1798 01:20:41,360 --> 01:20:43,190 >> De fiecare dată când te dat un procedure-- Da. 1799 01:20:43,190 --> 01:20:44,690 SPEAKER 33: Am un-- eu sunt confuz. 1800 01:20:44,690 --> 01:20:45,892 Poți să te întorci la codul? 1801 01:20:45,892 --> 01:20:46,850 BRIAN SCASSELLATI: Da. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> SPEAKER 33: Deci, atunci când a scris prototip dumneavoastră, argumentul te 1804 01:20:54,367 --> 01:20:56,550 l-au numit fost numit howmany? 1805 01:20:56,550 --> 01:20:57,540 Dar, below-- 1806 01:20:57,540 --> 01:20:57,640 >> BRIAN SCASSELLATI: Oh, da. 1807 01:20:57,640 --> 01:20:59,140 >> SPEAKER 33: le --called ceva diferite, eu nu înțeleg. 1808 01:20:59,140 --> 01:21:00,240 >> BRIAN SCASSELLATI: De ce sunt diferite. 1809 01:21:00,240 --> 01:21:01,780 Deci asta este o întrebare foarte bună. 1810 01:21:01,780 --> 01:21:08,250 Deci întrebarea era, până aici, am scris howmany, 1811 01:21:08,250 --> 01:21:12,380 și jos, am scris howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> Motivul este că, până în prototip dumneavoastră, de fapt nu este atent 1813 01:21:15,590 --> 01:21:17,090 la numele pe care îl pune în. 1814 01:21:17,090 --> 01:21:20,530 Toate într-adevăr îi pasă este că este un număr întreg. 1815 01:21:20,530 --> 01:21:23,080 Vrea să știe formularul de ceea ce pune în. 1816 01:21:23,080 --> 01:21:31,560 >> Acum stylistically-- oops-- ceea ce ar trebui să Nu, este îmi place să fac aceste partida. 1817 01:21:31,560 --> 01:21:33,150 BINE. 1818 01:21:33,150 --> 01:21:36,430 Pentru că veți fi păstrați-l mai ușor pentru mine să-și amintească. 1819 01:21:36,430 --> 01:21:38,390 Dar asta a fost greseala mea Da. 1820 01:21:38,390 --> 01:21:47,620 >> SPEAKER 34: Și așa de prototip de a lucra, doar 1821 01:21:47,620 --> 01:21:50,510 scris că linia, scris prototip, 1822 01:21:50,510 --> 01:21:53,932 permite ca funcție care vine chiar sub ea pentru a merge până la capăt 1823 01:21:53,932 --> 01:21:55,140 și de a prelua ce înseamnă asta? 1824 01:21:55,140 --> 01:21:58,480 >> BRIAN SCASSELLATI: Ce înseamnă este atunci când compilatorul trece prin, 1825 01:21:58,480 --> 01:22:01,930 merge de la partea de sus a codul la partea de jos. 1826 01:22:01,930 --> 01:22:05,430 Și ce acest prototip este, este practic o promisiune. 1827 01:22:05,430 --> 01:22:09,570 >> Se spune, că va fi o funcție definită pe undeva. 1828 01:22:09,570 --> 01:22:11,880 O să fie numit printDots. 1829 01:22:11,880 --> 01:22:15,110 Și că va lua un argument care va fi un număr întreg 1830 01:22:15,110 --> 01:22:18,590 si va reveni la nimic, de tip void. 1831 01:22:18,590 --> 01:22:19,310 BINE. 1832 01:22:19,310 --> 01:22:22,950 Îți promit că te va fi definit undeva pe drum. 1833 01:22:22,950 --> 01:22:25,590 Dar de fiecare dată când vedeți că, așa cum te duci în jos 1834 01:22:25,590 --> 01:22:28,710 prin restul de meu Funcția principală, vreau 1835 01:22:28,710 --> 01:22:33,800 să trateze ca pe un funcție care are o intrare întreg. 1836 01:22:33,800 --> 01:22:37,970 >> Și astfel, atunci când compilatorul se duce în jos Prin aceasta, se vede că promisiune. 1837 01:22:37,970 --> 01:22:40,220 Și atunci când acesta devine în jos, păstrează merge, continuă merge, 1838 01:22:40,220 --> 01:22:43,060 constată prima dată printDots este menționat. 1839 01:22:43,060 --> 01:22:46,910 Și se spune, Oh, dai -mi J. j este un număr întreg. 1840 01:22:46,910 --> 01:22:49,570 >> Ei bine, mi-ai promis că va fie un număr întreg și ce-i drept. 1841 01:22:49,570 --> 01:22:51,370 Asta e ok. 1842 01:22:51,370 --> 01:22:53,880 Și apoi în cele din urmă, în jos chiar partea de jos, 1843 01:22:53,880 --> 01:22:58,340 înainte de a mă la sfârșitul meu fișier, fac bine pe promisiunea mea 1844 01:22:58,340 --> 01:22:59,896 și l-am defini. 1845 01:22:59,896 --> 01:23:01,868 OK? 1846 01:23:01,868 --> 01:23:06,320 >> SPEAKER 35: Deci, saves-- Programul va salva spații goale 1847 01:23:06,320 --> 01:23:09,570 că merge înapoi și umple la sfârșitul? 1848 01:23:09,570 --> 01:23:12,140 >> BRIAN SCASSELLATI: Nu este cu privire la alocarea de memorie. 1849 01:23:12,140 --> 01:23:16,800 De fapt, doar despre ceea ce Tipul te asteptam sa vedem. 1850 01:23:16,800 --> 01:23:19,340 În cazul în care acest lucru au un argument, sau cinci argumente? 1851 01:23:19,340 --> 01:23:23,590 Ar fi trebuit să fie numere întregi dat să-l, sau siruri de caractere? 1852 01:23:23,590 --> 01:23:25,780 Asta e tot ce se uită să faceți este să verificați, 1853 01:23:25,780 --> 01:23:29,303 te-mi da drept un fel de argument. 1854 01:23:29,303 --> 01:23:31,560 OK? 1855 01:23:31,560 --> 01:23:32,300 In regula. 1856 01:23:32,300 --> 01:23:38,570 >> Lasă-mă să te las cu un alt bit să se uite la. 1857 01:23:38,570 --> 01:23:44,850 ASCII arta nu este marea modelul de animație așa cum este astăzi. 1858 01:23:44,850 --> 01:23:50,850 Dar unii oameni, desigur ia lucrurile și ei l împinge la extreme lor. 1859 01:23:50,850 --> 01:23:56,790 >> Aceasta este, după cum o demonstrează David în curs, o bucata de cod 1860 01:23:56,790 --> 01:24:02,150 că ar trebui să în nici un caz încercați să vă duplicat. 1861 01:24:02,150 --> 01:24:05,260 Pentru ca este groaznic stilistic. 1862 01:24:05,260 --> 01:24:11,180 De fapt, acesta este conceput pentru a fi la fel de greu ca posibil de citit. 1863 01:24:11,180 --> 01:24:11,680 BINE. 1864 01:24:11,680 --> 01:24:16,210 >> Deci, pentru a face din nou, să măriți aici. 1865 01:24:16,210 --> 01:24:20,120 Am de gând să plec acum, director schimbare. 1866 01:24:20,120 --> 01:24:24,050 Am de gând să meargă în sus cu un nivel, înapoi la spațiul de lucru meu. 1867 01:24:24,050 --> 01:24:29,760 Voi schimba atunci director în acest alte director pe care le-am creat. 1868 01:24:29,760 --> 01:24:36,190 >> Și aceasta este International Obfuscated C de programare Concurs. 1869 01:24:36,190 --> 01:24:40,650 Mijloace obfuscated fi greu posibil, pentru a înțelege. 1870 01:24:40,650 --> 01:24:44,150 Deci, vă rugăm, nu-ți fie frică dacă te uiți la acest și du-te, nu pot citi asta. 1871 01:24:44,150 --> 01:24:46,350 Acesta este punctul de ea. 1872 01:24:46,350 --> 01:24:47,700 OK? 1873 01:24:47,700 --> 01:24:52,770 >> Dar, avem această program de minunat că eu sunt 1874 01:24:52,770 --> 01:24:57,180 O să se uite la doar prin tastarea mai mult. 1875 01:24:57,180 --> 01:25:01,890 Și să vedem dacă pot micșora doar un pic, astfel încât să puteți vedea 1876 01:25:01,890 --> 01:25:03,940 >> Și aceasta este programul. 1877 01:25:03,940 --> 01:25:08,080 Este numit endo.c. 1878 01:25:08,080 --> 01:25:14,850 Si se pare ca acest lucru găleată cu un fel de scrisori F-L-U-I-D în ea. 1879 01:25:14,850 --> 01:25:16,440 >> Aceasta este de fapt un program de. 1880 01:25:16,440 --> 01:25:20,260 Este scris în cea mai obscură încât autorii ar putea eventual 1881 01:25:20,260 --> 01:25:21,760 scrie. 1882 01:25:21,760 --> 01:25:29,210 Dar e o piesă minunat mic care generează un model de dinamica fluidelor. 1883 01:25:29,210 --> 01:25:34,870 >> Și așa vom da acest model o intrare care 1884 01:25:34,870 --> 01:25:42,520 arata ca acest lucru, de un staired set de recipiente 1885 01:25:42,520 --> 01:25:45,820 cu unele lichid, unele lichid, până la partea de sus. 1886 01:25:45,820 --> 01:25:48,790 Și vom avea simula ce se întâmplă cu ea. 1887 01:25:48,790 --> 01:25:52,415 >> Așa că sun această funcție, endo. 1888 01:25:52,415 --> 01:25:59,000 Și o să-l dau ca fișier de intrare pe care le-am avut. 1889 01:25:59,000 --> 01:26:02,830 Și există simbol nostru de ASCII art. 1890 01:26:02,830 --> 01:26:08,960 Un simulator dinamic fluid complet rulează în doar câteva linii de cod. 1891 01:26:08,960 --> 01:26:13,750 >> Acum, ceea ce este de fapt foarte uimitor despre acest program mic 1892 01:26:13,750 --> 01:26:17,280 este că vreau să-l oprească acum, așa că am de gând să utilizeze ceea ce comandă? 1893 01:26:17,280 --> 01:26:18,660 >> Audiența: Control-C. 1894 01:26:18,660 --> 01:26:20,390 >> BRIAN SCASSELLATI: Control-C. BINE. 1895 01:26:20,390 --> 01:26:22,960 Așa că voi folosi Control-C. C Asta opri. 1896 01:26:22,960 --> 01:26:25,330 Voi șterge din nou. 1897 01:26:25,330 --> 01:26:31,210 Iar acum am de gând să invoce Programul, executa programul, 1898 01:26:31,210 --> 01:26:33,740 folosind-se ca intrare. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> Și vom vedea dinamica de fluid simulare de ea topire. 1901 01:26:42,700 --> 01:26:43,830 BINE. 1902 01:26:43,830 --> 01:26:48,180 Vă rugăm să nu lăsați acest program fi un lucru pe care le confundă. 1903 01:26:48,180 --> 01:26:52,220 E doar astfel încât să putem încheia la ceva cool si interesant. 1904 01:26:52,220 --> 01:26:53,930 BINE. 1905 01:26:53,930 --> 01:26:56,330 >> Cel mai bun de noroc cu seturi de probleme. 1906 01:26:56,330 --> 01:26:59,030 Vom fi bucuroși să răspundem la întrebări după clasa. 1907 01:26:59,030 --> 01:27:01,180 Multumesc mult, băieți. 1908 01:27:01,180 --> 01:27:02,793