1 00:00:00,000 --> 00:00:10,940 2 00:00:10,940 --> 00:00:13,060 >> DAVID J Malan: All dritt, għalhekk dan huwa CS50. 3 00:00:13,060 --> 00:00:15,040 U dan huwa manifestament il-ġimgħa. 4 00:00:15,040 --> 00:00:16,850 U dan huwa l-aħħar ta 'ġimgħa. 5 00:00:16,850 --> 00:00:21,020 Allura inti tista 'tfakkar li aħna jitħalla' off, aħħar darba, ma 'cliffhanger ta' tip. 6 00:00:21,020 --> 00:00:25,020 Li biha aħna jesponu dan jinsabu, li l-ebda jimpurtax dak li inti kont qed mgħallem tikber 7 00:00:25,020 --> 00:00:31,610 up, 1 maqsum f'10 mhuwiex, fil fatt, 0.1 jew 0.100 jew 0.10000. 8 00:00:31,610 --> 00:00:35,270 Fil-fatt, jekk aħna jiġbor dan programm, kif għamilna bieraħ, bil, 9 00:00:35,270 --> 00:00:39,770 jagħmlu impreċiżjoni, u mbagħad do dot, mmejla, impreċiżjoni, 10 00:00:39,770 --> 00:00:43,600 aħna tgħallimna li dan huwa dak li 1 maqsum f'10 fatt hu. 11 00:00:43,600 --> 00:00:46,140 Allura li mhux verament pjuttost il-każ. 12 00:00:46,140 --> 00:00:49,014 Iżda dan ma ħjiel f'xi limitazzjoni fundamentali ta 'kompjuters. 13 00:00:49,014 --> 00:00:50,930 U fil-fatt, fost l- affarijiet aħna qed tmur biex tagħmel 14 00:00:50,930 --> 00:00:55,130 llum hija tagħti ħarsa lejn għaliex dan għandu ġara, x'implikazzjonijiet dan għandu, 15 00:00:55,130 --> 00:00:58,430 kif umanità naqset li jaħtfu din f'xi ħafna 16 00:00:58,430 --> 00:01:00,410 situations-- serju ir-riżultat tal-li 17 00:01:00,410 --> 00:01:03,141 kienet pjuttost traġika u expensive-- u wkoll 18 00:01:03,141 --> 00:01:04,849 tagħti ħarsa lejn kif aħna jistgħu attwalment tiddefendi 19 00:01:04,849 --> 00:01:06,530 kontra dawn it-tipi ta 'limitazzjonijiet. 20 00:01:06,530 --> 00:01:10,940 Allura intuwittivament, forsi, għaliex huwa 1 maqsum f'10, 21 00:01:10,940 --> 00:01:15,480 skond il-kompjuter tiegħi hawn, mhux biss 1/10, 0.10? 22 00:01:15,480 --> 00:01:15,980 Yeah. 23 00:01:15,980 --> 00:01:16,530 What do you think? 24 00:01:16,530 --> 00:01:17,860 >> Udjenza membru: Il radix hija differenti? 25 00:01:17,860 --> 00:01:18,550 >> DAVID J Malan: Il x'inhu? 26 00:01:18,550 --> 00:01:19,730 Oh, il radix huwa differenti? 27 00:01:19,730 --> 00:01:20,720 Allura ma pjuttost. 28 00:01:20,720 --> 00:01:23,200 Huwa attwalment aktar fundamentali għall-hardware. 29 00:01:23,200 --> 00:01:23,980 Ħsibijiet oħra? 30 00:01:23,980 --> 00:01:24,584 Yeah. 31 00:01:24,584 --> 00:01:26,750 Udjenza membru: Huma jirrappreżentaw numri differenti? 32 00:01:26,750 --> 00:01:27,880 DAVID J Malan: Allura they-- Dritt. 33 00:01:27,880 --> 00:01:29,338 Huma jirrappreżentaw numri differenti. 34 00:01:29,338 --> 00:01:30,700 Impreċiż, apparentement. 35 00:01:30,700 --> 00:01:33,190 Allura li is-- Well, differenti minn dak? 36 00:01:33,190 --> 00:01:34,490 Jew minn min? 37 00:01:34,490 --> 00:01:35,050 Minna? 38 00:01:35,050 --> 00:01:35,966 Udjenza membru: Yeah. 39 00:01:35,966 --> 00:01:38,930 Ma jużawx l-deċimali sistema biex [inaudible]. 40 00:01:38,930 --> 00:01:39,680 DAVID J Malan: OK. 41 00:01:39,680 --> 00:01:41,560 Allura f'ċertu sens, dawn ma jużaw is-sistema deċimali. 42 00:01:41,560 --> 00:01:43,720 Taht il-barnuża, kollox huwa, tabilħaqq, binarja, 43 00:01:43,720 --> 00:01:45,510 u li kienet tirrigwarda, fil-fatt. 44 00:01:45,510 --> 00:01:48,135 Iżda huwa saħansitra aktar sempliċi spjegazzjoni minn dak. 45 00:01:48,135 --> 00:01:48,635 Yeah. 46 00:01:48,635 --> 00:01:49,970 >> Udjenza membru: Huma biss tant bits. 47 00:01:49,970 --> 00:01:52,370 Huma jistgħu biss jaħżen sa ċertu punt, bħal ma l-deċimali. 48 00:01:52,370 --> 00:01:52,780 >> DAVID J Malan: Yeah. 49 00:01:52,780 --> 00:01:54,420 Dan huwa dak li verament jkollna fiha. 50 00:01:54,420 --> 00:01:57,180 Jirriżulta li l-kompjuters tipikament, dejjem se biss 51 00:01:57,180 --> 00:01:59,690 jużaw ammont finit ta 'informazzjoni li jirrappreżentaw xi ħaġa. 52 00:01:59,690 --> 00:01:59,870 Dritt? 53 00:01:59,870 --> 00:02:02,110 Wara kollox, aħna biss ikollhom fissa ammont ta 'spazju hard disk. 54 00:02:02,110 --> 00:02:04,210 Aħna biss ammont fiss RAM, jew memorja tal-kompjuter. 55 00:02:04,210 --> 00:02:06,251 U jekk inti biss għandek ammont fiss ta 'xi ħaġa, 56 00:02:06,251 --> 00:02:09,611 żgur inti ma tistax attwalment joqgħod up għall-infinit jew kwalunkwe numru tixtieq. 57 00:02:09,611 --> 00:02:11,610 You, tip ta ', għandek toqgħod tagħżel liema firxa 58 00:02:11,610 --> 00:02:13,220 ta 'valuri int ser tappoġġja. 59 00:02:13,220 --> 00:02:18,100 >> U għalhekk per eżempju, ġimgħa jew tnejn ilu, meta aħna tkellem dwar ASCII, 60 00:02:18,100 --> 00:02:21,610 u tkellimna madwar 8 bits, jew byte, biex ngħidu hekk, 61 00:02:21,610 --> 00:02:26,360 l-akbar numru nistgħu jirrappreżentaw bi 8 bits kien dak? 62 00:02:26,360 --> 00:02:28,350 255. 63 00:02:28,350 --> 00:02:31,850 U nistgħu jirrappreżentaw 256-valuri totali iżda mhux jekk nonfqu wieħed minnhom 64 00:02:31,850 --> 00:02:34,190 fuq 0-- Ukoll, imma jekk irridu jonfqu wieħed minnhom fuq 0, 65 00:02:34,190 --> 00:02:36,830 allura l-akbar numru huwa, ovvjament, 255. 66 00:02:36,830 --> 00:02:39,410 >> Għalhekk jirriżulta li, li dan huwa il-każ ukoll, f'dan il-kuntest. 67 00:02:39,410 --> 00:02:42,350 Bdejna nitkellmu, l-aħħar darba, dwar b'punt numri, li 68 00:02:42,350 --> 00:02:44,640 huma differenti minn interi, fil li dawn ikollhom punt deċimali 69 00:02:44,640 --> 00:02:47,056 u, wieħed jittama, xi numri wara li, iżda huma wisq. 70 00:02:47,056 --> 00:02:51,730 A kompjuter huwa biss tipikament se li uża 32 bits, forsi 64 bits 71 00:02:51,730 --> 00:02:53,497 li jirrappreżenta valur b'punt li jvarja. 72 00:02:53,497 --> 00:02:56,080 Għalhekk anki jekk konna kibret matematika tagħlim u jafu 73 00:02:56,080 --> 00:02:58,750 li inti tista 'assolutament ma numru infinit ta 'numri 74 00:02:58,750 --> 00:03:01,650 wara l-punt deċimali, mhux jekk għandek memorja finite. 75 00:03:01,650 --> 00:03:03,930 You, tip ta ', jkollu jarrotonda, jew toqgħod tagħżel liema 76 00:03:03,930 --> 00:03:05,346 numri int ser jirrappreżentaw. 77 00:03:05,346 --> 00:03:08,710 U għalhekk inti tista 'taħseb, f'ċertu sens, dan huwa l-kompjuter eqreb 78 00:03:08,710 --> 00:03:14,050 approssimazzjoni tal-valur 1/10 li hija tista 'tikseb, bi ftit 32 jew hekk bits. 79 00:03:14,050 --> 00:03:15,300 U m'humiex biss 1/10. 80 00:03:15,300 --> 00:03:19,820 >> Per eżempju, jekk nibdel dan 03/01, li aħna naħsbu li hija saħansitra aktar sempliċi. 81 00:03:19,820 --> 00:03:21,300 Allura 1 maqsum bi 3. 82 00:03:21,300 --> 00:03:22,355 Let me tiffranka l-fajl. 83 00:03:22,355 --> 00:03:24,680 Let me imorru quddiem u recompile dan. 84 00:03:24,680 --> 00:03:25,820 U let me terġa 'run. 85 00:03:25,820 --> 00:03:30,000 Hawnhekk ukoll, apparentement, 03/01 mhuwiex 0.3 u mbagħad numru infinit ta '3 ta 86 00:03:30,000 --> 00:03:30,770 wara. 87 00:03:30,770 --> 00:03:32,540 Inti għandek dan nuqqas ta 'preċiżjoni fl-aħħar. 88 00:03:32,540 --> 00:03:35,544 Allura aħna bnedmin huma korretti, u liema inti tgħallimt jiġifieri, fil-fatt, korretta, 89 00:03:35,544 --> 00:03:37,460 imma aħna qed bumping up kontra xi limitazzjonijiet. 90 00:03:37,460 --> 00:03:39,420 >> U dak li ħsibt aħna'd tagħmel illum, huwa tibda 91 00:03:39,420 --> 00:03:42,190 billi tħares lejn, franchement, il konsegwenzi traġiċi tat dan 92 00:03:42,190 --> 00:03:45,490 kultant, meta umanità ma pjuttost jimplimentaw 93 00:03:45,490 --> 00:03:48,460 għal din ir-realtà u dawn il-limitazzjonijiet. 94 00:03:48,460 --> 00:03:52,360 U aħna ser tara serje ta 'vignettes mill-Kanal Istorja li jieħu 95 00:03:52,360 --> 00:03:53,950 ħarsa lejn kif l-affarijiet marru ħażin. 96 00:03:53,950 --> 00:03:56,340 Huwa madwar 8 minuti fit-tul, u aħna ser terga 'lura wara din 97 00:03:56,340 --> 00:03:59,439 u tagħti ħarsa lejn eżattament x'iktar tista 'tmur ħażin. 98 00:03:59,439 --> 00:04:00,605 Jekk nistgħu dim l lights-- 99 00:04:00,605 --> 00:04:02,350 >> [Daqq video] 100 00:04:02,350 --> 00:04:06,310 >> -Computers, Aħna ve kollha waslu li jaċċettaw il-problemi spiss frustranti li 101 00:04:06,310 --> 00:04:07,750 jmorru magħhom. 102 00:04:07,750 --> 00:04:11,370 Bugs, viruses, u software glitches huma l-prezzijiet żgħar 103 00:04:11,370 --> 00:04:13,230 li tħallas għall-konvenjenza. 104 00:04:13,230 --> 00:04:17,519 Iżda ta 'teknoloġija għolja fil u ta' veloċità għolja applikazzjonijiet programm spazjali militari u, 105 00:04:17,519 --> 00:04:22,130 l-iżgħar problema tista jiġi eżaltat fil diżastru. 106 00:04:22,130 --> 00:04:27,750 4 Ġunju, 1996, xjentisti ippreparata li tniedi mingħajr ekwipaġġ Ariane 5 rokit. 107 00:04:27,750 --> 00:04:29,890 Kien jġorru xjentifika satelliti mfassla 108 00:04:29,890 --> 00:04:33,030 biex tistabbilixxi preċiżament kif l- Jinteraġixxi Dinja kamp manjetiku 109 00:04:33,030 --> 00:04:35,600 mal-irjieħ solari. 110 00:04:35,600 --> 00:04:37,930 Il rokit kienet mibnija għall l-Aġenzija Spazjali Ewropea 111 00:04:37,930 --> 00:04:41,620 u tintrefa 'minn faċilità tagħha fuq il-kosta tal-Gujana Franċiża. 112 00:04:41,620 --> 00:04:44,924 >> -u Madwar 30 sekonda fi it-titjira, l-ewwel 113 00:04:44,924 --> 00:04:46,340 xi ħaġa ndunat kienet tmur ħażina. 114 00:04:46,340 --> 00:04:49,280 Li l-żennuni kienu swiveling b'mod li verament m'għandhomx. 115 00:04:49,280 --> 00:04:53,042 Madwar 40 sekonda fil-titjira, b'mod ċar il-vettura kien fl-inkwiet, 116 00:04:53,042 --> 00:04:55,250 u li meta huma jkunu għamlu id-deċiżjoni li tiddistruġġih. 117 00:04:55,250 --> 00:04:58,970 A Uffiċjal tas-Sigurtà Medda ma imsaren tremendi ippressat il-buttuna, 118 00:04:58,970 --> 00:05:03,940 nefaħ l-rokit qabel ma seta ' issir periklu għas-sigurtà pubblika. 119 00:05:03,940 --> 00:05:06,600 >> -Dan Kien il xebba vjaġġ tal-5 Ariane, 120 00:05:06,600 --> 00:05:09,270 u l-qerda tagħha ħa post minħabba difett 121 00:05:09,270 --> 00:05:10,992 inkorporati fis-software tal-rokit li. 122 00:05:10,992 --> 00:05:12,700 -Il-Problema fuq il- Ariane kienet li hemm 123 00:05:12,700 --> 00:05:15,370 kien numru dak meħtieġ 64 bits li jesprimi, 124 00:05:15,370 --> 00:05:18,150 u ried li jikkonvertu lil numru 16 bit. 125 00:05:18,150 --> 00:05:21,160 Assumew li l-għadd qatt kienet se tkun kbira ħafna, 126 00:05:21,160 --> 00:05:25,020 li ħafna minn dawk ċifri fil in-numru 64 bit kienu 0 tal. 127 00:05:25,020 --> 00:05:26,310 Huma kienu żbaljati. 128 00:05:26,310 --> 00:05:28,680 >> -Il-Inkapaċità ta 'waħda programm tas-software li jaċċettaw 129 00:05:28,680 --> 00:05:32,820 it-tip ta 'numru iġġenerat mill ieħor kien fil-għerq tan-nuqqas. 130 00:05:32,820 --> 00:05:37,190 Żvilupp tas-softwer kienet saret parti jiswew ħafna ta 'teknoloġija ġdida. 131 00:05:37,190 --> 00:05:40,760 L-rokit Ariane 4 kien ferm suċċess, tant tas-software 132 00:05:40,760 --> 00:05:43,990 maħluqa għall kien ukoll użati fuq il Ariane 5. 133 00:05:43,990 --> 00:05:49,750 >> -Il-Problema bażika kienet li l-Ariane 5 kien aktar mgħaġġel, mgħaġġla aktar malajr. 134 00:05:49,750 --> 00:05:53,000 U s-software ma kinitx ammontaw għal dan. 135 00:05:53,000 --> 00:05:56,330 >> -Il-Qerda tal-rokit kien hemm diżastru finanzjarju kbir, 136 00:05:56,330 --> 00:05:59,670 kollha minħabba żball software minuta. 137 00:05:59,670 --> 00:06:01,990 Iżda dan ma kienx l-ewwel problemi ta 'konverżjoni data fil-ħin 138 00:06:01,990 --> 00:06:05,310 kien ibati teknoloġija rokit moderna. 139 00:06:05,310 --> 00:06:08,300 >> -In 1991, bil-bidu tal-Ewwel Gwerra tal-Golf, 140 00:06:08,300 --> 00:06:10,650 l-missili Patriot esperjenzaw tip simili 141 00:06:10,650 --> 00:06:12,650 ta 'problema konverżjoni numru. 142 00:06:12,650 --> 00:06:15,620 Bħala riżultat, 28 nies, 28 suldati Amerikani 143 00:06:15,620 --> 00:06:18,440 nqatlu u madwar 100 oħrajn feruti, 144 00:06:18,440 --> 00:06:21,900 meta l-Patriot, li suppost kellha għall-protezzjoni kontra scuds deħlin, 145 00:06:21,900 --> 00:06:24,630 naqas milli nar missili. 146 00:06:24,630 --> 00:06:29,440 >> -Meta Iraq invadiet Kuwajt u l-Amerika imnedija deżert Storm fil-bidu 1991, 147 00:06:29,440 --> 00:06:33,800 Batteriji missili Patriot ġew skjerati biex jipproteġu Għarabja Sawdita u l-Iżrael 148 00:06:33,800 --> 00:06:37,000 minn attakki bil-missili Scud Iraqini. 149 00:06:37,000 --> 00:06:40,610 Il Patriot hija Istati Uniti, firxa medja wiċċ-to-air sistema 150 00:06:40,610 --> 00:06:43,010 manifatturat mill-kumpanija Raytheon. 151 00:06:43,010 --> 00:06:49,080 >> -Il-Daqs tal-interċetturi Patriot, innifsu, huwa dwar, madwar 20 pied fit-tul. 152 00:06:49,080 --> 00:06:51,250 U li jiżen madwar 2000 liri. 153 00:06:51,250 --> 00:06:55,195 U twettaq warhead ta about-- Naħseb li huwa bejn wieħed u ieħor 150 £. 154 00:06:55,195 --> 00:06:59,500 U l-warhead, hija stess, huwa splussiv ħafna, 155 00:06:59,500 --> 00:07:02,570 li għandha frammenti madwaru. 156 00:07:02,570 --> 00:07:06,890 Il-kaxxa tal-warhead huwa mfassla biex jaġixxu bħall buckshot. 157 00:07:06,890 --> 00:07:09,130 >> -Il Missili huma mwettqa, 4 għal kull kontenitur, 158 00:07:09,130 --> 00:07:12,080 u huma trasportati minn semi-karru. 159 00:07:12,080 --> 00:07:19,100 >> -Il Anti missili Patriot tmur lura għall-inqas 20 snin issa. 160 00:07:19,100 --> 00:07:22,320 Din kienet oriġinarjament iddisinjata bħala missili difiża arja 161 00:07:22,320 --> 00:07:24,180 li rimja fl ajruplani ghadu. 162 00:07:24,180 --> 00:07:27,860 Fil-Gwerra tal-Golf ewwel, meta dik gwerra daħlet tul, 163 00:07:27,860 --> 00:07:32,745 l-Armata riedu jużawh għal rimja fl scuds, mhux ajruplani. 164 00:07:32,745 --> 00:07:36,150 Il-Forza Iraqi ma kienx hekk ħafna ta 'problema, 165 00:07:36,150 --> 00:07:39,110 iżda l-Armata kien inkwetat dwar scuds. 166 00:07:39,110 --> 00:07:42,340 U għalhekk huma ppruvaw jaġġornaw il-Patriot. 167 00:07:42,340 --> 00:07:44,760 >> -Intercepting Ghadu missili jivvjaġġaw mach ħamsa 168 00:07:44,760 --> 00:07:47,250 kienet se tkun sfida biżżejjed. 169 00:07:47,250 --> 00:07:50,000 Iżda meta l-Patriot kien ġrew fis-servizz, 170 00:07:50,000 --> 00:07:54,030 l-Armata ma kienx konxju ta ' Modifika Iraqi li għamel 171 00:07:54,030 --> 00:07:56,840 scuds tagħhom kważi impossibbli li hit. 172 00:07:56,840 --> 00:08:01,020 >> Liema ġara, hija l-scuds li kienu ġejjin fi, kienu instabbli, 173 00:08:01,020 --> 00:08:02,310 kienu wobbling. 174 00:08:02,310 --> 00:08:05,140 Ir-raġuni għal dan, kien l-Iraqini, sabiex 175 00:08:05,140 --> 00:08:09,450 tikseb 600 kilometru mill missili medda 300 kilometru, 176 00:08:09,450 --> 00:08:12,930 ħa piż mill-warhead ta 'quddiem u għamel l-warhead eħfef. 177 00:08:12,930 --> 00:08:17,710 Allura issa, l-Patriot tipprova toħroġ fil-SCUD, u ħafna mill-ħin, 178 00:08:17,710 --> 00:08:21,700 il-maġġoranza assoluta tal- ħin, ikun biss jtiru mill-SCUD. 179 00:08:21,700 --> 00:08:25,700 >> -Ladarba L-operaturi tas-sistema Patriot realizzati l-Patriot spiċċa barra, 180 00:08:25,700 --> 00:08:29,790 dawn jisplodu warhead tal-Patriot, il biex jiġi evitat diżgrazzji possibbli jekk hija 181 00:08:29,790 --> 00:08:32,380 kien permess li jaqa 'l-art. 182 00:08:32,380 --> 00:08:36,340 >> -Li Kien dak li ħafna nies raw, dawk fireballs kbar fis-sema, 183 00:08:36,340 --> 00:08:41,289 u mifhuma ħażin bħala interċettazzjonijiet ta testati Scud. 184 00:08:41,289 --> 00:08:43,590 Għalkemm fil-lejl smewwiet, Patriots deher 185 00:08:43,590 --> 00:08:47,020 li jkun b'suċċess jeqirdu scuds, fil Dhahran, 186 00:08:47,020 --> 00:08:49,730 jista 'jkun hemm l-ebda żball dwar ir-rendiment tagħha. 187 00:08:49,730 --> 00:08:53,990 Hemm, sistema radar tal-Patriot tal mitlufa binarji ta 'Scud li jmiss, 188 00:08:53,990 --> 00:08:56,650 u qatt tnieda, minħabba difett software. 189 00:08:56,650 --> 00:08:59,650 190 00:08:59,650 --> 00:09:04,100 Kien l-Iżraeljani li l-ewwel skoperti li l-aktar is-sistema kien fuq, 191 00:09:04,100 --> 00:09:07,510 l-akbar il diskrepanza ħin saret, minħabba arloġġ integrati 192 00:09:07,510 --> 00:09:09,490 fil-kompjuter tas-sistema. 193 00:09:09,490 --> 00:09:12,670 >> -About 2 ġimgħat qabel l-traġedja fil Dhahran, 194 00:09:12,670 --> 00:09:15,010 l-Iżraeljani rrapportati lill Dipartiment tad-Difiża, 195 00:09:15,010 --> 00:09:17,940 li s-sistema ġiet jitilfu l-ħin, li wara madwar 8 sigħat ta 'ħidma, 196 00:09:17,940 --> 00:09:21,410 ndunat li s-sistema kienet isiru notevolment inqas preċiż. 197 00:09:21,410 --> 00:09:25,290 Id-Dipartiment tad-Difiża wieġbet billi javżak kollha tal-batteriji Patriot 198 00:09:25,290 --> 00:09:28,070 li ma jħallux is-sistemi fuq għal żmien twil. 199 00:09:28,070 --> 00:09:29,960 Huma qatt ma qal dak żmien twil kien. 200 00:09:29,960 --> 00:09:30,460 8 sigħat? 201 00:09:30,460 --> 00:09:30,960 10 siegħa? 202 00:09:30,960 --> 00:09:31,870 1000 siegħa? 203 00:09:31,870 --> 00:09:33,734 Ħadd ma kien jaf. 204 00:09:33,734 --> 00:09:35,650 -Il Batterija Patriot stazzjonati fuq il-kwartieri 205 00:09:35,650 --> 00:09:40,410 fil Dhahran, u interna mudelli tiegħu arloġġ, kien fuq matul 100 siegħa 206 00:09:40,410 --> 00:09:43,041 fil-lejl tal 25 Frar. 207 00:09:43,041 --> 00:09:47,416 >> -Hija Tracked ħin bi preċiżjoni ta 'madwar 1/10 ta' sekonda. 208 00:09:47,416 --> 00:09:49,290 Issa 1/10 tat-tieni huwa numru interessanti 209 00:09:49,290 --> 00:09:52,700 għaliex ma jistax ikun espressi binarju, eżattament. 210 00:09:52,700 --> 00:09:54,820 Li jfisser, ma jistax jiġu espressi, eżattament, 211 00:09:54,820 --> 00:09:57,420 fi kwalunkwe kompjuter diġitali moderna. 212 00:09:57,420 --> 00:10:01,460 Huwa diffiċli li wieħed jemmen, iżda jużaw dan bħala eżempju. 213 00:10:01,460 --> 00:10:03,520 Ejja tieħu n-numru, 03/01. 214 00:10:03,520 --> 00:10:07,110 03/01 ma tistax tiġi espressa fl deċimali, eżattament. 215 00:10:07,110 --> 00:10:11,490 03/01 huwa 0.333 għaddej għal infinità. 216 00:10:11,490 --> 00:10:15,486 M'hemm l-ebda mod biex tagħmel dan, ma eżattezza assoluta, fl deċimali. 217 00:10:15,486 --> 00:10:18,360 Dan huwa eżattament l-istess tip ta ' problema li ġara fil-Patriot. 218 00:10:18,360 --> 00:10:22,510 L-itwal-sistema dam, il- agħar l-iżball ħin sar. 219 00:10:22,510 --> 00:10:28,420 >> -After 100 siegħa ta 'tħaddim, l-iżball fi żmien kienet biss madwar 1/3 ta 'sekonda. 220 00:10:28,420 --> 00:10:31,830 Iżda f'termini ta jimmira għal missili jivvjaġġaw mach 5, 221 00:10:31,830 --> 00:10:35,890 dan wassal għal traċċar żball ta 'aktar minn 600 metru. 222 00:10:35,890 --> 00:10:38,970 Ikun żball fatali għall-suldati fil Dhahran. 223 00:10:38,970 --> 00:10:45,035 >> Liema ġara, hija tnedija Scud kienet osservata minn satelliti ta 'twissija bikrija, 224 00:10:45,035 --> 00:10:48,930 u huma ġdid li l-Scud kienet ġejjin fil-direzzjoni ġenerali tagħhom. 225 00:10:48,930 --> 00:10:51,170 Dawn ma kinux jafu fejn kien ġejjin. 226 00:10:51,170 --> 00:10:53,990 >> -Hija Issa kien sal-radar komponent tas-sistema Patriot, 227 00:10:53,990 --> 00:10:58,520 difiża Dhahran, li jinstabu u jżommu kont tal-missili ghadu dieħla. 228 00:10:58,520 --> 00:10:59,690 >> -Il Radar kien intelliġenti ħafna. 229 00:10:59,690 --> 00:11:01,710 Hija fil-fatt track il-pożizzjoni tal-Scud 230 00:11:01,710 --> 00:11:04,040 u mbagħad previżjoni fejn probabbilment ikun, 231 00:11:04,040 --> 00:11:06,140 il-ħin li jmiss, il- radar bagħtet polz out. 232 00:11:06,140 --> 00:11:07,660 Li kienet tissejjaħ l-gate firxa. 233 00:11:07,660 --> 00:11:11,870 >> -Then, Ladarba l-Patriot jiddeċiedi biżżejjed żmien għandu 234 00:11:11,870 --> 00:11:16,280 għadda li jmorru lura u jivverifika l-li jmiss post għal dan l-oġġett misjuba, 235 00:11:16,280 --> 00:11:17,280 din tmur lura. 236 00:11:17,280 --> 00:11:21,690 Allura meta marru lura lill-ħażin post, imbagħad tara l-ebda oġġett 237 00:11:21,690 --> 00:11:25,230 u tiddeċiedi li ma kien hemm l-ebda oġġett, kien kxif falza, 238 00:11:25,230 --> 00:11:26,650 u qtar il-binarju. 239 00:11:26,650 --> 00:11:29,690 Il Scud dieħla sparixxa mill-iskrin tar-radar, 240 00:11:29,690 --> 00:11:32,670 u sekondi wara, slammed fil-kwartieri. 241 00:11:32,670 --> 00:11:38,100 Il Scud maqtula 28 u kienet l-aħħar wieħed sparati matul l-Ewwel Gwerra tal-Golf. 242 00:11:38,100 --> 00:11:43,460 Traġikament, is-software aġġornat waslu fil Dhahran l-għada. 243 00:11:43,460 --> 00:11:46,150 L-difett softwer kellhom Kien fiss, għeluq 244 00:11:46,150 --> 00:11:48,940 kapitolu fil-mnikkta istorja tal-missili Patriot. 245 00:11:48,940 --> 00:11:50,220 >> [END Daqq] 246 00:11:50,220 --> 00:11:54,340 >> DAVID J Malan: Allura aħna ser tagħti ħarsa lejn xi limitazzjonijiet simili biss daqsxejn. 247 00:11:54,340 --> 00:11:58,470 Iżda l-ewwel, ejja tranżizzjoni għal ftit FYI l. 248 00:11:58,470 --> 00:12:01,575 Allura one-- dan il-weekend, hemm se jkun sezzjonijiet super, 249 00:12:01,575 --> 00:12:04,200 li huma maħsuba biex jieħdu post sezzjonijiet skedat regolarment, li 250 00:12:04,200 --> 00:12:05,460 se jibdew fil-ġimgħa għalhekk. 251 00:12:05,460 --> 00:12:08,204 Agħti ħarsa lejn websajt tal-CS50 tal għal aktar informazzjoni fuq dawk. 252 00:12:08,204 --> 00:12:11,120 Huma se jkunu wkoll iffilmjati u streaming ħajjin għal dawk li ma jistgħux jattendu. 253 00:12:11,120 --> 00:12:12,980 Problema stabbilixxa l-1 huwa fuq il- website kors li diġà, 254 00:12:12,980 --> 00:12:15,105 u aħna ser tagħti ħarsa lejn li fi ftit ftit. 255 00:12:15,105 --> 00:12:18,350 U ħinijiet tal-uffiċċju wisq, se tieħu qiegħed dan it-tnejn permezz Ħamis. 256 00:12:18,350 --> 00:12:20,960 >> Allura dan kien l-aktar canonical programm ħarisna lejn l-aħħar darba. 257 00:12:20,960 --> 00:12:23,590 Huwa bħall-sempliċi programm tista 'tikteb fil C, 258 00:12:23,590 --> 00:12:25,250 u anki li daqsxejn ta 'talba bold. 259 00:12:25,250 --> 00:12:25,750 Dritt? 260 00:12:25,750 --> 00:12:28,070 Għaliex hemm ħafna ta ' seeming kumplessità għal dan. 261 00:12:28,070 --> 00:12:30,445 Mela ejja tagħti ħarsa lejn dak li xi wħud minn dawn l-elementi 262 00:12:30,445 --> 00:12:33,080 kienu u mbagħad jippruvaw jipprovdu mudell mentali għal kemm 263 00:12:33,080 --> 00:12:35,710 dawn sempliċi ta 'programmi xogħol, u mbagħad aħna ser tibda 264 00:12:35,710 --> 00:12:38,050 tħares lejn l-affarijiet dejjem aktar kumplessi. 265 00:12:38,050 --> 00:12:41,280 Allura din il-linja hawnhekk, enfasizzat issa, bl-isfar, dak li ma ngħidu, l-aħħar darba, 266 00:12:41,280 --> 00:12:43,200 li dan ma għalina? 267 00:12:43,200 --> 00:12:45,220 X'inhu l-iskop li sservi? 268 00:12:45,220 --> 00:12:46,984 Xi ħadd mill farther lura? 269 00:12:46,984 --> 00:12:47,483 Yeah. 270 00:12:47,483 --> 00:12:48,649 >> Udjenza membru: [inaudible] 271 00:12:48,649 --> 00:12:50,871 272 00:12:50,871 --> 00:12:51,704 DAVID J Malan: Tajba. 273 00:12:51,704 --> 00:12:53,537 Allura tagħtik aċċess li jikkmanda, jew ejja 274 00:12:53,537 --> 00:12:56,750 jsejħulhom funzjonijiet, li xi ħadd inkella kiteb, li huma ddikjarati, 275 00:12:56,750 --> 00:12:58,350 biex ngħidu hekk, f'xi fajl ieħor. 276 00:12:58,350 --> 00:13:02,370 Allura aħna ser tara eżattament dak fajl .h huwa versus fajl .c, eventwalment. 277 00:13:02,370 --> 00:13:04,710 Iżda għal issa, biss jafu li printf, per eżempju, 278 00:13:04,710 --> 00:13:08,370 hija fost l-funzjonijiet li ġew iddikjarat xi fajl ieħor, x'imkien 279 00:13:08,370 --> 00:13:12,930 inkella fuq hard drive-sħaba li jippermetti li jaċċessaw printf u jużawh 280 00:13:12,930 --> 00:13:15,240 mingħajr ma jkollhom jivvinta dik ir-rota nfusna. 281 00:13:15,240 --> 00:13:16,930 Sadanittant, prinċipali. 282 00:13:16,930 --> 00:13:19,690 Liema kienet l-Analog ta prinċipali, ġimgħa li għaddiet? 283 00:13:19,690 --> 00:13:20,190 Yeah. 284 00:13:20,190 --> 00:13:21,460 >> Udjenza membru: flag Paper huwa għafast. 285 00:13:21,460 --> 00:13:21,740 >> DAVID J Malan: Yeah. 286 00:13:21,740 --> 00:13:23,490 Tal-bidu nett, meta bandiera aħdar għafast. 287 00:13:23,490 --> 00:13:25,560 Huwa bħall-biċċa puzzle li kicks off affarijiet. 288 00:13:25,560 --> 00:13:28,306 U għalhekk b'mod simili, ma l-dinja iddeċieda xi snin ilu li fl C, 289 00:13:28,306 --> 00:13:30,930 u mazz ta 'lingwi oħra, jekk inti tixtieq li jikteb programm, 290 00:13:30,930 --> 00:13:33,410 ewwel funzjoni tiegħek għandu jiġi msejjaħ, prinċipali. 291 00:13:33,410 --> 00:13:34,641 U għandu look like dan. 292 00:13:34,641 --> 00:13:36,640 Iżda aħna ser terga 'lura, ħin ieħor, għal dak li, int, 293 00:13:36,640 --> 00:13:38,690 u, null, ifisser fil-kuntest. 294 00:13:38,690 --> 00:13:42,860 Għal issa, il-braces kaboċċi huma tip ta 'prodotti simili forma biċċa puzzle Scratch ta 295 00:13:42,860 --> 00:13:45,080 li tiġbor xi numru ta 'linji. 296 00:13:45,080 --> 00:13:47,070 U fost fuq il-linji hawn, huwa dan wieħed hawn. 297 00:13:47,070 --> 00:13:51,610 printf hija funzjoni li l-għan fil ħajja huwa li jistampaw string formattjati. 298 00:13:51,610 --> 00:13:55,010 U mill ifformattjat, I jfissirx li inti tista 'plug fil-valuri placeholder, 299 00:13:55,010 --> 00:13:58,360 u inti tista 'tispeċifika deċimali kemm punti, kemm in-numri li jistampaw 300 00:13:58,360 --> 00:14:00,040 wara punt deċimali u simili. 301 00:14:00,040 --> 00:14:05,040 U printf, naturalment, tieħu waħda jew aktar argumenti jew parametri, 302 00:14:05,040 --> 00:14:06,770 magħruf xorta oħra, aktar sempliċi, kif inputs. 303 00:14:06,770 --> 00:14:09,230 >> Allura printf, simili ħafna ta ' funzjonijiet, jieħu inputs. 304 00:14:09,230 --> 00:14:12,730 U dawk l-inputs huma ħaddnu miż-żewġ parentesi hawn. 305 00:14:12,730 --> 00:14:15,180 U ġewwa minn dawn huwa input wieħed. 306 00:14:15,180 --> 00:14:18,600 Huwa string, kif konna imsejħa, li huwa biss sekwenza ta 'karattri, 307 00:14:18,600 --> 00:14:22,310 bħal kelma, jew frażi, jew kollu kemm hu essay anki, fl bejn kwotazzjonijiet doppja. 308 00:14:22,310 --> 00:14:25,712 U dan huwa dak li għaddej biex jinfluwenzaw il- imġieba ta 'printf minħabba, naturalment, 309 00:14:25,712 --> 00:14:27,170 huwa biss funzjoni tal-istampar ġenerika. 310 00:14:27,170 --> 00:14:29,600 Huwa mhux se tkun taf dak li jistampaw, sakemm inti tgħid dan. 311 00:14:29,600 --> 00:14:31,000 U mbagħad, xi dettalji. 312 00:14:31,000 --> 00:14:34,056 What did ngħidu dan stramb sekwenza ta 'simboli hu? 313 00:14:34,056 --> 00:14:34,556 Yeah. 314 00:14:34,556 --> 00:14:35,410 >> Udjenza membru: Linja ġdida. 315 00:14:35,410 --> 00:14:35,990 >> DAVID J Malan: Linja ġdida. 316 00:14:35,990 --> 00:14:39,340 Għalhekk jirriżulta li, inti ma tistax biss hit, jidħlu, meta int bil-miktub il-programm. 317 00:14:39,340 --> 00:14:42,590 Ġeneralment, il-kompilatur hija se tikseb ftit konfuż dwar dak li jfisser. 318 00:14:42,590 --> 00:14:45,340 Pjuttost, inti għandek litteralment jgħidu, tagħti me a line ġdid hawn. 319 00:14:45,340 --> 00:14:49,506 U għalhekk / n huwa dak li aħna ġeneralment sejħa karattru salvataġġ. 320 00:14:49,506 --> 00:14:50,870 Allura n, għal linja ġdida. 321 00:14:50,870 --> 00:14:53,810 U l-kompilatur jaf li meta jara / n, 322 00:14:53,810 --> 00:14:57,420 dan għandu attwalment jinduċi l-kompjuter, finalment, jew printf, f'dan il-każ, 323 00:14:57,420 --> 00:15:00,260 biex jistampa l-ġdida attwali linja, bħall laqtu l-jidħol, 324 00:15:00,260 --> 00:15:01,480 ewlenin fuq it-tastiera tiegħek. 325 00:15:01,480 --> 00:15:05,620 U fl-aħħar, dak li għamilt ngħidu din il-biċċa ta 'sintassi huwa għall? 326 00:15:05,620 --> 00:15:06,591 X'tikkontrolla jirrappreżenta? 327 00:15:06,591 --> 00:15:07,090 Yeah. 328 00:15:07,090 --> 00:15:07,490 >> Udjenza membru: [inaudible] 329 00:15:07,490 --> 00:15:08,660 >> DAVID J Malan: Huwa biss l-aħħar tal-linja. 330 00:15:08,660 --> 00:15:09,909 Hu l-aħħar ta 'l-istqarrija. 331 00:15:09,909 --> 00:15:11,890 U jirrealizzaw li aħna ma jpoġġuhom kullimkien. 332 00:15:11,890 --> 00:15:13,900 Aħna ċertament ma jpoġġuhom fit-truf ta 'kull linja. 333 00:15:13,900 --> 00:15:16,680 Per eżempju, hemm xejn fuq il- ewwel linja, hemm xejn fuq il-linja 334 00:15:16,680 --> 00:15:18,680 ma ', prinċipali, hemm xejn wara l-braces kaboċċi, 335 00:15:18,680 --> 00:15:21,740 imma inti ser tibda biex tara u jiksbu familjari mal fejn huwa msejjaħ għall. 336 00:15:21,740 --> 00:15:26,014 U huwa kważi dejjem wara funzjoni sejħa jew dikjarazzjoni, xi azzjoni 337 00:15:26,014 --> 00:15:27,180 li int fil-fatt tieħu. 338 00:15:27,180 --> 00:15:29,520 >> U jafu issa, speċjalment jekk fost dawk inqas komdi, 339 00:15:29,520 --> 00:15:32,540 dawn huma t-tipi ta 'affarijiet stupid li inti ser jispiċċaw aċċidentalment banging 340 00:15:32,540 --> 00:15:33,873 ras tiegħek kontra l-ħajt fuq. 341 00:15:33,873 --> 00:15:36,107 Għaliex inti ser tkun loġikament kunfidenti f'xi problema 342 00:15:36,107 --> 00:15:38,440 inti ħadthom solvuta għal problema sett, u l-ħaġa kkritikat biss 343 00:15:38,440 --> 00:15:40,187 mhux se tikkompila jew saħansitra run. 344 00:15:40,187 --> 00:15:43,270 U hekk spiss, sa minn kmieni, li għaddej biex jkun għaliex inti qbiżt parentesi, 345 00:15:43,270 --> 00:15:44,455 jew tkun insejt tieħu punto virgola. 346 00:15:44,455 --> 00:15:46,547 U hekk biss tkun konxja ta 'dawn it-tipi ta' affarijiet, 347 00:15:46,547 --> 00:15:49,380 u nipprova biex ma joħorġux frustrati bl minnhom minħabba malajr ħafna ma dan 348 00:15:49,380 --> 00:15:50,640 jsiru hat qodma. 349 00:15:50,640 --> 00:15:53,910 Imma huwa faċli ħafna li tikseb frustrati kmieni, bħala riżultat. 350 00:15:53,910 --> 00:15:57,020 >> Allura issa, ejja tagħti ħarsa lejn kif din il-linja huwa attwalment taħdem 351 00:15:57,020 --> 00:15:59,170 u mbagħad tħares lejn ftit wieħed aktar ikkumplikat. 352 00:15:59,170 --> 00:16:02,017 Allura għandna aktar minn hawn, il- abbilità biex jagħmlu fuq dan l-iskrin. 353 00:16:02,017 --> 00:16:04,100 U ejja nassumu li dan huwa iskrin tal-kompjuter tiegħi, 354 00:16:04,100 --> 00:16:08,589 imma I am miktub fil, Hello programm, u jien ma implimentawx, printf. 355 00:16:08,589 --> 00:16:10,130 Xi ħadd ieħor implimentat, printf. 356 00:16:10,130 --> 00:16:12,420 Li jixtiequ jitolbu li implimentaw, printf? 357 00:16:12,420 --> 00:16:12,920 Jekk nistgħu? 358 00:16:12,920 --> 00:16:13,830 Kull dritt, x'hemm isem tiegħek? 359 00:16:13,830 --> 00:16:14,155 >> STUDENT 1: [? Copal. ?] 360 00:16:14,155 --> 00:16:15,529 >> DAVID J Malan: Copal, jaqgħu fuq up. 361 00:16:15,529 --> 00:16:16,430 Come fuq up. 362 00:16:16,430 --> 00:16:17,070 Kull dritt. 363 00:16:17,070 --> 00:16:22,260 Allura aħna għandna, hawn, xi tikketti l-isem, peress li aħna ser jagħmlu logħba ftit ta 'dan. 364 00:16:22,260 --> 00:16:26,270 U aħna se sejħa inti, printf. 365 00:16:26,270 --> 00:16:30,170 U jekk inti tixtieq li ġejjin hawn, dak li stajt biss imfassal fuq l-iskrin, 366 00:16:30,170 --> 00:16:32,340 huwa pjuttost sempliċi, hemm me, dan. 367 00:16:32,340 --> 00:16:35,550 >> Kull dritt, hekk, Hello jien jisimni, printf, jekk inti tixtieq li tqiegħed dak fuq. 368 00:16:35,550 --> 00:16:35,740 Kull dritt. 369 00:16:35,740 --> 00:16:37,360 U jekk inti tista 'tmur stand mill-iskrin tal-kompjuter 370 00:16:37,360 --> 00:16:39,730 daqslikieku inti huma l-funzjoni li daħal b'din is-sistema tal-kompjuter. 371 00:16:39,730 --> 00:16:42,063 U l-iskop tiegħek fil-ħajja huwa li attwalment jistampaw xi ħaġa. 372 00:16:42,063 --> 00:16:44,560 Iżda ħafna bħall-programm we biss kellhom fuq l-iskrin, hawn, 373 00:16:44,560 --> 00:16:47,060 aħna qed tmur biex ikollhom attwalment jagħtuk xi input. 374 00:16:47,060 --> 00:16:51,810 >> U hekk, jekk id-dħul tiegħi, hawnhekk, huwa apparentement, dak li huwa mgħoddi lill printf, 375 00:16:51,810 --> 00:16:53,730 ejja tip ta 'mock up bħal dan. 376 00:16:53,730 --> 00:16:58,720 Jien ser litteralment jikteb fuq biċċa karta, "hello, dinja," 377 00:16:58,720 --> 00:17:03,020 backslash N. U biex tkun ċara, dak Stajt biss imfassal fuq din il-biċċa ta 'karta, 378 00:17:03,020 --> 00:17:04,020 tidher bħal dan. 379 00:17:04,020 --> 00:17:08,730 Allura meta I run dan il-programm, u dan linja isfar tal-kodiċi gets esegwiti, 380 00:17:08,730 --> 00:17:12,970 huwa bħallikieku I, il-programm hello, am għoti xi kontribut off għal funzjoni 381 00:17:12,970 --> 00:17:13,970 li xi ħadd ieħor kiteb. 382 00:17:13,970 --> 00:17:16,595 >> U jekk inti, b'subgħajk, jista 'attwalment, b'subgħajk, 383 00:17:16,595 --> 00:17:21,520 tibbaża fuq l-iskrin ikun x'ikun huwa ġejt mogħtija, 384 00:17:21,520 --> 00:17:27,465 l-effett, finalment, huwa li tara eżattament dak, fuq l-iskrin. 385 00:17:27,465 --> 00:17:29,140 U każ kantuniera Little hawn. 386 00:17:29,140 --> 00:17:31,540 U tajjeb, aħna ma tara l-, linja ġdida, f'dan il-punt. 387 00:17:31,540 --> 00:17:33,900 Ikun żbaljat għalik tiġbed b'mod espliċitu l-newline. 388 00:17:33,900 --> 00:17:36,810 Imma jekk irridu tinżamm bil-miktub kliem fuq il- screen, dawn jispiċċaw taħt dak. 389 00:17:36,810 --> 00:17:39,560 >> Allura nirringrazzjak ħafna, iżda stick madwar hawn għal wieħed biss mument. 390 00:17:39,560 --> 00:17:42,860 Issa neħtieġu ieħor voluntier, jekk nistgħu, 391 00:17:42,860 --> 00:17:46,830 li għaddej biex bżonn biex jilagħbu l-irwol of-- Huwa biss persuni fil-orkestra 392 00:17:46,830 --> 00:17:47,355 dritt issa. 393 00:17:47,355 --> 00:17:47,980 Kif about-- OK. 394 00:17:47,980 --> 00:17:48,480 Dritt hawn. 395 00:17:48,480 --> 00:17:49,180 Come fuq up. 396 00:17:49,180 --> 00:17:49,955 X'hemm isem tiegħek? 397 00:17:49,955 --> 00:17:50,922 >> STUDENT 2: [? Ivay. ?] 398 00:17:50,922 --> 00:17:51,796 DAVID J Malan: Jiddispjacini? 399 00:17:51,796 --> 00:17:52,990 STUDENT 2: [? Ivay. ?] 400 00:17:52,990 --> 00:17:55,320 DAVID J Malan: Ethan, jaqgħu fuq up. 401 00:17:55,320 --> 00:17:55,820 Nru? 402 00:17:55,820 --> 00:17:58,390 Did I nikseb li żbaljat, anke wara li qal li darbtejn? 403 00:17:58,390 --> 00:17:58,890 Come fuq up. 404 00:17:58,890 --> 00:18:00,030 Huwa diffiċli biex tisma up here. 405 00:18:00,030 --> 00:18:05,240 406 00:18:05,240 --> 00:18:05,740 OK. 407 00:18:05,740 --> 00:18:07,190 U jien sorry, dak l-isem tiegħek? 408 00:18:07,190 --> 00:18:07,680 >> STUDENT 2: [? Ivay. ?] 409 00:18:07,680 --> 00:18:08,790 >> [? DAVID J Malan: Ivay. ?] OK. 410 00:18:08,790 --> 00:18:10,430 Għal issa, jekk inti ma mind, inti GetString. 411 00:18:10,430 --> 00:18:11,013 >> STUDENT 2: OK. 412 00:18:11,013 --> 00:18:11,797 Kessaħ. 413 00:18:11,797 --> 00:18:14,630 DAVID J Malan: Mela jekk inti tixtieq toqgħod hawn għal ftit mument, 414 00:18:14,630 --> 00:18:17,100 ejja tagħti ħarsa lejn ftit aktar programm kumpless, li 415 00:18:17,100 --> 00:18:18,670 issa għandha tliet linji ta 'kodiċi. 416 00:18:18,670 --> 00:18:24,080 Allura aħna għandna, wieħed, agħti l-isem tiegħek billi tuża printf; tnejn, sejħa għall GetString, 417 00:18:24,080 --> 00:18:28,060 segwit minn assenjazzjoni għal varjabbli imsejħa, spag s, jew imsejħa s; 418 00:18:28,060 --> 00:18:31,260 u mbagħad sejħa oħra għal, printf, iżda din id-darba ma 'żewġ inputs. 419 00:18:31,260 --> 00:18:33,646 >> Istat Allura konna diġà sar isem tiegħek, jew minflok, konna 420 00:18:33,646 --> 00:18:34,770 diġà għamlu sejħa printf. 421 00:18:34,770 --> 00:18:38,960 Hekk jien ser jikteb,-Istat ismek. 422 00:18:38,960 --> 00:18:42,089 U iva, dak li jien ser jgħaddu, printf, fi ftit mument, 423 00:18:42,089 --> 00:18:43,005 hija pjuttost sempliċi, dan. 424 00:18:43,005 --> 00:18:47,760 Mela jekk inti tixtieq li tmur quddiem u tiġbed dan fuq l-iskrin, li l-input tiegħek issa. 425 00:18:47,760 --> 00:18:48,260 Kull dritt. 426 00:18:48,260 --> 00:18:51,160 U tinsa string, issa għandna linja tagħna stess ta 'kodiċi hawn. 427 00:18:51,160 --> 00:18:54,470 Allura fi, GetString, għandna bżonn li attwalment sejħa, GetString. 428 00:18:54,470 --> 00:18:57,920 Allura l-iskop tiegħek fil-ħajja huwa biss walk barra fil-orkestra, jekk inti tista ', 429 00:18:57,920 --> 00:18:58,980 u jiksbu l-isem ta 'xi ħadd. 430 00:18:58,980 --> 00:19:00,860 Imma ejja jagħtuk xi ħaġa li poġġih fuq. 431 00:19:00,860 --> 00:19:02,908 Jekk inti tixtieq li, mur quddiem u jiksbu string, 432 00:19:02,908 --> 00:19:05,241 jiksbu l-isem ta 'xi ħadd fuq li biċċa karta, jekk inti tista '. 433 00:19:05,241 --> 00:19:12,940 434 00:19:12,940 --> 00:19:13,530 >> Kull dritt. 435 00:19:13,530 --> 00:19:15,250 U aħna ser tara, fi ftit mument, li ismu aħna qed jkollna. 436 00:19:15,250 --> 00:19:17,630 Sadanittant, dak li jien ser tkun lesta, hija biċċa vojt 437 00:19:17,630 --> 00:19:21,340 tal-karta, li fihom, jien ser li jaħżen x'ikun il-valur huwa 438 00:19:21,340 --> 00:19:25,752 huwa li GetString huwa jirritorna lili, I, bħala varjabbli string imsejjaħ, s. 439 00:19:25,752 --> 00:19:26,252 Kull dritt. 440 00:19:26,252 --> 00:19:27,293 Allura dak li għandek hawn? 441 00:19:27,293 --> 00:19:27,950 Nik. 442 00:19:27,950 --> 00:19:28,450 Kull dritt. 443 00:19:28,450 --> 00:19:30,910 Allura aħna għandna l-isem Nik hawn. 444 00:19:30,910 --> 00:19:33,750 Allura dan huwa dak litteralment ġie ripatrijat 445 00:19:33,750 --> 00:19:35,810 lili, biex ngħidu hekk, mill GetString. 446 00:19:35,810 --> 00:19:38,720 >> I, issa, vais tesegwixxi in-naħa tax-xellug 447 00:19:38,720 --> 00:19:43,440 ta 'dik l-espressjoni, fejn I sempliċiment kopja isfel, għal skopijiet tal-lum, Nik. 448 00:19:43,440 --> 00:19:46,470 Allura issa, għandi varjabbli imsejħa, i, ħażna isem Nik tal. 449 00:19:46,470 --> 00:19:49,520 Stajt diġà kellhom jaħtru lil printf, argument preċedenti. 450 00:19:49,520 --> 00:19:52,800 Iżda fit-tielet u l-aħħar linja tagħna ta ' kodiċi, I attwalment ikollhom printf idejn 451 00:19:52,800 --> 00:19:58,500 xi ħaġa different-- ftit "hello,% s," backslash n. 452 00:19:58,500 --> 00:20:01,510 >> U għalhekk l-aħħar linja jien ser li send-- l-aħħar ħaġa jien 453 00:20:01,510 --> 00:20:03,060 se jikteb issa, hija din. 454 00:20:03,060 --> 00:20:06,310 Allura l-żewġ linji ta 'kodiċi, jew pjuttost l-aħħar linja ta 'kodiċi, 455 00:20:06,310 --> 00:20:10,690 jitlob li jkun hemm żewġ inputs-- wieħed, dan, u tnejn, dan. 456 00:20:10,690 --> 00:20:13,330 Mela jekk il-funzjoni printf tagħna issa tista 'tieħu dawn bħala input, 457 00:20:13,330 --> 00:20:16,000 let me ċar l-iskrin għalik. 458 00:20:16,000 --> 00:20:17,250 Attwalment ebda, inti tista 'tmur quddiem. 459 00:20:17,250 --> 00:20:19,333 Aħna ser tħalli f'idejn, peress huwa fuq l-istess programm. 460 00:20:19,333 --> 00:20:21,760 461 00:20:21,760 --> 00:20:27,380 Għandna tara, hello, Nik. 462 00:20:27,380 --> 00:20:27,880 Kull dritt. 463 00:20:27,880 --> 00:20:29,670 Allura dan kien pjuttost ftit ċrieki biex tiżdied permezz, just 464 00:20:29,670 --> 00:20:31,620 tikteb, jiddikjara tiegħek isem, u, hello, Nik. 465 00:20:31,620 --> 00:20:37,210 Iżda din l-idea sempliċi ta 'mogħdija messaġġ, tal tgħaddi input u output tirċievi, 466 00:20:37,210 --> 00:20:40,430 huwa eżattament l-mudell aħna qed tmur biex ikollhom għall anki l-funzjonijiet l-aktar kumplessi. 467 00:20:40,430 --> 00:20:41,804 Allura nirringrazzjak tant li inti kemm. 468 00:20:41,804 --> 00:20:43,730 Għandna stress sabiħ ballun hawn għalik. 469 00:20:43,730 --> 00:20:48,890 U nirringrazzjak għall GetString tagħna u voluntiera printf simili. 470 00:20:48,890 --> 00:20:49,551 Grazzi. 471 00:20:49,551 --> 00:20:50,050 Kull dritt. 472 00:20:50,050 --> 00:20:50,966 Grazzi lilek tnejn. 473 00:20:50,966 --> 00:20:56,640 474 00:20:56,640 --> 00:21:00,430 >> Allura aħna kont qed jitkellem dwar s'issa, l-aktar dwar kordi. 475 00:21:00,430 --> 00:21:06,550 U jirriżulta li C jistgħu attwalment jifhmu ftit tipi differenti ta 'data. 476 00:21:06,550 --> 00:21:08,860 Fil-fatt, ejja tagħti ħarsa lejn dawn hawn. 477 00:21:08,860 --> 00:21:12,490 Allura C, u ħafna ta 'lingwi, jifhmu affarijiet imsejħa Chars. 478 00:21:12,490 --> 00:21:16,852 A char huwa ġeneralment byte wieħed, jew tmien bits. 479 00:21:16,852 --> 00:21:19,810 U dan jirrappreżenta karattru wieħed, bħall-ittra A, jew il-kapital 480 00:21:19,810 --> 00:21:21,990 ittra A, jew f'ittri żgħar A, jew il-punt exclamation, 481 00:21:21,990 --> 00:21:25,440 jew kwalunkwe karattru li inti tista tip fuq keyboard tiegħek, u xi kultant anke aktar. 482 00:21:25,440 --> 00:21:26,795 Aħna wkoll jiġri li tara sufruni. 483 00:21:26,795 --> 00:21:31,160 A float huwa, ġeneralment, ta ' 32-bit valur, jew erba 'bytes 484 00:21:31,160 --> 00:21:33,660 għaliex darb'oħra, byte wieħed huwa tmien bits. 485 00:21:33,660 --> 00:21:36,675 >> Allura float huwa valur b'punt li jvarja, xi ħaġa ma 'punt deċimali. 486 00:21:36,675 --> 00:21:38,550 U fil-fatt, dan huwa dak l-film kien jitkellem 487 00:21:38,550 --> 00:21:42,240 dwar meta tkellem dwar f'wiċċ l-ilma valuri tal-punti, xi numru fiss ta 'bits 488 00:21:42,240 --> 00:21:43,940 qed jintużaw biex jirrappreżentaw numru reali. 489 00:21:43,940 --> 00:21:45,740 Iżda hemm ukoll affarijiet imsejħa jirdoppja. 490 00:21:45,740 --> 00:21:47,860 Dawn jeżistu fl Java, jekk inti ħadt APCs, 491 00:21:47,860 --> 00:21:51,540 u doppju, bħala l-isem Thankfully jissuġġerixxi, huwa darbtejn akbar bħala float. 492 00:21:51,540 --> 00:21:54,540 Huwa għadu numru reali, hija biss għandha aktar bits 493 00:21:54,540 --> 00:21:58,390 li biex tkun dejjem aktar preċiżi, jew li jaħżnu numri saħansitra akbar. 494 00:21:58,390 --> 00:21:58,890 int huwa faċli. 495 00:21:58,890 --> 00:22:00,181 Aħna tkellimna dwar dan l-aħħar darba. 496 00:22:00,181 --> 00:22:01,160 Huwa biss numru sħiħ. 497 00:22:01,160 --> 00:22:03,980 U huwa ġeneralment 32 bits, jew erba 'bytes. 498 00:22:03,980 --> 00:22:07,850 >> U hekk, jekk għandek, ejja naraw issa, 32 bits-- u għamilna dan fil-ġimgħa 0, 499 00:22:07,850 --> 00:22:10,820 dejjem hekk briefly-- jekk ikollok 32 bits, x'inhu l-akbar 500 00:22:10,820 --> 00:22:13,580 numru li jista 'jirrappreżenta bħala numru sħiħ? 501 00:22:13,580 --> 00:22:16,080 Agħti jew jieħdu? 502 00:22:16,080 --> 00:22:18,380 Huwa simili 4 biljun, u dak li biss jekk aħna qed 503 00:22:18,380 --> 00:22:20,690 li jirrappreżenta numri pożittivi biss. 504 00:22:20,690 --> 00:22:23,930 Jekk għandek 32 bits, u inti tixtieq li jirrappreżentaw numri negattivi kif ukoll, 505 00:22:23,930 --> 00:22:27,100 firxa tiegħek huwa, essenzjalment, negattivi 2 biljuni għall-pożittiv 2 biljuni. 506 00:22:27,100 --> 00:22:29,250 Iżda ġeneralment, aħna ser tibda f'0 jitla 'għal 4 biljun. 507 00:22:29,250 --> 00:22:32,400 >> Inti ma għandekx tkun taf b'mod preċiż, iżda nistgħu naraw dan, fil-fatt, jekk I biss 508 00:22:32,400 --> 00:22:36,400 jiftħu calculator ftit, hawn. 509 00:22:36,400 --> 00:22:41,070 I tista 'tagħmel 2 l 32, u dan huwa eżattament kemm hu kbir, 510 00:22:41,070 --> 00:22:43,190 kif il-valuri ħafna tista jirrappreżentaw, 32 bits. 511 00:22:43,190 --> 00:22:44,442 U huwa bejn wieħed u ieħor 4 biljun. 512 00:22:44,442 --> 00:22:46,900 Allura aħna ser tibqa 'tara dak in-numru fi ftit postijiet differenti. 513 00:22:46,900 --> 00:22:48,890 Imma jekk għandek bżonn itwal numri minn dan, 514 00:22:48,890 --> 00:22:51,670 jirriżulta hemm xi ħaġa imsejħa twil twil. 515 00:22:51,670 --> 00:22:54,005 U fit-tul huwa ġeneralment 64 bits, li 516 00:22:54,005 --> 00:22:56,380 ifisser li huwa ordni ta 'kobor saħansitra ikbar minn int. 517 00:22:56,380 --> 00:22:59,510 >> So I can not anki jippronunzja l-akbar numru li inti tista 'tirrappreżenta, 518 00:22:59,510 --> 00:23:01,340 imma hija nettament akbar. 519 00:23:01,340 --> 00:23:05,190 Issa bħala twarrib, storikament, jekk int tkun 32 bits, 520 00:23:05,190 --> 00:23:12,780 u fit-tul huwa 64 bits, kif big huwa twil, u mhux twil twil? 521 00:23:12,780 --> 00:23:16,500 522 00:23:16,500 --> 00:23:20,330 Youd taħseb li għandu aktar minn int imma forsi inqas twila minn twil twil, 523 00:23:20,330 --> 00:23:21,400 iżda fil-fatt jiddependi. 524 00:23:21,400 --> 00:23:23,400 >> U għalhekk jirriżulta waħda tal-frustrazzjonijiet wisq, 525 00:23:23,400 --> 00:23:26,830 bil-kitba kodiċi fuq ċerti sistemi, hija li mhux kollha ta 'dawn it-tipi ta' data 526 00:23:26,830 --> 00:23:28,440 għandhom valuri stabbiliti minn qabel. 527 00:23:28,440 --> 00:23:29,771 Xi kultant huwa dan ħafna bits. 528 00:23:29,771 --> 00:23:31,020 Xi kultant huwa li ħafna bits. 529 00:23:31,020 --> 00:23:32,750 Allura inti fil-fatt għandek tkun taf, kultant, liema hardware 530 00:23:32,750 --> 00:23:34,083 int taħdem software tiegħek fuq. 531 00:23:34,083 --> 00:23:36,960 B'xorti tajba, ilsna oħra u tipi ta 'data oħra li issa jeżistu, 532 00:23:36,960 --> 00:23:38,400 jippermetti li inti tkun aktar preċiża. 533 00:23:38,400 --> 00:23:41,220 Well, rajna spag, u rajna BOOL, wisq, 534 00:23:41,220 --> 00:23:43,960 iżda jirriżulta dawk ġejjin biss bil-librerija CS50. 535 00:23:43,960 --> 00:23:46,240 Allura dawn huma mhux mibnija fis C. Dawk minflok, 536 00:23:46,240 --> 00:23:49,340 jaqgħu fil dan il-fajl imsejħa CS50.h, li aħna ser eventwalment 537 00:23:49,340 --> 00:23:51,831 qoxra lura l-saffi ta '. 538 00:23:51,831 --> 00:23:53,830 Iżda għal issa, dawn qed biss tipi ta 'data addizzjonali. 539 00:23:53,830 --> 00:23:57,060 A BOOL hija vera jew falza, u string hija sekwenza ta 'karattri, 540 00:23:57,060 --> 00:23:57,970 bħal kelma. 541 00:23:57,970 --> 00:24:01,690 Issa printf, Rajna, għandha placeholders,% s hija waħda. 542 00:24:01,690 --> 00:24:05,430 U inti tista 'tkun kapaċi, għal issa, jiddeduċu minn dawn l-eżempji l-oħra, kif 543 00:24:05,430 --> 00:24:07,720 inti jista 'jkollhom placeholder għal tipi differenti ta 'data. 544 00:24:07,720 --> 00:24:11,150 Per eżempju, tieħu raden, jekk inti riedu jistampa char waħda bl-użu 545 00:24:11,150 --> 00:24:15,270 printf, il placeholder huwa probabbilment% c. 546 00:24:15,270 --> 00:24:19,650 U jekk inti tixtieq li jistampa l numru sħiħ ma 'l-placeholder,% i. 547 00:24:19,650 --> 00:24:25,150 % LLD hija valur deċimali twil twil, iżda twil twil, b'tali mod li mapep għal dan. 548 00:24:25,150 --> 00:24:28,640 U mbagħad% f għas f'wiċċ l-ilma valur tal-punt jew għal doppja, 549 00:24:28,640 --> 00:24:31,270 hekk kultant dawn qed jintużaw mill-ġdid f'kuntesti differenti. 550 00:24:31,270 --> 00:24:33,350 Allura aħna ser tara u l-użu xi wħud minn dawk matul iż-żmien. 551 00:24:33,350 --> 00:24:36,420 U printf u funzjonijiet oħra wkoll sekwenzi jaħarbu appoġġ oħrajn ", 552 00:24:36,420 --> 00:24:38,080 u xi kultant, dawn huma neċessarji. 553 00:24:38,080 --> 00:24:39,770 Allura n backslash hija linja ġdida. 554 00:24:39,770 --> 00:24:42,886 Backslash t, ħadd ma tixtieq li tieħu stab? 555 00:24:42,886 --> 00:24:43,760 Udjenza membru: Tab. 556 00:24:43,760 --> 00:24:44,551 DAVID J Malan: Tab. 557 00:24:44,551 --> 00:24:46,810 Mela jekk inti fil-fatt tixtieq biex jistampa tab, mhux 558 00:24:46,810 --> 00:24:49,940 numru fiss ta 'spazji iżda attwali karattru tab, inti ma hit tiegħek, 559 00:24:49,940 --> 00:24:53,490 tab, buttuna fuq it-tastiera, ġeneralment, inti fil-fatt tagħmel backslash t. 560 00:24:53,490 --> 00:24:57,750 Kwotazzjoni doppja backslash, għaliex kieku I qatt trid li? 561 00:24:57,750 --> 00:24:58,250 Dritt? 562 00:24:58,250 --> 00:25:00,417 Għaliex ma tistax I biss tip ta ' kwotazzjoni doppja fuq it-tastiera tiegħi? 563 00:25:00,417 --> 00:25:02,124 Udjenza membru: Minħabba, inkella, huwa 564 00:25:02,124 --> 00:25:04,830 se jaħsbu huwa l-aħħar ta 'prodotti simili print tiegħek [? test. ?] 565 00:25:04,830 --> 00:25:05,420 >> DAVID J Malan: Eżattament. 566 00:25:05,420 --> 00:25:07,211 Ftakar, ma tagħna eżempji printf, meta aħna 567 00:25:07,211 --> 00:25:10,075 kienu jgħaddu lil printf fil input, fuq ix-xellug ta 'dik string input 568 00:25:10,075 --> 00:25:12,950 u fuq il-lemin ta 'dik input rebbiegħa, naturalment, kien kwotazzjoni doppja. 569 00:25:12,950 --> 00:25:16,270 Jekk input tiegħek stess ikollu doppja kwotazzjoni fin-nofs ta 'dak, 570 00:25:16,270 --> 00:25:18,920 il-kompjuter jista 'potenzjalment nikseb konfuż, dwar, 571 00:25:18,920 --> 00:25:20,760 ma dan quote doppju jappartjenu fin-nofs? 572 00:25:20,760 --> 00:25:22,150 Ma jappartjenu ma 'dak tax-xellug? 573 00:25:22,150 --> 00:25:23,566 Ma jappartjenu ma 'dak id-dritt? 574 00:25:23,566 --> 00:25:26,780 U hekk, jekk inti tixtieq li tagħmel dan super ċara, inti tagħmel backslash kwotazzjoni doppja, 575 00:25:26,780 --> 00:25:30,480 b'tali mod li huwa ħarbu, biex ngħidu hekk, u mhuwiex conflated għal xi ħaġa oħra. 576 00:25:30,480 --> 00:25:34,400 U hemm ftit oħrajn hawn, r backslash, kwotazzjonijiet uniku, 0, 577 00:25:34,400 --> 00:25:36,510 li nistgħu naraw matul iż-żmien, kif ukoll. 578 00:25:36,510 --> 00:25:37,760 U issa, dak dwar il-funzjonijiet? 579 00:25:37,760 --> 00:25:41,630 >> Allura azzjonijiet li nistgħu nieħdu s'issa f'din il-lingwa, C, ukoll, Rajna, 580 00:25:41,630 --> 00:25:44,320 printf, naturalment, u kollha mill-oħrajn fuq l-iskrin, 581 00:25:44,320 --> 00:25:47,140 hawn, li aħna ser tuża għall- kors tal-ewwel ftit ġimgħat biss, 582 00:25:47,140 --> 00:25:48,485 ġejjin meta l-librerija CS50. 583 00:25:48,485 --> 00:25:51,850 U dawn jagħmluha ħafna aktar faċli, fil C, li fil-fatt tikseb jintuza mill-utent. 584 00:25:51,850 --> 00:25:54,200 Jirriżulta li fl C, u franchement fi ftit lingwi, 585 00:25:54,200 --> 00:25:57,450 huwa reali uġigħ fl-għonq li tagħmel xi ħaġa sempliċi, bħal fil-pront lill-utent 586 00:25:57,450 --> 00:26:01,310 għall keyboard, għal input tiegħu jew tagħha. 587 00:26:01,310 --> 00:26:03,240 U hekk dawn il-funzjonijiet jagħmluha aktar faċli. 588 00:26:03,240 --> 00:26:05,472 >> U għandha wkoll żball verifika kollu, 589 00:26:05,472 --> 00:26:07,180 sabiex, meta inti ifakkar l-Erbgħa, aħna 590 00:26:07,180 --> 00:26:09,740 raw il-, retry, twissija, meta I ma kkooperawx, 591 00:26:09,740 --> 00:26:11,700 u I ittajpjat kelma, minflok in-numru? 592 00:26:11,700 --> 00:26:15,402 We ghamilt l-irfigħ kmieni biex tiżgura l-utent tikkoopera. 593 00:26:15,402 --> 00:26:17,860 Iżda dawn huma biss it-taħriġ roti li aħna se eventwalment, 594 00:26:17,860 --> 00:26:19,640 u malajr, tluq. 595 00:26:19,640 --> 00:26:22,630 >> Allura biex terġa, imbagħad, ejja tagħti ħarsa, 596 00:26:22,630 --> 00:26:26,620 ferm simili għamilna ma Scratch, fil xi constructs canonical fil C. 597 00:26:26,620 --> 00:26:28,580 Dan huwa maħsub biex, sort ta ', jkun tour whirlwind, 598 00:26:28,580 --> 00:26:30,990 biss sabiex ikollok referenza u li inti stajt tidher l-affarijiet fl-ewwel. 599 00:26:30,990 --> 00:26:34,100 Iżda mbagħad aħna ser tħares lejn kodifikazzjoni attwali jużaw xi wħud minn dawn il-blokok tal-bini. 600 00:26:34,100 --> 00:26:36,710 Tant simili fl Scratch, meta kellna dikjarazzjonijiet simili, 601 00:26:36,710 --> 00:26:41,570 tgħid jew, stenna, fis-C, għandna l funzjonijiet kif ukoll, bħal printf. 602 00:26:41,570 --> 00:26:45,350 >> Jekk irridu li jesprimu kundizzjoni fis-C, huwa simili, fl-ispirtu, 603 00:26:45,350 --> 00:26:47,840 li dik il-biċċa puzzle li dehru qishom dan fil Scratch. 604 00:26:47,840 --> 00:26:49,850 Iżda minflok, aħna litteralment biss jiktbu, jekk. 605 00:26:49,850 --> 00:26:51,830 U mbagħad, fil-parentesi, npoġġux kundizzjoni, 606 00:26:51,830 --> 00:26:54,807 fejn din il-kundizzjoni huwa dak li aħna ser sejħa, għal darb'oħra, espressjoni Boolean. 607 00:26:54,807 --> 00:26:56,390 U għal darb'oħra, dan huwa tip ta 'pseudocode. 608 00:26:56,390 --> 00:26:58,830 U, fil-fatt, il-// huwa kumment. 609 00:26:58,830 --> 00:27:00,550 Huwa biss kliem Ingliż li myself. 610 00:27:00,550 --> 00:27:03,000 Iżda dan huwa l-ġenerali istruttura ta ', jekk, kundizzjoni. 611 00:27:03,000 --> 00:27:05,220 Iżda aħna ser tara konkreti eżempji ftit mument. 612 00:27:05,220 --> 00:27:07,960 >> Jekk inti tixtieq li jkollok two-way furketta fit-triq, 613 00:27:07,960 --> 00:27:11,740 ferm simili għamilna ma voluntier tagħna fuq L-Erbgħa, inti jista 'jkollhom, inkella jekk. 614 00:27:11,740 --> 00:27:16,020 U jekk inti tixtieq li jkollok terz u kundizzjoni finali, jew sitwazzjoni default, 615 00:27:16,020 --> 00:27:19,006 inti jista 'jkollhom biss blokk ieħor, hemm. 616 00:27:19,006 --> 00:27:21,880 U l-istess, ma espressjonijiet Boolean, inti tista ', u, flimkien. 617 00:27:21,880 --> 00:27:24,296 U rajna nhar l-Erbgħa, li mhuwiex ampersand wieħed, 618 00:27:24,296 --> 00:27:28,220 huwa tnejn, għal raġunijiet ta 'livell aktar baxx li aħna ser eventwalment tara u jilagħbu bil. 619 00:27:28,220 --> 00:27:30,410 Jew Ing affarijiet flimkien huwa ta '2 bars vertikali. 620 00:27:30,410 --> 00:27:32,240 Fuq tastiera Istati Uniti, dan huwa ġeneralment ewlieni 621 00:27:32,240 --> 00:27:35,730 bl-buttuni Shift hawn fuq tiegħek Enter jew Ritorn ewlenin. 622 00:27:35,730 --> 00:27:38,620 >> Imbagħad hemm dawn l-affarijiet li aħna ser tuża forsi darba jew darbtejn. 623 00:27:38,620 --> 00:27:42,570 Huma funzjonalment ekwivalenti għal x'tista 'tagħmel ma', jekk, inkella jekk, 624 00:27:42,570 --> 00:27:44,950 inkella jekk inkella, tibni, iżda dawn qed jissejjaħ bidla. 625 00:27:44,950 --> 00:27:48,020 Huma jqisu differenti ħafna, imma aħna ser tara f'xi kodiċi tad-distribuzzjoni tagħna, 626 00:27:48,020 --> 00:27:51,890 għal sett problema futur, x'aktarx, li huwa kultant biss prettier 627 00:27:51,890 --> 00:27:54,060 mezz li jesprimu kollu kemm hu mazz ta 'kondizzjonijiet, 628 00:27:54,060 --> 00:27:57,590 mingħajr ma jkollhom ħafna ta 'ċineg kaboċċi u ħafna ta 'parentesi u indentazzjoni. 629 00:27:57,590 --> 00:28:01,910 Iżda dawn tagħtina aktar qawwa mill aħna diġà. 630 00:28:01,910 --> 00:28:02,550 U issa loops. 631 00:28:02,550 --> 00:28:05,020 U dan wieħed, aħna ser tħares fi ftit aktar bil-mod. 632 00:28:05,020 --> 00:28:08,470 Iżda mbagħad, aħna ser tibda tuża dawn, speċjalment għal dawk li diġà familjari. 633 00:28:08,470 --> 00:28:13,830 Dan huwa l-mod canonical, jekk oerhört mod arcane, jiktbu linja fil C. 634 00:28:13,830 --> 00:28:15,896 >> Issa loop fil Scratch kien pjuttost sempliċi. 635 00:28:15,896 --> 00:28:17,020 Għandek, dejjem, blokk. 636 00:28:17,020 --> 00:28:19,760 Għandek, irrepeti, blokk bl biss numru għandek tip fil. 637 00:28:19,760 --> 00:28:22,220 U mal-, għal loop, inti tista implimentati kemm ta 'dawk l-ideat, 638 00:28:22,220 --> 00:28:23,595 imma hija ftit aktar teknika. 639 00:28:23,595 --> 00:28:25,994 Iżda franchement, huwa wkoll relattivament sempliċi. 640 00:28:25,994 --> 00:28:28,160 Ladarba inti taf l-ordni ta ' operazzjonijiet, inti litteralment 641 00:28:28,160 --> 00:28:30,910 huma biss se plagg fil-valuri u għid il-kompjuter x'għandu jsir. 642 00:28:30,910 --> 00:28:32,800 Allura hawnhekk eżempju. 643 00:28:32,800 --> 00:28:38,040 Din hija linja li, pjuttost sempliċi, jgħodd minn numru wieħed up 644 00:28:38,040 --> 00:28:40,187 permezz ieħor. 645 00:28:40,187 --> 00:28:42,020 U biss mill glancing lejn dan, anke jekk ikollok 646 00:28:42,020 --> 00:28:44,660 ebda esperjenza minn qabel ma ' din il-lingwa, liema numru 647 00:28:44,660 --> 00:28:46,920 ma probabbilment jibdew jingħaddu mill-? 648 00:28:46,920 --> 00:28:47,730 OK, 0. 649 00:28:47,730 --> 00:28:50,240 U jien guessing dan għaliex inti tara li hemm xi int u jien, 650 00:28:50,240 --> 00:28:51,073 li hija varjabbli. 651 00:28:51,073 --> 00:28:52,390 Huwa initialized għal 0. 652 00:28:52,390 --> 00:28:55,670 >> U mbagħad, jidher qisu aħna qed tgħaddi printf, valur. 653 00:28:55,670 --> 00:28:58,000 U, fil-fatt, I għamel typo ftit hawn. 654 00:28:58,000 --> 00:28:59,850 Iżda li faċilment fiss. 655 00:28:59,850 --> 00:29:02,390 Let me żid in, i hawn. 656 00:29:02,390 --> 00:29:06,150 Issa għandna printf benesseri għadda dak il-valur placeholder. 657 00:29:06,150 --> 00:29:08,299 U x'inhu għaddej biex jingħaddu up permezz? 658 00:29:08,299 --> 00:29:08,840 UDJENZA: 50. 659 00:29:08,840 --> 00:29:09,340 50. 660 00:29:09,340 --> 00:29:10,160 49.. 661 00:29:10,160 --> 00:29:10,910 DAVID J Malan: 49. 662 00:29:10,910 --> 00:29:13,340 Allura 50, ewwel daqqa t'għajn, jidher dritt. 663 00:29:13,340 --> 00:29:16,990 Iżda dan, jirriżulta, se tkun kundizzjoni tagħna li aħna żżomm kontroll. 664 00:29:16,990 --> 00:29:21,740 U aħna qed tmur biex tieqaf ladarba i m'għadux inqas minn 50. 665 00:29:21,740 --> 00:29:24,920 Allura dan loop, għall-kuntrarju, jekk tesegwixxi, sakemm i huwa inqas minn 50. 666 00:29:24,920 --> 00:29:28,891 Iżda hekk kif din issir 50, jew 51, jew agħar, hija għandha tieqaf awtomatikament. 667 00:29:28,891 --> 00:29:29,390 Kull dritt. 668 00:29:29,390 --> 00:29:31,200 >> Allura x'inhu dak li attwalment jiġri hawn? 669 00:29:31,200 --> 00:29:33,160 Allura dan huwa l-ordni ta ' operazzjonijiet għal loop. 670 00:29:33,160 --> 00:29:35,440 Wieħed, inti għandek l- hekk imsejħa inizjalizzazzjoni. 671 00:29:35,440 --> 00:29:38,264 Dan blokki enfasizzat isfar tal-kodiċi jkun ikkompilat ewwel, 672 00:29:38,264 --> 00:29:40,930 u għandha l-effett li, għal kull L-Erbgħa, inti probabilment timmaġina. 673 00:29:40,930 --> 00:29:45,500 Hija toħloq varjabbli imsejjaħ i u ħwienet f'dak varjabbli-valur 0. 674 00:29:45,500 --> 00:29:47,560 Hekk i huwa 0 f'dan il-punt fl-istorja. 675 00:29:47,560 --> 00:29:49,680 >> Il-ħaġa li jmiss li jiġri f'dan tibni, 676 00:29:49,680 --> 00:29:51,540 huwa li l-kundizzjoni gets ċċekkjati. 677 00:29:51,540 --> 00:29:54,325 So I check immedjatament, huwa i inqas minn 50? 678 00:29:54,325 --> 00:29:57,700 U naturalment, ir-risposta għal issa huwa, ċertament, iva. 679 00:29:57,700 --> 00:30:00,710 Iva, għaliex i huwa 0, u li l-żgur inqas minn 50. 680 00:30:00,710 --> 00:30:03,866 Imbagħad x'jiġri, hija li dan linja tal-kodiċi gets esegwiti. 681 00:30:03,866 --> 00:30:06,740 U fil-fatt, jekk ikun hemm multipli linji ta 'kodiċi f'dawk ċineg kaboċċi, 682 00:30:06,740 --> 00:30:09,020 dawn kollha jiksbu esegwiti wara xulxin. 683 00:30:09,020 --> 00:30:11,450 >> U fl-effett hawn, huwa apparentement, li jistampa 684 00:30:11,450 --> 00:30:15,365 l-i numru, li se jkun 0, u mbagħad 1, u mbagħad 2. 685 00:30:15,365 --> 00:30:15,865 Iżda għaliex? 686 00:30:15,865 --> 00:30:17,410 Għaliex ma jiksbu inkrementat? 687 00:30:17,410 --> 00:30:20,680 Ukoll, il-ħaġa raba li li jiġri huwa li dan sintassi 688 00:30:20,680 --> 00:30:22,610 gets esegwiti, wara l-virgola. 689 00:30:22,610 --> 00:30:27,506 i ++ huwa mod shorthand ta 'tgħid; tieħu l-valur ta 'i, u żid 1 miegħu; 690 00:30:27,506 --> 00:30:30,380 u allura l-ħin li jmiss madwar, żid 1 lilha; u l-ħin li jmiss madwar, 691 00:30:30,380 --> 00:30:31,330 żid 1 miegħu. 692 00:30:31,330 --> 00:30:33,640 >> Allura jekk aħna jibqgħu għaddejjin, x'inhu jiġri 693 00:30:33,640 --> 00:30:35,890 li jmiss huwa Jien ma jmur biex initialize i qatt darb'oħra. 694 00:30:35,890 --> 00:30:38,290 Jekk I tinżamm initializing i għal 0, dan l-eżempju 695 00:30:38,290 --> 00:30:41,110 qatt ma tispiċċa minħabba Inkun mwaħħla f'0. 696 00:30:41,110 --> 00:30:43,870 Imma dak li jiġri huwa li l-kondizzjoni ser jiġu kkontrollati, 697 00:30:43,870 --> 00:30:54,280 il-linja ta 'kodiċi se tikseb eżegwit, l-i se jkun inkrementat, 698 00:30:54,280 --> 00:30:56,970 kundizzjoni se jiġu kkontrollati, kodiċi se tikseb esegwiti. 699 00:30:56,970 --> 00:30:59,790 U jinżamm ċikliżmu mill-ġdid, u għal darb'oħra, u għal darb'oħra, 700 00:30:59,790 --> 00:31:03,340 sakemm i ++ jinduċi valur ta '50. 701 00:31:03,340 --> 00:31:05,870 >> Il-kundizzjoni mbagħad jgħid, hija 50 inqas minn 50? 702 00:31:05,870 --> 00:31:09,360 It-tweġiba, naturalment, l-ebda, u sabiex il-kodiċi kollha waqfiet eżekuzzjoni. 703 00:31:09,360 --> 00:31:13,020 U jekk ikollok aktar kodiċi fuq l-iskrin stabbiliti hawn taħt, dan huwa dak li jiġri li jmiss. 704 00:31:13,020 --> 00:31:17,530 Pops out ta 'dawn ċineg kaboċċi u tkompli jistampaw aktar wara dik. 705 00:31:17,530 --> 00:31:20,470 >> Allura Joke issa, minn Foxtrot, li inti ser forsi issa jifhmu. 706 00:31:20,470 --> 00:31:30,810 707 00:31:30,810 --> 00:31:31,560 Huwa dejjem umoristiċi. 708 00:31:31,560 --> 00:31:34,110 Huwa simili l-chuckles tip ta 'saffi, 709 00:31:34,110 --> 00:31:38,370 u allura inti tirrealizza inti m'għandekx tkun laughing Humer bħal dan. 710 00:31:38,370 --> 00:31:41,160 Iżda hemm xi takeaway hawn, pedagoġika, wisq. 711 00:31:41,160 --> 00:31:43,577 Għalhekk jirriżulta li jien nieqsa biċċa sintassi, 712 00:31:43,577 --> 00:31:45,410 jew ta foxtrot nieqsa biċċa sintassi hawn. 713 00:31:45,410 --> 00:31:48,076 X'hemm nieqes, li aħna kellna f'kull każ ieħor, s'issa? 714 00:31:48,076 --> 00:31:51,599 715 00:31:51,599 --> 00:31:53,390 Ritorn, hemm, so dan huwa xi ħaġa oħra, 716 00:31:53,390 --> 00:31:54,440 li aħna ser terga 'lura għal qabel twil. 717 00:31:54,440 --> 00:31:55,398 X'hemm nieqes, għalkemm? 718 00:31:55,398 --> 00:31:55,908 Yeah. 719 00:31:55,908 --> 00:31:58,150 >> Udjenza membru: Il- inizjalizzazzjoni ta '[inaudible]. 720 00:31:58,150 --> 00:31:58,470 >> DAVID J Malan: OK. 721 00:31:58,470 --> 00:31:58,980 So yeah. 722 00:31:58,980 --> 00:32:03,210 Allura fil-fatt, dan is-- Well, u l-għadd huwa initialized 723 00:32:03,210 --> 00:32:05,470 up fuq, jew minflok, iddikjarat up hawn fuq. 724 00:32:05,470 --> 00:32:06,960 Allura dan huwa mod ieħor ta 'kif isir dan. 725 00:32:06,960 --> 00:32:08,685 Iżda mhux f'sensiela waħda huwa validu għalkemm. 726 00:32:08,685 --> 00:32:09,310 Kif dwar hawn? 727 00:32:09,310 --> 00:32:10,196 >> Udjenza membru: Huwa l-braces kaboċċi? 728 00:32:10,196 --> 00:32:10,640 >> DAVID J Malan: Yeah. 729 00:32:10,640 --> 00:32:12,080 Allura l-braces kaboċċi huma nieqsa. 730 00:32:12,080 --> 00:32:15,495 Iżda dan il-kodiċi, I mean, għall-kreditu tagħhom, huwa attwalment, sintattikament valida. 731 00:32:15,495 --> 00:32:17,610 Jirriżulta, inti ma bżonn l-braces kaboċċi 732 00:32:17,610 --> 00:32:21,691 jekk inti biss għandek linja waħda tal-kodiċi li inti tixtieq li tesegwixxi ġewwa tal-linja. 733 00:32:21,691 --> 00:32:24,190 Issa aħna dejjem, fil-klassi u fid kollha tal-kodiċi ta 'distribuzzjoni tagħna, 734 00:32:24,190 --> 00:32:26,730 jinkludu l-braces kaboċċi xorta waħda, biss f'ġieħ iċ-ċarezza. 735 00:32:26,730 --> 00:32:29,010 Iżda jirrealizzaw li fil-kotba u eżempji onlajn, 736 00:32:29,010 --> 00:32:31,300 inti tista 'tajjeb ħafna' tara kaboċċi ċingi nieqsa f'xi. 737 00:32:31,300 --> 00:32:34,850 U li OK, jekk dak li jkunu inċiża u maħsuba 738 00:32:34,850 --> 00:32:38,650 huwa biss linja waħda tal-kodiċi, u ma diversi linji ta 'kodiċi, potenzjalment. 739 00:32:38,650 --> 00:32:39,150 Kull dritt. 740 00:32:39,150 --> 00:32:44,500 Allura relatati mal-kwistjoni tal impreċiżjoni, hija kwistjoni ta 'overflow, 741 00:32:44,500 --> 00:32:48,560 fis-sens li, b'mod simili, do interi għandhom limiti għalihom 742 00:32:48,560 --> 00:32:49,970 bħad f'wiċċ l-ilma valuri tal-punti? 743 00:32:49,970 --> 00:32:53,120 Fid-dinja punt floating Valuri, nistgħu nkunu tant preċiżi biss, 744 00:32:53,120 --> 00:32:55,710 wara li, xi kultant affarijiet ħżiena jista 'jiġri, 745 00:32:55,710 --> 00:32:57,760 u programmi tagħna tista 'tiġi Buggy u żball. 746 00:32:57,760 --> 00:33:00,050 Issa anke ma interi, inti tista 'tiffaċċja problemi. 747 00:33:00,050 --> 00:33:03,820 Issa integer ma jkollux punt deċimali jew numri wara dan. 748 00:33:03,820 --> 00:33:07,130 Huwa biss numru naturali, tipikament. 749 00:33:07,130 --> 00:33:09,430 Allura dak li tista 'tmur ħażin ma' int? 750 00:33:09,430 --> 00:33:12,210 Jekk jien jużaw int biex għadd, dak li tista 'tmur ħażin? 751 00:33:12,210 --> 00:33:13,230 Jidher ħafna aktar sempliċi. 752 00:33:13,230 --> 00:33:13,873 Yeah. 753 00:33:13,873 --> 00:33:16,240 >> Udjenza membru: Jekk il- Numru gets [inaudible] 754 00:33:16,240 --> 00:33:17,073 >> DAVID J Malan: Yeah. 755 00:33:17,073 --> 00:33:20,820 X'jiġri jekk inti għadd tant għoli, li inti ma jistgħux jesprimu dak in-numru verament kbir. 756 00:33:20,820 --> 00:33:21,320 Dritt? 757 00:33:21,320 --> 00:33:23,910 F'xi punt, int ser li jaqbżu l-konfini 758 00:33:23,910 --> 00:33:27,077 ta 'valur 32-bit jew valur 64-bit. 759 00:33:27,077 --> 00:33:29,410 Issa mill-ġdid, M'inix ċert kif jippronunzja valur 64-bit, 760 00:33:29,410 --> 00:33:32,230 imma naf bi 32-bit numru sħiħ, l-akbar valur jista 'jkun, 761 00:33:32,230 --> 00:33:35,490 jekk huwa biss pożittiv Valuri, huwa bejn wieħed u ieħor 4 biljun. 762 00:33:35,490 --> 00:33:39,000 Mela jekk jien nipprova għodd sa 5 biljun, xi ħaġa jiġri. 763 00:33:39,000 --> 00:33:41,050 Imma ejja ara dak, fil-fatt, jista 'jiġri. 764 00:33:41,050 --> 00:33:44,570 Fid-dinja tal numru sħiħ overflow, fejn inti, f'ċertu sens, 765 00:33:44,570 --> 00:33:48,270 overflow il-kapaċità ta ' numru sħiħ, dak li jista 'jiġri? 766 00:33:48,270 --> 00:33:51,190 >> Allura hawnhekk numru binarju, huwa throwback għal 0. 767 00:33:51,190 --> 00:33:54,630 Huwa kollu 1, u l-placeholders hemm, huma setgħat ta '2, 768 00:33:54,630 --> 00:33:55,980 għalhekk dan huwa binarja. 769 00:33:55,980 --> 00:33:59,416 Allura dawn huma 8, 1 bits fuq l-iskrin. 770 00:33:59,416 --> 00:34:01,290 U jekk inti recall jew inti malajr tagħmel l-matematika, 771 00:34:01,290 --> 00:34:06,074 liema valur qiegħed ikun rappreżentat hawn ma 'dawn it-tmien 1 bits? 772 00:34:06,074 --> 00:34:06,950 255. 773 00:34:06,950 --> 00:34:09,260 U anki jekk inti ma kinux pjuttost ċert tal-matematika, inti tista 'tagħmel dan out. 774 00:34:09,260 --> 00:34:10,550 Jew inti tista 'biss tip tar-raġuni permezz tagħha, 775 00:34:10,550 --> 00:34:12,633 stenna minuta, jekk jien tirrappreżenta valur 8 bit, 776 00:34:12,633 --> 00:34:17,750 u stajt ltqajna 256 valuri possibbli, iżda l-ewwel waħda minnhom huwa ta '0, 777 00:34:17,750 --> 00:34:19,909 I biss jafu li l- akbar se tkun 255, 778 00:34:19,909 --> 00:34:21,510 u dan huwa dak li dan wieħed jista 'jkun. 779 00:34:21,510 --> 00:34:26,060 >> So I jissoponi tipprova żżid 1 ta 'dan il-valur. 780 00:34:26,060 --> 00:34:28,750 What would you do fil-grad iskola meta żżid 1, u 781 00:34:28,750 --> 00:34:31,139 ma verament tajbin għax inti għandek twettaq l-1 ta '? 782 00:34:31,139 --> 00:34:34,380 X'inhu dan in-numru jmorru li ssir meta inti żid 1? 783 00:34:34,380 --> 00:34:37,030 Huwa ser isiru 0. 784 00:34:37,030 --> 00:34:37,530 Dritt? 785 00:34:37,530 --> 00:34:41,139 Għaliex jekk inti kellhom aktar bits-- u jien ser jippruvaw, tip ta ', it-tip out here-- 786 00:34:41,139 --> 00:34:44,710 jekk kellna aktar bits, dak li aħna tista 'tagħmel hawnhekk huwa jżid il-1, 787 00:34:44,710 --> 00:34:47,370 u mbagħad aħna'd jiksbu dan. 788 00:34:47,370 --> 00:34:48,739 Whoops. 789 00:34:48,739 --> 00:34:52,250 Aħna'd jkollhom 1 bit-triq kollha madwar hawn. 790 00:34:52,250 --> 00:34:55,530 >> Imma jekk dan huwa finite valur, huwa biss 8 bits, 791 00:34:55,530 --> 00:34:57,480 u li l-pre-determinat mill-kompjuter, 792 00:34:57,480 --> 00:34:59,370 li 1 huwa effettivament ma jkunx hemm. 793 00:34:59,370 --> 00:35:00,980 Hija biss tip ta 'jaqa off a cliff. 794 00:35:00,980 --> 00:35:05,480 U hekk jekk inti żid minn 1 sa 255, dak valur do you apparentement nirċievi? 795 00:35:05,480 --> 00:35:06,180 0. 796 00:35:06,180 --> 00:35:09,700 U għalhekk numri aċċidentalment, u forsi, mhux intenzjonalment, 797 00:35:09,700 --> 00:35:12,040 jispiċċaw tgeżwir madwar bħal dan. 798 00:35:12,040 --> 00:35:14,079 Allura dak li tista 'tkun l-implikazzjoni ta' din? 799 00:35:14,079 --> 00:35:15,620 Ukoll, hemm ftit affarijiet differenti. 800 00:35:15,620 --> 00:35:18,751 Allura wieħed, ma jispiċċaw ifittxu bħal 0, mhux intenzjonalment, 801 00:35:18,751 --> 00:35:20,750 imma int tista 'tip ta' tara, anki fid-dinja reali, 802 00:35:20,750 --> 00:35:23,416 għall-aħjar jew għall-agħar, manifestazzjonijiet ta 'din l-idea ta' limitu. 803 00:35:23,416 --> 00:35:26,630 Per eżempju, kull minnkom li qatt lagħbu Lego Star Wars, 804 00:35:26,630 --> 00:35:28,880 ħadd ma jiġri li tkun taf l-għadd massimu ta 'muniti 805 00:35:28,880 --> 00:35:32,032 inti tista 'tiġbor fil Lego Star Wars? 806 00:35:32,032 --> 00:35:35,640 Ħu raden bbażata fuq mistoqsijiet ewlenin tal-lum. 807 00:35:35,640 --> 00:35:39,140 Huwa akbar minn 256 jew 255. 808 00:35:39,140 --> 00:35:40,330 Huwa 4 biljun. 809 00:35:40,330 --> 00:35:42,080 Għalhekk jirriżulta li, u hemm xi people-- 810 00:35:42,080 --> 00:35:46,080 xi googling aħħar night-- kkonfermat gotten 4 biljun muniti tad-deheb, 811 00:35:46,080 --> 00:35:47,730 jew whatnot, fil Lego Star Wars. 812 00:35:47,730 --> 00:35:49,860 Għalkemm apparentement, hemm mod li trick-logħba, 813 00:35:49,860 --> 00:35:53,222 hemm bug jew karatteristika, li ihallik biss jakkumulaw lottijiet u lottijiet ta 'punti. 814 00:35:53,222 --> 00:35:54,930 Iżda l-akbar possibbli valur, skond 815 00:35:54,930 --> 00:35:58,360 li dan l-iskrin sparatura ta 'xi ħadd I misjuba online, huwa tabilħaqq, 4 biljun. 816 00:35:58,360 --> 00:35:59,240 >> Issa għaliex huwa li? 817 00:35:59,240 --> 00:36:03,040 Huwa preċiżament 4 biljun, probabbilment minħabba xi ħadd iddeċieda, 818 00:36:03,040 --> 00:36:05,500 li kien miktub din il-logħba, li huma jistgħu jagħmlu 4 biljun, 819 00:36:05,500 --> 00:36:07,340 xi ħaġa, xi ħaġa, xi ħaġa, bħall-valur I impoġġija 820 00:36:07,340 --> 00:36:10,256 mal-kalkulatur qabel, iżda huwa biss ftit aktar nadifa għall-bnedmin 821 00:36:10,256 --> 00:36:12,610 jiġifieri l-għadd massimu tal coins-- jew studs, 822 00:36:12,610 --> 00:36:14,860 kif huma jitolbu them-- li inti tista 'tiġbor huwa ta' 4 biljun. 823 00:36:14,860 --> 00:36:16,290 U għalhekk, għaliex huwa dan? 824 00:36:16,290 --> 00:36:20,310 Kif huwa l-logħba LEGO implimentazzjoni tal-counter 825 00:36:20,310 --> 00:36:23,420 li l-issorveljar ta 'l- numru ta 'muniti li għandek? 826 00:36:23,420 --> 00:36:24,266 Huma qed tuża liema? 827 00:36:24,266 --> 00:36:26,390 Udjenza membru: Huwa jwaqqaf għadd wara 4 biljun. 828 00:36:26,390 --> 00:36:27,720 DAVID J Malan: Huwa jwaqqaf għadd wara 4 biljuni, 829 00:36:27,720 --> 00:36:29,525 li jfisser li inti tista ' jiddeduċu, bħala programmer, 830 00:36:29,525 --> 00:36:31,960 li dawn qed probabbilment użu ta '32 bit numru sħiħ. 831 00:36:31,960 --> 00:36:35,380 Bħall-programmer litteralment biss ttajpjata, int, fil-kodiċi tiegħu jew tagħha, 832 00:36:35,380 --> 00:36:39,620 u dak l-tip ta 'varjabbli li li qed jużaw biex jaħżnu kodiċi ta 'xi ħadd. 833 00:36:39,620 --> 00:36:42,230 Allura hemm manifestazzjonijiet oħra ta 'dawn it-tipi ta' limiti. 834 00:36:42,230 --> 00:36:45,063 >> So I ma lagħbu din game-- u I kien qari fuq l-istorja 835 00:36:45,063 --> 00:36:48,470 biex tikkonferma kif much-- iżda fil- verżjoni oriġinali tal-ċiviltà, fejn 836 00:36:48,470 --> 00:36:53,240 inti apparentement jinteraġixxu ma 'kull xulxin u jistgħu pagi gwerra jew ikollok paċi, 837 00:36:53,240 --> 00:36:56,590 Gandhi kien suppost li tkun waħda mill l-karattri l-aktar paċifiċi, kif I 838 00:36:56,590 --> 00:36:59,280 jifhimha, fl-ewwel Verżjoni tal-ċiviltà. 839 00:36:59,280 --> 00:37:03,250 U fil-fatt, fuq skala minn 1 sa 10, aggressività tiegħu kienet biss 1. 840 00:37:03,250 --> 00:37:05,620 Allura dejjem hekk ħafif aggressivi, apparentement. 841 00:37:05,620 --> 00:37:11,590 >> Iżda f'xi punt, inti tista apparentement jinstallaw demokrazija fil-ġeografija tiegħek. 842 00:37:11,590 --> 00:37:14,900 U jekk inti jinstallaw demokrazija fil-verżjoni tiegħek tal-logħba, 843 00:37:14,900 --> 00:37:17,320 imbagħad livell aggressjoni tiegħek jinżel. 844 00:37:17,320 --> 00:37:18,460 Hija ħaġa tajba. 845 00:37:18,460 --> 00:37:20,890 In-nies huma aktar tranquil apparentement, f'dik is-sitwazzjoni. 846 00:37:20,890 --> 00:37:23,190 Imma apparentement, xi ħadd ma ma jkollhomx, jekk, kundizzjoni 847 00:37:23,190 --> 00:37:24,780 fil-verżjoni oriġinali tar-kodiċi. 848 00:37:24,780 --> 00:37:30,650 >> Allura livell aggressjoni Gandhi marru minn pożittiv 1, minus 2, ma 'riżultati negattivi 1, 849 00:37:30,650 --> 00:37:33,840 iżda l-logħba ma jifhmu numri negattivi. 850 00:37:33,840 --> 00:37:38,680 Allura dak li ġara kien aggressjoni Gandhi livell marru minn 1, għal 0, ma 'riżultati negattivi 1, 851 00:37:38,680 --> 00:37:40,900 li kellu l-effett ta ' tgeżwir madwar li jkunu 852 00:37:40,900 --> 00:37:44,690 -karattru aktar aggressiva fil-logħba, b'valur ta '255, 853 00:37:44,690 --> 00:37:46,630 fuq skala minn 1 sa 10. 854 00:37:46,630 --> 00:37:49,887 U minn dakinhar, hemm kien aktar incarnations ta din il-logħba, 855 00:37:49,887 --> 00:37:51,720 u ħadthom miżmuma bħala tip ta 'bajd tal-Għid, 856 00:37:51,720 --> 00:37:53,870 li Gandhi hija apparentement hekk terriblement aggressivi. 857 00:37:53,870 --> 00:37:56,740 Iżda dan kien ir-riżultat ta ' żball programmazzjoni sempliċi ħafna 858 00:37:56,740 --> 00:37:58,630 f'dak verżjoni bikrija ħafna tal-logħba. 859 00:37:58,630 --> 00:38:02,860 >> Issa aktar disturbingly, aktar reċentement, il-Boeing 787 860 00:38:02,860 --> 00:38:05,720 kien dokumentat bħala li bug, mhux it-tip ta 'apparat 861 00:38:05,720 --> 00:38:07,340 inti partikolarment tixtieq li jkollok bug. 862 00:38:07,340 --> 00:38:10,130 U s-sintomi, li I taf taqra hawn, minn online artiklu, 863 00:38:10,130 --> 00:38:13,840 kien dan, mudell 787 ajruplan li ġiet imħaddma kontinwament 864 00:38:13,840 --> 00:38:18,030 għall 248 jiem tista 'titlef kollha kurrent alternanti, AC, 865 00:38:18,030 --> 00:38:20,850 enerġija elettrika, minħabba l-unitajiet ta 'kontroll ġeneratur, 866 00:38:20,850 --> 00:38:23,330 GCUs, fl-istess ħin tgħaddi għall-modalità fail-safe. 867 00:38:23,330 --> 00:38:26,790 Allura dan kien twissija maħruġa meta din il-problema ġiet skoperta. 868 00:38:26,790 --> 00:38:28,750 Din il-kondizzjoni hija kkawżata minn software counter, 869 00:38:28,750 --> 00:38:32,230 interna għall-GCUs, hekk numru sħiħ jew varjabbli, 870 00:38:32,230 --> 00:38:36,850 li se overflow wara 248 ġranet ta 'enerġija kontinwa. 871 00:38:36,850 --> 00:38:40,350 Boeing tinsab fil-proċess ta ' iżvilupp ta 'software GCU upgrade li 872 00:38:40,350 --> 00:38:42,350 se jirrimedjaw il-kundizzjoni mhux sigura. 873 00:38:42,350 --> 00:38:44,226 >> Allura ħafna bħall-missili xenarju, fejn 874 00:38:44,226 --> 00:38:46,850 huma kellhom xi tip ta 'varjabbli li kien qed jgħodd, u l-għadd, 875 00:38:46,850 --> 00:38:50,720 u l-għadd, iżda overflowing gradwalment il-konfini tal-kapaċità tagħha, 876 00:38:50,720 --> 00:38:54,890 bl-istess mod ma 'l-ajruplan kkritikat jkollhom overflow varjabbli 877 00:38:54,890 --> 00:38:56,410 wara żmien biżżejjed ta 'tmexxija. 878 00:38:56,410 --> 00:38:59,240 U għalhekk l-mod tongue-in-cheek ta 'xogħol madwar din il-kwistjoni 879 00:38:59,240 --> 00:39:04,400 huwa li verament, reboot, pjan tiegħek kull 247 ġurnata, sabiex il-memorja gets jintilfu 880 00:39:04,400 --> 00:39:06,100 u l-varjabbli tmur lura għal 0. 881 00:39:06,100 --> 00:39:09,410 Iżda realizzata, din hija ferm Inkarnazzjoni kbir ta 'software, 882 00:39:09,410 --> 00:39:14,070 iżda speċjalment kif aħna jisimgħu dwar Apple sistemi operattivi nidħlu karozzi, 883 00:39:14,070 --> 00:39:18,030 u l-karozzi self-sewqan minn Google, u kwalunkwe numru ta 'incarnations ta' softwer 884 00:39:18,030 --> 00:39:21,000 Fil-ħajja tagħna ta 'kuljum, it-televiżjonijiet u arloġġi, u aktar, 885 00:39:21,000 --> 00:39:24,950 tirrealizza kienu mdawra permezz ta 'softwer, li kollha huwa miktub minn us bnedmin. 886 00:39:24,950 --> 00:39:28,150 >> U kif aħna ser kollha dalwaqt jiskopru, huwa faċli ħafna u tipiku ħafna 887 00:39:28,150 --> 00:39:30,250 li jagħmlu żbalji meta tikteb software. 888 00:39:30,250 --> 00:39:32,745 U jekk inti ma jaqbduhom, xi affarijiet ħżiena jista 'jiġri. 889 00:39:32,745 --> 00:39:35,400 Issa xi kultant, xi affarijiet umoristiċi jista 'jiġri, 890 00:39:35,400 --> 00:39:38,280 jew għall-inqas xi kultant aħna taf li jistennew xi badness. 891 00:39:38,280 --> 00:39:41,550 Allura 0 diviż bil 0, mill-grad iskola, huwa ġeneralment ħaġa ħażina. 892 00:39:41,550 --> 00:39:43,050 Huwa undefined. 893 00:39:43,050 --> 00:39:46,440 U jirriżulta out-- u ejja ara jekk mic tiegħi tista 'pick dan up-- li Apple 894 00:39:46,440 --> 00:39:47,790 kellhom xi gost ma 'dan l-aħħar. 895 00:39:47,790 --> 00:39:48,850 So I jkollhom iPhone hawn. 896 00:39:48,850 --> 00:39:54,160 Jien ser jitkellmu ma Siri u jistaqsu tagħha li tagħti me-risposta għal 0 diviż bil 0. 897 00:39:54,160 --> 00:39:55,850 X'inhu 0 diviż bil 0? 898 00:39:55,850 --> 00:39:59,350 899 00:39:59,350 --> 00:40:02,230 >> Siri: Immaġina li inti għandek 0 cookies, u inti maqsuma minnhom indaqs 900 00:40:02,230 --> 00:40:03,540 fost 0 ħbieb. 901 00:40:03,540 --> 00:40:05,810 Kemm cookies ma 'kull persuna nirċievi? 902 00:40:05,810 --> 00:40:06,350 Ara? 903 00:40:06,350 --> 00:40:07,660 Ma jagħmilx sens. 904 00:40:07,660 --> 00:40:10,540 U Monster cookie huwa imdejjaq li ma jkunx hemm cookies. 905 00:40:10,540 --> 00:40:13,987 U inti diqa li ikollok ebda ħbieb. 906 00:40:13,987 --> 00:40:15,570 DAVID J Malan: Huwa tip ta 'obnoxious. 907 00:40:15,570 --> 00:40:17,550 Allura dan huwa dak li kien biss qal hemmhekk. 908 00:40:17,550 --> 00:40:21,380 Huwa indeterminat, mhuwiex iddefinit, u fil-fatt, lingwi ta 'programmar ħafna 909 00:40:21,380 --> 00:40:24,950 jew, tassew, kompilaturi se jiskopru meta inti, fi programm, 910 00:40:24,950 --> 00:40:27,050 jippruvaw jaqsmu 0 0. 911 00:40:27,050 --> 00:40:29,830 Gost aktar minn dan għalkemm, hi li apparentement, Monster cookie 912 00:40:29,830 --> 00:40:31,270 hija fuq Twitter f'dawn il-jiem. 913 00:40:31,270 --> 00:40:37,610 U hu wieġeb għal dan, ma 'dan, li huwa assolutament adorable. 914 00:40:37,610 --> 00:40:40,110 Imma ejja tagħti ħarsa lejn ftit constructs oħra, 915 00:40:40,110 --> 00:40:43,459 u mbagħad iwettqu xi ftit minn dan kodiċi li tuża, modi tajba. 916 00:40:43,459 --> 00:40:45,250 Għalhekk jirriżulta li, minbarra għal-linji, hemm 917 00:40:45,250 --> 00:40:49,174 xi ħaġa imsejħa loop waqt, li jistenna differenti u huwa implimentat 918 00:40:49,174 --> 00:40:51,590 a differently-- ftit u aħna ser eventwalment tara examples-- 919 00:40:51,590 --> 00:40:53,500 imma f'ċertu sens, huwa aktar sempliċi minħabba li 920 00:40:53,500 --> 00:40:56,670 ma jippermettu li inti initialize u taġġorna fi ħdan il-konfini tal-linja. 921 00:40:56,670 --> 00:40:57,794 Inti xorta tista jimplimentawha. 922 00:40:57,794 --> 00:41:01,219 Allura inti tista 'tagħmel l-istess affarijiet eżatt bil-loop waqt, bħala ma 'għall loop, 923 00:41:01,219 --> 00:41:03,260 iżda sintassi tiegħek, ultimately-- kif aħna ser eventwalment 924 00:41:03,260 --> 00:41:04,551 see-- se tkun differenti. 925 00:41:04,551 --> 00:41:07,450 Hemm anki do filwaqt loop, li huwa attwalment ftit differenti, 926 00:41:07,450 --> 00:41:09,640 f'dak billi għal loop u loop filwaqt dejjem 927 00:41:09,640 --> 00:41:13,005 iċċekkja kundizzjoni tagħhom l-ewwel, jekk inti taqra dan ħaġa fuq għal isfel, 928 00:41:13,005 --> 00:41:16,440 it-tip ta 'qisu li għaddej biex check s kundizzjoni aħħar għaliex dan huwa 929 00:41:16,440 --> 00:41:17,910 verament l-aħħar linja tal-kodiċi. 930 00:41:17,910 --> 00:41:20,580 U fil-fatt, li għaddej biex tkun utli f'ċerti programmi li aħna tikteb, 931 00:41:20,580 --> 00:41:23,746 jekk inti tixtieq li biss bl-addoċċ jagħmel xi ħaġa u eventwalment tivverifika l-kundizzjoni. 932 00:41:23,746 --> 00:41:25,205 Li mhux neċessarjament ħaġa ħażina. 933 00:41:25,205 --> 00:41:27,912 Jekk irridu varjabbli, nistgħu nagħmlu dan fi ftit ta 'modi differenti. 934 00:41:27,912 --> 00:41:30,290 U rajna fil-Foxtrot cartoons, mod wieħed kif isir dan, 935 00:41:30,290 --> 00:41:33,400 fejn inti tiddikjara varjabbli tiegħek, bħal int counter punto virgola, 936 00:41:33,400 --> 00:41:36,570 u mbagħad later-- forsi li jmiss linja, forsi 10 linji later-- 937 00:41:36,570 --> 00:41:37,800 inti fil-fatt initialize dan. 938 00:41:37,800 --> 00:41:42,230 Allura dawn 2 linji ta 'kodiċi tiddikjara varjabbli ta 'int tip 939 00:41:42,230 --> 00:41:44,930 u sejħa hija counter, u għalhekk tagħti me bits biżżejjed li jkollhom int. 940 00:41:44,930 --> 00:41:48,230 U allura eventwalment, li tqiegħed il-valur 0 f'dak varjabbli. 941 00:41:48,230 --> 00:41:51,250 Jipprovdi l għamilhom 0 u 1 fil- mudell, li nafu mill-aħħar ġimgħa, 942 00:41:51,250 --> 00:41:53,260 jirrappreżenta n-numru nafu kif 0. 943 00:41:53,260 --> 00:41:56,920 Jew franchement, inti tista 'tagħmel dan ħafna aktar konċiż, bħad dan. 944 00:41:56,920 --> 00:41:59,390 >> Issa irridu wkoll il- abbiltà li sejħa funzjonijiet. 945 00:41:59,390 --> 00:42:03,070 U fil-fatt, hawnhekk linja 2 programm, jew silta tiegħu, 946 00:42:03,070 --> 00:42:06,157 li jippermetti li attwalment jikteb xi kodiċi li 947 00:42:06,157 --> 00:42:08,990 gets string mill-user-- ħafna bħal voluntier tagħna mument ago-- 948 00:42:08,990 --> 00:42:11,320 ħażna r-riżultat varjabbli imsejħa isem, 949 00:42:11,320 --> 00:42:15,470 u then-- simili ħafna ma 'voluntier tagħna prints printf-- barra dawk il-valuri 950 00:42:15,470 --> 00:42:19,180 billi jgħaddu f'żewġ argumenti, il- spag, segwita mill-varjabbli 951 00:42:19,180 --> 00:42:20,781 imsejħa, l-isem, hija stess. 952 00:42:20,781 --> 00:42:23,155 Mela ejja tagħti ħarsa, qabel aħna terga 'lura għal Mario hemmhekk, 953 00:42:23,155 --> 00:42:26,010 fi ftit issa, eżempji ta 'dan. 954 00:42:26,010 --> 00:42:30,537 >> Jien ser jimxi 'l quddiem u miftuħa up, ejja ngħidu, funzjoni 0.c. 955 00:42:30,537 --> 00:42:33,120 U kif dejjem, dan il-kodiċi huwa disponibbli fuq il-websajt tal-kors, l 956 00:42:33,120 --> 00:42:35,660 sabiex inti tista 'tilgħab flimkien fuq dar u tħares lejn din aktar tard. 957 00:42:35,660 --> 00:42:40,400 Iżda hawn l-programm huwa Essenzjalment, mil-linja 17 sa 22. 958 00:42:40,400 --> 00:42:43,270 Il-programm prinċipali huwa fejn il- programm huwa dejjem se tibda. 959 00:42:43,270 --> 00:42:46,980 Dan il-programm, apparentement, va biex jistampa l-isem tiegħek, kolon. 960 00:42:46,980 --> 00:42:50,320 Huwa mbagħad ser sejħa GetString, bħad għamilna mal-voluntiera tagħna. 961 00:42:50,320 --> 00:42:53,365 U allura, dan huwa interessanti, li għaddej biex sejħa PrintName. 962 00:42:53,365 --> 00:42:56,490 Jirriżulta, dan il-ħin, hemm jidher li huwa funzjoni msejħa PrintName. 963 00:42:56,490 --> 00:42:57,614 Li tistampa isem ta 'xi ħadd. 964 00:42:57,614 --> 00:43:01,210 Aħna ma bżonn tuża printf minn imgħoddi, hemm PrintName. 965 00:43:01,210 --> 00:43:03,500 >> Imma dak li qarrieqa minħabba PrintName ma 966 00:43:03,500 --> 00:43:06,760 jiġu mal C. Nies ma jivvintaw dan madwar 40 jew 50 sena ilu, 967 00:43:06,760 --> 00:43:07,990 I did, minflok. 968 00:43:07,990 --> 00:43:10,330 U fil-fatt, jekk I iscroll down aktar, avviż 969 00:43:10,330 --> 00:43:14,200 kif Kapaċi nikteb tiegħi stess funzjonijiet C. Aħna ser eventwalment 970 00:43:14,200 --> 00:43:16,319 jispjega għaliex inżommu qal, vojt, fi ftit postijiet, 971 00:43:16,319 --> 00:43:18,110 iżda għal-lum, ejja biss ħarsa lejn l-isem. 972 00:43:18,110 --> 00:43:20,905 >> Fuq il-linja 24, jekk inti tixtieq li joħolqu funzjoni tiegħek stess, 973 00:43:20,905 --> 00:43:22,780 inti litteralment tikteb il- isem tal-funzjoni. 974 00:43:22,780 --> 00:43:24,340 I għażlet PrintName. 975 00:43:24,340 --> 00:43:26,159 Fil-parentesi, inti imbagħad jispeċifikaw liema tipi 976 00:43:26,159 --> 00:43:28,450 ta 'inputs, u kemm inti tixtieq din il-funzjoni li tieħu. 977 00:43:28,450 --> 00:43:31,906 F'dan il-każ, I tixtieq li tieħu 1 varjabbli imsejħa, l-isem, 978 00:43:31,906 --> 00:43:34,030 u li għaddej biex tkun ta ' tip, spag, hekk li għaddej 979 00:43:34,030 --> 00:43:35,780 li jkun hemm xi sekwenza ta 'karattri. 980 00:43:35,780 --> 00:43:39,170 U mbagħad, dan program-- ferm simili fl Scratch, 981 00:43:39,170 --> 00:43:42,590 inti jista 'jkollhom puzzle custom pieces-- huwa se jkollu din l-imġiba tad-dwana. 982 00:43:42,590 --> 00:43:46,760 Huwa ser sejħa printf tgħaddi fi, hello, placeholder, 983 00:43:46,760 --> 00:43:49,110 u allura huwa għaddej biex timla fi kwalunkwe utent imsejħa. 984 00:43:49,110 --> 00:43:51,450 >> Allura dan huwa eżempju ta 'dak li xjenzat kompjuter kieku 985 00:43:51,450 --> 00:43:55,090 estrazzjoni sejħa jew funzjonali dekompożizzjoni, li huma biss 986 00:43:55,090 --> 00:43:58,110 modi fancy ta saying-- hija jekk inti bħal din l-idea livell għoli, 987 00:43:58,110 --> 00:44:01,569 bħal Irrid funzjonalità li stampi isem ta 'xi ħadd, assolutament inti 988 00:44:01,569 --> 00:44:04,360 jistgħu litteralment jiktbu printf u mbagħad jgħaddu l-argumenti li trid, 989 00:44:04,360 --> 00:44:07,340 u l-programm se taħdem, kif għamlet sa mill-Erbgħa. 990 00:44:07,340 --> 00:44:10,510 Imma inti tista 'tibda biex astratta bogħod il-kunċett ta 'stampar isem. 991 00:44:10,510 --> 00:44:13,270 Inti tista 'tagħtiha isem, bħall PrintName, u dan 992 00:44:13,270 --> 00:44:15,280 hija din idea ta saffi minn ġimgħa 0. 993 00:44:15,280 --> 00:44:19,910 >> Minn issa, I u inti ma għandekx tkun taf jew kura kif PrintName tiġi implimentata. 994 00:44:19,910 --> 00:44:22,470 Iva hija tuża printf, forsi ma, li jaf liema juża? 995 00:44:22,470 --> 00:44:23,410 Quién? 996 00:44:23,410 --> 00:44:26,034 Issa jien jitkellem up here, minflok stabbiliti hawn. 997 00:44:26,034 --> 00:44:28,700 U fil-fatt, bħala programmi tagħna jiksbu aktar avvanzati u sofistikati, 998 00:44:28,700 --> 00:44:32,550 aħna qed tmur biex tkompli tieħu għall mogħtija li l-biċċiet puzzle livell aktar baxx jeżistu. 999 00:44:32,550 --> 00:44:34,780 Għaliex aħna kiteb minnhom jew xi ħadd ieħor ma, so 1000 00:44:34,780 --> 00:44:36,910 li nistgħu mbagħad jibnu fuq wiċċ minnhom. 1001 00:44:36,910 --> 00:44:39,430 Ejja tagħti ħarsa lejn din varjant, funzjoni waħda. 1002 00:44:39,430 --> 00:44:41,780 >> Allura dan wieħed l-ftit aktar avvanzati, iżda jirriżulta 1003 00:44:41,780 --> 00:44:44,570 li fil-librerija CS50, l hemm biss funzjoni GetInt. 1004 00:44:44,570 --> 00:44:47,720 Aħna ma naħsibx, snin ilu, li timplimenta funzjoni GetPositiveInt. 1005 00:44:47,720 --> 00:44:50,970 U li ftit annoying għaliex jekk inti guys qed tikteb programm wherein 1006 00:44:50,970 --> 00:44:53,325 inti tixtieq li tikseb pożittiv numru sħiħ mill-utent, 1007 00:44:53,325 --> 00:44:55,010 inti tista 'assolutament tuża GetInt. 1008 00:44:55,010 --> 00:44:57,840 U inti tista 'assolutament tiċċekkja mal il-kondizzjoni u forsi loop 1009 00:44:57,840 --> 00:45:00,320 jekk dan int huwa akbar minn 0 u Yell fil-utent 1010 00:45:00,320 --> 00:45:02,699 jekk hu jew hi ma jagħtix inti numru pożittiv. 1011 00:45:02,699 --> 00:45:04,740 Imma ejja jinbena dan bini blokk lilna nfusna, a, 1012 00:45:04,740 --> 00:45:06,555 biċċa Scratch custom, jekk inti se. 1013 00:45:06,555 --> 00:45:08,680 Jien ser jkollhom programm hawn li finalment, I 1014 00:45:08,680 --> 00:45:11,780 tixtieq li jkunu jistgħu jsejħu GetPositiveInt, u nixtieq li tkun 1015 00:45:11,780 --> 00:45:14,200 kapaċi li jistampa kwalunkwe li int hu. 1016 00:45:14,200 --> 00:45:16,240 Iżda dan huwa estratt bogħod issa. 1017 00:45:16,240 --> 00:45:19,050 Huwa biss ġie mogħti livell għoli isem li tgħid dak li tagħmel, 1018 00:45:19,050 --> 00:45:21,780 li huwa wunderbare għaliex dan huwa ħafna intuwittivi issa biex jinqara. 1019 00:45:21,780 --> 00:45:24,710 U jekk jien care x'hemm taħt il-barnuża, let me iscroll isfel. 1020 00:45:24,710 --> 00:45:27,140 U huwa ftit intimidanti fl-ewwel, speċjalment 1021 00:45:27,140 --> 00:45:29,470 jekk dan huwa l-ewwel programm tiegħek, imma ejja tagħti ħarsa. 1022 00:45:29,470 --> 00:45:32,860 >> Jien m'għadhomx qal, null, għaliex jirriżulta funzjonijiet, 1023 00:45:32,860 --> 00:45:34,777 ferm simili GetString, jista ritorn valur lili. 1024 00:45:34,777 --> 00:45:36,610 Huma ma biss għandhom li jistampaw l-iskrin, 1025 00:45:36,610 --> 00:45:38,410 huma jkunu effettivament jistgħu idejn me xi ħaġa lura. 1026 00:45:38,410 --> 00:45:41,535 U billi qabel PrintName, I ma bżonn xi ħaġa lura. 1027 00:45:41,535 --> 00:45:44,160 I meħtieġa l-effett sekondarju ta ' xi ħaġa li juru up fuq l-iskrin, 1028 00:45:44,160 --> 00:45:46,570 imma jien ma bżonn uman għall-idejn me xi ħaġa lura. 1029 00:45:46,570 --> 00:45:48,840 Hawnhekk, ma GetPositiveInt, bħal ma GetInt, 1030 00:45:48,840 --> 00:45:50,640 Irrid li jingħataw xi ħaġa lura. 1031 00:45:50,640 --> 00:45:53,220 Hekk jien tgħid le, null, fuq il-linja 23, iżda int, 1032 00:45:53,220 --> 00:45:55,570 li jgħid, din il-funzjoni li nikteb, 1033 00:45:55,570 --> 00:45:58,860 imsejħa GetPositiveInt se idejn lili lura integer, mhux xejn, 1034 00:45:58,860 --> 00:45:59,890 mhux nulli. 1035 00:45:59,890 --> 00:46:03,280 >> Sadanittant, li għaddej biex jieħu l-ebda inputs, hekk stajt, tip ta ', maqluba dan. 1036 00:46:03,280 --> 00:46:08,280 Jien mhux qed jagħti GetPositiveInt ebda input, I tixtieq li tagħti me output tagħha. 1037 00:46:08,280 --> 00:46:09,800 U allura x'jiġri issa? 1038 00:46:09,800 --> 00:46:11,640 Allura hawnhekk kif I tista 'tiddikjara varjabbli. 1039 00:46:11,640 --> 00:46:15,090 I ghamilt barra mill-linja, għal raġunijiet aħna ser eventwalment tara, 1040 00:46:15,090 --> 00:46:17,700 iżda dan biss jagħti me 32 bits imsejħa, n, 1041 00:46:17,700 --> 00:46:20,952 u stajt pre-determinazzjoni biex jaħżnu numru sħiħ. 1042 00:46:20,952 --> 00:46:23,660 U hawnhekk li, tagħmel waqt tibni, u dan huwa għaliex huwa utli. 1043 00:46:23,660 --> 00:46:26,700 Litteralment tagħmel dan, filwaqt n huwa inqas minn 1. 1044 00:46:26,700 --> 00:46:28,030 Mela ejja ara dak li jiġri. 1045 00:46:28,030 --> 00:46:30,760 I jistampa, jekk jogħġbok tagħti me a int pożittiv. 1046 00:46:30,760 --> 00:46:34,300 I imbagħad nikseb int, bl-użu tal CS50 jiffunzjonaw u maħżuna n. 1047 00:46:34,300 --> 00:46:38,990 >> U mbagħad, liema linja tal-kodiċi probabbilment gets esegwiti jmiss, loġikament? 1048 00:46:38,990 --> 00:46:41,890 Liema linja numru? 1049 00:46:41,890 --> 00:46:42,571 Yeah, hekk 31. 1050 00:46:42,571 --> 00:46:45,320 Inti ma tkunx taf dan sakemm inti stajt qallek jew tip ta 'jiddeduċu li, 1051 00:46:45,320 --> 00:46:45,986 iżda dan huwa veru. 1052 00:46:45,986 --> 00:46:48,280 Hija tmur fuq għal isfel u mbagħad jżomm tirrepeti. 1053 00:46:48,280 --> 00:46:55,840 Mela jekk jien ittajpjat fil ngħidu aħna, in-numru negattiv 1, hija n anqas minn negattiv 1? 1054 00:46:55,840 --> 00:46:56,340 Yeah. 1055 00:46:56,340 --> 00:46:58,470 Minħabba negattiv 1 huwa inqas minn 1. 1056 00:46:58,470 --> 00:46:59,510 Allura dak li jiġri? 1057 00:46:59,510 --> 00:47:03,260 Jien ser tagħmel dan filwaqt n huwa inqas minn 1, 1058 00:47:03,260 --> 00:47:05,760 hekk jien se jmorru lura għal-linja 28. 1059 00:47:05,760 --> 00:47:09,530 >> U kull time-- u ejja jimxu this-- jagħmlu funzjoni 1 li josservawha, 1060 00:47:09,530 --> 00:47:11,340 u issa dot slash funzjoni 1. 1061 00:47:11,340 --> 00:47:14,280 Jekk tip I negattiv 1, huwa ser iżommu yelling fil lili 1062 00:47:14,280 --> 00:47:17,530 sal I jikkoperaw minħabba li kull ta 'inputs tiegħi huwa inqas minn 1 1063 00:47:17,530 --> 00:47:20,070 u jekk huwa filwaqt li inqas minn 1, Jien ser tkompli tagħmel dan. 1064 00:47:20,070 --> 00:47:24,240 Jekk I finalment jagħtiha numru simili 50, Thankfully, jgħid, grazzi għall-50. 1065 00:47:24,240 --> 00:47:24,970 Għaliex? 1066 00:47:24,970 --> 00:47:30,640 Minħabba hekk kif n ma jkunx inqas minn 1, I stop jkollna staġnati f'dan loop, 1067 00:47:30,640 --> 00:47:33,840 u dan il-keyword ġdida llum, ritorn, litteralment ma dan. 1068 00:47:33,840 --> 00:47:36,800 Hekk stajt biss implimentati, b'mod sens, l-ekwivalenti ta 'GetString, 1069 00:47:36,800 --> 00:47:40,590 fejn jien għoti lura lill min qed tuża me, xi valur. 1070 00:47:40,590 --> 00:47:42,820 Ma għandhom ikunu string, huwa ta 'int. 1071 00:47:42,820 --> 00:47:44,990 Allura sempliċi, ta 'malajr eżempju, iżda aħna ser dalwaqt 1072 00:47:44,990 --> 00:47:47,930 tara ftit aktar sofistikati Verżjonijiet għadhom. 1073 00:47:47,930 --> 00:47:53,882 Fil-fatt, ejja tagħti ħarsa lejn wieħed numerika, li huwa msejjaħ return.c. 1074 00:47:53,882 --> 00:47:55,590 U dan wieħed fil-fatt ftit aktar sempliċi. 1075 00:47:55,590 --> 00:47:59,010 Allura iskop dan il-programm fil life-- ejja tiġbor u run, 1076 00:47:59,010 --> 00:48:03,090 sabiex tagħmel ritorn, dot slash, avviż return-- 1077 00:48:03,090 --> 00:48:05,530 il-programm sempliċiment kubi il-valur 2. 1078 00:48:05,530 --> 00:48:08,410 Huwa pretty stupid, huwa diffiċli kodiċi, dan ma jieħux xi inputs, 1079 00:48:08,410 --> 00:48:12,220 iżda ma juru ieħor funzjoni li stajt bil-miktub myself. 1080 00:48:12,220 --> 00:48:15,760 So here, stajt ddikjarat varjabbli, imsejħa x, ta 'int tip, 1081 00:48:15,760 --> 00:48:17,840 ugwali għan-numru 2, kompletament arbitrarja. 1082 00:48:17,840 --> 00:48:19,530 Dan huwa biss xi stampar fluffy. 1083 00:48:19,530 --> 00:48:23,070 Hija tgħid x Huwa issa, tali u tali, cubing dot dot dot. 1084 00:48:23,070 --> 00:48:26,390 U l-magic hija apparentement konformi 21. 1085 00:48:26,390 --> 00:48:30,120 Jien ssejjaħ funzjoni msejħa, kubi, Jien Teħodha folja ta 'karta 1086 00:48:30,120 --> 00:48:32,890 bin-numru 2 bil-miktub dwar dan, u liema valur, matematikament, 1087 00:48:32,890 --> 00:48:34,860 do Irrid li toħroġ minnha? 1088 00:48:34,860 --> 00:48:36,570 Just bħala verifika sanità? 1089 00:48:36,570 --> 00:48:37,070 8. 1090 00:48:37,070 --> 00:48:37,570 Dritt? 1091 00:48:37,570 --> 00:48:40,160 I tixtieq 2 kubiku lura, 2 għal il-qawwa ta '3, hekk 8 lura. 1092 00:48:40,160 --> 00:48:42,570 >> Għalhekk, fejn huwa kubu implimentat? 1093 00:48:42,570 --> 00:48:44,349 Ukoll, avviż huwa implimentat stabbiliti hawn. 1094 00:48:44,349 --> 00:48:47,140 U bħad qabel, loġikament, anki jekk il-sintassi hija probabbilment 1095 00:48:47,140 --> 00:48:49,320 ferm ġdida ħafna minnkom, Irrid din il-funzjoni 1096 00:48:49,320 --> 00:48:51,780 għall-idejn me lura folja ta karta ma 'int fuqha. 1097 00:48:51,780 --> 00:48:53,990 So I jkollhom int, il isem huwa arbitrarju, 1098 00:48:53,990 --> 00:48:55,530 iżda konvenjenti imsejħa kubu. 1099 00:48:55,530 --> 00:48:58,430 L-input għal dan, huwa n ta tip numru sħiħ, b'tali mod li 1100 00:48:58,430 --> 00:49:00,800 kif I jistgħu jgħaddu fin-numru 2 fuq folja tal-karta. 1101 00:49:00,800 --> 00:49:03,910 U allura jirriżulta jappoġġja C matematika, sabiex inti ma għandekx x għas drabi, 1102 00:49:03,910 --> 00:49:06,680 inti biss tuża l-asterisk għat-tkattir. 1103 00:49:06,680 --> 00:49:11,070 U dan jirritorna drabi n żminijiet n n, li hija sempliċement valur kubiku. 1104 00:49:11,070 --> 00:49:12,840 >> Għalhekk, fejn aħna se kollha ta 'dan? 1105 00:49:12,840 --> 00:49:14,570 Dan żgur huwa tour whirlwind, mistrieħ assigurat, 1106 00:49:14,570 --> 00:49:16,410 li fit-taqsimiet super u fil-problema sett 1, 1107 00:49:16,410 --> 00:49:18,368 inti ser tkun mixi permezz dan kollu l-aktar. 1108 00:49:18,368 --> 00:49:22,490 U fil-problema stabbilixxa l-1, aħna ser transizzjoni mid-dinja grafika ta Scratch 1109 00:49:22,490 --> 00:49:25,640 għal xi ħaġa aktar linja tal-kmand fil C. Iżda aħna ser jieħdu l-ispirazzjoni 1110 00:49:25,640 --> 00:49:27,680 minn dan hawn logħba minn imgħoddi, fejn 1111 00:49:27,680 --> 00:49:31,591 użu C u l-edizzjoni standard tal- sett p inti ser timplimenta piramida Mario. 1112 00:49:31,591 --> 00:49:34,340 U fil-Hacker edizzjoni tal- sett p, jekk hekk jagħżlu li jeleġġu, 1113 00:49:34,340 --> 00:49:38,280 inti ser timplimenta daqsxejn aktar sfida piramida żewġ quċċati. 1114 00:49:38,280 --> 00:49:41,239 Int ser ikollok jimplimentaw ukoll algoritmu, algoritmu greedy. 1115 00:49:41,239 --> 00:49:43,030 Jirriżulta hemm xi loġika interessanti 1116 00:49:43,030 --> 00:49:45,640 wara l-proċess ta ' tmexxija istazzjon ta 'kaxxier 1117 00:49:45,640 --> 00:49:47,410 u fil-fatt għoti xi ħadd bidla lura. 1118 00:49:47,410 --> 00:49:50,410 Hemm algoritmu li pjuttost sempliċi, li inti tista 'anki 1119 00:49:50,410 --> 00:49:53,576 jaħtfu intuwittivament meta inti l-ewwel taqra it-- jirrealizzaw dan huwa dak I stajt dejjem 1120 00:49:53,576 --> 00:49:57,110 jsir kwalunkwe ħin stajt mogħtija lil xi ħadd xi back-- flus li jippermetti li inti dejjem 1121 00:49:57,110 --> 00:50:00,679 jimminimizzaw in-numru ta ' noti tal-karta jew muniti tal-metall 1122 00:50:00,679 --> 00:50:02,220 li int għoti lura lill-utent. 1123 00:50:02,220 --> 00:50:04,610 U dan, naturalment, huwa konvinċenti għaliex jekk inti tmur biex CVS jew whatnot, 1124 00:50:04,610 --> 00:50:06,430 inti ma tridx tkun mogħtija mazz sħiħ ta 'dawk 1125 00:50:06,430 --> 00:50:07,596 jew mazz sħiħ ta 'pennies. 1126 00:50:07,596 --> 00:50:10,120 Trid li l-inqas numru muniti, probabbilment, ikun possibbli. 1127 00:50:10,120 --> 00:50:13,070 >> Fl-aħħarnett, inti ser jintalbu wkoll dabble fid-dinja ta 'ilma 1128 00:50:13,070 --> 00:50:17,220 u fil-fatt tikseb apprezzament għal immappjar bejn ir-rati ta 'fluss, 1129 00:50:17,220 --> 00:50:19,890 ta 'prodotti simili, ilma fil-doċċa, kemm kemm ilma huwa użat. 1130 00:50:19,890 --> 00:50:22,640 U l-allużjoni fih, se jkun dan il-klipp hawn, 1131 00:50:22,640 --> 00:50:24,840 li aħna ser jispiċċaw fuq għal biss 60 sekonda, li 1132 00:50:24,840 --> 00:50:29,070 żebgħa stampa ta ' rjus tad-doċoċ-fluss baxxa. 1133 00:50:29,070 --> 00:50:30,886 >> [Daqq video] 1134 00:50:30,886 --> 00:50:31,385 -kull Dritt. 1135 00:50:31,385 --> 00:50:32,774 Sibt kollox hawn. 1136 00:50:32,774 --> 00:50:35,800 Sibt l-F Series Ċiklun, Hydra, Jetflow, Stokkolma 1137 00:50:35,800 --> 00:50:37,660 Supersteam, inti isem li bih. 1138 00:50:37,660 --> 00:50:39,265 >> -u Liema do you jirrakkomandaw? 1139 00:50:39,265 --> 00:50:40,460 >> Liema huma inti tfittex? 1140 00:50:40,460 --> 00:50:41,300 >> Bniedem -Power. 1141 00:50:41,300 --> 00:50:42,285 Power. 1142 00:50:42,285 --> 00:50:42,910 -SIMILI Silkwood. 1143 00:50:42,910 --> 00:50:44,520 -Li S għar-radjazzjoni. 1144 00:50:44,520 --> 00:50:46,335 -Li Dritt. 1145 00:50:46,335 --> 00:50:48,275 -Issa Dak li huwa dan? 1146 00:50:48,275 --> 00:50:49,704 -Li Hija l-Commando 450. 1147 00:50:49,704 --> 00:50:50,620 I ma jbiegħux li wieħed. 1148 00:50:50,620 --> 00:50:51,700 >> -Imma dan huwa dak li rridu. 1149 00:50:51,700 --> 00:50:52,680 Huwa comando 450. 1150 00:50:52,680 --> 00:50:53,882 >> -Ebda Nemmen lili. 1151 00:50:53,882 --> 00:50:55,090 Huwa użat biss fil-ċirku. 1152 00:50:55,090 --> 00:50:56,512 Huwa għal iljunfanti. 1153 00:50:56,512 --> 00:50:59,356 >> -I'll Tħallas xejn. 1154 00:50:59,356 --> 00:51:01,252 >> Liema dwar Jerry? 1155 00:51:01,252 --> 00:51:02,760 >> -He Ma tista 'timmaniġġja dan. 1156 00:51:02,760 --> 00:51:04,910 Hu delikat. 1157 00:51:04,910 --> 00:51:05,750 Oh yeah. 1158 00:51:05,750 --> 00:51:36,737 1159 00:51:36,737 --> 00:51:37,320 [END Daqq] 1160 00:51:37,320 --> 00:51:37,700 DAVID J Malan: Kull dritt. 1161 00:51:37,700 --> 00:51:38,820 Li jekk għal CS50. 1162 00:51:38,820 --> 00:51:40,050 Aħna ser tara int ġimgħa d-dieħla. 1163 00:51:40,050 --> 00:51:45,910 1164 00:51:45,910 --> 00:51:49,029 >> SPEAKER 1: [? Scully?], [? Ian,?] safejn dan il-proġett outro, 1165 00:51:49,029 --> 00:51:50,362 dak li jkollu guys toħroġ bi? 1166 00:51:50,362 --> 00:51:51,990 >> SPEAKER 2: Well, konna mogħtija dan varjetà tal-ħsieb, 1167 00:51:51,990 --> 00:51:53,250 u naħsbu li l-aħjar mod to-- 1168 00:51:53,250 --> 00:51:53,660 >> SPEAKER 3: Mejju I? 1169 00:51:53,660 --> 00:51:54,326 >> SPEAKER 2: Yeah. 1170 00:51:54,326 --> 00:51:56,360 Bil-mezzi kollha, fil-fatt. 1171 00:51:56,360 --> 00:51:59,425 >> SPEAKER 3: So I think nistgħu qosor idea tagħna 1172 00:51:59,425 --> 00:52:05,450 għall-Outros ma xejn word-- wieħed. 1173 00:52:05,450 --> 00:52:08,950 1174 00:52:08,950 --> 00:52:10,409 >> DAVID J Malan: Xejn? 1175 00:52:10,409 --> 00:52:11,200 SPEAKER 3: Xejn. 1176 00:52:11,200 --> 00:52:12,990 DAVID J Malan: Xi jfisser? 1177 00:52:12,990 --> 00:52:16,260 SPEAKER 3: Il-Outros huma dwar xejn. 1178 00:52:16,260 --> 00:52:21,720 SPEAKER 2: Well, I mean, fil-filosofija, I mean, xejn huwa dejjem xi ħaġa. 1179 00:52:21,720 --> 00:52:24,200 SPEAKER 1: Allura what's-- x'inhu l-premessa? 1180 00:52:24,200 --> 00:52:25,720 SPEAKER 3: Allura huwa bħall-ħajja. 1181 00:52:25,720 --> 00:52:26,680 OK. 1182 00:52:26,680 --> 00:52:28,294 What did you do illum? 1183 00:52:28,294 --> 00:52:31,811 >> DAVID J Malan: I ltqajna up, kellhom kolazzjon, u waslet biex jaħdmu. 1184 00:52:31,811 --> 00:52:34,056 >> SPEAKER 3: C'est outro. 1185 00:52:34,056 --> 00:52:36,806 SPEAKER 2: Iżda, I mean, m'għandhomx xi ħaġa jiġri lilu fuq the-- 1186 00:52:36,806 --> 00:52:37,889 SPEAKER 3: No, no, no, no. 1187 00:52:37,889 --> 00:52:40,220 Xejn jiġri. 1188 00:52:40,220 --> 00:52:42,910 >> SPEAKER 1: Allura għaliex aħna jaraw? 1189 00:52:42,910 --> 00:52:46,956 >> SPEAKER 3: Minħabba huwa ta 'outro għall CS50. 1190 00:52:46,956 --> 00:52:48,652 >> DAVID J Malan: Għadu mhux. 1191 00:52:48,652 --> 00:52:49,151