1 00:00:08,280 --> 00:00:09,020 [Powered by Google Translate] ZAMYLA CHAN: Olgu, inimesed. 2 00:00:09,020 --> 00:00:11,130 Tere tulemast kiirtutvustus 1. 3 00:00:11,130 --> 00:00:13,950 See kiirtutvustus toimub pset 1, mis on C. Loodan, et te 4 00:00:13,950 --> 00:00:16,540 kõik oli lõbus oma Scratch'i projektidega. 5 00:00:16,540 --> 00:00:18,430 Nii et nüüd selles läbikäiguks, me tegelikult saab olema 6 00:00:18,430 --> 00:00:21,580 võimalik sattuda C, satuvad kirjalikult mõned masina koodi. 7 00:00:21,580 --> 00:00:24,750 Nii et kui teid polnud kiirtutvustus 0, siis need 8 00:00:24,750 --> 00:00:26,330 walkthroughs tõesti - Me oleme kavatse kõndida läbi 9 00:00:26,330 --> 00:00:29,500 lahendamist, rääkida läbi mõned ühised näpunäiteid ja tehnikaid 10 00:00:29,500 --> 00:00:30,430 , mida saab kasutada. 11 00:00:30,430 --> 00:00:32,960 Me murda loovutamise üles juhitavaks hammustab, nii et 12 00:00:32,960 --> 00:00:35,500 kutid saavad alustada ja loodetavasti 13 00:00:35,500 --> 00:00:37,470 mõista, kuidas seda teha. 14 00:00:37,470 --> 00:00:38,050 >> Okei. 15 00:00:38,050 --> 00:00:42,280 Nii pset 1. 16 00:00:42,280 --> 00:00:46,200 Psets sel aastal on struktuur, kus esimene - 17 00:00:46,200 --> 00:00:48,930 seal saab olema osa küsimusi, seeria 18 00:00:48,930 --> 00:00:51,120 küsimusi, mis tõesti aitavad teil alustada 19 00:00:51,120 --> 00:00:53,840 pset, aitavad teil harjutada mõned tehnikad, mida vajate. 20 00:00:53,840 --> 00:00:55,950 Ja nii need küsimused, ma ei kavatse katta 21 00:00:55,950 --> 00:00:59,630 läbikäiguks sest oma osa, oma määratud õpetajate 22 00:00:59,630 --> 00:01:01,630 mehe tegelikult läheb jalutada läbi nende 23 00:01:01,630 --> 00:01:02,620 küsimused koos sinuga. 24 00:01:02,620 --> 00:01:04,370 Lõpus oma osa, saate Kähveltää 25 00:01:04,370 --> 00:01:07,200 Vastused nendele küsimustele, vaid ka veendumust, et 26 00:01:07,200 --> 00:01:10,340 saate rakendada mõned funktsioonid, mida on vaja 27 00:01:10,340 --> 00:01:12,480 jaoks viimane osa pset. 28 00:01:12,480 --> 00:01:15,900 >> Pset 1 kujutab Mario. 29 00:01:15,900 --> 00:01:19,000 Ja see on lõbus väike programm, kus sisuliselt me 30 00:01:19,000 --> 00:01:24,360 kirjutada ja printida pool püramiidi tüüpiline Mario stseen. 31 00:01:24,360 --> 00:01:27,150 Ja siis teine ​​osa pset nimetatakse ahne. 32 00:01:27,150 --> 00:01:29,850 Ja nii ahne me põhiliselt tegutseb ahne 33 00:01:29,850 --> 00:01:32,780 kassast, kus, kui keegi annab meile palju raha 34 00:01:32,780 --> 00:01:38,730 et me tahame, me arvutama minimaalse summa münte, mis 35 00:01:38,730 --> 00:01:40,840 me saame naasta neid ikka annab neile selle summa. 36 00:01:44,080 --> 00:01:44,420 >> Hea küll. 37 00:01:44,420 --> 00:01:46,970 Nii et iga läbikäiguks on tööriistakasti. 38 00:01:46,970 --> 00:01:50,650 Ja veel, sa ei pruugi kasutada kõiki vahendeid selle 39 00:01:50,650 --> 00:01:53,080 tööriistakasti või võite kasutada neid kõiki. 40 00:01:53,080 --> 00:01:54,550 Igal juhul, see on tõesti hea teada, mida 41 00:01:54,550 --> 00:01:55,680 oled sa varustatud. 42 00:01:55,680 --> 00:01:59,990 Nii et meil on CS50 Appliance, kus ma näitan teile poisid ja 43 00:01:59,990 --> 00:02:01,350 tutvustada teile, et. 44 00:02:01,350 --> 00:02:05,710 Siis ka üldiselt hea stiil on kindlasti üks meie 45 00:02:05,710 --> 00:02:07,080 tähtsamaid tööriistu. 46 00:02:07,080 --> 00:02:10,759 Stiil sisuliselt puudutavas kuidas loetav on oma kood? 47 00:02:10,759 --> 00:02:12,750 Kui keegi läheb ja loeb oma kood, neil on 48 00:02:12,750 --> 00:02:13,610 lihtsalt aega? 49 00:02:13,610 --> 00:02:14,630 Kas nad aru saavad? 50 00:02:14,630 --> 00:02:16,610 Kas see elegantne? 51 00:02:16,610 --> 00:02:21,750 Siis me räägime, kuidas saada kehtiv kasutaja sisend oma 52 00:02:21,750 --> 00:02:26,430 programmi, sest nii Mario ja ahned, peate 53 00:02:26,430 --> 00:02:31,660 paluda kasutajal sisestada ja annab sulle mingi number. 54 00:02:31,660 --> 00:02:35,480 Nii siis tahame veenduda, et number on kehtiv. 55 00:02:35,480 --> 00:02:39,010 Siis mäletan Scratch oli meil plokid nagu kordus, 56 00:02:39,010 --> 00:02:42,300 Korda kuni või Oodake, või Forever. 57 00:02:42,300 --> 00:02:45,880 Nii et me ei kavatse sellist moodustavad sellest C nüüd ja 58 00:02:45,880 --> 00:02:49,750 vaata silmad nagu suutis, ja teha-aega. 59 00:02:49,750 --> 00:02:54,330 Siis ka me ka vaja näidata väärtused tagasi 60 00:02:54,330 --> 00:02:56,500 ekraan, kas see on Mario või ahne. 61 00:02:56,500 --> 00:03:01,150 Ja nii me räägime, kuidas me printida asju stringid 62 00:03:01,150 --> 00:03:03,070 täisarvud ja ujub. 63 00:03:03,070 --> 00:03:05,250 Ja siis lõpuks, me räägime pseudokoodi, tõesti 64 00:03:05,250 --> 00:03:07,550 oluline mõiste meeles pidada kogu kursuse. 65 00:03:07,550 --> 00:03:11,130 Pean aitab mind kõige probleemsete komplekti on mõelda ja 66 00:03:11,130 --> 00:03:14,260 kirjeldada, mida ma tahan teha enne mõtled tahes C. 67 00:03:14,260 --> 00:03:15,640 Aga lihtsalt kirjeldada meetmeid. 68 00:03:15,640 --> 00:03:19,100 Nii pseudokoodi on selline vahel inglise ja C tüüpi 69 00:03:19,100 --> 00:03:22,980 kirjeldab protsesse ilma õige süntaks, kuid 70 00:03:22,980 --> 00:03:24,490 pakkudes piisavalt hea struktuur. 71 00:03:24,490 --> 00:03:27,460 Ja nii ma pean mõned näited pseudokoodi ka teid 72 00:03:27,460 --> 00:03:28,710 selles läbikäiguks. 73 00:03:31,610 --> 00:03:31,940 >> Okei. 74 00:03:31,940 --> 00:03:35,620 Mida me töötame koos on CS50 Appliance. 75 00:03:35,620 --> 00:03:38,840 See on sisuliselt virtuaalne masin sellist jookseb 76 00:03:38,840 --> 00:03:40,780 arvuti sees oma arvutist. 77 00:03:40,780 --> 00:03:42,080 Ja see on palju kasu. 78 00:03:42,080 --> 00:03:44,780 Üks on see, et see on eelseadistatud koos palju vahendeid, et teil 79 00:03:44,780 --> 00:03:45,980 vaja CS50. 80 00:03:45,980 --> 00:03:47,940 Samuti tähendab see, et kõik on samal põhjusel, 81 00:03:47,940 --> 00:03:50,800 kas Mac või PC või teise operatsioonisüsteemi. 82 00:03:50,800 --> 00:03:53,930 Me kõik võime joosta virtuaalne masin. 83 00:03:53,930 --> 00:03:58,800 Ja nii on instruktsioone manual.cs50.net/appliance. 84 00:03:58,800 --> 00:04:02,740 Ja kui te lähete, et link ja järgige juhiseid, 85 00:04:02,740 --> 00:04:07,820 siis loodetavasti on sul võimalik paigaldada seade. 86 00:04:07,820 --> 00:04:11,390 >> Nii et esimene, peate installima rakenduse 87 00:04:11,390 --> 00:04:13,760 tegeliku kohaldamise suutma joosta virtuaalne masin. 88 00:04:13,760 --> 00:04:15,270 Ja siis lae aparaat. 89 00:04:15,270 --> 00:04:18,050 Aga samas, on instruktsioone 90 00:04:18,050 --> 00:04:21,459 manual.cs50.net/appliance. 91 00:04:21,459 --> 00:04:26,040 Nii et ma olen juba alla laadinud minu aparaat, mul on paigaldatud 92 00:04:26,040 --> 00:04:28,060 seda VMware Fusion. 93 00:04:28,060 --> 00:04:31,250 Ja nii kui ma alla aparaat, ma läksin Fail. 94 00:04:31,250 --> 00:04:34,690 Läksin Ava ja siis leidsin, kus ma 95 00:04:34,690 --> 00:04:37,550 salvestatud CS50 Appliance. 96 00:04:37,550 --> 00:04:39,310 Ja sealt, jooksin siit. 97 00:04:39,310 --> 00:04:44,520 Aga ma pean ta üles juba siin, niiet võta lähemalt. 98 00:04:44,520 --> 00:04:44,850 >> Hea küll. 99 00:04:44,850 --> 00:04:46,770 Nii et nüüd oleme sees CS50 Appliance. 100 00:04:46,770 --> 00:04:47,890 Ma tegin seda täisekraanil. 101 00:04:47,890 --> 00:04:51,130 Saate valida, mida teha, et kui soovite või lihtsalt seda 102 00:04:51,130 --> 00:04:53,480 väiksem aken töölaual. 103 00:04:53,480 --> 00:04:57,170 Siin on meil lihtsalt töölaual 104 00:04:57,170 --> 00:04:58,220 Kodu ja prügikast. 105 00:04:58,220 --> 00:05:05,070 Aga kui te lähete Menüü ja seejärel programmeerimine, siis näed 106 00:05:05,070 --> 00:05:07,570 et meil on midagi, mida nimetatakse Terminal. 107 00:05:07,570 --> 00:05:12,340 Ja nii siin, me saame liikuda ümber meie arvuti. 108 00:05:12,340 --> 00:05:13,360 Me võime kirjutada koodi. 109 00:05:13,360 --> 00:05:17,240 Aga tegelikult me ​​kasutame programmi nimega gedit või "g 110 00:05:17,240 --> 00:05:20,050 muuta, "kumb see on. 111 00:05:20,050 --> 00:05:21,680 Nii et me kasutame, et üks kirjutada koodi. 112 00:05:21,680 --> 00:05:24,850 Nii et teil on need kaks vahendeid, mis teid kasutades peamiselt 113 00:05:24,850 --> 00:05:27,590 kirjutada koodi. 114 00:05:27,590 --> 00:05:31,240 Siis lisaks, see on lihtsalt nagu tavaline arvuti. 115 00:05:31,240 --> 00:05:32,890 Meil on brauseris. 116 00:05:32,890 --> 00:05:34,400 Valisime Google Chrome'i. 117 00:05:34,400 --> 00:05:38,720 Mida ma olen teinud, on mul loodud Dropbox sisaldama kõiki 118 00:05:38,720 --> 00:05:39,340 dokumentide. 119 00:05:39,340 --> 00:05:41,760 Ja nii see on midagi, mis on väga soovitatav. 120 00:05:41,760 --> 00:05:44,900 Dropbox kasutab pilve sünkroniseerimine ja nii kui - 121 00:05:44,900 --> 00:05:47,250 nii näiteks midagi juhuslikult - Loodetavasti mitte - 122 00:05:47,250 --> 00:05:50,100 juhtub teie aparaat, siis saad kõik olema 123 00:05:50,100 --> 00:05:51,350 sünkroonitud pilve peal. 124 00:05:54,716 --> 00:05:55,180 >> Hea küll. 125 00:05:55,180 --> 00:05:59,500 Nii et need on taotlused, mis teid kasutades sisse 126 00:05:59,500 --> 00:06:02,900 CS50 Appliance. 127 00:06:02,900 --> 00:06:05,750 Nüüd liikumiseks käsurealt. 128 00:06:05,750 --> 00:06:10,150 Terminali saab tegelikult toimida selline tee tegelikult 129 00:06:10,150 --> 00:06:12,040 Tippige käsud - 130 00:06:12,040 --> 00:06:13,650 meeldib, kui sa oled Mac Finder. 131 00:06:13,650 --> 00:06:17,010 Või kui sul on Windows, ma usun, et on "uurida minu 132 00:06:17,010 --> 00:06:19,070 arvuti "või midagi sellist. 133 00:06:19,070 --> 00:06:23,160 Nii et kui me minna tagasi seadme, olgem avada 134 00:06:23,160 --> 00:06:25,710 terminaliakent. 135 00:06:25,710 --> 00:06:27,720 Nii et see on see kiire, jharvard @ aparaat. 136 00:06:27,720 --> 00:06:32,950 Teeme lihtsalt seda suuremaks. 137 00:06:32,950 --> 00:06:33,790 Okei. 138 00:06:33,790 --> 00:06:40,400 Nii et kui me tippige käsk ls, siis kus on loetletud kõik 139 00:06:40,400 --> 00:06:45,440 failid meie arvuti, meie praeguses kataloogis. 140 00:06:45,440 --> 00:06:46,720 Raamatud on nagu kaustad. 141 00:06:46,720 --> 00:06:49,310 Me kasutame neid mõisteid sünonüümidena. 142 00:06:49,310 --> 00:06:52,480 Olgu, oleme loetletud failid 143 00:06:52,480 --> 00:06:53,650 mis on selle kataloogi. 144 00:06:53,650 --> 00:06:58,340 Nüüd, kui me tahame pääseda, ütleme, meie Dropbox, siis saame 145 00:06:58,340 --> 00:06:59,320 muuta katalooge. 146 00:06:59,320 --> 00:07:04,230 Nii CD ja seejärel Dropbox. 147 00:07:04,230 --> 00:07:10,860 Me LS jälle, ja siis me näeme nimekirja faile, mis asuvad 148 00:07:10,860 --> 00:07:11,790 Selle kausta. 149 00:07:11,790 --> 00:07:15,590 See on analoogne mind lähen koju, siis klõpsake 150 00:07:15,590 --> 00:07:19,250 Dropbox, ja siis näeme nimekiri siin. 151 00:07:19,250 --> 00:07:20,090 >> Hea küll. 152 00:07:20,090 --> 00:07:22,220 Ütleme - 153 00:07:22,220 --> 00:07:25,640 kui te ei kavatse teha oma pset 1, teeme 154 00:07:25,640 --> 00:07:27,390 kataloog nimega pset1. 155 00:07:27,390 --> 00:07:32,170 Nii et me oleme Dropbox just nüüd, kui näete seda 156 00:07:32,170 --> 00:07:32,700 küsi siin. 157 00:07:32,700 --> 00:07:34,320 Nii et teeme kataloog. 158 00:07:34,320 --> 00:07:37,940 Nii mkdir, olgem kutsuvad seda pset1. 159 00:07:40,470 --> 00:07:43,500 Ja nüüd, kui me LS uuesti, siis me 160 00:07:43,500 --> 00:07:45,390 näha, et pset1 ilmub. 161 00:07:45,390 --> 00:07:49,470 Ja kui me tahame minna sees pset1, siis saame sisse minna 162 00:07:49,470 --> 00:07:54,230 selle kausta käsuga cd. 163 00:07:54,230 --> 00:07:54,610 Hea küll. 164 00:07:54,610 --> 00:07:59,040 Nii et taas, vaatame, kas me - 165 00:07:59,040 --> 00:08:01,620 öelda, teeme seda muul viisil. 166 00:08:01,620 --> 00:08:03,550 See on analoogne lihtsalt öeldes: "Loo 167 00:08:03,550 --> 00:08:05,330 Uus kaust, pset1. 168 00:08:05,330 --> 00:08:08,530 Aga kui sa leiad, siis saad suheldes 169 00:08:08,530 --> 00:08:09,310 terminal palju. 170 00:08:09,310 --> 00:08:11,900 Nii et mõnikord on see palju lihtsam, kadunud kiiremini lihtsalt 171 00:08:11,900 --> 00:08:15,900 töötada terminali teha neid erinevaid asju. 172 00:08:15,900 --> 00:08:16,140 Okei. 173 00:08:16,140 --> 00:08:18,150 Ja siis need teised käsud. 174 00:08:18,150 --> 00:08:20,410 Seal rm faili eemaldamiseks. 175 00:08:20,410 --> 00:08:22,690 Nii et sa lihtsalt kirjuta rm ja siis nimi 176 00:08:22,690 --> 00:08:23,800 esitada kustutada. 177 00:08:23,800 --> 00:08:25,810 Me läheme sisse mõned näited sellest hiljem. 178 00:08:25,810 --> 00:08:28,840 Ja siis on meil midagi, mida nimetatakse mees käsk, mis 179 00:08:28,840 --> 00:08:31,850 avab käsiraamatu tüüpi funktsioon. 180 00:08:31,850 --> 00:08:34,419 Jällegi, ma toon välja tegelik näide sellest hiljem. 181 00:08:37,360 --> 00:08:39,900 >> Nii et üks väga oluline vahend, nagu ma mainisin lühidalt 182 00:08:39,900 --> 00:08:41,280 Enne, on stiili. 183 00:08:41,280 --> 00:08:43,650 Nii et sisuliselt stiil on pistmist loetavust. 184 00:08:43,650 --> 00:08:46,460 Kas keegi oskab lugeda, jälgida ja 185 00:08:46,460 --> 00:08:47,670 mõista oma koodi? 186 00:08:47,670 --> 00:08:50,490 See on eriti oluline, et te, ise, tegelikult. 187 00:08:50,490 --> 00:08:53,060 Kui sa oled viibib kuni hilja kodeerimine, ja siis hiljem sa 188 00:08:53,060 --> 00:08:55,940 mine tagasi ja sa oled nagu, mida see muutuja keskmine? 189 00:08:55,940 --> 00:08:58,400 Ütle, te töötate grupis projekti kellegagi, ja te 190 00:08:58,400 --> 00:09:00,130 nii on vaadata üksteise koodi. 191 00:09:00,130 --> 00:09:03,380 See on tõesti oluline, et sa nime oma muutujad korrektselt 192 00:09:03,380 --> 00:09:06,240 ja ilusam välja näeks, sest see teeb kõik vahe. 193 00:09:06,240 --> 00:09:08,270 Aga siis ennekõike oleme muidugi kohe. 194 00:09:08,270 --> 00:09:10,660 Nii huvi CS50 ja eriti oma 195 00:09:10,660 --> 00:09:13,010 õpetamise stipendiaatide ja sorteerijad, kes vaatab oma 196 00:09:13,010 --> 00:09:15,455 psets, palun, palun kasuta õige stiil. 197 00:09:15,455 --> 00:09:18,980 Ja teie õpetamise stipendiaatide on üsna õnnelik. 198 00:09:18,980 --> 00:09:22,890 Nii et taas, stiil hõlmab taandrida asju õigesti, 199 00:09:22,890 --> 00:09:26,380 eriti kasutades oma traksid ja taandrida need. 200 00:09:26,380 --> 00:09:29,910 Nimetades muutujate midagi, mis on mõistlik. 201 00:09:29,910 --> 00:09:32,330 Praegu me järgime konventsiooni kui teil on 202 00:09:32,330 --> 00:09:35,240 mitu sõna oma muutuja nimi, siis 203 00:09:35,240 --> 00:09:37,480 ühendada neid rõhutada, nagu näete, et 204 00:09:37,480 --> 00:09:39,660 nimetada näiteks seal. 205 00:09:39,660 --> 00:09:41,740 >> Ja lõpuks midagi, mida nimetatakse Magic Numbers. 206 00:09:41,740 --> 00:09:48,030 Sisuliselt kui sa loed läbi kood ja öelda 207 00:09:48,030 --> 00:09:51,570 teil on muutuja - 208 00:09:51,570 --> 00:09:56,680 Ütle, teil ei ole erinev, kuid lihtsalt öelda okei, kuni 209 00:09:56,680 --> 00:09:58,600 ja selline on alla 10. 210 00:09:58,600 --> 00:10:00,210 Siis teie teehöövel on minemas hästi, oota, 211 00:10:00,210 --> 00:10:01,320 Kust et 10 tulevad? 212 00:10:01,320 --> 00:10:05,040 Nii et tõesti selgitades ise küsimusi palju. 213 00:10:05,040 --> 00:10:06,740 Et aidata teil selgitada ise on kommentaare. 214 00:10:06,740 --> 00:10:09,850 Kommentaarid on ilmselt kõige olulisem asi, mida lisada 215 00:10:09,850 --> 00:10:11,460 oma programmides. 216 00:10:11,460 --> 00:10:15,440 Ja see aitab teil mitte ainult tegelikult seletada - 217 00:10:15,440 --> 00:10:17,220 see aitab teil selline selgitada oma argumentatsioon, kui 218 00:10:17,220 --> 00:10:17,870 sa lähed mööda. 219 00:10:17,870 --> 00:10:20,480 Ja kui sa seda teed, jällegi, see saab olema palju lihtsam 220 00:10:20,480 --> 00:10:23,370 minna tagasi oma koodi ja omamoodi aru, mida sa 221 00:10:23,370 --> 00:10:24,080 seal teed. 222 00:10:24,080 --> 00:10:26,410 Jällegi, teehöövlid tõesti kommenteerida. 223 00:10:26,410 --> 00:10:28,940 Nii et sa kommenteerida hästi ja - 224 00:10:28,940 --> 00:10:29,970 selline nagu vaba punkti. 225 00:10:29,970 --> 00:10:32,340 Ja kes ei tahaks tasuta punkte? 226 00:10:32,340 --> 00:10:33,910 Te saate ka mitmerealine kommentaare. 227 00:10:33,910 --> 00:10:36,630 Ja nii ma ka mingi mall siin. 228 00:10:36,630 --> 00:10:38,580 Sisuliselt tavaliselt neid kasutatakse ülaosas oma 229 00:10:38,580 --> 00:10:40,950 programmi omamoodi seletada üldiselt mida 230 00:10:40,950 --> 00:10:43,220 sinu probleem komplekt teeb. 231 00:10:43,220 --> 00:10:46,130 Lisage oma nimi, kuupäev, jne. 232 00:10:46,130 --> 00:10:49,030 Ja nii, nagu ma ütlesin see mitmeliiniline kommentaar 233 00:10:49,030 --> 00:10:56,260 manual.cs50.net/style_guide on rohkem näpunäiteid ja nõuandeid 234 00:10:56,260 --> 00:10:59,310 stiili ring, jne. 235 00:10:59,310 --> 00:10:59,740 >> Okei. 236 00:10:59,740 --> 00:11:03,600 Nüüd, et ma olen teile rääkinud veidi stiili, vaatame 237 00:11:03,600 --> 00:11:07,390 Seda tegevust. 238 00:11:07,390 --> 00:11:07,770 Hea küll. 239 00:11:07,770 --> 00:11:11,850 Nii et siin, Tommy on kirjutanud meile vaimustavalt kohutav 240 00:11:11,850 --> 00:11:15,440 näide stiilis programmi. 241 00:11:15,440 --> 00:11:17,170 Nii et näete siin, eks. 242 00:11:17,170 --> 00:11:18,280 See on tegelikult kõik korras. 243 00:11:18,280 --> 00:11:22,060 Näed mitmeliiniline kommentaar siia. 244 00:11:22,060 --> 00:11:25,120 Sa alustad seda kaldkriipsuga ja siis kaks tärni. 245 00:11:25,120 --> 00:11:28,580 Sa jätkama, viies tärne mööda joont 246 00:11:28,580 --> 00:11:30,540 ja siis selle lõppu tärn ja kaldkriips. 247 00:11:30,540 --> 00:11:30,810 Hea küll. 248 00:11:30,810 --> 00:11:32,800 Nii et see on hea. 249 00:11:32,800 --> 00:11:33,760 See siin pole midagi. 250 00:11:33,760 --> 00:11:35,110 Ta sealhulgas tema raamatukogudes. 251 00:11:35,110 --> 00:11:38,790 Aga siis siin ta on kommentaarid toestavad mitu liini. 252 00:11:38,790 --> 00:11:40,390 Seal on palju asju valesti seda. 253 00:11:40,390 --> 00:11:44,770 Kommentaarid toestavad mitu rida, siin ta on, kasutades 254 00:11:44,770 --> 00:11:47,230 süntaks lihtsalt üherealised kommentaarid. 255 00:11:47,230 --> 00:11:53,140 Ta on ka Melding kõik samasse kommentaari. 256 00:11:53,140 --> 00:11:54,715 Nii et me tahame vältida. 257 00:11:57,710 --> 00:12:03,010 Siis siin me näeme, et need traksid, näiteks, on kõik 258 00:12:03,010 --> 00:12:03,730 pool. 259 00:12:03,730 --> 00:12:06,950 Taandus, on vale. 260 00:12:06,950 --> 00:12:09,460 See ei ole tegelikult näitan sulle lõplikult kus midagi 261 00:12:09,460 --> 00:12:12,850 algab ja teine ​​asi lõpeb. 262 00:12:12,850 --> 00:12:16,510 Siis samuti, näeme, et tal on defineeritud muutuja i = 5 siin. 263 00:12:16,510 --> 00:12:18,620 Aga siis see nelja väljub kuhugi, ja seal ei ole 264 00:12:18,620 --> 00:12:21,520 kommentaar tõesti selgitada, kust see pärineb. 265 00:12:21,520 --> 00:12:22,130 >> Okei. 266 00:12:22,130 --> 00:12:28,760 Nüüd vaatame midagi, mis on tegelikult täpselt seesama 267 00:12:28,760 --> 00:12:30,250 kood, välja arvatud parem stiil. 268 00:12:30,250 --> 00:12:32,485 Nii et jällegi, see on hea stiil näiteks 269 00:12:32,485 --> 00:12:33,735 mitmeliiniline näiteks. 270 00:12:38,400 --> 00:12:39,735 Ja siis siin see on üsna puhas. 271 00:12:39,735 --> 00:12:43,500 Me näeme, et ta hakkab, kui avaldus siin, siseneb uus 272 00:12:43,500 --> 00:12:46,400 rida, on avatud traksidega. 273 00:12:46,400 --> 00:12:48,740 Siis ta taandus. 274 00:12:48,740 --> 00:12:50,970 Ta hoiab seda taandus - 275 00:12:50,970 --> 00:12:54,680 ta hoiab selle näidustuse ühtne kogu 276 00:12:54,680 --> 00:12:59,120 programmi ja tõesti näitab, kui üks plokk kood käivitub, kui 277 00:12:59,120 --> 00:13:00,780 üks plokk kood lõppeb. 278 00:13:00,780 --> 00:13:04,410 See võib tunduda veidi nitpicky meie poolt alustada 279 00:13:04,410 --> 00:13:06,370 koos, kuid näete kui olete kirjalikult oma koodi. 280 00:13:06,370 --> 00:13:09,400 See on tõesti kasulik, et oleks võimalik eristada seda. 281 00:13:09,400 --> 00:13:12,200 Ja jälle oma teehöövlid tõesti meeldib. 282 00:13:12,200 --> 00:13:14,360 Ja nii näed, selle asemel, et lihtsalt paneb number 283 00:13:14,360 --> 00:13:17,510 seal ta tegelikult nimega muutuja iteratsiooni. 284 00:13:17,510 --> 00:13:20,160 Ja nii me tegelikult ei vaatab seda koodi praegu 285 00:13:20,160 --> 00:13:22,450 aga lihtsalt selline nägemine näide 286 00:13:22,450 --> 00:13:23,780 hea versus halb stiil. 287 00:13:23,780 --> 00:13:29,610 Ja nii, kui te vaatate neid kõrvuti siin, siis oleks 288 00:13:29,610 --> 00:13:32,910 kindlasti eelistan lugeda üks paremal. 289 00:13:39,230 --> 00:13:40,100 >> Hea küll. 290 00:13:40,100 --> 00:13:42,710 Nii et viimane asi enne kui me sukelduda tõelise liha 291 00:13:42,710 --> 00:13:46,260 pset on, kuidas kompileerida ja käivitada oma koodi. 292 00:13:46,260 --> 00:13:50,320 Ja nii sisuliselt kui kirjutad C, et tegelikult ei ole 293 00:13:50,320 --> 00:13:52,480 tõlgitud reaalne masin koodi, nullita ja 294 00:13:52,480 --> 00:13:56,000 need, mis masin võib tegelikult lugeda ja tõlgendada. 295 00:13:56,000 --> 00:13:57,170 Nii et meil on midagi - 296 00:13:57,170 --> 00:13:59,340 Rõkkama on kompilaator, et me kasutame C. 297 00:13:59,340 --> 00:14:00,270 On palju koostajad. 298 00:14:00,270 --> 00:14:02,480 Aga CS50, me kasutame rõkkama. 299 00:14:02,480 --> 00:14:05,480 Ja nii rõkkama sisuliselt tähendab C-st kuni masin 300 00:14:05,480 --> 00:14:07,380 koodi teile. 301 00:14:07,380 --> 00:14:10,170 Nii vaatame näiteks - sukelduvad Appliance siin. 302 00:14:14,550 --> 00:14:15,030 Hea küll. 303 00:14:15,030 --> 00:14:16,670 Nii et praegu me oleme meie kataloogi. 304 00:14:16,670 --> 00:14:18,680 Me tegelikult ei ole, kui mõni kood on. 305 00:14:18,680 --> 00:14:24,740 Nii Muutkem oma kataloogi Dropbox/walkthrough1, kus 306 00:14:24,740 --> 00:14:25,930 Olen salvestanud mõned koodi. 307 00:14:25,930 --> 00:14:29,340 Nii et kui me vajuta ls, siis näeme, et mul on 308 00:14:29,340 --> 00:14:31,230 paar pilti siia. 309 00:14:31,230 --> 00:14:31,700 >> Hea küll. 310 00:14:31,700 --> 00:14:35,280 Nii et ma olen juba kirjutanud hello.c, niiet kompileerida 311 00:14:35,280 --> 00:14:36,670 ja siis vaata mida ta teeb. 312 00:14:36,670 --> 00:14:43,150 Nii põhi kompileerimise käsk oleks rõkkama siis hello.c, 313 00:14:43,150 --> 00:14:46,910 sisuliselt öeldes okei, koostada hello.c minu jaoks. 314 00:14:46,910 --> 00:14:50,550 Ma vajutan Enter, tundub, et on läinud õige. 315 00:14:50,550 --> 00:14:52,590 Olgem kliki LS uuesti. 316 00:14:52,590 --> 00:14:55,230 See a.out fail on nüüd näidanud. 317 00:14:55,230 --> 00:14:57,430 Ja nii a.out on käivitatava faili. 318 00:14:57,430 --> 00:15:05,330 Nii kestab see, te teete. / A.out. 319 00:15:05,330 --> 00:15:07,650 Ja nii me näeme, et see hello.c programmi ilmselt 320 00:15:07,650 --> 00:15:10,400 prindib välja Tere viis korda. 321 00:15:10,400 --> 00:15:10,990 Hea küll. 322 00:15:10,990 --> 00:15:14,250 Aga ütleme, et me ei taha kasutada nimetust a.out. 323 00:15:18,140 --> 00:15:21,080 Näiteks me tahame joosta tere programmi, sest see 324 00:15:21,080 --> 00:15:22,540 lihtsam aru saada. 325 00:15:22,540 --> 00:15:26,590 Ütleme rõkkama hello.c ja siis sisuliselt pead 326 00:15:26,590 --> 00:15:29,030 läbida mõned asjad nimega lipud. 327 00:15:29,030 --> 00:15:31,600 Nii ütles okei, noh, ma tahan selle nime midagi muud. 328 00:15:31,600 --> 00:15:33,900 Võite ka läbida palju erinevaid lippe, 329 00:15:33,900 --> 00:15:34,620 mis sa näed. 330 00:15:34,620 --> 00:15:37,510 Nii lipu nimetades programmi midagi, mida sa 331 00:15:37,510 --> 00:15:39,780 tahan on-o. 332 00:15:39,780 --> 00:15:42,470 After-o, sa kirjutad programmi nime. 333 00:15:42,470 --> 00:15:44,090 Ütleme nii, et tere. 334 00:15:44,090 --> 00:15:49,050 >> Nüüd me näeme, et meil tegelikult on tere käivitatava faili. 335 00:15:49,050 --> 00:15:54,020 Nii saame kasutada seda, ja see teeb sama asja nagu enne. 336 00:15:54,020 --> 00:15:56,210 Nii et nüüd, kui meil tere, saame ka eemaldada, sest 337 00:15:56,210 --> 00:15:57,450 Näiteks meie a.out. 338 00:15:57,450 --> 00:16:03,880 Nii rm eemaldada, a.out, oma terminal küsib, pidage nõu 339 00:16:03,880 --> 00:16:05,470 Teile kinnitada, kas sa tõesti tahad 340 00:16:05,470 --> 00:16:06,370 kustutada või mitte. 341 00:16:06,370 --> 00:16:10,000 Me ütleme y jah. 342 00:16:10,000 --> 00:16:10,750 Ja seal me läheme. 343 00:16:10,750 --> 00:16:12,220 A.out on läinud. 344 00:16:12,220 --> 00:16:12,620 Hea küll. 345 00:16:12,620 --> 00:16:14,810 Aga mõnikord see muutub segadust meeles pidada kõiki 346 00:16:14,810 --> 00:16:17,160 lipud, et me peame hulka ja kirjuta välja rõkkama. 347 00:16:17,160 --> 00:16:20,410 Ja nagu me näeme, kui me kasutame keerulisem programmid, paneme 348 00:16:20,410 --> 00:16:22,450 olla ka eri raamatukogudes. 349 00:16:22,450 --> 00:16:27,230 Ja nii meie käske rõkkama saavad enam ja enam. 350 00:16:27,230 --> 00:16:30,660 Nii et lisada CS50 Appliance on käsk make. 351 00:16:30,660 --> 00:16:33,880 Nii et sa lihtsalt kirjuta teha tere. 352 00:16:33,880 --> 00:16:35,130 Oih. 353 00:16:36,860 --> 00:16:38,400 Me oleme juba teinud selle käivitatava faili. 354 00:16:38,400 --> 00:16:39,650 Nii et lubage mul lihtsalt eemaldada seda kiiresti. 355 00:16:42,260 --> 00:16:44,830 Vaatame nüüd kirjuta teha tere. 356 00:16:44,830 --> 00:16:49,470 Ja sa näed seda joont siin, et sisuliselt öeldes teha 357 00:16:49,470 --> 00:16:54,760 tere hõlmab kõiki neid käske, mis 358 00:16:54,760 --> 00:16:55,580 minna seda sinu jaoks. 359 00:16:55,580 --> 00:16:58,080 >> Nii et lisada CS50 Appliance on teha faili. 360 00:16:58,080 --> 00:17:02,300 Nii lihtsalt, kui sul on fail name.c, siis kõik, mida teha 361 00:17:02,300 --> 00:17:03,680 on öelda teha faili nimi. 362 00:17:03,680 --> 00:17:04,800 Ja siis pead käivitatava 363 00:17:04,800 --> 00:17:06,200 Sellise nimega fail on. 364 00:17:06,200 --> 00:17:06,675 Jah? 365 00:17:06,675 --> 00:17:09,525 >> SPEAKER 1: minu arvuti asemel rõkkama ta ütleb GCC. 366 00:17:09,525 --> 00:17:11,910 Kas see on nagu - 367 00:17:11,910 --> 00:17:12,109 ZAMYLA CHAN: Jah. 368 00:17:12,109 --> 00:17:15,700 Nii et teie arvuti võib öelda GCC erinevalt rõkkama, sest 369 00:17:15,700 --> 00:17:18,180 GCC on teist tüüpi kompilaator. 370 00:17:18,180 --> 00:17:20,460 Kui oled CS50 Appliance küll, siis 371 00:17:20,460 --> 00:17:21,810 tuleks kasutada rõkkama. 372 00:17:24,619 --> 00:17:27,880 Kui see ei ole, siis äkki tule räägi minuga hiljem või postitada 373 00:17:27,880 --> 00:17:29,595 aasta CS50 Arutle ja saame sorteerida, et viia. 374 00:17:34,510 --> 00:17:35,710 >> Hea küll. 375 00:17:35,710 --> 00:17:39,250 Nüüd, et meil on selline põhivahenditeks maha, siis me 376 00:17:39,250 --> 00:17:43,060 saab sukelduda Mario. 377 00:17:43,060 --> 00:17:43,550 Okei. 378 00:17:43,550 --> 00:17:47,360 Nii et Mario on programm, kus sisuliselt me ​​ei kavatse olla 379 00:17:47,360 --> 00:17:50,800 muutes oma liiki primitiivne versioon Mario 380 00:17:50,800 --> 00:17:51,410 mängu taustal. 381 00:17:51,410 --> 00:17:54,790 Tead, Mario on tavaliselt toru ja 382 00:17:54,790 --> 00:17:55,670 puu ja mõned klotsid. 383 00:17:55,670 --> 00:17:59,390 Ja siis seal on mingi pool püramiid. 384 00:17:59,390 --> 00:18:02,100 Nii et me lihtsalt saab olema keskendunud, et pool püramiidi, 385 00:18:02,100 --> 00:18:05,350 tegemise koodi nii, et see prindib välja hashes lahkete 386 00:18:05,350 --> 00:18:07,500 plokkide selles formaadis. 387 00:18:07,500 --> 00:18:10,800 Mis juhtub on kasutaja sisend teatud 388 00:18:10,800 --> 00:18:13,130 kõrgus püramiid ja siis saate printida, et välja 389 00:18:13,130 --> 00:18:17,410 nii et all vasakul räsi - 390 00:18:17,410 --> 00:18:21,270 nii väga alt siin - et üks on viia 391 00:18:21,270 --> 00:18:23,820 koos alumises vasakus nurgas oma terminal. 392 00:18:26,720 --> 00:18:27,360 Okei. 393 00:18:27,360 --> 00:18:29,860 >> Nii et esimene asi, mida sa pead - 394 00:18:29,860 --> 00:18:33,120 esimene väike mini probleem, et me peame tegelema on see, kuidas 395 00:18:33,120 --> 00:18:34,640 saada kasutaja sisend. 396 00:18:34,640 --> 00:18:40,020 Nii et me peame tegelema sellega, mida kasutaja sisendite ja seejärel 397 00:18:40,020 --> 00:18:41,060 liiki toodangu asju seal. 398 00:18:41,060 --> 00:18:47,630 Nii et vaatame, vaatame faili nimega apples.c et ma kirjutasin 399 00:18:47,630 --> 00:18:52,670 mis tegeleb sisendid ja väljundid. 400 00:18:52,670 --> 00:18:53,240 Okei. 401 00:18:53,240 --> 00:18:55,970 Nii et siin üleval, olen lisanud mõned raamatukogud 402 00:18:55,970 --> 00:18:56,540 et ma vajan. 403 00:18:56,540 --> 00:19:00,700 Tõesti olulisem siin on stdio (standard I / O). Mis tegeleb 404 00:19:00,700 --> 00:19:02,760 standardsete sisendid ja väljundid, sest me ei kavatse 405 00:19:02,760 --> 00:19:04,600 käsitleme kasutaja sisendit. 406 00:19:04,600 --> 00:19:04,960 Hea küll. 407 00:19:04,960 --> 00:19:06,660 Siis ma hakkan minu peamine ülesanne. 408 00:19:06,660 --> 00:19:11,310 Ja siis ma paluda kasutajal okei, kui palju õunad sul on? 409 00:19:11,310 --> 00:19:13,650 Siis siin, mida see joon teeb - 410 00:19:13,650 --> 00:19:18,420 Ma määrata muutuja i väärtusega GetInt. 411 00:19:18,420 --> 00:19:22,890 >> Nii GetInt on funktsioon, mis on lisatud stdio. 412 00:19:22,890 --> 00:19:26,090 Ja nii sisuliselt, et hakkab tegelema selle eest ise. 413 00:19:26,090 --> 00:19:27,900 See küsib kasutajalt int. 414 00:19:27,900 --> 00:19:30,600 Mis iganes nad tagasi, et kantakse 415 00:19:30,600 --> 00:19:32,020 muutuja i. 416 00:19:32,020 --> 00:19:35,620 Ja nii siis see on lihtsalt väike programm, mis vähendab 417 00:19:35,620 --> 00:19:39,160 I väärtus 1 ja seejärel prindib välja uue väärtuse. 418 00:19:39,160 --> 00:19:42,420 Tore asi gedit on tegelikult, et on olemas mini 419 00:19:42,420 --> 00:19:43,720 terminali õigus siin. 420 00:19:43,720 --> 00:19:46,670 Nii et selle asemel, et minna edasi ja tagasi vahel 421 00:19:46,670 --> 00:19:48,120 gedit ja terminal, saab tegelikult 422 00:19:48,120 --> 00:19:49,100 lihtsalt kasutada seda siit. 423 00:19:49,100 --> 00:19:52,070 Nii et olgem kõigepealt saada õigesse kataloogi. 424 00:19:52,070 --> 00:19:54,230 Nii Muutkem oma kataloogid 425 00:19:54,230 --> 00:19:55,480 Dropbox/walkthrough1. 426 00:19:57,160 --> 00:19:57,840 Hea küll. 427 00:19:57,840 --> 00:20:03,400 Nii et nüüd teeme õunad, koostab ta meile. 428 00:20:03,400 --> 00:20:06,640 Ja nüüd lähme jooksma õunad. 429 00:20:06,640 --> 00:20:08,420 Mitu õuna meil on? 430 00:20:08,420 --> 00:20:09,630 Ma ütlen mul on 3. 431 00:20:09,630 --> 00:20:12,060 Ja ta ütleb "mwahaha ma lähen süüa üks neist" ja ütleb 432 00:20:12,060 --> 00:20:13,610 "Sul on nüüd 2 õuna". 433 00:20:13,610 --> 00:20:14,220 >> Hea küll. 434 00:20:14,220 --> 00:20:16,390 Nii et olgem joosta, et jälle. 435 00:20:16,390 --> 00:20:19,040 Ja oletame, et mul on 1 õun. 436 00:20:19,040 --> 00:20:19,940 Nüüd on mul 0 õunad. 437 00:20:19,940 --> 00:20:20,180 Okei. 438 00:20:20,180 --> 00:20:22,460 Nii et see programm tundub tööta. 439 00:20:22,460 --> 00:20:25,070 Me sisestada numbrit, see vähendab see 1. ja seejärel 440 00:20:25,070 --> 00:20:27,290 prindib need välja. 441 00:20:27,290 --> 00:20:31,950 Aga kui näiteks mul on -1 õunad? 442 00:20:31,950 --> 00:20:33,440 See ei ole päris loogiline. 443 00:20:33,440 --> 00:20:37,430 Aga see on ikka täisarv, nii et programm tunnistab ta. 444 00:20:37,430 --> 00:20:41,090 Ja nii see läheb teil veelgi negatiivse numbriga. 445 00:20:41,090 --> 00:20:44,700 Nii et see on üks õppetund meile, et kuigi GetInt 446 00:20:44,700 --> 00:20:46,700 funktsioon ja muude seotud ones nagu 447 00:20:46,700 --> 00:20:48,260 GetFloat või getString - 448 00:20:48,260 --> 00:20:51,490 kuigi need ei vii meid õiges andmete tüüp, 449 00:20:51,490 --> 00:20:55,750 Näiteks, kui ma olin just ütles [TÜPISEERIMINE] 450 00:20:55,750 --> 00:20:57,380 siis oleks mulle uuesti proovida. 451 00:20:57,380 --> 00:21:01,860 Nii et see hakkab tegelema iganes andmed sisestada oma panuse 452 00:21:01,860 --> 00:21:04,650 on aga tegelikult ei vaadata, noh, see on tegelikult tüüpi 453 00:21:04,650 --> 00:21:07,820 väärtus, mida ma tahan? 454 00:21:07,820 --> 00:21:12,370 Nii siis üks osa Mario on, et kasutaja peab sisestama 455 00:21:12,370 --> 00:21:15,400 number, mis tähistab kõrgus poole püramiid 456 00:21:15,400 --> 00:21:16,360 et sa üritad. 457 00:21:16,360 --> 00:21:21,000 Ja nii siis kui me sundides selle kasutaja jaoks kõrgus, siis 458 00:21:21,000 --> 00:21:25,480 seal peaks olema kaks bounds selle. 459 00:21:25,480 --> 00:21:28,040 Eks? 460 00:21:28,040 --> 00:21:31,150 Aastal spec, see ütleb, et see ei tohiks olla rohkem kui 23 461 00:21:31,150 --> 00:21:32,630 märki, sest see on selline standard 462 00:21:32,630 --> 00:21:34,450 kõrgus terminal. 463 00:21:34,450 --> 00:21:37,590 Aga siis, mida muude köidetud, ehk alampiir, võib 464 00:21:37,590 --> 00:21:38,840 tahame kaasata? 465 00:21:41,180 --> 00:21:44,350 >> Kui me tegelikult joonistus püramiid, selline mõtlemine tagasi 466 00:21:44,350 --> 00:21:48,460 kuidas kõrge püramiid saab, võib see kunagi olla madalam kui 467 00:21:48,460 --> 00:21:49,132 teatud arvu? 468 00:21:49,132 --> 00:21:50,490 SPEAKER 2: suurem kui kolm. 469 00:21:50,490 --> 00:21:50,560 ZAMYLA CHAN: Hmm? 470 00:21:50,560 --> 00:21:52,630 SPEAKER 2: suurem kui kolm. 471 00:21:52,630 --> 00:21:54,850 ZAMYLA CHAN: See on hea punkt. 472 00:21:54,850 --> 00:21:57,860 See võiks olla - 473 00:21:57,860 --> 00:22:00,700 tahetakse piirata seda vaid kolme taseme püramiidi. 474 00:22:00,700 --> 00:22:02,120 Aga mõtleme - 475 00:22:02,120 --> 00:22:06,510 ütleme nagu üks hash tabelit loeb püramiid liiga. 476 00:22:06,510 --> 00:22:09,031 Siis mida peaks meie tegelik alampiir olema? 477 00:22:12,260 --> 00:22:13,760 Mõeldes tagasi õunad, me ei taha 478 00:22:13,760 --> 00:22:15,020 negatiivne kõrgus püramiid. 479 00:22:15,020 --> 00:22:15,460 Eks? 480 00:22:15,460 --> 00:22:15,720 Okei. 481 00:22:15,720 --> 00:22:19,060 Nii et kui te küsite kasutaja sisend, siis pead 482 00:22:19,060 --> 00:22:21,980 sisaldada mõningaid viis tagada, et täisarv, mis 483 00:22:21,980 --> 00:22:24,970 nad pakuvad teile ei ole negatiivne, sest te ei saa 484 00:22:24,970 --> 00:22:28,180 juhtida negatiivset püramiidi. 485 00:22:28,180 --> 00:22:28,410 >> Okei. 486 00:22:28,410 --> 00:22:30,190 Nii et seal on paar võimalust seda teha. 487 00:22:30,190 --> 00:22:34,420 Sisuliselt, kui te küsite kasutaja sisend, tahad nõuda 488 00:22:34,420 --> 00:22:37,080 et nad pakuvad teile õige sisend. 489 00:22:37,080 --> 00:22:40,120 Nii et sa tahad nõuda, et nad pakuvad teile mitmeid 490 00:22:40,120 --> 00:22:46,630 et ei ole negatiivne, vaid ka alla 24. 491 00:22:46,630 --> 00:22:49,510 Nii et me tegeleme null kuni 23, viimane kaasa arvatud. 492 00:22:49,510 --> 00:22:50,070 Hea küll. 493 00:22:50,070 --> 00:22:52,830 Nii et me tahame pidevalt nõudma - 494 00:22:52,830 --> 00:22:55,720 kui nad ei ole andnud meile kehtiv täisarv, nad tahavad 495 00:22:55,720 --> 00:22:57,350 pidevalt nõuda ei. 496 00:22:57,350 --> 00:22:59,770 Anna kehtiv sisend. 497 00:22:59,770 --> 00:23:02,270 Anna kehtiv kõrgus. 498 00:23:02,270 --> 00:23:06,970 Nii meenutavad tagasi Scratch oli meil Korda kuni blokaad või 499 00:23:06,970 --> 00:23:08,950 Forever Kui blokeerida. 500 00:23:08,950 --> 00:23:12,345 Need on silmad, mis on väga sarnane samal ajal loop ja 501 00:23:12,345 --> 00:23:14,960 Kas Kuigi silmus, mis me võtame arvesse ainult korraks. 502 00:23:14,960 --> 00:23:19,790 Nii et kui silmus on põhiliselt tingimusel, et teil vaadata 503 00:23:19,790 --> 00:23:23,240 see on tõeväärtus, et paned sees on, nagu 504 00:23:23,240 --> 00:23:25,740 plokid Scratch koos nurkade alt. 505 00:23:25,740 --> 00:23:29,550 Seda läheb sulgudes on samas silmus. 506 00:23:29,550 --> 00:23:31,830 Nii et sa pead olema mingi tingimus seal. 507 00:23:31,830 --> 00:23:36,540 Ja kui me lihtsalt öeldud, et tingimus 508 00:23:36,540 --> 00:23:40,250 pistmist piire täisarv, mis oli töödeldud. 509 00:23:40,250 --> 00:23:44,040 Nii tingimus oleks midagi pistmist sellega, kas 510 00:23:44,040 --> 00:23:48,600 täisarv on asjakohastes piirides. 511 00:23:48,600 --> 00:23:49,410 >> Nii et samas silmus. 512 00:23:49,410 --> 00:23:52,580 Näiteks saate küsima täisarv ja seejärel 513 00:23:52,580 --> 00:23:56,070 pidevalt kontrollida, kui see sisend ei kehti. 514 00:23:56,070 --> 00:23:59,810 Näiteks hoida uuesti märku, hoida paludes 515 00:23:59,810 --> 00:24:01,600 kasutaja täisarv. 516 00:24:01,600 --> 00:24:03,780 Nii et võiks olla üks viis. 517 00:24:03,780 --> 00:24:06,240 Teine võimalus oleks teha kuigi silmus, mis on väga 518 00:24:06,240 --> 00:24:10,130 sarnane samas loop peale, mida teha, kui ei ole - 519 00:24:10,130 --> 00:24:12,600 saate liiki vaata mida süntaks - 520 00:24:12,600 --> 00:24:18,540 on see, et teha ja siis tegelik silmus keha esimesena. 521 00:24:18,540 --> 00:24:20,280 Siis on samas tingimused. 522 00:24:20,280 --> 00:24:22,060 Mida teha, kui silmad - 523 00:24:22,060 --> 00:24:25,470 Mis on need kasulikud on, et nad tegelikult täita 524 00:24:25,470 --> 00:24:29,130 koodi vähemalt üks kord ja seejärel kontrollida, kas tingimus on 525 00:24:29,130 --> 00:24:30,030 täidetud või mitte. 526 00:24:30,030 --> 00:24:32,510 Nii et kui sa seda teha, samas loop, siis sees 527 00:24:32,510 --> 00:24:35,210 avaldus saate küsima täisarv, sest sul on 528 00:24:35,210 --> 00:24:37,180 vähemalt küsima kasutaja korraga. 529 00:24:37,180 --> 00:24:40,850 Ja siis pärast te kallutada neid, siis võib öelda, eks, 530 00:24:40,850 --> 00:24:43,110 hästi kui olen seda teinud, on see kehtiv? 531 00:24:43,110 --> 00:24:44,810 Kui on, siis saate lihtsalt hoida käimas. 532 00:24:44,810 --> 00:24:47,310 Aga kui ei ole, siis ta lihtsalt tegutseb nagu tavaline samas 533 00:24:47,310 --> 00:24:49,240 loop ja siis hoida küsimata. 534 00:24:53,590 --> 00:24:54,670 >> Okei. 535 00:24:54,670 --> 00:24:57,120 Nii et oleme tagasi Mario. 536 00:24:57,120 --> 00:25:01,740 Nii et me teame, kuidas küsiks õige kasutaja sisend, mis on 537 00:25:01,740 --> 00:25:03,160 jooksul õigus piire. 538 00:25:03,160 --> 00:25:07,100 Nüüd me tegelikult teha tuleb, see pool püramiid. 539 00:25:07,100 --> 00:25:08,730 Tundub lihtne tähemärki. 540 00:25:08,730 --> 00:25:10,360 Nii et olgem tegelikult avatud - 541 00:25:14,280 --> 00:25:17,190 olgem lihtsalt avada aken ja öelda okei, noh mis siis, kui ma oleksin 542 00:25:17,190 --> 00:25:24,960 tegelikult läheb seda teha käsitsi, kirjuta ise üks neist? 543 00:25:24,960 --> 00:25:25,780 Okei. 544 00:25:25,780 --> 00:25:26,910 Nii et vaatame. 545 00:25:26,910 --> 00:25:30,070 Oletame näiteks, me tahame teha püramiidi, mis on 546 00:25:30,070 --> 00:25:32,090 joondatud vasakus servas, siis oleks lihtsalt teha - 547 00:25:34,710 --> 00:25:37,750 Mario, tipptasemel on kaks plokki ühe asemel. 548 00:25:37,750 --> 00:25:39,080 Nii et hakkame koos kaks. 549 00:25:39,080 --> 00:25:40,700 Me nuppu Enter. 550 00:25:40,700 --> 00:25:45,670 Teeme kolm ja siis neli, Enter, viis. 551 00:25:45,670 --> 00:25:45,980 Okei. 552 00:25:45,980 --> 00:25:46,790 Nii et see on päris lihtne. 553 00:25:46,790 --> 00:25:50,210 Välja arvatud see probleem komplekt, me tahame seda tegelikult vastavusse viimiseks 554 00:25:50,210 --> 00:25:52,250 paremal pool meie ekraanil. 555 00:25:52,250 --> 00:25:52,630 Hea küll. 556 00:25:52,630 --> 00:25:58,870 Niisiis, kuidas võib üks teist tegelikult tüüp see selline, et 557 00:25:58,870 --> 00:26:01,810 see on joondatud piki eks? 558 00:26:01,810 --> 00:26:08,550 Selle asemel, et räsi kõigepealt seda, kuidas võib teile selline 559 00:26:08,550 --> 00:26:10,040 Liigume edasi? 560 00:26:10,040 --> 00:26:11,360 SPEAKER 3: Kirjutage rida? 561 00:26:11,360 --> 00:26:11,800 ZAMYLA CHAN: Hmm? 562 00:26:11,800 --> 00:26:13,030 SPEAKER 3: Kirjutage rida? 563 00:26:13,030 --> 00:26:13,110 ZAMYLA CHAN: Jah. 564 00:26:13,110 --> 00:26:13,390 Jah. 565 00:26:13,390 --> 00:26:15,080 Sa võiksid kirjutada nagu alakriips või midagi sellist 566 00:26:15,080 --> 00:26:19,370 et, kuid me võime lihtsalt öelda kasutada ruumi. 567 00:26:19,370 --> 00:26:21,500 Olgem panna nagu kolm sammu siin. 568 00:26:21,500 --> 00:26:24,760 Siis järgmine rida, noh, me oleks panna kaks sammu. 569 00:26:24,760 --> 00:26:26,500 Järgmine rida, me lihtsalt pane üks tühik. 570 00:26:26,500 --> 00:26:30,340 Ja siis meie viimane rida, me ei läheks tühikuid. 571 00:26:30,340 --> 00:26:32,210 Ja seal on meil püramiid. 572 00:26:32,210 --> 00:26:33,170 >> Nii et see on selline - 573 00:26:33,170 --> 00:26:37,290 meeles pidada, et selline loogika. 574 00:26:37,290 --> 00:26:39,340 Ja proovida ja nuputada mingi muster, mis meie võimuses, 575 00:26:39,340 --> 00:26:43,690 siis tõlkida C ja kaasata mingi loop. 576 00:26:43,690 --> 00:26:43,930 Hea küll. 577 00:26:43,930 --> 00:26:48,130 Nii et meil on kõrgus kaheksa, siis meie esimene rida on 578 00:26:48,130 --> 00:26:48,980 2 hashes. 579 00:26:48,980 --> 00:26:53,030 Aga saada neile hashes, siis oleks kirjutada mõned 580 00:26:53,030 --> 00:26:54,000 ruumid ette. 581 00:26:54,000 --> 00:26:55,840 Eks? 582 00:26:55,840 --> 00:26:57,340 Mida ma tegin on mul lihtsalt läks läbi. 583 00:26:57,340 --> 00:27:00,150 Ma joonistasin selle ise välja, püramiidi minu tekstiredaktoris 584 00:27:00,150 --> 00:27:03,800 püramiidi kõrgus kaheksa ja siis arvutada, kui palju 585 00:27:03,800 --> 00:27:05,180 ruumid Mul oli vaja teha. 586 00:27:05,180 --> 00:27:07,350 Nii et ma ütlesin okei, noh esimene rida on 587 00:27:07,350 --> 00:27:08,260 läheb kaks hashes. 588 00:27:08,260 --> 00:27:11,100 Aga enne seda pean sisend 7 ruumid. 589 00:27:11,100 --> 00:27:13,420 Järgmise üks on kuus ruumi ja seejärel 590 00:27:13,420 --> 00:27:15,610 3 hashes, jne. 591 00:27:15,610 --> 00:27:20,520 >> Nii siis proovime ja viia see teise kihi 592 00:27:20,520 --> 00:27:21,330 võtmiseks. 593 00:27:21,330 --> 00:27:26,680 Mis siis, kui meil oli nda rea, kui palju hashes ja kuidas 594 00:27:26,680 --> 00:27:27,960 palju ruumi oleks meil vaja on? 595 00:27:27,960 --> 00:27:30,750 Kas keegi näeb muster? 596 00:27:35,200 --> 00:27:37,560 Nii et esimene rida on kaks hashes. 597 00:27:37,560 --> 00:27:39,720 Teine on kolm. 598 00:27:39,720 --> 00:27:42,120 Kolmas on neli. 599 00:27:42,120 --> 00:27:45,398 Nii nda rea ​​oleks - 600 00:27:45,398 --> 00:27:46,800 SPEAKER 4: N pluss 1? 601 00:27:46,800 --> 00:27:47,170 ZAMYLA CHAN: Jah. 602 00:27:47,170 --> 00:27:47,780 N pluss 1. 603 00:27:47,780 --> 00:27:49,030 Täpselt. 604 00:27:52,810 --> 00:27:56,470 Siis näeme, et mitmed hashes saab olema - 605 00:27:56,470 --> 00:27:59,510 kui me loodame esimeses reas on üks, siis arv 606 00:27:59,510 --> 00:28:03,850 kohta hashes on lihtsalt saab olema üks rohkem. 607 00:28:03,850 --> 00:28:04,150 Okei. 608 00:28:04,150 --> 00:28:06,350 Siis kuidas on kohtade arv? 609 00:28:06,350 --> 00:28:10,120 Nii et proovime ja väljendada seda nii kõrgus. 610 00:28:10,120 --> 00:28:12,570 Kui kõrgus on kaheksa, siis esimene 611 00:28:12,570 --> 00:28:15,260 rida on seitse ruumid. 612 00:28:15,260 --> 00:28:18,215 Nii et omamoodi vastab 8 miinus 1. 613 00:28:18,215 --> 00:28:19,030 Eks? 614 00:28:19,030 --> 00:28:22,420 Siis teine ​​rida läheb on kuus sammu, 615 00:28:22,420 --> 00:28:25,340 mis on 8 miinus 2. 616 00:28:28,420 --> 00:28:31,450 Nii siis ma jätan selle sulle, et selline näitaja välja 617 00:28:31,450 --> 00:28:33,610 muster selle eest. 618 00:28:33,610 --> 00:28:34,010 >> Okei. 619 00:28:34,010 --> 00:28:37,450 Aga programmeerimine, mõnikord me tegelikult indeks on null. 620 00:28:37,450 --> 00:28:39,680 Nii et me algavad nullist ühe asemel. 621 00:28:39,680 --> 00:28:46,250 Nii et selle asemel esimeses reas kutsutakse esimeses reas, 622 00:28:46,250 --> 00:28:48,930 me ei kavatse nimetades seda 0-ndas reas. 623 00:28:48,930 --> 00:28:51,360 Nii et olenevalt sellest, kuidas soovite seda rakendada, on 624 00:28:51,360 --> 00:28:55,120 väga ettevaatlik, kas sa algavad nullist, kas hakkate 625 00:28:55,120 --> 00:28:58,400 üks, oma muster läheb korvata üks. 626 00:29:02,270 --> 00:29:02,880 Okei. 627 00:29:02,880 --> 00:29:05,460 Nüüd, et me sellist arvasin programmi, me 628 00:29:05,460 --> 00:29:06,310 pean ütlema, okei. 629 00:29:06,310 --> 00:29:11,540 Nii et igasugune tase trepid, ma lähen printida 630 00:29:11,540 --> 00:29:14,390 sellise ja sellise arvu tühikuid ja siis selline ja 631 00:29:14,390 --> 00:29:16,550 selline arv hashes. 632 00:29:16,550 --> 00:29:19,550 See sõltub mustri, et oleme loonud enne. 633 00:29:19,550 --> 00:29:19,810 Okei. 634 00:29:19,810 --> 00:29:23,600 Nii et üks võimalus itereerimise läbi ja selline läheb 635 00:29:23,600 --> 00:29:27,670 kaudu seada mitmeid asju on loop, selline nagu 636 00:29:27,670 --> 00:29:31,040 kordus 10 Blokeeri või nagu korrata ja sisestatud 637 00:29:31,040 --> 00:29:33,810 number jaoks nullist. 638 00:29:33,810 --> 00:29:38,050 Nii et sisuliselt iga taseme trepid, me tahame 639 00:29:38,050 --> 00:29:39,650 prindi ruumid esimene. 640 00:29:39,650 --> 00:29:43,020 Siis printida mitu hashes. 641 00:29:43,020 --> 00:29:46,480 Ja siis me tahame siseneda uuele reale ja seejärel korrake seda 642 00:29:46,480 --> 00:29:49,750 jälle järgmise ploki. 643 00:29:49,750 --> 00:29:50,720 Okei. 644 00:29:50,720 --> 00:29:55,080 >> Nii et vaatame jaoks silmuseid jaoks sek kuni liiki näha üks viis 645 00:29:55,080 --> 00:29:59,460 et me võiksime minna läbi rea number, läbida mitmeid 646 00:29:59,460 --> 00:30:02,250 sammu, see pool püramiid. 647 00:30:02,250 --> 00:30:04,220 Nii silmuseid koosneb kolmest osast. 648 00:30:04,220 --> 00:30:08,150 Esiteks, sa pead ettekanne. 649 00:30:08,150 --> 00:30:13,220 Nii et sisuliselt seab muutuja. 650 00:30:13,220 --> 00:30:15,130 See saab olema seadistatud, et raha iga kord 651 00:30:15,130 --> 00:30:17,110 et silmus algab. 652 00:30:17,110 --> 00:30:18,540 Siis sa lähed on korras. 653 00:30:18,540 --> 00:30:21,640 Sinu jaoks silmus täitmisele ainult seni, kuni see 654 00:30:21,640 --> 00:30:25,630 tingimus TRUE. 655 00:30:25,630 --> 00:30:28,000 Ja siis pead uuendus seisukorras. 656 00:30:28,000 --> 00:30:32,450 Nii et on pistmist muutuja, mida vormindatud. 657 00:30:32,450 --> 00:30:38,120 Nii et mõnes mõttes on põhimõtteliselt tagada, et saame välja murda 658 00:30:38,120 --> 00:30:40,070 silmus, et me ei või hoida oma täidesaatva 659 00:30:40,070 --> 00:30:41,310 see ikka ja igavesti. 660 00:30:41,310 --> 00:30:43,760 Sest erinevalt Scratch'i, me tegelikult ei ole lihtsalt 661 00:30:43,760 --> 00:30:45,680 tavaline Forever silmus. 662 00:30:45,680 --> 00:30:48,100 C on programmi lõpuni lõpuks. 663 00:30:48,100 --> 00:30:52,290 Nii et me peame tagama, et mingil moel me oleme seda peatada. 664 00:30:52,290 --> 00:30:52,830 >> Okei. 665 00:30:52,830 --> 00:30:56,260 Nii näiteks loop, et te võiksite kasutada 666 00:30:56,260 --> 00:30:57,530 Mario on see. 667 00:30:57,530 --> 00:31:02,290 Nii et teil on täisarv i, et hakkate 0. 668 00:31:02,290 --> 00:31:08,050 Niikaua kui see on väiksem kui kõrgus, te sooritate keha 669 00:31:08,050 --> 00:31:11,140 Euroopa silmus sees siin. 670 00:31:11,140 --> 00:31:13,820 Pärast seda keha silmus on täidetud, siis oleks 671 00:31:13,820 --> 00:31:15,290 suurendada i 1.. 672 00:31:15,290 --> 00:31:18,510 Siis teie programm kontrollige uuesti - okei, noh, on mul alla 673 00:31:18,510 --> 00:31:18,885 kõrgus? 674 00:31:18,885 --> 00:31:21,865 Kui on, siis jätkuks. 675 00:31:24,630 --> 00:31:27,790 Nii et siin on näide null indekseerimine, kus hakkame kell 676 00:31:27,790 --> 00:31:29,100 nulli ja siis me - 677 00:31:29,100 --> 00:31:30,970 märgata, et meie tingimus on väiksem kui kõrgus. 678 00:31:30,970 --> 00:31:34,510 Nii ütleme meie kõrgus on neli, näiteks i 679 00:31:34,510 --> 00:31:35,470 algab 0-ga. 680 00:31:35,470 --> 00:31:36,180 See saab olema 1. 681 00:31:36,180 --> 00:31:36,730 See saab olema 2. 682 00:31:36,730 --> 00:31:37,940 See saab olema 3. 683 00:31:37,940 --> 00:31:42,310 Ja siis kui see värskendab, kui loop uudiseid, siis ma 684 00:31:42,310 --> 00:31:43,650 Seejärel määratud 4. 685 00:31:43,650 --> 00:31:47,080 Aga 4 ei ole väiksem kui 4, ja nii siis oleksime 686 00:31:47,080 --> 00:31:50,340 jätkuvalt kogu meie silmus. 687 00:31:50,340 --> 00:31:50,870 >> Okei. 688 00:31:50,870 --> 00:31:51,680 Nii et see algab nulliga. 689 00:31:51,680 --> 00:31:53,470 Aga me võiksime alustada ka ühe, näiteks. 690 00:31:53,470 --> 00:31:56,960 Aga kuna me alustame kell üks, me mingi peame minema veel üks 691 00:31:56,960 --> 00:31:57,920 aja lõpus. 692 00:31:57,920 --> 00:32:02,800 Nii siis sellepärast me lisada väiksem või võrdne. 693 00:32:02,800 --> 00:32:05,780 Nii et üks suur asju, mis mulle meeldib arvuti 694 00:32:05,780 --> 00:32:06,930 programmeerimine on, et seal on lihtsalt nii 695 00:32:06,930 --> 00:32:08,370 palju võimalusi teha asju. 696 00:32:08,370 --> 00:32:11,300 Nii saate valida, kas alustada nullist, kas te 697 00:32:11,300 --> 00:32:12,330 algab kell üks. 698 00:32:12,330 --> 00:32:15,400 Samuti, kui sa tahad, võid lihtsalt kasutada 699 00:32:15,400 --> 00:32:16,600 samas silmus, näiteks. 700 00:32:16,600 --> 00:32:18,890 Nii võib - 701 00:32:18,890 --> 00:32:20,270 olgem tegelikult avatud hello.c. 702 00:32:26,200 --> 00:32:28,600 Nii et meil on loop siin. 703 00:32:28,600 --> 00:32:31,330 See algab kell i = 0, i <5. 704 00:32:31,330 --> 00:32:33,550 Mul on kommentaar siia räägivad meile, mida ta teeb. 705 00:32:33,550 --> 00:32:36,300 Ta prindib tere viis korda, kasutades jaoks silmus. 706 00:32:36,300 --> 00:32:41,690 Aga me võiks ka seda teha, kasutades samas loop samuti. 707 00:32:41,690 --> 00:32:48,290 >> Nii et vaatame, kuidas me võiksime seda teha. 708 00:32:48,290 --> 00:32:51,010 Nii et kui me läheme matkivad jaoks silmus, siis tahame ka 709 00:32:51,010 --> 00:32:54,870 matkivad käivitamise, seisukorra ja uuendus. 710 00:32:54,870 --> 00:33:01,430 Nii tingimus peaks olema üsna lihtne, sest 711 00:33:01,430 --> 00:33:04,350 samas süntaks, kui te vaatate seda, ta ütleb while (tingimus). 712 00:33:04,350 --> 00:33:06,830 Nii et olgem lihtsalt sisend tingimus seal. 713 00:33:06,830 --> 00:33:09,700 i <5. 714 00:33:09,700 --> 00:33:10,590 Okei. 715 00:33:10,590 --> 00:33:18,900 Nii et me teame, et me tahame prindi hüvasti. 716 00:33:18,900 --> 00:33:21,350 Me teame, et see on põhiosas meie silmus. 717 00:33:21,350 --> 00:33:23,600 Aga meil puuduvad initsialiseerimise 718 00:33:23,600 --> 00:33:24,490 ja uuendus, eks? 719 00:33:24,490 --> 00:33:25,790 Sest me ei saa igavesti silmus. 720 00:33:25,790 --> 00:33:27,660 See on lõpetada. 721 00:33:27,660 --> 00:33:35,300 Nii et lisame mingi ettekanne, kasutades 722 00:33:35,300 --> 00:33:38,790 sama, et me kasutasime meie jaoks silmus, int i = 0. 723 00:33:38,790 --> 00:33:39,110 Okei. 724 00:33:39,110 --> 00:33:40,630 Nii et hakkame koos int i. 725 00:33:40,630 --> 00:33:43,640 Me korrake seda samas loop kui i on väiksem kui 5. 726 00:33:43,640 --> 00:33:47,220 Nii siis meil puuduvad üks asi, mis on uuendatud. 727 00:33:47,220 --> 00:33:51,470 Mida uuendus oleks me peame kasutama, kui me põhiliselt 728 00:33:51,470 --> 00:33:52,880 taasloomine jaoks silmus üle? 729 00:33:56,000 --> 00:33:59,880 Meil on initsialiseerimise i on võrdne 0-ga. 730 00:33:59,880 --> 00:34:03,610 Meil on tingimus i on väiksem kui 5. 731 00:34:03,610 --> 00:34:06,300 Ja siis siin on uuendus, eks? 732 00:34:06,300 --> 00:34:07,365 Nii et me tahame kopeerida seda. 733 00:34:07,365 --> 00:34:10,340 Me tahame öelda, okei, i + +. 734 00:34:10,340 --> 00:34:13,820 See on sama asi nagu öeldes i = i + 1. 735 00:34:13,820 --> 00:34:17,090 Aga kuna see on nii palju kasutatud, lühendvormina see on lihtsalt 736 00:34:17,090 --> 00:34:18,340 öeldes i + +. 737 00:34:20,800 --> 00:34:22,050 >> Suur. 738 00:34:25,230 --> 00:34:26,400 Okei. 739 00:34:26,400 --> 00:34:29,210 Siin ma tegelikult ei väljuda mu õunad programm. 740 00:34:29,210 --> 00:34:33,070 Nii et ma olen lihtsalt läheb käsku Control-C ja et kohe 741 00:34:33,070 --> 00:34:34,989 saapad mind mu programmi ja toob 742 00:34:34,989 --> 00:34:35,920 mind tagasi terminali. 743 00:34:35,920 --> 00:34:38,320 Nii et näiteks kui teil tekib bug, kus te 744 00:34:38,320 --> 00:34:40,750 unustasin, et uuendada oma samas silmus nii, et see 745 00:34:40,750 --> 00:34:43,150 lõpetada, ja sisestate lõputu silmuse, siis saate 746 00:34:43,150 --> 00:34:46,400 kasutada Control-C välja murda, et. 747 00:34:46,400 --> 00:34:46,639 Hea küll. 748 00:34:46,639 --> 00:34:47,960 Nii et oleme õiges kataloogis. 749 00:34:47,960 --> 00:34:52,010 Nii et teeme tere. 750 00:34:52,010 --> 00:35:01,710 Ja siis, kui võtame tere, näeme, et hüvasti silmus teeb 751 00:35:01,710 --> 00:35:03,350 täpselt sama asi nagu meie jaoks silmus teeb. 752 00:35:03,350 --> 00:35:05,060 Nii et see on lihtsalt vihje. 753 00:35:05,060 --> 00:35:06,980 Kas olete rohkem rahul jaoks silmuseid või 754 00:35:06,980 --> 00:35:09,850 koos samas silmuseid, võivad nad olla omavahel vahetatavad. 755 00:35:09,850 --> 00:35:15,130 Nii et kumb soovite kasutada itereerima kaudu - 756 00:35:15,130 --> 00:35:16,020 sel juhul - 757 00:35:16,020 --> 00:35:19,410 kõrgus Mario püramiid. 758 00:35:19,410 --> 00:35:23,020 Ja nii jälle, see on lihtsalt meeldetuletus, kui sa alguses null 759 00:35:23,020 --> 00:35:25,430 oma muutuja, siis tahad Sa olla erinev 760 00:35:25,430 --> 00:35:27,360 seisukorras kui siis, kui sa hakkasid ühel. 761 00:35:27,360 --> 00:35:29,620 Nii et see tabel lihtsalt selline näitab teile meeldetuletus. 762 00:35:29,620 --> 00:35:33,660 Kui soovite korrata 10 korda, näiteks siis 763 00:35:33,660 --> 00:35:36,030 saab kas alustada oma muutuja on null. 764 00:35:36,030 --> 00:35:39,350 Ja teie seisund võib olla alla 10. 765 00:35:39,350 --> 00:35:43,020 Ja et selline näitab maatriksi selle. 766 00:35:43,020 --> 00:35:43,360 >> Okei. 767 00:35:43,360 --> 00:35:45,790 Nii oleme läbi käinud Mario. 768 00:35:45,790 --> 00:35:48,820 Me oleme öelnud, Olgu, me peame kontrollima õige sisend, 769 00:35:48,820 --> 00:35:50,800 null ja 23 kaasa arvatud. 770 00:35:50,800 --> 00:35:53,370 Me leiame mingi muster, mingi viis 771 00:35:53,370 --> 00:35:57,920 väljendada nda rea ​​või s rida. 772 00:35:57,920 --> 00:36:01,560 Ja me otsustada, okei, et me ei kavatse trüki 773 00:36:01,560 --> 00:36:04,870 palju ruumi, see palju hashes, uus liin. 774 00:36:04,870 --> 00:36:05,050 Hea küll. 775 00:36:05,050 --> 00:36:05,720 Nii et meil on see. 776 00:36:05,720 --> 00:36:08,570 Nii et nüüd saame edasi liikuda ahne. 777 00:36:08,570 --> 00:36:14,500 Ahne on programm, kus kasutaja annab teile summa 778 00:36:14,500 --> 00:36:17,460 raha, mis sisuliselt sind kassast vaja tagastada. 779 00:36:17,460 --> 00:36:21,530 Aga mida soovite kasutada nii vähe münte kui võimalik. 780 00:36:21,530 --> 00:36:25,070 Ja nii see on, kui ahne algoritm jõuab, kus 781 00:36:25,070 --> 00:36:30,440 me tahame kasutada minimaalset münte võimalik 782 00:36:30,440 --> 00:36:31,900 teha, et muutuse summa. 783 00:36:34,500 --> 00:36:34,990 >> Okei. 784 00:36:34,990 --> 00:36:40,480 Nii näiteks on oma lahendus välja võiks näha 785 00:36:40,480 --> 00:36:42,540 midagi sellist. 786 00:36:42,540 --> 00:36:45,410 Sa jooksed. / Ahne. 787 00:36:45,410 --> 00:36:47,920 Teilt nõutakse öelda okei, noh, kui palju muutusi on ees? 788 00:36:47,920 --> 00:36:50,780 See väärtus saab olema väärtus dollarites. 789 00:36:50,780 --> 00:36:52,440 Nii et see saab olema ringluses. 790 00:36:52,440 --> 00:36:55,630 Sinu programm siis arvutama minimaalse summa 791 00:36:55,630 --> 00:37:00,380 Müntide kohustatud tegema, antud juhul, $ 0,32. 792 00:37:00,380 --> 00:37:04,550 Ja nii minimaalne arv on neli. 793 00:37:04,550 --> 00:37:07,480 Nii et enne kui me aru saada, mida teha, olgem omamoodi jalutuskäik 794 00:37:07,480 --> 00:37:10,770 läbi protsessi, et sa võiksid minna. 795 00:37:10,770 --> 00:37:16,480 Nii et kui sisend on 32, siis sisuliselt ma lähen kasutada 796 00:37:16,480 --> 00:37:19,100 vähemalt summa münte kui ma kasutan nii palju 797 00:37:19,100 --> 00:37:20,460 suur münte kui võimalik. 798 00:37:20,460 --> 00:37:20,870 Eks? 799 00:37:20,870 --> 00:37:25,420 Nii et see on palju lihtsam kasutada ühte kvartalis 800 00:37:25,420 --> 00:37:27,070 vastu viie viiesendist. 801 00:37:27,070 --> 00:37:31,740 Ütleme, sa pead tagasi $ 0,32. 802 00:37:31,740 --> 00:37:36,660 Noh, ma saan kasutada kvartali see on? 803 00:37:36,660 --> 00:37:37,480 Jah, saab küll. 804 00:37:37,480 --> 00:37:41,970 Ja siis oleks vähenes $ 0,07. 805 00:37:41,970 --> 00:37:46,070 Vaatame, kas ma saan kasutada teise kvartali maksan sulle tagasi. 806 00:37:46,070 --> 00:37:46,870 Noh, ei. 807 00:37:46,870 --> 00:37:48,200 Ma ei mahu kvartali mis. 808 00:37:48,200 --> 00:37:52,110 Nii et ma lähen liikuda järgmisele suurim münt. 809 00:37:52,110 --> 00:37:53,250 Kas ma saan kasutada peenraha? 810 00:37:53,250 --> 00:37:55,800 $ 0.07, ei saa te kasutada peenraha maksma $ 0,07. 811 00:37:55,800 --> 00:37:56,840 Nii et sa ütled ei. 812 00:37:56,840 --> 00:38:00,490 Pane järgmise üks, mis on niklit. 813 00:38:00,490 --> 00:38:01,440 Kas te kasutate nikkel? 814 00:38:01,440 --> 00:38:02,930 Jah. 815 00:38:02,930 --> 00:38:06,440 Seitse on suurem kui $ 0,05, et saaksime kasutada niklit. 816 00:38:06,440 --> 00:38:08,640 Ja siis on meil kaks senti üle jäänud. 817 00:38:08,640 --> 00:38:11,110 Kas me kasutame ühe teenari peale? 818 00:38:11,110 --> 00:38:12,180 Jah, me suudame. 819 00:38:12,180 --> 00:38:13,070 Kas me kasutame teise teenari peale? 820 00:38:13,070 --> 00:38:13,380 Jah. 821 00:38:13,380 --> 00:38:14,710 Kas me kasutame teise teenari peale? 822 00:38:14,710 --> 00:38:17,070 Ei, sest nüüd on meil edukalt 823 00:38:17,070 --> 00:38:19,400 makstud kasutaja tagasi. 824 00:38:19,400 --> 00:38:23,620 Ja nii et kokku 4 münti kasutada. 825 00:38:23,620 --> 00:38:26,370 >> Nii et mõelda, et protsess, me kõik 826 00:38:26,370 --> 00:38:29,080 aeg otsustada eks, 827 00:38:29,080 --> 00:38:31,050 Mis on suurim münt, mida saame kasutada? 828 00:38:31,050 --> 00:38:37,240 Kui me kasutame, et me sellist hoida vaimse teadmiseks, kui palju 829 00:38:37,240 --> 00:38:39,650 rohkem raha me peame tagasi kasutaja ning kui palju 830 00:38:39,650 --> 00:38:41,310 mündid oleme kasutanud. 831 00:38:44,640 --> 00:38:45,200 Okei. 832 00:38:45,200 --> 00:38:48,930 Nii aga jälle, esimene samm - nagu Mario - on kiire 833 00:38:48,930 --> 00:38:51,120 kasutaja rahasumma. 834 00:38:51,120 --> 00:38:53,920 Ja nii see summa saab olema - 835 00:38:53,920 --> 00:38:56,040 see saab olema arvulises väärtuses, sest me ei kavatse 836 00:38:56,040 --> 00:38:57,310 paluda neil dollarit. 837 00:38:57,310 --> 00:39:00,550 Nii et andmetüüp ei kavatse olema täisarv. 838 00:39:00,550 --> 00:39:01,860 Aga see saab olema - 839 00:39:04,960 --> 00:39:07,700 Jah, sularahaga. 840 00:39:07,700 --> 00:39:10,780 Aga nagu õunad, ujukite võib olla positiivne või negatiivne. 841 00:39:10,780 --> 00:39:13,390 Siis kui sa kontrollida väärtused, sa lähed tahan 842 00:39:13,390 --> 00:39:15,380 tagada, et teie float - 843 00:39:15,380 --> 00:39:19,710 kasutaja sisend - on mittenegatiivne. 844 00:39:19,710 --> 00:39:20,960 Okei. 845 00:39:22,630 --> 00:39:26,720 Me võiksime tegeleda ujukid on meie kogu programmi, esindavad 846 00:39:26,720 --> 00:39:31,610 kvartali 0,25, Dimes 0,1, jne. 847 00:39:31,610 --> 00:39:36,280 Aga minu arvates on palju lihtsam tegeleda vaid puhas senti. 848 00:39:36,280 --> 00:39:36,910 Samuti - 849 00:39:36,910 --> 00:39:39,370 ja me räägime sellest pisut hiljem - 850 00:39:39,370 --> 00:39:43,610 C, ujuvad punktid on midagi, mida nimetatakse ebatäpsus. 851 00:39:43,610 --> 00:39:48,660 Nii et kui sisestate 0,12, näiteks arvuti 852 00:39:48,660 --> 00:39:53,010 tegelikult kauplustes nagu 0.1111119 või 853 00:39:53,010 --> 00:39:54,350 midagi sellist. 854 00:39:54,350 --> 00:39:56,900 >> Nii et see on palju lihtsam teisendada senti. 855 00:39:56,900 --> 00:40:02,190 Niisiis, kuidas me teisendada dollari väärtust senti? 856 00:40:02,190 --> 00:40:03,540 SPEAKER 5: Times ta 100? 857 00:40:03,540 --> 00:40:03,920 ZAMYLA CHAN: Jah. 858 00:40:03,920 --> 00:40:04,110 Jah. 859 00:40:04,110 --> 00:40:07,110 Seepärast soovime korda see 100ga. 860 00:40:07,110 --> 00:40:10,820 Aga üks keeruline asi ujuv küsimusi on, et seal 861 00:40:10,820 --> 00:40:11,790 on mõned ebatäpsus. 862 00:40:11,790 --> 00:40:16,090 Nii et olgem lihtsalt pilk näide. 863 00:40:18,760 --> 00:40:21,360 Ma lähen avama imprecision.c. 864 00:40:21,360 --> 00:40:23,690 Okei. 865 00:40:23,690 --> 00:40:24,860 See on väga lihtne programm. 866 00:40:24,860 --> 00:40:26,970 Ta küsib float, ja ta prindib selle tagasi. 867 00:40:35,950 --> 00:40:39,600 Üks kena otsa terminali võid trükkida selgeid ja 868 00:40:39,600 --> 00:40:41,180 siis on selge ekraan. 869 00:40:41,180 --> 00:40:45,270 Ja nii sa ei pea vaatama kõik varasemad tootlikkust või 870 00:40:45,270 --> 00:40:47,490 vigu või veateateid, midagi sellist. 871 00:40:47,490 --> 00:40:48,120 Okei. 872 00:40:48,120 --> 00:40:49,675 Nii et teeme ebatäpsus. 873 00:40:53,250 --> 00:40:56,250 Olgem käivitada. 874 00:40:56,250 --> 00:40:57,890 Nii et ma haven't - 875 00:40:57,890 --> 00:41:03,830 minu kood, ma ei prindita kiire või midagi sellist. 876 00:41:03,830 --> 00:41:05,010 Nii see lihtsalt on vilkuv kursor. 877 00:41:05,010 --> 00:41:07,390 Nii et see on lihtsalt ootab mind sisestada sularahaga. 878 00:41:07,390 --> 00:41:08,640 Nii let's - 879 00:41:10,610 --> 00:41:11,280 juhuslik sularahaga. 880 00:41:11,280 --> 00:41:15,080 Ja te näete, et see prindib ta tagasi, kuid on mõned pildi 881 00:41:15,080 --> 00:41:18,180 numbrid, et me kindlasti ei sisaldanud. 882 00:41:18,180 --> 00:41:21,980 Nii et me tahame veenduda, et see ei 883 00:41:21,980 --> 00:41:23,300 juhtuda meie programm. 884 00:41:23,300 --> 00:41:27,550 >> Nii siis, mida me tahame teha, on tagada, et me tegelikult 885 00:41:27,550 --> 00:41:31,300 selline ümardada sobiv väärtus. 886 00:41:31,300 --> 00:41:31,850 Eks? 887 00:41:31,850 --> 00:41:37,820 Ja nii õnneks on meil funktsioon nimega ringi kuuluvad 888 00:41:37,820 --> 00:41:38,550 seadmesse. 889 00:41:38,550 --> 00:41:41,390 See on matemaatika raamatukogu. 890 00:41:41,390 --> 00:41:44,710 Kui soovite teada, kuidas kasutada ümmargune, siis te tegelikult kasutada 891 00:41:44,710 --> 00:41:45,220 käsitsi. 892 00:41:45,220 --> 00:41:48,160 Te võite klõpsata mees ringi. 893 00:41:48,160 --> 00:41:51,190 Siis siin see avab - 894 00:41:51,190 --> 00:41:53,220 võib olla natuke raske dešifreerida, kuid lõpuks 895 00:41:53,220 --> 00:41:54,690 saad riputada seda. 896 00:41:54,690 --> 00:42:00,060 See liik näitab teile, mida funktsioon teeb ja siis mõned 897 00:42:00,060 --> 00:42:01,790 võimalikku kasutamist, et. 898 00:42:01,790 --> 00:42:10,210 Nii et kui te lõpuks saada korraliku, kehtiv sisend 899 00:42:10,210 --> 00:42:14,490 kasutaja, siis sa tahad muuta selle senti. 900 00:42:14,490 --> 00:42:18,530 Veenduge, et teil ümber väärtus nii et teil vältida selle 901 00:42:18,530 --> 00:42:21,780 ujukoma ebatäpsus. 902 00:42:21,780 --> 00:42:22,340 >> Okei. 903 00:42:22,340 --> 00:42:26,190 Nii oleme küsitakse kasutajalt rahasumma. 904 00:42:26,190 --> 00:42:31,460 Nüüd, mida me tahame teha, on sisuliselt kontrollida, eks? 905 00:42:31,460 --> 00:42:35,500 Okei, nii et ma saan kasutada suuremaid münt võimalik? 906 00:42:35,500 --> 00:42:37,040 Kui võimalik, siis kasuta seda. 907 00:42:37,040 --> 00:42:40,250 Teil jälgida, kui palju mündid oled kasutanud siiani ja 908 00:42:40,250 --> 00:42:41,710 Samuti väheneb summa. 909 00:42:41,710 --> 00:42:42,240 Eks? 910 00:42:42,240 --> 00:42:44,880 Ja siis sa lähed, et kontrollida. 911 00:42:44,880 --> 00:42:47,940 Kui olete sellist ammendatud kvartali tahad minna 912 00:42:47,940 --> 00:42:49,545 Järgmise võimalik asi. 913 00:42:49,545 --> 00:42:59,380 >> Nii et millist struktuuri või millist silmus võiks meil 914 00:42:59,380 --> 00:43:03,850 soovite kasutada pidevalt kontrollida, kas me saame ikkagi kasutada 915 00:43:03,850 --> 00:43:05,100 kvartalis, näiteks? 916 00:43:07,380 --> 00:43:09,280 SPEAKER 6: Kuigi suurem väärtus? 917 00:43:09,280 --> 00:43:10,150 ZAMYLA CHAN: Jah, täiuslik. 918 00:43:10,150 --> 00:43:10,590 Täpselt. 919 00:43:10,590 --> 00:43:12,630 Niisiis, kui väärtus on suurem kui. 920 00:43:12,630 --> 00:43:16,300 Niisiis, kui väärtus, mis meil on anda tagasi on ikka veel 921 00:43:16,300 --> 00:43:19,410 suurem kui veerandi, samas me saame ikkagi kasutada kvartalis 922 00:43:19,410 --> 00:43:20,490 kasutada kvartalit. 923 00:43:20,490 --> 00:43:21,450 Jälgi seda. 924 00:43:21,450 --> 00:43:22,610 Ja siis hoida käimas. 925 00:43:22,610 --> 00:43:25,040 Perfect. 926 00:43:25,040 --> 00:43:26,290 Okei. 927 00:43:28,190 --> 00:43:32,580 Oh, siin ma olen lihtsalt lisada vaid mõned nõuanded, kuidas printida 928 00:43:32,580 --> 00:43:33,830 välja väärtused. 929 00:43:36,330 --> 00:43:38,810 Nii et teie printf funktsiooni, oleme tavaliselt olnud lihtsalt 930 00:43:38,810 --> 00:43:39,760 tegelevad stringid. 931 00:43:39,760 --> 00:43:43,290 Aga kui sa tahad välja printida int või lihtsalt igat tüüpi 932 00:43:43,290 --> 00:43:46,510 kohaline, sa pead selline kirjutada selline koht omanik. 933 00:43:46,510 --> 00:43:50,840 Nii et see esindab protsenti,% d täisarvud. 934 00:43:50,840 --> 00:43:53,780 Sa kirjutad, et siis hiljem sa tegelikult - 935 00:43:53,780 --> 00:43:54,900 pärast koma - 936 00:43:54,900 --> 00:43:57,990 panna milline väärtus tegelikult läheb sinna. 937 00:43:57,990 --> 00:43:58,510 Õigus. 938 00:43:58,510 --> 00:43:58,840 >> Okei. 939 00:43:58,840 --> 00:44:02,050 Nii oleme otsustanud, et me tahame, et kontrollida, kas - 940 00:44:02,050 --> 00:44:04,950 üks võimalus seda teha oleks pidevalt kontrollida, kas 941 00:44:04,950 --> 00:44:08,640 me saame ikkagi kasutada kvartali ja seejärel kasutage kvartali hoida 942 00:44:08,640 --> 00:44:11,460 jälgida ja seejärel liikuda edasi järgmisele suurim väärtus. 943 00:44:11,460 --> 00:44:15,010 Nüüd teise liiki puhas nii, et sa võiksid seda teha on 944 00:44:15,010 --> 00:44:16,770 kasutades operaatorit moodul. 945 00:44:16,770 --> 00:44:22,710 Nii et meil on juba pluss, miinus, korrutada ja jagada 946 00:44:22,710 --> 00:44:23,560 meile kättesaadav. 947 00:44:23,560 --> 00:44:25,600 Aga moodul operaator on selline puhas. 948 00:44:25,600 --> 00:44:28,630 Mis see on see tegelikult naasete ülejäänud 949 00:44:28,630 --> 00:44:31,750 jagades kaks arvu. 950 00:44:31,750 --> 00:44:34,680 Nii et kui sa mäletad pikk rajoon, kui sa oleks, ütleme, 951 00:44:34,680 --> 00:44:40,100 teha 74 jagatud 3, siis oleks kirjutada, üle kanda, 952 00:44:40,100 --> 00:44:43,260 lahutada, ja siis lõpus arvu allosas on 953 00:44:43,260 --> 00:44:44,050 Ülejäänud. 954 00:44:44,050 --> 00:44:47,120 Noh, mis moodul see tegelikult lihtsalt annab sulle selle. 955 00:44:47,120 --> 00:44:51,290 Nii et 74 modulo 3 annaks sulle 2. 956 00:44:51,290 --> 00:44:56,310 Samamoodi, 10 mooduli 2 järgi annab 0, sest seal ei ole ühtegi 957 00:44:56,310 --> 00:44:59,340 ülejäänud kui sa jagad 10 2. 958 00:44:59,340 --> 00:45:03,940 6 moodul 5, hästi 5 läheb 6 üks korda ja seejärel 959 00:45:03,940 --> 00:45:05,900 See on 1 üle jäänud. 960 00:45:05,900 --> 00:45:09,930 Siis kui sul on 7 modulo 9, hästi 9 on suurem kui 7. 961 00:45:09,930 --> 00:45:11,830 Nii et see ei saa minna muul ajal. 962 00:45:11,830 --> 00:45:15,560 Nii on loogiline, et tagastatav väärtus on 7. 963 00:45:15,560 --> 00:45:21,590 Nii et kui sa arvad moodul, kuidas see annab teile ülejäänud 964 00:45:21,590 --> 00:45:25,170 pärast sa jagad midagi, saad omamoodi aru, kuidas te 965 00:45:25,170 --> 00:45:27,490 võiksid kasutada seda ahne, eks? 966 00:45:30,340 --> 00:45:34,170 Nii et kui teil mingi ühendada Modulo võibolla rajoon 967 00:45:34,170 --> 00:45:36,410 operaator, midagi sellist, siis võib-olla jahe 968 00:45:36,410 --> 00:45:38,870 selline mathy viis läheneda probleemile komplekti. 969 00:45:44,010 --> 00:45:46,090 >> Nüüd, et me teame, et seal on paar erinevat 970 00:45:46,090 --> 00:45:48,350 viise, et me võiks seda teha - seal on kindlasti palju 971 00:45:48,350 --> 00:45:54,160 erinevaid viise, kuidas isegi kirjutama samas silmuseid. 972 00:45:54,160 --> 00:45:57,020 Nii et ma olen kirjutanud mõned pseudokoodi siin. 973 00:45:57,020 --> 00:46:01,760 See ei pruugi olla identne selline skelett oma 974 00:46:01,760 --> 00:46:02,460 koodi, mis sa kirjutad. 975 00:46:02,460 --> 00:46:05,580 Aga sisuliselt, protsess ja mõtteviis on 976 00:46:05,580 --> 00:46:06,940 nagu me arutasime. 977 00:46:06,940 --> 00:46:10,310 Nii et esimene, esimene rida ütleb, et saada teatud summa 978 00:46:10,310 --> 00:46:12,490 dollarites. 979 00:46:12,490 --> 00:46:16,960 Ja siis kaudne seal on teisendada see senti. 980 00:46:16,960 --> 00:46:20,540 Siis samas kvartalis võib kasutada, tahame 981 00:46:20,540 --> 00:46:21,750 suurendada arvu. 982 00:46:21,750 --> 00:46:24,360 Ja siis me tahame vähendada summa, väärtus, et 983 00:46:24,360 --> 00:46:25,300 Me tagastame tagasi. 984 00:46:25,300 --> 00:46:28,170 Nagu näete siin, see ei ole päris C. Aga ma olen ka 985 00:46:28,170 --> 00:46:31,550 liigestatud asju, panen tingimused sees 986 00:46:31,550 --> 00:46:32,190 sulgudes. 987 00:46:32,190 --> 00:46:34,370 >> Nii siis sellist saab mind hakkas. 988 00:46:34,370 --> 00:46:36,620 Ja siis hiljem, võin lihtsalt otsida süntaks. 989 00:46:36,620 --> 00:46:40,230 Sageli on kõige raskem osa tõesti probleemi kohta on 990 00:46:40,230 --> 00:46:41,860 aru, mida täpselt sa pead tegema. 991 00:46:41,860 --> 00:46:44,610 Nii et kui sa selle üles kirjutama, siis on palju lihtsam siis 992 00:46:44,610 --> 00:46:45,810 tõlkida pseudokoodi. 993 00:46:45,810 --> 00:46:49,340 Ja siis alates pseudokoodi, süntaks on üsna lihtne. 994 00:46:49,340 --> 00:46:52,140 Nii me näeme, kui kvartalites, mida saab kasutada, suurendada arvu, 995 00:46:52,140 --> 00:46:53,220 väheneb summa. 996 00:46:53,220 --> 00:46:57,310 Kuigi Dimes saab kasutada, siis läbi see nii edasi ja nii 997 00:46:57,310 --> 00:47:00,670 edasi, kuni olete ammendanud kõik oma penne. 998 00:47:00,670 --> 00:47:03,410 Sa printida münti kasutada, mis on 999 00:47:03,410 --> 00:47:06,620 miinimumsumma teha kasutaja sisestanud väärtuse. 1000 00:47:06,620 --> 00:47:09,370 Ja seal teil oma ahne algoritm. 1001 00:47:09,370 --> 00:47:13,960 Ja siis kui olete lõpetanud, et olete ka valmis pset 0. 1002 00:47:13,960 --> 00:47:16,155 >> Kas kellelgi on mingeid küsimusi midagi? 1003 00:47:19,420 --> 00:47:19,780 Hea küll. 1004 00:47:19,780 --> 00:47:22,900 Noh, ma jääda umbes natuke pärast, kui teil on 1005 00:47:22,900 --> 00:47:23,970 mingeid küsimusi. 1006 00:47:23,970 --> 00:47:24,940 See oli läbikäiguks 1. 1007 00:47:24,940 --> 00:47:26,190 Tänan, et tulid.