1 00:00:00,000 --> 00:00:00,000 2 00:00:00,000 --> 00:00:00,000 [Ddoqq il-mużika] 3 00:00:00,000 --> 00:00:13,950 4 00:00:13,950 --> 00:00:16,240 >> DAVID J. Malan: Kull dritt, dan huwa CS50. 5 00:00:16,240 --> 00:00:18,010 U dan huwa wieħed ġimgħa. 6 00:00:18,010 --> 00:00:22,050 Allura ifakkar li l-aħħar darba f'ġimgħa żero, aħna iffukat fuq il-ħsieb komputazzjoni. 7 00:00:22,050 --> 00:00:25,440 U aħna transitioned minn dak li Bidunett, programmar grafika 8 00:00:25,440 --> 00:00:27,360 lingwa mill-ħbieb tagħna fil Media Lab MIT. 9 00:00:27,360 --> 00:00:31,730 >> U ma scratch, aħna ma tesplora ideat bħal funzjonijiet, u kondizzjonijiet, 10 00:00:31,730 --> 00:00:35,210 u loops, u varjabbli, u anke avvenimenti, u ħjut, u aktar. 11 00:00:35,210 --> 00:00:37,880 U llum, aħna qed tmur biex tkompli tuża dawk l-ideat, 12 00:00:37,880 --> 00:00:40,630 u verament jeħodhom għall mogħtija, iżda jittraduċuhom 13 00:00:40,630 --> 00:00:44,220 lingwa oħra magħrufa bħala C. Issa, Ċ hija lingwa aktar tradizzjonali. 14 00:00:44,220 --> 00:00:46,020 Huwa livell aktar baxx lingwa, jekk inti se. 15 00:00:46,020 --> 00:00:47,300 >> Huwa purament testwali. 16 00:00:47,300 --> 00:00:49,910 U hekk fl-ewwel daqqa t'għajn, huwa kollha ser tfittex pjuttost mistur 17 00:00:49,910 --> 00:00:51,430 jekk inti stajt qatt programmati qabel. 18 00:00:51,430 --> 00:00:53,530 Aħna qed tmur biex ikollhom semi-colons, u parentesi, 19 00:00:53,530 --> 00:00:55,150 u ċingi kaboċċi, u aktar. 20 00:00:55,150 --> 00:00:57,240 Iżda jirrealizzaw li anke għalkemm l-sintassi hija 21 00:00:57,240 --> 00:01:00,600 waslet biex tfittex ftit familjari li ħafna minnkom, ara passat li. 22 00:01:00,600 --> 00:01:03,220 U tipprova tara l-ideat li huma, fil-fatt, familjari, 23 00:01:03,220 --> 00:01:06,750 għaliex hawnhekk fil-ġimgħa liema aħna ser tibda tagħmel hu li jqabbel, 24 00:01:06,750 --> 00:01:08,980 inizjalment, Scratch kontra C. 25 00:01:08,980 --> 00:01:12,350 >> Allura, per eżempju, tfakkar li meta aħna implimentata l-ewwel ta 'programmi tagħna 26 00:01:12,350 --> 00:01:16,220 aħħar darba, kellna blokk li ħares ftit xi ħaġa simili this-- meta 27 00:01:16,220 --> 00:01:19,990 bandiera aħdar għafast, u mbagħad kellna wieħed biċċiet jew aktar puzzle taħtha, 28 00:01:19,990 --> 00:01:22,150 f'dan il-każ, jiġifieri, bonjour dinja. 29 00:01:22,150 --> 00:01:24,870 Allura, tassew, fil Scratch, meta I ikklikkja dik il-bandiera ħadra 30 00:01:24,870 --> 00:01:27,390 biex imexxu programm tiegħi, so biex jitkellmu, dawn huma 31 00:01:27,390 --> 00:01:29,520 -blokki li tikseb esegwiti, jew run. 32 00:01:29,520 --> 00:01:32,230 U, speċifikament, Scratch qal, bonjour, dinja. 33 00:01:32,230 --> 00:01:35,377 >> Issa, I setgħet speċifikat Kliem differenti hawn. 34 00:01:35,377 --> 00:01:37,960 Iżda aħna ser tara li, fil-fatt, ħafna ta 'dawn blocks-- u tabilħaqq, 35 00:01:37,960 --> 00:01:41,880 fis-C f'ħafna functions-- jista 'jkun parametrized jew apposta 36 00:01:41,880 --> 00:01:43,150 biex tagħmel affarijiet differenti. 37 00:01:43,150 --> 00:01:45,520 Fil-fatt, fis-C jekk irridu tixtieq li jikkonvertu, issa, 38 00:01:45,520 --> 00:01:47,567 dan il-programm Scratch għal din il-lingwa l-oħra, 39 00:01:47,567 --> 00:01:49,650 aħna qed tmur biex jiktbu ftit xi ħaġa bħal din. 40 00:01:49,650 --> 00:01:52,540 >> Mogħtija, hemm xi familjari sintassi hemm aktar probabbli, int, 41 00:01:52,540 --> 00:01:54,380 u parentesi, u bla effett. 42 00:01:54,380 --> 00:01:57,740 Iżda printf-- anke jekk inti naħseb li jkun biss print. 43 00:01:57,740 --> 00:02:00,120 Iżda istampar tfisser istampar formattjati, kif aħna ser dalwaqt tara. 44 00:02:00,120 --> 00:02:02,140 Dan il litteralment se istampar għall-iskrin ikun x'ikun 45 00:02:02,140 --> 00:02:05,990 hu ġewwa ta 'dawk parentesi, li naturalment f'dan il-każ huwa, bonjour dinja. 46 00:02:05,990 --> 00:02:09,290 >> Imma inti taf Avviż xi oħra sintassi, xi kwotazzjonijiet doppja, 47 00:02:09,290 --> 00:02:11,890 li l parentesi fl-aħħar, is-semi-colon u simili. 48 00:02:11,890 --> 00:02:15,027 Allura hemm daqsxejn ta 'overhead, biex ngħidu hekk, kemm konjittiv 49 00:02:15,027 --> 00:02:17,860 u b'mod sintattiku, li aħna qed tmur li għandek tiftakar qabel fit-tul. 50 00:02:17,860 --> 00:02:20,720 Imma tirrealizza li mal-prattika, dan se jibdew tiżdied fil inti. 51 00:02:20,720 --> 00:02:24,920 >> Fil-fatt, ejja tiffoka fuq li wieħed funzjoni specifically-- f'dan il-każ, 52 00:02:24,920 --> 00:02:26,290 jgħidu bonjour dinja. 53 00:02:26,290 --> 00:02:27,560 Allura ngħid hija l-funzjoni. 54 00:02:27,560 --> 00:02:31,320 Hello dinja hija parametru tagħha, jew argument, il-personalizzazzjoni tiegħu. 55 00:02:31,320 --> 00:02:34,320 >> U l-ekwivalenza fis-C huwa biss se tkun din il-linja wieħed hawn, 56 00:02:34,320 --> 00:02:38,710 fejn printf huwa ekwivalenti għal, ngħidu, -sekwenza ikkwotat doppja, bonjour 57 00:02:38,710 --> 00:02:41,470 dinja hija ekwivalenti, naturalment, li x'hemm fil-kaxxa bajda hemmhekk. 58 00:02:41,470 --> 00:02:45,680 U l-backslash n, għalkemm ftit stramba u assenti mill-bidu nett, 59 00:02:45,680 --> 00:02:49,380 sempliċiment se jkollha l-effett li aħna ser tara fil-kompjuter, bħal Mac tiegħi jew PC, 60 00:02:49,380 --> 00:02:51,660 ta 'ftit jiċċaqalqu l- cursor mal-linja li jmiss. 61 00:02:51,660 --> 00:02:53,970 Huwa simili laqtu Ikteb fuq it-tastiera tiegħek. 62 00:02:53,970 --> 00:02:55,580 >> Allura aħna ser tara li mill-ġdid qabel twil. 63 00:02:55,580 --> 00:02:58,640 Iżda l-ewwel, ejja tagħti ħarsa lejn din Eżempju ieħor fil-każ ta 'linji. 64 00:02:58,640 --> 00:03:02,830 Kellna din il dejjem loop aħħar darba, li kienet sensiela ta 'biċċiet puzzle 65 00:03:02,830 --> 00:03:05,490 li xi ħaġa ma litteralment forever-- f'dan il-każ, 66 00:03:05,490 --> 00:03:08,360 jgħidu, bonjour dinja, bonjour dinja, bonjour dinja, bonjour dinja. 67 00:03:08,360 --> 00:03:10,350 Allura huwa loop infinita permezz tad-disinn. 68 00:03:10,350 --> 00:03:14,580 >> Fl Ċ, jekk irridu li timplimenta din -istess idea, nistgħu sempliċiment jagħmlu dan. 69 00:03:14,580 --> 00:03:19,570 Filwaqt veru, printf bonjour world-- issa filwaqt, biss naħa semantika, tip ta 70 00:03:19,570 --> 00:03:23,090 conjures l-idea ta 'kif isir xi ħaġa għal darb'oħra, u għal darb'oħra, u għal darb'oħra, 71 00:03:23,090 --> 00:03:23,980 u għal kemm żmien? 72 00:03:23,980 --> 00:03:27,990 Ukoll, irtirar true-- li vera hija biss fuq jew waħda. 73 00:03:27,990 --> 00:03:30,660 >> U vera hija, ovvjament, dejjem veru. 74 00:03:30,660 --> 00:03:33,060 Allura huwa tip ta 'sinjifikat dikjarazzjoni biss biex jgħidu veru. 75 00:03:33,060 --> 00:03:36,890 Iżda fil-fatt, dan huwa intenzjonat, għaliex jekk vera hija biss dejjem veru, 76 00:03:36,890 --> 00:03:40,850 milli waqt veru biss jimplika, jekk ftit indirettament, 77 00:03:40,850 --> 00:03:44,070 li l-linji ta 'kodiċi li ġejjin fl bejn dawk ċineg kaboċċi 78 00:03:44,070 --> 00:03:48,320 għandek biss teżegwixxi darb'oħra, u għal darb'oħra, u għal darb'oħra, u qatt fil-fatt jieqfu. 79 00:03:48,320 --> 00:03:50,230 >> Imma jekk inti ma tridx tiegħek loop biex tieqaf, kif aħna 80 00:03:50,230 --> 00:03:54,500 għamlet aħħar darba ma 'xi ħaġa simili dan, irrepeti l-50 darba ġejjin, 81 00:03:54,500 --> 00:03:57,700 fis-C nistgħu nagħmlu l-istess ma 'dak tal tissejjaħ għall loop---keyword 82 00:03:57,700 --> 00:03:59,330 li ma jkunx imma għall. 83 00:03:59,330 --> 00:04:03,290 U allura aħna għandna xi sintassi ġdid hawn, bil int i huwa ugwali 0, i inqas minn 50, 84 00:04:03,290 --> 00:04:03,880 i ++. 85 00:04:03,880 --> 00:04:05,430 U aħna ser terga 'lura għal dan. 86 00:04:05,430 --> 00:04:09,660 Iżda din hija sempliċement kif nixtiequ tittraduċi s-sett ta 'blokki Scratch 87 00:04:09,660 --> 00:04:13,079 għal sett ta 'linji Ċ ta' kodiċi. 88 00:04:13,079 --> 00:04:14,450 >> Sadanittant, jikkunsidraw fatturi varjabbli. 89 00:04:14,450 --> 00:04:16,540 U, fil-fatt, aħna biss serrieq wieħed mument ilu. 90 00:04:16,540 --> 00:04:21,220 U fil-każ ta 'scratch, jekk irridu riedu tiddikjara varjabbli imsejjaħ i 91 00:04:21,220 --> 00:04:24,590 għall i qed numru sħiħ, biss numru, u rridu li tistabbilixxi li xi valur, 92 00:04:24,590 --> 00:04:28,410 aħna se jużaw dan oranġjo blokk here-- stabbiliti i għal 0. 93 00:04:28,410 --> 00:04:30,800 >> U aħna ser tara llum u lil hinn, bħad-ġimgħa li għaddiet, 94 00:04:30,800 --> 00:04:33,850 programmaturi tagħmel kważi dejjem jibdew jingħaddu minn żero, verament 95 00:04:33,850 --> 00:04:34,950 billi konvenzjoni. 96 00:04:34,950 --> 00:04:37,250 Iżda wkoll minħabba sejħa lura minn diskussjoni tagħna ta 'binarju, 97 00:04:37,250 --> 00:04:39,990 l-iżgħar numru li tista jirrappreżentaw ma 'kwalunkwe numru ta' bits 98 00:04:39,990 --> 00:04:41,640 huwa biss se jkun 0 innifsu. 99 00:04:41,640 --> 00:04:45,190 U hekk aħna ser ġeneralment jibdew initializing anke varjabbli tagħna għal 0. 100 00:04:45,190 --> 00:04:47,710 >> U fis-C biex jagħmlu l-istess, aħna qed tmur biex ngħid int 101 00:04:47,710 --> 00:04:50,110 għall-eqreb numru sħiħ, i biss permezz tal-konvenzjoni. 102 00:04:50,110 --> 00:04:53,390 I setgħet sejjaħ dan il-varjabbli xejn Irrid, bħal fil scratch. 103 00:04:53,390 --> 00:04:57,770 U allura huwa daqs 0 biss jassenja il-valur 0 minn fuq il-lemin 104 00:04:57,770 --> 00:05:01,319 u tqiegħdu fil-varjabbli, jew il- kontenitur tal-ħażna hemmhekk, fuq ix-xellug. 105 00:05:01,319 --> 00:05:04,360 U l-semi-colon kif aħna ser see-- u Rajna ftit ta 'dawn already-- 106 00:05:04,360 --> 00:05:06,530 ifisser biss tmiem tal-ħsieb. 107 00:05:06,530 --> 00:05:09,430 Ipproċedi biex jagħmlu xi ħaġa oħra fuq il-linji li jsegwu. 108 00:05:09,430 --> 00:05:11,330 >> Issa, dak dwar espressjonijiet Boolean? 109 00:05:11,330 --> 00:05:14,320 Ifakkar li fl Scratch, dawn kienu espressjonijiet 110 00:05:14,320 --> 00:05:16,740 li huma jew vera jew mistoqsijiet false--, 111 00:05:16,740 --> 00:05:18,910 tassew, li huma jew vera jew falza. 112 00:05:18,910 --> 00:05:21,960 Allura fil-każ ta 'scratch, nistgħu jistaqsu mistoqsija sempliċi bħal dan, 113 00:05:21,960 --> 00:05:24,586 huwa i inqas minn 50? 114 00:05:24,586 --> 00:05:25,710 Hekk i, għal darb'oħra, huwa integer. 115 00:05:25,710 --> 00:05:27,210 Forsi aħna qed tużah fi programm scratch 116 00:05:27,210 --> 00:05:29,310 biex iżommu kont ta 'punteġġ jew xi ħaġa bħal dik. 117 00:05:29,310 --> 00:05:33,810 Allura dan sintassi hawn fil Scratch ifisser biss, huwa i inqas minn 50? 118 00:05:33,810 --> 00:05:37,330 Ukoll, Thankfully, hemm xi ħaġa sempliċi C. U biex tittraduċi, 119 00:05:37,330 --> 00:05:41,780 dan aħna se sempliċement jgħidu i inqas minn 50, bl-użu ċavetta familjari 120 00:05:41,780 --> 00:05:42,850 fuq it-tastiera tiegħek. 121 00:05:42,850 --> 00:05:45,141 >> Sadanittant, jekk int riedu ngħid xi ħaġa aktar ġenerali, 122 00:05:45,141 --> 00:05:49,890 simili, ukoll, huwa x inqas minn y fejn kull ta xuy huma stess varjabbli? 123 00:05:49,890 --> 00:05:52,280 Nistgħu nagħmlu l-istess ħaġa fis-C, sakemm konna 124 00:05:52,280 --> 00:05:53,942 maħluqa dawn il-varjabbli diġà. 125 00:05:53,942 --> 00:05:55,650 U aħna ser tara kif tagħmel dan qabel twil. 126 00:05:55,650 --> 00:05:58,590 Nixtiequ sempliċement jgħidu x inqas minn y. 127 00:05:58,590 --> 00:06:00,530 >> Allura int tibda tara xi similaritajiet. 128 00:06:00,530 --> 00:06:03,490 U dawk folks li għamlu Scratch kienet 129 00:06:03,490 --> 00:06:05,250 ispirati minn xi wħud minn dawn l-ideat bażiċi. 130 00:06:05,250 --> 00:06:10,350 U tkun taf tara dan it-tip ta ' sintassi fil languages-- f'ħafna 131 00:06:10,350 --> 00:06:12,160 mhux biss Scratch, mhux biss Ċ, iżda Python, 132 00:06:12,160 --> 00:06:14,790 u JavaScript, u lingwi l-oħra għadhom. 133 00:06:14,790 --> 00:06:18,270 >> Ejja jikkunsidraw kostruzzjoni ieħor mill Ċ, il-kunċett ta 'kondizzjoni, 134 00:06:18,270 --> 00:06:20,370 tagħmel xi ħaġa kondizzjonalment. 135 00:06:20,370 --> 00:06:22,720 Jekk xi ħaġa huwa veru, jagħmlu dan. 136 00:06:22,720 --> 00:06:24,457 Jekk xi ħaġa oħra huwa minnu, tagħmel dan. 137 00:06:24,457 --> 00:06:27,040 Huwa tip ta 'l-ipprogrammar ekwivalenti ta 'furketta fit-triq. 138 00:06:27,040 --> 00:06:29,730 Forsi huwa two-way furketta, ta 'tliet direzzjonijiet furketta, jew aktar. 139 00:06:29,730 --> 00:06:32,800 U fl Scratch, aħna jista 'jkollha raw xi ħaġa bħal din. 140 00:06:32,800 --> 00:06:34,010 >> Allura dan wieħed huwa wieħed kbir. 141 00:06:34,010 --> 00:06:36,750 Iżda jikkunsidraw l relattiv sempliċità tal-loġika. 142 00:06:36,750 --> 00:06:44,010 Jekk x hija inqas minn y, allura jgħidu x hija inqas minn y, inkella jekk x huwa akbar minn y, 143 00:06:44,010 --> 00:06:46,230 allura jgħidu x hija akbar minn y. 144 00:06:46,230 --> 00:06:48,300 U mbagħad, loġikament, jekk taħseb lura għal Scratch 145 00:06:48,300 --> 00:06:52,610 jew biss tiegħek intwizzjoni bniedem stess, ukoll, jekk x ma tkunx akbar minn y, u x 146 00:06:52,610 --> 00:06:57,000 mhux inqas minn y, allura naturalment x se tkun ugwali għal y. 147 00:06:57,000 --> 00:06:59,690 Allura f'dan il-każ, billi nesting dawk il-blokki Scratch, 148 00:06:59,690 --> 00:07:02,580 nistgħu jiksbu tliet Mod furketta fit-triq? 149 00:07:02,580 --> 00:07:04,980 >> Sadanittant, jekk irridu tagħmel dan fis-C, hija forsi 150 00:07:04,980 --> 00:07:08,420 jistenna simpler-- ftit mill-anqas ladarba inti tikseb familjari mal-sintassi. 151 00:07:08,420 --> 00:07:12,050 Jekk x hija inqas minn y, printf x hija inqas minn y. 152 00:07:12,050 --> 00:07:16,140 Else jekk x huwa akbar minn y, printf x hija akbar minn y. 153 00:07:16,140 --> 00:07:21,210 Else printf x hija ugwali għal y-- u, għal darb'oħra, ma 'dawk backslash truf biss 154 00:07:21,210 --> 00:07:24,160 għal dawk il-linji l-ġodda b'tali mod li jekk inti attwalment dam dan it-tip ta 'programm 155 00:07:24,160 --> 00:07:25,940 ikun biss jiċċaqalqu cursor tiegħek finalment 156 00:07:25,940 --> 00:07:28,100 mal-linja li jmiss tal-iskrin. 157 00:07:28,100 --> 00:07:31,270 >> Issa, sadanittant Scratch kellhom oħra karatteristiċi aktar sofistikati, biss 158 00:07:31,270 --> 00:07:34,320 li wħud minnhom aħna qed tmur biex inizjalment jimxu lejn id-dinja ta 'C. 159 00:07:34,320 --> 00:07:37,010 U wieħed minnhom kien imsejħa f'lista scratch. 160 00:07:37,010 --> 00:07:39,100 U dan kien speċjali tip ta varjabbli li 161 00:07:39,100 --> 00:07:42,840 permess int taħżen affarijiet multipli fiha lura, li lura, għal wara, li lura. 162 00:07:42,840 --> 00:07:45,540 >> Fl Ċ, dan ma jkollu listi, per se, imma xi ħaġa 163 00:07:45,540 --> 00:07:48,090 li huma b'mod aktar ġenerali imsejħa arrays, għalkemm aħna ser 164 00:07:48,090 --> 00:07:50,590 terga 'lura aktar tard dan is-semestru biex tħares lejn xi ħaġa 165 00:07:50,590 --> 00:07:52,780 imsejħa 'lista, jew verament lista marbuta. 166 00:07:52,780 --> 00:07:55,510 Iżda għal issa, l-eqreb ekwivalenti fis-C għalina 167 00:07:55,510 --> 00:07:57,345 se tkun xi ħaġa imsejħa firxa. 168 00:07:57,345 --> 00:07:59,740 U l-firxa hija sempliċement tip speċjali ta varjabbli 169 00:07:59,740 --> 00:08:03,160 li jippermettilek li jaħżen id-data lura, li lura, għal wara, biex lura. 170 00:08:03,160 --> 00:08:05,840 >> U, fil-fatt, fil Scratch, jekk ridna li jkollhom aċċess 171 00:08:05,840 --> 00:08:09,030 l-ewwel element ta 'firxa jew a list-- u jien ser sejħa hija, 172 00:08:09,030 --> 00:08:13,600 b'konvenzjoni, ARGV, l-argument vettur, iżda aktar fuq li qabel twil. 173 00:08:13,600 --> 00:08:17,090 Jekk nixtieq nikseb l-ewwel element ta ARGV, fid-dinja ta 'scratch 174 00:08:17,090 --> 00:08:20,930 inti fil-fatt tagħmel tipikament jibdew jingħaddu mill-1. 175 00:08:20,930 --> 00:08:22,850 >> U hekk I jistgħu jiksbu punt 1 ta 'ARGV. 176 00:08:22,850 --> 00:08:26,310 Thats kemm MIT implimentati -kunċett ta 'listi. 177 00:08:26,310 --> 00:08:29,860 Iżda fis-C, jien ser aktar sempliċiment biss jgħidu, ARGV, 178 00:08:29,860 --> 00:08:32,758 li għal darb'oħra huwa l-isem ta 'tiegħi list-- jew li tkun ċara, firxa. 179 00:08:32,758 --> 00:08:34,549 U jekk irrid l-ewwel Elementi, jien ser 180 00:08:34,549 --> 00:08:37,890 għall-użu parentesi kwadri, li inti ma jista 'spiss jintuża taħt tastiera. 181 00:08:37,890 --> 00:08:40,150 >> Iżda 0 ifisser biss, nikseb me l-ewwel. 182 00:08:40,150 --> 00:08:42,160 Allura fuq okkażjoni u kif ħin jgħaddi, aħna qed tmur 183 00:08:42,160 --> 00:08:44,570 biex tibda tara dawn dichotomies bejn scratch u Ċ, 184 00:08:44,570 --> 00:08:46,070 li permezz tagħha scratch użi wieħed. 185 00:08:46,070 --> 00:08:47,670 Aħna fis-C-użu 0 hawn. 186 00:08:47,670 --> 00:08:49,420 Imma inti taf malajr tara ladarba inti tifhem 187 00:08:49,420 --> 00:08:52,920 -pedamenti ta 'kull lingwa, li dawn l-affarijiet tibda tikseb l-aktar 188 00:08:52,920 --> 00:08:56,860 familjari permezz tal-prattika u l-prattika. 189 00:08:56,860 --> 00:08:59,700 >> Mela ejja fil-fatt tfittex issa fil program. 190 00:08:59,700 --> 00:09:04,031 Hawnhekk għandha tkun l-ewwel ta 'C tagħna kodiċi tas-sors għall-programmi komplet. 191 00:09:04,031 --> 00:09:06,280 U l-programm aħna qed tmur li joffru għall-konsiderazzjoni 192 00:09:06,280 --> 00:09:09,340 huwa dak li l-ekwivalenti li dik il-biċċa scratch qabel. 193 00:09:09,340 --> 00:09:13,210 >> Allura fil hawn, aħna għandna x'hemm forsi l-programm Ċ sempliċi 194 00:09:13,210 --> 00:09:15,410 inti tista 'tikteb li attwalment ma xi ħaġa. 195 00:09:15,410 --> 00:09:18,250 Issa, aħna ser tħares passat, għal issa, tkun tinkludi, 196 00:09:18,250 --> 00:09:21,190 io.h standard, u dawn l-angolu parentesi, u int, u bla effett, 197 00:09:21,190 --> 00:09:22,840 u l-braces kaboċċi, u simili. 198 00:09:22,840 --> 00:09:25,390 >> U ejja biss jiffoka fuq dak, għall-inqas intuwittivament, 199 00:09:25,390 --> 00:09:26,860 jista jaqbżu fil inti diġà. 200 00:09:26,860 --> 00:09:30,300 Fil-fatt, prinċipali, jien ma neċessarjament jaf dak li din hija, 201 00:09:30,300 --> 00:09:34,580 iżda ferm simili scratch kieku dik meta bandiera aħdar għafast biċċa puzzle, 202 00:09:34,580 --> 00:09:39,070 sabiex ma Ċ bħala lingwa ta 'programmar jkollhom biċċa prinċipali ta 'kodiċi li 203 00:09:39,070 --> 00:09:43,380 gets esegwiti fil-kontumaċja. U, fil-fatt, huwa litteralment għaddej biex jiġu msejħa prinċipali. 204 00:09:43,380 --> 00:09:44,720 >> Allura prinċipali hija funzjoni. 205 00:09:44,720 --> 00:09:48,720 U huwa funzjoni speċjali li teżisti fis-C li meta inti tmexxi programm, 206 00:09:48,720 --> 00:09:52,720 huwa prinċipali li gets mmexxija mill inadempjenza. Fid-dinja tal-scratch, 207 00:09:52,720 --> 00:09:56,970 kien normalment meta bandiera aħdar għafast li ltqajna mmexxija mill-kontumaċja. 208 00:09:56,970 --> 00:10:01,130 >> Sadanittant, Rajna dan qabel, printf jew stampata ifformattjat, li 209 00:10:01,130 --> 00:10:05,620 se tkun funzjoni li jiġi ma Ċ, flimkien ma 'mazz sħiħ ta' oħrajn, 210 00:10:05,620 --> 00:10:10,140 li se minn żmien u l-ħin għal darb'oħra, sabiex tagħmel eżattament 211 00:10:10,140 --> 00:10:12,450 kif ismu jissuġġerixxi, jistampaw xi ħaġa. 212 00:10:12,450 --> 00:10:13,500 What do we tixtieq li jistampaw? 213 00:10:13,500 --> 00:10:15,770 Ukoll, aħna ser tara li minn karattri tagħlaq 214 00:10:15,770 --> 00:10:18,680 bħal these-- dinja bonjour, backslash n fil-kwotazzjonijiet doppja, 215 00:10:18,680 --> 00:10:23,040 nistgħu tell printf eżattament dak li jistampaw fuq l-iskrin. 216 00:10:23,040 --> 00:10:26,430 >> Iżda sabiex jagħmlu dan, aħna sfortunatament 217 00:10:26,430 --> 00:10:30,010 bżonn tieħu xi ħaġa li hija diġà cryptic lilna bnedmin, 218 00:10:30,010 --> 00:10:34,510 imma mill-inqas dan huwa kemmxejn readable-- qawwija jinkludu, io.h standard, int, 219 00:10:34,510 --> 00:10:39,340 prinċipali, null, printf, kollha ta 'l maġika incantations aħna biss raw fuq l-iskrin. 220 00:10:39,340 --> 00:10:42,470 Iżda għandna attwalment ikollhom go aktar arcane xorta. 221 00:10:42,470 --> 00:10:47,140 Aħna l-ewwel bżonn biex tittraduċi l-kodiċi li aħna tikteb fil-kodiċi magna. 222 00:10:47,140 --> 00:10:51,370 U jitlob lura mingħandhom aħħar ġimgħa li l-magni, inqas dawk nafu hawn, 223 00:10:51,370 --> 00:10:54,450 fl-aħħar tal-ġurnata biss jifhmu żerijiet u dawk. 224 00:10:54,450 --> 00:10:58,100 >> U Alla tiegħi, jekk kellna biex jikteb dawn żero u dawk li fil-fatt il-programm, 225 00:10:58,100 --> 00:11:01,260 dan iwassal ħafna, malajr ħafna jieħdu l-gost ta 'xejn. 226 00:11:01,260 --> 00:11:05,150 Iżda jirriżulta, per ġimgħa li għaddiet, li dawn it-tendenzi ta 'żero u dawk 227 00:11:05,150 --> 00:11:06,400 biss għandhom tifsira speċjali. 228 00:11:06,400 --> 00:11:08,500 F'ċerti kuntesti, huma jistgħu jfissru numri. 229 00:11:08,500 --> 00:11:11,840 >> F'ċerti kuntesti, dawn jista 'jfisser ittri, jew kuluri, jew kwalunkwe numru 230 00:11:11,840 --> 00:11:14,710 ta 'estrazzjoni oħra hemmhekk fuq. 231 00:11:14,710 --> 00:11:18,450 Iżda hekk kif il-kompjuter tiegħek CPU, Ipproċessar Unità Ċentrali, 232 00:11:18,450 --> 00:11:20,390 jew l-imħuħ ġewwa tal-kompjuter tiegħek. 233 00:11:20,390 --> 00:11:22,240 Huwa ġeneralment Intel ġewwa, minħabba li l 234 00:11:22,240 --> 00:11:24,900 waħda mill-kumpanniji akbar li jagħmel CPUs għall-kompjuters. 235 00:11:24,900 --> 00:11:28,910 >> Ukoll, mikroproċessuri Intel u oħrajn sempliċiment iddeċidew bil-quddiem 236 00:11:28,910 --> 00:11:33,970 li ċerti mudelli ta 'żerijiet u Dawk għandha tfisser affarijiet speċifiċi. 237 00:11:33,970 --> 00:11:37,040 Ċerti mudelli ta 'żero u dawk se jfisser, jistampa dan lill-iskrin, 238 00:11:37,040 --> 00:11:39,710 jew iżidu dawn iż-żewġ numri, jew naqqas dawn iż-żewġ numri, 239 00:11:39,710 --> 00:11:43,310 jew jiċċaqalqu din il-biċċa ta 'data minn memorja tal-kompjuter tiegħi hawn fuq, 240 00:11:43,310 --> 00:11:47,870 jew kwalunkwe numru ta 'livell baxx ħafna l-oħra, iżda fl-aħħar utli, l-operazzjonijiet. 241 00:11:47,870 --> 00:11:53,022 Iżda, Thankfully, aħna bnedmin mhumiex ser li jeħtieġu li jkunu jafu dan il-livell ta 'dettall. 242 00:11:53,022 --> 00:11:56,230 Tabilħaqq, bħad aħħar darba, fejn aħna estratt mill-ġdid, u għal darb'oħra, u għal darb'oħra, 243 00:11:56,230 --> 00:11:58,930 bini minn livell baxx ħafna primitives bħal żero u dawk 244 00:11:58,930 --> 00:12:01,160 għal kunċetti livell ogħla bħall-numri, u ittri, 245 00:12:01,160 --> 00:12:04,330 u kuluri, u aktar, hekk nistgħu kemm programmaturi 246 00:12:04,330 --> 00:12:07,080 toqgħod fuq l-ispallejn tal oħrajn li jkunu ġejjin quddiemna 247 00:12:07,080 --> 00:12:11,260 u l-użu ta 'softwer li oħrajn nies kitbu qabel us-- 248 00:12:11,260 --> 00:12:14,340 jiġifieri programmi imsejħa kompilaturi. 249 00:12:14,340 --> 00:12:17,770 >> Ċ hija lingwa li normalment kkumpilata, 250 00:12:17,770 --> 00:12:22,130 li jfisser konvertita minn sors kodiċi għall-kodiċi magna. 251 00:12:22,130 --> 00:12:25,230 B'mod partikolari, xi tfisser huwa li jekk inti ħadthom ltqajna sors tiegħek 252 00:12:25,230 --> 00:12:29,530 kodiċi li inti stess tikteb, kif aħna dalwaqt se fi ftit mument fuq l-iskrin, 253 00:12:29,530 --> 00:12:33,140 u inti tixtieq li jaqilbu finalment lill-magna code-- 254 00:12:33,140 --> 00:12:37,100 dawk żerijiet u dawk li biss Mac tiegħek jew PC tiegħek 255 00:12:37,100 --> 00:12:41,230 understands-- inti ħadthom ltqajna l-ewwel għalf li source code bħala 256 00:12:41,230 --> 00:12:46,340 input speċjali programm imsejjaħ kompilatur, 257 00:12:46,340 --> 00:12:48,974 l-output ta 'li aħna għandha tara hija kodiċi tal-magna. 258 00:12:48,974 --> 00:12:51,890 U, tabilħaqq, l-aħħar darba tkellimna dwar, verament, fl-aħħar tal-ġurnata, 259 00:12:51,890 --> 00:12:52,610 soluzzjoni ta 'problemi. 260 00:12:52,610 --> 00:12:53,360 You ħadthom ltqajna l-inputs. 261 00:12:53,360 --> 00:12:54,318 U inti stajt ltqajna outputs. 262 00:12:54,318 --> 00:12:56,560 U inti stajt ltqajna xi tip tal algoritmu fin-nofs. 263 00:12:56,560 --> 00:12:59,830 >> Algoritmi jistgħu jkunu ċertament implimentata fis-software, 264 00:12:59,830 --> 00:13:02,900 kif rajna mal-ġimgħa pseudocode u kif Ser naraw bil-kodiċi attwali 265 00:13:02,900 --> 00:13:03,490 din il-ġimgħa. 266 00:13:03,490 --> 00:13:06,430 U hekk kompilatur verament ftit għandha sett ta 'algoritmi ġewwa 267 00:13:06,430 --> 00:13:10,060 minnu, li jafu kif jikkonvertu l-keywords speċjali, 268 00:13:10,060 --> 00:13:12,180 bħall prinċipali, u printf, u oħrajn li aħna biss 269 00:13:12,180 --> 00:13:17,620 raw fil-mudelli ta żerijiet u dawk li Intel ġewwa u oħrajn CPUs 270 00:13:17,620 --> 00:13:20,020 attwalment jifhem. 271 00:13:20,020 --> 00:13:22,460 Allura kif nistgħu nagħmlu dan? 272 00:13:22,460 --> 00:13:24,470 Fejn irridu jiksbu kompilatur? 273 00:13:24,470 --> 00:13:26,400 >> Ħafna minna hawn Mac jew PC. 274 00:13:26,400 --> 00:13:29,152 U int taħdem Mac OS, jew Twieqi, jew Linux, jew Solaris, 275 00:13:29,152 --> 00:13:30,860 jew kwalunkwe numru ta 'ieħor sistemi operattivi. 276 00:13:30,860 --> 00:13:32,568 U, tabilħaqq, nistgħu go out fuq il-web 277 00:13:32,568 --> 00:13:35,710 u tniżżel kompilatur għall Mac tiegħek jew PC tiegħek 278 00:13:35,710 --> 00:13:37,360 għas-sistema tiegħek operattiva partikolari. 279 00:13:37,360 --> 00:13:39,617 Iżda aħna lkoll ikunu fuq paġni differenti, biex ngħidu hekk. 280 00:13:39,617 --> 00:13:41,450 Għandna d jkollhom ftit konfigurazzjonijiet differenti. 281 00:13:41,450 --> 00:13:43,210 U affarijiet ma tkunx taħdem l-istess. 282 00:13:43,210 --> 00:13:45,280 U, tabilħaqq, dawn il-jiem ħafna minna ma jużawx 283 00:13:45,280 --> 00:13:47,516 softwer li timxi biss fuq laptops tagħna. 284 00:13:47,516 --> 00:13:49,390 Minflok, aħna nużaw xi ħaġa bħal browser li 285 00:13:49,390 --> 00:13:52,930 tippermetti magħna biex jaċċessaw fuq l-internet applikazzjonijiet fil-sħaba. 286 00:13:52,930 --> 00:13:55,630 U aktar tard dan is-semestru, aħna se nagħmlu eżattament dan. 287 00:13:55,630 --> 00:13:59,660 Aħna se jikteb applikazzjonijiet jew softwer li jużaw code-- le Ċ, 288 00:13:59,660 --> 00:14:02,860 iżda f'lingwi oħra bħall Python u JavaScript-- li jimxu fil-sħaba. 289 00:14:02,860 --> 00:14:05,860 >> U biex tagħmel dan, aħna lilna nfusna matul is-semestru 290 00:14:05,860 --> 00:14:11,890 fil-fatt se tuża 'sħaba bbażata ambjent magħruf bħala CS50 IDE. 291 00:14:11,890 --> 00:14:16,030 Dan huwa l-ipprogrammar fuq l-internet ambjent, jew l-iżvilupp integrat 292 00:14:16,030 --> 00:14:20,610 ambjent, ide, li l-bniet atop xi softwer open source imsejjaħ Cloud 9. 293 00:14:20,610 --> 00:14:22,966 U aħna ħadna xi pedagoġika simplifikazzjonijiet lilha 294 00:14:22,966 --> 00:14:25,840 sabiex jaħbu ċerti karatteristiċi fil l-ewwel ġimgħat li aħna ma bżonn, 295 00:14:25,840 --> 00:14:27,770 wara li inti tista jiżvelaw minnhom u jagħmlu l-aktar 296 00:14:27,770 --> 00:14:29,400 xejn trid ma 'l-ambjent. 297 00:14:29,400 --> 00:14:32,470 >> U jippermetti, wisq, biex qabel l-jinstallaw softwer ċerti. 298 00:14:32,470 --> 00:14:35,330 Affarijiet simili hekk imsejħa CS50 librerija, li aħna ser dalwaqt tara 299 00:14:35,330 --> 00:14:39,210 tagħtina fis-C ma 'xi funzjonalità addizzjonali. 300 00:14:39,210 --> 00:14:44,392 Mela jekk inti tmur biex finalment CS50.io, inti ser tkun imħeġġa biex log fil- 301 00:14:44,392 --> 00:14:46,350 u ladarba inti tagħmel u joħolqu kont b'xejn, 302 00:14:46,350 --> 00:14:52,150 inti se tkun tista 'aċċess ta' ambjent li tidher pjuttost bħal dan. 303 00:14:52,150 --> 00:14:53,760 >> Issa, dan huwa fil-modalità default. 304 00:14:53,760 --> 00:14:55,650 Kollox huwa sbieħ u qawwi fuq l-iskrin. 305 00:14:55,650 --> 00:14:57,941 Ħafna minna għandna drawwa ta ' jaħdmu fuq biċċa CS50 li l- 306 00:14:57,941 --> 00:14:59,150 pjuttost tard bil-lejl. 307 00:14:59,150 --> 00:15:02,400 U għalhekk xi wħud minnkom jista 'jippreferi li jibdluh modalità bil-lejl, biex ngħidu hekk. 308 00:15:02,400 --> 00:15:05,550 >> Iżda, fl-aħħar, dak li int ser tara ġewwa CS50 IDE 309 00:15:05,550 --> 00:15:08,340 huwa ta 'tliet areas-- distinti żona fuq il fejn telaq 310 00:15:08,340 --> 00:15:12,604 fajls tiegħek ser ikunu fil- sħaba, żona fuq il-lemin ta 'fuq 311 00:15:12,604 --> 00:15:14,270 fejn kodiċi tiegħek se tkun editable. 312 00:15:14,270 --> 00:15:16,650 Int ser tkun kapaċi li tiftaħ Attenti individwali għal kull programm 313 00:15:16,650 --> 00:15:19,670 li tikteb dan is-semestru ġewwa ta 'dak rokna tal-lemin. 314 00:15:19,670 --> 00:15:23,070 U allura l-iktar arcanely, u għadhom qawwi, 315 00:15:23,070 --> 00:15:26,610 se tkun din il-ħaġa fil- qiegħ magħrufa bħala tieqa terminal. 316 00:15:26,610 --> 00:15:29,450 >> Din hija iskola antika Linja ta 'Kmand Interface, 317 00:15:29,450 --> 00:15:32,240 jew CLI, li tippermetti inti teżegwixxi jikkmanda 318 00:15:32,240 --> 00:15:35,260 fuq il computer-- f'dan il-każ, il-kompjuter fil-cloud-- 319 00:15:35,260 --> 00:15:39,090 biex tagħmel affarijiet simili jikkompilaw kodiċi tiegħek mill-kodiċi sors għall-kodiċi tal-magni, 320 00:15:39,090 --> 00:15:43,600 biex imexxu programmi tiegħek, jew biex tibda tiegħek web server, jew għall-aċċess database tiegħek, 321 00:15:43,600 --> 00:15:47,454 u kull numru ta 'tekniki oħra li aħna ser tibda tuża qabel fit-tul. 322 00:15:47,454 --> 00:15:49,370 Iżda biex naslu s'hemm, aħna qed se attwalment ikollhom 323 00:15:49,370 --> 00:15:51,240 biex imorru online u tibda playing. 324 00:15:51,240 --> 00:15:54,399 U biex tagħmel dan, ejja ewwel tibda tbagħbis mal prinċipali, 325 00:15:54,399 --> 00:15:55,940 u jiktbu l-parti ewlenija ta 'programm. 326 00:15:55,940 --> 00:15:59,170 U ejja jużaw dik il-funzjoni printf, li aħna użati qabel, 327 00:15:59,170 --> 00:16:01,050 sempliċement ngħid xi ħaġa. 328 00:16:01,050 --> 00:16:04,910 >> So here I am diġà ġewwa tal IDE CS50. 329 00:16:04,910 --> 00:16:05,930 Stajt illoggjat quddiem. 330 00:16:05,930 --> 00:16:07,360 U jien sħiħa skrinjati-tieqa. 331 00:16:07,360 --> 00:16:09,670 U għalhekk, finalment, inti wisq problemi li gejjin 332 00:16:09,670 --> 00:16:12,960 se jsegwi passi simili li se tipprovdi dokumentazzjoni onlajn. 333 00:16:12,960 --> 00:16:16,360 Allura inti m'għandekx bżonn ninkwetaw dwar jassorbu kull pass tekniku ftit 334 00:16:16,360 --> 00:16:17,730 li nagħmel hawn illum. 335 00:16:17,730 --> 00:16:19,222 >> Imma int ser tingħata skrin bħal dan. 336 00:16:19,222 --> 00:16:20,430 I jiġri li jkun fil-modalità bil-lejl. 337 00:16:20,430 --> 00:16:22,944 U inti tista 'brighten kollox mill-inkapaċitazzjoni modalità bil-lejl. 338 00:16:22,944 --> 00:16:24,860 U fl-aħħar tal- jum, int ser tara 339 00:16:24,860 --> 00:16:30,090 dawn it-tliet prinċipali areas---fajl browser fuq tax-xellug, il-Korpi għal Valutazzjoni Teknika kodiċi up fuq, 340 00:16:30,090 --> 00:16:32,430 u l-tieqa terminal fil-qiegħ. 341 00:16:32,430 --> 00:16:34,890 >> Let me imorru quddiem u ikteb l-ewwel programm tiegħi. 342 00:16:34,890 --> 00:16:42,300 Jien ser preemptively jmorru File, Save, u ħlief fajl tiegħi bħala hello.c. 343 00:16:42,300 --> 00:16:46,850 Tabilħaqq, b'konvenzjoni, kwalunkwe programm aħna tikteb li l-miktuba bil-lingwa C 344 00:16:46,850 --> 00:16:49,739 għandhom jissemmew xi ħaġa dot ċ, b'konvenzjoni. 345 00:16:49,739 --> 00:16:53,030 Hekk jien ser isem li bih hello.c, għaliex I biss jridu jgħidu bonjour lill-dinja. 346 00:16:53,030 --> 00:16:54,820 Issa jien ser zoom out u kklikkja Save. 347 00:16:54,820 --> 00:16:58,180 U kollha jien hawn issa huwa tab fejn nista 'tibda tikteb kodiċi. 348 00:16:58,180 --> 00:16:59,490 >> Dan mhux se jikkumpilaw. 349 00:16:59,490 --> 00:17:00,300 Dan ifisser xejn. 350 00:17:00,300 --> 00:17:02,750 U hekk anke jekk I konvertiti dan lill żerijiet u dawk, 351 00:17:02,750 --> 00:17:05,390 -CPU huwa se jkollu ebda idea x'inhu għaddej madwar. 352 00:17:05,390 --> 00:17:14,170 Imma jekk nikteb linji li ma jaqblu bi Ċ benesseri C conventions--, 353 00:17:14,170 --> 00:17:20,150 għal darb'oħra, dan language-- bil sintassi bħal dan, printf bonjour world-- u stajt 354 00:17:20,150 --> 00:17:22,210 gotten komdu magħhom jagħmlu dan matul iż-żmien. 355 00:17:22,210 --> 00:17:24,510 So I do not think I magħmula xi żbalji tipografiċi. 356 00:17:24,510 --> 00:17:27,910 >> Iżda, dejjem, l-ewwel darba li inti tagħmel dan, inti se. 357 00:17:27,910 --> 00:17:31,090 U dak I am madwar biex jagħmlu tista ħafna tajjeb ma jaħdmu għalik l-ewwel darba. 358 00:17:31,090 --> 00:17:33,610 U li perfettament OK, għaliex id-dritt issa int 359 00:17:33,610 --> 00:17:37,662 tista 'biss tara lott kollu ta' novità, iżda maż-żmien li ladarba inti tikseb familjari 360 00:17:37,662 --> 00:17:39,870 ma 'dan l-ambjent, u din il-lingwa, u oħrajn, 361 00:17:39,870 --> 00:17:42,370 inti ser tibda biex jara l-affarijiet li huma jew eżatta jew żbaljata. 362 00:17:42,370 --> 00:17:44,369 >> U dan huwa dak li l- fellows tagħlim u kors 363 00:17:44,369 --> 00:17:48,780 assistenti jiksbu daqshekk tajba fil maż-żmien, huwa perikli żbalji jew bugs fil-kodiċi tiegħek. 364 00:17:48,780 --> 00:17:52,110 Imma jien jsostnu li hemm l-ebda bugs f'dan kodiċi. 365 00:17:52,110 --> 00:17:53,990 So I issa tixtieq li tmexxi dan il-programm. 366 00:17:53,990 --> 00:17:57,440 >> Issa fuq Mac tiegħi stess jew PC, jien fil l-vizzju ta 'ikoni tikklikkja darbtejn 367 00:17:57,440 --> 00:17:59,350 meta I tixtieq li run xi program. 368 00:17:59,350 --> 00:18:01,080 Iżda li mhux l-mudell hawn. 369 00:18:01,080 --> 00:18:04,570 F'dan l-ambjent, li huwa CS50 IDE. 370 00:18:04,570 --> 00:18:07,192 Aħna qed jużaw operattiv sistema, imsejħa Linux. 371 00:18:07,192 --> 00:18:09,900 Linux huwa reminixxenti ta 'ieħor sistema operattiva, ġeneralment magħrufa 372 00:18:09,900 --> 00:18:10,850 kif Unix. 373 00:18:10,850 --> 00:18:16,340 U l-Linux huwa partikolarment magħruf għall jkollhom Linja ta 'Kmand Ambjent, CLI. 374 00:18:16,340 --> 00:18:20,070 Issa, aħna qed tuża speċifiku togħma ta 'Linux imsejħa Ubuntu. 375 00:18:20,070 --> 00:18:22,770 U Ubuntu huwa sempliċement ċerti verżjoni ta 'Linux. 376 00:18:22,770 --> 00:18:27,900 >> Iżda dawn Linux tal f'dawn il-jiem jagħmlu attwalment jiġu mal interfaces għall-utenti grafika. 377 00:18:27,900 --> 00:18:30,360 U l-waħda aħna jiġri li tkun qed tuża hawnhekk hija bbażata fuq l-internet. 378 00:18:30,360 --> 00:18:32,735 Allura dan tista 'tidher anki ftit differenti minn xi ħaġa 379 00:18:32,735 --> 00:18:35,310 inti stess jista 'jkollhom jidher jew run fil-passat. 380 00:18:35,310 --> 00:18:37,910 >> Hekk jien ser jimxi 'l quddiem issa u jagħmlu dan li ġej. 381 00:18:37,910 --> 00:18:40,950 Stajt salvati dan il-fajl bħala hello.c. 382 00:18:40,950 --> 00:18:47,350 Jien ser jimxi 'l quddiem u tip clanghello.c Allura Clang 383 00:18:47,350 --> 00:18:49,850 għall-lingwa Ċ hija kompilatur. 384 00:18:49,850 --> 00:18:51,952 Huwa installat minn qabel fil CS50 IDE. 385 00:18:51,952 --> 00:18:54,910 U inti tista 'assolutament tniżżel u jinstallaw dan fuq Mac tiegħek stess jew PC. 386 00:18:54,910 --> 00:18:57,910 >> Iżda, għal darb'oħra, inti ma għandekx kollha il-konfigurazzjoni ta 'qabel isir għalik. 387 00:18:57,910 --> 00:19:00,940 Allura għal issa, jien biss ser imexxu clanghello.c. 388 00:19:00,940 --> 00:19:03,240 U issa Avviż dan sintassi hawn eventwalment se 389 00:19:03,240 --> 00:19:06,930 jirrealizzaw ifisser biss li jien fil- jew folder direttorju imsejħa Workspace. 390 00:19:06,930 --> 00:19:11,030 Dan is-sinjal dollaru huwa biss konvenzjoni għall tifsira, it-tip jikkmanda tiegħek hawn. 391 00:19:11,030 --> 00:19:14,560 >> Huwa dak li sejjaħ pront, biss b'konvenzjoni huwa sinjal dollaru. 392 00:19:14,560 --> 00:19:19,130 U jekk immur quddiem issa u kklikkja Ikteb, xejn ma jidher li ġara. 393 00:19:19,130 --> 00:19:20,930 Imma dak li attwalment ħaġa tajba. 394 00:19:20,930 --> 00:19:23,650 Il-inqas li jiġri fuq -iskrin tiegħek, l-aktar probabbli 395 00:19:23,650 --> 00:19:26,710 kodiċi tiegħek huwa li tkun korretta, -inqas b'mod sintattiku. 396 00:19:26,710 --> 00:19:29,120 >> Mela jekk jien tixtieq li run dan il programm, x'għandi nagħmel? 397 00:19:29,120 --> 00:19:33,770 Ukoll, jirriżulta li l- isem default b'konvenzjoni 398 00:19:33,770 --> 00:19:38,854 għall-programmi meta inti ma jispeċifikawx isem għall-programm tiegħek hija biss a.out. 399 00:19:38,854 --> 00:19:41,270 U dan sintassi wisq, inti ser jiffamiljarizzaw ruħhom mal qabel fit-tul. 400 00:19:41,270 --> 00:19:47,500 >> Dot mmejla ifisser biss, ħej, CS50 IDE, tmexxi programm imsejjaħ a.out 401 00:19:47,500 --> 00:19:49,400 dan huwa ġewwa direttorju kurrenti tiegħi. 402 00:19:49,400 --> 00:19:51,520 Dak dot tfisser il-direttorju kurrenti. 403 00:19:51,520 --> 00:19:55,040 U aħna ser tara dak sekwenzi oħra bħal dawn ta 'karattri tfisser qabel twil. 404 00:19:55,040 --> 00:19:58,430 >> Allura here we go, Daħħal, bonjour dinja. 405 00:19:58,430 --> 00:20:00,080 U tkun taf avviż, li dak li ġara? 406 00:20:00,080 --> 00:20:01,580 Mhux biss ma kien print bonjour dinja. 407 00:20:01,580 --> 00:20:05,990 Hija mċaqalqa wkoll il cursor mal-linja li jmiss. 408 00:20:05,990 --> 00:20:07,160 >> U għaliex kienet li? 409 00:20:07,160 --> 00:20:12,400 Liema kienet l-kodiċi li aħna kiteb qabel li żgurat li l-cursor se 410 00:20:12,400 --> 00:20:14,882 mur fuq il-linja li jmiss? 411 00:20:14,882 --> 00:20:16,840 Ħaġa umoristiċi dwar kompjuter huwa huwa biss se 412 00:20:16,840 --> 00:20:18,570 biex jagħmlu litteralment dak li inti tgħid li tagħmel. 413 00:20:18,570 --> 00:20:26,050 >> Mela jekk inti għid li printf bonjour, virgola, l-ispazju, dinja, kwotazzjoni qrib, 414 00:20:26,050 --> 00:20:29,090 huwa litteralment biss ser li jistampaw dawk il-karattri. 415 00:20:29,090 --> 00:20:31,980 Imma kelli dan il-karattru speċjali fl-aħħar, irtirar, backslash n. 416 00:20:31,980 --> 00:20:34,230 U dan huwa dak assigurata li l-karattru marru 417 00:20:34,230 --> 00:20:36,570 mal-linja li jmiss tal-iskrin. 418 00:20:36,570 --> 00:20:38,097 >> Fil-fatt, let me go u jagħmlu dan. 419 00:20:38,097 --> 00:20:39,430 Let me imorru quddiem u ħassar din il. 420 00:20:39,430 --> 00:20:41,180 Issa, avviż li l- quċċata ta l-iskrin tiegħi hemm 421 00:20:41,180 --> 00:20:42,890 dawl aħmar ftit fil -tab li jindika, 422 00:20:42,890 --> 00:20:45,047 ħej, inti ħadthom ma salvat fajl tiegħek. 423 00:20:45,047 --> 00:20:47,880 Hekk jien ser jimxi 'l quddiem bil-kontroll S jew kmand S, tiffranka l-fajl. 424 00:20:47,880 --> 00:20:51,130 Issa goes-- daħlu aħdar moment--. 425 00:20:51,130 --> 00:20:53,760 U issa huwa lura lill biss qed ikona qrib. 426 00:20:53,760 --> 00:21:01,860 >> Jekk jien issa run clanghello.c darb'oħra, Ikteb, dot mmejla, a.out, Daħħal, 427 00:21:01,860 --> 00:21:04,110 tkun taf tara li xorta maħduma. 428 00:21:04,110 --> 00:21:06,020 Imma hija forsi Buggy ftit. 429 00:21:06,020 --> 00:21:08,714 Dritt issa, workspace prompt-- tiegħi, u mbagħad dan is-sinjal dollaru, 430 00:21:08,714 --> 00:21:10,880 u mbagħad prompt-- attwali tiegħi hija kollha fuq l-istess linja. 431 00:21:10,880 --> 00:21:14,540 Allura dan ċertament bug estetika, anki jekk mhuwiex verament bug loġiku. 432 00:21:14,540 --> 00:21:16,250 >> Hekk jien ser teqred dak I biss għamlet. 433 00:21:16,250 --> 00:21:18,560 Jien ser terġa 'ssir a.out. 434 00:21:18,560 --> 00:21:22,710 Avviż Stajt miżjud il newline karattru lura. 435 00:21:22,710 --> 00:21:24,280 Stajt salvati l-fajl. 436 00:21:24,280 --> 00:21:31,630 >> Hekk jien ser terġa 'ssir a.out, and-- Dammit, bug, bug jfisser żball. 437 00:21:31,630 --> 00:21:35,020 Allura l-bug hija li anke jekk I miżjuda l backslash n hemmhekk, 438 00:21:35,020 --> 00:21:41,180 mill-ġdid salvati, ri-dam il-programm, l-imġiba kienet l-istess. 439 00:21:41,180 --> 00:21:42,640 Għaliex kieku jkun? 440 00:21:42,640 --> 00:21:43,910 >> Jien nieqsa pass, id-dritt? 441 00:21:43,910 --> 00:21:47,620 Dak il-pass ewlieni preċedenti kienet li għandek to-- meta tibdel kodiċi sors tiegħek, 442 00:21:47,620 --> 00:21:49,610 jirriżulta wkoll run dan permezz tal-kumpilatur 443 00:21:49,610 --> 00:21:51,102 -ġdid hekk ikollok kodiċi tal-magna l-ġdida. 444 00:21:51,102 --> 00:21:52,810 U l-kodiċi tal-magna, l-żerijiet u dawk, 445 00:21:52,810 --> 00:21:56,260 ser ikunu kważi identiċi, iżda mhux perfettament hekk, għaliex għandna bżonn, 446 00:21:56,260 --> 00:21:57,510 naturalment, dik il-linja l-ġdida. 447 00:21:57,510 --> 00:22:02,640 >> Allura biex jiffissaw dan, jien ser jeħtieġu li terġa 'ssir clanghello.c, jidħlu, dot 448 00:22:02,640 --> 00:22:03,800 mmejla, a.out. 449 00:22:03,800 --> 00:22:08,402 U issa, bonjour dinja huwa lura fejn Nistenna li jkun. 450 00:22:08,402 --> 00:22:09,610 Allura din hija kollha multa u tajba. 451 00:22:09,610 --> 00:22:13,150 Iżda a.out huwa isem pretty stupid għal programm, anke jekk dan jiġri li jkun, 452 00:22:13,150 --> 00:22:16,530 għal raġunijiet storiċi, il- default-- tifsira outputs assemblaġġ. 453 00:22:16,530 --> 00:22:20,780 >> Imma ħalluni jimxi 'l quddiem hawn u jagħmlu dan b'mod differenti. 454 00:22:20,780 --> 00:22:24,760 Irrid programm dinja bonjour tiegħi li fil-fatt jiġu msejħa bonjour. 455 00:22:24,760 --> 00:22:28,320 Mela kieku kien ikona fuq tiegħi desktop, ma jkunux a.out. 456 00:22:28,320 --> 00:22:29,730 Din se jiġi mistieden bonjour. 457 00:22:29,730 --> 00:22:33,660 >> Allura biex tagħmel dan, jirriżulta li Clang, bħal ħafna programmi, 458 00:22:33,660 --> 00:22:37,980 ssostni l-argumenti kmand tal-linja, jew bnadar, jew swiċċijiet, 459 00:22:37,980 --> 00:22:39,600 li sempliċement jinfluwenzaw l-imġieba tiegħu. 460 00:22:39,600 --> 00:22:45,160 Speċifikament, Clang jappoġġja o sing bandiera, li mbagħad jieħu t-tieni kelma. 461 00:22:45,160 --> 00:22:48,190 F'dan il-każ, jiena ser arbitrarju, iżda raġonevolment, sejħa hija bonjour. 462 00:22:48,190 --> 00:22:50,710 Imma I jistgħu sejħa hija xi ħaġa Irrid, ħlief a.out, li 463 00:22:50,710 --> 00:22:52,390 Ikun pjuttost minbarra l-punt. 464 00:22:52,390 --> 00:22:55,640 >> U mbagħad biss tispeċifika l-isem tal-fajl I do jridu jiġbru. 465 00:22:55,640 --> 00:22:59,190 Allura issa anki jekk fil-bidu tal-kmand għadni Clang, 466 00:22:59,190 --> 00:23:01,410 fl-aħħar tal-kmand I għadhom l-isem tal-file, 467 00:23:01,410 --> 00:23:05,520 I issa għandhom dawn linja ta 'kmand argumenti, dawn il-bnadar li qed jgħidu, 468 00:23:05,520 --> 00:23:11,180 oh, mill-mod, output o, fajl imsejħa bonjour, mhux il a.out default. 469 00:23:11,180 --> 00:23:13,810 >> Mela jekk I hit Ikteb issa, xejn jidher li ġara. 470 00:23:13,810 --> 00:23:17,900 U, għadhom, issa nista 'nagħmel dot mmejla bonjour. 471 00:23:17,900 --> 00:23:19,089 Allura huwa l-istess programm. 472 00:23:19,089 --> 00:23:21,380 L-żerijiet u dawk li huma identika fl-aħħar tal-ġurnata. 473 00:23:21,380 --> 00:23:24,210 >> Iżda dawn qed f'żewġ a.out files-- differenti, 474 00:23:24,210 --> 00:23:26,490 li hija l-ewwel verżjoni u biss foolishly msemmija, 475 00:23:26,490 --> 00:23:30,250 u issa bonjour, li hija ferm aktar isem konvinċenti għal programm. 476 00:23:30,250 --> 00:23:33,195 Iżda, onestament, jien qatt ser ftakar dan mill-ġdid, 477 00:23:33,195 --> 00:23:34,070 u għal darb'oħra, u għal darb'oħra. 478 00:23:34,070 --> 00:23:36,411 U, fil-fatt, kif aħna tikteb programmi aktar ikkumplikati, 479 00:23:36,411 --> 00:23:38,160 -kmandi int se jkollhom jiktbu 480 00:23:38,160 --> 00:23:40,920 huma se jikseb saħansitra aktar ikkumplikat xorta. 481 00:23:40,920 --> 00:23:41,940 >> U hekk ma joqogħdu jinkwetaw. 482 00:23:41,940 --> 00:23:46,220 Jirriżulta li l-bnedmin qabel minna għandna realizzati huma wisq 483 00:23:46,220 --> 00:23:47,530 kellhom dan l-istess problema eżatt. 484 00:23:47,530 --> 00:23:50,900 Huma wkoll ma kinitx tgawdi jkollhom tip ġust twal, jikkmanda arcane, 485 00:23:50,900 --> 00:23:52,200 aħseb u ara tiftakar lilhom. 486 00:23:52,200 --> 00:23:56,070 U hekk bnedmin quddiemna għamlu programmi oħra li jagħmluha aktar faċli 487 00:23:56,070 --> 00:23:57,670 biex jikkompilaw software tiegħek. 488 00:23:57,670 --> 00:24:01,609 >> U, tabilħaqq, wieħed tali -programm huwa msejjaħ Għamla. 489 00:24:01,609 --> 00:24:03,150 Hekk jien ser jimxi 'l quddiem u jagħmlu dan. 490 00:24:03,150 --> 00:24:05,691 Jien ser teqred kollox I biss għamlet fil-mod li ġej. 491 00:24:05,691 --> 00:24:07,690 Let me tip LS. 492 00:24:07,690 --> 00:24:10,980 U tkun taf Avviż tliet things-- a.out, u stilla, bonjour 493 00:24:10,980 --> 00:24:12,810 u stilla, u hello.c. 494 00:24:12,810 --> 00:24:14,730 Nisperaw, dan għandu jkun ftit intuwittivi, 495 00:24:14,730 --> 00:24:18,220 sakemm qabel kien hemm xejn f'dan il workspace. 496 00:24:18,220 --> 00:24:21,240 Ma kien hemm xejn li kelli ħolqot sa bdejna klassi. 497 00:24:21,240 --> 00:24:22,840 >> U jien maħluqa hello.c. 498 00:24:22,840 --> 00:24:24,544 I mbagħad ikkompilati, u qalu li din a.out. 499 00:24:24,544 --> 00:24:27,460 U mbagħad I kkumpilata mill-ġdid ftit b'mod differenti u hija imsejħa bonjour. 500 00:24:27,460 --> 00:24:32,830 So I jkollhom tliet fajls f'dan id-direttorju, f'dan il-folder imsejjaħ Workspace. 501 00:24:32,830 --> 00:24:35,005 Issa, I jista 'jara dan ukoll jekk I zoom out attwalment. 502 00:24:35,005 --> 00:24:37,530 >> Jekk I zoom out hawn u tħares lejn dak lemin ta 'fuq 503 00:24:37,530 --> 00:24:39,940 kantuniera, kif imwiegħed ix-xellug naħa tal-iskrin tiegħek 504 00:24:39,940 --> 00:24:42,990 huwa dejjem se nuruk x'hemm fil-kont tiegħek, x'hemm 505 00:24:42,990 --> 00:24:44,790 ġewwa tal IDE CS50. 506 00:24:44,790 --> 00:24:46,680 U hemm tliet files hemmhekk. 507 00:24:46,680 --> 00:24:49,070 >> So I tixtieq li jeħles mill a.out u bonjour. 508 00:24:49,070 --> 00:24:51,275 U kif inti tista jimmaġina intuwittivament, inti 509 00:24:51,275 --> 00:24:53,400 jista sort ta 'klikk kontroll jew dritt ikklikkja fuq din. 510 00:24:53,400 --> 00:24:54,590 U dan il-menu ftit pops up. 511 00:24:54,590 --> 00:24:57,170 Tista 'tniżżel il-fajl, run dan, preview, jġedded, semmi mill-ġdid, 512 00:24:57,170 --> 00:24:57,700 jew dak li mhux. 513 00:24:57,700 --> 00:25:00,260 >> UI jistgħu biss tħassar, u dan ikun imorru. 514 00:25:00,260 --> 00:25:05,260 Imma ejja tagħmel affarijiet bil-kmand linja għal issa, sabiex tikseb komda 515 00:25:05,260 --> 00:25:07,010 ma 'dan, u jagħmlu dan li ġej. 516 00:25:07,010 --> 00:25:12,345 Jien ser jimxi 'l quddiem u neħħi a.out billi jittajpja litteralment rma.out. 517 00:25:12,345 --> 00:25:14,890 Jirriżulta, il-kmand għall it-tneħħija jew tħassir xi ħaġa, 518 00:25:14,890 --> 00:25:16,280 mhuwiex tneħħi jew iħassar. 519 00:25:16,280 --> 00:25:21,260 >> Huwa aktar konċiż RM, just biex isalva inti xi keystrokes, u hit Ikteb. 520 00:25:21,260 --> 00:25:24,707 Issa aħna qed tmur biex tkun kemmxejn cryptically neħħi fajl a.out regolari. 521 00:25:24,707 --> 00:25:27,040 I do not know verament dak li fajl irregolari ikun għadu. 522 00:25:27,040 --> 00:25:28,660 Imma I do jridu tneħħiha. 523 00:25:28,660 --> 00:25:30,150 >> Hekk jien ser tip y għall iva. 524 00:25:30,150 --> 00:25:31,940 Jew I jistgħu tip dan jitwettaq, u hit Ikteb. 525 00:25:31,940 --> 00:25:33,440 U, għal darb'oħra, xejn ma jidher li jiġri. 526 00:25:33,440 --> 00:25:35,840 Iżda dan huwa, ġeneralment, hija ħaġa tajba. 527 00:25:35,840 --> 00:25:40,490 >> Jekk jien tip LS dan iż-żmien, x'għandi nara? 528 00:25:40,490 --> 00:25:44,930 Nisperaw, biss bonjour u hello.c. 529 00:25:44,930 --> 00:25:47,286 Issa, bħala twarrib, inti ser Avviż dan stilla, b'asterisk, 530 00:25:47,286 --> 00:25:48,660 li fl-aħħar tal-programmi tiegħi. 531 00:25:48,660 --> 00:25:50,201 U dawn qed wkoll juru fil-aħdar. 532 00:25:50,201 --> 00:25:53,970 Dan huwa biss mod CS50 IDE tal ta cluing inti fil-fatt 533 00:25:53,970 --> 00:25:55,280 li dan mhux kodiċi sors. 534 00:25:55,280 --> 00:25:58,880 C'est eżekutibbli, li runnable programm li inti tista 'tmexxi effettivament 535 00:25:58,880 --> 00:26:01,020 billi tagħmel dot mmejla, u allura huwa isem. 536 00:26:01,020 --> 00:26:05,860 >> Issa, let me imorru quddiem u neħħi dan, rm bonjour, Daħħal, neħħi regolari 537 00:26:05,860 --> 00:26:08,010 fajl bonjour, iva. 538 00:26:08,010 --> 00:26:11,180 U issa jekk jien tip LS, aħna qed lura għall hello.c. 539 00:26:11,180 --> 00:26:13,917 Ipprova ma tħassar tiegħek kodiċi tas-sors attwali. 540 00:26:13,917 --> 00:26:16,250 Anki jekk hemm fatturi mibnija fis IDE CS50 fejn 541 00:26:16,250 --> 00:26:19,870 inti tista 'tmur permezz reviżjoni ta'l-istorja tiegħek u kontrina fil-ħin jekk inti aċċidentalment 542 00:26:19,870 --> 00:26:23,660 iħassru xi ħaġa, tagħmel tkun konxja skond dawn iqajjem iva jew le, 543 00:26:23,660 --> 00:26:25,381 ta 'dak li inti fil-fatt tixtieq li tagħmel. 544 00:26:25,381 --> 00:26:27,380 U jekk immur sal-quċċata xellug kantuniera idejn hawn, 545 00:26:27,380 --> 00:26:30,696 dak kollu li jibqa 'huwa hello.c. 546 00:26:30,696 --> 00:26:32,570 Allura hemm għenieqed ta ' jikkmanda oħra li inti 547 00:26:32,570 --> 00:26:37,550 jista 'jesegwixxi fid-dinja ta' Linux, waħda minnhom hija, għal darb'oħra, Make. 548 00:26:37,550 --> 00:26:40,180 U aħna qed tmur biex Make programm tiegħi issa kif ġej. 549 00:26:40,180 --> 00:26:43,270 >> Minflok tagħmel clang, minflok tagħmel clang-o, 550 00:26:43,270 --> 00:26:45,860 Jien ser sempliċiment litteralment tip, jagħmel bonjour. 551 00:26:45,860 --> 00:26:49,630 U issa Avviż, I am mhux ittajpjar jagħmlu hello.c. 552 00:26:49,630 --> 00:26:50,910 I am ittajpjar jagħmlu bonjour. 553 00:26:50,910 --> 00:26:54,840 >> U dan il-programm Għamla li tiġi ma IDE CS50, u aktar 554 00:26:54,840 --> 00:26:57,090 ġeneralment ma Linux, huwa programm li l- 555 00:26:57,090 --> 00:26:59,120 ser tagħmel program imsejjaħ Hello. 556 00:26:59,120 --> 00:27:03,680 U li għaddej biex tassumi, b'konvenzjoni, li jekk jista 'jsir dan il-programm, 557 00:27:03,680 --> 00:27:09,030 li għaddej biex tkun magħmula minn sors fajl kodiċi li jispiċċa fil dot ċ-hello.c. 558 00:27:09,030 --> 00:27:12,210 >> Mela jekk I hit Ikteb issa, avviż li il-kmand li gets eżegwita 559 00:27:12,210 --> 00:27:14,340 huwa attwalment saħansitra itwal qabel minn qabel. 560 00:27:14,340 --> 00:27:16,670 U dan għaliex konna IDE CS50 preconfigured li jkollhom 561 00:27:16,670 --> 00:27:19,878 xi karatteristiċi addizzjonali mibnija f'dik ma kellniex bżonn għadha biss, iżda malajr se. 562 00:27:19,878 --> 00:27:23,470 Imma l-ħaġa importanti li tirrealizza issa huwa għandi programm Hello. 563 00:27:23,470 --> 00:27:27,080 >> Jekk jien tip LS darb'oħra, jiena għandhom programm bonjour. 564 00:27:27,080 --> 00:27:32,070 UI tista 'taħdem ma' dot mmejla a.out, no, 565 00:27:32,070 --> 00:27:35,590 minħabba li l-punt kollu ta 'dan il- eżerċizzju kien dot bonjour mmejla. 566 00:27:35,590 --> 00:27:38,089 U issa għandi programm dinja bonjour tiegħi. 567 00:27:38,089 --> 00:27:39,880 Allura miexja 'l quddiem, aħna qed kważi dejjem biss 568 00:27:39,880 --> 00:27:42,088 ser jikkompilaw programmi tagħna użu tal-Għamla kmand. 569 00:27:42,088 --> 00:27:45,300 U allura aħna qed tmur biex imexxuhom permezz dot slash, u l-isem tal-programm. 570 00:27:45,300 --> 00:27:49,610 Imma tirrealizza dak Kun qed tagħmel għall inti, huwa hija hi stess mhux kompilatur. 571 00:27:49,610 --> 00:27:53,310 Huwa biss programm konvenjenza li jaf kif tagħti lok għal kompilatur 572 00:27:53,310 --> 00:27:56,470 jiddekorri sabiex inti stess tista 'tagħmel użu minnha. 573 00:27:56,470 --> 00:28:00,220 >> Liema jikkmanda oħra jeżistu fl Linux, u min-naħa l-IDE CS50? 574 00:28:00,220 --> 00:28:03,107 Aħna ser dalwaqt tara li hemm kmand CD, it-Tibdil fil Directory. 575 00:28:03,107 --> 00:28:05,190 Dan jippermettilek ġewwa interface kmand tal-linja tiegħek 576 00:28:05,190 --> 00:28:07,610 timxi 'l quddiem, u lura, u jiftħu folders differenti 577 00:28:07,610 --> 00:28:08,860 mingħajr l-użu maws. 578 00:28:08,860 --> 00:28:12,470 >> LS rajna, li stands għall-lista -fajls fil-direttorju kurrenti. 579 00:28:12,470 --> 00:28:14,650 Jagħmlu Dir, inti tista probabbilment tibda tiddeduċi 580 00:28:14,650 --> 00:28:18,150 liema dawn ifissru now-- jagħmlu direttorju, jekk inti tixtieq li toħloq folder. 581 00:28:18,150 --> 00:28:21,270 RM għall tneħħi, RM Dir għall neħħi directory-- u dawn, 582 00:28:21,270 --> 00:28:24,160 għal darb'oħra, huma l-linja ta 'kmand ekwivalenti ta 'dak li 583 00:28:24,160 --> 00:28:26,945 tista 'tagħmel fil CS50 IDE bil-maws. 584 00:28:26,945 --> 00:28:28,820 Imma inti ser malajr issib li xi kultant huwa biss 585 00:28:28,820 --> 00:28:30,610 ħafna aktar malajr biex jagħmlu affarijiet ma tastiera, 586 00:28:30,610 --> 00:28:33,690 u finalment ħafna aktar qawwija. 587 00:28:33,690 --> 00:28:36,440 >> Iżda huwa diffiċli li wieħed jargumenta li xejn konna qed tagħmel s'issa 588 00:28:36,440 --> 00:28:39,990 huwa dak kollu li qawwija, meta l aħna kont qed tgħid hi, bonjour dinja. 589 00:28:39,990 --> 00:28:43,740 U, fil-fatt, jien hardcoded il Kliem bonjour dinja fil-programm tiegħi. 590 00:28:43,740 --> 00:28:45,530 M'hemm l-ebda dinamiżmu s'issa. 591 00:28:45,530 --> 00:28:49,320 Scratch kien ordni ta 'kobor ġimgħa li għaddiet aktar interessanti. 592 00:28:49,320 --> 00:28:51,220 >> U hekk ejja nikseb hemmhekk. 593 00:28:51,220 --> 00:28:55,310 Ejja tieħu pass lejn dak bil Mod ta 'xi wħud minn dawn il-funzjonijiet. 594 00:28:55,310 --> 00:28:59,470 Allura mhux biss ma Ċ jiġu mal printf, u l-għenieqed ta 'funzjonijiet oħra 595 00:28:59,470 --> 00:29:01,850 li wħud minnhom aħna ser tara matul iż-żmien, ma 596 00:29:01,850 --> 00:29:05,760 jagħmilha kollha li faċli dritt out tal-bieb fil jkollna jintuza mill-utent. 597 00:29:05,760 --> 00:29:08,140 >> Fil-fatt, wieħed min-nuqqasijiet ta 'lingwi bħal Ċ, 598 00:29:08,140 --> 00:29:10,140 u anki Java u għadhom oħrajn, hija li ma jkunx 599 00:29:10,140 --> 00:29:15,860 jagħmluha faċli biex biss tikseb affarijiet simili interi minn utenti, jew kordi, kliem, 600 00:29:15,860 --> 00:29:19,970 u frażijiet, let affarijiet waħdu simili f'wiċċ l-ilma valuri tal-punti, jew numri reali 601 00:29:19,970 --> 00:29:23,240 mal-punti deċimali, u verament numri twal, kif aħna ser dalwaqt ara. 602 00:29:23,240 --> 00:29:27,000 Allura din il-lista ta 'funzjonijiet hawn, dawn huma bħal biċċiet oħra puzzle Scratch 603 00:29:27,000 --> 00:29:31,090 li għandna installat minn qabel fil CS50 IDE li aħna ser tuża għal ftit ġimgħat 604 00:29:31,090 --> 00:29:34,010 bħala roti ta 'taħriġ ta' tipi, u eventwalment tieħu lilhom off, u ħarsa 605 00:29:34,010 --> 00:29:37,210 taħt il-barnuża, forsi, fil kif dawn l-affarijiet huma implimentati. 606 00:29:37,210 --> 00:29:40,460 >> Iżda biex tagħmel dan, ejja attwalment jikteb programm. 607 00:29:40,460 --> 00:29:41,770 Let me imorru quddiem issa. 608 00:29:41,770 --> 00:29:44,750 U jien ser tinħoloq entità ġdida fajl billi tikklikkja din il ftit plus, 609 00:29:44,750 --> 00:29:45,970 u tikklikkja File Ġdid. 610 00:29:45,970 --> 00:29:49,250 >> Jien ser tiffranka din il jmiss wieħed bħala, ejja ngħidu, string.c, 611 00:29:49,250 --> 00:29:50,750 għaliex nixtieq li jilagħbu bil-kordi. 612 00:29:50,750 --> 00:29:53,990 U sekwenza fis-C huwa biss sekwenza ta 'karattri. 613 00:29:53,990 --> 00:29:56,090 Allura issa ejja imorru quddiem u jagħmlu dan li ġej. 614 00:29:56,090 --> 00:30:01,204 >> Inkludi standard IO.h-- u jirriżulta standard IO, 615 00:30:01,204 --> 00:30:03,360 IO biss tfisser l-input u l-output. 616 00:30:03,360 --> 00:30:05,920 Għalhekk jirriżulta li din il-linja hawnhekk huwa dak li 617 00:30:05,920 --> 00:30:08,140 hija l-ġirien li nużaw printf. 618 00:30:08,140 --> 00:30:10,410 Printf, naturalment, tipproduċi l-output. 619 00:30:10,410 --> 00:30:15,000 Allura sabiex jużaw printf, jirriżulta out inti trid li jkollha din il-linja tal-kodiċi 620 00:30:15,000 --> 00:30:16,040 fil-quċċata tal-fajl tiegħek. 621 00:30:16,040 --> 00:30:18,456 >> U aħna ser terga 'lura għal dak li li verament ifisser qabel twil. 622 00:30:18,456 --> 00:30:20,400 Jirriżulta li fl kwalunkwe programm C nikteb, 623 00:30:20,400 --> 00:30:23,640 Stajt ltqajna biex tibda bl kodiċi li tidher bħal dan. 624 00:30:23,640 --> 00:30:26,860 U tkun taf Avviż CS50 IDE, u żvilupp integrat oħra 625 00:30:26,860 --> 00:30:30,050 ambjenti bhalu, huma ser tipprova bħala l-aħjar 626 00:30:30,050 --> 00:30:31,780 huma jistgħu biex jintemm ħsieb tiegħek. 627 00:30:31,780 --> 00:30:35,930 Fil-fatt, mument ilu jekk I jneħħu dak I biss ma, I hit Ikteb. 628 00:30:35,930 --> 00:30:39,160 >> I imbagħad hit kaboċċi miftuħa Brace, hit Ikteb darb'oħra. 629 00:30:39,160 --> 00:30:40,430 U lest maħsub tiegħi. 630 00:30:40,430 --> 00:30:45,140 Hija tatni xi linja ġdida, inċiża mhux inqas għal raġunijiet stilistika sbieħ Ser naraw. 631 00:30:45,140 --> 00:30:48,559 U allura awtomatikament tatni li Brace kaboċċi biex jintemm ħsieb tiegħi. 632 00:30:48,559 --> 00:30:50,600 Issa, dan mhux dejjem raden dak li inti trid tagħmel. 633 00:30:50,600 --> 00:30:53,620 Iżda fil-parti kbira, dan ma tiffranka xi keystrokes. 634 00:30:53,620 --> 00:30:59,560 Allura mument ilu, aħna dam dan il program-- bonjour, dinja, u mbagħad ikkompilati dan, 635 00:30:59,560 --> 00:31:00,460 u mbagħad dam. 636 00:31:00,460 --> 00:31:01,867 Imma hemm ebda dinamiżmu hawn. 637 00:31:01,867 --> 00:31:03,700 X'jiġri jekk ridna li tagħmel xi ħaġa differenti? 638 00:31:03,700 --> 00:31:07,630 Ukoll, dak li jekk jien ridt li attwalment jiksbu string mill-utent? 639 00:31:07,630 --> 00:31:11,250 Jien ser tuża biċċa puzzle jissejjaħ eżattament that-- tikseb sekwenza. 640 00:31:11,250 --> 00:31:15,860 >> Jirriżulta b'mod Ċ li meta inti ma tridx li jagħti kontribut għal biċċa puzzle, 641 00:31:15,860 --> 00:31:19,360 jew aktar kif suppost għal funzjoni, inti litteralment biss tagħmel parentesi miftuħa, 642 00:31:19,360 --> 00:31:20,430 parentesi qrib. 643 00:31:20,430 --> 00:31:25,540 Allura huwa daqslikieku hemm ebda kaxxa bajda tip fis. 644 00:31:25,540 --> 00:31:27,720 Il-blokk ngħidu aħna qabel kellhom kaxxa bajda ftit. 645 00:31:27,720 --> 00:31:29,660 Aħna ma jkollhom dik il-kaxxa bajda issa. 646 00:31:29,660 --> 00:31:33,310 >> Imma meta I call spag nikseb, jien tixtieq li tqiegħed ir-riżultat x'imkien. 647 00:31:33,310 --> 00:31:37,680 Allura paradigma komuni ħafna fis-C huwa li sejħa funzjoni, bħal spag wasalt hawn, 648 00:31:37,680 --> 00:31:41,070 u mbagħad aħżen il-valur tar-ritorn tiegħu. 649 00:31:41,070 --> 00:31:44,450 Huwa r-riżultat tagħha isforz fil xi ħaġa. 650 00:31:44,450 --> 00:31:47,630 >> U dak huwa l- tibni fl-ipprogrammar, 651 00:31:47,630 --> 00:31:53,450 kemm jekk fil Scratch jew issa Ċ, li aħna jistgħu jużaw biex attwalment jaħżnu xi ħaġa? 652 00:31:53,450 --> 00:31:55,990 Sejħitilha varjabbli, id-dritt? 653 00:31:55,990 --> 00:32:00,320 U fl Scratch, aħna ma verament kura dak li kien għaddej fil-varjabbli. 654 00:32:00,320 --> 00:32:02,170 >> Iżda f'dan il-każ, aħna fil-fatt jagħmlu. 655 00:32:02,170 --> 00:32:03,719 Jien se ngħid sekwenza. 656 00:32:03,719 --> 00:32:05,510 U mbagħad I tista 'sejħa dan il xejn irrid. 657 00:32:05,510 --> 00:32:08,340 Jien ser sejħa hija isem, gets jiksbu sekwenza. 658 00:32:08,340 --> 00:32:10,250 >> U issa anke jekk int ġdid ftit għal dan, 659 00:32:10,250 --> 00:32:11,984 Avviż li jien nieqsa xi dettall. 660 00:32:11,984 --> 00:32:13,150 Jien jinsa 'semi-colon. 661 00:32:13,150 --> 00:32:14,400 I bżonn biex jintemm dan il-ħsieb. 662 00:32:14,400 --> 00:32:17,480 Hekk jien ser jimxu cursor tiegħi, u hit semi-colon hemmhekk. 663 00:32:17,480 --> 00:32:19,130 U dak li jien biss jsir? 664 00:32:19,130 --> 00:32:21,440 F'dan il-linja ta 'kodiċi, numru 5 fil-mument, 665 00:32:21,440 --> 00:32:23,799 Jien ssejjaħ string nikseb bl-ebda dħul. 666 00:32:23,799 --> 00:32:26,090 B'hekk m'hemm l-ebda bajda ftit kaxxa bħall-blokk Save jkun. 667 00:32:26,090 --> 00:32:28,590 >> Jien biss qal, ħej, kompjuter, nikseb me string. 668 00:32:28,590 --> 00:32:31,390 Is-sinjal ugwali mhuwiex verament sinjal ugwali, per se. 669 00:32:31,390 --> 00:32:33,790 Hu l-assenjazzjoni operatur, li jfisser, 670 00:32:33,790 --> 00:32:37,860 ħej, kompjuter, jċaqalqu l-valur minn fuq il-lemin għal fuq ix-xellug. 671 00:32:37,860 --> 00:32:40,480 U fil-xellug, għandi dan li ġej. 672 00:32:40,480 --> 00:32:43,580 >> Ħej, kompjuter, tagħti me a string-- sekwenza ta 'karattri. 673 00:32:43,580 --> 00:32:45,637 U sejħa li Isem sekwenza. 674 00:32:45,637 --> 00:32:47,220 U jien ma jkollhomx li hija sejħa Isem. 675 00:32:47,220 --> 00:32:49,970 >> I tista 'sejħa hija, konvenzjonalment, xi ħaġa bħal S, 676 00:32:49,970 --> 00:32:52,900 ferm simili aħna użati i biex sejħa tal-varjabbli i. 677 00:32:52,900 --> 00:32:54,829 Imma issa I bżonn tagħmel xi ħaġa ma 'dan. 678 00:32:54,829 --> 00:32:57,370 Ikun pretty stupid li ipprova kompilazzjoni dan il-kodiċi, tmexxija 679 00:32:57,370 --> 00:32:59,410 dan il-programm, minkejja li Jien jkollna string, 680 00:32:59,410 --> 00:33:01,580 għaliex huwa għadu biss se ngħid bonjour dinja. 681 00:33:01,580 --> 00:33:06,140 >> Imma x'jiġri jekk jien tixtieq li jbiddlu dan. 682 00:33:06,140 --> 00:33:07,940 Għaliex ma nagħmel dan? 683 00:33:07,940 --> 00:33:11,632 Perċentwali i, comma s. 684 00:33:11,632 --> 00:33:13,090 U dan huwa xi ftit cryptic xorta. 685 00:33:13,090 --> 00:33:15,560 >> So let me tagħmel varjabbli tiegħi aktar ċara. 686 00:33:15,560 --> 00:33:17,510 Let me isem din il Isem varjabbli. 687 00:33:17,510 --> 00:33:20,230 U ejja ara jekk ma nkunux nistgħu tease apparti dak li qed jiġri hawn. 688 00:33:20,230 --> 00:33:22,770 >> Allura fuq il-linja ħamsa, jien jkollna string. 689 00:33:22,770 --> 00:33:25,620 U jien ħażna li spag, ikun x'ikun l-utent ikun ittajpjat fil 690 00:33:25,620 --> 00:33:28,430 fuq it-tastiera tiegħu jew tagħha, fi varjabbli imsejjaħ Isem. 691 00:33:28,430 --> 00:33:30,590 U jirriżulta li printf ma biss 692 00:33:30,590 --> 00:33:34,220 tieħu waħda argument doppju kwotazzjonijiet, input wieħed fil-kwotazzjonijiet doppja. 693 00:33:34,220 --> 00:33:39,100 >> Hija tista 'tieħu tnejn, jew tlieta, jew aktar, bħal li t-tieni, t-tielet, jew ir-raba ', 694 00:33:39,100 --> 00:33:42,320 huma kollha l-ismijiet ta 'varjabbli, jew speċifikament valuri, 695 00:33:42,320 --> 00:33:48,610 li inti tixtieq li plagg fil, dinamiku, li string fil-kwotazzjonijiet. 696 00:33:48,610 --> 00:33:52,110 Fi kliem ieħor, dak li Ikun żbaljat ma 'dan? 697 00:33:52,110 --> 00:33:57,920 Jekk I biss qal bonjour isem, backslash n, salvat fajl tiegħi, miġbura kodiċi tiegħi, 698 00:33:57,920 --> 00:34:01,660 u dam dan, x'jista 'jiġri? 699 00:34:01,660 --> 00:34:05,139 >> Huwa biss se ngħid, bonjour isem, litteralment N-A-M-E, 700 00:34:05,139 --> 00:34:07,900 li huwa tip ta 'stupid għaliex huwa xejn differenti minn dinja. 701 00:34:07,900 --> 00:34:10,400 Allura xejn fil-kwotazzjonijiet hija liema litteralment gets stampati. 702 00:34:10,400 --> 00:34:12,520 Mela jekk jien tixtieq li jkollok placeholder hemmhekk, 703 00:34:12,520 --> 00:34:14,422 I attwalment bżonn jużaw xi sintassi speċjali. 704 00:34:14,422 --> 00:34:17,380 U jirriżulta jekk inti taqra l- dokumentazzjoni għall-funzjoni printf, 705 00:34:17,380 --> 00:34:21,320 se jgħidlek li jekk inti tuża fil-mija tal- 706 00:34:21,320 --> 00:34:23,920 inti tista 'tissostitwixxi valur kif ġej. 707 00:34:23,920 --> 00:34:27,190 >> Wara comma wara li kwotazzjoni doppja, inti sempliċiment 708 00:34:27,190 --> 00:34:29,179 jiktbu l-isem tal- varjabbli li inti tixtieq 709 00:34:29,179 --> 00:34:33,790 biex plagg fil f'dik f'format kodiċi, jew format specifier, 710 00:34:33,790 --> 00:34:35,469 mija i ta 'sekwenzi. 711 00:34:35,469 --> 00:34:39,190 U issa jekk stajt salvati fajl tiegħi, Mmur lura għal terminals tiegħi. 712 00:34:39,190 --> 00:34:42,870 U jien tip Għamla String, minħabba li, għal darb'oħra, l-isem ta 'dan 713 00:34:42,870 --> 00:34:45,510 fajl li I għażlet qabel hija string.c. 714 00:34:45,510 --> 00:34:48,510 >> Hekk jien se ngħid Għamla String, jidħlu. 715 00:34:48,510 --> 00:34:51,550 Oh my goodness, tħares lejn kollha ta ' l-iżbalji ħadna diġà. 716 00:34:51,550 --> 00:34:55,540 U dan is-- dak, dan huwa verament bħal, seba programm sitt linja? 717 00:34:55,540 --> 00:34:57,790 Allura dan huwa fejn tista ferm malajr jiksbu kbira. 718 00:34:57,790 --> 00:35:00,890 >> Din il-tieqa terminal għandu issa biss mtellgħa 719 00:35:00,890 --> 00:35:03,230 numru kbir ta 'messaġġi ta' żball. 720 00:35:03,230 --> 00:35:07,560 Żgur, I m'għandhomx aktar żball Messaġġi minn Għandi linji ta 'kodiċi. 721 00:35:07,560 --> 00:35:08,680 Allura dak li qed jiġri? 722 00:35:08,680 --> 00:35:10,920 >> Ukoll, l-aħjar strateġija biex tagħmel ghaċ 723 00:35:10,920 --> 00:35:13,710 do jiltaqgħu xi kbira Lista ta 'żbalji bħal dik, 724 00:35:13,710 --> 00:35:16,690 huwa iscroll lura, tfittex għall-kmand inti biss dam, li fil-każ tiegħi 725 00:35:16,690 --> 00:35:18,020 huwa jagħmel sekwenza. 726 00:35:18,020 --> 00:35:21,630 Ħares lejn dak jagħmlu għamilt, u li li kmand twil Clang, no big deal hemmhekk. 727 00:35:21,630 --> 00:35:22,950 >> Iżda l-aħmar huwa ħażin. 728 00:35:22,950 --> 00:35:24,750 Aħdar qed tipprova tkun ġentili u utli. 729 00:35:24,750 --> 00:35:26,140 Iżda huwa għadu ħażin, f'dan il-każ. 730 00:35:26,140 --> 00:35:27,510 Iżda meta huwa ħażin? 731 00:35:27,510 --> 00:35:31,450 >> String.c, linja ħamsa, karattri ħamsa. 732 00:35:31,450 --> 00:35:32,930 Allura dan huwa biss konvenzjoni komuni. 733 00:35:32,930 --> 00:35:36,060 xi ħaġa kolon Xi ħaġa tfisser Numru linja u n-numru karattru. 734 00:35:36,060 --> 00:35:41,080 Żball, l-użu ta 'mhux iddikjarat sekwenza identifikatur. 735 00:35:41,080 --> 00:35:42,900 Ridt tfisser standard fil? 736 00:35:42,900 --> 00:35:45,530 >> Allura, sfortunatament, Clang qed tipprova li jkun utli. 737 00:35:45,530 --> 00:35:46,850 Imma hija żbaljata, f'dan il-każ. 738 00:35:46,850 --> 00:35:49,350 Le, Clang, I ma jfissirx istandard IO. 739 00:35:49,350 --> 00:35:51,070 I fisser li fuq linja waħda, iva. 740 00:35:51,070 --> 00:35:53,420 >> Iżda linja ħamsa dan wieħed hawn. 741 00:35:53,420 --> 00:35:57,040 U Clang ma jifhmu S T-R-I-N-G. 742 00:35:57,040 --> 00:36:01,490 Huwa ta 'identifikatur mhux iddikjarat, li kelma hija biss qatt rat qabel. 743 00:36:01,490 --> 00:36:05,730 U dan għaliex Ċ, il-lingwa aħna qed miktub kodiċi fl-dritt issa, 744 00:36:05,730 --> 00:36:08,070 ma jkollux varjabbli imsejħa kordi. 745 00:36:08,070 --> 00:36:11,380 >> Hija ma, fil-kontumaċja, l-appoġġ xi ħaġa imsejħa string. 746 00:36:11,380 --> 00:36:16,750 Li l-biċċa CS50 ta lingwaġġ, iżda ħafna konvenzjonali. 747 00:36:16,750 --> 00:36:18,600 Imma nista 'jiffissaw dan li ġej. 748 00:36:18,600 --> 00:36:22,090 >> Jekk I żid linja waħda tal-kodiċi għall-quċċata ta 'dan il-programm, 749 00:36:22,090 --> 00:36:27,890 jinkludu CS50.h, li huwa fajl ieħor x'imkien ġewwa ta 'CS50 IDE, x'imkien 750 00:36:27,890 --> 00:36:30,820 fuq il-hard drive, biex ngħidu hekk, tas-sistema operattiva Ubuntu 751 00:36:30,820 --> 00:36:33,590 li niġri, li huwa l-fajl li l- 752 00:36:33,590 --> 00:36:38,740 ser jgħallem l-operat Sistema dak string huwa, biss 753 00:36:38,740 --> 00:36:41,930 bħal io.h standard huwa l-fajl fis-sistema operattiva li l- 754 00:36:41,930 --> 00:36:44,430 se jgħallmu dak li printf hu. 755 00:36:44,430 --> 00:36:46,810 >> Tabilħaqq, aħna għandna gotten messaġġ simili ħafna 756 00:36:46,810 --> 00:36:50,600 jekk IO kienu ammettew standard IO.h u beda jipprova juża printf. 757 00:36:50,600 --> 00:36:53,632 Hekk jien ser jimxi 'l quddiem u biss jieħdu l-kontroll L ċar l-iskrin tiegħi. 758 00:36:53,632 --> 00:36:56,340 Jew inti tista 'tip ċari u se biss ċar l-tieqa terminal. 759 00:36:56,340 --> 00:36:58,020 Imma inti xorta tista iscroll lura fil-ħin. 760 00:36:58,020 --> 00:37:01,100 >> U jien ser terġa 'ssir Għamla String. 761 00:37:01,100 --> 00:37:03,660 Cross fingers tiegħi dan iż-żmien, Ikteb. 762 00:37:03,660 --> 00:37:05,380 Oh my God, hija maħduma. 763 00:37:05,380 --> 00:37:09,280 dan juri me kmand twil cryptic dan huwa dak Kun iġġenerat permezz Clang, 764 00:37:09,280 --> 00:37:10,460 iżda l-ebda messaġġi ta 'żball. 765 00:37:10,460 --> 00:37:12,460 Hekk realizzata, anki jekk inti tista 'tikseb kompletament 766 00:37:12,460 --> 00:37:14,480 b'rikjesti l- Numru ta 'messaġġi ta' żball, 767 00:37:14,480 --> 00:37:17,540 hija biss tista 'tkun din cascading tedjanti effett, meta Clang ma jifhimx 768 00:37:17,540 --> 00:37:19,620 ħaġa waħda, li jfisser li mbagħad ma jifhimx il-kelma li jmiss, 769 00:37:19,620 --> 00:37:20,560 jew il-linja li jmiss. 770 00:37:20,560 --> 00:37:22,850 U għalhekk hija biss ċowk fuq kodiċi tiegħek. 771 00:37:22,850 --> 00:37:24,440 Iżda l-jiffissaw jista 'jkun sempliċi. 772 00:37:24,440 --> 00:37:27,822 U hekk dejjem tiffoka fuq il- ewwel linja tal-produzzjoni. 773 00:37:27,822 --> 00:37:29,530 U jekk inti ma jifhimha, biss ħarsa 774 00:37:29,530 --> 00:37:32,480 għal keywords li jista 'jkun ħjiel, u n-numru linja, 775 00:37:32,480 --> 00:37:34,650 u l-karattru, fejn li żball jista 'jkun. 776 00:37:34,650 --> 00:37:40,328 >> Issa let me jimxi 'l quddiem u t-tip dot mmejla, spag, jidħlu. 777 00:37:40,328 --> 00:37:44,340 Hm, huwa ma tgħid bonjour xejn. 778 00:37:44,340 --> 00:37:46,210 Għaliex? 779 00:37:46,210 --> 00:37:48,170 Ukoll, recall, fejn ikun running? 780 00:37:48,170 --> 00:37:53,730 >> Huwa probabbilment staġnati fil-mument fil-linja, jekk inti se, fuq il-linja sitta, 781 00:37:53,730 --> 00:37:56,950 għaliex Get String mid-disinn, miktub minn persunal CS50, 782 00:37:56,950 --> 00:38:00,350 huwa litteralment maħsub biex biss ipoġġu stennija hemmhekk, u stennija, 783 00:38:00,350 --> 00:38:01,850 u stennija għal sekwenza. 784 00:38:01,850 --> 00:38:03,792 Kollha rridu nfissru minn sekwenza huwa input tal-bniedem. 785 00:38:03,792 --> 00:38:04,500 Allura inti taf liema? 786 00:38:04,500 --> 00:38:05,166 Let me imorru quddiem. 787 00:38:05,166 --> 00:38:08,704 U biss fuq kapriċċ, let me tip l-isem tiegħi, David, jidħlu. 788 00:38:08,704 --> 00:38:10,120 Issa I jkollhom programm aktar dinamiku. 789 00:38:10,120 --> 00:38:11,240 Huwa qal, bonjour David. 790 00:38:11,240 --> 00:38:16,280 >> Jekk immur quddiem u run din darb'oħra, let me jippruvaw jiġifieri l-isem Zamila, jidħlu. 791 00:38:16,280 --> 00:38:17,940 U issa għandna programm dinamiku. 792 00:38:17,940 --> 00:38:19,380 I ma iebes kodifikati dinja. 793 00:38:19,380 --> 00:38:21,760 I ma iebes kodifikati isem, jew David, jew Zamila. 794 00:38:21,760 --> 00:38:25,350 >> Issa huwa ħafna aktar bħall-programmi nafu, fejn jekk ikun jieħu input, 795 00:38:25,350 --> 00:38:27,870 hija tipproduċi l-output kemmxejn differenti. 796 00:38:27,870 --> 00:38:31,020 Issa, dan mhuwiex l-aħjar utent esperjenza, jew UX. 797 00:38:31,020 --> 00:38:33,000 I run-programm. 798 00:38:33,000 --> 00:38:35,830 >> I do not know dak li jien suppost li tagħmel, sakemm I attwalment tħares lejn 799 00:38:35,830 --> 00:38:37,290 jew jiftakru l-kodiċi sors. 800 00:38:37,290 --> 00:38:39,640 Mela ejja jagħmlu l-utent esperjenza ftit aħjar 801 00:38:39,640 --> 00:38:41,240 bl-aktar sempliċi ta 'affarijiet. 802 00:38:41,240 --> 00:38:44,782 Let me jmorru lura fis dan programm, u sempliċement jgħidu printf. 803 00:38:44,782 --> 00:38:48,870 >> U let me imorru quddiem u jgħidu l-isem, kolon, u spazju, u mbagħad semi-colon. 804 00:38:48,870 --> 00:38:51,170 U biss għall kicks, l-ebda backlash n. 805 00:38:51,170 --> 00:38:52,980 U li intenzjonat, minħabba I ma jridux 806 00:38:52,980 --> 00:38:54,590 il pront biex jimxu lejn il-linja li jmiss. 807 00:38:54,590 --> 00:38:58,800 >> Irrid li, minflok, tagħmel dan, tagħmel sekwenza li recompile kodiċi tiegħi fis magna ġodda 808 00:38:58,800 --> 00:39:00,980 kodiċi dot mmejla sekwenza. 809 00:39:00,980 --> 00:39:02,460 Ah, dan huwa ħafna prettier. 810 00:39:02,460 --> 00:39:05,780 Now I tassew taf x'inhi l-kompjuter trid lili biex tagħmel, tagħtiha isem. 811 00:39:05,780 --> 00:39:10,020 >> Hekk jien ser jimxi 'l quddiem u t-tip fil Rob, jidħlu, u bonjour, Rob. 812 00:39:10,020 --> 00:39:13,640 Allura, realizzata, dan għadu, fl-aħħar tal-ġurnata, uniku programm ta 'disa linja. 813 00:39:13,640 --> 00:39:15,090 Iżda aħna ħadt dawn il-passi tarbija. 814 00:39:15,090 --> 00:39:18,380 >> Aħna kiteb linja waħda magħha għandna kienu familjari, printf, bonjour dinja. 815 00:39:18,380 --> 00:39:19,980 Imbagħad aħna undid xi ftit ta 'dak. 816 00:39:19,980 --> 00:39:21,560 U aħna attwalment użati sekwenza nikseb. 817 00:39:21,560 --> 00:39:23,362 U aħna tossed li l-valur fil-varjabbli. 818 00:39:23,362 --> 00:39:26,070 U allura aħna marru quddiem u mtejba dan aktar u aktar bit-tielet linja. 819 00:39:26,070 --> 00:39:29,220 U dan il-proċess iterattiv ta ' kitba software huwa verament essenzjali. 820 00:39:29,220 --> 00:39:33,420 Fl CS50, u fil-ħajja b'mod ġenerali, inti għandek ġeneralment ma joqogħdu bilqegħda, 821 00:39:33,420 --> 00:39:36,800 għandhom programm fil-moħħ, u jippruvaw kitba il-ħaġa kkritikat sħiħa kollha f'daqqa. 822 00:39:36,800 --> 00:39:40,810 >> Se, inevitabbilment, jirriżulta b'mod aktar żbalji milli aħna lilna nfusna raw hawn. 823 00:39:40,810 --> 00:39:44,070 Anke jien, din il-ġurnata, kontinwament jagħmlu żbalji stupid oħra, 824 00:39:44,070 --> 00:39:47,480 huma żbalji fil-fatt diffiċli li huma aktar diffiċli biex insemmu. 825 00:39:47,480 --> 00:39:52,095 Imma inti se tagħmel żbalji aktar aktar linji ta 'kodiċi tikteb kollha f'daqqa. 826 00:39:52,095 --> 00:39:54,220 U għalhekk din il-prattika ta ' jiktbu xi ftit tal-kodiċi 827 00:39:54,220 --> 00:39:57,930 li int komdu ma ', jiġbru dan, run, tittestja b'mod iktar ġenerali, 828 00:39:57,930 --> 00:40:01,370 mbagħad jimxu on-- hekk bħad aħna tinżamm saffi u saffi aħħar ġimgħa, 829 00:40:01,370 --> 00:40:04,190 bini minn xi ħaġa ferm sempliċi għal xi ħaġa aktar kumplessi, 830 00:40:04,190 --> 00:40:05,200 jagħmlu l-istess hawn. 831 00:40:05,200 --> 00:40:08,500 Ma joqogħdu bilqegħda, u jippruvaw tikteb problema kollu. 832 00:40:08,500 --> 00:40:10,780 Fil-fatt tieħu dawn il-passi tarbija. 833 00:40:10,780 --> 00:40:15,100 >> Issa, kordi mhumiex kollha li utli unto infushom. 834 00:40:15,100 --> 00:40:18,210 Aħna'd attwalment, idealment, bħal li ikollhom xi ħaġa oħra fil-toolkit tagħna. 835 00:40:18,210 --> 00:40:20,990 Mela ejja fil-fatt jagħmlu eżattament dan. 836 00:40:20,990 --> 00:40:24,900 >> Let me imorru quddiem issa u Whip up programm kemmxejn differenti. 837 00:40:24,900 --> 00:40:28,320 U aħna ser sejħa dan int.c, għal numru sħiħ. 838 00:40:28,320 --> 00:40:30,870 Jien ser, b'mod simili, jinkludu CS550.h. 839 00:40:30,870 --> 00:40:33,060 Jien ser jinkludi l-istandard IO. 840 00:40:33,060 --> 00:40:36,630 U li għaddej biex tkun pjuttost komuni f'dawn il ewwel ftit jiem tal-klassi. 841 00:40:36,630 --> 00:40:39,050 >> U jien ser lest ruħi ma 'funzjoni prinċipali. 842 00:40:39,050 --> 00:40:43,370 U issa minflok jkollna string, ejja imorru quddiem u jiksbu int. 843 00:40:43,370 --> 00:40:49,285 Ejja sejħa hija i, u sejħa hija tikseb int, parens qrib, semi-colon. 844 00:40:49,285 --> 00:40:51,410 U issa ejja do xi ħaġa ma 'dan, printf. 845 00:40:51,410 --> 00:40:56,190 >> Ejja ngħidu xi ħaġa simili bonjour, n backslash, comma i. 846 00:40:56,190 --> 00:41:00,010 Hekk jien pretty ħafna jimitaw dak li għamilt ftit mument ilu. 847 00:41:00,010 --> 00:41:01,660 Għandi placeholder hawn. 848 00:41:01,660 --> 00:41:05,150 Għandi Comma i hawn, għaliex nixtieq għall-plug i f'dak placeholder. 849 00:41:05,150 --> 00:41:07,250 >> Mela ejja imorru quddiem u jippruvaw kompilazzjoni dan il-programm. 850 00:41:07,250 --> 00:41:10,060 Il-fajl huwa msejjaħ int.c. 851 00:41:10,060 --> 00:41:12,920 Hekk jien se ngħid, jagħmlu int, jidħlu. 852 00:41:12,920 --> 00:41:16,420 Oh my God, iżda l-ebda big deal, id-dritt? 853 00:41:16,420 --> 00:41:17,230 Hemm żball. 854 00:41:17,230 --> 00:41:19,810 >> Hemm żball sintattiku hawnhekk tali li l-programm ma jistax 855 00:41:19,810 --> 00:41:25,460 tkun ikkumpilata ġewwa int.c, linja seba ', karattru 27, il-format żball 856 00:41:25,460 --> 00:41:28,400 jispeċifika char tip star, ikun x'ikun li hu. 857 00:41:28,400 --> 00:41:30,020 Iżda t-tip argument huwa int. 858 00:41:30,020 --> 00:41:33,110 >> Allura hawnhekk, wisq, aħna ma tkunx qed tmur to-- anke jekk illum huwa ħafna ta 'materjal, 859 00:41:33,110 --> 00:41:35,710 aħna qed tmur biex jisbqu inti ma assolutament kull karatteristika ta 'C, 860 00:41:35,710 --> 00:41:38,070 u l-ipprogrammar aktar ġenerali, fil biss dawn l-ewwel ftit ġimgħat. 861 00:41:38,070 --> 00:41:40,400 Allura hemm spiss ser ikunu jargon li magħhom int ma jkunux familjari. 862 00:41:40,400 --> 00:41:43,350 U, fil-fatt, istilla char hija xi ħaġa aħna qed tmur biex terga 'lura għal 863 00:41:43,350 --> 00:41:44,830 fil-ġimgħa jew darba tnejn ta. 864 00:41:44,830 --> 00:41:47,530 >> Iżda għal issa, ejja ara jekk nistgħu parse kliem li huma familjari. 865 00:41:47,530 --> 00:41:50,750 Formats-- hekk aħna jinstemgħu format specifier, kodiċi format qabel. 866 00:41:50,750 --> 00:41:51,840 Li familjari. 867 00:41:51,840 --> 00:41:53,840 Type-- iżda l-argument huwa int-tip. 868 00:41:53,840 --> 00:41:55,980 Stenna minuta, i huwa l int. 869 00:41:55,980 --> 00:41:59,230 >> Forsi fil-mija attwalment għandha xi tifsira definita. 870 00:41:59,230 --> 00:42:00,230 U, fil-fatt, ma. 871 00:42:00,230 --> 00:42:03,101 Integer, jekk inti tixtieq printf li tissostitwixxi lilha, 872 00:42:03,101 --> 00:42:05,350 inti fil-fatt għandek tuża f'format differenti specifier. 873 00:42:05,350 --> 00:42:06,890 U inti ma tkunx taf dan sakemm xi ħadd qallek, 874 00:42:06,890 --> 00:42:07,973 jew inti kienu għamlu dan qabel. 875 00:42:07,973 --> 00:42:10,490 Iżda fil-mija i huwa dak jistgħu jintużaw komunement 876 00:42:10,490 --> 00:42:12,240 fil printf għal ħofor fil integer. 877 00:42:12,240 --> 00:42:14,920 Tista 'wkoll tuża mija d għal numru sħiħ deċimali. 878 00:42:14,920 --> 00:42:16,490 Imma i huwa sbieħ u sempliċi hawn. 879 00:42:16,490 --> 00:42:17,590 Allura aħna ser jmorru ma 'dak. 880 00:42:17,590 --> 00:42:21,160 >> Issa let me jimxi 'l quddiem u terġa 'ssir għamla int, Ikteb. 881 00:42:21,160 --> 00:42:23,328 Li tajjeb, l-ebda żbalji. 882 00:42:23,328 --> 00:42:27,260 Dot mmejla OK int--, utent esperjenza ħażina, minħabba I ma qallek myself 883 00:42:27,260 --> 00:42:27,760 X'tagħmel. 884 00:42:27,760 --> 00:42:28,426 Imma li l-multa. 885 00:42:28,426 --> 00:42:29,480 Jien qbid fuq malajr. 886 00:42:29,480 --> 00:42:36,260 >> U issa let me imorru quddiem u tip fil David, OK, Zamila, Rob. 887 00:42:36,260 --> 00:42:37,820 OK, hekk din hija ħaġa tajba. 888 00:42:37,820 --> 00:42:41,710 Din id-darba, jien jużaw funzjoni, biċċa puzzle, imsejħa int nikseb. 889 00:42:41,710 --> 00:42:44,230 U jirriżulta out-- u aħna ser tara dan aktar tard fir-term-- 890 00:42:44,230 --> 00:42:47,730 il-persunal CS50 ikun implimenta jiksbu sekwenza b'tali mod 891 00:42:47,730 --> 00:42:50,350 li se biss fiżikament jiksbu string għalik. 892 00:42:50,350 --> 00:42:54,340 >> Hija implimentat int nikseb fil b'tali mod li se biss 893 00:42:54,340 --> 00:42:55,590 jiksbu integer għalik. 894 00:42:55,590 --> 00:42:57,830 U jekk inti, il-bniedem, ma jikkooperawx, huwa 895 00:42:57,830 --> 00:43:00,590 litteralment biss ser jgħidu retry, retry, retry, 896 00:43:00,590 --> 00:43:05,200 litteralment hemm seduta looping, sakemm inti jobbligaw b'xi numru maġika, 897 00:43:05,200 --> 00:43:07,670 bħall 50, u bonjour 50. 898 00:43:07,670 --> 00:43:11,440 >> Jew jekk aħna run dan jerġa u t-tip fil 42, bonjour 42. 899 00:43:11,440 --> 00:43:15,750 U għalhekk il-funzjoni int nikseb ġewwa ta 'dik il-biċċa puzzle 900 00:43:15,750 --> 00:43:19,050 huwa biżżejjed loġika, riflessjoni biżżejjed, ċifra barra, dak li huwa kelma? 901 00:43:19,050 --> 00:43:20,330 U dak huwa numru? 902 00:43:20,330 --> 00:43:23,165 Biss taċċetta, finalment, numri. 903 00:43:23,165 --> 00:43:25,690 904 00:43:25,690 --> 00:43:30,230 >> Għalhekk jirriżulta li dan mhux kollha li espressiva. 905 00:43:30,230 --> 00:43:30,910 s'issa. 906 00:43:30,910 --> 00:43:33,690 Allura, Yay, l-aħħar darba aħna marru pjuttost malajr 907 00:43:33,690 --> 00:43:38,320 fis-logħob ta 'implimentazzjoni, u animazzjoni, u xogħlijiet artistiċi fl Scratch. 908 00:43:38,320 --> 00:43:42,260 U hawn, aħna qed kontenut mad-dinja bonjour, u bonjour 50. 909 00:43:42,260 --> 00:43:43,696 >> Huwa mhux kollha li jispira. 910 00:43:43,696 --> 00:43:46,070 U, tabilħaqq, dawn l-ewwel ftit Eżempji se jieħu xi żmien 911 00:43:46,070 --> 00:43:47,510 rampa fil eċċitament. 912 00:43:47,510 --> 00:43:49,854 Imma aħna għandna daqstant aktar jikkontrollaw issa, fil-fatt. 913 00:43:49,854 --> 00:43:51,770 U aħna qed tmur biex ħafna malajr jibdew saffi 914 00:43:51,770 --> 00:43:53,870 fuq quċċata ta 'dawn primitives bażiċi. 915 00:43:53,870 --> 00:43:56,370 >> Iżda l-ewwel, ejja jifhmu dak li l-limitazzjonijiet huma. 916 00:43:56,370 --> 00:43:58,620 Fil-fatt, waħda mill-affarijiet Scratch ma faċilment 917 00:43:58,620 --> 00:44:00,990 ejjew nagħmlu hu verament tħares taħt il-barnuża, 918 00:44:00,990 --> 00:44:03,740 u jifhmu dak li kompjuter huwa, dak li jistgħu jagħmlu, 919 00:44:03,740 --> 00:44:05,250 u liema limitazzjonijiet tagħha huma. 920 00:44:05,250 --> 00:44:08,580 U, fil-fatt, li n-nuqqas ta ' fehim, potenzjalment, għal żmien twil 921 00:44:08,580 --> 00:44:12,520 jista 'jwassal għall-kitba mistakes-- tagħna stess bugs, kitba softwer prekarju li 922 00:44:12,520 --> 00:44:13,880 gets Hacked b'xi mod. 923 00:44:13,880 --> 00:44:17,130 >> Mela ejja tagħti xi passi lejn fehim ta 'dan ftit aħjar minn 924 00:44:17,130 --> 00:44:19,710 Mod ta ', ngħidu, l-eżempju li ġej. 925 00:44:19,710 --> 00:44:23,550 Jien ser jimxi 'l quddiem u jimplimentaw malajr reali programm imsejjaħ Aġent li Jżid. 926 00:44:23,550 --> 00:44:25,134 Bħal, ejja żid xi numri flimkien. 927 00:44:25,134 --> 00:44:27,800 U jien ser kodiċi xi kantunieri hawn, u biss kopja u paste 928 00:44:27,800 --> 00:44:30,270 fejn I kien qabel, biss sabiex inkunu nistgħu nikseb going qabel. 929 00:44:30,270 --> 00:44:33,090 Allura issa stajt ltqajna l-bidu bażiċi ta 'programm imsejjaħ Aġent li Jżid. 930 00:44:33,090 --> 00:44:34,670 >> U ejja imorru quddiem u tagħmel dan. 931 00:44:34,670 --> 00:44:38,680 Jien ser jimxi 'l quddiem u jiġifieri, intx gets nikseb int. 932 00:44:38,680 --> 00:44:39,430 U inti taf liema? 933 00:44:39,430 --> 00:44:40,990 Ejja jagħmlu esperjenza aħjar għall-utent. 934 00:44:40,990 --> 00:44:45,740 >> Mela ejja biss jgħidu x hija, u effettivament pront lill-utent biex tagħtina x. 935 00:44:45,740 --> 00:44:50,600 U allura let me imorru quddiem u jgħidu, printf kif madwar y hija, din id-darba jistennew 936 00:44:50,600 --> 00:44:53,140 żewġ valuri mill-utent. 937 00:44:53,140 --> 00:44:59,759 U allura ejja biss jimxi 'l quddiem u jiġifieri, printf, is-somma ta 'xuy hu. 938 00:44:59,759 --> 00:45:01,300 U issa jien ma trid tagħmel fil-mija s. 939 00:45:01,300 --> 00:45:09,080 Nixtieq do mija i, backslash n, u mbagħad plagg fil-valur somma. 940 00:45:09,080 --> 00:45:10,620 >> Allura kif nista tmur dwar kif isir dan? 941 00:45:10,620 --> 00:45:11,270 Taf xiex? 942 00:45:11,270 --> 00:45:12,840 Naf kif jużaw varjabbli. 943 00:45:12,840 --> 00:45:15,140 Let me biss tiddikjara waħda ġdida, int z. 944 00:45:15,140 --> 00:45:16,770 >> U jien ser tieħu raden hawn. 945 00:45:16,770 --> 00:45:21,470 Jekk ikun hemm sinjali ugwali f'dan il- lingwa, forsi I biss tista 'tagħmel x plus y, 946 00:45:21,470 --> 00:45:23,660 sakemm I jispiċċaw tiegħi ħasbu ma 'semi-colon? 947 00:45:23,660 --> 00:45:28,170 Issa I tista 'tmur lura stabbiliti hawn, plagg fil z- finitura dan il-ħsieb ma 'semi-colon. 948 00:45:28,170 --> 00:45:33,160 U ejja ara issa, jekk dawn sekwenzi ta lines-- x hija tikseb int. 949 00:45:33,160 --> 00:45:34,770 Y hija tikseb int. 950 00:45:34,770 --> 00:45:37,980 >> Żid x uy, jaħżnu l-valur fil z-- hekk, għal darb'oħra, ftakar is-sinjal ugwali 951 00:45:37,980 --> 00:45:38,560 mhix ugwali. 952 00:45:38,560 --> 00:45:41,100 Huwa assenjazzjoni mill-lemin għax-xellug. 953 00:45:41,100 --> 00:45:45,180 U ejja jistampa li s-somma ta xuy mhux litteralment z- 954 00:45:45,180 --> 00:45:46,830 imma x'hemm ġewwa ta 'z. 955 00:45:46,830 --> 00:45:50,090 Mela ejja jagħmlu l-Aġent li Jżid - sbieħ, l-ebda żbalji din id-darba. 956 00:45:50,090 --> 00:45:53,030 Dot mmejla Aġent li Jżid, jidħlu, x se tkun 1. 957 00:45:53,030 --> 00:45:55,380 >> Y se tkun ta '2. 958 00:45:55,380 --> 00:45:58,964 U s-somma ta 'xuy hija ta' 3. 959 00:45:58,964 --> 00:46:00,130 Allura li kollox multa u tajba. 960 00:46:00,130 --> 00:46:03,260 >> Allura inti jimmaġina li matematika għandhom jaħdmu fi programm bħal dan. 961 00:46:03,260 --> 00:46:04,040 Imma inti taf liema? 962 00:46:04,040 --> 00:46:06,904 Huwa dan il-varjabbli, linja 12, anke neċessarju? 963 00:46:06,904 --> 00:46:09,820 Inti ma għandekx bżonn li tikseb fis-drawwa ta 'ftit ħażna affarijiet varjabbli 964 00:46:09,820 --> 00:46:10,980 sempliċiment għaliex inti tista '. 965 00:46:10,980 --> 00:46:13,550 U, fil-fatt, huwa ġeneralment disinn ħażin bla qies 966 00:46:13,550 --> 00:46:18,100 jekk inti qed joħolqu varjabbli, imsejħa z f'dan il-każ, il-ħażna xi ħaġa fiha, 967 00:46:18,100 --> 00:46:21,390 u mbagħad minnufih tużaha, imma qatt darb'oħra. 968 00:46:21,390 --> 00:46:24,700 Għaliex jagħtu xi ħaġa isem bħal z jekk int litteralment 969 00:46:24,700 --> 00:46:26,770 ser tuża dik Ħaġa darba biss, u għalhekk 970 00:46:26,770 --> 00:46:29,380 prossimali biex fejn inti maħluqa fl-ewwel lok, 971 00:46:29,380 --> 00:46:31,052 tant qrib f'termini ta 'linji ta' kodiċi? 972 00:46:31,052 --> 00:46:31,760 Allura inti taf liema? 973 00:46:31,760 --> 00:46:34,480 Jirriżulta li C hija pjuttost flessibbli. 974 00:46:34,480 --> 00:46:36,586 Jekk jien fil-fatt tixtieq li Plug-in valuri hawnhekk, 975 00:46:36,586 --> 00:46:38,210 I m'għandhomx bżonn li tiddikjara varjabbli ġdid. 976 00:46:38,210 --> 00:46:41,680 I jistgħu biss plug-in x plus y, għaliex C jifhem 977 00:46:41,680 --> 00:46:43,390 aritmetika, u l-operaturi matematiċi. 978 00:46:43,390 --> 00:46:47,140 >> So I jistgħu sempliċement jgħidu, jagħmlu dan matematika, x plus y, tkun xi tkun dawk il-valuri huma, 979 00:46:47,140 --> 00:46:50,780 plagg li jirriżulta numru sħiħ f'dak sekwenza. 980 00:46:50,780 --> 00:46:53,730 Allura dan jista 'jkun, għalkemm biss linja waħda iqsar, 981 00:46:53,730 --> 00:46:58,480 disinn aħjar, programm aħjar, għaliex hemm inqas kodiċi, għalhekk 982 00:46:58,480 --> 00:46:59,921 inqas għalija li jifhmu. 983 00:46:59,921 --> 00:47:01,920 U huwa wkoll biss aktar nodfa, sakemm aħna mhux qed 984 00:47:01,920 --> 00:47:04,620 introduzzjoni kliem ġdid, simboli ġodda, bħall z, 985 00:47:04,620 --> 00:47:07,510 anki jekk dawn ma jkunux verament jservu ħafna ta 'skop. 986 00:47:07,510 --> 00:47:12,890 >> Sfortunatament, matematika mhuwiex kollha li kultant affidabbli. 987 00:47:12,890 --> 00:47:15,270 Ejja imorru quddiem u tagħmel dan. 988 00:47:15,270 --> 00:47:18,200 Jien ser jimxi 'l quddiem issa u jagħmlu dan li ġej. 989 00:47:18,200 --> 00:47:27,650 >> Ejja nagħmlu printf, mija i, flimkien mija I, għandhom jiġu mija i, n backslash. 990 00:47:27,650 --> 00:47:32,240 U jien ser tagħmel this-- xyx plus y. 991 00:47:32,240 --> 00:47:34,821 Hekk jien biss ser jikteb dan il kemmxejn differenti hawn. 992 00:47:34,821 --> 00:47:36,320 Let me biss tagħmel verifika sanità malajr. 993 00:47:36,320 --> 00:47:37,986 Għal darb'oħra, ejja ma jiksbu l quddiem ta 'ruħna. 994 00:47:37,986 --> 00:47:41,420 Jagħmlu aġent li jżid, dot aġent li jżid mmejla. 995 00:47:41,420 --> 00:47:44,950 x hija 1, y hija ta '2, 1 flimkien ma' 2 huwa 3. 996 00:47:44,950 --> 00:47:45,870 Allura li tajjeb. 997 00:47:45,870 --> 00:47:49,060 Imma ejja jikkomplika dan issa daqsxejn, u toħloq fajl ġdid. 998 00:47:49,060 --> 00:47:53,350 >> Jien ser sejħa dan wieħed, jgħidu, ints, plural għal kulħadd interi. 999 00:47:53,350 --> 00:47:55,980 Nibda fejn I kien mument ilu. 1000 00:47:55,980 --> 00:47:57,770 Imma issa ejja nagħmlu xi linji oħra ftit. 1001 00:47:57,770 --> 00:48:03,430 Let me imorru quddiem u jagħmlu dawn li ġejjin, printf, mija i, nieqes fil-mija i, 1002 00:48:03,430 --> 00:48:08,959 huwa mija i, comma x, y virgola YX nieqes. 1003 00:48:08,959 --> 00:48:10,750 Hekk jien tagħmel xi ftit matematika differenti hemmhekk. 1004 00:48:10,750 --> 00:48:11,624 Ejja nagħmlu xulxin. 1005 00:48:11,624 --> 00:48:16,610 Allura fil-mija i darbiet fil-mija i huwa l-mija i, n backslash. 1006 00:48:16,610 --> 00:48:21,430 Ejja plug-in x, uy, u x-ħinijiet y. 1007 00:48:21,430 --> 00:48:24,530 Aħna ser tuża l-asterisk dwar kompjuter tiegħek għal żminijiet. 1008 00:48:24,530 --> 00:48:26,390 >> Inti ma jużawx x. x hija isem varjabbli hawn. 1009 00:48:26,390 --> 00:48:28,270 Tuża l-istilla għat-tkattir. 1010 00:48:28,270 --> 00:48:29,020 Ejja nagħmlu waħda aktar. 1011 00:48:29,020 --> 00:48:34,580 Printf mija I, maqsuma billi fil-mija i, huwa mija i, 1012 00:48:34,580 --> 00:48:40,460 n backslash. xy diviż bil y-- sabiex inti tuża l quddiem mmejla fis-C 1013 00:48:40,460 --> 00:48:41,502 biex tagħmel diviżjoni. 1014 00:48:41,502 --> 00:48:42,460 U ejja jagħmlu waħda oħra. 1015 00:48:42,460 --> 00:48:47,920 1016 00:48:47,920 --> 00:48:55,240 Kumplament tar-mija i, maqsuma billi fil-mija i, huwa mija i. 1017 00:48:55,240 --> 00:48:59,550 xy-- u issa kumplament huwa dak li fadal. 1018 00:48:59,550 --> 00:49:02,980 Meta inti tipprova jiġi diviż Denominatur fi numeratur, 1019 00:49:02,980 --> 00:49:05,570 kemm huwa fadal li inti ma setgħux taqsam barra? 1020 00:49:05,570 --> 00:49:07,910 >> Allura ma jkunx hemm verament, neċessarjament, simbolu 1021 00:49:07,910 --> 00:49:09,470 konna użati fl-iskola grad għal dan. 1022 00:49:09,470 --> 00:49:13,830 Iżda hemm fl Ċ Tista jgħidu x modulo y, fejn 1023 00:49:13,830 --> 00:49:18,000 dan is-sinjal fil-mija f'dan il context-- joħloq konfużjoni meta int ġewwa 1024 00:49:18,000 --> 00:49:20,170 tal-kwotazzjonijiet doppja, ġewwa ta 'printf,-mija 1025 00:49:20,170 --> 00:49:21,830 hija użata bħala l-specifier format. 1026 00:49:21,830 --> 00:49:25,420 >> Meta tuża fil-mija barra tal li fi espressjoni matematika, 1027 00:49:25,420 --> 00:49:29,910 huwa l-operatur modulo għall modulari arithmetic-- għall-għanijiet tagħna 1028 00:49:29,910 --> 00:49:33,650 hawn, ifisser biss, dak li huwa l- kumplament ta 'x diviż bi y? 1029 00:49:33,650 --> 00:49:36,130 Allura x diviż bi y hija l y x mmejla. 1030 00:49:36,130 --> 00:49:38,220 X'inhu l-bqija ta 'x diviż bi y? 1031 00:49:38,220 --> 00:49:41,780 Huwa x y mod, bħala programmer ngħid. 1032 00:49:41,780 --> 00:49:48,300 >> Mela jekk I magħmula l-ebda żbalji hawn, let me imorru quddiem u jagħmlu ints, plural, sbieħ, 1033 00:49:48,300 --> 00:49:50,010 u ints mmejla dot. 1034 00:49:50,010 --> 00:49:55,270 U ejja imorru quddiem u do, ejja ngħidu, 1, 10. 1035 00:49:55,270 --> 00:49:58,390 Kull dritt, 1 flimkien ma '10 huwa ta '11, verifika. 1036 00:49:58,390 --> 00:50:01,240 1 nieqes 10 ikun negattiv 9, check. 1037 00:50:01,240 --> 00:50:03,420 >> 1 ħinijiet 10 huwa 10, verifika. 1038 00:50:03,420 --> 00:50:07,090 1 diviż b'10 is-- OK, aħna ser skip dan wieħed. 1039 00:50:07,090 --> 00:50:09,480 Kumplament tal-1 ta diviż b'10 huwa 1. 1040 00:50:09,480 --> 00:50:10,680 Li korretta. 1041 00:50:10,680 --> 00:50:12,630 Iżda hemm bug fil hawn. 1042 00:50:12,630 --> 00:50:15,390 >> Allura l-waħda nressaq tiegħi jgħaddi, mhux korretta. 1043 00:50:15,390 --> 00:50:16,670 I mean, huwa qrib iż-0. 1044 00:50:16,670 --> 00:50:20,670 1 diviż b'10, tafu, jekk aħna qed qtugħ xi kantunieri, żgur, huwa żero. 1045 00:50:20,670 --> 00:50:28,050 Iżda għandu verament tkun 1/10, 0.1, jew 0.10, 0.1000, jew oħrajn. 1046 00:50:28,050 --> 00:50:30,600 >> M'għandux verament tkun żero. 1047 00:50:30,600 --> 00:50:35,990 Ukoll, jirriżulta li l-kompjuter ikun tagħmel litteralment dak li aħna told li tagħmel. 1048 00:50:35,990 --> 00:50:39,460 Aħna qed jagħmlu matematika simili x diviż bil y. 1049 00:50:39,460 --> 00:50:44,680 U kemm xuy, kull l-linji tal-kodiċi preċedenti, huma interi. 1050 00:50:44,680 --> 00:50:50,440 >> Barra minn hekk, fuq il-linja 15, aħna javżak printf, ħej, printf plug-in 1051 00:50:50,440 --> 00:50:54,230 integer, plug-in integer, -Plug fi integer-- speċifikament 1052 00:50:54,230 --> 00:50:57,580 x, u mbagħad y, u mbagħad x diviż bl y. x uy huma ints. 1053 00:50:57,580 --> 00:50:59,060 Aħna tajba hemmhekk. 1054 00:50:59,060 --> 00:51:01,250 >> Imma dak li hu x diviż bil x? 1055 00:51:01,250 --> 00:51:06,790 x diviż bi y għandu jkun, matematikament, 1/10, jew 0.1, 1056 00:51:06,790 --> 00:51:11,600 li huwa għadd reali, numru reali wara, potenzjalment, għal punt deċimali. 1057 00:51:11,600 --> 00:51:13,230 Huwa mhux numru sħiħ. 1058 00:51:13,230 --> 00:51:18,290 >> Imma dak huwa l-eqreb numru sħiħ għall-1/10, jew 0.1? 1059 00:51:18,290 --> 00:51:21,114 Yeah, huwa tip ta 'huwa żero. 1060 00:51:21,114 --> 00:51:22,030 0.1 hija ħafna bħal dan. 1061 00:51:22,030 --> 00:51:22,890 U 1 huwa dan ħafna. 1062 00:51:22,890 --> 00:51:25,870 Allura 1/10 huwa eqreb lejn 0 milli huwa li wieħed. 1063 00:51:25,870 --> 00:51:30,800 >> U għalhekk dak Ċ qed tagħmel għall us-- tip ta 'għaliex aħna told to-- 1064 00:51:30,800 --> 00:51:32,600 huwa truncating li numru sħiħ. 1065 00:51:32,600 --> 00:51:40,540 Huwa jieħu l-valur, li għal darb'oħra huwa mistennija li jkunu xi ħaġa simili 0.1000, 1066 00:51:40,540 --> 00:51:41,800 0 u ibqa 'sejjer hekk. 1067 00:51:41,800 --> 00:51:45,320 U huwa truncating kollox wara l-punt deċimali 1068 00:51:45,320 --> 00:51:47,510 hekk li dan kollu Jittieħed, minħabba li ma 1069 00:51:47,510 --> 00:51:51,910 tajbin fil-kunċett ta 'numru sħiħ, li huwa biss numru bħall negattiv 1, 0, 1, 1070 00:51:51,910 --> 00:51:55,830 u 'l isfel, huwa throws bogħod kollox wara l-punt deċimali għaliex inti 1071 00:51:55,830 --> 00:51:59,020 ma jistax jitwaħħal punt deċimali fi integer skond id-definizzjoni. 1072 00:51:59,020 --> 00:52:01,290 >> Allura l-risposta hawnhekk huwa żero. 1073 00:52:01,290 --> 00:52:02,600 Allura kif nistgħu jiffissaw dan? 1074 00:52:02,600 --> 00:52:04,400 Għandna bżonn soluzzjoni oħra kollha flimkien. 1075 00:52:04,400 --> 00:52:06,880 U nistgħu nagħmlu dan, kif ġej. 1076 00:52:06,880 --> 00:52:12,820 >> Let me imorru quddiem u tinħoloq entità ġdida fajl, dan wieħed imsejjaħ floats.c. 1077 00:52:12,820 --> 00:52:16,500 U ħlief hawn fil- istess direttorju, float.c. 1078 00:52:16,500 --> 00:52:19,360 1079 00:52:19,360 --> 00:52:23,260 U let me imorru quddiem u kopja xi wħud li l-kodiċi mill-iktar kmieni. 1080 00:52:23,260 --> 00:52:27,690 >> Iżda minflok jkollna l INT, ejja tagħmel dan. 1081 00:52:27,690 --> 00:52:31,037 Agħti me floating valur tal-punt imsejħa x. fejn punt floating 1082 00:52:31,037 --> 00:52:33,370 valur huwa sempliċement litteralment xi ħaġa ma 'punt f'wiċċ l-ilma. 1083 00:52:33,370 --> 00:52:34,410 Hija tista 'timxi lejn ix-xellug, lejn il-lemin. 1084 00:52:34,410 --> 00:52:35,530 Huwa numru reali. 1085 00:52:35,530 --> 00:52:38,050 >> U let me sejħa mhux jiksbu int, iżda jiksbu float, 1086 00:52:38,050 --> 00:52:41,420 li kien ukoll fost il-menu ta 'għażliet fil-librerija C250. 1087 00:52:41,420 --> 00:52:43,220 Ejja bidla y biex float. 1088 00:52:43,220 --> 00:52:45,000 Allura dan isir tikseb float. 1089 00:52:45,000 --> 00:52:47,620 >> U issa, aħna ma rridux li plagg fil ints. 1090 00:52:47,620 --> 00:52:53,130 Jirriżulta irridu nużaw fil-mija f għas float, mija f għas float, 1091 00:52:53,130 --> 00:52:54,560 u issa isalvawh. 1092 00:52:54,560 --> 00:53:01,220 U issa, swaba qasmu, jagħmlu sufruni, sbieħ, sufruni mmejla dot. 1093 00:53:01,220 --> 00:53:04,280 x se tkun waħda 1. y Se tkun 10 ġdid. 1094 00:53:04,280 --> 00:53:08,240 >> U, sbieħ, OK minn hekk tiegħi hija korretta. 1095 00:53:08,240 --> 00:53:10,240 I kien jittama għal aktar, imma jien nesa li tikteb. 1096 00:53:10,240 --> 00:53:13,250 Mela ejja go u tiffissa dan l-iżball loġiku. 1097 00:53:13,250 --> 00:53:16,280 >> Ejja imorru quddiem u grab dan li ġej. 1098 00:53:16,280 --> 00:53:18,080 Aħna ser biss tagħmel kopja ftit u paste. 1099 00:53:18,080 --> 00:53:20,080 U jien se ngħid nieqes. 1100 00:53:20,080 --> 00:53:21,890 >> U jien se ngħid darbiet. 1101 00:53:21,890 --> 00:53:24,060 U jien ser jgħidu maqsuma. 1102 00:53:24,060 --> 00:53:28,240 U jien mhux se jagħmlu modulo, li ma tinsabx bħala germane hawn, 1103 00:53:28,240 --> 00:53:33,690 diviż bil f, u l-ħinijiet plus-- OK, ejja tagħmel dan mill-ġdid. 1104 00:53:33,690 --> 00:53:44,210 >> Għamla sufruni, sufruni mmejla dot, u 1, 10, and-- sbieħ, le, OK. 1105 00:53:44,210 --> 00:53:45,250 Hekk jien idjota. 1106 00:53:45,250 --> 00:53:47,000 Allura dan huwa komuni ħafna fix-xjenza tal-kompjuter 1107 00:53:47,000 --> 00:53:49,780 biex jagħmlu żbalji stupid bħal dan. 1108 00:53:49,780 --> 00:53:53,100 >> Għal skopijiet pedagoġiċi, dak I really riedu jagħmlu 1109 00:53:53,100 --> 00:53:57,410 kien jibdlu l-xjenza hawn li flimkien, biex nieqes, għal żminijiet, 1110 00:53:57,410 --> 00:54:01,140 u li jaqsam, kif inti nisperaw ndunat matul dan l-eżerċizzju. 1111 00:54:01,140 --> 00:54:04,700 Allura issa ejja terġa 'jiġbor dan programm, do floats mmejla dot. 1112 00:54:04,700 --> 00:54:07,950 >> U għat-tielet darba, ejja tara jekk jilħaq l-aspettattivi tiegħi. 1113 00:54:07,950 --> 00:54:21,480 1, 10, jidħol, iva, OK, 1.000, diviż bil 10.000, huwa 0.100000. 1114 00:54:21,480 --> 00:54:24,952 U jirriżulta nistgħu kontroll kemm in-numri huma wara dawk il-punti deċimali. 1115 00:54:24,952 --> 00:54:25,660 Aħna fil-fatt se. 1116 00:54:25,660 --> 00:54:26,790 Aħna ser terga 'lura għal dan. 1117 00:54:26,790 --> 00:54:28,440 >> Imma issa, fil-fatt, l-matematika hija korretta. 1118 00:54:28,440 --> 00:54:30,090 Allura, għal darb'oħra, x'inhu l-takeaway hawn? 1119 00:54:30,090 --> 00:54:33,050 Jirriżulta li fl Ċ, hemm mhux biss biss strings-- u, fil-fatt, 1120 00:54:33,050 --> 00:54:36,120 ma jkunx hemm verament, għaliex aħna żid dawk bl-librerija CS50. 1121 00:54:36,120 --> 00:54:37,710 Iżda ma jkunx hemm biss ints. 1122 00:54:37,710 --> 00:54:38,990 >> Hemm sufruni ukoll. 1123 00:54:38,990 --> 00:54:42,810 U jirriżulta mazz ta 'data oħra tipi wisq, li aħna ser tuża qabel twil. 1124 00:54:42,810 --> 00:54:46,270 Jinstabx jekk inti tixtieq waħda karattru, mhux sensiela ta 'karattri, 1125 00:54:46,270 --> 00:54:47,610 inti tista 'tuża biss char. 1126 00:54:47,610 --> 00:54:52,350 >> Jirriżulta li jekk inti tixtieq a BOOL, valur Boolean, vera jew falza biss, 1127 00:54:52,350 --> 00:54:56,840 grazzi għal-librerija CS50, konna miżjuda sa C dejta tat-tip BOOL kif ukoll. 1128 00:54:56,840 --> 00:54:59,180 Imma hija wkoll preżenti fil f'ħafna lingwi oħrajn ukoll. 1129 00:54:59,180 --> 00:55:04,130 U jirriżulta li kultant inti bżonn numri akbar imbagħad ġejjin fil-kontumaċja 1130 00:55:04,130 --> 00:55:05,210 bil ints u flowts. 1131 00:55:05,210 --> 00:55:10,590 >> U, fil-fatt, doppja huwa numru li juża mhux 32 bits, iżda 64 bits. 1132 00:55:10,590 --> 00:55:14,990 U twil twil huwa numru li użi mhux 32, bits iżda 64 bits, 1133 00:55:14,990 --> 00:55:19,190 rispettivament, għall-punt floating valuri u interi, rispettivament. 1134 00:55:19,190 --> 00:55:22,780 Mela ejja attwalment issa tara dan fl-azzjoni. 1135 00:55:22,780 --> 00:55:26,150 >> Jien ser jimxi 'l quddiem hawn u Whip up program wieħed ieħor. 1136 00:55:26,150 --> 00:55:32,020 Hawnhekk, jien ser jimxi 'l quddiem u ma jinkludu CS50.h. 1137 00:55:32,020 --> 00:55:34,910 U let me go, jinkludu istandard IO.h. 1138 00:55:34,910 --> 00:55:37,320 >> U tkun taf Avviż xi ħaġa funky qed jiġri hawn. 1139 00:55:37,320 --> 00:55:40,592 Mhuwiex kulur kodifikazzjoni affarijiet fil bl-istess mod kif għamlet qabel. 1140 00:55:40,592 --> 00:55:43,550 U jirriżulta, dan għaliex jien ma jkunux taw il-ħaġa fajl isem. 1141 00:55:43,550 --> 00:55:47,270 >> Jien ser sejħa dan wieħed sizeof.c, u hit Save. 1142 00:55:47,270 --> 00:55:51,039 U avviż dak li jiġri tiegħi ħafna kodiċi abjad F'dan l-isfond iswed. 1143 00:55:51,039 --> 00:55:52,830 Issa, għall-inqas hemm xi vjola fil hemmhekk. 1144 00:55:52,830 --> 00:55:54,490 U huwa sintassi enfasizzat. 1145 00:55:54,490 --> 00:55:57,700 >> Dak għax, pjuttost sempliċi, stajt qal lill-IDE liema tip tal-fajl 1146 00:55:57,700 --> 00:56:01,060 huwa billi tagħtiha isem, u speċifikament estensjoni fajl. 1147 00:56:01,060 --> 00:56:03,620 Issa, ejja imorru quddiem u jagħmlu dan. 1148 00:56:03,620 --> 00:56:08,910 Jien ser jimxi 'l quddiem u ħafna sempliċement jistampa l BOOL following-- 1149 00:56:08,910 --> 00:56:11,080 huwa mija LU. 1150 00:56:11,080 --> 00:56:12,950 >> Aħna ser terga 'lura għal li fi ftit mument. 1151 00:56:12,950 --> 00:56:15,840 U mbagħad jien ser Daqs istampar ta BOOL. 1152 00:56:15,840 --> 00:56:18,170 U issa, just biex isalva nnifsi xi żmien, jien 1153 00:56:18,170 --> 00:56:20,280 se jagħmlu ħaġa sħiħa mazz ta 'dawn f'daqqa. 1154 00:56:20,280 --> 00:56:24,620 U, speċifikament, jien ser tbiddel dan għal char u char. 1155 00:56:24,620 --> 00:56:27,760 Dan wieħed, jien se jibdlu għal doppja u doppju. 1156 00:56:27,760 --> 00:56:31,440 >> Dan wieħed, jien se jibdlu biex float u float. 1157 00:56:31,440 --> 00:56:35,670 Dan wieħed, jien ser bidla għal int u int. 1158 00:56:35,670 --> 00:56:38,660 U dan wieħed, jien ser għall-bidla għal twil twil. 1159 00:56:38,660 --> 00:56:40,840 U huwa għadu jieħu żmien twil, twil twil. 1160 00:56:40,840 --> 00:56:44,572 >> U mbagħad, fl-aħħarnett, I taw ruħi wieħed wisq, spag. 1161 00:56:44,572 --> 00:56:47,030 Jirriżulta li fl Ċ, hemm l-operatur speċjali msejħa 1162 00:56:47,030 --> 00:56:50,260 daqs ta 'dak litteralment ser, meta jitħaddmu, 1163 00:56:50,260 --> 00:56:52,099 jgħidulna id-daqs tal kull wieħed minn dawn il-varjabbli. 1164 00:56:52,099 --> 00:56:53,890 U dan huwa mod, issa, nistgħu jgħaqqdu lura 1165 00:56:53,890 --> 00:56:57,140 għad-diskussjoni ġimgħa li għaddiet tad-dejta u r-rappreżentanza. 1166 00:56:57,140 --> 00:57:00,330 >> Let me imorru quddiem u jikkumpilaw Daqs tad-daqs mmejla dot tal. 1167 00:57:00,330 --> 00:57:01,210 U ejja ara. 1168 00:57:01,210 --> 00:57:05,210 Jirriżulta li fl Ċ, speċifikament fuq CS50 IDE, 1169 00:57:05,210 --> 00:57:08,170 speċifikament fuq il sistema operattiva Ubuntu, 1170 00:57:08,170 --> 00:57:11,100 li hija operattiva 64-bit Sistema f'dan il-każ, 1171 00:57:11,100 --> 00:57:14,189 a BOOL se użu byte wieħed mill-ispazju. 1172 00:57:14,189 --> 00:57:16,480 Thats kif id-daqs huwa mkejjel, mhux fil-bits, iżda fil-bytes. 1173 00:57:16,480 --> 00:57:18,690 U tfakkar li byte wieħed huwa tmien bits. 1174 00:57:18,690 --> 00:57:22,030 Allura BOOL, avolja inti teknikament biss bżonn ta '0 jew 1, 1175 00:57:22,030 --> 00:57:24,092 huwa ftit ħela kif konna implimentati dan. 1176 00:57:24,092 --> 00:57:26,800 Huwa fil-fatt se tuża sħiħ byte-- hekk żerijiet kollha, huma forsi 1177 00:57:26,800 --> 00:57:31,050 kollha dawk, jew xi ħaġa bħal dik, jew biss wieħed 1 fost tmien bits. 1178 00:57:31,050 --> 00:57:34,962 >> A char, sadanittant, użat għal karattru bħal karattru ASCII kull ġimgħa li għaddiet, 1179 00:57:34,962 --> 00:57:36,170 se tkun karattru wieħed. 1180 00:57:36,170 --> 00:57:42,340 U li synchs mal-kunċett tagħna ta ' ma jkun mhux aktar minn 256 bits-- pjuttost, 1181 00:57:42,340 --> 00:57:45,360 synchs magħha jkun ebda itwal minn 8 bits, li 1182 00:57:45,360 --> 00:57:47,450 jagħtina daqs 256-valuri. 1183 00:57:47,450 --> 00:57:49,680 A doppja se jkun 8 bytes jew 64 bits. 1184 00:57:49,680 --> 00:57:50,510 >> A float huwa ta '4. 1185 00:57:50,510 --> 00:57:51,690 L int huwa ta '4. 1186 00:57:51,690 --> 00:57:52,980 A twil, twil huwa 8. 1187 00:57:52,980 --> 00:57:54,716 U string huwa 8. 1188 00:57:54,716 --> 00:57:55,840 Imma ma joqogħdu jinkwetaw dwar dan. 1189 00:57:55,840 --> 00:57:57,340 Aħna qed tmur biex jitqaxxru lura dik saff. 1190 00:57:57,340 --> 00:57:59,940 Jirriżulta, kordi jista ikun itwal minn 8 bytes. 1191 00:57:59,940 --> 00:58:02,310 >> U, tabilħaqq, konna bil-miktub kordi diġà, bonjour dinja, 1192 00:58:02,310 --> 00:58:03,700 itwal minn 8 bytes. 1193 00:58:03,700 --> 00:58:06,270 Iżda aħna ser terga 'lura għal li fi ftit mument. 1194 00:58:06,270 --> 00:58:09,690 Iżda it-teħid bogħod hawnhekk hija din li ġejja. 1195 00:58:09,690 --> 00:58:15,320 >> Kwalunkwe kompjuter biss għandu finit ammont tal-memorja u l-ispazju. 1196 00:58:15,320 --> 00:58:17,860 Tista 'biss taħżen tant fajls fuq Mac tiegħek jew PC. 1197 00:58:17,860 --> 00:58:23,030 Tista 'biss jaħżen programmi daqstant fil RAM taħdem f'daqqa, bilfors, anke 1198 00:58:23,030 --> 00:58:26,360 bil-memorja virtwali, għaliex ikollok ammont finit ta 'RAM. 1199 00:58:26,360 --> 00:58:28,990 >> U biss biex picture-- jekk inti stajt qatt fetaħ laptop 1200 00:58:28,990 --> 00:58:31,300 jew ordnati memorja żejda għal kompjuter, inti 1201 00:58:31,300 --> 00:58:33,670 jista 'ma taf li ġewwa tal-kompjuter tiegħek 1202 00:58:33,670 --> 00:58:36,590 hija xi ħaġa li jistenna ftit bħal dan. 1203 00:58:36,590 --> 00:58:40,540 Allura dan huwa biss kumpanija komuni jismu Kruċjali li jagħmel RAM għall-kompjuters. 1204 00:58:40,540 --> 00:58:43,620 U RAM huwa fejn programmi ħajjin waqt li jkunu qed taħdem. 1205 00:58:43,620 --> 00:58:46,630 >> Allura fuq kull Mac jew PC, meta inti double ikklikkja programm, u dan jiftaħ, 1206 00:58:46,630 --> 00:58:48,921 u tiftaħ xi dokument Word jew xi ħaġa bħal dik, 1207 00:58:48,921 --> 00:58:51,764 dan taħżnu temporanjament RAM, għaliex RAM huwa aktar mgħaġġel 1208 00:58:51,764 --> 00:58:53,680 minn hard disk tiegħek, jew disk tiegħek fi stat solidu. 1209 00:58:53,680 --> 00:58:56,600 Allura huwa biss fejn il-programmi imorru jgħixu meta jkunu qed taħdem, 1210 00:58:56,600 --> 00:58:58,060 jew meta l-fajls qed jintużaw. 1211 00:58:58,060 --> 00:59:00,890 >> Allura inti għandek affarijiet li tfittex bħal dan ġewwa ta 'laptop tiegħek, 1212 00:59:00,890 --> 00:59:03,320 jew affarijiet ftit akbar ġewwa tal-desktop tiegħek. 1213 00:59:03,320 --> 00:59:07,440 Iżda l-importanti huwa inti biss għandek numru finit ta 'dawn l-affarijiet. 1214 00:59:07,440 --> 00:59:11,230 U hemm biss ammont finit ta ' ħardwer seduta fuq dan il iskrivanija lemin 1215 00:59:11,230 --> 00:59:11,730 hawn. 1216 00:59:11,730 --> 00:59:15,920 >> Allura, żgur, nistgħu ma taħżen numri infinitament twil. 1217 00:59:15,920 --> 00:59:19,030 U, għadhom, jekk inti taħseb lura għal -iskola grad, kemm-ċifri jistgħu 1218 00:59:19,030 --> 00:59:21,400 inti għandek id-dritt ta 'punt deċimali? 1219 00:59:21,400 --> 00:59:24,680 Għal dik il-kwistjoni, kemm numri jistgħu inti għandek ix-xellug ta 'punt deċimali? 1220 00:59:24,680 --> 00:59:26,300 Verament, infinitament ħafna. 1221 00:59:26,300 --> 00:59:30,840 >> Issa, aħna bnedmin tista biss taf kif jippronunzja miljun, 1222 00:59:30,840 --> 00:59:34,990 u biljun, triljun, u quadrillion, u quintillion. 1223 00:59:34,990 --> 00:59:39,370 U jien javvanzaw il-limiti tal tiegħi understanding-- jew my-- nifhem 1224 00:59:39,370 --> 00:59:41,110 numri, iżda tiegħi pronunzja ta 'numri. 1225 00:59:41,110 --> 00:59:44,720 Iżda huma jistgħu jiksbu infinitament kbar ma infinitament ħafna ċifri fuq il-lemin 1226 00:59:44,720 --> 00:59:47,050 jew lejn il-lemin ta 'punt deċimali. 1227 00:59:47,050 --> 00:59:50,040 >> Imma kompjuters biss ikollhom ammont finit ta 'memorja, 1228 00:59:50,040 --> 00:59:53,510 numru finit ta transisters, li numru finit ta 'bozoz tad-dawl ġewwa. 1229 00:59:53,510 --> 00:59:57,350 Allura x'jiġri meta inti jispiċċaw l-ispazju? 1230 00:59:57,350 --> 00:59:59,620 Fi kliem ieħor, jekk inti think lura għall-aħħar ġimgħa 1231 00:59:59,620 --> 01:00:03,160 meta tkellimna dwar in-numri ruħhom li qiegħed ikun rappreżentat fil binarju, 1232 01:00:03,160 --> 01:00:05,480 jissoponi li konna ltqajna dan il-valur 8-bit hawnhekk. 1233 01:00:05,480 --> 01:00:08,290 >> U aħna għandna seba 1 u wieħed 0. 1234 01:00:08,290 --> 01:00:10,827 U ejja ngħidu li rridu biex iżżid 1 għal dan il-valur. 1235 01:00:10,827 --> 01:00:12,410 Dan huwa numru verament kbir dritt issa. 1236 01:00:12,410 --> 01:00:16,610 >> Dan huwa 254, jekk niftakar l-matematika mill-aħħar lemin ġimgħa. 1237 01:00:16,610 --> 01:00:19,480 Imma x'jiġri jekk nibdel li lemini 0 għal 1? 1238 01:00:19,480 --> 01:00:22,800 In-numru sħiħ, ta ' Naturalment, isir tmienja 1 ta. 1239 01:00:22,800 --> 01:00:24,050 Allura aħna qed għadhom tajbin. 1240 01:00:24,050 --> 01:00:27,204 >> U li probabbilment jirrappreżenta 255, għalkemm jiddependi fuq il-kuntest 1241 01:00:27,204 --> 01:00:29,120 hija tista 'attwalment tirrappreżenta numru negattiv. 1242 01:00:29,120 --> 01:00:31,240 Iżda aktar fuq li ieħor żmien. 1243 01:00:31,240 --> 01:00:34,220 Din il iħoss simili huwa madwar għoli daqs I jista 'joqgħod. 1244 01:00:34,220 --> 01:00:35,290 >> Issa, huwa biss 8 bits. 1245 01:00:35,290 --> 01:00:38,170 U Mac tiegħi, żgur, tkun mod aktar minn 8 bits ta 'memorja. 1246 01:00:38,170 --> 01:00:39,170 Iżda hi ma jkollhiex finit. 1247 01:00:39,170 --> 01:00:43,230 Allura l-istess argument japplika, anke jekk aħna jkollhom aktar ta 'dawn dawk fuq l-iskrin. 1248 01:00:43,230 --> 01:00:47,020 >> Imma x'jiġri jekk int ħażna dan in-numru, 255, 1249 01:00:47,020 --> 01:00:49,290 u inti tixtieq li joqgħod 1 kemmxejn ogħla? 1250 01:00:49,290 --> 01:00:51,600 Inti tixtieq li tmur 255-256. 1251 01:00:51,600 --> 01:00:55,800 Il-problema, naturalment, huwa li jekk inti jibdew jingħaddu għal żero bħal aħħar ġimgħa, 1252 01:00:55,800 --> 01:00:59,670 inti ma tistax titqies bħala għolja kif 256, aħseb u ara 257, 1253 01:00:59,670 --> 01:01:02,584 aħseb u ara 258, m għaliex dak jiġri meta inti żid 1? 1254 01:01:02,584 --> 01:01:05,000 Jekk inti tagħmel l-iskola grad antika Approċċ, inti tpoġġi 1 hawn, 1255 01:01:05,000 --> 01:01:08,150 u mbagħad 1 plus 1 huwa 2, iżda li l- verament żero, inti twettaq l-1, 1256 01:01:08,150 --> 01:01:09,695 jġorru l-1, jġorru l-1. 1257 01:01:09,695 --> 01:01:12,620 Kollha ta 'dawn l-affarijiet, dawn għamilhom 1, mur għal żero. 1258 01:01:12,620 --> 01:01:17,820 U inti wind up, iva, kif xi ħadd enfasizzat, ta '1 fuq in-naħa tax-xellug. 1259 01:01:17,820 --> 01:01:22,540 Imma dak kollu li tista attwalment ara u tajbin fil-memorja 1260 01:01:22,540 --> 01:01:27,960 huwa biss tmien 0, li huwa li jgħidu f'xi punt jekk inti, kompjuter, 1261 01:01:27,960 --> 01:01:32,490 ipprova jingħaddu għoli biżżejjed up, int ser perimetrika, jidher, 1262 01:01:32,490 --> 01:01:35,850 għal żero, jew forsi anke negattivi numri, li huma saħansitra inqas minn żero. 1263 01:01:35,850 --> 01:01:37,260 >> U nistgħu tip ta 'tara dan. 1264 01:01:37,260 --> 01:01:39,900 Let me imorru quddiem u jiktbu programm ta 'malajr reali hawnhekk. 1265 01:01:39,900 --> 01:01:43,690 Let me imorru quddiem u jiktbu programm imsejjaħ overflow. 1266 01:01:43,690 --> 01:01:49,980 Inkludi CS50.h, jinkludu istandard IO.h-- oh, 1267 01:01:49,980 --> 01:01:51,730 I really insejt tenfasizza sintassi tiegħi. 1268 01:01:51,730 --> 01:01:54,440 Mela ejja tiffranka dan bħala overflow.c. 1269 01:01:54,440 --> 01:01:57,084 >> U void-- ewlenija issa int u qabel twil, aħna ser 1270 01:01:57,084 --> 01:01:59,500 terga 'lura għal jispjega għaliex inżommu miktub null prinċipali int. 1271 01:01:59,500 --> 01:02:02,080 Iżda għal issa, ejja biss tagħmel dan, tieħu għall mogħtija. 1272 01:02:02,080 --> 01:02:06,200 Ejja tagħti lili nnifsi int, u initialize dan għal 0. 1273 01:02:06,200 --> 01:02:11,716 >> Ejja mela għall-int i tikseb zero-- fil-fatt, ejja do loop infinita 1274 01:02:11,716 --> 01:02:12,590 u tara x'jiġri. 1275 01:02:12,590 --> 01:02:22,440 Filwaqt veru, allura ejja jistampa n huwa mija i, n backslash, plug-in n. 1276 01:02:22,440 --> 01:02:27,200 Iżda, issa, ejja do n gets n flimkien ma '1. 1277 01:02:27,200 --> 01:02:29,660 >> Allura fi kliem ieħor, fuq kull iterazzjoni ta 'dan loop infinita, 1278 01:02:29,660 --> 01:02:32,550 ejja tagħti valur n, l u żid 1 lilha, u mbagħad 1279 01:02:32,550 --> 01:02:34,350 jaħżnu r-riżultat lura fil n ix-xellug. 1280 01:02:34,350 --> 01:02:37,150 U, fil-fatt, Rajna sintassi ftit bħal dan, fil-qosor. 1281 01:02:37,150 --> 01:02:39,730 Finta jibred huwa minflok tal-kitba dan kollu barra, 1282 01:02:39,730 --> 01:02:42,770 inti tista 'attwalment tgħid n plus hija ugwali 1. 1283 01:02:42,770 --> 01:02:47,480 >> Jew jekk int verament tixtieq li tkun fancy, inti tista 'tgħid n flimkien flimkien ma' semi-colon. 1284 01:02:47,480 --> 01:02:50,130 Iżda dawn aħħar tnejn huma biss dak li aħna'd sejħa zokkor sintattika 1285 01:02:50,130 --> 01:02:50,790 għall-ewwel ħaġa. 1286 01:02:50,790 --> 01:02:53,456 >> L-ewwel ħaġa hi aktar espliċitu, totalment multa, totalment korretta. 1287 01:02:53,456 --> 01:02:55,470 Iżda dan huwa aktar komuni, jien ser jgħidu. 1288 01:02:55,470 --> 01:02:57,210 Allura aħna ser nagħmlu dan għal ftit mument. 1289 01:02:57,210 --> 01:03:01,685 >> Ejja issa jagħmluha overflow, li tinstema pjuttost ominous, overflow mmejla dot. 1290 01:03:01,685 --> 01:03:04,380 1291 01:03:04,380 --> 01:03:09,852 Ejja naraw, n jkollna pretty big. 1292 01:03:09,852 --> 01:03:11,310 Imma ejja jaħsbu, kemm hu kbir jista n nirċievi? 1293 01:03:11,310 --> 01:03:12,870 >> n huwa int. 1294 01:03:12,870 --> 01:03:16,400 Rajna mument ilu mad-daqs ta ' Eżempju li int huwa ta 'erba' bytes. 1295 01:03:16,400 --> 01:03:22,070 Nafu mill-aħħar ġimgħa, erba 'bytes huwa 32 bits, minħabba 8 darbiet 4, li l-32. 1296 01:03:22,070 --> 01:03:23,460 Li għaddej biex tkun 4000000000. 1297 01:03:23,460 --> 01:03:25,802 >> U aħna huma sa 800,000. 1298 01:03:25,802 --> 01:03:28,510 Dan se jieħu dejjem biex jgħodd bħala għoli kemm I tista 'possibilment. 1299 01:03:28,510 --> 01:03:30,635 Hekk jien ser jimxi 'l quddiem, kif inti tista qabel twil, 1300 01:03:30,635 --> 01:03:34,910 u hit Kontroll C-- franchement, Kontroll Ċ, lott, fejn Kontroll Ċ ġeneralment 1301 01:03:34,910 --> 01:03:36,034 mezzi tikkanċella. 1302 01:03:36,034 --> 01:03:38,200 Sfortunatament, għaliex dan tkun qed taħdem fil-sħaba, 1303 01:03:38,200 --> 01:03:41,190 xi kultant il-sħaba hija bżieq out Jittieħed tant, 1304 01:03:41,190 --> 01:03:44,180 tant produzzjoni, li għaddej biex jieħu ftit filwaqt li għall-input tiegħi 1305 01:03:44,180 --> 01:03:45,630 biex jiksbu l-sħaba. 1306 01:03:45,630 --> 01:03:49,240 Għalhekk anki jekk I hit Kontroll Ċ ftit sekondi ilu, 1307 01:03:49,240 --> 01:03:53,110 dan huwa definittivament il-ġenb effett ta 'loop infinita. 1308 01:03:53,110 --> 01:03:56,070 >> U hekk f'każijiet bħal dawn, aħna qed ser jitlaq minn dak jkun. 1309 01:03:56,070 --> 01:03:59,050 U aħna qed tmur biex iżżid ieħor tieqa terminal minn hawn 1310 01:03:59,050 --> 01:04:03,186 mal-plus, li naturalment ma bħal dik, peress li huwa għadu ħsieb. 1311 01:04:03,186 --> 01:04:05,310 U ejja imorru quddiem u tkun ftit aktar raġonevoli. 1312 01:04:05,310 --> 01:04:07,768 >> Jien ser jimxi 'l quddiem u jagħmlu il-żminijiet biss finitely ħafna. 1313 01:04:07,768 --> 01:04:10,047 Ejja jużaw għall loop, li jiena allużjoni għall qabel. 1314 01:04:10,047 --> 01:04:10,630 Ejja nagħmlu dan. 1315 01:04:10,630 --> 01:04:13,430 Agħtini ieħor int varjabbli i gets 0. 1316 01:04:13,430 --> 01:04:17,430 i huwa inqas minn, ejja ngħidu, 64 i ++. 1317 01:04:17,430 --> 01:04:24,010 U issa let me jimxi 'l quddiem u l-istampar barra n huwa mija i, Comma n. 1318 01:04:24,010 --> 01:04:27,547 U allura n-- dan għadu ser tieħu għal dejjem. 1319 01:04:27,547 --> 01:04:28,130 Ejja nagħmlu dan. 1320 01:04:28,130 --> 01:04:30,620 >> n gets n ħinijiet 2. 1321 01:04:30,620 --> 01:04:34,140 Jew nistgħu jkun fancy u jagħmlu ħinijiet huwa daqs 2. 1322 01:04:34,140 --> 01:04:37,120 Imma ejja biss jgħidu n huwa ugwali innifsu, il-ħinijiet 2. 1323 01:04:37,120 --> 01:04:39,321 Fi kliem ieħor, f'dan il- verżjoni l-ġdida tal-programm, 1324 01:04:39,321 --> 01:04:41,820 Ma rridx li tistenna għal dejjem minn bħall 800,000 għal 4 biljun. 1325 01:04:41,820 --> 01:04:43,070 Ejja biss tikseb dan aktar ma. 1326 01:04:43,070 --> 01:04:44,920 >> Ejja attwalment doppju n kull darba. 1327 01:04:44,920 --> 01:04:47,660 Li, irtirar, irduppjar huwa l- oppost ta 'wara, tal-kors. 1328 01:04:47,660 --> 01:04:50,035 U billi ġimgħa li għaddiet għandna xi ħaġa għal darb'oħra, u għal darb'oħra, 1329 01:04:50,035 --> 01:04:52,200 u għal darb'oħra, super fast, irduppjar żgur li se 1330 01:04:52,200 --> 01:04:58,080 nikseb us minn 1 sa l-akbar possibbli valur li nistgħu għodd sa ma 'int. 1331 01:04:58,080 --> 01:04:59,750 >> Mela ejja nagħmlu eżattament dan il-. 1332 01:04:59,750 --> 01:05:01,720 U aħna ser terga 'lura għal dan qabel twil. 1333 01:05:01,720 --> 01:05:04,180 Iżda dan, għal darb'oħra, huwa bħad -blokk ripetuti fil scratch. 1334 01:05:04,180 --> 01:05:05,600 U inti ser tuża dan qabel twil. 1335 01:05:05,600 --> 01:05:10,170 >> Dan biss ifisser għadd minn żero sa, iżda mhux ugwali, sa 64. 1336 01:05:10,170 --> 01:05:14,285 U fuq kull iterazzjoni ta 'dan loop, biss iżommu inkrementazzjoni i. 1337 01:05:14,285 --> 01:05:18,990 Hekk i ++ - u dan jibnu ġenerali fuq il-linja 7 huwa biss mod super komuni 1338 01:05:18,990 --> 01:05:22,290 tirrepeti xi linji ta ' kodiċi, xi numru ta 'drabi. 1339 01:05:22,290 --> 01:05:23,362 Liema linji ta 'kodiċi? 1340 01:05:23,362 --> 01:05:25,570 Dawn il-ċingi kaboċċi, kif inti jista 'jkollhom miġbura minn issa, 1341 01:05:25,570 --> 01:05:26,780 tfisser, jagħmel dan li ġej. 1342 01:05:26,780 --> 01:05:29,510 >> Huwa fil Scratch simili, meta hija għandha l-blokki isfar 1343 01:05:29,510 --> 01:05:32,680 u kuluri oħrajn li tip ta ' iħaddnu jew tgħanniqa blokki oħra. 1344 01:05:32,680 --> 01:05:34,750 Dak hu li dawk kaboċċi ċingi qed tagħmel hawn. 1345 01:05:34,750 --> 01:05:40,200 Mela jekk jien sibt sintassi tiegħi right-- inti jista 'jara s-simbolu karrotta fil-mezzi C 1346 01:05:40,200 --> 01:05:42,706 li kif ħafna drabi I kien jippruvaw isolvu din il-problema. 1347 01:05:42,706 --> 01:05:45,330 Mela ejja teħles minn dik wieħed għal kollox, u tagħlaq dik tieqa. 1348 01:05:45,330 --> 01:05:46,520 U aħna ser tuża l-waħda ġdida. 1349 01:05:46,520 --> 01:05:51,980 Jagħmlu overflow, dot slexx overflow, Daħħal, id-dritt, 1350 01:05:51,980 --> 01:05:53,090 jidher ħażin fl-ewwel. 1351 01:05:53,090 --> 01:05:56,200 Imma ejja iscroll lura fil-ħin, minħabba I ma dan 64 darbiet. 1352 01:05:56,200 --> 01:05:58,700 >> U tinnota l-ewwel darba, n huwa 1. 1353 01:05:58,700 --> 01:06:03,110 Tieni darba, n huwa 2, imbagħad 4, allura 8, imbagħad 16. 1354 01:06:03,110 --> 01:06:09,450 U jidher li hekk kif I nikseb għal madwar 1 biljun, 1355 01:06:09,450 --> 01:06:12,800 jekk jien doppja mill-ġdid, li għandhom jagħtu me 2000000000. 1356 01:06:12,800 --> 01:06:14,980 Iżda jirriżulta, huwa dritt fil-quċċata. 1357 01:06:14,980 --> 01:06:18,930 >> U għalhekk fil-fatt tifwir l int mill 1000000000 1358 01:06:18,930 --> 01:06:23,514 li bejn wieħed u ieħor negattiv 2 biljun, minħabba li integer, 1359 01:06:23,514 --> 01:06:25,430 b'differenza mill-numri aħna kienu qed jassumu aħħar ġimgħa, 1360 01:06:25,430 --> 01:06:28,397 jistgħu jkunu kemm pożittivi u negattivi fir-realtà u fil-kompjuter. 1361 01:06:28,397 --> 01:06:30,730 U dan bl-inqas waħda minn dawn bits hija effettivament misruqa. 1362 01:06:30,730 --> 01:06:34,190 Allura aħna verament biss 31 bits, jew 2 biljun valuri possibbli. 1363 01:06:34,190 --> 01:06:38,220 >> Iżda għal issa, il-takeaway hija pjuttost sempliċement, tkun xi tkun dawn in-numri huma 1364 01:06:38,220 --> 01:06:42,280 u tkun xi tkun l-matematika hija, xi ħaġa ħażina jiġri eventwalment, 1365 01:06:42,280 --> 01:06:46,980 għaliex eventwalment inti qed jippruvaw biex permute-bits waħda wisq drabi. 1366 01:06:46,980 --> 01:06:51,060 U inti effettivament tmur minn kull 1 lejn forsi kollha 0; jew forsi 1367 01:06:51,060 --> 01:06:54,260 biss ftit mudell ieħor li b'mod ċar, jiddependi fuq il-kuntest, 1368 01:06:54,260 --> 01:06:56,342 jista 'jiġi interpretat bħala numru negattiv. 1369 01:06:56,342 --> 01:06:59,300 U għalhekk jidher l-ogħla I jista 'joqgħod f'dan il-programm partikolari 1370 01:06:59,300 --> 01:07:01,210 huwa biss madwar 1 biljun. 1371 01:07:01,210 --> 01:07:02,760 Iżda hemm soluzzjoni parzjali hawn. 1372 01:07:02,760 --> 01:07:03,480 Taf xiex? 1373 01:07:03,480 --> 01:07:07,600 >> Let me bidla minn int għal twil twil. 1374 01:07:07,600 --> 01:07:10,633 U let me imorru quddiem hawn u say-- jien ser ikollhom 1375 01:07:10,633 --> 01:07:12,290 li jbiddlu dan għal twil mhux iffirmat. 1376 01:07:12,290 --> 01:07:16,860 Jew, ejja ara, jien qatt ma jiftakru myself. 1377 01:07:16,860 --> 01:07:19,920 >> Ejja imorru quddiem u jagħmlu overflow. 1378 01:07:19,920 --> 01:07:21,860 Le, li mhux dan, LLD, grazie. 1379 01:07:21,860 --> 01:07:23,430 Allura xi kultant Clang jista 'jkun utli. 1380 01:07:23,430 --> 01:07:27,550 I ma tiftakarx dak il-format specifier kien għal twil twil. 1381 01:07:27,550 --> 01:07:28,950 >> Iżda, fil-fatt, Clang told me. 1382 01:07:28,950 --> 01:07:31,570 Paper hija xi tip ta 'tajba, xorta jfisser li inti għamilt żball. 1383 01:07:31,570 --> 01:07:33,190 Huwa guessing li I fisser LLD. 1384 01:07:33,190 --> 01:07:38,750 >> So let me jieħdu din hija parir, fit twil numru deċimali, ħlief dik. 1385 01:07:38,750 --> 01:07:43,190 U let me terġa 'ssir it-dot slash overflow, Ikteb. 1386 01:07:43,190 --> 01:07:45,020 U issa x'hemm jibred huwa dan. 1387 01:07:45,020 --> 01:07:49,140 >> Jekk I iscroll lura fil-ħin, aħna xorta bidu jingħaddu fl-istess place-- 1, 2, 4, 1388 01:07:49,140 --> 01:07:50,220 8, 16. 1389 01:07:50,220 --> 01:07:54,860 Avviż, irridu jiksbu l- mod sa 1 biljun. 1390 01:07:54,860 --> 01:07:57,070 Imma allura aħna sikur nikseb għal 2 biljun. 1391 01:07:57,070 --> 01:08:01,300 >> Imbagħad irridu jiksbu l 4000000000, imbagħad 8000000000, 17-il biljun. 1392 01:08:01,300 --> 01:08:03,340 U aħna jmorru ogħla, u ogħla, u ogħla. 1393 01:08:03,340 --> 01:08:05,740 Eventwalment, dan, wisq, pawżi. 1394 01:08:05,740 --> 01:08:09,350 >> Eventwalment, li għandu perjodu twil twil, li huwa l-valur 64-bit, mhux 1395 01:08:09,350 --> 01:08:13,660 valur 32-bit, jekk inti għadd għoli wisq, inti wrap madwar 0. 1396 01:08:13,660 --> 01:08:16,410 U f'dan il-każ, aħna jiġri li tispiċċa b'għadd negattiv. 1397 01:08:16,410 --> 01:08:17,550 >> Allura din hija problema. 1398 01:08:17,550 --> 01:08:20,439 U jirriżulta li din il- problema mhux kollha li arcane. 1399 01:08:20,439 --> 01:08:23,060 Anke jekk jiena stajt deliberatament indotta bl dawn l-iżbalji, 1400 01:08:23,060 --> 01:08:26,149 jirriżulta naraw dan it-tip ta 'kulħadd madwarna, jew għall-inqas xi wħud minna do. 1401 01:08:26,149 --> 01:08:28,939 >> Għalhekk fl Lego Star Wars, jekk inti stajt qatt lagħbu l-logħba, 1402 01:08:28,939 --> 01:08:33,830 jirriżulta inti tista 'tmur madwar tkissir affarijiet up fid-dinja LEGO, 1403 01:08:33,830 --> 01:08:36,640 u l-ġbir muniti, essenzjalment. 1404 01:08:36,640 --> 01:08:39,200 U jekk inti stajt qatt lagħbu B'dan il-mod il-logħba wisq żmien, 1405 01:08:39,200 --> 01:08:42,630 kif dan l-individwu bla isem hawn ma, in-numru totali 1406 01:08:42,630 --> 01:08:46,700 ta 'muniti li inti tista' tiġbor huwa, jidher, 4 biljun. 1407 01:08:46,700 --> 01:08:48,240 >> Issa, ma huwa fil-fatt fit-tond. 1408 01:08:48,240 --> 01:08:50,239 Allura LEGO kien qed jipprova żżomm affarijiet faċli għall-utent. 1409 01:08:50,239 --> 01:08:53,779 Huma ma tagħmel dan eżattament 2 sa il-qawwa 32, kull ġimgħa li għaddiet. 1410 01:08:53,779 --> 01:08:55,310 Iżda 4000000000 hija raġuni. 1411 01:08:55,310 --> 01:08:58,979 Jidher, ibbażata fuq din l-informazzjoni, li LEGO, u l-kumpanija li 1412 01:08:58,979 --> 01:09:02,624 għamel dan is-software attwali, iddeċieda li n-numru massimu ta 'muniti 1413 01:09:02,624 --> 01:09:04,540 l-utent jista 'jakkumula huwa, tabilħaqq, 4 biljun, 1414 01:09:04,540 --> 01:09:12,069 għaliex huma għażlu fil-kodiċi tagħhom għall-użu mhux fit-tul twil, apparentement, 1415 01:09:12,069 --> 01:09:16,140 iżda biss integer, l iffirmata numru sħiħ, biss numru sħiħ pożittiv, li 1416 01:09:16,140 --> 01:09:18,089 valur max huwa bejn wieħed u ieħor dak. 1417 01:09:18,089 --> 01:09:19,380 Ukoll, hawn wieħed umoristiċi xulxin. 1418 01:09:19,380 --> 01:09:23,500 Allura fil-logħba ċiviltà, li xi wħud minnkom jista 'jkun familjari, mal- 1419 01:09:23,500 --> 01:09:26,660 jirriżulta li snin ilu hemm kien bug f'dan il-logħba li permezz tagħha 1420 01:09:26,660 --> 01:09:28,750 jekk inti kellu l-irwol tal Gandhi fil-logħba, 1421 01:09:28,750 --> 01:09:34,020 minfloku jkun paċifista ħafna, minflok kien oerhört, oerhört 1422 01:09:34,020 --> 01:09:36,399 aggressiva, f'ċerti ċirkustanzi. 1423 01:09:36,399 --> 01:09:40,529 B'mod partikolari, il-mod li ċiviltà xogħlijiet hija li jekk inti, l-attur, 1424 01:09:40,529 --> 01:09:44,680 jadottaw id-demokrazija, tiegħek punteġġ aggressività gets 1425 01:09:44,680 --> 01:09:48,130 decremented minn tnejn, hekk nieqes nieqes, u mbagħad nieqes nieqes. 1426 01:09:48,130 --> 01:09:50,569 >> Allura inti naqqas 2 mill iterazzjoni attwali tiegħek. 1427 01:09:50,569 --> 01:09:56,650 Sfortunatament, jekk jiġu mtennija tiegħek huwa inizjalment 1, u inti naqqas 2 minnha 1428 01:09:56,650 --> 01:09:59,050 wara li jadotta d-demokrazija kif Gandhi hawn jista 1429 01:09:59,050 --> 01:10:02,200 għamlu, għaliex kien passive-- ħafna 1 fuq l-iskala ta 'aggressività. 1430 01:10:02,200 --> 01:10:04,830 Imma jekk hu jadotta d-demokrazija, allura imur minn 1 sa negattiva 1. 1431 01:10:04,830 --> 01:10:11,470 >> Sfortunatament, dawn kienu jużaw numri mhux iffirmat, 1432 01:10:11,470 --> 01:10:15,400 li jfisser li ittrattati anki negattivi numri daqslikieku kienu pożittivi. 1433 01:10:15,400 --> 01:10:19,780 U jirriżulta li l- ekwivalenti pożittiv ta negattiva 1, 1434 01:10:19,780 --> 01:10:23,480 fi programmi tal-kompjuter tipiku, huwa 255. 1435 01:10:23,480 --> 01:10:27,250 Mela jekk Gandhi tadotta demokrazija, u għalhekk għandha 1436 01:10:27,250 --> 01:10:32,470 F'ħin aggressività tiegħu naqas, fil-fatt f'rombli madwar sa 255 1437 01:10:32,470 --> 01:10:35,470 u jagħmel lilu l-aktar karattru aggressiva fil-logħba. 1438 01:10:35,470 --> 01:10:36,930 Allura inti tista 'Google up dwar dan. 1439 01:10:36,930 --> 01:10:39,380 U kien, fil-fatt, ta ' bug programmazzjoni aċċidentali, 1440 01:10:39,380 --> 01:10:43,010 iżda li daħlet pjuttost il Lore qatt peress. 1441 01:10:43,010 --> 01:10:44,360 >> Li kollox gost u ħelu. 1442 01:10:44,360 --> 01:10:47,760 Aktar biża huwa meta proprju apparat fid-dinja reali, u mhux logħob, 1443 01:10:47,760 --> 01:10:48,820 għandhom dawn l-istess bugs. 1444 01:10:48,820 --> 01:10:54,500 Fil-fatt, biss sena ilu artiklu daħal taf dwar il-Dreamliner Boeing 787. 1445 01:10:54,500 --> 01:10:56,850 >> U l-artikolu fl-ewwel t'għajn jaqra arcane ftit. 1446 01:10:56,850 --> 01:11:01,480 Iżda huwa qal dan, softwer vulnerabbiltà fis-Boeing 1447 01:11:01,480 --> 01:11:04,790 ġdid 787 Dreamliner ġett għandu -potenzjal li jikkawża piloti 1448 01:11:04,790 --> 01:11:07,220 jitlef il-kontroll ta ' l-ajruplan, possibilment 1449 01:11:07,220 --> 01:11:11,750 f'nofs titjira, l-uffiċjali tal-FAA ajru mwissija reċentement. 1450 01:11:11,750 --> 01:11:14,520 Kien id-determinazzjoni li mudell 787 1451 01:11:14,520 --> 01:11:19,770 Ajruplan li jkun ġie mħaddem kontinwament għal 248 jiem 1452 01:11:19,770 --> 01:11:24,880 tista 'titlef kurrent kollu li jalterna, AC, enerġija elettrika minħabba l-ġeneratur 1453 01:11:24,880 --> 01:11:28,892 unitajiet ta 'kontroll, GCUs, fl-istess ħin nidħlu jonqsu modalità sikur. 1454 01:11:28,892 --> 01:11:29,850 Huwa tip ta 'jitilfu lili. 1455 01:11:29,850 --> 01:11:35,390 Imma l-memo iddikjarat, OK, issa sibt li, il-kundizzjoni kienet ikkawżata minn softwer 1456 01:11:35,390 --> 01:11:38,590 kontro intern il-kontroll ġeneratur 1457 01:11:38,590 --> 01:11:44,860 unitajiet li se overflow wara 248 jiem ta 'enerġija kontinwa. 1458 01:11:44,860 --> 01:11:47,070 Aħna qegħdin ħruġ ta 'dan Avviż biex tipprevjeni telf 1459 01:11:47,070 --> 01:11:49,300 ta 'kulħadd AC elettriku enerġija, li jistgħu jirriżultaw 1460 01:11:49,300 --> 01:11:50,980 fit-telf tal-kontroll tal-ajruplan. 1461 01:11:50,980 --> 01:11:55,380 >> Allura, litteralment, hemm xi numru sħiħ, jew xi tip ta 'dejta ekwivalenti, 1462 01:11:55,380 --> 01:11:57,960 qed jintużaw fis-software f'ajruplan attwali 1463 01:11:57,960 --> 01:12:00,756 li jekk inti żżomm ajruplan tiegħek fuq żmien twil biżżejjed, li apparentement 1464 01:12:00,756 --> 01:12:03,880 jista 'jkun il-każ jekk int biss running minnhom kontinwament u qatt unplugging 1465 01:12:03,880 --> 01:12:06,810 ajruplan tiegħek, jidher, jew kiri batteriji tiegħu die, 1466 01:12:06,810 --> 01:12:09,840 eventwalment se jgħoddu sa, u sa, u sa, u sa, u sa, u aġġornata. 1467 01:12:09,840 --> 01:12:12,150 >> U, min-natura, ta ' ammont finit ta 'memorja 1468 01:12:12,150 --> 01:12:15,880 se jfur, rolling lura għall żero jew xi valur negattiv, 1469 01:12:15,880 --> 01:12:19,920 effett sekondarju li huwa l- realtà frighteningly reali 1470 01:12:19,920 --> 01:12:23,970 li l-pjan jista 'jkollhom bżonn li jkun fasslu, effettivament, 1471 01:12:23,970 --> 01:12:27,290 jew jistgħu jaqgħu, agħar, kif dubbien. 1472 01:12:27,290 --> 01:12:29,230 Allura dawn it-tipi ta 'kwistjonijiet għadhom magħna, 1473 01:12:29,230 --> 01:12:33,130 even-- dan kien artikolu 2015, l kollu aktar biża 1474 01:12:33,130 --> 01:12:36,100 meta inti ma neċessarjament jifhmu, japprezzaw, jew jantiċipaw 1475 01:12:36,100 --> 01:12:38,640 dawk it-tipi ta 'żbalji. 1476 01:12:38,640 --> 01:12:42,030 >> Għalhekk jirriżulta li hemm wieħed ieħor ħaġa ħażina dwar rappreżentazzjoni tad-data. 1477 01:12:42,030 --> 01:12:47,080 Jirriżulta li anke sufruni huma tip ta żbaljata, peress li sufruni, wisq, 1478 01:12:47,080 --> 01:12:51,440 I propost huma 32 bit, jew forsi 64 jekk tuża doppja. 1479 01:12:51,440 --> 01:12:53,070 Imma dak li għadu finite. 1480 01:12:53,070 --> 01:12:57,070 >> U l-qabda hija li jekk inti tista ' tpoġġi numru infinit ta 'numri 1481 01:12:57,070 --> 01:12:59,460 wara l-punt deċimali, m'hemm l-ebda mod inti 1482 01:12:59,460 --> 01:13:02,690 jistgħu jirrappreżentaw l-possibbiltà numri li konna mgħallma 1483 01:13:02,690 --> 01:13:04,990 fil-grad skola tista jeżisti fid-dinja. 1484 01:13:04,990 --> 01:13:08,870 A kompjuter, essenzjalment, irid jagħżlu subsett ta 'dawn in-numri 1485 01:13:08,870 --> 01:13:10,200 biex jirrappreżentaw eżattament. 1486 01:13:10,200 --> 01:13:12,450 >> Issa, il-kompjuter jista ' tond forsi ftit, 1487 01:13:12,450 --> 01:13:17,900 u jistgħu jippermettu li inti madwar taħżen kwalunkwe numru inti tista 'possibilment tixtieq. 1488 01:13:17,900 --> 01:13:20,940 Iżda biss intuwittivament, jekk inti għandhom numru finit ta 'bits, 1489 01:13:20,940 --> 01:13:24,560 inti tista 'biss permute minnhom b'modi finite tant. 1490 01:13:24,560 --> 01:13:26,570 Allura inti ma tistax possibilment użu ta 'numru finit 1491 01:13:26,570 --> 01:13:29,880 ta permutation ta 'bits, mudelli ta 'żero u dawk, 1492 01:13:29,880 --> 01:13:32,940 li jirrappreżentaw infinita numru ta 'numri, 1493 01:13:32,940 --> 01:13:37,370 li jissuġġerixxi li l-kompjuters tista tabilħaqq ikun mindud għalina kultant. 1494 01:13:37,370 --> 01:13:38,770 >> Fil-fatt, ejja tagħmel dan. 1495 01:13:38,770 --> 01:13:41,239 Let me jmorru lura fis IDE CS50. 1496 01:13:41,239 --> 01:13:43,030 Let me imorru quddiem u toħloq programm ftit 1497 01:13:43,030 --> 01:13:47,940 imsejħa impreċiżjoni, li turi li kompjuters huma, tabilħaqq, impreċiżi. 1498 01:13:47,940 --> 01:13:51,910 >> U let me imorru quddiem u tibda bil xi wħud li l-kodiċi minn qabel, 1499 01:13:51,910 --> 01:13:53,830 u issa biss tagħmel dan li ġej. 1500 01:13:53,830 --> 01:14:03,640 Let me imorru quddiem u jagħmlu printf,-mija f, n backslash, 1 diviż b'10. 1501 01:14:03,640 --> 01:14:07,430 Fi kliem ieħor, ejja adsa aktar profonda li 1/10, bħal 1 u diviża bi 10. 1502 01:14:07,430 --> 01:14:09,760 Żgur, kompjuter jista 'jirrappreżenta 1/10. 1503 01:14:09,760 --> 01:14:13,620 >> Mela ejja imorru quddiem u jagħmlu impreċiżjoni. 1504 01:14:13,620 --> 01:14:14,390 Ejja naraw. 1505 01:14:14,390 --> 01:14:16,210 Format jispeċifika tip doppja. 1506 01:14:16,210 --> 01:14:18,160 Iżda l-argument huwa int-tip. 1507 01:14:18,160 --> 01:14:19,040 X'qed jiġri? 1508 01:14:19,040 --> 01:14:21,970 >> Oh, interessanti, u għalhekk huwa ta ' Lezzjoni mitgħallma minn qabel. 1509 01:14:21,970 --> 01:14:26,050 Jien qal, ħej, juru kompjuter me float ma mija f. 1510 01:14:26,050 --> 01:14:28,200 Imma jien jtuha 2 ints. 1511 01:14:28,200 --> 01:14:31,120 Għalhekk jirriżulta li, I jistgħu jiffissaw dan fi ftit ta 'modi. 1512 01:14:31,120 --> 01:14:38,430 >> I jistgħu biss dawran wieħed fi 1.0, u 10 fil 10.0, li, fil-fatt, 1513 01:14:38,430 --> 01:14:42,390 għandhom l-effett tal-konverżjoni tagħhom fiċ floats-- għadhom nisperaw 1514 01:14:42,390 --> 01:14:43,180 l-istess numru. 1515 01:14:43,180 --> 01:14:45,880 Jew jirriżulta hemm xi ħaġa Ser naraw mill-ġdid qabel twil. 1516 01:14:45,880 --> 01:14:47,170 Inti jista 'jixħet in-numri. 1517 01:14:47,170 --> 01:14:49,880 >> Tista ', jużaw dan parenthetical espressjoni, inti tista 'tgħid, 1518 01:14:49,880 --> 01:14:52,560 ħej, kompjuter, jieħdu din 10, li naf hu int. 1519 01:14:52,560 --> 01:14:54,660 Iżda titratta dan, jekk jogħġbok, bħallikieku huwa float. 1520 01:14:54,660 --> 01:14:56,680 Iżda din iħoss kumplessi bla bżonn. 1521 01:14:56,680 --> 01:14:59,040 >> Għall-għanijiet tagħna llum, ejja biss litteralment 1522 01:14:59,040 --> 01:15:02,700 jagħmluhom f'wiċċ l-ilma valuri tal-punti b'punt deċimali, bħal din. 1523 01:15:02,700 --> 01:15:07,060 Let me imorru quddiem u terġa 'ssir, jagħmlu impreċiżjoni, tajba, dot slexx 1524 01:15:07,060 --> 01:15:08,870 impreċiżjoni, jidħol. 1525 01:15:08,870 --> 01:15:10,990 OK, aħna qed tfittex tajba. 1526 01:15:10,990 --> 01:15:18,194 >> 1 diviż b'10, skond tiegħi Mac hawnhekk, huwa, tabilħaqq, 0.100000. 1527 01:15:18,194 --> 01:15:21,360 Issa, I kien mgħallma fl-iskola grad hemmhekk għandu jkun numru infinit ta '0 tal. 1528 01:15:21,360 --> 01:15:23,151 Mela ejja mill-inqas tipprova biex tara xi wħud minn dawn. 1529 01:15:23,151 --> 01:15:26,770 Jirriżulta li printf hija ftit xorta fancier milli konna kont qed tuża. 1530 01:15:26,770 --> 01:15:30,890 Jirriżulta li inti ma għandekx li jiġu speċifikati biss mija f, jew biss mija i. 1531 01:15:30,890 --> 01:15:33,830 Inti tista 'attwalment tispeċifika xi għażliet ta 'kontroll hawn. 1532 01:15:33,830 --> 01:15:36,470 >> Speċifikament, jien ser ngħid, ħej, printf, 1533 01:15:36,470 --> 01:15:39,660 attwalment urini 10 punti deċimali. 1534 01:15:39,660 --> 01:15:40,820 Għalhekk jistenna ftit stramb. 1535 01:15:40,820 --> 01:15:42,845 Imma inti tgħidli fil-mija, dot, numri kemm 1536 01:15:42,845 --> 01:15:44,970 inti tixtieq li tara wara l- punt deċimali, u mbagħad f 1537 01:15:44,970 --> 01:15:48,340 għall ċatt, biss għaliex dan huwa dak id-dokumentazzjoni jgħid. 1538 01:15:48,340 --> 01:15:50,080 Let me imorru quddiem u ssalva lil dik. 1539 01:15:50,080 --> 01:15:52,460 >> U avviż wisq, jien jkollna għajjien ta 'retyping affarijiet. 1540 01:15:52,460 --> 01:15:55,900 Hekk jien biss iffissar tal-bidu u isfel vleġġa fuq ċwievet tiegħi hawn. 1541 01:15:55,900 --> 01:15:58,710 U jekk I iżommu laqtu up, inti 'tara kollha ta' l-kmandi 1542 01:15:58,710 --> 01:16:01,090 li għamilt, jew magħmula b'mod żbaljat. 1543 01:16:01,090 --> 01:16:04,630 >> U jien ser jimxi 'l quddiem issa u mhux attwalment jużaw dan, apparentement. 1544 01:16:04,630 --> 01:16:11,416 Jagħmlu impreċiżjoni, dot slash imprecision-- hekk 1545 01:16:11,416 --> 01:16:13,290 dak I kien mgħallma fl iskola grad kontrolli out. 1546 01:16:13,290 --> 01:16:19,010 Anke jekk jiena jistampaw sa 10 deċimali jpoġġih, tabilħaqq, huwa 0.10000. 1547 01:16:19,010 --> 01:16:19,840 Imma inti taf liema? 1548 01:16:19,840 --> 01:16:21,150 >> Ejja nneħħu ftit greedy. 1549 01:16:21,150 --> 01:16:23,990 Ejja ngħidu, bħal, urini 55 jirrimarka wara l-deċimali. 1550 01:16:23,990 --> 01:16:26,160 Ejja verament jieħdu din programm out għal spin. 1551 01:16:26,160 --> 01:16:31,170 Let me remake ma jagħmlu impreċiżjoni, dot mmejla, nuqqas ta 'preċiżjoni. 1552 01:16:31,170 --> 01:16:32,390 >> U here we go. 1553 01:16:32,390 --> 01:16:34,420 tfulija tiegħek kienet gidba. 1554 01:16:34,420 --> 01:16:48,410 Apparentement, 1 diviż b'10 huwa tabilħaqq 0.100000000000000005551115123-- 1555 01:16:48,410 --> 01:16:49,740 >> X'qed jigri? 1556 01:16:49,740 --> 01:16:53,360 Ukoll, jirriżulta, jekk inti tip ta tħares 'il bogħod biżżejjed fl-sottostanti 1557 01:16:53,360 --> 01:16:55,950 rappreżentanza ta 'dan il- numru, fil-fatt 1558 01:16:55,950 --> 01:17:00,400 mhuwiex eżattament 1/10, jew 0.1 u numru infinit ta 'żerijiet. 1559 01:17:00,400 --> 01:17:01,630 Issa, għaliex huwa li? 1560 01:17:01,630 --> 01:17:06,250 >> Ukoll, anke jekk din hija sempliċi Numru lilna bnedmin, 1 diviż b'10, 1561 01:17:06,250 --> 01:17:10,910 huwa għadu wieħed mill infinitament ħafna numri li nistgħu naħsbu up. 1562 01:17:10,910 --> 01:17:14,490 Iżda kompjuter jista 'jirrappreżenta biss finitely numri tant. 1563 01:17:14,490 --> 01:17:18,710 U għalhekk, b'mod effettiv, dak li l- kompjuter qed juri magħna huwa l-eqreb tagħha 1564 01:17:18,710 --> 01:17:22,940 approssimazzjoni għan-numru irridu li jemmnu huwa 1/10, 1565 01:17:22,940 --> 01:17:27,760 jew verament 0.10000 ad infinitum. 1566 01:17:27,760 --> 01:17:30,425 >> Pjuttost, għalkemm, din hija qrib kemm tista 'tikseb. 1567 01:17:30,425 --> 01:17:32,300 U, tabilħaqq, jekk inti tfittex taħt il-barnuża, 1568 01:17:32,300 --> 01:17:37,050 kif aħna qegħdin hawn billi tħares 55 ċifri wara l-deċimali, 1569 01:17:37,050 --> 01:17:39,990 aħna attwalment ara li r-realtà. 1570 01:17:39,990 --> 01:17:42,610 Issa bħala twarrib, jekk inti ħadthom qatt rat l movie-- 1571 01:17:42,610 --> 01:17:45,780 ħafna mill inti probabilment haven't-- iżda Superman 3 xi snin ilu, 1572 01:17:45,780 --> 01:17:49,500 Richard Pryor essenzjalment leveraged din il realtà fil-kumpanija tiegħu biex steal ħafna 1573 01:17:49,500 --> 01:17:53,500 ta 'frazzjonijiet u frazzjonijiet ta pennies, minħabba li l-company-- kif niftakar, 1574 01:17:53,500 --> 01:17:57,210 huwa kien while-- kienet essenzjalment tarmi xi ħaġa li ma jidħlux 1575 01:17:57,210 --> 01:17:58,790 fil-kunċett ta 'ċenteżmi. 1576 01:17:58,790 --> 01:18:01,480 >> Imma jekk inti żid up kollha dawn ċkejkna, ċkejkna, numri żgħar darb'oħra, 1577 01:18:01,480 --> 01:18:04,960 u għal darb'oħra, u għal darb'oħra, inti tista ', bħal fil każ tiegħu, jagħmel tajjeb ammont ta 'flus. 1578 01:18:04,960 --> 01:18:08,010 >> Dik l-istess idea kienet misruqa mill aktar reċenti, iżda xorta issa anzjani 1579 01:18:08,010 --> 01:18:10,500 movie, imsejħa Uffiċċju Ispazju, fejn il-guys f'dak movie, 1580 01:18:10,500 --> 01:18:13,501 ma l-istess ħaġa, invitat it up kompletament, spiċċaw bi mod wisq 1581 01:18:13,501 --> 01:18:14,666 flus fil-kont bankarju tagħhom. 1582 01:18:14,666 --> 01:18:15,800 Kien kollha suspettużi ħafna. 1583 01:18:15,800 --> 01:18:19,290 Iżda fl-aħħar tal-ġurnata, impreċiżjoni hija kollha madwarna. 1584 01:18:19,290 --> 01:18:22,240 >> U li, wisq, jista 'jkun frighteningly-każ. 1585 01:18:22,240 --> 01:18:25,590 Jirriżulta li Superman 3 u l-Uffiċċju Ispazju twarrib, hemm 1586 01:18:25,590 --> 01:18:28,460 jista 'jkun hemm xi reali ħafna ramifikazzjonijiet dinja 1587 01:18:28,460 --> 01:18:32,290 r-realtajiet tas impreċiżi rappreżentazzjoni tad-data 1588 01:18:32,290 --> 01:18:34,770 li anke aħna bnedmin sa F'dan il-jum ma neċessarjament 1589 01:18:34,770 --> 01:18:38,230 jifhmu kif ukoll aħna għandhom, jew jiftakru kif spiss kemm għandna. 1590 01:18:38,230 --> 01:18:42,950 U, tabilħaqq, il-clip li ġej huwa minn ħarsa lejn uħud dinja reali ħafna 1591 01:18:42,950 --> 01:18:47,730 ramifikazzjonijiet ta 'x'jiġri jekk int ma japprezzaw il-impreċiżjoni li 1592 01:18:47,730 --> 01:18:50,065 jista 'jiġri fin-numru rappreżentazzjoni. 1593 01:18:50,065 --> 01:18:51,300 >> [Daqq video] 1594 01:18:51,300 --> 01:18:55,620 >> -Computers, Aħna ve kollha waslu li jaċċettaw -problemi spiss frustranti li 1595 01:18:55,620 --> 01:19:00,310 jmorru ma them-- bugs, vajrusis, u glitches softwer, 1596 01:19:00,310 --> 01:19:03,130 għall-prezzijiet żgħar li jħallsu għall-konvenjenza. 1597 01:19:03,130 --> 01:19:07,800 Iżda fil teknoloġija għolja u l-veloċità għolja applikazzjonijiet tal-programm spazjali militari u, 1598 01:19:07,800 --> 01:19:12,800 -iżgħar problema tista jiġu eżaltat fil diżastru. 1599 01:19:12,800 --> 01:19:18,900 >> Fuq Ġunju 4, 1996, xjentisti ippreparati biex tniedi bla ekwipaġġ Ariane 5 rokit. 1600 01:19:18,900 --> 01:19:21,220 Kien jġorru xjentifika satelliti mfassla 1601 01:19:21,220 --> 01:19:24,600 biex tistabbilixxi preċiżament kif l- jinteraġixxi earth s kamp manjetiku 1602 01:19:24,600 --> 01:19:27,410 mal-irjieħ solari. 1603 01:19:27,410 --> 01:19:30,800 Il rokit kienet mibnija għall l-Aġenzija Spazjali Ewropea, 1604 01:19:30,800 --> 01:19:34,370 u tintrefa 'minn faċilità tiegħu fuq il-kosta tal-Gujana Franċiża. 1605 01:19:34,370 --> 01:19:37,540 >> -At Madwar 37 sekondi fl -titjira, l-ewwel 1606 01:19:37,540 --> 01:19:39,270 xi ħaġa ndunat kienet tmur ħażina. 1607 01:19:39,270 --> 01:19:42,250 -Żennuni kienu tidwir fil mod huma verament m'għandhomx. 1608 01:19:42,250 --> 01:19:46,580 Madwar 40 sekonda fil-titjira, b'mod ċar, il-vettura kienet fl-inkwiet. 1609 01:19:46,580 --> 01:19:48,850 >> U li meta huma jkunu għamlu deċiżjoni li tiddistruġġih. 1610 01:19:48,850 --> 01:19:52,780 L-uffiċjal tas-sikurezza firxa, bil imsaren tremendi, ippressat il-buttuna, 1611 01:19:52,780 --> 01:19:58,150 nefaħ l-rokit, qabel ma setgħet issir periklu għas-sigurtà pubblika. 1612 01:19:58,150 --> 01:20:01,060 >> -Dan Kien il xebba vjaġġ tas-Ariane 5. 1613 01:20:01,060 --> 01:20:03,960 U l-qerda tiegħu ħa poġġi minħabba difett 1614 01:20:03,960 --> 01:20:05,822 inkorporati fis-software tal-rokit s. 1615 01:20:05,822 --> 01:20:08,280 -Il-Problema fuq il Ariane kienet li kien hemm numru li 1616 01:20:08,280 --> 01:20:10,600 meħtieġa 64 bits biex jesprimu. 1617 01:20:10,600 --> 01:20:13,590 U huma riedu li jikkonvertu lil numru 16-bit. 1618 01:20:13,590 --> 01:20:15,610 Huma jassumi li l Numru kien qatt ser 1619 01:20:15,610 --> 01:20:20,980 li jkunu kbar ħafna, li ħafna minn dawn numri f'numru 64-bit kienu zeroes. 1620 01:20:20,980 --> 01:20:22,440 Huma kienu żbaljati. 1621 01:20:22,440 --> 01:20:25,060 >> -Il-Inkapaċità ta 'waħda programm tas-software li jaċċetta 1622 01:20:25,060 --> 01:20:29,510 -tip ta numru iġġenerat mill ieħor kien fl-għeruq tan-nuqqas. 1623 01:20:29,510 --> 01:20:34,350 Żvilupp tas-softwer kienet saret parti jiswew ħafna ta 'teknoloġija ġdida. 1624 01:20:34,350 --> 01:20:38,140 Il rokit Ariane kienu ħafna suċċess, tant tas-software 1625 01:20:38,140 --> 01:20:41,550 maħluqa għall kien ukoll użat fil-Ariane 5. 1626 01:20:41,550 --> 01:20:47,940 >> -Il-Problema bażika kienet li l-Ariane 5 kien aktar mgħaġġel, aċċelerata aktar malajr. 1627 01:20:47,940 --> 01:20:51,450 U s-software ma kinitx ammontaw għal dak. 1628 01:20:51,450 --> 01:20:55,060 >> -Il-Qerda tal-rokit kien hemm diżastru finanzjarju kbir, 1629 01:20:55,060 --> 01:20:58,790 kollha minħabba żball softwer minuta. 1630 01:20:58,790 --> 01:21:01,210 Iżda dan ma kienx l-ewwel time problemi ta 'konverżjoni tad-data 1631 01:21:01,210 --> 01:21:04,820 kien ibati teknoloġija rokit moderna. 1632 01:21:04,820 --> 01:21:08,050 >> -In 1991, bil-bidu ta 'l-ewwel Gwerra tal-Golf, 1633 01:21:08,050 --> 01:21:10,570 l Missili Patriot esperjenzaw tip simili 1634 01:21:10,570 --> 01:21:12,800 tal-akbar problema konverżjoni. 1635 01:21:12,800 --> 01:21:16,090 U bħala riżultat, 28 nies, 28 suldati Amerikani, 1636 01:21:16,090 --> 01:21:19,080 nqatlu, u dwar 100 oħrajn feruti, 1637 01:21:19,080 --> 01:21:22,780 meta l Patriot, li suppost kellha biex jipproteġu kontra scuds deħlin, 1638 01:21:22,780 --> 01:21:25,830 naqset għan-nar ta 'missili. 1639 01:21:25,830 --> 01:21:31,670 >> -Meta Iraq invadiet Kuwajt, u l-Amerika imnedija Maltempata deżert fil-bidu 1991, 1640 01:21:31,670 --> 01:21:35,780 batteriji patrijott Missili kienu skjerati biex jipproteġu l-Għarabja Sawdita u l-Iżrael 1641 01:21:35,780 --> 01:21:39,230 minn attakki Iraqini missili Scud. 1642 01:21:39,230 --> 01:21:43,810 Il Patriot hija ta 'firxa medja Istati Uniti wiċċ li sistema ta 'arja, manifatturati 1643 01:21:43,810 --> 01:21:45,770 mill-kumpanija Raytheon. 1644 01:21:45,770 --> 01:21:52,340 >> -Il-Daqs tal-interċetturi Patriot nnifisha hija madwar bejn wieħed u ieħor 20 pied fit-tul. 1645 01:21:52,340 --> 01:21:55,230 U li jiżen madwar 2,000 liri. 1646 01:21:55,230 --> 01:21:59,320 U twettaq warhead ta 'madwar, Naħseb li huwa bejn wieħed u ieħor 150 £. 1647 01:21:59,320 --> 01:22:03,930 U l-warhead innifsu huwa ta 'splussiv għolja, li 1648 01:22:03,930 --> 01:22:07,330 għandha frammenti madwaru. 1649 01:22:07,330 --> 01:22:11,680 Il-kaxxa tal-warhead huwa imfassla biex jaġixxu bħall buckshot. 1650 01:22:11,680 --> 01:22:14,110 >> -Il Missili jinġarru erba 'għal kull kontenitur, 1651 01:22:14,110 --> 01:22:17,130 u huma trasportati permezz ta 'karru semi. 1652 01:22:17,130 --> 01:22:24,930 >> -Il Sistema Patriot kontra l-missili tmur lura għall-inqas 20 snin issa. 1653 01:22:24,930 --> 01:22:28,420 Din kienet oriġinarjament iddisinjata bħala missili difiża bl-ajru 1654 01:22:28,420 --> 01:22:30,720 li rimja fl ajruplani ghadu. 1655 01:22:30,720 --> 01:22:34,500 Fl-ewwel gwerra tal-Golf, meta dik gwerra daħlet tul, 1656 01:22:34,500 --> 01:22:39,745 l-Armata riedu jużawh għal rimja fl scuds, mhux ajruplani. 1657 01:22:39,745 --> 01:22:43,620 >> L-Air Force Iraq kienet mhux tant ta 'problema. 1658 01:22:43,620 --> 01:22:46,670 Iżda l-Armata kien inkwetat dwar scuds. 1659 01:22:46,670 --> 01:22:50,170 U għalhekk huma ppruvaw jaġġornaw l-Patriot. 1660 01:22:50,170 --> 01:22:52,800 >> -Intercepting Ghadu missili jivvjaġġaw lejn Mach 5 1661 01:22:52,800 --> 01:22:55,830 kienet se tkun sfida biżżejjed. 1662 01:22:55,830 --> 01:22:58,490 Iżda meta l-Patriot kien ġrew fis-servizz, 1663 01:22:58,490 --> 01:23:02,860 l-Armata ma kienx konxju ta ' modifika Iraqini li għamlu 1664 01:23:02,860 --> 01:23:05,930 scuds tagħhom kważi impossibbli li hit. 1665 01:23:05,930 --> 01:23:10,740 >> Liema ġara huwa l scuds li kienu ġejjin fil kinux instabbli. 1666 01:23:10,740 --> 01:23:11,692 Huma kienu wobbling. 1667 01:23:11,692 --> 01:23:14,910 Ir-raġuni għal dan kienet l-Iraqini, sabiex 1668 01:23:14,910 --> 01:23:18,280 biex tikseb 600 kilometru barra minn kilometru 300 1669 01:23:18,280 --> 01:23:21,700 missili medda, ħa piż barra mill-warhead quddiem. 1670 01:23:21,700 --> 01:23:23,390 Huma għamlu l-warhead eħfef. 1671 01:23:23,390 --> 01:23:27,330 >> Allura issa l-Patriot huwa tipprova toħroġ fil-Scud. 1672 01:23:27,330 --> 01:23:30,230 U ħafna mill-ħin, il- maġġoranza kbira tal-ħin, 1673 01:23:30,230 --> 01:23:32,940 ikun biss jtiru mill-Scud. 1674 01:23:32,940 --> 01:23:37,260 Ladarba l-operaturi tas-sistema Patriot realizzati l-Patriot spiċċa barra, 1675 01:23:37,260 --> 01:23:41,690 huma jisplodu warhead tal-Patriot tal sabiex jiġi evitat diżgrazzji possibbli jekk hija 1676 01:23:41,690 --> 01:23:44,570 kien permess li jaqgħu l-art. 1677 01:23:44,570 --> 01:23:48,790 >> -Li Kien dak li ħafna nies raw, dawk fireballs kbar fis-sema, 1678 01:23:48,790 --> 01:23:54,550 u ħażin bħala interċettazzjonijiet ta 'testati Scud. 1679 01:23:54,550 --> 01:23:56,630 >> -Although Fil-lejl smewwiet, Patriots deher 1680 01:23:56,630 --> 01:24:00,370 li jkun b'suċċess jeqirdu Scuds, fil Dhahran, 1681 01:24:00,370 --> 01:24:03,360 jista 'jkun hemm l-ebda żball dwar ir-rendiment tiegħu. 1682 01:24:03,360 --> 01:24:07,970 Hemmhekk, is-sistema tar-radar tal-Patriot tal mitlufa mogħdija ta 'Scud li jmiss, 1683 01:24:07,970 --> 01:24:10,721 u qatt nediet dovuti għal difett softwer. 1684 01:24:10,721 --> 01:24:14,090 1685 01:24:14,090 --> 01:24:18,940 Kien l-Iżraeljani li l-ewwel skoperti li l-aktar is-sistema kienet fuq, 1686 01:24:18,940 --> 01:24:22,690 l-akbar il diskrepanza ħin saru, minħabba arloġġ integrati 1687 01:24:22,690 --> 01:24:24,810 fil-kompjuter tas-sistema. 1688 01:24:24,810 --> 01:24:28,210 >> -About Ġimgħatejn qabel -traġedja fil Dhahran, 1689 01:24:28,210 --> 01:24:30,770 -Iżraeljani rrapportati lill Dipartiment tad-Difiża 1690 01:24:30,770 --> 01:24:32,590 li s-sistema kienet jitilfu l-ħin. 1691 01:24:32,590 --> 01:24:35,360 Wara madwar tmien sigħat jew running, huma ndunat li s-sistema 1692 01:24:35,360 --> 01:24:37,720 kienet qed issir notevoli inqas preċiż. 1693 01:24:37,720 --> 01:24:41,900 Id-Dipartiment tad-Difiża wieġbet billi javżak kollha tal-batteriji Patriot 1694 01:24:41,900 --> 01:24:44,950 biex ma jħallux is-sistemi fuq għal żmien twil. 1695 01:24:44,950 --> 01:24:49,160 Huma qatt ma qal dak żmien twil was-- tmien sigħat, 10 siegħa, 1,000 siegħa. 1696 01:24:49,160 --> 01:24:51,360 Ħadd ma kien jaf. 1697 01:24:51,360 --> 01:24:53,380 >> -Il Batterija Patriot stazzjonati fuq il-kwartieri 1698 01:24:53,380 --> 01:24:58,350 fil Dhahran u żbaljata interna tagħha arloġġ kienet ilha għaddejja aktar minn 100 siegħa 1699 01:24:58,350 --> 01:25:01,670 dwar il-lejl ta 'Frar 25. 1700 01:25:01,670 --> 01:25:05,917 >> -Hija Tracked żmien sa preċiżjoni ta 'madwar wieħed minn għaxra ta' sekonda. 1701 01:25:05,917 --> 01:25:08,000 Issa, wieħed minn għaxra ta 'sekonda huwa numru interessanti, 1702 01:25:08,000 --> 01:25:11,920 minħabba li ma tistax tiġi espressa fil binarja eżattament, liema 1703 01:25:11,920 --> 01:25:16,820 tfisser li ma tistax tiġi espressa eżattament fi kwalunkwe kompjuter diġitali moderna. 1704 01:25:16,820 --> 01:25:18,540 Huwa diffiċli li wieħed jemmen. 1705 01:25:18,540 --> 01:25:21,210 >> Iżda jużaw dan bħala eżempju. 1706 01:25:21,210 --> 01:25:23,540 Ejja tieħu t-tielet numru wieħed. 1707 01:25:23,540 --> 01:25:27,350 tielet wieħed ma jistax ikun espressa deċimali eżattament. 1708 01:25:27,350 --> 01:25:32,080 tielet wieħed huwa 0.333 għaddejja għal infinità. 1709 01:25:32,080 --> 01:25:36,480 >> M'hemm l-ebda mod biex tagħmel dan ma preċiżjoni assoluta deċimali. 1710 01:25:36,480 --> 01:25:39,560 Dik hija eżattament it-tip ta 'problema li ġara fil-Patriot. 1711 01:25:39,560 --> 01:25:44,100 L-itwal-sistema dam, il agħar l-iżball ħin sar. 1712 01:25:44,100 --> 01:25:48,890 >> -After 100 siegħa ta 'tħaddim, l- Żball fil-ħin kien biss madwar terz 1713 01:25:48,890 --> 01:25:50,600 ta 'sekonda. 1714 01:25:50,600 --> 01:25:54,210 Iżda f'termini ta jimmira għal missili jivvjaġġaw Mach 5, 1715 01:25:54,210 --> 01:25:58,710 dan wassal għal traċċar Żball ta 'aktar minn 600 metru. 1716 01:25:58,710 --> 01:26:02,120 Ikun żball fatali għall-suldati fuq dak 1717 01:26:02,120 --> 01:26:08,940 ġara huwa tnedija Scud kienet skoperti minn satelliti ta 'twissija bikrija 1718 01:26:08,940 --> 01:26:12,860 u dawn kienu jafu li l-Scud kienet ġejjin fil-direzzjoni ġenerali tagħhom. 1719 01:26:12,860 --> 01:26:15,320 Huma ma jafux fejn kien ġejjin. 1720 01:26:15,320 --> 01:26:18,250 >> -Hija Kien issa sa l-radar komponent tas-sistema Patriot 1721 01:26:18,250 --> 01:26:23,190 tiddefendi Dhahran biex jinstabu u jżommu kont tal-missili ghadu dieħla. 1722 01:26:23,190 --> 01:26:24,609 >> -Il-Radar kien intelliġenti ħafna. 1723 01:26:24,609 --> 01:26:26,650 Hija fil-fatt track il-pożizzjoni tal-Scud, 1724 01:26:26,650 --> 01:26:30,350 u mbagħad previżjoni fejn probabbilment ikun il-ħin li jmiss il-radar mibgħuta 1725 01:26:30,350 --> 01:26:31,420 polz barra. 1726 01:26:31,420 --> 01:26:33,110 Dan kien jissejjaħ xatba firxa. 1727 01:26:33,110 --> 01:26:37,660 >> -Then, Ladarba l-Patriot jiddeëiedi żmien biżżejjed għandha 1728 01:26:37,660 --> 01:26:42,450 mgħoddi li jmorru lura u jiċċekkjaw il-li jmiss post għal dan l-oġġett misjuba, 1729 01:26:42,450 --> 01:26:43,600 din tmur lura. 1730 01:26:43,600 --> 01:26:48,650 Allura meta marru lura lill-ħażin post, imbagħad jara l-ebda oġġett. 1731 01:26:48,650 --> 01:26:52,160 U huwa jiddeċiedi li ma kien hemm l-ebda oġġett, kien kxif falza, 1732 01:26:52,160 --> 01:26:53,930 u qtar il-binarju. 1733 01:26:53,930 --> 01:26:57,030 >> -Il Scud deħlin sparixxa mill-iskrin tar-radar. 1734 01:26:57,030 --> 01:27:00,260 U sekondi wara, slammed fil-kwartieri. 1735 01:27:00,260 --> 01:27:06,150 Il Scud maqtula 28, u kienet l-aħħar wieħed sparati waqt l-ewwel Gwerra tal-Golf. 1736 01:27:06,150 --> 01:27:11,960 >> Traġikament, is-software aġġornat waslu fil Dhahran-għada. 1737 01:27:11,960 --> 01:27:14,930 Is-difett softwer kellhom Kien fiss, għeluq 1738 01:27:14,930 --> 01:27:19,806 kapitolu wieħed fil-mnikkta istorja tal-missili Patriot. 1739 01:27:19,806 --> 01:27:20,729 >> [Daqq video] 1740 01:27:20,729 --> 01:27:23,520 DAVID J. Malan: Allura din hija kollha li jgħidu li dawn il-kwistjonijiet ta 'tifwir 1741 01:27:23,520 --> 01:27:25,860 u impreċiżjoni huma kollha wisq reali. 1742 01:27:25,860 --> 01:27:26,920 Allura kif ma nikbru hawn? 1743 01:27:26,920 --> 01:27:28,895 Bdejna bil biss jitkellem dwar printf. 1744 01:27:28,895 --> 01:27:31,270 Għal darb'oħra, din il-funzjoni li prints xi ħaġa li l-iskrin, 1745 01:27:31,270 --> 01:27:33,450 u aħna introdotti wara funzjonijiet oħra ftit 1746 01:27:33,450 --> 01:27:34,945 mill-hekk imsejħa librerija CS50 s. 1747 01:27:34,945 --> 01:27:36,910 U aħna ser tkompli tara dawn fi żmien xieraq. 1748 01:27:36,910 --> 01:27:40,760 U aħna, partikolarment, użati spag nikseb, u nikseb int, u issa wkoll tikseb float, 1749 01:27:40,760 --> 01:27:44,410 u f'oħrajn xorta se niltaqgħu u l-użu lilna nfusna qabel twil. 1750 01:27:44,410 --> 01:27:47,220 >> Imma fuq okkażjoni, ikollhom aħna diġà raw il-ħtieġa 1751 01:27:47,220 --> 01:27:50,520 li jaħżen x'inhuma dawn il-funzjonijiet idejn lura? 1752 01:27:50,520 --> 01:27:52,920 Huma idejn us lura string, jew int, jew float. 1753 01:27:52,920 --> 01:27:56,070 U xi kultant għandna bżonn li tpoġġi din spag, jew int, jew float, x'imkien. 1754 01:27:56,070 --> 01:28:00,100 >> U biex jaħżnu dawk l-affarijiet, recall biss bħal fil Scratch, għandna varjabbli. 1755 01:28:00,100 --> 01:28:03,260 Iżda b'differenza Scratch, fis-C għandna tipi attwali 1756 01:28:03,260 --> 01:28:05,530 tad-dejta variables-- tipi, generally-- aktar 1757 01:28:05,530 --> 01:28:08,640 fosthom, string, l int, a float, u dawn oħrajn għadhom. 1758 01:28:08,640 --> 01:28:12,321 >> U hekk meta aħna niddikjaraw varjabbli fis-C, aħna ser ikollhom biex jiddikjaraw tipi ta 'data tagħna. 1759 01:28:12,321 --> 01:28:14,820 Din hija xi ħaġa mhux aħna ser għandek tagħmel aktar tard fil-semestru 1760 01:28:14,820 --> 01:28:16,810 kif aħna transizzjoni għal lingwi oħra. 1761 01:28:16,810 --> 01:28:19,610 Iżda għal issa, jeħtiġilna li a priori minn qabel, 1762 01:28:19,610 --> 01:28:24,370 tispjega lill-kompjuter liema tip tal-varjabbli irridu li tagħtina. 1763 01:28:24,370 --> 01:28:27,290 >> Issa, sadanittant, għall-istampar dawk it-tipi ta 'tipi ta' data, 1764 01:28:27,290 --> 01:28:29,570 għandna li tgħid printf dak li jistennew. 1765 01:28:29,570 --> 01:28:32,450 U rajna fil-mija i ta 'sekwenzi, u mija i għall-interi, 1766 01:28:32,450 --> 01:28:33,790 u ftit oħrajn diġà. 1767 01:28:33,790 --> 01:28:37,237 U dawk huma sempliċiment rekwiżiti għall-preżentazzjoni viżiva 1768 01:28:37,237 --> 01:28:38,070 ta 'dik l-informazzjoni. 1769 01:28:38,070 --> 01:28:42,080 >> U kull wieħed minn dawn jista 'attwalment jiġi parametrized jew tweaked b'xi mod, 1770 01:28:42,080 --> 01:28:45,370 jekk inti tixtieq li tkompli kontroll it-tip ta 'produzzjoni li ikollok. 1771 01:28:45,370 --> 01:28:49,604 U, fil-fatt, jirriżulta li mhux biss hemm n backslash għal linja ġdida. 1772 01:28:49,604 --> 01:28:52,520 Hemm xi ħaġa oħra msejħa backslash r għar-ritorn ġarr, li 1773 01:28:52,520 --> 01:28:54,360 huwa aktar simili għal typewriter iskola antika, 1774 01:28:54,360 --> 01:28:57,690 u wkoll Windows jintuża għal ħafna snin. 1775 01:28:57,690 --> 01:28:59,690 >> Hemm t backslash għall tabs. 1776 01:28:59,690 --> 01:29:03,170 Jirriżulta, li jekk inti tixtieq li kwotazzjoni doppja ġewwa ta 'spag, 1777 01:29:03,170 --> 01:29:05,000 ifakkar li konna użati doppju kwotazzjoni doppja 1778 01:29:05,000 --> 01:29:07,900 kwotazzjoni fuq ix-xellug u l-lemin truf ta 'spag tagħna s'issa. 1779 01:29:07,900 --> 01:29:09,420 Dak jidher li jħawdu affarijiet. 1780 01:29:09,420 --> 01:29:12,503 >> Jekk inti tixtieq li jitqiegħed kwotazzjoni doppja fil -nofs ta 'string-- u, tabilħaqq, 1781 01:29:12,503 --> 01:29:13,670 huwa konfuża biex tara. 1782 01:29:13,670 --> 01:29:17,120 U hekk ikollok biex jaħarbu, hekk li jitkellmu, kwotazzjoni doppja ma 'xi ħaġa 1783 01:29:17,120 --> 01:29:18,860 simili, litteralment, backslash kwotazzjoni doppja. 1784 01:29:18,860 --> 01:29:20,230 U hemm ieħor ftit għadu. 1785 01:29:20,230 --> 01:29:24,540 U aħna ser tara aktar ta 'dawk fl-użu attwali qabel fit-tul. 1786 01:29:24,540 --> 01:29:27,930 >> Mela ejja issa tgħaddi mill data, u rappreżentazzjoni, 1787 01:29:27,930 --> 01:29:30,820 u l-operaturi aritmetika, kollha li minnhom tana xi bini 1788 01:29:30,820 --> 01:29:32,070 blokki li biex jilgħabu. 1789 01:29:32,070 --> 01:29:34,481 Imma issa ejja attwalment jagħtu us-bqija tal-vokabularju 1790 01:29:34,481 --> 01:29:36,230 li aħna diġà kellhom ġimgħa li għaddiet ma scratch 1791 01:29:36,230 --> 01:29:39,350 billi tagħti ħarsa lejn xi oħra constructs fl C-- mhux kollha kemm huma. 1792 01:29:39,350 --> 01:29:41,680 Iżda l-ideat aħna qed waslet biex tara verament ftit 1793 01:29:41,680 --> 01:29:45,610 li jenfasizzaw il traduzzjoni minn lingwa waħda, Scratch, għall-ieħor, C. 1794 01:29:45,610 --> 01:29:48,470 >> U maż-żmien, aħna ser pick up aktar għodod għall toolkit tagħna, 1795 01:29:48,470 --> 01:29:49,820 biex ngħidu hekk, sintattikament. 1796 01:29:49,820 --> 01:29:54,190 U, fil-fatt, tkun taf tara li l-ideat issa huma pjuttost familjari mill-aħħar ġimgħa. 1797 01:29:54,190 --> 01:29:55,200 Mela ejja tagħmel dan. 1798 01:29:55,200 --> 01:29:58,870 >> Ejja imorru quddiem u Whip up programm li effettivament juża xi espressjonijiet, 1799 01:29:58,870 --> 01:30:00,720 espressjoni Boolean. 1800 01:30:00,720 --> 01:30:02,810 Let me imorru quddiem hawn u toħloq fajl ġdid. 1801 01:30:02,810 --> 01:30:06,090 I ser sejħa dan condition.c. 1802 01:30:06,090 --> 01:30:09,350 >> Let me imorru quddiem u jinkludu l-librerija CS50. 1803 01:30:09,350 --> 01:30:12,640 U let me imorru quddiem u jinkludu istandard IO.h għall-funzjonijiet tagħna, 1804 01:30:12,640 --> 01:30:14,690 u printf, u aktar rispettivament. 1805 01:30:14,690 --> 01:30:18,900 Ħalli nagħtikom lili nnifsi li boilerplate ta null prinċipali int, li l-ispjegazzjoni aħna ser 1806 01:30:18,900 --> 01:30:20,360 jerġgħu lura għall fil-futur. 1807 01:30:20,360 --> 01:30:23,820 >> Issa let me jimxi 'l quddiem u jagħti lili nnifsi int permezz int tikseb. 1808 01:30:23,820 --> 01:30:25,970 Imbagħad let me imorru quddiem u tagħmel dan. 1809 01:30:25,970 --> 01:30:30,150 Irrid ngħid jekk i huwa less-- ejja jiddistingwu bejn pożittivi, negattivi, 1810 01:30:30,150 --> 01:30:31,260 jew il-valuri żero. 1811 01:30:31,260 --> 01:30:36,630 >> Mela jekk i huwa inqas minn żero, let me sempliċiment għandek dan il-programm sempliċement jgħidu, 1812 01:30:36,630 --> 01:30:42,370 negattiv, backslash n, inkella jekk i huwa akbar minn żero. 1813 01:30:42,370 --> 01:30:47,030 Issa jien, naturalment, se ngħid printf pożittiv, backslash n. 1814 01:30:47,030 --> 01:30:50,690 U allura inkella if-- I jistgħu jagħmlu dan. 1815 01:30:50,690 --> 01:30:53,410 >> I jistgħu jagħmlu jekk i huwa ugwali 0. 1816 01:30:53,410 --> 01:30:55,840 Imma jien d jkun qed jagħmel fuq inqas wieħed żball diġà. 1817 01:30:55,840 --> 01:30:59,480 Ifakkar li s-sinjal ugwali mhux ugwali, kif aħna bnedmin jafu. 1818 01:30:59,480 --> 01:31:01,010 >> Imma hija l-operatur assenjazzjoni. 1819 01:31:01,010 --> 01:31:05,640 U aħna ma jridux jieħdu 0 fuq il linja leminija u b'xutt fil i fuq ix-xellug. 1820 01:31:05,640 --> 01:31:11,810 Allura biex tiġi evitata din il-konfużjoni, jew forsi l-użu ħażin ta 'l-ugwali tiffirma, 1821 01:31:11,810 --> 01:31:14,740 bnedmin iddeċidew xi snin ilu li fl-ipprogrammar ta 'lingwi f'ħafna 1822 01:31:14,740 --> 01:31:18,000 meta inti tixtieq li jiċċekkjaw għall-ugwaljanza bejn ix-xellug u l-lemin, 1823 01:31:18,000 --> 01:31:19,635 inti attwalment jużaw huwa daqs ugwali. 1824 01:31:19,635 --> 01:31:21,010 Allura inti hit l-ugwali jiffirmaw darbtejn. 1825 01:31:21,010 --> 01:31:25,600 Meta inti tixtieq li tassenja mill-lemin -xellug, inti tuża sinjal ugwali wieħed. 1826 01:31:25,600 --> 01:31:29,360 Allura nistgħu nagħmlu this-- inkella jekk i huwa ugwali huwa daqs żero. 1827 01:31:29,360 --> 01:31:31,710 >> I jistgħu mbagħad mur u miftuħa ċingi kaboċċi tiegħi, 1828 01:31:31,710 --> 01:31:36,087 u jgħidu, printf 0, n backslash, magħmul. 1829 01:31:36,087 --> 01:31:38,170 Imma ftakar kif dawn frieket fit-triq jista 'jaħdem. 1830 01:31:38,170 --> 01:31:39,836 U, tassew, biss jaħsbu dwar il-loġika. 1831 01:31:39,836 --> 01:31:41,510 i huwa numru. 1832 01:31:41,510 --> 01:31:43,320 Huwa ta 'numru sħiħ, b'mod speċifiku. 1833 01:31:43,320 --> 01:31:48,600 U dan ifisser li għaddej biex tkun inqas minn 0, jew akbar minn 0, jew 0. 1834 01:31:48,600 --> 01:31:51,600 Allura hemm tip ta 'dan każ normali impliċita. 1835 01:31:51,600 --> 01:31:54,920 >> U hekk nistgħu, bħad Scratch, teżenta mill-inkella jekk, 1836 01:31:54,920 --> 01:31:55,747 u biss jgħidu ħaġa oħra. 1837 01:31:55,747 --> 01:31:57,830 Loġikament, jekk inti l- programmer jafu hemm biss 1838 01:31:57,830 --> 01:32:01,635 tliet bramel li fih l- xenarju jista fall-- l-ewwel, 1839 01:32:01,635 --> 01:32:03,510 it-tieni, jew it-tielet f'dan il case-- ma 1840 01:32:03,510 --> 01:32:07,100 jolqot żżid il-preċiżjoni addizzjonali u l-loġika addizzjonali hemmhekk. 1841 01:32:07,100 --> 01:32:09,690 Just go quddiem bil- każ normali hawnhekk ta 'ħaddieħor. 1842 01:32:09,690 --> 01:32:11,950 >> Issa, ejja imorru quddiem wara iffrankar dan, tagħmel 1843 01:32:11,950 --> 01:32:15,760 kundizzjonijiet dot mmejla conditions-- mhux user interface kbira, 1844 01:32:15,760 --> 01:32:18,914 għaliex jien ma suġġeriment il utent, kif semmejt qabel. 1845 01:32:18,914 --> 01:32:19,580 Imma li l-multa. 1846 01:32:19,580 --> 01:32:20,454 Aħna ser jżommha sempliċi. 1847 01:32:20,454 --> 01:32:21,890 Ejja nippruvaw in-numru 42. 1848 01:32:21,890 --> 01:32:23,240 U li pożittivi. 1849 01:32:23,240 --> 01:32:26,120 Ejja nippruvaw in-numru negattiva 42, negattiv. 1850 01:32:26,120 --> 01:32:28,244 >> Ejja nippruvaw il-valur nru 0. 1851 01:32:28,244 --> 01:32:29,160 U, fil-fatt, hija taħdem. 1852 01:32:29,160 --> 01:32:33,900 Issa, tkun taf tara bi problemi qabel twal, ittestjar affarijiet tliet darbiet, 1853 01:32:33,900 --> 01:32:34,980 probabbilment mhux biżżejjed. 1854 01:32:34,980 --> 01:32:37,438 Inti probabilment tixtieq li jittestjaw xi numri akbar, xi iżgħar 1855 01:32:37,438 --> 01:32:40,520 numri, f'xi każijiet kantuniera, kif aħna ser jaslu biex jiddeskrivu lilhom. 1856 01:32:40,520 --> 01:32:42,500 >> Iżda għal issa, dan huwa programm pjuttost sempliċi. 1857 01:32:42,500 --> 01:32:45,160 U jien pretty żgur, loġikament, li jaqa 'fi tliet każijiet. 1858 01:32:45,160 --> 01:32:49,360 U, tabilħaqq, anke jekk aħna biss iffukat fuq il-aspetti negattivi potenzjali 1859 01:32:49,360 --> 01:32:53,480 ta impreċiżjoni u overflow, b'mod realtà fejn ħafna mill-problemi CS50, il 1860 01:32:53,480 --> 01:32:56,000 aħna mhux se joqogħdu jinkwetaw dwar, il-ħin kollu, 1861 01:32:56,000 --> 01:32:59,050 dawk il-kwistjonijiet ta 'tifwir u impreċiżjoni, peress li, fil-fatt, fis-C, 1862 01:32:59,050 --> 01:33:01,889 huwa attwalment mhux kollha li faċli biex jevitaw dawn l-affarijiet. 1863 01:33:01,889 --> 01:33:04,180 Jekk inti tixtieq li joqgħod up akbar, u akbar, u akbar, 1864 01:33:04,180 --> 01:33:07,510 jirriżulta hemm tekniki inti jistgħu jużaw, spiss jinvolvu affarijiet msejħa 1865 01:33:07,510 --> 01:33:11,240 libreriji, kollezzjonijiet ta 'kodiċi, li nies oħra kiteb li tista 'tuża, 1866 01:33:11,240 --> 01:33:13,910 u lingwi oħra bħall Java u oħrajn, fil-fatt 1867 01:33:13,910 --> 01:33:15,800 jagħmluha ħafna aktar faċli biex jingħaddu saħansitra ogħla. 1868 01:33:15,800 --> 01:33:19,810 Allura huwa verament xi wħud minn dawn il-perikli funzjoni tal-lingwa tuża. 1869 01:33:19,810 --> 01:33:22,710 U fil-ġimgħat li ġejjin, aħna ser tara kif perikolużi C verament 1870 01:33:22,710 --> 01:33:24,950 jista 'jkun jekk inti ma tużah kif suppost. 1871 01:33:24,950 --> 01:33:27,610 Iżda minn hemm, u ma Python, u JavaScript, se 1872 01:33:27,610 --> 01:33:32,620 aħna saff fuq xi protezzjonijiet ulterjuri, u run inqas ta 'dawk ir-riskji. 1873 01:33:32,620 --> 01:33:35,820 >> Mela ejja jagħmlu ftit aktar loġika interessanti fil-programm tagħna. 1874 01:33:35,820 --> 01:33:39,110 So let me go l quddiem u joħolqu programm imsejjaħ Loġiku 1875 01:33:39,110 --> 01:33:43,804 biss hekk I tista 'tilgħab ma' xi loġika attwali, logical.c. 1876 01:33:43,804 --> 01:33:46,870 I ser biss kopja u paste xi Kodiċi minn qabel so I nikseb lura 1877 01:33:46,870 --> 01:33:49,950 għal dan il-punt tat-tluq sbieħ. 1878 01:33:49,950 --> 01:33:53,980 >> Let me din id-darba ma Ċ char jien ser tagħtiha isem ta 'C 1879 01:33:53,980 --> 01:33:58,510 sempliċement għaliex dan huwa konvenzjonali, jiksbu karattru mill-utent. 1880 01:33:58,510 --> 01:34:00,730 U ejja nippretendu simili Jien implimentattivi parti 1881 01:34:00,730 --> 01:34:04,130 ta 'dak il-programm Rm, il neħħi programm qabel dik id wassal lill-utent 1882 01:34:04,130 --> 01:34:05,400 biex tneħħi fajl. 1883 01:34:05,400 --> 01:34:06,750 Kif nistgħu nagħmlu dan? 1884 01:34:06,750 --> 01:34:11,090 >> Irrid ngħid, jekk Ċ huwa daqs huwa ugwali, kwotazzjoni unquote, 1885 01:34:11,090 --> 01:34:16,304 y, allura jien ser tassumi li l-utent ikun għażel iva. 1886 01:34:16,304 --> 01:34:17,470 Jien biss morna għall-istampa iva. 1887 01:34:17,470 --> 01:34:19,440 Kieku kellu fatt bil-miktub il-programm tneħħija, 1888 01:34:19,440 --> 01:34:21,420 nistgħu tneħħi l-fajl b'aktar linji ta 'kodiċi. 1889 01:34:21,420 --> 01:34:22,461 Iżda aħna ser jżommha sempliċi. 1890 01:34:22,461 --> 01:34:25,950 1891 01:34:25,950 --> 01:34:31,250 >> Inkella jekk ć huwa daqs huwa daqs n-- u issa hawn, jien ser ngħid, 1892 01:34:31,250 --> 01:34:32,980 l-utent għandu fissru l-ebda. 1893 01:34:32,980 --> 01:34:34,360 U allura inkella, inti taf liema? 1894 01:34:34,360 --> 01:34:36,200 I do not know x'iktar l-utent li qed jiġri għat-tip. 1895 01:34:36,200 --> 01:34:38,533 Hekk jien biss se ngħid li jiġifieri żball, tkun xi tkun 1896 01:34:38,533 --> 01:34:40,070 hu jew hi attwalment ittajpjat. 1897 01:34:40,070 --> 01:34:41,180 >> Allura x'inhu għaddej hawn? 1898 01:34:41,180 --> 01:34:44,530 Hemm differenza fundamentali kontra dak li jien ghamilt fil-passat. 1899 01:34:44,530 --> 01:34:49,300 kwotazzjonijiet doppja, kwotazzjonijiet doppja, double kwotazzjonijiet, u, għadhom, kwotazzjonijiet uniku, 1900 01:34:49,300 --> 01:34:50,170 kwotazzjonijiet uniku. 1901 01:34:50,170 --> 01:34:52,860 Jirriżulta fis-C, li meta inti tixtieq li jiktbu spag, 1902 01:34:52,860 --> 01:34:56,680 inti tagħmel użu kwotazzjonijiet doppja, eżatt kif aħna stajt qegħdin jużaw dan il-ħin ma printf. 1903 01:34:56,680 --> 01:35:02,030 >> Imma jekk inti tixtieq li jittrattaw biss bi karattru wieħed, l-hekk imsejħa char, 1904 01:35:02,030 --> 01:35:03,780 allura inti attwalment jużaw kwotazzjonijiet uniku. 1905 01:35:03,780 --> 01:35:05,450 Dawk minnkom li ħadthom programmati qabel, inti jista 'ma jkollhomx 1906 01:35:05,450 --> 01:35:07,850 kellhom joqogħdu jinkwetaw dwar dan distinzjoni f'ċerti lingwi. 1907 01:35:07,850 --> 01:35:09,450 Fl Ċ, dan ma jimpurtax. 1908 01:35:09,450 --> 01:35:12,560 U hekk meta niġi char u nixtieq li tqabbel dak char jużaw ugwali 1909 01:35:12,560 --> 01:35:18,350 huwa ekwivalenti għal xi ittra simili y jew n, I do, tabilħaqq, jeħtieġ li jkollhom l-kwotazzjonijiet uniku. 1910 01:35:18,350 --> 01:35:19,770 >> Issa, ejja imorru quddiem u jagħmlu dan. 1911 01:35:19,770 --> 01:35:26,180 Ejja imorru quddiem u ma tagħmel dot loġiku mmejla loġiku. 1912 01:35:26,180 --> 01:35:27,305 U issa jien qed imqanqla. 1913 01:35:27,305 --> 01:35:30,638 Allura, preżumibbilment, utent esperjenza aħjar fil-fatt tell me x'għandek tagħmel hawn. 1914 01:35:30,638 --> 01:35:33,030 Imma jien ser biss bl-addoċċ jgħidu y għall iva, OK, sbieħ. 1915 01:35:33,030 --> 01:35:35,780 >> Ejja run mill-ġdid, n għall-ebda, sbieħ. 1916 01:35:35,780 --> 01:35:39,610 Ejja ngħidu bħal ċerti nies li naf, tappijiet tiegħi lock ewlieni huwa fuq kollox ta 'spiss wisq. 1917 01:35:39,610 --> 01:35:43,740 So I do kapital Y, jidħlu, iżball. 1918 01:35:43,740 --> 01:35:46,130 OK, mhuwiex eżattament dak li jien jistennew. 1919 01:35:46,130 --> 01:35:48,170 Tabilħaqq, il-kompjuter qed tagħmel litteralment dak 1920 01:35:48,170 --> 01:35:51,794 I told li do-- jikkontrolla għal zghar n yu zghar. 1921 01:35:51,794 --> 01:35:53,960 Dan ma jħossu bħal tajjeb utent esperjenza, għalkemm. 1922 01:35:53,960 --> 01:35:59,010 Let me jistaqsu għal u jaċċettaw F'kull każ inqas jew b'ittri kbar. 1923 01:35:59,010 --> 01:36:02,090 Għalhekk jirriżulta li, inti tista 'tixtieq ngħid xi ħaġa simili fil Scratch, 1924 01:36:02,090 --> 01:36:08,150 bħal litteralment jew Ċ huwa daqs huwa ugwali kapital y ikkwotat uniku. 1925 01:36:08,150 --> 01:36:11,400 Jirriżulta, C ma jkollux dan il-keyword letterali jew. 1926 01:36:11,400 --> 01:36:12,880 >> Iżda ma jkollu żewġ bars vertikali. 1927 01:36:12,880 --> 01:36:15,463 Int għandek iżomm Shift normalment, jekk inti qed tuża tastiera Istati Uniti, 1928 01:36:15,463 --> 01:36:18,910 u laqat il-bar vertikali ċavetta hawn fuq ċavetta ritorn tiegħek. 1929 01:36:18,910 --> 01:36:22,410 Iżda dan il-bar vertikali bar vertikali mezzi jew. 1930 01:36:22,410 --> 01:36:26,220 >> Jekk, għall-kuntrarju, ridna li jgħidu u, bħal fil Scratch, 1931 01:36:26,220 --> 01:36:28,180 stajna nagħmlu ampersand ampersand. 1932 01:36:28,180 --> 01:36:31,330 Li jagħmel ebda sens loġiku hawn, għax-bniedem ma setgħux possibilment 1933 01:36:31,330 --> 01:36:37,110 ikunu ttajpjati kemm yu y zghar u l-kapital Y bħala l-istess natura. 1934 01:36:37,110 --> 01:36:39,470 Allura jew huwa dak għandna l-intenzjoni hawn. 1935 01:36:39,470 --> 01:36:46,280 >> Mela jekk jien tagħmel dan fiż-żewġ postijiet, jew c huwa ugwali jkun ugwali għas-kapital N, issa terġa 'ssir, 1936 01:36:46,280 --> 01:36:49,390 jagħmlu loġiku, terġa 'ssir loġiku. 1937 01:36:49,390 --> 01:36:51,200 Issa, jien tista tip y. 1938 01:36:51,200 --> 01:36:53,920 U nista 'nagħmel dan mill-ġdid ma kapital Y, jew N. kapital 1939 01:36:53,920 --> 01:36:56,630 UI jista 'jżid b'mod addizzjonali kombinazzjonijiet għadhom. 1940 01:36:56,630 --> 01:36:58,810 >> Allura dan huwa loġiku programm safejn issa 1941 01:36:58,810 --> 01:37:01,940 Jien iċċekkjar loġikament għall dan il-valur jew il dan il-valur. 1942 01:37:01,940 --> 01:37:06,420 U jien ma jkollhom, neċessarjament, toħroġ bi tnejn IFs aktar jew inkella IFs. 1943 01:37:06,420 --> 01:37:09,960 I jistgħu attwalment jgħaqqdu xi wħud mill- loġika relatat flimkien b'dan il-mod. 1944 01:37:09,960 --> 01:37:11,950 Allura dan ikun aħjar mfassla minn sempliċiment 1945 01:37:11,950 --> 01:37:17,490 qal, jekk Ċ huwa daqs minuskuli y, jistampa iva, inkella jekk ć huwa daqs il-kapital Y, 1946 01:37:17,490 --> 01:37:20,074 jistampa iva, inkella jekk ć huwa daqs lower-- fi kliem ieħor, 1947 01:37:20,074 --> 01:37:21,990 inti ma għandekx li jkollhom fergħat aktar u aktar. 1948 01:37:21,990 --> 01:37:28,840 Tista 'tikkombina xi wħud mill-ekwivalenti fergħat loġikament, bħal f'dan il-mod. 1949 01:37:28,840 --> 01:37:34,150 >> Mela ejja tagħti ħarsa lejn waħda biss ingredjent finali, finali tibni waħda, 1950 01:37:34,150 --> 01:37:34,847 li C tippermetti. 1951 01:37:34,847 --> 01:37:36,930 U aħna ser jiġu lura fil- futur lill-oħrajn għadhom. 1952 01:37:36,930 --> 01:37:41,400 U allura aħna ser jikkonkludi billi tħares f'mhux-korrettezza ta 'code-- 1953 01:37:41,400 --> 01:37:46,070 jkollna kodiċi għall work-- iżda d-disinn tal-kodiċi, u pjanti dawk iż-żrieragħ minn kmieni. 1954 01:37:46,070 --> 01:37:51,337 >> So let me go quddiem u jiftħu fajl ġdid hawn. 1955 01:37:51,337 --> 01:37:51,920 Taf xiex? 1956 01:37:51,920 --> 01:37:54,450 Jien ser jerġa 'jimplimenta dik l-istess programm, 1957 01:37:54,450 --> 01:37:55,940 iżda bl-użu ta 'kostruzzjoni differenti. 1958 01:37:55,940 --> 01:38:00,110 >> So let me malajr jagħtu myself aċċess biex jinkludi CS50.h 1959 01:38:00,110 --> 01:38:04,150 għall-librerija CS50, istandard Io.h għall printf. 1960 01:38:04,150 --> 01:38:06,510 Give me null prinċipali tiegħi int. 1961 01:38:06,510 --> 01:38:09,310 U mbagħad hawn fuq, let me go quddiem u tagħmel dan. 1962 01:38:09,310 --> 01:38:12,010 >> Char ċ gets tikseb char, bħad qabel. 1963 01:38:12,010 --> 01:38:16,770 U jien ser tuża tibni ġdida now-- jaqilbu, fuq liema karattru? 1964 01:38:16,770 --> 01:38:19,820 Allura swiċċ huwa tip ta 'prodotti simili qlib ta 'binarji tal-ferrovija. 1965 01:38:19,820 --> 01:38:22,070 Jew, verament, huwa tip ta ' IF inkella, jekk inkella jekk, 1966 01:38:22,070 --> 01:38:23,980 iżda miktuba kemmxejn differenti. 1967 01:38:23,980 --> 01:38:25,490 >> A swiċċ tidher bħal dan. 1968 01:38:25,490 --> 01:38:29,060 Inti għandek swiċċ, u allura dak karattru jew in-numru inti tixtieq li tħares lejn, 1969 01:38:29,060 --> 01:38:32,000 imbagħad xi ċingi kaboċċi bħal fil Bidunett, biss jgħidu jagħmlu dan il-għalf. 1970 01:38:32,000 --> 01:38:33,480 U allura inti għandek il-każijiet differenti. 1971 01:38:33,480 --> 01:38:34,830 >> Inti ma jużawx jekk u ieħor. 1972 01:38:34,830 --> 01:38:37,050 Inti litteralment tuża l-każ kelma. 1973 01:38:37,050 --> 01:38:38,790 U inti ngħid xi ħaġa bħal din. 1974 01:38:38,790 --> 01:38:43,820 >> Allura fil-każ ta 'y zghar, jew fil-każ ta 'kapital Y, 1975 01:38:43,820 --> 01:38:47,350 imorru quddiem u jistampa iva. 1976 01:38:47,350 --> 01:38:49,020 U mbagħad break out ta 'l-iswiċċ. 1977 01:38:49,020 --> 01:38:49,580 Daqshekk. 1978 01:38:49,580 --> 01:38:50,880 Aħna qed isir. 1979 01:38:50,880 --> 01:38:57,270 >> Inkella jekk, biex ngħidu hekk, żgħira n, jew kapital N, 1980 01:38:57,270 --> 01:39:02,560 imbagħad imorru quddiem u l-istampar f'ebda, u mbagħad break. 1981 01:39:02,560 --> 01:39:08,022 Else-- u dan it-tip ta 'huwa l- każ normali indeed-- printf error-- 1982 01:39:08,022 --> 01:39:10,980 u biss għal miżura tajba, għalkemm loġikament dan il-brejk mhux meħtieġ 1983 01:39:10,980 --> 01:39:12,896 għaliex aħna qed fl-aħħar tas-swiċċ xorta, 1984 01:39:12,896 --> 01:39:14,520 Jien issa breaking out ta 'l-iswiċċ. 1985 01:39:14,520 --> 01:39:16,280 Allura dan jistenna ftit differenti. 1986 01:39:16,280 --> 01:39:18,272 >> Iżda, loġikament, huwa fil-fatt ekwivalenti. 1987 01:39:18,272 --> 01:39:19,980 U għaliex kieku inti tuża wieħed fuq l-ieħor? 1988 01:39:19,980 --> 01:39:23,220 Kultant, preferenza personali biss, kultant l-estetika, 1989 01:39:23,220 --> 01:39:25,420 jekk I t'għajn lejn din issa, hemm xi ħaġa 1990 01:39:25,420 --> 01:39:27,510 li jingħad għall- leġibbiltà ta dan il-kodiċi. 1991 01:39:27,510 --> 01:39:30,690 I mean, qatt f'moħħhom il-fatt li din il Kodiċi huwa ġdid għal ħafna minna fil-kamra. 1992 01:39:30,690 --> 01:39:33,515 >> Iżda huwa biss tip ta 'hija pjuttost. 1993 01:39:33,515 --> 01:39:37,760 You see zghar y, il-kapital Y, każ n t'isfel, il-kapital N kontumaċja, 1994 01:39:37,760 --> 01:39:40,150 hija biss tip ta 'qbiż fil inti b'mod 1995 01:39:40,150 --> 01:39:42,200 li, forsi, forsi l-eżempju ta 'qabel 1996 01:39:42,200 --> 01:39:45,780 mal-IFs, u l-bars vertikali, u l-IFs inkella, jista 'ma jkollhomx. 1997 01:39:45,780 --> 01:39:51,600 Allura dan huwa verament kwistjoni ta 'personali għażla, tassew, jew leġibbiltà, 1998 01:39:51,600 --> 01:39:52,360 tal-kodiċi. 1999 01:39:52,360 --> 01:39:58,230 >> Imma f'termini ta 'funzjonalità, let me imorru quddiem u jagħmlu swiċċ, dot slexx 2000 01:39:58,230 --> 01:40:05,830 swiċċ, u issa t-tip y zghar, kapital Y, n zghar, il-kapital N, 2001 01:40:05,830 --> 01:40:09,250 David, retry għaliex dan huwa mhux karattru wieħed. 2002 01:40:09,250 --> 01:40:12,050 Ejja nagħmlu x, iżball, kif mistenni. 2003 01:40:12,050 --> 01:40:15,640 U, logically-- u din hija xi ħaġa Nixtieq jinkoraġġixxu b'mod general-- anke 2004 01:40:15,640 --> 01:40:17,790 għalkemm aħna qed biss grif tal- wiċċ ta 'xi wħud minn dawn il-karatteristiċi. 2005 01:40:17,790 --> 01:40:20,560 >> U jista 'ma jkunx ovvju meta inti ruħek joqogħdu bilqegħda fuq il-keyboard, 2006 01:40:20,560 --> 01:40:21,370 kif taħdem din? 2007 01:40:21,370 --> 01:40:22,240 X'għandu dan il do? 2008 01:40:22,240 --> 01:40:25,630 Il-ħaġa sabiħa dwar li jkollhom laptop, jew desktop, jew aċċess 2009 01:40:25,630 --> 01:40:29,290 ma 'kompjuter ma kompilatur, u bil-editur kodiċi bħal dan, 2010 01:40:29,290 --> 01:40:32,990 huwa inti tista 'kważi dejjem risposta dawn mistoqsijiet għalik innifsek biss billi tipprova. 2011 01:40:32,990 --> 01:40:36,570 >> Per eżempju, jekk il rhetorical kwistjoni fil-idejn kienu, 2012 01:40:36,570 --> 01:40:39,540 x'jiġri jekk tinsa dikjarazzjonijiet break tiegħek? 2013 01:40:39,540 --> 01:40:41,400 Li huwa attwalment komuni ħafna ħaġa li tagħmel, 2014 01:40:41,400 --> 01:40:43,540 għaliex ma nħarsu bħal int verament ħtieġa għalihom. 2015 01:40:43,540 --> 01:40:46,790 Huma ma verament tlesti tiegħek ħasbu bħal parentesi jew kaboċċi 2016 01:40:46,790 --> 01:40:47,714 Brace ma. 2017 01:40:47,714 --> 01:40:49,630 Ejja imorru quddiem u recompile il-kodiċi u ara. 2018 01:40:49,630 --> 01:40:53,690 Sabiex tagħmel swiċċ, dot swiċċ linja mmejla. 2019 01:40:53,690 --> 01:40:56,435 Ejja tip fl b'ittri żgħar y, il-każ ta 'fuq, Ikteb. 2020 01:40:56,435 --> 01:40:59,390 2021 01:40:59,390 --> 01:41:00,700 So I ittajpjat y. 2022 01:41:00,700 --> 01:41:04,420 >> Il-programm qal iva, le, żball, daqs li kieku kien qed jinbidlu mentalità tagħha. 2023 01:41:04,420 --> 01:41:09,280 Iżda dan it-tip ta kien, għaliex dak li jiġri ma 'swiċċ huwa l-ewwel każ li 2024 01:41:09,280 --> 01:41:13,899 logħba essenzjalment ifisser, ħej kompjuter, tesegwixxi kollha ta 'l-kodiċi taħt dan. 2025 01:41:13,899 --> 01:41:16,690 U jekk inti ma jgħidux waqfa, jew ma jgħidux waqfa, jew ma jgħidu break, 2026 01:41:16,690 --> 01:41:19,540 il-kompjuter se blow kollha ta 'dawn il-linji permezz 2027 01:41:19,540 --> 01:41:22,779 u tesegwixxi kollha kemm huma sa l jiġrilha għal dak Brace kaboċċi. 2028 01:41:22,779 --> 01:41:24,320 Allura l-brejkijiet huma, tabilħaqq, ikun meħtieġ. 2029 01:41:24,320 --> 01:41:27,120 Iżda takeaway hawnhekk huwa, meta fid-dubju, ipprova xi ħaġa. 2030 01:41:27,120 --> 01:41:29,510 Forsi isalva kodiċi tiegħek l-ewwel, jew ħlief fil-fajl żejjed 2031 01:41:29,510 --> 01:41:32,930 jekk int verament inkwetat dwar messing up u jkollhom jirkupraw 2032 01:41:32,930 --> 01:41:34,430 -xogħol li taf qed taħdem. 2033 01:41:34,430 --> 01:41:35,410 >> Iżda ipprova affarijiet. 2034 01:41:35,410 --> 01:41:38,074 U ma jkun jibża, forsi, ta 'dak il-kompjuter tista' tagħmel, 2035 01:41:38,074 --> 01:41:39,490 jew li inti tista 'break xi ħaġa. 2036 01:41:39,490 --> 01:41:42,790 Inti tista 'dejjem jerġa' lura għal xi verżjoni preċedenti. 2037 01:41:42,790 --> 01:41:45,640 >> Mela ejja jispiċċaw billi tħares lejn id-disinn tal-kodiċi. 2038 01:41:45,640 --> 01:41:49,020 Għandna din il-ħila issa li jiktbu kondizzjonijiet, u jiktbu loops, 2039 01:41:49,020 --> 01:41:50,850 u varjabbli, u l-funzjonijiet sejħa. 2040 01:41:50,850 --> 01:41:54,590 Allura, franchement, aħna qed tip ta 'lura fuq fejn konna ġimgħa ilu bil scratch, 2041 01:41:54,590 --> 01:42:00,120 għalkemm bi testwali inqas konvinċenti ambjent minn scratch jippermetti. 2042 01:42:00,120 --> 01:42:03,990 >> Imma avviż kif malajr konna akkwistat li vokabularju, anki jekk huwa 2043 01:42:03,990 --> 01:42:07,570 ser tieħu ftit filwaqt li sink fil- sabiex inkunu issa jistgħu jużaw dan vokabolarju 2044 01:42:07,570 --> 01:42:10,320 jiktbu programmi aktar interessanti. 2045 01:42:10,320 --> 01:42:12,940 U ejja tagħti pass tarbija lejn dak, kif ġej. 2046 01:42:12,940 --> 01:42:14,890 Let me imorru quddiem u toħloq fajl ġdid hawn. 2047 01:42:14,890 --> 01:42:17,750 >> Jien ser sejħa dan prototype.c, u jintroduċu 2048 01:42:17,750 --> 01:42:20,954 għall-ewwel darba, il-ħila biex jagħmlu funzjonijiet tiegħek stess. 2049 01:42:20,954 --> 01:42:22,870 Xi wħud minnkom jista 'jkollok għamlu dan bil scratch, 2050 01:42:22,870 --> 01:42:25,430 fejn inti tista 'toħloq tiegħek blokki użanza stess fil Scratch, 2051 01:42:25,430 --> 01:42:27,892 u mbagħad drag minnhom fil-post fejn inti tixtieq fl Ċ 2052 01:42:27,892 --> 01:42:30,100 U f'ħafna ipprogrammar lingwi, inti tista 'tagħmel eżattament 2053 01:42:30,100 --> 01:42:33,580 that-- jagħmlu funzjonijiet tiegħek stess, jekk ma jkunux diġà jeżistu. 2054 01:42:33,580 --> 01:42:38,660 >> Allura, per eżempju, let me imorru quddiem u jinkludu CS50.h, u jinkludu 2055 01:42:38,660 --> 01:42:43,110 istandard IO.h, nulla prinċipali int. 2056 01:42:43,110 --> 01:42:46,020 U issa għandna placeholder lesta li tmur. 2057 01:42:46,020 --> 01:42:48,550 I iżommu affarijiet istampar bħall-ismijiet tan-nies tal-lum. 2058 01:42:48,550 --> 01:42:51,910 U li jħoss like-- ma Ikun sbieħ jekk hemm 2059 01:42:51,910 --> 01:42:53,936 kienu funzjoni msejħa isem istampar? 2060 01:42:53,936 --> 01:42:55,060 I ma jkollhom jużaw printf. 2061 01:42:55,060 --> 01:42:56,976 I ma għandek tiftakar l-kodiċijiet kollha format. 2062 01:42:56,976 --> 01:43:00,050 Għaliex ma I, jew għaliex ma xi ħadd qabli, 2063 01:43:00,050 --> 01:43:02,980 toħloq funzjoni msejħa istampar isem, li minħabba xi isem, 2064 01:43:02,980 --> 01:43:03,980 sempliċiment prints out? 2065 01:43:03,980 --> 01:43:08,700 >> Fi kliem ieħor, jekk ngħid, ħej, kompjuter, tagħti me a string 2066 01:43:08,700 --> 01:43:11,870 billi jitolbu lill-utent għal tali, permezz funzjoni sekwenza nikseb CS50 s. 2067 01:43:11,870 --> 01:43:15,090 Ħej, kompjuter, poġġi dik string fil il-varjabbli fil-naħa tax-xellug, 2068 01:43:15,090 --> 01:43:16,150 u sejħa hija s. 2069 01:43:16,150 --> 01:43:22,150 U mbagħad, ħej kompjuter, imorru quddiem u tistampa dan l-isem tal-persuna, magħmul. 2070 01:43:22,150 --> 01:43:26,240 >> Issa, ikun sbieħ, għaliex dan il-programm, b'mod adattat issemmiet, 2071 01:43:26,240 --> 01:43:29,170 jgħidlekx me dak huwa suppost li tagħmel permezz ta 'ismijiet dawk funzjoni tal. 2072 01:43:29,170 --> 01:43:32,930 Let me go u jagħmlu prototip, Ikteb. 2073 01:43:32,930 --> 01:43:34,930 U, sfortunatament, dan mhux se jtiru. 2074 01:43:34,930 --> 01:43:39,430 >> Prototype.c, linja 7, karattri 5, żball, id-dikjarazzjoni impliċitu 2075 01:43:39,430 --> 01:43:42,960 tal-funzjoni isem istampar hija invalida C99, C99 2076 01:43:42,960 --> 01:43:45,130 jiġifieri verżjoni ta 'C li ġew fl-1999. 2077 01:43:45,130 --> 01:43:45,730 Dak kollox. 2078 01:43:45,730 --> 01:43:48,780 >> So I do not know dak Dan kollu jfisser s'issa. 2079 01:43:48,780 --> 01:43:50,810 Imma I do jirrikonoxxu żball fl-aħmar. 2080 01:43:50,810 --> 01:43:51,770 Li pjuttost ovvju. 2081 01:43:51,770 --> 01:43:53,769 >> U jidher li ma il-karattru aħdar hawn, 2082 01:43:53,769 --> 01:43:57,520 il-kwistjoni hija bl-isem istampar, miftuħa paren i, paren qrib, semi-kolon. 2083 01:43:57,520 --> 01:44:01,800 Iżda dikjarazzjoni impliċitu tal funzjoni aħna ma tara fil-qosor qabel. 2084 01:44:01,800 --> 01:44:04,880 Dan ifisser, sempliċement, li Clang ma tkunx taf dak li jfisser. 2085 01:44:04,880 --> 01:44:09,000 >> Stajt użati kelma vokabularju li huwa qatt jidher jew ġie mgħallem qabel. 2086 01:44:09,000 --> 01:44:11,950 U hekk I bżonn li jgħallmu liema din il-funzjoni jfisser. 2087 01:44:11,950 --> 01:44:13,590 Hekk jien ser jimxi 'l quddiem u tagħmel dan. 2088 01:44:13,590 --> 01:44:17,970 >> Jien ser jimxi 'l quddiem u jimplimentaw funzjoni tiegħi stess imsejħa Stampa Isem. 2089 01:44:17,970 --> 01:44:24,720 U jien se ngħid, kif ġej, li dan tagħmlu, printf, bonjour,-mija 2090 01:44:24,720 --> 01:44:27,760 i, n backslash, isem, semi-colon. 2091 01:44:27,760 --> 01:44:29,250 Allura dak li ma I biss do? 2092 01:44:29,250 --> 01:44:31,325 >> Għalhekk jirriżulta li, sabiex timplimenta funzjoni tiegħek stess, 2093 01:44:31,325 --> 01:44:33,845 aħna tip ta 'jissellef xi wħud -istess struttura bħal ewlenija 2094 01:44:33,845 --> 01:44:35,720 li aħna ħadthom biss ġew meħuda għall mogħtija, u jien 2095 01:44:35,720 --> 01:44:37,730 taf biss ikkupjar u pasta pretty ħafna dak 2096 01:44:37,730 --> 01:44:39,170 Stajt ġie miktub fl-imgħoddi. 2097 01:44:39,170 --> 01:44:40,570 Iżda avviż-mudell hawn. 2098 01:44:40,570 --> 01:44:43,750 Int, Main, Null, aħna ser tease apparti qabel twil dak li effettivament tfisser. 2099 01:44:43,750 --> 01:44:46,160 >> Iżda għal-lum, ftit Avviż paralleliżmu. 2100 01:44:46,160 --> 01:44:48,210 Null, isem istampar, isem spag, b'hekk m'hemm l- 2101 01:44:48,210 --> 01:44:50,310 keyword vjola, li aħna qed tmur biex tibda 2102 01:44:50,310 --> 01:44:54,067 ssejjaħ tip ritorn, l-isem ta ' il-funzjoni, u mbagħad l-input. 2103 01:44:54,067 --> 01:44:56,400 Allura, fil-fatt, nistgħu jiddistillaw dan it-tip ta għaddiet ġimgħa simili 2104 01:44:56,400 --> 01:44:59,030 fejn, dan ikun l-isem jew il- algoritmu tal-kodiċi nkunu 2105 01:44:59,030 --> 01:45:00,761 ser write-- l algoritmu sottostanti 2106 01:45:00,761 --> 01:45:02,010 il-kodiċi aħna qed tmur biex jiktbu. 2107 01:45:02,010 --> 01:45:03,180 >> Dan huwa kontribut tagħha. 2108 01:45:03,180 --> 01:45:04,670 Dan huwa l-output tagħha. 2109 01:45:04,670 --> 01:45:08,730 Din il-funzjoni, isem istampar, huwa mfassla biex tieħu string imsejjaħ isem, 2110 01:45:08,730 --> 01:45:11,350 jew kwalunkwe, bħala input, u mbagħad bla effett. 2111 01:45:11,350 --> 01:45:13,904 Ma ritorn xejn, bħal nikseb string jew tikseb int ma. 2112 01:45:13,904 --> 01:45:15,570 Allura li għaddej biex idejn lili xi ħaġa lura. 2113 01:45:15,570 --> 01:45:17,960 Huwa biss se jkollhom effett sekondarju, biex ngħidu hekk, 2114 01:45:17,960 --> 01:45:19,570 ta 'stampar isem ta' persuna. 2115 01:45:19,570 --> 01:45:22,260 Allura avviż, linja 7, jien tista 'sejħa isem istampar. 2116 01:45:22,260 --> 01:45:25,920 Linja 10, I tista 'tiddefinixxi jew jimplimenta l-isem istampar. 2117 01:45:25,920 --> 01:45:28,450 Iżda, sfortunatament, dan mhux biżżejjed. 2118 01:45:28,450 --> 01:45:31,230 >> Let me imorru quddiem u recompile dan wara iffrankar. 2119 01:45:31,230 --> 01:45:33,910 Whoa, issa, stajt għamilha agħar, jidher. 2120 01:45:33,910 --> 01:45:37,027 Dikjarazzjoni hekk impliċitu tal Isem istampar funzjoni huwa invalidu. 2121 01:45:37,027 --> 01:45:38,360 U, għal darb'oħra, hemm aktar żbalji. 2122 01:45:38,360 --> 01:45:41,430 Imma kif I wissa qabel, anki jekk ikollok b'rikjesti, 2123 01:45:41,430 --> 01:45:44,850 jew ftit imdejjaq biex tara tant Żbalji, tiffoka biss fuq l-ewwel 2124 01:45:44,850 --> 01:45:47,500 inizjalment, għaliex din tista 'biss kellhom effett cascading. 2125 01:45:47,500 --> 01:45:51,970 Allura Ċ, jew Clang b'mod iktar speċifiku, xorta ma tirrikonoxxix isem istampar. 2126 01:45:51,970 --> 01:45:54,580 >> U dan għaliex Clang, permezz tad-disinn, huwa tip ta 'mutu. 2127 01:45:54,580 --> 01:45:56,280 Hija biss ma dak li inti tgħid li tagħmel. 2128 01:45:56,280 --> 01:46:00,950 U ma biss hekk fl-ordni fejn inti tgħid li tagħmel. 2129 01:46:00,950 --> 01:46:05,270 >> So I iddefiniti prinċipali fuq il-linja erbgħa, simili aħna kont qed tagħmel pretty ħafna drabi. 2130 01:46:05,270 --> 01:46:07,980 Stajt definiti isem istampar fuq il-linja 10. 2131 01:46:07,980 --> 01:46:11,793 Imma jien jippruvaw jużaw isem istampar fuq il-linja sebgħa. 2132 01:46:11,793 --> 01:46:13,670 >> Huwa kmieni wisq, s'issa ma jeżistix. 2133 01:46:13,670 --> 01:46:19,150 So I tista 'tkun għaqlija, u jkunu simili, OK, so ejja biss jilagħbu flimkien, 2134 01:46:19,150 --> 01:46:23,680 u jimxu isem istampar sa hawn, u ri-jikkumpilaw. 2135 01:46:23,680 --> 01:46:24,550 Oh my God. 2136 01:46:24,550 --> 01:46:25,260 Hija ħadmet. 2137 01:46:25,260 --> 01:46:26,670 Kien sempliċi bħal dik. 2138 01:46:26,670 --> 01:46:28,120 >> Iżda l-loġika hija eżattament dan. 2139 01:46:28,120 --> 01:46:30,870 Inti għandek biex jgħallmu Clang dak li huwa billi tiddefinixxi l-funzjoni ewwel. 2140 01:46:30,870 --> 01:46:31,920 Imbagħad inti tista 'tagħmel użu minnha. 2141 01:46:31,920 --> 01:46:33,940 Iżda, franchement, dan iħoss bħal inklinazzjoni tiżloq. 2142 01:46:33,940 --> 01:46:35,773 >> Hekk kull darba I run fis-problema, jien biss 2143 01:46:35,773 --> 01:46:39,450 ser jenfasizzaw u kopja tal-kodiċi I kiteb, taqtgħu u paste up here. 2144 01:46:39,450 --> 01:46:41,370 U, żgur, nistgħu contrive xi xenarji 2145 01:46:41,370 --> 01:46:43,286 fejn funzjoni waħda jista bżonn tirrikorri ieħor. 2146 01:46:43,286 --> 01:46:46,030 U inti biss ma tistax tqiegħed kull funzjoni ta 'hawn fuq kull oħra. 2147 01:46:46,030 --> 01:46:47,930 >> Għalhekk jirriżulta li hemm l- soluzzjoni aħjar. 2148 01:46:47,930 --> 01:46:50,100 Nistgħu tħalli dan jkun. 2149 01:46:50,100 --> 01:46:53,677 U, franchement, huwa ġeneralment sabiħ, u konvenjenti, u d-disinn tajba 2150 01:46:53,677 --> 01:46:56,760 li jpoġġu prinċipali ewwel, minħabba li, għal darb'oħra, prinċipali bħad meta bandiera aħdar għafast, 2151 01:46:56,760 --> 01:46:59,027 li hija l-funzjoni li gets esegwiti fil-kontumaċja. 2152 01:46:59,027 --> 01:47:01,110 Allura inti tista 'ukoll tpoġġi hija fil-quċċata tal-fajl 2153 01:47:01,110 --> 01:47:03,560 b'tali mod li meta inti jew xi oħra tal-bniedem iħares lejn il-fajl 2154 01:47:03,560 --> 01:47:06,360 inti taf x'inhu għaddej biss mill-qari l-ewwel ewlenija. 2155 01:47:06,360 --> 01:47:15,360 Għalhekk jirriżulta li, nistgħu tell Clang proattiv, ħej, Clang, fuq il-linja erbgħa, 2156 01:47:15,360 --> 01:47:17,940 I wegħda li jimplimentaw funzjoni msejħa Stampa 2157 01:47:17,940 --> 01:47:22,600 Isem li tieħu l-isem string imsejjaħ bħala input, u prospetti xejn, bla effett. 2158 01:47:22,600 --> 01:47:24,770 U jien ser tikseb madwar biex implimentazzjoni tiegħu aktar tard. 2159 01:47:24,770 --> 01:47:25,680 >> Hawnhekk tidħol Main. 2160 01:47:25,680 --> 01:47:29,130 Ewlenija issa fuq il-linja 9 jistgħu jużaw Stampa Isem għaliex Clang 2161 01:47:29,130 --> 01:47:32,600 huwa fidu li, eventwalment, se jiltaqgħu d-definizzjoni 2162 01:47:32,600 --> 01:47:34,880 tal-implimentazzjoni tal Stampa Isem. 2163 01:47:34,880 --> 01:47:37,390 Allura wara iffrankar fajl tiegħi, let me go quddiem u jagħmlu prototip, 2164 01:47:37,390 --> 01:47:38,498 jidher tajjeb dan iż-żmien. 2165 01:47:38,498 --> 01:47:43,470 Dot mmejla, prototip, let me jimxi 'l quddiem u t-tip fl-isem. 2166 01:47:43,470 --> 01:47:48,440 David, bonjour David, Zamila, bonjour Zamila, u, tabilħaqq, issa hija taħdem. 2167 01:47:48,440 --> 01:47:52,200 >> Allura l-ingredjent hawnhekk hija li aħna ħadthom għamel funzjoni konswetudini, bħal konswetudini 2168 01:47:52,200 --> 01:47:54,219 Scratch blokk aħna qed ssejjaħ dan. 2169 01:47:54,219 --> 01:47:57,010 Iżda b'differenza Scratch fejn inti tista biss joħolqu dan u tibda tuża din, 2170 01:47:57,010 --> 01:47:59,330 issa għandna biex tkun ftit aktar pedantic, 2171 01:47:59,330 --> 01:48:03,410 u fil-fatt ferrovija Clang għall-użu, jew li nistennewh. 2172 01:48:03,410 --> 01:48:09,140 Issa, bħala twarrib, għaliex dan il-ħin għandhom aħna ġew biss bl-addoċċ fuq il-fidi inkluż 2173 01:48:09,140 --> 01:48:12,170 CS50.h, u inkluż l-istandard IO.h? 2174 01:48:12,170 --> 01:48:15,190 >> Ukoll, jirriżulta, fost affarijiet oħra ftit, 2175 01:48:15,190 --> 01:48:18,550 dak kollu li f'dawk dot h fajls, li jiġri li jkun fajls. 2176 01:48:18,550 --> 01:48:20,460 Huma qed fajls header, biex ngħidu hekk. 2177 01:48:20,460 --> 01:48:23,270 Huma qed għadhom miktub fil Ċ Imma dawn qed tip differenti tal-fajl. 2178 01:48:23,270 --> 01:48:28,690 >> Għal issa, inti tista 'pretty ħafna tassumi li dak kollu li hu ġewwa ta 'CS50.h 2179 01:48:28,690 --> 01:48:33,360 huwa xi one-liners bħal dan, mhux għall-funzjonijiet msejħa Stampa Isem, 2180 01:48:33,360 --> 01:48:36,840 iżda għal Get String, Get Float, u fi ftit oħrajn. 2181 01:48:36,840 --> 01:48:41,510 U hemm prototipi simili, wieħed liners, ġewwa ta IO.h standard 2182 01:48:41,510 --> 01:48:46,241 għall printf, li issa hija fil stess funzjoni Stampa Isem tiegħi. 2183 01:48:46,241 --> 01:48:49,490 Allura fi kliem ieħor, din id-darba kollu konna kemm ġie bl-addoċċ ikkupjar u pasta 2184 01:48:49,490 --> 01:48:51,780 jinkludu dan, jinkludu li, x'inhu għaddej? 2185 01:48:51,780 --> 01:48:55,310 Dawk huma biss tip ta 'ħjiel li Clang dwar liema funzjonijiet 2186 01:48:55,310 --> 01:49:00,170 huma, fil-fatt, implimentata, biss x'imkien ieħor fil-fajls differenti 2187 01:49:00,170 --> 01:49:02,440 x'imkien ieħor fuq is-sistema. 2188 01:49:02,440 --> 01:49:05,160 >> Allura aħna ve implimentat isem istampar. 2189 01:49:05,160 --> 01:49:07,910 Huwa ma jkollu dan l-effett sekondarju ta ' istampar xi ħaġa fuq l-iskrin. 2190 01:49:07,910 --> 01:49:10,170 Iżda dan ma tkunx attwalment idejn lili xi ħaġa lura. 2191 01:49:10,170 --> 01:49:12,200 Kif nistgħu tmur dwar implimentazzjoni ta 'programm li 2192 01:49:12,200 --> 01:49:14,510 ma idejn lili xi ħaġa lura? 2193 01:49:14,510 --> 01:49:15,580 >> Ukoll, ejja ipprova din. 2194 01:49:15,580 --> 01:49:21,360 Let me imorru quddiem u jimplimentaw fajl imsejjaħ return.c 2195 01:49:21,360 --> 01:49:24,530 sabiex inkunu nistgħu juru kif xi ħaġa bħall Get String, jew Get Int, 2196 01:49:24,530 --> 01:49:27,340 huwa attwalment jirritornaw xi ħaġa lura lill-utent. 2197 01:49:27,340 --> 01:49:29,840 Ejja imorru quddiem u jiddefinixxu bla effett prinċipali int. 2198 01:49:29,840 --> 01:49:33,230 >> U, għal darb'oħra, fil-futur, aħna ser jispjegaw dak li int u dak null 2199 01:49:33,230 --> 01:49:34,090 huwa fil-fatt jagħmlu. 2200 01:49:34,090 --> 01:49:35,840 Iżda għal-lum, aħna ser teħodha għal mogħtija. 2201 01:49:35,840 --> 01:49:39,970 Jien ser jimxi 'l quddiem u printf, għal esperjenza utent tajba, x hija. 2202 01:49:39,970 --> 01:49:44,360 U mbagħad jien ser tistenna l- utent li tagħti me x ma int nikseb. 2203 01:49:44,360 --> 01:49:48,459 >> U mbagħad jien ser jimxi 'l quddiem u jistampa x għall-kwadrat. 2204 01:49:48,459 --> 01:49:50,500 Allura meta inti biss għandek tastiera, nies komunement 2205 01:49:50,500 --> 01:49:52,600 uża l-karrotta ftit simbolu fuq it-tastiera 2206 01:49:52,600 --> 01:49:55,330 li jirrappreżenta għall-qawwa ta ', jew l-esponent ta. 2207 01:49:55,330 --> 01:49:58,960 Allura x kwadrat hija preżenti i. 2208 01:49:58,960 --> 01:50:00,660 >> U issa jien ser tagħmel dan. 2209 01:50:00,660 --> 01:50:03,940 I jistgħu biss do-- x'hemm x kwadrat? x kwadrata huwa x darbiet x. 2210 01:50:03,940 --> 01:50:06,690 >> U aħna ma dan xi żmien ilu diġà llum. 2211 01:50:06,690 --> 01:50:08,730 Dan ma jħossu bħal dak kollu li sar ħafna progress. 2212 01:50:08,730 --> 01:50:09,570 Taf xiex? 2213 01:50:09,570 --> 01:50:13,100 Ejja jwieżen xi wħud li l-idea mill-aħħar darba ta 'estrazzjoni. 2214 01:50:13,100 --> 01:50:16,080 >> Ma Ikun sbieħ jekk hemm funzjoni msejħa 2215 01:50:16,080 --> 01:50:18,460 kwadru li ma eżattament dak? 2216 01:50:18,460 --> 01:50:20,640 Hija xorta, fl-aħħar tal- jum, ma l-istess matematika. 2217 01:50:20,640 --> 01:50:22,410 Imma ejja astratta bogħod l-idea ta 'teħid 2218 01:50:22,410 --> 01:50:25,280 numru wieħed immultiplikat bil ieħor, u biss tagħtiha isem, 2219 01:50:25,280 --> 01:50:27,360 bħal kwadru dan il-valur. 2220 01:50:27,360 --> 01:50:29,560 >> U, fi kliem ieħor, fil Ċ, ejja toħloq funzjoni 2221 01:50:29,560 --> 01:50:32,660 imsejħa kwadru li ma eżattament dan. 2222 01:50:32,660 --> 01:50:34,600 Li għaddej biex tkun tissejjaħ kwadru. 2223 01:50:34,600 --> 01:50:35,790 Huwa ser jieħu int. 2224 01:50:35,790 --> 01:50:37,820 U aħna ser se biss sejħa hija n, fil-kontumaċja. 2225 01:50:37,820 --> 01:50:39,403 >> Iżda nistgħu sejħa hija xi ħaġa li rridu. 2226 01:50:39,403 --> 01:50:42,900 U dak kollu li huwa għaddej biex do, litteralment, huwa ritorn 2227 01:50:42,900 --> 01:50:45,810 ir-riżultat ta 'drabi n n. 2228 01:50:45,810 --> 01:50:48,980 Iżda minħabba li huwa jirritornaw xi ħaġa, li 2229 01:50:48,980 --> 01:50:53,690 hija l-keyword fil-vjola konna qatt qabel, I, fuq il-linja 11, 2230 01:50:53,690 --> 01:50:55,410 ma tistax biss jgħidu null dan iż-żmien. 2231 01:50:55,410 --> 01:51:01,320 >> Null, fl-eżempju aħna biss raw pjuttost tal-isem istampar, ifisser biss, 2232 01:51:01,320 --> 01:51:02,190 jagħmel xi ħaġa. 2233 01:51:02,190 --> 01:51:04,170 Imma ma idejn lili xi ħaġa lura. 2234 01:51:04,170 --> 01:51:06,790 F'dan il-każ, I do jridu biex jirritorna n ħinijiet n- 2235 01:51:06,790 --> 01:51:08,460 jew kwalunkwe jiġifieri, dak in-numru. 2236 01:51:08,460 --> 01:51:12,460 >> So I ma nistax ngħid, ħej, kompjuter, I-ritorn xejn, bla effett. 2237 01:51:12,460 --> 01:51:16,166 Huwa ser jirritorna, min-natura, l int. 2238 01:51:16,166 --> 01:51:17,790 U hekk dan huwa dak kollu li għaddej hawn. 2239 01:51:17,790 --> 01:51:20,070 >> L-input li kwadru se tkun int. 2240 01:51:20,070 --> 01:51:24,760 U sabiex inkunu jistgħu jużawh, għandu għandhom isem, N. Huwa ser output 2241 01:51:24,760 --> 01:51:26,240 l-int li ma jkunx jeħtieġ isem. 2242 01:51:26,240 --> 01:51:29,590 Nistgħu tħalli f'idejn prinċipali, jew min ikun jużaw lili biex tiftakar dan il-valur, jekk irridu 2243 01:51:29,590 --> 01:51:31,120 trid ma varjabbli tagħha stess. 2244 01:51:31,120 --> 01:51:33,230 >> U, għal darb'oħra, l-uniku ġdid Ittajpja kelma prinċipali hawnhekk hija Ritorn. 2245 01:51:33,230 --> 01:51:34,480 U jien biss tagħmel xi matematika. 2246 01:51:34,480 --> 01:51:41,825 Jekk jien verament riedu jkunu bla bżonn, Nista 'ngħid prodott int gets n ħinijiet n. 2247 01:51:41,825 --> 01:51:44,170 >> U allura nista 'ngħid, prodott ritorn. 2248 01:51:44,170 --> 01:51:47,360 Iżda, għal darb'oħra, għall-punt tiegħi aktar kmieni ta ' dan il design-- tajba biss mhux qed 2249 01:51:47,360 --> 01:51:50,060 simili, għaliex jintroduċu isem, simbolu, prodott simili, 2250 01:51:50,060 --> 01:51:51,570 biss biex immedjatament tibagħtu lura? 2251 01:51:51,570 --> 01:51:53,670 Huwa aktar nadifa ftit, ftit aktar stretti, hekk 2252 01:51:53,670 --> 01:51:59,380 biex jitkellmu, just biex jgħidu n darbiet ritorn n, teħles minn din il-linja għal kollox. 2253 01:51:59,380 --> 01:52:02,860 >> U huwa biss inqas kodiċi li jaqra, inqas opportunità għall-iżbalji. 2254 01:52:02,860 --> 01:52:05,180 U ejja ara jekk dan attwalment issa xogħlijiet. 2255 01:52:05,180 --> 01:52:09,380 Issa, jien ser imorru quddiem u jagħmel ritorn. 2256 01:52:09,380 --> 01:52:11,460 >> UH-oh, dikjarazzjoni impliċitu tal-funzjoni. 2257 01:52:11,460 --> 01:52:14,080 I magħmula dan l-iżball qabel, no big deal. 2258 01:52:14,080 --> 01:52:18,950 Let me biss tip, jew jenfasizzaw u kopja, il eżatt istess prototip funzjoni, 2259 01:52:18,950 --> 01:52:21,342 jew firma, tal-funzjoni up here. 2260 01:52:21,342 --> 01:52:22,800 Jew I tista 'timxi l-funzjoni sħiħa. 2261 01:52:22,800 --> 01:52:23,841 >> Imma dak li ftit għażżien. 2262 01:52:23,841 --> 01:52:24,870 Allura aħna mhux se tagħmel dan. 2263 01:52:24,870 --> 01:52:27,960 Issa, let me tagħmel ritorn għal darb'oħra, dot ritorn mmejla. 2264 01:52:27,960 --> 01:52:32,790 >> x hija 2. x kwadrat hija 4. x hija 3. x kwadrat hija 9. 2265 01:52:32,790 --> 01:52:35,300 U l-funzjoni jidher issa li tkun qed taħdem. 2266 01:52:35,300 --> 01:52:36,550 Allura x'inhu l-differenza hawn? 2267 01:52:36,550 --> 01:52:42,520 I jkollhom funzjoni li sejjaħ kwadru, f'dan il-każ, li nressaq fil input. 2268 01:52:42,520 --> 01:52:43,830 U niġi lura output. 2269 01:52:43,830 --> 01:52:46,210 And yet, preċedentement, jekk I miftuħa l-eżempju ieħor 2270 01:52:46,210 --> 01:52:51,640 minn qabel, li kien talab prototype.c, 2271 01:52:51,640 --> 01:52:54,770 Kelli isem istampar, li lura null, biex ngħidu hekk, 2272 01:52:54,770 --> 01:52:58,730 Jew lura xejn, u sempliċiment kellhom effett sekondarju. 2273 01:52:58,730 --> 01:53:00,230 >> Allura x'inhu għaddej hawn? 2274 01:53:00,230 --> 01:53:03,520 Ukoll, jikkunsidraw il-funzjoni nikseb string għal ftit mument. 2275 01:53:03,520 --> 01:53:06,570 Imxejna ġiet tuża l-funzjoni nikseb string fil-mod li ġej. 2276 01:53:06,570 --> 01:53:10,464 >> Aħna kellna funzjoni tinkiseb spag, bħall jinkludu CS50.h, 2277 01:53:10,464 --> 01:53:16,624 jinkludu istandard IO.h, int, prinċipali, nulla. 2278 01:53:16,624 --> 01:53:18,790 U mbagħad kull darba stajt imsejħa sekwenza nikseb s'issa, 2279 01:53:18,790 --> 01:53:23,260 Stajt qal xi ħaġa simili, spag i gets tikseb spag, għaliex nikseb string-- 2280 01:53:23,260 --> 01:53:27,880 ejja sejħa dan sekwenza nikseb get.c-- nnifisha prospetti string li nista imbagħad 2281 01:53:27,880 --> 01:53:32,050 użu, u jgħidu, bonjour, comma, mija i, n backslash, i. 2282 01:53:32,050 --> 01:53:35,660 >> Allura dan huwa l-istess eżempju, verament, li kellna qabel. 2283 01:53:35,660 --> 01:53:37,920 Sabiex tikseb string prospetti valur. 2284 01:53:37,920 --> 01:53:41,260 Iżda mument ilu, spag istampar ma ritorn valur. 2285 01:53:41,260 --> 01:53:42,721 Hija sempliċiment effett sekondarju. 2286 01:53:42,721 --> 01:53:44,220 Allura din hija differenza fundamentali. 2287 01:53:44,220 --> 01:53:46,710 Rajna differenti tipi ta 'funzjonijiet issa, 2288 01:53:46,710 --> 01:53:49,490 li wħud minnhom ikunu ritornati Valuri, li wħud minnhom ma. 2289 01:53:49,490 --> 01:53:51,890 Allura forsi huwa spag, jew int, jew float. 2290 01:53:51,890 --> 01:53:53,480 Jew forsi huwa biss bla effett. 2291 01:53:53,480 --> 01:53:55,710 >> U d-differenza hija li dawn il-funzjonijiet li 2292 01:53:55,710 --> 01:53:59,940 tinkiseb data u r-ritorn ta 'valur huma attwalment jinġiebu xi ħaġa lura lill-tabella, 2293 01:53:59,940 --> 01:54:01,110 biex ngħidu hekk. 2294 01:54:01,110 --> 01:54:03,710 Mela ejja imorru quddiem u tħares lejn sett finali wieħed 2295 01:54:03,710 --> 01:54:09,129 ta eżempji li jagħti sens, issa, tal kif nistgħu, tabilħaqq, astratta aħjar, 2296 01:54:09,129 --> 01:54:11,670 u aħjar, u aħjar, jew aktar, u aktar, u aktar, sabiex 2297 01:54:11,670 --> 01:54:13,810 jiktbu, finalment, il-kodiċi aħjar. 2298 01:54:13,810 --> 01:54:16,860 Ejja jimxi 'l quddiem, u fl-ispirtu tal scratch, jagħmel dan li ġej. 2299 01:54:16,860 --> 01:54:21,700 >> Let me imorru quddiem u jinkludu CS50.h u standard IO.h. 2300 01:54:21,700 --> 01:54:24,010 Let me imorru quddiem u jagħti lili nnifsi int, prinċipali, nulla. 2301 01:54:24,010 --> 01:54:27,380 U let me jimxi 'l quddiem, sejħa dan cough.c. 2302 01:54:27,380 --> 01:54:35,510 >> U let me imorru quddiem u biss bħal scratch, jistampa sogħla / n. 2303 01:54:35,510 --> 01:54:37,170 U nixtieq li tagħmel dan tliet darbiet. 2304 01:54:37,170 --> 01:54:39,670 Hekk jien, naturalment, biss jmorru li kopja u paste tliet darbiet. 2305 01:54:39,670 --> 01:54:46,440 Jien issa ser jagħmlu sogħla sogħla mmejla dot. 2306 01:54:46,440 --> 01:54:50,120 Ejja tagħti lili nnifsi ftit spazju aktar hawn, Ikteb, sogħla, sogħla, sogħla. 2307 01:54:50,120 --> 01:54:53,970 >> Hemm, ovvjament, diġà opportunità għal titjib. 2308 01:54:53,970 --> 01:54:55,679 Stajt kkupjati u pasted ftit drabi llum. 2309 01:54:55,679 --> 01:54:58,261 Iżda dan kien biss so I ma għandek tip kif ħafna karattri. 2310 01:54:58,261 --> 01:55:00,250 I għadhom inbidlet dak dawk il-linji ta 'kodiċi huma. 2311 01:55:00,250 --> 01:55:04,240 >> Dawn it-tliet linji huma identiċi, li jħoss għażżien u fil-fatt jiġifieri, 2312 01:55:04,240 --> 01:55:07,110 u probabbilment ma jkunx l-approċċ dritt. 2313 01:55:07,110 --> 01:55:11,029 Allura ma 'dak l-ingredjent nistgħu jtejbu dan il-kodiċi? 2314 01:55:11,029 --> 01:55:12,570 Aħna ma jkollhom kopja u kodiċi paste. 2315 01:55:12,570 --> 01:55:15,070 >> U, fil-fatt, kwalunkwe ħin tħoss yourself ikkupjar u pasta, 2316 01:55:15,070 --> 01:55:17,700 u lanqas jinbidlu kodiċi, odds huma hemm mod aħjar. 2317 01:55:17,700 --> 01:55:19,470 U, fil-fatt, hemm. 2318 01:55:19,470 --> 01:55:22,510 Let me imorru quddiem u jagħmlu għall loop, minkejja li l-sintassi jista 'ma jkunx 2319 01:55:22,510 --> 01:55:24,570 jiġu naturali s'issa. 2320 01:55:24,570 --> 01:55:29,494 >> Agħmel dan tliet darbiet, sempliċiment billi għamlet l-following-- 2321 01:55:29,494 --> 01:55:31,160 u I jiġri li tkun taf dan mill-prattika. 2322 01:55:31,160 --> 01:55:32,810 Iżda għandna numru ta 'eżempji issa. 2323 01:55:32,810 --> 01:55:34,950 U tkun taf tara fuq l-internet aktar referenzi għadhom. 2324 01:55:34,950 --> 01:55:37,790 >> Dan huwa l-sintassi fuq il-linja 6, li ferm simili Scratch dik jirrepeti 2325 01:55:37,790 --> 01:55:40,090 blokk, irrepeti t-tliet darbiet li ġejjin. 2326 01:55:40,090 --> 01:55:41,340 Huwa maġika ftit għal issa. 2327 01:55:41,340 --> 01:55:43,050 Iżda dan se tikseb aktar, u aktar familjari. 2328 01:55:43,050 --> 01:55:45,050 >> U li għaddej biex jirrepetu Linja tmien tliet darbiet, 2329 01:55:45,050 --> 01:55:52,390 b'tali mod li jekk jien terġa 'tiġbor make sogħla, dot mmejla sogħla, sogħla, sogħla, sogħla. 2330 01:55:52,390 --> 01:55:54,030 Għadu jaħdem bl-istess mod. 2331 01:55:54,030 --> 01:55:55,550 Allura li kollox multa u tajba. 2332 01:55:55,550 --> 01:55:58,200 Imma dak li mhux estratt ħafna. 2333 01:55:58,200 --> 01:55:59,371 >> Huwa perfettament korretta. 2334 01:55:59,371 --> 01:56:01,370 Imma jħoss simili hemmhekk jista 'jkun opportunità, 2335 01:56:01,370 --> 01:56:03,750 kif fid-dinja ta ' Bidu nett, it-tip ta 'start 2336 01:56:03,750 --> 01:56:07,530 li żżid xi semantika hawn hekk li I do mhux biss ikollhom xi wħud għall loop, 2337 01:56:07,530 --> 01:56:09,867 u funzjoni li tgħid sogħla, jew ma sogħla. 2338 01:56:09,867 --> 01:56:10,450 Taf xiex? 2339 01:56:10,450 --> 01:56:12,620 Let me jippruvaw li jkun ftit cooler minn dan, 2340 01:56:12,620 --> 01:56:16,090 u fil-fatt jiktbu funzjoni li għandha xi effetti sekondarji, sejħa hija sogħla. 2341 01:56:16,090 --> 01:56:20,830 >> U li tieħu l-ebda input, u prospetti ebda valur bħala output. 2342 01:56:20,830 --> 01:56:22,680 Imma inti taf dak li ma? 2343 01:56:22,680 --> 01:56:29,370 Hija ma this-- printf, kwotazzjoni unquote, sogħla. 2344 01:56:29,370 --> 01:56:32,380 >> U issa hawn, jien ser li jimxi 'l quddiem u għal int, 2345 01:56:32,380 --> 01:56:36,070 i gets żero, i anqas minn 3, i plus plus. 2346 01:56:36,070 --> 01:56:39,770 Jien ser ma tagħmel printf, li hija forsi implimentazzjoni f'livell baxx 2347 01:56:39,770 --> 01:56:40,270 dettall. 2348 01:56:40,270 --> 01:56:41,353 I do not care kif sogħla. 2349 01:56:41,353 --> 01:56:43,240 I biss jridu jużaw l-funzjoni sogħla. 2350 01:56:43,240 --> 01:56:44,840 U jien biss ser sejħa sogħla. 2351 01:56:44,840 --> 01:56:46,204 >> Issa, avviż-dikotomija. 2352 01:56:46,204 --> 01:56:49,370 Meta inti sejħa funzjoni, jekk inti ma jridu jagħtuh inputs, totalment multa. 2353 01:56:49,370 --> 01:56:51,780 Just do paren miftuħa, qrib paren, u qed isir. 2354 01:56:51,780 --> 01:56:56,271 >> Meta inti tiddefinixxi funzjoni, jew tiddikjara prototip funzjoni tal- 2355 01:56:56,271 --> 01:56:58,770 jekk inti taf minn qabel mhuwiex ser tieħu ebda argument, 2356 01:56:58,770 --> 01:57:01,170 jgħidu null f'dawk parentesi hemmhekk. 2357 01:57:01,170 --> 01:57:05,660 U li jagħmel ċert li inti mhux se aċċidentalment użu ħażin dan. 2358 01:57:05,660 --> 01:57:07,020 Let me imorru quddiem u jagħmlu sogħla. 2359 01:57:07,020 --> 01:57:08,540 U, naturalment, stajt għamel żball. 2360 01:57:08,540 --> 01:57:10,410 >> Dammit, hemm dik Dikjarazzjoni impliċitu. 2361 01:57:10,410 --> 01:57:11,325 Imma li l-multa. 2362 01:57:11,325 --> 01:57:12,590 Huwa jiffissaw faċli. 2363 01:57:12,590 --> 01:57:18,240 I biss bżonn l-prototip ogħla sa fil-fajl tiegħi minn I am attwalment jużawha. 2364 01:57:18,240 --> 01:57:20,070 >> Allura issa let me jagħmlu sogħla darb'oħra, sbieħ. 2365 01:57:20,070 --> 01:57:20,790 Issa, hija taħdem. 2366 01:57:20,790 --> 01:57:22,930 Jagħmlu sogħla, sogħla, sogħla, sogħla. 2367 01:57:22,930 --> 01:57:25,930 Allura inti tista 'taħseb li aħna qed verament ftit aktar minn inġinerija din il-problema. 2368 01:57:25,930 --> 01:57:26,763 U, tabilħaqq, aħna. 2369 01:57:26,763 --> 01:57:28,870 Din mhix tajba kandidat ta 'programm 2370 01:57:28,870 --> 01:57:31,930 fil-mument ta ' refactoring, u tagħmel x'hemm 2371 01:57:31,930 --> 01:57:35,645 imsejħa dekompożizzjoni ġerarkika, fejn tieħu xi kodiċi, u mbagħad 2372 01:57:35,645 --> 01:57:38,790 inti xorta ta 'fattur affarijiet out, hekk kif tattribwixxi aktar semantika għalihom, 2373 01:57:38,790 --> 01:57:40,930 u użu mill-ġdid tul finalment itwal. 2374 01:57:40,930 --> 01:57:43,490 Imma hija blokk bini lejn programmi aktar sofistikati 2375 01:57:43,490 --> 01:57:45,600 li aħna se tibda miktub qabel twil li 2376 01:57:45,600 --> 01:57:50,090 jippermetti li jkollhom l-vokabularju li biex jikteb il-kodiċi aħjar. 2377 01:57:50,090 --> 01:57:52,920 U, tabilħaqq, ejja ara jekk irridu ma jistax jiġġeneralizza din ulterjuri. 2378 01:57:52,920 --> 01:57:57,984 >> Jidher lame ftit li jien, prinċipali, bżonn ninkwetaw dwar dan darn għall loop, 2379 01:57:57,984 --> 01:57:59,400 u ssejjaħ sogħla u għal darb'oħra. 2380 01:57:59,400 --> 01:58:03,050 Għaliex ma tistax I biss tell sogħla, jekk jogħġbok sogħla tliet darbiet? 2381 01:58:03,050 --> 01:58:08,170 Fi kliem ieħor, għaliex ma tistax I biss jagħtu kontribut għall sogħla u jagħmlu dan? 2382 01:58:08,170 --> 01:58:11,270 >> Għaliex ma tistax I biss jgħidu, fil sogħla prinċipali tlett darbiet. 2383 01:58:11,270 --> 01:58:13,150 U issa, dan huwa tip ta 'maġika. 2384 01:58:13,150 --> 01:58:14,540 Huwa iterattiv ħafna hawn. 2385 01:58:14,540 --> 01:58:15,940 U huwa, tabilħaqq, pass tarbija. 2386 01:58:15,940 --> 01:58:19,250 >> Iżda biss l-abbiltà li jgħidu dwar linja tmienja, sogħla tliet darbiet, 2387 01:58:19,250 --> 01:58:20,730 huwa biss tant aktar leġġibbli. 2388 01:58:20,730 --> 01:58:24,210 U, flimkien, jien ma għandekx tkun taf jew kura kif sogħla hija implimentata. 2389 01:58:24,210 --> 01:58:26,460 U, tabilħaqq, aktar tard fil- tul u għal proġetti finali, 2390 01:58:26,460 --> 01:58:29,150 jekk inti jindirizzaw proġett ma classmate jew tnejn klassi, 2391 01:58:29,150 --> 01:58:32,370 inti ser tirrealizza li int ser għandek, jew jixtiequ li, jqassam ix-xogħol. 2392 01:58:32,370 --> 01:58:34,650 >> U int tmur jridu jiddeċiedu -quddiem, li għaddej biex jagħmlu dak, 2393 01:58:34,650 --> 01:58:35,483 u liema biċċiet? 2394 01:58:35,483 --> 01:58:37,520 U ma kienx ikun sbieħ jekk inti, per eżempju, 2395 01:58:37,520 --> 01:58:40,100 jittieħed inkarigu ta 'kitba prinċipali, magħmul. 2396 01:58:40,100 --> 01:58:43,470 U roommate tiegħek, jew tiegħek imsieħba iktar ġenerali, 2397 01:58:43,470 --> 01:58:45,230 jieħu ħsieb tal-implimentazzjoni sogħla. 2398 01:58:45,230 --> 01:58:49,540 >> U din id-diviżjoni, dawn ħitan ta 'estrazzjoni, 2399 01:58:49,540 --> 01:58:52,310 jew saffi ta 'estrazzjoni jekk inti ser, huma super qawwija, 2400 01:58:52,310 --> 01:58:55,480 għaliex speċjalment għall akbar, aktar programmi u s-sistemi kumplessi, 2401 01:58:55,480 --> 01:59:00,070 din tippermetti lin-nies multipli li jibnu affarijiet flimkien, u finalment 2402 01:59:00,070 --> 01:59:02,680 stitch ħidma tagħhom flimkien b'dan il-mod. 2403 01:59:02,680 --> 01:59:05,332 Imma, naturalment, aħna jeħtieġ li issa jiffissaw sogħla. 2404 01:59:05,332 --> 01:59:07,290 Għandna bżonn li tgħid sogħla li, ħej, inti taf liema? 2405 01:59:07,290 --> 01:59:11,230 Inti ser jeħtieġ li jieħdu input-- hekk mhux null, iżda int u issa. 2406 01:59:11,230 --> 01:59:15,170 Ejja imorru quddiem u jitqiegħed fis sogħla l-int. i gets żero. 2407 01:59:15,170 --> 01:59:16,890 >> i huwa inqas minn kemm drabi. 2408 01:59:16,890 --> 01:59:18,550 I said tlieta qabel. 2409 01:59:18,550 --> 01:59:20,420 Iżda li mhux dak li nixtieq. 2410 01:59:20,420 --> 01:59:25,520 Irrid sogħla li tiġi ġeneralizzata għall jappoġġa kull numru ta 'iterazzjonijiet. 2411 01:59:25,520 --> 01:59:28,800 >> Allura, fil-fatt, huwa n li nixtieq, ikun x'ikun l-utent jgħidlekx me. 2412 01:59:28,800 --> 01:59:31,620 Issa, I tista 'tmur quddiem u jgħidu sogħla istampar. 2413 01:59:31,620 --> 01:59:34,750 U l-ebda kwistjoni liema numru -utent jgħaddi fi, 2414 01:59:34,750 --> 01:59:36,890 I se jtenni li ħafna drabi. 2415 01:59:36,890 --> 01:59:39,160 >> Għalhekk fl-aħħar tal-ġurnata, programm huwa identiku. 2416 01:59:39,160 --> 01:59:42,820 Iżda avviż dan kollu Jittieħed jista 'saħansitra jkun fil-fajl ieħor. 2417 01:59:42,820 --> 01:59:45,620 Tabilħaqq, I do not know fil- mument kif printf tiġi implimentata. 2418 01:59:45,620 --> 01:59:47,980 >> I do not know fil-mument kif tikseb spag, jew jiksbu int, jew tikseb float 2419 01:59:47,980 --> 01:59:48,646 jiġu implimentati. 2420 01:59:48,646 --> 01:59:50,930 U jien ma jridux tarahom fuq l-iskrin tiegħi. 2421 01:59:50,930 --> 01:59:55,320 Kif inhi, jien jibdew jiffukaw fuq programm tiegħi, ma dawk il-funzjonijiet. 2422 01:59:55,320 --> 01:59:59,070 >> U għalhekk, fil-fatt, hekk kif inti tibda factoring kodiċi bħal dan out, 2423 01:59:59,070 --> 02:00:01,397 nistgħu anki jiċċaqlaq sogħla għall-fajl separat? 2424 02:00:01,397 --> 02:00:02,730 Xi ħadd ieħor jista 'jimplimenta dan. 2425 02:00:02,730 --> 02:00:06,810 U inti u l-programm tiegħek issir l- sbieħ ħafna, u ħafna tinqara, 2426 02:00:06,810 --> 02:00:10,830 forsi, verament erba Linja programm hemm dritt. 2427 02:00:10,830 --> 02:00:13,510 >> Mela ejja imorru quddiem issa u tagħmel il-bidla waħda aktar. 2428 02:00:13,510 --> 02:00:16,180 Avviż li prototip tiegħi għandha tinbidel top up. 2429 02:00:16,180 --> 02:00:18,390 So let me jiffissaw dak hekk Jien ma jsibux għajjat ​​fil. 2430 02:00:18,390 --> 02:00:22,580 >> Jagħmlu sogħla, let me run sogħla darba aktar, għadhom jagħmlu l-istess ħaġa. 2431 02:00:22,580 --> 02:00:26,010 Imma issa, avviż għandna ingredjent għall-verżjoni finali wieħed. 2432 02:00:26,010 --> 02:00:26,940 Taf xiex? 2433 02:00:26,940 --> 02:00:29,040 Ma rridx li sogħla ftit, neċessarjament. 2434 02:00:29,040 --> 02:00:30,802 Irrid li jkollhom xi ħaġa aktar ġenerali. 2435 02:00:30,802 --> 02:00:31,510 Allura inti taf liema? 2436 02:00:31,510 --> 02:00:32,450 Irrid li tagħmel dan. 2437 02:00:32,450 --> 02:00:37,140 Irrid li jkollhom, ħafna bħall Scratch ma, blokk jgħidu, iżda mhux biss 2438 02:00:37,140 --> 02:00:38,680 ngħid xi ħaġa xi numru ta 'drabi. 2439 02:00:38,680 --> 02:00:41,510 Irrid ngħid string speċifika ħafna. 2440 02:00:41,510 --> 02:00:43,850 U, għalhekk, jien ma tixtieq li biss jgħidu sogħla. 2441 02:00:43,850 --> 02:00:47,660 Irrid ngħid xi jkun sekwenza huwa mgħoddi fil. 2442 02:00:47,660 --> 02:00:49,960 >> Allura avviż, stajt ġeneralizzata dan sabiex li issa 2443 02:00:49,960 --> 02:00:53,110 jiġifieri iħoss bħal isem tajjeb għal dan, bħal Scratch, 2444 02:00:53,110 --> 02:00:55,530 jieħu żewġ argumenti, kuntrarjament Scratch. 2445 02:00:55,530 --> 02:00:56,570 Wieħed huwa string. 2446 02:00:56,570 --> 02:00:57,300 Wieħed huwa int. 2447 02:00:57,300 --> 02:00:58,130 >> UI tista 'jixgħelhom. 2448 02:00:58,130 --> 02:01:00,713 I biss tip ta bħall-idea ta ' jiġifieri l-sekwenza ewwel, u mbagħad 2449 02:01:00,713 --> 02:01:01,940 kif ħafna drabi aktar tard. 2450 02:01:01,940 --> 02:01:03,970 Null ifisser li xorta ma ritorn xejn. 2451 02:01:03,970 --> 02:01:06,428 Dawn huma biss sekondarji viżwali Effetti, bħal ma [? Ġordan,] 2452 02:01:06,428 --> 02:01:08,240 effett sekondarju verbali tat yelling. 2453 02:01:08,240 --> 02:01:12,630 Hija xorta ma żminijiet xi ħaġa n- 0 sa, iżda mhux ugwali għal n. 2454 02:01:12,630 --> 02:01:14,540 Dan ifisser ħinijiet n totali. 2455 02:01:14,540 --> 02:01:16,540 U mbagħad biss jistampa kwalunkwe li sekwenza hu. 2456 02:01:16,540 --> 02:01:19,060 Allura stajt verament ġeneralizzati din il-linja ta 'kodiċi. 2457 02:01:19,060 --> 02:01:22,460 Allura issa, kif nista jimplimentaw il-funzjoni sogħla? 2458 02:01:22,460 --> 02:01:25,520 >> I tista 'tagħmel sogħla null. 2459 02:01:25,520 --> 02:01:28,501 U jien xorta jistgħu jieħdu fil-mod kif ħafna drabi inti tixtieq li sogħla. 2460 02:01:28,501 --> 02:01:29,250 Imma inti taf liema? 2461 02:01:29,250 --> 02:01:31,240 I jistgħu issa Punt ngħid. 2462 02:01:31,240 --> 02:01:36,540 >> I tista 'sejħa ngħid ma' l- sogħla kelma, li jgħaddi n. 2463 02:01:36,540 --> 02:01:40,410 U jekk irrid biex jimplimentaw ukoll, biss għall-gost, funzjoni tgħatas, 2464 02:01:40,410 --> 02:01:42,290 I jistgħu tgħatas xi numru ta 'drabi. 2465 02:01:42,290 --> 02:01:47,300 U jien tista 'żżomm użu mill-ġdid n, għaliex avviż li m f'dan il-kuntest jew l-iskop 2466 02:01:47,300 --> 02:01:49,470 jeżisti biss fi ħdan din il-funzjoni. 2467 02:01:49,470 --> 02:01:52,767 >> U n f'dan il-kuntest biss teżisti fi ħdan din il-funzjoni hawn. 2468 02:01:52,767 --> 02:01:54,600 Allura aħna ser terga 'lura għal dawn il-kwistjonijiet ta 'ambitu. 2469 02:01:54,600 --> 02:02:01,160 U hawn, jien biss se ngħid, achoo, u mbagħad n ħinijiet, semi-colon. 2470 02:02:01,160 --> 02:02:04,340 >> U issa, I biss bżonn li jissellef dawn funzjoni firem up here. 2471 02:02:04,340 --> 02:02:06,290 Allura sogħla hija korretta. 2472 02:02:06,290 --> 02:02:10,090 tgħatas null hija korretta issa. 2473 02:02:10,090 --> 02:02:12,390 >> U għadni biss bżonn jgħidu. 2474 02:02:12,390 --> 02:02:18,990 Hekk jien se ngħid, ngħidu aħna spag i, n int, semi-colon. 2475 02:02:18,990 --> 02:02:22,010 Allura stajt żżejjed il Heck minn dan il-programm. 2476 02:02:22,010 --> 02:02:23,760 >> U dan ma neċessarjament ifisser li dan huwa 2477 02:02:23,760 --> 02:02:26,343 x'għandek tagħmel meta tikteb anke l-aktar sempliċi ta 'programmi. 2478 02:02:26,343 --> 02:02:29,280 Ħu xi ħaġa li ovvjament verament sempliċi, tassew qasir, 2479 02:02:29,280 --> 02:02:31,800 u ri-timplimentaha jużaw kodiċi mod wisq. 2480 02:02:31,800 --> 02:02:34,560 Imma inti taf attwalment ara, b'mod ħin tħares lura fuq dawn l-eżempji, 2481 02:02:34,560 --> 02:02:38,610 u jirrealizzaw, oh, dawk huma l-passi ħadna fil-fatt jiġġeneralizzaw, 2482 02:02:38,610 --> 02:02:40,797 għall-fattur xi ħaġa barra, sakemm fl-aħħar tal-ġurnata 2483 02:02:40,797 --> 02:02:42,380 Kodiċi tiegħi huwa attwalment pretty raġonevoli. 2484 02:02:42,380 --> 02:02:45,960 Għaliex jekk irrid li sogħla tlieta ħinijiet allura tgħatas tliet darbiet, 2485 02:02:45,960 --> 02:02:50,420 Jien sempliċiment ser terġa 'ssir din l- programm jagħmel sogħla, u run sogħla. 2486 02:02:50,420 --> 02:02:53,620 U jien tliet sogħla u tliet għatis. 2487 02:02:53,620 --> 02:02:55,990 >> U għalhekk dan huwa bażiku paradigma, jekk inti se, 2488 02:02:55,990 --> 02:03:00,110 għal kemm nistgħu tmur dwar attwalment implimentazzjoni ta 'programm. 2489 02:03:00,110 --> 02:03:03,220 Imma ejja biss tara issa dak li huwa aħna kont qed tagħmel kollha ta 'dan iż-żmien, 2490 02:03:03,220 --> 02:03:06,940 u dak li xi wħud mill-biċċiet finali huma wara dan il-kmand sempliċi. 2491 02:03:06,940 --> 02:03:09,620 Fl-aħħar tal-ġurnata, konna Kien jużaw Clang bħala kompilatur tagħna. 2492 02:03:09,620 --> 02:03:11,494 Imxejna ġiet miktub sors kodiċi, dan jinbidel 2493 02:03:11,494 --> 02:03:12,820 permezz Clang fis kodiċi tal-magna. 2494 02:03:12,820 --> 02:03:15,540 >> U aħna kont qed tuża Make biss biex jiffaċilitaw keystrokes tagħna tant 2495 02:03:15,540 --> 02:03:20,740 li aħna ma jkollhomx tiftakar dawk incantations ta Clang innifsu. 2496 02:03:20,740 --> 02:03:22,640 Imma dak li hu Għamla fatt jagħmlu? 2497 02:03:22,640 --> 02:03:24,750 U, min-naħa tiegħu, dak li huwa Clang fil-fatt jagħmlu? 2498 02:03:24,750 --> 02:03:28,790 >> Jirriżulta, għalkemm għandna simplifikati diskussjoni tal-lum billi qal, 2499 02:03:28,790 --> 02:03:33,090 tieħu kodiċi sors, tgħaddiha bħala input għall kompilatur, li tagħtik 2500 02:03:33,090 --> 02:03:35,750 produzzjoni ta 'magna kodiċi, jirriżulta Hemm 2501 02:03:35,750 --> 02:03:37,420 passi differenti ftit hemm ġewwa. 2502 02:03:37,420 --> 02:03:41,940 U l-kumpilazzjoni jiġri li jkun l-umbrella tul għall-mazz sħiħ ta 'passi. 2503 02:03:41,940 --> 02:03:43,970 Imma ejja biss tease dan out verament malajr. 2504 02:03:43,970 --> 02:03:48,070 >> Jirriżulta li aħna kont qed tagħmel aktar affarijiet kull darba I tmexxi programm, 2505 02:03:48,070 --> 02:03:50,990 jew kull darba I jikkompilaw programm llum. 2506 02:03:50,990 --> 02:03:55,020 Allura preprocessing jirreferi għall this-- xejn fi programm Ċ, 2507 02:03:55,020 --> 02:03:58,720 kif Ser naraw mill-ġdid u għal darb'oħra, li jibda ma 'dan is-simbolu hash, 2508 02:03:58,720 --> 02:04:03,320 jew is-simbolu hashtag hawn, il-mezzi huwa direttiva Preprocessor. 2509 02:04:03,320 --> 02:04:07,330 Dan ifisser, f'dan il-każ, ħej kompjuter, jagħmel xi ħaġa ma 'dan il-fajl 2510 02:04:07,330 --> 02:04:09,430 qabel ma attwalment jikkompilaw kodiċi tiegħi stess. 2511 02:04:09,430 --> 02:04:15,220 >> F'dan il-każ, hash jinkludu jiġifieri, essenzjalment, mod Ċ ta 'tgħid, 2512 02:04:15,220 --> 02:04:19,325 ħej kompjuter, mur jiksbu l-kontenut ta CS50.h u paste lilhom hawnhekk. 2513 02:04:19,325 --> 02:04:22,170 Ħej kompjuter, mur jiksbu l- kontenut ta 'standard IO.h, 2514 02:04:22,170 --> 02:04:24,690 kull meta fuq l- hard drive, paste hawn. 2515 02:04:24,690 --> 02:04:27,390 Allura dawk l-affarijiet jiġri ewwel waqt preprocessing. 2516 02:04:27,390 --> 02:04:28,880 >> U Clang ma kollha ta 'dan il għalina. 2517 02:04:28,880 --> 02:04:30,510 U tagħmlu hekk darn malajr, inti ma anki 2518 02:04:30,510 --> 02:04:32,000 ara l-erba 'affarijiet distinti jiġri. 2519 02:04:32,000 --> 02:04:34,100 Imma dak li l-ewwel pass bħal dan. 2520 02:04:34,100 --> 02:04:35,560 >> X'inhu dak li attwalment jiġri issa? 2521 02:04:35,560 --> 02:04:38,320 Ukoll, l-uffiċjal li jmiss pass qed tiġbor. 2522 02:04:38,320 --> 02:04:40,385 U jirriżulta li kumpilazzjoni programm 2523 02:04:40,385 --> 02:04:44,060 teknikament ifisser li jmorru minn kodiċi tas-sors, l-għalf konna 2524 02:04:44,060 --> 02:04:47,890 ġie miktub illum, għal xi ħaġa imsejħa kodiċi assemblaġġ, xi ħaġa 2525 02:04:47,890 --> 02:04:49,260 li jistenna ftit differenti. 2526 02:04:49,260 --> 02:04:51,050 >> U, fil-fatt, nistgħu naraw dan malajr reali. 2527 02:04:51,050 --> 02:04:53,890 Let me attwalment tmur fis IDE tiegħi. 2528 02:04:53,890 --> 02:04:58,050 Let me imorru quddiem u hello.c miftuħ, li hija l-ewwel programm magħha għandna 2529 02:04:58,050 --> 02:04:59,120 beda llum. 2530 02:04:59,120 --> 02:05:04,130 U let me imorru quddiem u run Clang ta ' ftit differenti, Clang-i, hello.c, 2531 02:05:04,130 --> 02:05:07,720 li huwa attwalment għaddejjin biex agħtini ieħor hello.s fajl. 2532 02:05:07,720 --> 02:05:10,330 >> U aħna se probabbilment qatt jerġgħu jaraw lil dan it-tip ta 'kodiċi. 2533 02:05:10,330 --> 02:05:13,030 Jekk inti tieħu għal livell aktar baxx klassi sistemi bħal CS61, 2534 02:05:13,030 --> 02:05:14,920 inti se tara ħafna aktar ta 'dan it-tip ta' kodiċi. 2535 02:05:14,920 --> 02:05:17,020 Iżda din hija lingwa assemblaġġ. 2536 02:05:17,020 --> 02:05:22,050 Dan huwa x86 lingwa assemblaġġ li l-CPU li huwa sottostanti 2537 02:05:22,050 --> 02:05:24,460 CS50 IDE attwalment jifhem. 2538 02:05:24,460 --> 02:05:27,060 >> U cryptic kif ma ħarsa, huwa xi ħaġa 2539 02:05:27,060 --> 02:05:29,180 il-kompjuter jifhem pretty ukoll. 2540 02:05:29,180 --> 02:05:30,790 Q sub, dan huwa naqqas. 2541 02:05:30,790 --> 02:05:31,660 Hemm movimenti. 2542 02:05:31,660 --> 02:05:35,730 >> Hemm sejħa ta 'funzjonijiet hawn, x oring, moviment, add, pop, 2543 02:05:35,730 --> 02:05:36,430 ritorn. 2544 02:05:36,430 --> 02:05:38,850 Allura hemm xi ħafna istruzzjonijiet ta 'livell baxx 2545 02:05:38,850 --> 02:05:41,280 li CPUs jifhmu li I allużjoni għall qabel. 2546 02:05:41,280 --> 02:05:43,100 Dan huwa dak li Intel Ġewwa. 2547 02:05:43,100 --> 02:05:45,030 >> Hemm mudelli ta ' żero u dawk li 2548 02:05:45,030 --> 02:05:51,800 Mappa li dawn arcanely miktuba, iżda kemmxejn sew jismu, istruzzjonijiet, 2549 02:05:51,800 --> 02:05:52,780 biex ngħidu hekk. 2550 02:05:52,780 --> 02:05:54,780 Dan huwa dak li jiġri meta inti jikkompilaw kodiċi tiegħek. 2551 02:05:54,780 --> 02:05:58,560 Ikollok assemblaġġ lingwa barra minnu, li 2552 02:05:58,560 --> 02:06:04,680 tfisser it-tielet pass huwa li jimmuntaw dan il-kodiċi assemblaġġ fi, finalment, 2553 02:06:04,680 --> 02:06:09,080 magna żero code-- u dawk mhux il test li aħna biss raw mument ilu. 2554 02:06:09,080 --> 02:06:13,370 >> Allura qabel l-ipproċessar ma dik ssib u tissostitwixxi, u affarijiet oħra ftit. 2555 02:06:13,370 --> 02:06:16,430 Kompilazzjoni jieħu sors tiegħek kodiċi minn Ċ, kodiċi sors 2556 02:06:16,430 --> 02:06:18,980 li aħna kiteb, għall-assemblaġġ kodiċi li aħna biss glanced fuq. 2557 02:06:18,980 --> 02:06:22,170 Armar jieħu dik assemblea kodiċi li zeroes u dawk 2558 02:06:22,170 --> 02:06:24,680 li l-CPU verament se jifhmu fl-aħħar tal-ġurnata. 2559 02:06:24,680 --> 02:06:27,630 U tgħaqqad huwa l-aħħar pass li jiġri għall us-- mill-ġdid, 2560 02:06:27,630 --> 02:06:29,830 tant mgħaġġel aħna lanqas biss notice-- li tgħid, 2561 02:06:29,830 --> 02:06:32,460 ħej kompjuter, jieħdu l l-żerijiet u dawk li 2562 02:06:32,460 --> 02:06:36,750 rriżultat mill-kompilazzjoni kodiċi David, u l-funzjoni ewlenija tiegħu f'dan il-każ. 2563 02:06:36,750 --> 02:06:39,160 >> U ħej kompjuter, mur jiksbu kollha ta 'l-żerijiet u dawk 2564 02:06:39,160 --> 02:06:42,180 li l-persunal CS50 kiteb ġewwa l-librerija CS50. 2565 02:06:42,180 --> 02:06:43,440 Ħallat dawk ma David. 2566 02:06:43,440 --> 02:06:46,648 U ħej kompjuter, mur jiksbu l-żerijiet u dawk li xi ħadd ieħor kiteb snin 2567 02:06:46,648 --> 02:06:47,470 ilu għal printf. 2568 02:06:47,470 --> 02:06:49,880 U żid dawk fil- ħaġa sħiħa, b'tali mod li konna 2569 02:06:49,880 --> 02:06:52,870 ltqajna żero tiegħi u dawk, l- żero u dawk tal-persunal CS50 s, 2570 02:06:52,870 --> 02:06:55,370 l-żerijiet printf u dawk, u kull ħaġa oħra aħna qed jużaw. 2571 02:06:55,370 --> 02:07:00,410 >> Huma kollha jiksbu kombinati flimkien f'waħda programm imsejjaħ, f'dan il-każ, bonjour. 2572 02:07:00,410 --> 02:07:03,141 Allura issa, aħna se biss jużaw il-kompilazzjoni kelma. 2573 02:07:03,141 --> 02:07:06,390 U aħna se nieħdu għall mogħtija li meta ngħidu, jikkompilaw program tiegħek, dan ifisser, 2574 02:07:06,390 --> 02:07:08,849 ħej jagħmlu l--ipproċessar minn qabel, assemblaġġ, u jgħaqqdu. 2575 02:07:08,849 --> 02:07:11,890 Iżda hemm attwalment xi Jittieħed mmerraq għaddej hemmhekk taħt il-barnuża. 2576 02:07:11,890 --> 02:07:13,723 U speċjalment jekk int nikseb kurjużi xi żmien, 2577 02:07:13,723 --> 02:07:15,900 inti tista 'tibda poking madwar f'dan il-livell aktar baxx. 2578 02:07:15,900 --> 02:07:19,660 Iżda għal issa, jirrealizzaw li fost il takeaways għal-lum 2579 02:07:19,660 --> 02:07:23,420 huma sempliċement l- bidu ta 'proċess, 2580 02:07:23,420 --> 02:07:26,700 ta 'jkollna komda mal xi ħaġa bħal dinja bonjour. 2581 02:07:26,700 --> 02:07:29,575 Tabilħaqq, ħafna mill dak li għamilna llum ċertament mhux se sink fil super fast. 2582 02:07:29,575 --> 02:07:31,491 U dan se jieħu xi ħin, u xi prattika. 2583 02:07:31,491 --> 02:07:33,864 U odds huma, inti se sort ta tixtieq li hit tastiera tiegħek 2584 02:07:33,864 --> 02:07:34,780 jew Yell lejn l-iskrin. 2585 02:07:34,780 --> 02:07:35,880 U kollha ta 'dan huwa OK. 2586 02:07:35,880 --> 02:07:38,320 Għalkemm, forsi ipprova ma tagħmel dan fil-librerija tant. 2587 02:07:38,320 --> 02:07:40,820 >> U fl-aħħarnett, inti ser ikunu kapaċi għalkemm, biex tibda 2588 02:07:40,820 --> 02:07:44,580 jaraw mudelli, kemm fil-kodiċi tajba li inti stajt bil-miktub u fl-iżbalji 2589 02:07:44,580 --> 02:07:45,370 li inti ħadna. 2590 02:07:45,370 --> 02:07:48,965 U ħafna bħall-proċess ta ' isir TF jew CA huwa simili, 2591 02:07:48,965 --> 02:07:51,590 inti ser tibda biex tikseb aħjar u aħjar fil jara dawn mudelli, 2592 02:07:51,590 --> 02:07:53,774 u biss jissolvew tiegħek problemi stess finalment. 2593 02:07:53,774 --> 02:07:56,940 Fil-frattemp, se jkun hemm ħafna minna li jsellef lilek appoġġ, u ikollok 2594 02:07:56,940 --> 02:07:57,481 permezz ta 'dan. 2595 02:07:57,481 --> 02:07:59,450 U fil-write-ups għall-problemi kollha 2596 02:07:59,450 --> 02:08:01,366 inti se tkun iggwidata permezz kollha tal-kmandi 2597 02:08:01,366 --> 02:08:05,330 li jien ċertament jafu mill- ħafna ta 'prattika minn issa, 2598 02:08:05,330 --> 02:08:07,380 iżda jista 'jkollu tittajjar fuq ras wieħed għal issa. 2599 02:08:07,380 --> 02:08:08,580 U li l-totalment multa. 2600 02:08:08,580 --> 02:08:11,230 >> Iżda, fl-aħħar, int ser biex tibda tara mudelli jitfaċċaw. 2601 02:08:11,230 --> 02:08:14,260 U ladarba ikollok passat kollha ta 'l- Dettalji stupid, bħall-parentesi, 2602 02:08:14,260 --> 02:08:16,710 u ċingi kaboċċi, u semi-colons, u l-għalf, franchement, 2603 02:08:16,710 --> 02:08:19,360 li mhuwiex f'kull intellettwalment interessanti. 2604 02:08:19,360 --> 02:08:22,690 U mhuwiex l-għan ta tieħu xi klassi ta 'introduzzjoni. 2605 02:08:22,690 --> 02:08:24,410 Hu l-ideat li ser materja. 2606 02:08:24,410 --> 02:08:26,659 >> Hu l-linji, u l- kondizzjonijiet, u l-funzjonijiet, 2607 02:08:26,659 --> 02:08:30,552 u aktar qawwi l-estrazzjoni, u l-fatturar tal-kodiċi, 2608 02:08:30,552 --> 02:08:33,510 u d-disinn tajba, u l-ġid stil, u finalment il-korrettezza 2609 02:08:33,510 --> 02:08:37,330 tal-kodiċi tiegħek, dan huwa finalment ser kwistjoni l-aktar. 2610 02:08:37,330 --> 02:08:40,925 Allura ġimgħa d-dieħla, aħna se tieħu dawn ideat li aħna ewwel raw fil Scratch 2611 02:08:40,925 --> 02:08:42,800 u issa tradotti lil C. U aħna ser tibda 2612 02:08:42,800 --> 02:08:45,740 li tintroduċi l-ewwel tal- dominji fid-dinja reali kors ta. 2613 02:08:45,740 --> 02:08:50,140 >> Aħna ser tiffoka fuq id-dinja ta 'sigurtà, u b'mod aktar speċifiku kriptografija, 2614 02:08:50,140 --> 02:08:51,980 l-arti tal scrambling informazzjoni. 2615 02:08:51,980 --> 02:08:54,000 U fost l-ewwel problemi inti stess 2616 02:08:54,000 --> 02:08:56,840 se tingħata biex jiktbu lil hinn playing ma 'wħud mill-sintassi 2617 02:08:56,840 --> 02:08:59,880 u jsolvu xi loġika problemi, finalment qabel twil, 2618 02:08:59,880 --> 02:09:03,960 huwa li attwalment ġirja, jew jikkripta, u finalment decrypt informazzjoni. 2619 02:09:03,960 --> 02:09:06,470 U dak kollu li ghamilt illum, se pjuttost baxx 2620 02:09:06,470 --> 02:09:09,190 livell, huwa biss se jippermetti nieħdu waħda, u wieħed, 2621 02:09:09,190 --> 02:09:13,550 u pass wieħed aktar il fuq lejn miktub l-kodiċi l-aktar interessanti s'issa. 2622 02:09:13,550 --> 02:09:15,050 >> Allura aktar fuq dik il-ġimgħa d-dieħla. 2623 02:09:15,050 --> 02:09:17,834 2624 02:09:17,834 --> 02:09:18,762 >> [Daqq video] 2625 02:09:18,762 --> 02:09:19,690 2626 02:09:19,690 --> 02:09:22,006 >> Liema jista inti tgħidli dwar l-aħħar darba li tkun rat lilu? 2627 02:09:22,006 --> 02:09:26,041 2628 02:09:26,041 --> 02:09:27,040 Liema jista I say, tassew? 2629 02:09:27,040 --> 02:09:30,500 2630 02:09:30,500 --> 02:09:35,340 I mean, kien bħal kull prodott ieħor rehearsal qabel il-produzzjoni, 2631 02:09:35,340 --> 02:09:40,510 ħlief kien hemm xi ħaġa li qal fl-aħħar nett li mwaħħla miegħi. 2632 02:09:40,510 --> 02:09:44,810 2633 02:09:44,810 --> 02:09:46,640 >> -Dan Kien CS50. 2634 02:09:46,640 --> 02:09:49,440 2635 02:09:49,440 --> 02:09:52,190 >> -Li L kulħadd qatgħa, xogħol tajba fuq rehearsal. 2636 02:09:52,190 --> 02:09:53,070 >> ikla -Li s? 2637 02:09:53,070 --> 02:09:54,986 >> -Yeah, Int u jien tista ' grab sandwich fi ftit. 2638 02:09:54,986 --> 02:09:58,380 Let me biss jinfurmaw mal David verament malajr. 2639 02:09:58,380 --> 02:09:59,160 David? 2640 02:09:59,160 --> 02:10:01,260 David? 2641 02:10:01,260 --> 02:10:03,110 >> [END Daqq]