1 00:00:00,000 --> 00:00:10,940 2 00:00:10,940 --> 00:00:13,060 >> DAVID J Malan: Tout dwa, se konsa sa a se CS50. 3 00:00:13,060 --> 00:00:15,040 Lè sa a se byen klè yon Vandredi. 4 00:00:15,040 --> 00:00:16,850 Lè sa a se nan fen semèn yon sèl. 5 00:00:16,850 --> 00:00:21,020 Se konsa, ou ka sonje ke nou sispann, dènye fwa, ak yon cliffhanger nan kalite. 6 00:00:21,020 --> 00:00:25,020 Kijan nou ekspoze manti sa a, ke pa gen okenn gen pwoblèm sa ou ve yo te ap grandi anseye 7 00:00:25,020 --> 00:00:31,610 moute, 1 divize pa 10 se pa, nan reyalite, 0.1 oswa 0,100 oswa 0,10000. 8 00:00:31,610 --> 00:00:35,270 An reyalite, si nou konpile sa a pwogram, jan nou te fè yè, ak, 9 00:00:35,270 --> 00:00:39,770 fè enpresizyon, ak Lè sa fè dot, koupe, enpresizyon, 10 00:00:39,770 --> 00:00:43,600 nou te aprann ke sa a se sa ki nan 1 divize pa 10 aktyèlman se. 11 00:00:43,600 --> 00:00:46,140 Se konsa, sa a pa vrèman byen ka-a. 12 00:00:46,140 --> 00:00:49,014 Men, sa a fè allusion nan kèk limitasyon fondamantal nan òdinatè. 13 00:00:49,014 --> 00:00:50,930 Ak tout bon, nan mitan an bagay sa yo nou ap ale nan fè 14 00:00:50,930 --> 00:00:55,130 jodi a se pran yon gade nan poukisa sa a gen ki te pase, ki sa enplikasyon sa a gen, 15 00:00:55,130 --> 00:00:58,430 ki jan limanite te echwe atrab sa a nan kèk trè 16 00:00:58,430 --> 00:01:00,410 situations-- grav rezilta a nan yo ki nan 17 00:01:00,410 --> 00:01:03,141 te gen byen trajik ak expensive-- epi tou 18 00:01:03,141 --> 00:01:04,849 pran yon gade nan ki jan nou ka aktyèlman defann 19 00:01:04,849 --> 00:01:06,530 kont sa yo kalite limit. 20 00:01:06,530 --> 00:01:10,940 Se konsa, entwitif, petèt, poukisa se 1 divize pa 10, 21 00:01:10,940 --> 00:01:15,480 dapre òdinatè mwen an isit la, pa sèlman 1/10, 0.10? 22 00:01:15,480 --> 00:01:15,980 Yeah. 23 00:01:15,980 --> 00:01:16,530 Ki sa ou panse? 24 00:01:16,530 --> 00:01:17,860 >> ODYANS MANM: Rasin lan se diferan? 25 00:01:17,860 --> 00:01:18,550 >> DAVID J Malan: ki sa ki la? 26 00:01:18,550 --> 00:01:19,730 Oh, rasin an se diferan? 27 00:01:19,730 --> 00:01:20,720 Se konsa, pa byen. 28 00:01:20,720 --> 00:01:23,200 Li nan aktyèlman plis fondamantal nan pyès ki nan konpitè. 29 00:01:23,200 --> 00:01:23,980 Lòt panse? 30 00:01:23,980 --> 00:01:24,584 Yeah. 31 00:01:24,584 --> 00:01:26,750 ODYANS MANM: Yo reprezante yon fason diferan nimewo? 32 00:01:26,750 --> 00:01:27,880 DAVID J Malan: Se konsa, Dwa they--. 33 00:01:27,880 --> 00:01:29,338 Yo reprezante nimewo yon lòt jan. 34 00:01:29,338 --> 00:01:30,700 Inègzakt, aparamman. 35 00:01:30,700 --> 00:01:33,190 Se konsa, ki is-- Oke, yon fason diferan soti nan sa ki? 36 00:01:33,190 --> 00:01:34,490 Ou nan men ki moun? 37 00:01:34,490 --> 00:01:35,050 Nan men nou? 38 00:01:35,050 --> 00:01:35,966 ODYANS MANM: Yeah. 39 00:01:35,966 --> 00:01:38,930 Yo pa sèvi ak desimal a sistèm nan [fèbl]. 40 00:01:38,930 --> 00:01:39,680 DAVID J Malan: OK. 41 00:01:39,680 --> 00:01:41,560 Se konsa, nan yon sans, yo pa fè sa sèvi ak sistèm la desimal. 42 00:01:41,560 --> 00:01:43,720 Anba kapo a, tout bagay se, tout bon, binè, 43 00:01:43,720 --> 00:01:45,510 e ke sa a ki gen rapò, an reyalite. 44 00:01:45,510 --> 00:01:48,135 Men, li la menm yon pi senp eksplikasyon pase sa. 45 00:01:48,135 --> 00:01:48,635 Yeah. 46 00:01:48,635 --> 00:01:49,970 >> ODYANS MANM: Yo sèlman gen anpil miyèt moso. 47 00:01:49,970 --> 00:01:52,370 Yo kapab sèlman magazen jiska yon sèten mezi, tankou ak chif desimal yo. 48 00:01:52,370 --> 00:01:52,780 >> DAVID J Malan: Yeah. 49 00:01:52,780 --> 00:01:54,420 Sa a se sa k ap reyèlman ap resevwa nan li. 50 00:01:54,420 --> 00:01:57,180 Li sanble ke òdinatè tipikman, yo pral toujou sèlman 51 00:01:57,180 --> 00:01:59,690 sèvi ak yon kantite lajan fini nan enfòmasyon ki reprezante yon bagay. 52 00:01:59,690 --> 00:01:59,870 Dwa? 53 00:01:59,870 --> 00:02:02,110 Apre yo tout, nou sèlman gen yon fiks kantite lajan pou espas ki gen kapasite difisil. 54 00:02:02,110 --> 00:02:04,210 Nou sèlman gen yon kantite fiks nan RAM, oswa òdinatè memwa. 55 00:02:04,210 --> 00:02:06,251 Men, si ou sèlman gen yon kantite lajan fiks de yon bagay, 56 00:02:06,251 --> 00:02:09,611 siman ou pa ka aktyèlman konte moute Infinity oswa nenpòt ki kantite ou vle. 57 00:02:09,611 --> 00:02:11,610 Ou menm, kalite, gen chwazi epi chwazi sa seri 58 00:02:11,610 --> 00:02:13,220 nan valè w ap ale nan sipòte. 59 00:02:13,220 --> 00:02:18,100 >> Se konsa, pou egzanp, yon semenn oswa de de sa, lè nou te pale de ASCII, 60 00:02:18,100 --> 00:02:21,610 epi nou te pale osijè de 8 Bits, oswa yon multiple, se konsa pale, 61 00:02:21,610 --> 00:02:26,360 Nimewo nan pi gwo nou te kapab reprezante ak 8 Bits te ki sa? 62 00:02:26,360 --> 00:02:28,350 255. 63 00:02:28,350 --> 00:02:31,850 Apre sa, nou ka reprezante 256 valè manm men se pa si nou depanse youn nan yo 64 00:02:31,850 --> 00:02:34,190 sou 0-- Oke, men si nou pase youn nan yo sou 0, 65 00:02:34,190 --> 00:02:36,830 Lè sa a, nimewo a pi gwo se, nan kou, 255. 66 00:02:36,830 --> 00:02:39,410 >> Se konsa, li vire soti, ke sa a se ka a tou, nan kontèks sa a. 67 00:02:39,410 --> 00:02:42,350 Nou te kòmanse pale, dènye fwa, sou nimewo k ap flote-pwen, ki 68 00:02:42,350 --> 00:02:44,640 yo diferan de nonm antye relatif, nan yo ke yo gen yon pwen desimal 69 00:02:44,640 --> 00:02:47,056 epi, èspere ke, kèk nimewo Apre sa, men yo tou. 70 00:02:47,056 --> 00:02:51,730 Yon òdinatè se sèlman tipikman ale yo sèvi ak 32 Bits, petèt 64 Bits 71 00:02:51,730 --> 00:02:53,497 ki reprezante yon valè k ap flote pwen. 72 00:02:53,497 --> 00:02:56,080 Se konsa, menm si nou te cultivées moute aprann matematik ak konnen 73 00:02:56,080 --> 00:02:58,750 ke ou ka absoliman gen yon nonb infini nan nimewo 74 00:02:58,750 --> 00:03:01,650 apre pwen an desimal, pa si ou gen memwa fini. 75 00:03:01,650 --> 00:03:03,930 Ou menm, kalite, gen wonn, oswa chwazi epi chwazi ki 76 00:03:03,930 --> 00:03:05,346 nimewo w ap ale nan reprezante. 77 00:03:05,346 --> 00:03:08,710 Se konsa, ou ka panse a, nan yon sans, sa a ke yo te òdinatè a nan ki pi pre 78 00:03:08,710 --> 00:03:14,050 apwoksimasyon nan valè a 1/10 ki li ka jwenn, ak jis 32 oswa konsa miyèt moso. 79 00:03:14,050 --> 00:03:15,300 Epi li pa jis 1/10. 80 00:03:15,300 --> 00:03:19,820 >> Pou egzanp, si mwen chanje sa a yo 1/3, ki nou panse se menm ki pi senp. 81 00:03:19,820 --> 00:03:21,300 Se konsa, 1 divize pa 3. 82 00:03:21,300 --> 00:03:22,355 Kite m 'sove dosye a. 83 00:03:22,355 --> 00:03:24,680 Kite m 'ale pi devan epi compile li. 84 00:03:24,680 --> 00:03:25,820 Ak kite m 're-kouri li. 85 00:03:25,820 --> 00:03:30,000 Isit la tou, aparamman, 1/3 se pa 0.3 ak Lè sa a yon nonb infini nan 3 a 86 00:03:30,000 --> 00:03:30,770 apre sa. 87 00:03:30,770 --> 00:03:32,540 Ou gen enpresizyon sa a nan fen an. 88 00:03:32,540 --> 00:03:35,544 Se konsa, nou moun yo kòrèk, e ki sa ou te aprann se, an reyalite, ki kòrèk, 89 00:03:35,544 --> 00:03:37,460 men nou ap eurt moute kont kèk limit. 90 00:03:37,460 --> 00:03:39,420 >> Ak sa ki mwen te panse nou ta fè jodi a, se kòmanse 91 00:03:39,420 --> 00:03:42,190 pa gade nan, franchman la, konsekans trajik sa a 92 00:03:42,190 --> 00:03:45,490 pafwa, lè limanite pa byen aplike 93 00:03:45,490 --> 00:03:48,460 pou reyalite sa a ak limit sa yo. 94 00:03:48,460 --> 00:03:52,360 Epitou, n ap wè yon seri de Capsules soti nan Chèn nan Istwa ki pran 95 00:03:52,360 --> 00:03:53,950 gen yon gade nan ki jan bagay ale mal. 96 00:03:53,950 --> 00:03:56,340 Li nan sou 8 minit long, epi n ap tounen vin apre sa a 97 00:03:56,340 --> 00:03:59,439 ak pran yon gade nan egzakteman ki lòt bagay ka ale mal. 98 00:03:59,439 --> 00:04:00,605 Si nou te ka dim lights-- nan 99 00:04:00,605 --> 00:04:02,350 >> [VIDEO lèktur] 100 00:04:02,350 --> 00:04:06,310 >> -Computers, Nou te tout vini nan aksepte pwoblèm sa yo souvan fwistre ki 101 00:04:06,310 --> 00:04:07,750 ale ak yo. 102 00:04:07,750 --> 00:04:11,370 Pinèz, viris, ak lojisyèl pepen yo se pri ti 103 00:04:11,370 --> 00:04:13,230 pou peye pou konvenyans a. 104 00:04:13,230 --> 00:04:17,519 Men, nan gwo teknoloji ak gwo vitès pwogram espas militè yo ak aplikasyon pou, 105 00:04:17,519 --> 00:04:22,130 pwoblèm nan pi piti kapab gen gwo pouvwa nan dezas. 106 00:04:22,130 --> 00:04:27,750 Sou, 4 jen 1996, syantis prepare lanse yon sans aryan 5 fize. 107 00:04:27,750 --> 00:04:29,890 Li te pote syantifik satelit fèt 108 00:04:29,890 --> 00:04:33,030 a etabli jisteman la ki jan Reyaji jaden mayetik Latè 109 00:04:33,030 --> 00:04:35,600 ak van solè. 110 00:04:35,600 --> 00:04:37,930 Te fize a bati pou Ajans la Espas Ewopeyen an 111 00:04:37,930 --> 00:04:41,620 ak leve li nan mitan etablisman li yo sou kòt la nan franse gwiyane. 112 00:04:41,620 --> 00:04:44,924 >> -epi Sou 30 segonn nan vòl la, yo te premye 113 00:04:44,924 --> 00:04:46,340 remake yon bagay te ale mal. 114 00:04:46,340 --> 00:04:49,280 Sa ajutaj yo te tournan nan yon fason yo te reyèlman pa ta dwe. 115 00:04:49,280 --> 00:04:53,042 Anviwon 40 segonn nan vòl la, klèman machin nan te nan tray, 116 00:04:53,042 --> 00:04:55,250 e ke sa a lè yo te fè desizyon an detwi l '. 117 00:04:55,250 --> 00:04:58,970 Nan yon pakèt Ofisye Sekirite ak kouraz fòmidab bourade bouton an, 118 00:04:58,970 --> 00:05:03,940 kònen moute fize a anvan li te kapab vin yon danje nan sekirite piblik la. 119 00:05:03,940 --> 00:05:06,600 >> -Sa A te jenn fi a vwayaj nan aryan a 5, 120 00:05:06,600 --> 00:05:09,270 ak destriksyon li yo te pran mete paske yo gen yon defo 121 00:05:09,270 --> 00:05:10,992 entegre nan lojisyèl fize la. 122 00:05:10,992 --> 00:05:12,700 -La Pwoblèm ki nan la Aryan te ke gen 123 00:05:12,700 --> 00:05:15,370 te yon nimewo ki te mande pou 64 Bits yo eksprime, 124 00:05:15,370 --> 00:05:18,150 ak li te vle konvèti li nan yon kantite 16 ti jan. 125 00:05:18,150 --> 00:05:21,160 Yo sipoze ke nimewo a pa te janm ale nan dwe pran anpil gwo, 126 00:05:21,160 --> 00:05:25,020 ki pi fò nan tout sa yo nan chif nimewo a 64 ti jan te 0 a. 127 00:05:25,020 --> 00:05:26,310 Yo te sa ki mal. 128 00:05:26,310 --> 00:05:28,680 >> -La Enkapasite nan yon sèl pwogram lojisyèl aksepte 129 00:05:28,680 --> 00:05:32,820 kalite a nan nimewo ki te pwodwi pa yon lòt te nan rasin lan nan fayit la. 130 00:05:32,820 --> 00:05:37,190 Devlopman lojisyèl te vin yon trè koute chè yon pati nan nouvo teknoloji. 131 00:05:37,190 --> 00:05:40,760 Te fize a aryan 4 te trè siksè, se konsa anpil nan lojisyèl an 132 00:05:40,760 --> 00:05:43,990 kreye pou li te tou itilize sou aryan a 5. 133 00:05:43,990 --> 00:05:49,750 >> Pwoblèm -La debaz te ke aryan a 5 te pi vit, akselere pi vit. 134 00:05:49,750 --> 00:05:53,000 Apre sa, lojisyèl an pa t 'gen matirite pou sa. 135 00:05:53,000 --> 00:05:56,330 >> -La Destriksyon fize a te yon gwo dezas finansye, 136 00:05:56,330 --> 00:05:59,670 tout akòz yon erè lojisyèl minit. 137 00:05:59,670 --> 00:06:01,990 Men, sa pa te premye a tan pwoblèm konvèsyon done 138 00:06:01,990 --> 00:06:05,310 te gwo malè tonbe sou teknoloji fize modèn. 139 00:06:05,310 --> 00:06:08,300 >> -Nan 1991, ak nan kòmansman an nan lagè a Premye Gòlf, 140 00:06:08,300 --> 00:06:10,650 misil la Patriot ki gen eksperyans yon kalite ki sanble 141 00:06:10,650 --> 00:06:12,650 nan pwoblèm konvèsyon kantite. 142 00:06:12,650 --> 00:06:15,620 Kòm yon rezilta, 28 moun, 28 sòlda Ameriken 143 00:06:15,620 --> 00:06:18,440 te mouri ak sou 100 lòt moun blese, 144 00:06:18,440 --> 00:06:21,900 lè Patriot la, ki te sipoze nan pwoteje kont scuds fèk ap rantre, 145 00:06:21,900 --> 00:06:24,630 echwe pou pou tire yon misil. 146 00:06:24,630 --> 00:06:29,440 >> -Lè Irak anvayi Kowet ak Amerik te lanse Tanpèt Dezè byen bonè nan mwa 1991, 147 00:06:29,440 --> 00:06:33,800 Patriot misil yo te deplwaye pil pwoteje Arabi Saoudit ak pèp Izrayèl la 148 00:06:33,800 --> 00:06:37,000 soti nan Irak atak misil Scud. 149 00:06:37,000 --> 00:06:40,610 Patriot la se yon US, mwayen-ranje sifas-a-lè sistèm 150 00:06:40,610 --> 00:06:43,010 manifaktire pa konpayi an Raytheon. 151 00:06:43,010 --> 00:06:49,080 >> Gwosè -La nan entèrsèpsyon nan Patriot, tèt li, se sou, apeprè 20 pye long. 152 00:06:49,080 --> 00:06:51,250 Epi, se peze sou 2000 liv. 153 00:06:51,250 --> 00:06:55,195 Apre sa, li pote yon tèt degè a sou- Mwen panse ke li apeprè 150 liv. 154 00:06:55,195 --> 00:06:59,500 Apre sa, tèt degè a, tèt li, se yon eksplozif segondè, 155 00:06:59,500 --> 00:07:02,570 ki te gen fragman wonn li. 156 00:07:02,570 --> 00:07:06,890 Aman a nan tèt degè a se fèt yo aji tankou plon. 157 00:07:06,890 --> 00:07:09,130 >> Misil -La se te pote, 4 pou chak veso, 158 00:07:09,130 --> 00:07:12,080 , epi yo transpòte pa yon semi-trelè. 159 00:07:12,080 --> 00:07:19,100 >> Patriot sistèm -La misil anti ale tounen omwen 20 ane kounye a. 160 00:07:19,100 --> 00:07:22,320 Li te orijinal ki fèt kòm yon misil defans lè 161 00:07:22,320 --> 00:07:24,180 tire desann avyon lènmi. 162 00:07:24,180 --> 00:07:27,860 Nan Lagè Premye Gòlf, lè ke lagè te vini ansanm, 163 00:07:27,860 --> 00:07:32,745 Lame a te vle sèvi ak li nan tire desann scuds, pa avyon. 164 00:07:32,745 --> 00:07:36,150 Force la irakyen pa t ' anpil nan yon pwoblèm, 165 00:07:36,150 --> 00:07:39,110 men Lame an te enkyete w sou scuds. 166 00:07:39,110 --> 00:07:42,340 Se konsa, yo te eseye ajou Patriot la. 167 00:07:42,340 --> 00:07:44,760 >> -Intercepting Yon lènmi misil vwayaje nan Mach senk 168 00:07:44,760 --> 00:07:47,250 te ale yo dwe defi ase. 169 00:07:47,250 --> 00:07:50,000 Men, lè Patriot la te kouri antre nan sèvis, 170 00:07:50,000 --> 00:07:54,030 Lame a pa t 'okouran de yon Modifikasyon irakyen ki te fè 171 00:07:54,030 --> 00:07:56,840 scuds yo prèske enposib frape. 172 00:07:56,840 --> 00:08:01,020 >> -Ki Te pase, se yo ki scuds te vini nan, te enstab, 173 00:08:01,020 --> 00:08:02,310 yo te tranble. 174 00:08:02,310 --> 00:08:05,140 Rezon ki fè la pou sa a, te Irakyen yo yo, nan lòd 175 00:08:05,140 --> 00:08:09,450 yo ka resevwa 600 kilomèt soti nan yon 300 kilomèt seri misil, 176 00:08:09,450 --> 00:08:12,930 pran pwa soti nan tèt degè a devan yo e te fè tèt degè a alum. 177 00:08:12,930 --> 00:08:17,710 Se konsa, kounye a, Patriot la ap eseye vini a Scud a, ak pi fò nan tan an, 178 00:08:17,710 --> 00:08:21,700 laplipa moun lan nan tan, li ta jis vole pa Scud a. 179 00:08:21,700 --> 00:08:25,700 >> -Yon Fwa operatè yo sistèm Patriot reyalize Patriot la rate sib li yo, 180 00:08:25,700 --> 00:08:29,790 yo detounen tèt degè Patriot la, pou fè pou evite aksidan posib si li 181 00:08:29,790 --> 00:08:32,380 te pèmèt li tonbe nan tè a. 182 00:08:32,380 --> 00:08:36,340 >> -ki Se sa ki te pi fò moun te wè, moun fireballs gwo nan syèl la, 183 00:08:36,340 --> 00:08:41,289 ak konpwann kòm segman aks dèz nan Scud tèt de gè. 184 00:08:41,289 --> 00:08:43,590 Malgre ke nan mitan lannwit lan syèl, Patriyòt parèt 185 00:08:43,590 --> 00:08:47,020 yo dwe avèk siksè detwi scuds, nan Dhahran, 186 00:08:47,020 --> 00:08:49,730 ta kapab genyen pa gen okenn erè sou pèfòmans li yo. 187 00:08:49,730 --> 00:08:53,990 Gen, sistèm rada Patriot la pèdi tras nan yon Scud fèk ap rantre, 188 00:08:53,990 --> 00:08:56,650 epi pa janm te lanse, akòz yon defo lojisyèl. 189 00:08:56,650 --> 00:08:59,650 190 00:08:59,650 --> 00:09:04,100 Li te Izrayelyen yo ki moun ki premye dekouvri ki pi long sistèm lan nan te sou li a, 191 00:09:04,100 --> 00:09:07,510 pi gwo Diferans la nan tan te vin, akòz yon revèy entegre 192 00:09:07,510 --> 00:09:09,490 nan òdinatè sistèm nan. 193 00:09:09,490 --> 00:09:12,670 >> -About 2 semèn anvan trajedi a nan Dhahran, 194 00:09:12,670 --> 00:09:15,010 Izrayelyen yo rapòte bay Depatman an defans, 195 00:09:15,010 --> 00:09:17,940 ke sistèm lan te pèdi tan, ke apre sou 8 èdtan nan kouri, 196 00:09:17,940 --> 00:09:21,410 yo remake ke sistèm lan te vin notables mwens egzat. 197 00:09:21,410 --> 00:09:25,290 Depatman an defans reponn pa di tout nan pil yo Patriot 198 00:09:25,290 --> 00:09:28,070 pa kite sistèm yo sou pou yon tan long. 199 00:09:28,070 --> 00:09:29,960 Yo pa janm di sa ki yon bon bout tan te ye a. 200 00:09:29,960 --> 00:09:30,460 8 èdtan? 201 00:09:30,460 --> 00:09:30,960 10 èdtan? 202 00:09:30,960 --> 00:09:31,870 1000 èdtan? 203 00:09:31,870 --> 00:09:33,734 Okenn moun pa te konnen. 204 00:09:33,734 --> 00:09:35,650 Batri -La Patriot estasyone nan kazèn lan 205 00:09:35,650 --> 00:09:40,410 a Dhahran, ak defekte entèn li yo revèy, te sou plis pase 100 èdtan 206 00:09:40,410 --> 00:09:43,041 sou nwit la la nan 25 mwa fevriye a. 207 00:09:43,041 --> 00:09:47,416 >> -Li Suivi tan nan yon presizyon nan sou 1/10 nan yon dezyèm fwa. 208 00:09:47,416 --> 00:09:49,290 Koulye a, 1/10 nan yon dezyèm fwa se yon nimewo enteresan 209 00:09:49,290 --> 00:09:52,700 paske li pa kapab eksprime nan binè, egzakteman. 210 00:09:52,700 --> 00:09:54,820 Ki vle di, li pa kapab dwe manifeste, egzakteman, 211 00:09:54,820 --> 00:09:57,420 nan nenpòt òdinatè modèn dijital. 212 00:09:57,420 --> 00:10:01,460 Li difisil yo kwè, men sèvi ak sa a kòm yon egzanp. 213 00:10:01,460 --> 00:10:03,520 Se pou nou pran nimewo a, 1/3. 214 00:10:03,520 --> 00:10:07,110 1/3 pa kapab eksprime nan desimal, egzakteman. 215 00:10:07,110 --> 00:10:11,490 1/3 se 0,333 ale sou pou Infinity. 216 00:10:11,490 --> 00:10:15,486 Gen nan pa gen fason yo fè sa, ak presizyon absoli, nan desimal. 217 00:10:15,486 --> 00:10:18,360 Sa a egzakteman kalite a menm nan pwoblèm ki te rive nan Patriot la. 218 00:10:18,360 --> 00:10:22,510 Sistèm nan nan pi long kouri, nan vin pi mal erè nan tan te vin. 219 00:10:22,510 --> 00:10:28,420 >> -Apre 100 èdtan de operasyon, erè a nan tan te sèlman sou 1/3 nan yon dezyèm fwa. 220 00:10:28,420 --> 00:10:31,830 Men, nan tèm de vize yon misil vwayaje nan Mach 5, 221 00:10:31,830 --> 00:10:35,890 li a nan yon swiv erè nan plis pase 600 mèt. 222 00:10:35,890 --> 00:10:38,970 Li ta yon erè fatal pou sòlda yo nan Dhahran. 223 00:10:38,970 --> 00:10:45,035 >> -Ki Te pase, se yon lansman Scud te detekte avèk satelit byen bonè-avètisman, 224 00:10:45,035 --> 00:10:48,930 epi yo nouvo ki Scud a te vini nan yon direksyon jeneral yo. 225 00:10:48,930 --> 00:10:51,170 Yo pa t 'konnen kote li te vini yo. 226 00:10:51,170 --> 00:10:53,990 >> -Li Te kounye a jiska rada a eleman ki nan sistèm la Patriot, 227 00:10:53,990 --> 00:10:58,520 defann Dhahran, lokalize epi kenbe tras nan misil a lènmi fèk ap rantre. 228 00:10:58,520 --> 00:10:59,690 >> -La Rada te trè entelijan. 229 00:10:59,690 --> 00:11:01,710 Li ta aktyèlman swiv pozisyon nan Scud a 230 00:11:01,710 --> 00:11:04,040 ak Lè sa a predi ki kote li pwobableman ta dwe, 231 00:11:04,040 --> 00:11:06,140 tan kap vini an, nan rada voye yon batman kè deyò. 232 00:11:06,140 --> 00:11:07,660 Sa te rele pòtay lavil la pòte. 233 00:11:07,660 --> 00:11:11,870 >> -Lè, Yon fwa Patriot la deside ase tan gen 234 00:11:11,870 --> 00:11:16,280 pase yo ale retounen lakay yo epi tcheke pwochen an kote pou sa a objè detekte, 235 00:11:16,280 --> 00:11:17,280 li ale tounen. 236 00:11:17,280 --> 00:11:21,690 Se konsa, lè li te ale tounen nan sa ki mal la plas, li Lè sa a wè pa gen okenn objè 237 00:11:21,690 --> 00:11:25,230 epi li deside ke pa te gen okenn objè, li te yon deteksyon fo, 238 00:11:25,230 --> 00:11:26,650 ak gout tras la. 239 00:11:26,650 --> 00:11:29,690 Scud a fèk ap rantre disparèt soti nan ekran an rada, 240 00:11:29,690 --> 00:11:32,670 ak segonn pita, li te kriye byen fò nan kazèn lan. 241 00:11:32,670 --> 00:11:38,100 Scud a touye 28 e li te dènye a youn te tire pandan Lagè Gòlf la Premye. 242 00:11:38,100 --> 00:11:43,460 Trajik, lojisyèl an mete ajou te rive nan Dhahran jou ki anba la a. 243 00:11:43,460 --> 00:11:46,150 Defo nan lojisyèl te gen te fiks, fèmen 244 00:11:46,150 --> 00:11:48,940 youn chapit nan boulvèse a istwa nan misil a Patriyòt. 245 00:11:48,940 --> 00:11:50,220 >> [END lèktur] 246 00:11:50,220 --> 00:11:54,340 >> DAVID J Malan: Se konsa, nou pral pran yon gade nan kèk limit menm jan an nan jis yon ti jan. 247 00:11:54,340 --> 00:11:58,470 Men, anvan, se pou yo tranzisyon nan yon kèk Fyi la. 248 00:11:58,470 --> 00:12:01,575 Se konsa, yonn-fen semèn sa a, gen yo pral seksyon super, 249 00:12:01,575 --> 00:12:04,200 ki fè yo vle di ke yo evense seksyon pwograme regilyèman, ki 250 00:12:04,200 --> 00:12:05,460 pral kòmanse moute yon semèn isit la. 251 00:12:05,460 --> 00:12:08,204 Pran yon gade nan sit entènèt CS50 la pou plis enfòmasyon sou sa yo. 252 00:12:08,204 --> 00:12:11,120 Yo pral tou gen pou filme-li ak difuze viv pou moun kapab patisipe. 253 00:12:11,120 --> 00:12:12,980 Pwoblèm mete 1 se sou mòn lan sit kou a deja, 254 00:12:12,980 --> 00:12:15,105 epi n ap pran yon gade nan ke nan jis yon ti jan ti kras. 255 00:12:15,105 --> 00:12:18,350 Apre sa, lè biwo tou, pral pran mete sa a Lendi jiska Jedi. 256 00:12:18,350 --> 00:12:20,960 >> Se konsa, sa ki te pi kanonyal nan pwogram nou te nan dènye tan. 257 00:12:20,960 --> 00:12:23,590 Se tankou pi senp la pwogram ou ka ekri nan C, 258 00:12:23,590 --> 00:12:25,250 e menm sa a, se yon ti jan nan yon reklamasyon karaktè fonse. 259 00:12:25,250 --> 00:12:25,750 Dwa? 260 00:12:25,750 --> 00:12:28,070 Se paske gen nan yon anpil nan sanblans konpleksite sa a. 261 00:12:28,070 --> 00:12:30,445 Se konsa, kite a pran yon gade rapid nan sa ki gen kèk nan eleman sa yo 262 00:12:30,445 --> 00:12:33,080 te ak lè sa a eseye bay yon modèl mantal pou konbyen 263 00:12:33,080 --> 00:12:35,710 sa yo ki pi senp nan pwogram travay, ak Lè sa a nou pral kòmanse 264 00:12:35,710 --> 00:12:38,050 gade nan bagay sa yo tout tan tout tan pi konplike. 265 00:12:38,050 --> 00:12:41,280 Se konsa, liy sa a isit la, make kounye a, nan jòn, ki sa nou di, dènye fwa, 266 00:12:41,280 --> 00:12:43,200 ke sa a fè pou nou? 267 00:12:43,200 --> 00:12:45,220 Ki sa ki nan bi pou li sèvi? 268 00:12:45,220 --> 00:12:46,984 Nenpòt moun ki soti nan pi lwen tounen ankò? 269 00:12:46,984 --> 00:12:47,483 Yeah. 270 00:12:47,483 --> 00:12:48,649 >> ODYANS MANM: [fèbl] 271 00:12:48,649 --> 00:12:50,871 272 00:12:50,871 --> 00:12:51,704 DAVID J Malan: Bon. 273 00:12:51,704 --> 00:12:53,537 Se konsa, li ba ou aksè kòmandman, oswa kite la 274 00:12:53,537 --> 00:12:56,750 rele yo fonksyon, ke yon moun lòt te ekri, ki gen te deklare: 275 00:12:56,750 --> 00:12:58,350 se konsa pale, nan kèk lòt dosye-a. 276 00:12:58,350 --> 00:13:02,370 Se konsa, nou pral wè ekzakteman ki sa yon dosye h se kont yon dosye c, evantyèlman. 277 00:13:02,370 --> 00:13:04,710 Men, pou kounye a, jis konnen ki printf, pou egzanp, 278 00:13:04,710 --> 00:13:08,370 se nan mitan fonksyon yo ki te te deklare nan kèk lòt dosye, yon kote 279 00:13:08,370 --> 00:13:12,930 lòt sou kondwi nwaj la difisil ke pèmèt nou jwenn aksè nan printf epi sèvi ak li 280 00:13:12,930 --> 00:13:15,240 san yo pa gen reenvante ki wou tèt nou. 281 00:13:15,240 --> 00:13:16,930 Pandan se tan, prensipal la. 282 00:13:16,930 --> 00:13:19,690 Ki sa ki analòg la nan prensipal la, semèn pase a te ye? 283 00:13:19,690 --> 00:13:20,190 Yeah. 284 00:13:20,190 --> 00:13:21,460 >> ODYANS MANM: se Green drapo klike. 285 00:13:21,460 --> 00:13:21,740 >> DAVID J Malan: Yeah. 286 00:13:21,740 --> 00:13:23,490 Grafouyen a, lè drapo vèt klike. 287 00:13:23,490 --> 00:13:25,560 Se tankou moso nan devinèt ki anvwaye bagay la. 288 00:13:25,560 --> 00:13:28,306 Se konsa, Menm jan an tou, te fè mond lan deside kèk ane de sa ke nan C, 289 00:13:28,306 --> 00:13:30,930 ak yon pakèt moun sou lòt lang, si ou vle ekri yon pwogram, 290 00:13:30,930 --> 00:13:33,410 fonksyon premye ou te yo dwe rele, prensipal la. 291 00:13:33,410 --> 00:13:34,641 Apre sa, li gen yo gade tankou sa a. 292 00:13:34,641 --> 00:13:36,640 Men, nou pral 'tounen an, yon lòt lè, nan sa, int, 293 00:13:36,640 --> 00:13:38,690 epi, anile, vle di nan ki kontèks. 294 00:13:38,690 --> 00:13:42,860 Pou kounye a, aparèy òtopedik yo Curly yo se kalite de tankou moso devinèt fòm Scratch nan 295 00:13:42,860 --> 00:13:45,080 ki ankapsul kèk kantite liy yo. 296 00:13:45,080 --> 00:13:47,070 , Ak nan mitan sou liy ki isit la, se yon sèl sa a isit la. 297 00:13:47,070 --> 00:13:51,610 printf se yon fonksyon ki gen rezon an lavi se ekri ak lèt ​​detache yon afè fòma. 298 00:13:51,610 --> 00:13:55,010 Ak nan fòma, mwen vle di ou kapab ploge nan valè kontneur, 299 00:13:55,010 --> 00:13:58,360 epi ou ka presize konbyen desimal pwen, konbyen nimewo ekri ak lèt ​​detache 300 00:13:58,360 --> 00:14:00,040 apre yon pwen desimal ak renmen an. 301 00:14:00,040 --> 00:14:05,040 Apre sa, printf, nan kou, pran yon sèl oswa plis agiman oswa paramèt, 302 00:14:05,040 --> 00:14:06,770 otreman li te ye, plis tou senpleman, kòm entrain. 303 00:14:06,770 --> 00:14:09,230 >> Se konsa, printf, tankou yon anpil nan fonksyon, pran entrain. 304 00:14:09,230 --> 00:14:12,730 Ak moun ki entrain yo anbrase pa de parantèz yo isit la. 305 00:14:12,730 --> 00:14:15,180 Ak andedan nan tout sa yo se youn opinyon. 306 00:14:15,180 --> 00:14:18,600 Li se yon fisèl, menm jan nou te rele l ', ki se jis yon sekans nan karaktè, 307 00:14:18,600 --> 00:14:22,310 tankou yon mo, oswa yon fraz, oswa yon antye redaksyon menm, nan ant quotes doub. 308 00:14:22,310 --> 00:14:25,712 Epi sa a, sa k ap pase nan gen enfliyans sou konpòtman nan printf paske, nan kou, 309 00:14:25,712 --> 00:14:27,170 li nan jis yon fonksyon ekri an lèt detache jenerik. 310 00:14:27,170 --> 00:14:29,600 Li nan pa pral konnen ki sa ekri ak lèt ​​detache, sof si ou di li. 311 00:14:29,600 --> 00:14:31,000 Lè sa a,, gen kèk karakteristik. 312 00:14:31,000 --> 00:14:34,056 Ki sa nou di sa a etranj sekans nan senbòl se? 313 00:14:34,056 --> 00:14:34,556 Yeah. 314 00:14:34,556 --> 00:14:35,410 >> ODYANS MANM: New liy. 315 00:14:35,410 --> 00:14:35,990 >> DAVID J Malan: New liy. 316 00:14:35,990 --> 00:14:39,340 Se konsa, li vire soti, ou pa ka jis frape, antre nan, lè w ap ekri pwogram nan. 317 00:14:39,340 --> 00:14:42,590 Anjeneral, du a ki pral jwenn yon ti kras konfonn tankou sa ki ou vle di. 318 00:14:42,590 --> 00:14:45,340 Olye de sa, ou gen literalman di, ban m 'yon liy nouvo isit la. 319 00:14:45,340 --> 00:14:49,506 Se konsa, / n se ki sa nou jeneralman rele yon karaktè chape. 320 00:14:49,506 --> 00:14:50,870 Se konsa, n, pou nouvo liy. 321 00:14:50,870 --> 00:14:53,810 Apre sa, du a konnen ke lè li wè / n, 322 00:14:53,810 --> 00:14:57,420 li ta aktyèlman pwovoke òdinatè a, finalman, oswa printf, nan ka sa a, 323 00:14:57,420 --> 00:15:00,260 ekri ak lèt ​​detache soti yon nouvo aktyèl liy, tankou frape a, antre nan, 324 00:15:00,260 --> 00:15:01,480 kle sou klavye ou. 325 00:15:01,480 --> 00:15:05,620 Epi anfen, ki sa te fè nou di pyès sa a nan sentaks se pou? 326 00:15:05,620 --> 00:15:06,591 Ki sa sa reprezante? 327 00:15:06,591 --> 00:15:07,090 Yeah. 328 00:15:07,090 --> 00:15:07,490 >> ODYANS MANM: [fèbl] 329 00:15:07,490 --> 00:15:08,660 >> DAVID J Malan: Se jis nan fen liy. 330 00:15:08,660 --> 00:15:09,909 Li nan nan fen deklarasyon an. 331 00:15:09,909 --> 00:15:11,890 Ak reyalize ke nou pa fè sa mete yo tout kote. 332 00:15:11,890 --> 00:15:13,900 Nou sètènman pa mete yo nan bout yo nan chak liy. 333 00:15:13,900 --> 00:15:16,680 Pou egzanp, gen nan pa youn sou mòn lan premye liy, gen nan pa youn sou liy lan 334 00:15:16,680 --> 00:15:18,680 ak, prensipal yo, gen nan pa youn apre aparèy òtopedik yo Curly, 335 00:15:18,680 --> 00:15:21,740 men ou pral kòmanse wè epi pou yo jwenn abitye avèk ki kote sa yo rele pou. 336 00:15:21,740 --> 00:15:26,014 Lè li nan prèske toujou apre yon fonksyon rele oswa yon deklarasyon, kèk aksyon 337 00:15:26,014 --> 00:15:27,180 ke w ap aktyèlman pran. 338 00:15:27,180 --> 00:15:29,520 >> Apre sa, konnen kounye a, espesyalman si nan mitan moun mwens konfòtab, 339 00:15:29,520 --> 00:15:32,540 sa yo, se kalite ki nan bagay sa yo estipid ke ou pral fini aksidantèlman frape 340 00:15:32,540 --> 00:15:33,873 tèt ou kont miray la sou. 341 00:15:33,873 --> 00:15:36,107 Paske ou pral lojikman konfyans nan kèk pwoblèm 342 00:15:36,107 --> 00:15:38,440 ou te rezoud pou yon pwoblèm seri, ak bagay la modi jis 343 00:15:38,440 --> 00:15:40,187 pa pral konpile oswa menm kouri. 344 00:15:40,187 --> 00:15:43,270 Se konsa, souvan, byen bonè nan, li k ap pase yo gen paske ou rate yon parantèz, 345 00:15:43,270 --> 00:15:44,455 oswa ou te manke yon virgules. 346 00:15:44,455 --> 00:15:46,547 Se konsa, jis pou bliye a sa yo kalite bagay sa yo, 347 00:15:46,547 --> 00:15:49,380 epi eseye pa jwenn fristre pa yo paske trè byen vit fè bagay sa a 348 00:15:49,380 --> 00:15:50,640 vin fin vye granmoun chapo. 349 00:15:50,640 --> 00:15:53,910 Men, li la trè fasil yo ka resevwa fristre byen bonè nan, kòm yon rezilta. 350 00:15:53,910 --> 00:15:57,020 >> Se konsa, kounye a, kite a pran yon gade nan ki jan liy sa a se aktyèlman ap travay 351 00:15:57,020 --> 00:15:59,170 ak Lè sa a gade nan yon yon ti kras pi konplike yon sèl. 352 00:15:59,170 --> 00:16:02,017 Se konsa, nou gen sou isit la a, kapasite fè desen sou ekran sa a. 353 00:16:02,017 --> 00:16:04,100 Li kite yo ta kwè ke sa a se ekran òdinatè mwen an, 354 00:16:04,100 --> 00:16:08,589 men mwen ekri, alo pwogram nan, epi mwen pa te aplike, printf. 355 00:16:08,589 --> 00:16:10,130 Te yon lòt moun aplike, printf. 356 00:16:10,130 --> 00:16:12,420 Ki moun ki ta renmen fè reklamasyon yo te aplike, printf? 357 00:16:12,420 --> 00:16:12,920 Si nou ka? 358 00:16:12,920 --> 00:16:13,830 Tout dwa, sa ki nan non ou? 359 00:16:13,830 --> 00:16:14,155 >> ELÈV 1: [? Kopal. ?] 360 00:16:14,155 --> 00:16:15,529 >> DAVID J Malan: kopal, vin sou yo. 361 00:16:15,529 --> 00:16:16,430 Vini non sou yo. 362 00:16:16,430 --> 00:16:17,070 Tout dwa. 363 00:16:17,070 --> 00:16:22,260 Se konsa, nou gen, isit la, gen kèk tags non, depi nou pral fè yon jwèt ti kras nan sa a. 364 00:16:22,260 --> 00:16:26,270 Apre sa, nou pral rele w, printf. 365 00:16:26,270 --> 00:16:30,170 Men, si ou vle vin sou isit la, sa m 'te jis trase sou ekran an, 366 00:16:30,170 --> 00:16:32,340 li nan byen tou senpleman, gen nan m ', sa a. 367 00:16:32,340 --> 00:16:35,550 >> Tout dwa, se konsa, alo non mwen se, printf, si ou ta renmen mete sa sou. 368 00:16:35,550 --> 00:16:35,740 Tout dwa. 369 00:16:35,740 --> 00:16:37,360 Men, si ou ka ale kanpe pa ekran an òdinatè 370 00:16:37,360 --> 00:16:39,730 tankou si ou se fonksyon an ki vin rive ak sistèm òdinatè sa a. 371 00:16:39,730 --> 00:16:42,063 Ak objektif ou nan lavi a se ki aktyèlman enprime yon bagay. 372 00:16:42,063 --> 00:16:44,560 Men, anpil tankou pwogram lan nou jis te gen sou ekran an, isit la, 373 00:16:44,560 --> 00:16:47,060 nou ap ale nan gen yo aktyèlman ba ou kèk opinyon. 374 00:16:47,060 --> 00:16:51,810 >> Se konsa, si opinyon mwen, isit la, se aparamman, sa k ap pase bay printf, 375 00:16:51,810 --> 00:16:53,730 kite a kalite rizib l 'kanpe tankou sa a. 376 00:16:53,730 --> 00:16:58,720 Mwen pral literalman ekri sou yon moso papye, "hello, mond," 377 00:16:58,720 --> 00:17:03,020 antislach N. Epi yo dwe klè, ki sa Mwen te jis trase sou pyès sa a nan papye, 378 00:17:03,020 --> 00:17:04,020 sanble tankou sa a. 379 00:17:04,020 --> 00:17:08,730 Se konsa, lè mwen kouri pwogram sa a, ak sa a liy jòn nan kòd vin egzekite, 380 00:17:08,730 --> 00:17:12,970 li a tankou si m ', pwogram nan hello, kap Distribiye kèk opinyon yo ale nan yon fonksyon 381 00:17:12,970 --> 00:17:13,970 ke yon lòt moun te ekri. 382 00:17:13,970 --> 00:17:16,595 >> Men, si ou, ak dwèt ou, te kapab aktyèlman, avèk dwèt ou, 383 00:17:16,595 --> 00:17:21,520 trase sou ekran an tou sa li se ou yo te lage, 384 00:17:21,520 --> 00:17:27,465 efè a, finalman, se wè egzakteman sa, sou ekran an. 385 00:17:27,465 --> 00:17:29,140 Apre sa, yon ka kwen Little isit la. 386 00:17:29,140 --> 00:17:31,540 Ak bon, nou pa ta dwe wè , liy lan nouvo, nan pwen sa. 387 00:17:31,540 --> 00:17:33,900 Li ta kòrèk pou ou klèman trase newline an. 388 00:17:33,900 --> 00:17:36,810 Men, si nou kenbe ekri mo sou la ekran, yo ta fini anba a sa. 389 00:17:36,810 --> 00:17:39,560 >> Se konsa, mèsi anpil, men bwa alantou isit la pou jis yon sèl moman. 390 00:17:39,560 --> 00:17:42,860 Nou kounye a bezwen yon lòt volontè, si nou te kapab, 391 00:17:42,860 --> 00:17:46,830 ki k ap pase yo bezwen yo jwe wòl nan de- li a sèlman moun ki nan òkès ​​la 392 00:17:46,830 --> 00:17:47,355 kounye a. 393 00:17:47,355 --> 00:17:47,980 Ki jan sou- OK. 394 00:17:47,980 --> 00:17:48,480 Dwa isit la. 395 00:17:48,480 --> 00:17:49,180 Vini non sou yo. 396 00:17:49,180 --> 00:17:49,955 Ki sa ki nan non ou? 397 00:17:49,955 --> 00:17:50,922 >> ELÈV 2: [? Ivay. ?] 398 00:17:50,922 --> 00:17:51,796 DAVID J Malan: Padon? 399 00:17:51,796 --> 00:17:52,990 ELÈV 2: [? Ivay. ?] 400 00:17:52,990 --> 00:17:55,320 DAVID J Malan: Etan, vini sou yo. 401 00:17:55,320 --> 00:17:55,820 Se pa? 402 00:17:55,820 --> 00:17:58,390 Èske mwen jwenn ki sa ki mal, menm apre ou fin te di li de fwa? 403 00:17:58,390 --> 00:17:58,890 Vini non sou yo. 404 00:17:58,890 --> 00:18:00,030 Li difisil yo tande moute isit la. 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 Apre sa, mwen regrèt, sa ki nan non ou? 408 00:18:07,190 --> 00:18:07,680 >> ELÈV 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 Pou kounye a, si ou pa fè sa tèt ou, w ap GetString. 411 00:18:10,430 --> 00:18:11,013 >> ELÈV 2: OK. 412 00:18:11,013 --> 00:18:11,797 Fre. 413 00:18:11,797 --> 00:18:14,630 DAVID J Malan: Se konsa, si ou ta renmen a kanpe isit la pou jis yon moman, 414 00:18:14,630 --> 00:18:17,100 kite a pran yon gade nan yon yon ti kras plis pwogram konplèks, ki 415 00:18:17,100 --> 00:18:18,670 kounye a gen twa liy nan kòd. 416 00:18:18,670 --> 00:18:24,080 Se konsa, nou gen, yon sèl, eta non ou lè l sèvi avèk printf; de, yon rele nan GetString, 417 00:18:24,080 --> 00:18:28,060 ki te swiv pa yon devwa nan yon varyab rele, fisèl la, oswa rele nan; 418 00:18:28,060 --> 00:18:31,260 Lè sa a, yon lòt apèl ak nan, printf, men fwa sa a ak de entrain. 419 00:18:31,260 --> 00:18:33,646 >> Se konsa, nou te deja fè eta non ou, ou pito, nou te 420 00:18:33,646 --> 00:18:34,770 deja fè yon apèl printf. 421 00:18:34,770 --> 00:18:38,960 Se konsa, mwen pral ekri, eta non ou. 422 00:18:38,960 --> 00:18:42,089 Se konsa, sa m ap ale nan pase, printf, nan jis yon moman, 423 00:18:42,089 --> 00:18:43,005 se byen tou senpleman, sa a. 424 00:18:43,005 --> 00:18:47,760 Se konsa, si ou vle ale pi devan epi trase sa a sou ekran an, sa a, se opinyon ou an kounye a. 425 00:18:47,760 --> 00:18:48,260 Tout dwa. 426 00:18:48,260 --> 00:18:51,160 Ak bliye fisèl, nou genyen kounye a liy pwòp nou nan kòd isit la. 427 00:18:51,160 --> 00:18:54,470 Se konsa, nan, GetString, nou bezwen ki aktyèlman rele, GetString. 428 00:18:54,470 --> 00:18:57,920 Se konsa, objektif ou nan lavi se yo jis mache deyò nan òkès ​​la, si ou te kapab, 429 00:18:57,920 --> 00:18:58,980 epi pou yo jwenn non yon moun. 430 00:18:58,980 --> 00:19:00,860 Men, kite a ba ou yon bagay yo mete l 'sou. 431 00:19:00,860 --> 00:19:02,908 Si ou vle, ale pi devan epi pou yo jwenn yon fisèl, 432 00:19:02,908 --> 00:19:05,241 jwenn non yon moun nan sou sa moso papye, si ou te kapab. 433 00:19:05,241 --> 00:19:12,940 434 00:19:12,940 --> 00:19:13,530 >> Tout dwa. 435 00:19:13,530 --> 00:19:15,250 Epitou, n ap wè, nan jis yon moman, ki gen non nou ap vin. 436 00:19:15,250 --> 00:19:17,630 Pandan se tan, ki sa mwen pral gen pare, se yon moso vid 437 00:19:17,630 --> 00:19:21,340 nan papye, nan ki, mwen pral nan magazen tou sa valè li 438 00:19:21,340 --> 00:19:25,752 se ke GetString se retounen nan m ', Se mwen menm, yo te yon varyab fisèl rele, s. 439 00:19:25,752 --> 00:19:26,252 Tout dwa. 440 00:19:26,252 --> 00:19:27,293 Se konsa, sa ou gen isit la? 441 00:19:27,293 --> 00:19:27,950 Nik. 442 00:19:27,950 --> 00:19:28,450 Tout dwa. 443 00:19:28,450 --> 00:19:30,910 Se konsa, nou gen non Nik la isit la. 444 00:19:30,910 --> 00:19:33,750 Se konsa, sa a se sa literalman ki te tounen 445 00:19:33,750 --> 00:19:35,810 m ', se konsa pale, pa GetString. 446 00:19:35,810 --> 00:19:38,720 >> Se mwen menm, kounye a, mwen pral jwenn egzekite bò gòch-men 447 00:19:38,720 --> 00:19:43,440 nan ki ekspresyon, kote mwen tou senpleman kopi desann, pou rezon jodi a, Nik. 448 00:19:43,440 --> 00:19:46,470 Se konsa, kounye, mwen gen yon varyab rele, s, estoke Non Nik la. 449 00:19:46,470 --> 00:19:49,520 Mwen te deja remèt bay printf, yon agiman anvan yo. 450 00:19:49,520 --> 00:19:52,800 Men, nan nou an twazyèm ak dènye liy nan kòd, mwen aktyèlman gen yo printf men 451 00:19:52,800 --> 00:19:58,500 yon bagay yon ti kras different-- "hello,% s," antislach n. 452 00:19:58,500 --> 00:20:01,510 >> Se konsa, liy ki sot pase a mwen pral send-- bagay la pase mwen se 453 00:20:01,510 --> 00:20:03,060 ale nan ekri kounye a, se sa a. 454 00:20:03,060 --> 00:20:06,310 Se konsa, de liy yo nan kòd, oswa olye liy ki sot pase a nan kòd, 455 00:20:06,310 --> 00:20:10,690 apèl pou de entrain yon sèl, sa a, ak de, sa a. 456 00:20:10,690 --> 00:20:13,330 Se konsa, si fonksyon printf nou an kapab kounye a pran sa yo kòm D ', 457 00:20:13,330 --> 00:20:16,000 kite m 'klè ekran an pou ou. 458 00:20:16,000 --> 00:20:17,250 Aktyèlman pa gen okenn, ou ka ale pi devan. 459 00:20:17,250 --> 00:20:19,333 Nou pral kite li moute, depi li a sou pwogram lan menm. 460 00:20:19,333 --> 00:20:21,760 461 00:20:21,760 --> 00:20:27,380 Nou ta dwe wè, hello, Nik. 462 00:20:27,380 --> 00:20:27,880 Tout dwa. 463 00:20:27,880 --> 00:20:29,670 Se konsa, sa a te byen kèk sèrkl so a, jis 464 00:20:29,670 --> 00:20:31,620 yo ekri, eta kote ou non, epi, hello, Nik. 465 00:20:31,620 --> 00:20:37,210 Men, ide sa a senp nan mesaj pase, nan pase opinyon ak k ap resevwa pwodiksyon, 466 00:20:37,210 --> 00:20:40,430 se egzakteman modèl la nou ap ale nan gen pou menm fonksyon yo pi konplèks. 467 00:20:40,430 --> 00:20:41,804 Se konsa, di ou mèsi anpil bay ou tou de. 468 00:20:41,804 --> 00:20:43,730 Nou gen yon estrès bèl boul isit la pou ou. 469 00:20:43,730 --> 00:20:48,890 Epi ou mèsi GetString nou an ak volontè printf sanble. 470 00:20:48,890 --> 00:20:49,551 Mèsi poutèt ou. 471 00:20:49,551 --> 00:20:50,050 Tout dwa. 472 00:20:50,050 --> 00:20:50,966 Mèsi poutèt ou nou la a tou de. 473 00:20:50,966 --> 00:20:56,640 474 00:20:56,640 --> 00:21:00,430 >> Se konsa, nou ve yo te ap pale de konsa byen lwen, sitou sou strings. 475 00:21:00,430 --> 00:21:06,550 Apre sa, li vire soti ke C ka aktyèlman konprann yon kèk kalite done diferan. 476 00:21:06,550 --> 00:21:08,860 An reyalite, kite a pran yon gade nan sa yo isit la. 477 00:21:08,860 --> 00:21:12,490 Se konsa, C, ak yon anpil nan lang, konprann bagay yo rele charaktèr. 478 00:21:12,490 --> 00:21:16,852 Yon Char se jeneralman yon sèl multiple, oswa uit miyèt moso. 479 00:21:16,852 --> 00:21:19,810 Apre sa, li reprezante yon karaktè sèl, tankou lèt la A, oswa kapital la 480 00:21:19,810 --> 00:21:21,990 lèt A, oswa lèt la miniskil A, oswa yon pwen esklamasyon, 481 00:21:21,990 --> 00:21:25,440 oswa nenpòt karaktè ke ou ka tape sou klavye ou, epi pafwa menm plis. 482 00:21:25,440 --> 00:21:26,795 Nou menm tou nou rive wè flote. 483 00:21:26,795 --> 00:21:31,160 Yon flote se, jeneralman, se yon 32-ti jan valè, oswa kat bytes 484 00:21:31,160 --> 00:21:33,660 paske ankò, youn multiple se uit miyèt moso. 485 00:21:33,660 --> 00:21:36,675 >> Se konsa, yon flote se yon valè k ap flote pwen, yon bagay ki gen yon pwen desimal. 486 00:21:36,675 --> 00:21:38,550 Ak tout bon, se sa ki fim nan te pale 487 00:21:38,550 --> 00:21:42,240 sou lè yo te pale sou k ap flote valè pwen, kèk nimewo fiks de Bits 488 00:21:42,240 --> 00:21:43,940 ki te itilize yo reprezante yon nimewo reyèl. 489 00:21:43,940 --> 00:21:45,740 Men, gen la tou bagay rele double. 490 00:21:45,740 --> 00:21:47,860 Sa yo egziste nan Java, si ou te pran APCS, 491 00:21:47,860 --> 00:21:51,540 ak yon doub, kòm non an Erezman sijere, se de fwa tankou gwo kòm yon flote. 492 00:21:51,540 --> 00:21:54,540 Li nan toujou yon PO reyèl, li jis gen plis Bits 493 00:21:54,540 --> 00:21:58,390 ak ki yo dwe tout tan tout tan plis presi, oswa nan magazen menm pi gwo chif yo. 494 00:21:58,390 --> 00:21:58,890 int se fasil. 495 00:21:58,890 --> 00:22:00,181 Nou te pale sou sa dènye fwa. 496 00:22:00,181 --> 00:22:01,160 Se jis yon nonb antye relatif. 497 00:22:01,160 --> 00:22:03,980 Lè li nan jeneralman 32 Bits, oswa kat bytes. 498 00:22:03,980 --> 00:22:07,850 >> Se konsa, si ou gen, kite la wè koulye a, 32 bits-- epi nou te fè sa nan semèn 0, 499 00:22:07,850 --> 00:22:10,820 tout tan tout tan se konsa si ou gen briefly-- 32 Bits, sa ki nan pi gwo a 500 00:22:10,820 --> 00:22:13,580 Nimewo ou ka reprezante kòm yon nonb antye relatif? 501 00:22:13,580 --> 00:22:16,080 Bay oswa pran? 502 00:22:16,080 --> 00:22:18,380 Se tankou 4 milya de dola, e ke sa a sèlman si nou ap 503 00:22:18,380 --> 00:22:20,690 reprezante nimewo pozitif sèlman. 504 00:22:20,690 --> 00:22:23,930 Si ou gen 32 Bits, epi ou vle reprezante nimewo negatif kòm byen, 505 00:22:23,930 --> 00:22:27,100 seri ou ye, se esansyèlman, negatif 2 milya dola nan pozitif 2 milya dola. 506 00:22:27,100 --> 00:22:29,250 Men, jeneralman, nou pral kòmanse nan 0 ale jiska 4 milya dola. 507 00:22:29,250 --> 00:22:32,400 >> Ou pa oblije konnen jisteman, men nou ka wè sa a, an reyalite, si mwen jis 508 00:22:32,400 --> 00:22:36,400 louvri moute yon kalkilatris ti kras, isit la. 509 00:22:36,400 --> 00:22:41,070 Mwen kapab fè 2 32 an, ak sa a, se egzakteman ki jan gwo, 510 00:22:41,070 --> 00:22:43,190 konbyen valè ou kapab reprezante, ak 32 miyèt moso. 511 00:22:43,190 --> 00:22:44,442 Lè li nan apeprè 4 milya dola. 512 00:22:44,442 --> 00:22:46,900 Se konsa, nou pral kenbe wè ke nimewo nan yon kèk kote diferan. 513 00:22:46,900 --> 00:22:48,890 Men, si ou bezwen ankò nimewo pase sa, 514 00:22:48,890 --> 00:22:51,670 li vire soti gen nan yon bagay yo rele yon long lontan. 515 00:22:51,670 --> 00:22:54,005 Ak yon long long se jeneralman 64 Bits, ki 516 00:22:54,005 --> 00:22:56,380 vle di li nan yon lòd pou nan grandè menm pi gwo pase yon int. 517 00:22:56,380 --> 00:22:59,510 >> Se konsa, mwen pa menm ka fè konnen pi gwo a Nimewo ke ou ka reprezante, 518 00:22:59,510 --> 00:23:01,340 men li la ansibleman pi gran. 519 00:23:01,340 --> 00:23:05,190 Koulye a, kòm yon sou kote, istorikman, si yon int se 32 Bits, 520 00:23:05,190 --> 00:23:12,780 ak yon long long se 64 Bits, ki jan gwo se yon long, se pa yon long tan? 521 00:23:12,780 --> 00:23:16,500 522 00:23:16,500 --> 00:23:20,330 Ou ta panse ke li nan pi long pase yon int men petèt mwens lontan pase yon long long, 523 00:23:20,330 --> 00:23:21,400 men li aktyèlman depann. 524 00:23:21,400 --> 00:23:23,400 >> Se konsa, li vire soti yon sèl a fristrasyon yo tou, 525 00:23:23,400 --> 00:23:26,830 ak ekri kòd sou sèten sistèm, se ke se pa tout nan sa yo kalite done 526 00:23:26,830 --> 00:23:28,440 gen valè pre-detèmine. 527 00:23:28,440 --> 00:23:29,771 Pafwa li nan sa a Bits anpil moun. 528 00:23:29,771 --> 00:23:31,020 Pafwa li nan ki Bits anpil moun. 529 00:23:31,020 --> 00:23:32,750 Se konsa, ou gen konnen aktyèlman, pafwa, ki sa pyès ki nan konpitè 530 00:23:32,750 --> 00:23:34,083 w ap kouri lojisyèl ou sou. 531 00:23:34,083 --> 00:23:36,960 Erezman, lòt lang ak kalite done lòt ke kounye a egziste, 532 00:23:36,960 --> 00:23:38,400 pèmèt ou yo dwe plis presi. 533 00:23:38,400 --> 00:23:41,220 Oke, nou te wè fisèl, epi nou te wè bouleen, tou, 534 00:23:41,220 --> 00:23:43,960 men li vire soti sa yo vini sèlman avèk bibliyotèk la CS50. 535 00:23:43,960 --> 00:23:46,240 Se konsa, moun ki pa yo bati nan C. Moun sa yo ki olye de sa, 536 00:23:46,240 --> 00:23:49,340 vini nan ki dosye rele CS50.h, ki nou pral evantyèlman 537 00:23:49,340 --> 00:23:51,831 kale tounen kouch yo nan. 538 00:23:51,831 --> 00:23:53,830 Men, pou kounye a, yo ap jis kalite done adisyonèl. 539 00:23:53,830 --> 00:23:57,060 Yon bouleen se yon vre oubyen fo, ak yon fisèl se yon sekans nan karaktè, 540 00:23:57,060 --> 00:23:57,970 tankou yon mo. 541 00:23:57,970 --> 00:24:01,690 Koulye a, printf, nou te wè, gen placeholders,% a se yon sèl. 542 00:24:01,690 --> 00:24:05,430 Epi ou ka kapab, nan kounye a, dégager soti nan sa yo lòt egzanp, ki jan 543 00:24:05,430 --> 00:24:07,720 ou te kapab gen yon kontneur pou kalite done diferan. 544 00:24:07,720 --> 00:24:11,150 Pou egzanp, pran yon devine, si ou te vle enprime soti yon Char sèl lè l sèvi avèk 545 00:24:11,150 --> 00:24:15,270 printf, kontneur a se pwobableman% c. 546 00:24:15,270 --> 00:24:19,650 Men, si ou vle enprime soti yon nonb antye relatif ak kontneur,% mwen an. 547 00:24:19,650 --> 00:24:25,150 % LLD se yon long valè lontan desimal, men lontan lontan, se konsa ke kat nan sa. 548 00:24:25,150 --> 00:24:28,640 Lè sa a,% f pou k ap flote valè pwen oswa pou yon doub, 549 00:24:28,640 --> 00:24:31,270 se konsa pafwa yo ap re-itilize nan kontèks diferan. 550 00:24:31,270 --> 00:24:33,350 Se konsa, nou pral wè epi sèvi ak kèk nan moun sou tan. 551 00:24:33,350 --> 00:24:36,420 Apre sa, printf ak lòt fonksyon tou sekans chape sipò lòt moun ', 552 00:24:36,420 --> 00:24:38,080 epi pafwa, sa yo se nesesè. 553 00:24:38,080 --> 00:24:39,770 Se konsa, antislach n se yon liy nouvo. 554 00:24:39,770 --> 00:24:42,886 Antislach t, ​​fè nenpòt moun ki vle pran yon koud? 555 00:24:42,886 --> 00:24:43,760 ODYANS MANM: Tab. 556 00:24:43,760 --> 00:24:44,551 DAVID J Malan: Tab. 557 00:24:44,551 --> 00:24:46,810 Se konsa, si ou aktyèlman vle ekri ak lèt ​​detache soti yon tab, pa 558 00:24:46,810 --> 00:24:49,940 yon PO fiks nan espas men yon aktyèl pèsonaj tab, ou pa frape ou, 559 00:24:49,940 --> 00:24:53,490 tab, kle sou klavye a, jeneralman, ou aktyèlman fè antislach t. 560 00:24:53,490 --> 00:24:57,750 Antislach quote doub, poukisa ta mwen janm vle sa? 561 00:24:57,750 --> 00:24:58,250 Dwa? 562 00:24:58,250 --> 00:25:00,417 Poukisa nou pa mwen ka jis tape yon doub quote sou klavye mwen an? 563 00:25:00,417 --> 00:25:02,124 ODYANS MANM: Paske, otreman, li la 564 00:25:02,124 --> 00:25:04,830 ale nan panse ke li nan fen a a renmen ekri an lèt detache ou [? tèks. ?] 565 00:25:04,830 --> 00:25:05,420 >> DAVID J Malan: Egzakteman. 566 00:25:05,420 --> 00:25:07,211 Sonje byen, ak nou egzanp printf, lè nou 567 00:25:07,211 --> 00:25:10,075 te pase nan printf nan D ', sou bò gòch la nan ki fisèl D ' 568 00:25:10,075 --> 00:25:12,950 ak sou bò dwat la nan ki D ' sezon prentan, nan kou, se te yon quote doub. 569 00:25:12,950 --> 00:25:16,270 Si D 'pwòp ou a gen yon doub quote nan mitan an nan sa, 570 00:25:16,270 --> 00:25:18,920 òdinatè a ta ka potansyèlman jwenn konfonn, kòm nan, 571 00:25:18,920 --> 00:25:20,760 fè bagay sa a quote doub fè pati nan mitan an? 572 00:25:20,760 --> 00:25:22,150 Li fè pati ak yon sèl gòch la? 573 00:25:22,150 --> 00:25:23,566 Li menm ak youn nan dwa? 574 00:25:23,566 --> 00:25:26,780 Se konsa, si ou vle fè li super klè, ou fè antislach doub quote, 575 00:25:26,780 --> 00:25:30,480 se konsa ke li nan chape, se konsa pale, ak li pa nan conflated pou yon lòt bagay. 576 00:25:30,480 --> 00:25:34,400 Apre sa, nan yon lòt moun kèk isit la, antislach r, quotes sèl, 0, 577 00:25:34,400 --> 00:25:36,510 Konsa n'a wè sou tan, kòm byen. 578 00:25:36,510 --> 00:25:37,760 Epi, koulye a, sa ki sou fonksyon? 579 00:25:37,760 --> 00:25:41,630 >> Se konsa, aksyon ki nou ka pran konsa byen lwen nan lang sa a, C, byen, nou te wè, 580 00:25:41,630 --> 00:25:44,320 printf, nan kou, ak tout nan lòt moun yo sou ekran an, 581 00:25:44,320 --> 00:25:47,140 isit la, ke nou pral itilize pou la premye semèn kèk kou nan sèlman, 582 00:25:47,140 --> 00:25:48,485 vini lè bibliyotèk la CS50. 583 00:25:48,485 --> 00:25:51,850 Apre sa, yo fè l 'pi fasil, nan C, ki aktyèlman jwenn opinyon itilizatè. 584 00:25:51,850 --> 00:25:54,200 Li sanble ke nan C, ak franchman nan yon lang kèk, 585 00:25:54,200 --> 00:25:57,450 li nan yon doulè reyèl nan kou a fè yon bagay ki senp, tankou èd memwa itilizatè a 586 00:25:57,450 --> 00:26:01,310 pou klavye, pou D 'li. 587 00:26:01,310 --> 00:26:03,240 Se konsa, fonksyon sa yo fè li pi fasil. 588 00:26:03,240 --> 00:26:05,472 >> Apre sa, li tou te gen erè tcheke nan tout, 589 00:26:05,472 --> 00:26:07,180 pou ke, lè ou sonje nan Mèkredi, nou 590 00:26:07,180 --> 00:26:09,740 te wè, rekoumanse, avètisman an, lè m 'pa t' kolabore, 591 00:26:09,740 --> 00:26:11,700 ak mwen tape yon mo, olye pou yo yon nimewo? 592 00:26:11,700 --> 00:26:15,402 Nou te fè leve a lou byen bonè sou a asire w itilizatè a kolabor. 593 00:26:15,402 --> 00:26:17,860 Men, sa yo yo se jis fòmasyon wou ke nou pral evantyèlman, 594 00:26:17,860 --> 00:26:19,640 epi byen vit, pran an. 595 00:26:19,640 --> 00:26:22,630 >> Se konsa, yo Rekapitilasyon, lè sa a, kite a pran yon gade rapid, 596 00:26:22,630 --> 00:26:26,620 anpil tankou nou te fè sa ak Grafouyen, nan kèk konstwi kanonyal nan C. 597 00:26:26,620 --> 00:26:28,580 Sa a se vle di ke yo, sòt a, gen yon vwayaj gwo toubouyon, 598 00:26:28,580 --> 00:26:30,990 jis pou ke ou gen yon referans e ke ou te wè bagay sa yo an premye. 599 00:26:30,990 --> 00:26:34,100 Men, Lè sa nou pral gade nan aktyèl kodaj sèvi ak kèk nan blòk bilding sa yo. 600 00:26:34,100 --> 00:26:36,710 Se konsa, anpil tankou nan grafouyen, lè nou te deklarasyon renmen, 601 00:26:36,710 --> 00:26:41,570 di oswa, rete tann, nan C, nou gen fonksyon kòm byen, tankou printf. 602 00:26:41,570 --> 00:26:45,350 >> Si nou vle eksprime sa yo panse yon kondisyon nan C, li nan menm jan an, nan lespri, 603 00:26:45,350 --> 00:26:47,840 ak sa yo ki moso devinèt ki te sanble ak sa a nan grafonyen moun. 604 00:26:47,840 --> 00:26:49,850 Men, olye de sa, nou literalman jis ekri, si. 605 00:26:49,850 --> 00:26:51,830 Apre sa, lè sa a, nan parantèz, nou mete yon kondisyon, 606 00:26:51,830 --> 00:26:54,807 kote ke kondisyon se sa nou pral rele, ankò, yon ekspresyon Boolean. 607 00:26:54,807 --> 00:26:56,390 Epi ankò, sa a se sòt de pseudocode. 608 00:26:56,390 --> 00:26:58,830 Epi, an reyalite, // a se yon kòmantè. 609 00:26:58,830 --> 00:27:00,550 Se jis mo angle vin jwenn mwen. 610 00:27:00,550 --> 00:27:03,000 Men sa se jeneral la estrikti nan yon, si, kondisyon. 611 00:27:03,000 --> 00:27:05,220 Men, nou pral wè konkrè egzanp nan jis yon moman. 612 00:27:05,220 --> 00:27:07,960 >> Si ou vle gen yon de-fason fouchèt nan wout la, 613 00:27:07,960 --> 00:27:11,740 anpil tankou nou te fè ak volontè nou sou Mèkredi, ou ka gen yon, lòt bagay si. 614 00:27:11,740 --> 00:27:16,020 Men, si ou vle gen yon twazyèm ak kondisyon final la, oswa sitiyasyon default, 615 00:27:16,020 --> 00:27:19,006 ou ka gen jis yon blòk lòt bagay, la. 616 00:27:19,006 --> 00:27:21,880 Apre sa, Menm jan an tou, ak ekspresyon Boolean, ou kapab, epi, yo ansanm. 617 00:27:21,880 --> 00:27:24,296 Apre sa, nou te wè nan Mèkredi, ki li pa yon comercial sèl, 618 00:27:24,296 --> 00:27:28,220 li nan de, pou rezon pi ba-nivo ki nou pral evantyèlman wè ak jwe avèk. 619 00:27:28,220 --> 00:27:30,410 Ou-ing bagay sa yo ansanm se 2 ba vètikal. 620 00:27:30,410 --> 00:27:32,240 Sou yon klavye ameriken, sa a se jeneralman yon kle 621 00:27:32,240 --> 00:27:35,730 ak kle nan chanjman pi wo a ou Antre kle ou retounen kle. 622 00:27:35,730 --> 00:27:38,620 >> Lè sa a, gen nan bagay sa yo pou nou pral sèvi ak petèt yon fwa oswa de fwa. 623 00:27:38,620 --> 00:27:42,570 Yo se fonksyonèl ekivalan a sa ou kapab fè ak yon, si, lòt bagay si, 624 00:27:42,570 --> 00:27:44,950 lòt bagay si lòt bagay, konstwi, men yo ap rele yon switch. 625 00:27:44,950 --> 00:27:48,020 Yo gade trè diferan, men nou pwal wè nan kèk nan Kòd distribisyon nou an, 626 00:27:48,020 --> 00:27:51,890 pou yon pwoblèm lavni mete, gen plis chans, ke li nan pafwa jis yon bèl pase 627 00:27:51,890 --> 00:27:54,060 fason pou eksprime yon antye pakèt moun sou kondisyon, 628 00:27:54,060 --> 00:27:57,590 san yo pa gen yon anpil nan aparèy òtopedik Curly ak yon anpil nan parantèz ak dekoupaj. 629 00:27:57,590 --> 00:28:01,910 Men, yo ban nou pa gen plis pouvwa pase nou gen deja. 630 00:28:01,910 --> 00:28:02,550 Epi, koulye a pasan. 631 00:28:02,550 --> 00:28:05,020 Apre sa, yon sèl sa a, nou pral gade Yon ti kras pi plis tou dousman. 632 00:28:05,020 --> 00:28:08,470 Men, Lè sa a, nou pral kòmanse yo sèvi ak sa yo, espesyalman pou moun ki deja konnen yo. 633 00:28:08,470 --> 00:28:13,830 Sa a se yon fason a kanonyal, si èkstrèmeman fason Esoteric, yo ekri yon bouk nan C. 634 00:28:13,830 --> 00:28:15,896 >> Koulye a, yon bouk nan grafouyen te trè dwat. 635 00:28:15,896 --> 00:28:17,020 Ou gen yon, pou tout tan, blòk. 636 00:28:17,020 --> 00:28:19,760 Ou gen yon, repete, blòk ak jis yon nimewo ou gen tape nan. 637 00:28:19,760 --> 00:28:22,220 Se avèk, pou riban an, ou kapab aplike tou de nan lide sa yo, 638 00:28:22,220 --> 00:28:23,595 men li la yon ti kras pi plis teknik. 639 00:28:23,595 --> 00:28:25,994 Men, franchman, li la tou relativman senp. 640 00:28:25,994 --> 00:28:28,160 Yon fwa ou konnen lòd la operasyon, ou literalman 641 00:28:28,160 --> 00:28:30,910 yo se jis ale nan ploge nan valè epi di òdinatè a ki sa fè. 642 00:28:30,910 --> 00:28:32,800 Se konsa, isit la nan yon egzanp. 643 00:28:32,800 --> 00:28:38,040 Sa a se yon riban ki, byen tou senpleman, konte soti nan yon nimewo moute 644 00:28:38,040 --> 00:28:40,187 nan yon lòt. 645 00:28:40,187 --> 00:28:42,020 Epi jis pa ensidan nan li, menm si w gen 646 00:28:42,020 --> 00:28:44,660 pa gen okenn eksperyans anvan ak lang sa a, ki sa nimewo 647 00:28:44,660 --> 00:28:46,920 li pwobableman kòmanse konte nan? 648 00:28:46,920 --> 00:28:47,730 OK, 0. 649 00:28:47,730 --> 00:28:50,240 Apre sa, mwen devine sa a, se paske ou wè ke gen nan yon int ak yon m, 650 00:28:50,240 --> 00:28:51,073 ki se yon varyab. 651 00:28:51,073 --> 00:28:52,390 Li nan inisyalizèd a 0. 652 00:28:52,390 --> 00:28:55,670 >> Lè sa a, apre sa, li sanble nou ap pase printf, se yon valè. 653 00:28:55,670 --> 00:28:58,000 Epi, an reyalite, mwen te fè yon ti kras Typo isit la. 654 00:28:58,000 --> 00:28:59,850 Men, ki nan fasil fiks yo. 655 00:28:59,850 --> 00:29:02,390 Kite m 'ajoute nan, mwen isit la. 656 00:29:02,390 --> 00:29:06,150 Nou kounye a gen ke yo te printf pase ke valè kontneur. 657 00:29:06,150 --> 00:29:08,299 Ak sa ki k ap pase yo konte moute nan? 658 00:29:08,299 --> 00:29:08,840 ODYANS: 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 Se konsa, 50, nan premye gade, sanble dwat. 663 00:29:13,340 --> 00:29:16,990 Men, sa, li vire soti, a pwal kondisyon nou ke nou kenbe tcheke. 664 00:29:16,990 --> 00:29:21,740 Epi nou ap ale nan sispann yon fwa mwen se pa mwens pase 50. 665 00:29:21,740 --> 00:29:24,920 Se konsa, sa bouk, Kontrèman, ta dwe egzekite, toutotan mwen se mwens pase 50. 666 00:29:24,920 --> 00:29:28,891 Men, le pli vit ke li vin 50, oswa 51, oswa pi mal, li ta dwe sispann otomatikman. 667 00:29:28,891 --> 00:29:29,390 Tout dwa. 668 00:29:29,390 --> 00:29:31,200 >> Se konsa, sa k ap pase aktyèlman isit la? 669 00:29:31,200 --> 00:29:33,160 Se konsa, sa a se lòd la operasyon pou yon riban. 670 00:29:33,160 --> 00:29:35,440 Youn, ou gen la sa yo rele inisyalizasyon. 671 00:29:35,440 --> 00:29:38,264 Sa a moso jòn make nan kòd se egzekite premye, 672 00:29:38,264 --> 00:29:40,930 epi li gen efè a ki, pou chak Mèkredi, pwobableman ou imajine. 673 00:29:40,930 --> 00:29:45,500 Li kreye yon varyab rele mwen epi li magazen nan varyab sa valè a 0. 674 00:29:45,500 --> 00:29:47,560 Se konsa, mwen se 0 nan pwen sa a nan istwa a. 675 00:29:47,560 --> 00:29:49,680 >> Bagay nan pwochen ki k ap pase nan konstwi sa a, 676 00:29:49,680 --> 00:29:51,540 se ke vin kondisyon an w tcheke yo. 677 00:29:51,540 --> 00:29:54,325 Se konsa, mwen tcheke imedyatman, se mwen mwens pase 50? 678 00:29:54,325 --> 00:29:57,700 Ak nan kou, repons lan pou kounye a se, siman, wi. 679 00:29:57,700 --> 00:30:00,710 Wi, paske mwen se 0, ak sa a, se siman mwens pase 50. 680 00:30:00,710 --> 00:30:03,866 Lè sa a, sa k ap pase, se ke sa a liy nan Kòd vin egzekite. 681 00:30:03,866 --> 00:30:06,740 Ak an reyalite, si gen nan plizyè liy nan kòd nan sa yo aparèy òtopedik Curly, 682 00:30:06,740 --> 00:30:09,020 yo tout jwenn egzekite youn apre lòt. 683 00:30:09,020 --> 00:30:11,450 >> Ak nan efè a isit la, se aparamman, ekri ak lèt ​​detache soti 684 00:30:11,450 --> 00:30:15,365 m nan nimewo, ki se ale nan gen 0, ak Lè sa a 1, ak Lè sa a 2. 685 00:30:15,365 --> 00:30:15,865 Men, poukisa? 686 00:30:15,865 --> 00:30:17,410 Poukisa pou l 'debarase enkremante? 687 00:30:17,410 --> 00:30:20,680 Oke, bagay la katriyèm ki k ap pase se ke sentaks sa a 688 00:30:20,680 --> 00:30:22,610 vin egzekite, apre yo fin virgules la. 689 00:30:22,610 --> 00:30:27,506 mwen ++ se yon fason steno pou li di; pran valè a nan mwen, epi ajoute 1 a li; 690 00:30:27,506 --> 00:30:30,380 ak Lè sa a pwochen fwa a alantou, ajoute 1 a li; ak pwochen tan an alantou li, 691 00:30:30,380 --> 00:30:31,330 ajoute 1 nan li. 692 00:30:31,330 --> 00:30:33,640 >> Se konsa, si nou kenbe prale a, sa k ap pase rive 693 00:30:33,640 --> 00:30:35,890 pwochen se Mwen pa ale nan inisyalize mwen tout tan tout tan ankò. 694 00:30:35,890 --> 00:30:38,290 Si mwen te kenbe inisyalizin m nan 0, egzanp sa a 695 00:30:38,290 --> 00:30:41,110 pa janm fini paske ta mwen ta dwe kole nan 0. 696 00:30:41,110 --> 00:30:43,870 Men, sa ki ki pral rive se ki pral kondisyon an dwe tcheke, 697 00:30:43,870 --> 00:30:54,280 pral liy lan nan kòd debarase egzekite, pral m nan dwe enkremante, 698 00:30:54,280 --> 00:30:56,970 pral kondisyon dwe tcheke, Kòd pral jwenn egzekite. 699 00:30:56,970 --> 00:30:59,790 Epi, se te kenbe monte bisiklèt ankò, e ankò, e ankò, 700 00:30:59,790 --> 00:31:03,340 jouk mwen ++ antren yon valè de 50. 701 00:31:03,340 --> 00:31:05,870 >> Kondisyon nan Lè sa a, di, se 50 mwens pase 50? 702 00:31:05,870 --> 00:31:09,360 Repons lan, nan kou, pa gen okenn, ak se konsa kòd la antye sispann egzekite. 703 00:31:09,360 --> 00:31:13,020 Men, si ou gen plis Kòd sou ekran an desann anba a, sa a, se sa k ap pase a. 704 00:31:13,020 --> 00:31:17,530 Li Pops soti nan sa yo aparèy òtopedik Curly ak kontinye ap enprime plis apre sa. 705 00:31:17,530 --> 00:31:20,470 >> Se konsa, kounye a yon blag, ki soti nan Foxtrot, ki ou pral petèt kounye a konprann. 706 00:31:20,470 --> 00:31:30,810 707 00:31:30,810 --> 00:31:31,560 Li nan toujou amizan. 708 00:31:31,560 --> 00:31:34,110 Se tankou chuckles yo kalite pénétrer, 709 00:31:34,110 --> 00:31:38,370 ak Lè sa a ou reyalize ou pa ta dwe gen ri nan imè tankou sa a. 710 00:31:38,370 --> 00:31:41,160 Men, gen kèk Takeaway isit la, pedagojik, tou. 711 00:31:41,160 --> 00:31:43,577 Se konsa, li sanble ke mwen se manke yon moso nan sentaks, 712 00:31:43,577 --> 00:31:45,410 oswa Foxtrot nan manke yon moso nan sentaks isit la. 713 00:31:45,410 --> 00:31:48,076 Ki sa ki nan manke, ke nou te gen nan tout lòt egzanp, konsa byen lwen? 714 00:31:48,076 --> 00:31:51,599 715 00:31:51,599 --> 00:31:53,390 Retounen, ki gen la, se konsa sa a, se yon lòt bagay, 716 00:31:53,390 --> 00:31:54,440 ke nou pral tounen vin jwenn anvan lontan. 717 00:31:54,440 --> 00:31:55,398 Ki sa ki nan manke, menm si? 718 00:31:55,398 --> 00:31:55,908 Yeah. 719 00:31:55,908 --> 00:31:58,150 >> ODYANS MANM: nan inisyalizasyon a [fèbl]. 720 00:31:58,150 --> 00:31:58,470 >> DAVID J Malan: OK. 721 00:31:58,470 --> 00:31:58,980 Se konsa, yeah. 722 00:31:58,980 --> 00:32:03,210 Se konsa, aktyèlman, sa a is-- Oke, ak konte se inisyalizèd 723 00:32:03,210 --> 00:32:05,470 moute pi wo a, ou pito, te deklare moute pi wo a. 724 00:32:05,470 --> 00:32:06,960 Se konsa, sa a se yon lòt fason pou fè li. 725 00:32:06,960 --> 00:32:08,685 Men, pa nan yon sèl liy li a valab menm si. 726 00:32:08,685 --> 00:32:09,310 Kouman sou isit la? 727 00:32:09,310 --> 00:32:10,196 >> ODYANS MANM li: Eske se aparèy òtopedik yo Curly? 728 00:32:10,196 --> 00:32:10,640 >> DAVID J Malan: Yeah. 729 00:32:10,640 --> 00:32:12,080 Se konsa, aparèy òtopedik yo Curly yo ki disparèt. 730 00:32:12,080 --> 00:32:15,495 Men, kòd sa a, mwen vle di, nan kredi yo, se aktyèlman, syntactically ki valid. 731 00:32:15,495 --> 00:32:17,610 Li sanble soti, ou pa fè sa bezwen aparèy òtopedik yo Curly 732 00:32:17,610 --> 00:32:21,691 si ou sèlman gen yon sèl liy nan kòd ki ou vle egzekite andedan nan riban an. 733 00:32:21,691 --> 00:32:24,190 Koulye a, nou toujou, nan klas ak nan tout nan kòd distribisyon nou an, 734 00:32:24,190 --> 00:32:26,730 gen ladan aparèy òtopedik yo Curly de tout fason, jis pou dedomajman pou clarté nan. 735 00:32:26,730 --> 00:32:29,010 Men, reyalize ke nan liv lekòl ak sou entènèt egzanp, 736 00:32:29,010 --> 00:32:31,300 ou ka trè byen wè Curly aparèy òtopedik manke nenpòt moman. 737 00:32:31,300 --> 00:32:34,850 Epi sa a, OK, si sa ou te dantle ak entansyon 738 00:32:34,850 --> 00:32:38,650 se jis yon sèl liy nan kòd, epi yo pa liy miltip nan kòd, ki kapab. 739 00:32:38,650 --> 00:32:39,150 Tout dwa. 740 00:32:39,150 --> 00:32:44,500 Se konsa, ki gen rapò ak pwoblèm nan de enpresizyon, se yon pwoblèm nan debòde, 741 00:32:44,500 --> 00:32:48,560 nan sans ke, Menm jan tou, nonm antye relatif gen limit yo 742 00:32:48,560 --> 00:32:49,970 jis tankou valè pwen k ap flote? 743 00:32:49,970 --> 00:32:53,120 Nan mond lan yon pwen k ap flote valè, nou kapab fèt sèlman se konsa egzak, 744 00:32:53,120 --> 00:32:55,710 apre yo fin ki, pafwa move bagay ka rive, 745 00:32:55,710 --> 00:32:57,760 ak pwogram nou an ka buggy ak erè. 746 00:32:57,760 --> 00:33:00,050 Koulye a, menm avèk nonm antye relatif, ou ka kouri antre nan pwoblèm. 747 00:33:00,050 --> 00:33:03,820 Koulye a, yon nonb antye relatif pa gen yon pwen desimal oswa nimewo apre li. 748 00:33:03,820 --> 00:33:07,130 Se jis nan yon nimewo natirèl, tipikman. 749 00:33:07,130 --> 00:33:09,430 Se konsa, sa t 'ka ale mal ak yon int? 750 00:33:09,430 --> 00:33:12,210 Si mwen lè l sèvi avèk yon int konte, sa ki ta ale mal? 751 00:33:12,210 --> 00:33:13,230 Sanble yon anpil ki pi senp. 752 00:33:13,230 --> 00:33:13,873 Yeah. 753 00:33:13,873 --> 00:33:16,240 >> ODYANS MANM: Si nan Nimewo vin [fèbl] 754 00:33:16,240 --> 00:33:17,073 >> DAVID J Malan: Yeah. 755 00:33:17,073 --> 00:33:20,820 E si ou konte tèlman wo, ke ou pa ka eksprime ke nimewo reyèlman gwo. 756 00:33:20,820 --> 00:33:21,320 Dwa? 757 00:33:21,320 --> 00:33:23,910 Nan kèk pwen, w ap ale dwe depase limit yo 758 00:33:23,910 --> 00:33:27,077 nan yon valè 32-ti jan oswa yon valè 64-ti jan. 759 00:33:27,077 --> 00:33:29,410 Koulye a, ankò, mwen pa fin sèten ki jan yo fè konnen se yon valè 64-ti jan, 760 00:33:29,410 --> 00:33:32,230 Men, mwen konnen ki gen yon nonb antye relatif 32-ti jan, valè nan pi gwo li kapab, 761 00:33:32,230 --> 00:33:35,490 si li nan sèlman pozitif valè, se apeprè 4 milya dola. 762 00:33:35,490 --> 00:33:39,000 Se konsa, si mwen eseye konte a 5 milya dola, yon bagay ki pwal pase. 763 00:33:39,000 --> 00:33:41,050 Men, kite a wè sa ki, an reyalite, ka rive. 764 00:33:41,050 --> 00:33:44,570 Nan mond lan nan nonb antye relatif debòde, kote ou, nan yon sans, 765 00:33:44,570 --> 00:33:48,270 debòde kapasite a nan yon nonb antye relatif, sa ki ka rive? 766 00:33:48,270 --> 00:33:51,190 >> Se konsa, isit la nan yon nimewo binè, li nan yon throwback nan 0. 767 00:33:51,190 --> 00:33:54,630 Li nan tout 1 a, ak placeholders yo la, se pouvwa nan 2, 768 00:33:54,630 --> 00:33:55,980 kidonk sa a se binè. 769 00:33:55,980 --> 00:33:59,416 Se konsa, sa yo, se 8, 1 Bits sou ekran an. 770 00:33:59,416 --> 00:34:01,290 Men, si ou sonje oswa ou byen vit fè matematik la, 771 00:34:01,290 --> 00:34:06,074 se sa ki valè ke yo te reprezante isit la ak sa yo uit 1 Bits? 772 00:34:06,074 --> 00:34:06,950 255. 773 00:34:06,950 --> 00:34:09,260 E menm si ou te pa byen asire nan matematik la, ou ta ka fè li soti. 774 00:34:09,260 --> 00:34:10,550 Ou ou te kapab jis kalite nan rezon ki fè nan li, 775 00:34:10,550 --> 00:34:12,633 rete tann yon minit, si mwen se reprezante yon valè 8 ti jan, 776 00:34:12,633 --> 00:34:17,750 ak mwen te gen 256 valè posib, men premye a nan yo ki se 0, 777 00:34:17,750 --> 00:34:19,909 Mwen jis konnen ke nan pi gwo a pwal 255, 778 00:34:19,909 --> 00:34:21,510 ak se sa ki yon sèl sa a te vle di. 779 00:34:21,510 --> 00:34:26,060 >> Se konsa, ta kwè mwen eseye ajoute 1 nan valè sa a. 780 00:34:26,060 --> 00:34:28,750 Ki sa ou ta fè nan klas yo lekòl lè ajoute yon 1, epi li 781 00:34:28,750 --> 00:34:31,139 pa reyèlman anfòm paske ou gen yo pote 1 an? 782 00:34:31,139 --> 00:34:34,380 Ki sa ki se sa a pral nimewo yo vin lè ou ajoute 1? 783 00:34:34,380 --> 00:34:37,030 Li k ap pase yo vin 0. 784 00:34:37,030 --> 00:34:37,530 Dwa? 785 00:34:37,530 --> 00:34:41,139 Paske si ou te gen plis bits-- ak mwen pral eseye, kalite, tape li soti isit lan-- 786 00:34:41,139 --> 00:34:44,710 si nou te gen plis Bits, ki sa nou ta ka fè isit la se ajoute 1 a, 787 00:34:44,710 --> 00:34:47,370 ak Lè sa a nou ta jwenn sa a. 788 00:34:47,370 --> 00:34:48,739 Whoops. 789 00:34:48,739 --> 00:34:52,250 Nou ta gen yon ti jan 1 tout wout la sou isit la. 790 00:34:52,250 --> 00:34:55,530 >> Men, si sa a se yon fini valè, li nan sèlman 8 Bits, 791 00:34:55,530 --> 00:34:57,480 e ke sa a pre-detèmine pa òdinatè a, 792 00:34:57,480 --> 00:34:59,370 ke 1 se efektivman pa la. 793 00:34:59,370 --> 00:35:00,980 Li jis kalite tonbe nan yon falèz. 794 00:35:00,980 --> 00:35:05,480 Se konsa, si ou ajoute 1 a 255, ki sa valè ou aparamman jwenn? 795 00:35:05,480 --> 00:35:06,180 0. 796 00:35:06,180 --> 00:35:09,700 Se konsa, nimewo aksidantèlman, e petèt, san, 797 00:35:09,700 --> 00:35:12,040 fini vlope alantou tankou sa a. 798 00:35:12,040 --> 00:35:14,079 Se konsa, sa kapab enplikasyon a nan sa a? 799 00:35:14,079 --> 00:35:15,620 Oke, gen nan yon bagay kèk diferan. 800 00:35:15,620 --> 00:35:18,751 Se konsa, yon sèl, li leve je l 'fini tankou 0, envolontè, 801 00:35:18,751 --> 00:35:20,750 men ou ka kalite wè, menm nan mond reyèl la, 802 00:35:20,750 --> 00:35:23,416 pou pi bon oswa pou vin pi mal, manifestasyon nan ide sa a nan yon limit. 803 00:35:23,416 --> 00:35:26,630 Pou egzanp, nenpòt nan nou ki te janm te jwe Lego Star Lagè, 804 00:35:26,630 --> 00:35:28,880 nenpòt moun ki rive konnen la pou maksimòm kantite pyès monnen 805 00:35:28,880 --> 00:35:32,032 ou ka kolekte nan Lego Star Lagè? 806 00:35:32,032 --> 00:35:35,640 Pran yon devine ki baze sou kesyon dirijan jodi a la. 807 00:35:35,640 --> 00:35:39,140 Li nan pi gwo pase 256 oswa 255. 808 00:35:39,140 --> 00:35:40,330 Li nan 4 milya de dola. 809 00:35:40,330 --> 00:35:42,080 Se konsa, li vire soti, li gen nan kèk people-- 810 00:35:42,080 --> 00:35:46,080 kèk googling konfime night-- dènye gen vinn 4 milya de dola pyès monnen lò, 811 00:35:46,080 --> 00:35:47,730 oswa etajèr, nan Lego Star Lagè. 812 00:35:47,730 --> 00:35:49,860 Menm si aparamman, gen nan yon fason fè je chèch ak jwèt la, 813 00:35:49,860 --> 00:35:53,222 gen nan yon ensèk oswa karakteristik, ki pèmèt ou jis akimile anpil ak anpil pwen. 814 00:35:53,222 --> 00:35:54,930 Men, pi gwo posib la valè, selon 815 00:35:54,930 --> 00:35:58,360 nan sa a piki ekran nan yon moun mwen jwenn sou entènèt, se vre, 4 milya dola. 816 00:35:58,360 --> 00:35:59,240 >> Koulye a, poukisa se sa? 817 00:35:59,240 --> 00:36:03,040 Li nan jisteman 4 milya de dola, pwobableman paske yon moun deside, 818 00:36:03,040 --> 00:36:05,500 ki moun ki te ekri jwèt sa a, yo ke yo ta ka fè 4 milya de dola, 819 00:36:05,500 --> 00:36:07,340 yon bagay, yon bagay, yon bagay, tankou valè a mwen mete 820 00:36:07,340 --> 00:36:10,256 ak kalkilatris a pi bonè, men li nan jis yon ti kras cleaner pou moun 821 00:36:10,256 --> 00:36:12,610 yo di la pou maksimòm a coins-- oswa poto, 822 00:36:12,610 --> 00:36:14,860 menm jan yo rele them-- ke ou ka kolekte se 4 milya dola. 823 00:36:14,860 --> 00:36:16,290 Se konsa, poukisa se sa a? 824 00:36:16,290 --> 00:36:20,310 Ki jan se jwèt la LEGO mete ann aplikasyon kontwa an 825 00:36:20,310 --> 00:36:23,420 ki nan kenbe tras nan la kantite pyès monnen ou genyen? 826 00:36:23,420 --> 00:36:24,266 Yo ap lè l sèvi avèk ki sa? 827 00:36:24,266 --> 00:36:26,390 ODYANS MANM: Li sispann konte apre 4 milya dola. 828 00:36:26,390 --> 00:36:27,720 DAVID J Malan: Li sispann konte apre 4 milya dola, 829 00:36:27,720 --> 00:36:29,525 ki vle di ou ka dégager, kòm yon pwogramè, 830 00:36:29,525 --> 00:36:31,960 ke yo ap pwobableman l sèvi avèk yon nonb antye relatif 32 ti jan. 831 00:36:31,960 --> 00:36:35,380 Fè tankou pwogramè a literalman jis tape, int, nan kòd li, 832 00:36:35,380 --> 00:36:39,620 e ke sa a ki kalite varyab ki yo ap lè l sèvi avèk nan magazen Kòd yon moun. 833 00:36:39,620 --> 00:36:42,230 Se konsa, gen nan lòt manifestasyon a sa yo kalite limit. 834 00:36:42,230 --> 00:36:45,063 >> Se konsa, mwen pa gen te jwe sa a game-- epi mwen te lekti moute sou istwa a 835 00:36:45,063 --> 00:36:48,470 nan konfime kòm much-- men nan la orijinal vèsyon nan Sivilizasyon, kote 836 00:36:48,470 --> 00:36:53,240 ou aparamman kominike youn ak lòt epi yo ka goumen oswa ki gen kè poze, 837 00:36:53,240 --> 00:36:56,590 Gandhi te sipoze yo dwe youn nan karaktè yo ki pi lapè, jan mwen 838 00:36:56,590 --> 00:36:59,280 konprann li, nan premye a vèsyon nan Sivilizasyon. 839 00:36:59,280 --> 00:37:03,250 Ak an reyalite, sou yon echèl nan 1 a 10, avantur l 'te jis yon 1. 840 00:37:03,250 --> 00:37:05,620 Se konsa, janm konsa léjèrman agresif, aparamman. 841 00:37:05,620 --> 00:37:11,590 >> Men, nan kèk pwen, ou ka aparamman enstale demokrasi nan jewografi ou yo. 842 00:37:11,590 --> 00:37:14,900 Men, si ou enstale demokrasi nan vèsyon ou nan jwèt la, 843 00:37:14,900 --> 00:37:17,320 Lè sa a, nivo agresyon ou ale desann. 844 00:37:17,320 --> 00:37:18,460 Li se yon bon bagay. 845 00:37:18,460 --> 00:37:20,890 Moun yo gen plis trankil aparamman, nan ki sitiyasyon. 846 00:37:20,890 --> 00:37:23,190 Men, aparamman, yon moun te fè pa gen yon, si, kondisyon 847 00:37:23,190 --> 00:37:24,780 nan vèsyon orijinal la nan kòd la. 848 00:37:24,780 --> 00:37:30,650 >> Se konsa, nivo agresyon Gandhi a te ale soti nan pozitif 1, moins 2, nan negatif 1, 849 00:37:30,650 --> 00:37:33,840 men jwèt la pa fè sa konprann nimewo negatif. 850 00:37:33,840 --> 00:37:38,680 Se konsa, sa ki te pase te agresyon Gandhi a nivo te ale soti nan 1, nan 0, nan negatif 1, 851 00:37:38,680 --> 00:37:40,900 ki te gen efè a nan vlope alantou yo te 852 00:37:40,900 --> 00:37:44,690 pèsonaj la pi agresiv nan jwèt la, nan yon valè de 255, 853 00:37:44,690 --> 00:37:46,630 sou yon echèl nan 1 rive nan 10. 854 00:37:46,630 --> 00:37:49,887 E depi lè sa a, gen nan te plis enkarnasyon nan jwèt sa a, 855 00:37:49,887 --> 00:37:51,720 epi yo te kenbe li kòm yon sòt de Pak ze, 856 00:37:51,720 --> 00:37:53,870 ki Gandhi se aparamman se konsa fò anpil agresif. 857 00:37:53,870 --> 00:37:56,740 Men, li te rezilta a nan yon trè senp erè pwogram 858 00:37:56,740 --> 00:37:58,630 nan ki vèsyon byen bonè nan jwèt la. 859 00:37:58,630 --> 00:38:02,860 >> Koulye a, plis enkyetan, plis dènyèman, Boeing a 787 860 00:38:02,860 --> 00:38:05,720 te dokimante tankou ke li gen yon ensèk, pa ki kalite aparèy 861 00:38:05,720 --> 00:38:07,340 ou patikilyèman vle gen yon ensèk. 862 00:38:07,340 --> 00:38:10,130 Apre sa, sentòm yo, ki mwen pral li isit la, ki soti nan yon atik sou entènèt, 863 00:38:10,130 --> 00:38:13,840 te sa a, yon modèl 787 avyon ki te mache ak pil kontinyèlman 864 00:38:13,840 --> 00:38:18,030 pou 248 jou ka pèdi tout altène aktyèl la, AC, 865 00:38:18,030 --> 00:38:20,850 kouran elektrik, akòz inite yo kontwòl dèlko, 866 00:38:20,850 --> 00:38:23,330 GCUs, ansanm pral antre nan mòd Echèk-an sekirite. 867 00:38:23,330 --> 00:38:26,790 Se konsa, sa a te yon avètisman bay lè yo te dekouvri pwoblèm sa a. 868 00:38:26,790 --> 00:38:28,750 Se kondisyon Sa a te lakòz pa yon vann san preskripsyon lojisyèl, 869 00:38:28,750 --> 00:38:32,230 entèn yo GCUs a, se konsa yon nonb antye relatif oswa yon varyab, 870 00:38:32,230 --> 00:38:36,850 ki debòde volonte apre 248 jou ki gen pouvwa kontinyèl. 871 00:38:36,850 --> 00:38:40,350 Boeing se nan pwosesis la nan devlope yon ajou lojisyèl GCU ki 872 00:38:40,350 --> 00:38:42,350 pral remèd kondisyon an danjere. 873 00:38:42,350 --> 00:38:44,226 >> Se konsa, anpil tankou misil a senaryo, kote 874 00:38:44,226 --> 00:38:46,850 yo te gen kèk kalite varyab ki te konte, ak konte, 875 00:38:46,850 --> 00:38:50,720 yo epi konte, men piti piti debòde limit yo nan kapasite li yo, 876 00:38:50,720 --> 00:38:54,890 Menm jan an tou te fè avyon an modi gen yon debòde varyab 877 00:38:54,890 --> 00:38:56,410 apre ase tan nan kouri. 878 00:38:56,410 --> 00:38:59,240 Se konsa, wout la lang-an-yon souflèt nan travay alantou pwoblèm sa a 879 00:38:59,240 --> 00:39:04,400 se vre wi:, rdemare, avyon ou chak 247 jou, se konsa ke vin memwa a siye 880 00:39:04,400 --> 00:39:06,100 ak varyab la ale tounen nan 0. 881 00:39:06,100 --> 00:39:09,410 Men mwen reyalize, sa a se yon trè gwo enkarnasyon nan lojisyèl, 882 00:39:09,410 --> 00:39:14,070 men espesyalman jan nou tande pale de Apple la opere sistèm pral antre nan machin, 883 00:39:14,070 --> 00:39:18,030 ak pwòp tèt-kondwi machin soti nan Google, ak nenpòt ki kantite enkarnasyon nan lojisyèl 884 00:39:18,030 --> 00:39:21,000 nan lavi chak jou nou an, televizyon ak mont, ak plis ankò, 885 00:39:21,000 --> 00:39:24,950 reyalize te antoure pa lojisyèl, tout nan yo ki ki ekri pa nou moun. 886 00:39:24,950 --> 00:39:28,150 >> Ak jan nou pral tout byento dekouvri, li trè fasil ak anpil tipik 887 00:39:28,150 --> 00:39:30,250 fè erè lè li ap ekri lojisyèl. 888 00:39:30,250 --> 00:39:32,745 Men, si ou pa trape yo, kèk move bagay ka rive. 889 00:39:32,745 --> 00:39:35,400 Koulye a, pafwa, kèk bagay komik ka rive, 890 00:39:35,400 --> 00:39:38,280 oswa omwen pafwa nou konnen ou kapab espere kèk mechanste. 891 00:39:38,280 --> 00:39:41,550 Se konsa, 0 divize pa 0, ki soti nan klas yo lekòl, se jeneralman yon move bagay. 892 00:39:41,550 --> 00:39:43,050 Li nan endefini. 893 00:39:43,050 --> 00:39:46,440 Epi li vire out-- e kite yo wè si MIC mwen ka chwazi sa a leve- ke Apple 894 00:39:46,440 --> 00:39:47,790 te gen kèk plezi ak sa a dènyèman. 895 00:39:47,790 --> 00:39:48,850 Se konsa, mwen gen yon ifon isit la. 896 00:39:48,850 --> 00:39:54,160 Mwen pral pale ak Siri epi mande l ' ban m 'repons lan nan 0 divize pa 0. 897 00:39:54,160 --> 00:39:55,850 Ki sa ki 0 divize pa 0? 898 00:39:55,850 --> 00:39:59,350 899 00:39:59,350 --> 00:40:02,230 >> Siri: Imajine ke ou gen 0 bonbon, epi ou fann yo respire 900 00:40:02,230 --> 00:40:03,540 nan mitan 0 zanmi. 901 00:40:03,540 --> 00:40:05,810 Konbyen bonbon chak moun jwenn? 902 00:40:05,810 --> 00:40:06,350 Wè? 903 00:40:06,350 --> 00:40:07,660 Li pa fè sans. 904 00:40:07,660 --> 00:40:10,540 Apre sa, bonbon mons se tris ke pa gen okenn bonbon. 905 00:40:10,540 --> 00:40:13,987 Epi ou yo tris ke ou pa gen okenn zanmi yo. 906 00:40:13,987 --> 00:40:15,570 DAVID J Malan: Li nan kalite insuportabl. 907 00:40:15,570 --> 00:40:17,550 Se konsa, sa a se sa ki te jis te di a. 908 00:40:17,550 --> 00:40:21,380 Li nan endetèmine, li pa nan defini, ak tout bon, lang programmation anpil 909 00:40:21,380 --> 00:40:24,950 oswa, reyèlman, konpilateur pral detekte lè ou, nan yon pwogram, 910 00:40:24,950 --> 00:40:27,050 eseye divize pa 0 0. 911 00:40:27,050 --> 00:40:29,830 Plezi pi plis pase si sa a, se ki aparamman, bonbon mons 912 00:40:29,830 --> 00:40:31,270 se sou Twitter jou sa yo. 913 00:40:31,270 --> 00:40:37,610 Apre sa, li te reponn a sa a, ak sa a, ki se absoliman adorabl. 914 00:40:37,610 --> 00:40:40,110 Men, kite a pran yon gade rapid nan yon koup la lòt konstwi, 915 00:40:40,110 --> 00:40:43,459 ak Lè sa a mete kèk nan sa a Kòd yo sèvi ak, nan bon fason. 916 00:40:43,459 --> 00:40:45,250 Se konsa, li vire soti, san konte pou pasan, gen nan 917 00:40:45,250 --> 00:40:49,174 yon bagay yo rele yon riban pandan y ap, ki sanble diferan ak se aplike 918 00:40:49,174 --> 00:40:51,590 yon ti kras differently-- ak nou pral evantyèlman wè examples-- 919 00:40:51,590 --> 00:40:53,500 men nan kèk sans, li nan pi senp paske li 920 00:40:53,500 --> 00:40:56,670 pa pèmèt ou inisyalize ak aktyalizasyon nan fwontyè a nan bouk la. 921 00:40:56,670 --> 00:40:57,794 Ou ka toujou aplike li. 922 00:40:57,794 --> 00:41:01,219 Se konsa, ou kapab fè bagay sa yo egzak menm ak yon riban pandan y ap, menm jan ak yon pou riban, 923 00:41:01,219 --> 00:41:03,260 men sentaks ou, ultimately-- kòm nou pral evantyèlman 924 00:41:03,260 --> 00:41:04,551 see-- a pwal diferan. 925 00:41:04,551 --> 00:41:07,450 Genyen nan menm yon fè pandan y ap riban, ki se aktyèlman yon ti kras diferan, 926 00:41:07,450 --> 00:41:09,640 nan ki tandiske yon pou riban ak yon riban pandan y ap toujou 927 00:41:09,640 --> 00:41:13,005 tcheke kondisyon yo an premye, si w ap li sa a sou tèt bagay jouk anba, 928 00:41:13,005 --> 00:41:16,440 li kalite sanble li k ap pase yo tcheke kondisyon li nan dènye paske li nan 929 00:41:16,440 --> 00:41:17,910 se vre wi: liy ki sot pase a nan kòd. 930 00:41:17,910 --> 00:41:20,580 Ak tout bon, ki k ap pase yo dwe itil nan sèten pwogram ke nou ekri, 931 00:41:20,580 --> 00:41:23,746 si ou vle jis je fèmen fè yon bagay ak evantyèlman tcheke kondisyon an. 932 00:41:23,746 --> 00:41:25,205 Sa a pa nesesèman yon move bagay. 933 00:41:25,205 --> 00:41:27,912 Si nou vle varyab, nou ka fè l 'nan yon koup la diferan fason. 934 00:41:27,912 --> 00:41:30,290 Apre sa, nou te wè nan Foxtrot nan desen ki pi ba, yon fason pou fè li, 935 00:41:30,290 --> 00:41:33,400 kote ou deklare varyab ou a, tankou int kontwa virgules, 936 00:41:33,400 --> 00:41:36,570 ak Lè sa a later-- petèt pwochen an liy, petèt 10 liy later-- 937 00:41:36,570 --> 00:41:37,800 ou aktyèlman inisyalize li. 938 00:41:37,800 --> 00:41:42,230 Se konsa, sa yo 2 liy nan kòd deklare yon varyab nan kalite int 939 00:41:42,230 --> 00:41:44,930 ak rele li vann san preskripsyon, se konsa li bay m 'ase Bits yo kenbe yon int. 940 00:41:44,930 --> 00:41:48,230 Lè sa a, evantyèlman, li mete valè a 0 nan ki varyab. 941 00:41:48,230 --> 00:41:51,250 Li fè aranjman la a 0 a ak 1 nan yon modèl, ke nou konnen soti nan semèn pase a, 942 00:41:51,250 --> 00:41:53,260 reprezante nimewo a nou konnen kòm 0. 943 00:41:53,260 --> 00:41:56,920 Ou franchman, ou ka fè sa a anpil plis suksen, jis renmen sa a. 944 00:41:56,920 --> 00:41:59,390 >> Koulye a, nou menm tou nou gen nan kapasite yo rele fonksyon. 945 00:41:59,390 --> 00:42:03,070 Ak an reyalite, isit la nan yon liy 2 pwogram, oswa yon ekstrè ladan l ', 946 00:42:03,070 --> 00:42:06,157 ki pèmèt nou aktyèlman ekri kèk kòd ki 947 00:42:06,157 --> 00:42:08,990 vin yon fisèl soti nan user-- la pi tankou volontè nou an yon ti moman ago-- 948 00:42:08,990 --> 00:42:11,320 estoke rezilta a nan yon varyab rele, 949 00:42:11,320 --> 00:42:15,470 ak then-- anpil tankou ak volontè nou an ak simagri printf soti valè sa yo 950 00:42:15,470 --> 00:42:19,180 pa pase nan de agiman, nan fisèl, ki te swiv pa varyab la 951 00:42:19,180 --> 00:42:20,781 rele, non, tèt li. 952 00:42:20,781 --> 00:42:23,155 Se konsa, kite a pran yon gade, anvan nou tounen vin jwenn Mario la, 953 00:42:23,155 --> 00:42:26,010 Yon koup la kounye a, egzanp sou sa a. 954 00:42:26,010 --> 00:42:30,537 >> Mwen pral ale pi devan epi louvri leve, kite a di, fonksyon-0.c. 955 00:42:30,537 --> 00:42:33,120 E kòm toujou, kòd sa a se disponib sou sit entènèt kou a nan, 956 00:42:33,120 --> 00:42:35,660 pou ou ka jwe ansanm nan kay ak gade nan li pita. 957 00:42:35,660 --> 00:42:40,400 Men, isit la pwogram nan nan li a sans, soti nan liy 17 a 22. 958 00:42:40,400 --> 00:42:43,270 Pwogram nan prensipal se kote a pwogram se toujou ale nan kòmanse. 959 00:42:43,270 --> 00:42:46,980 Pwogram sa a, aparamman, ki pral ekri ak lèt ​​detache soti non ou, kolon. 960 00:42:46,980 --> 00:42:50,320 Li nan Lè sa a, pral rele GetString, jis tankou nou te fè ak volontè nou yo. 961 00:42:50,320 --> 00:42:53,365 Lè sa a,, sa a se enteresan, li k ap pase yo rele PrintName. 962 00:42:53,365 --> 00:42:56,490 Li sanble soti, tout tan tout tan sa a, gen sanble gen yon fonksyon rele PrintName. 963 00:42:56,490 --> 00:42:57,614 Sa simagri Non yon moun. 964 00:42:57,614 --> 00:43:01,210 Nou pa t 'bezwen sèvi ak printf soti nan pase, gen nan PrintName. 965 00:43:01,210 --> 00:43:03,500 >> Men, sa a bay manti paske pa fè sa PrintName 966 00:43:03,500 --> 00:43:06,760 vini ak C. Moun pa t ' envante li kèk 40 oswa 50 ane de sa, 967 00:43:06,760 --> 00:43:07,990 Mwen te fè, olye. 968 00:43:07,990 --> 00:43:10,330 Lè an reyalite, si mwen woulo liv desann pi lwen, avi 969 00:43:10,330 --> 00:43:14,200 ki jan mwen ka ekri pwòp mwen fonksyon nan C. Nou pral evantyèlman 970 00:43:14,200 --> 00:43:16,319 eksplike poukisa nou kenbe li di: anile, nan yon kote kèk, 971 00:43:16,319 --> 00:43:18,110 men pou jodi a, se pou yo jis gade nan non an. 972 00:43:18,110 --> 00:43:20,905 >> Sou liy 24, si ou vle kreye fonksyon pwòp ou a, 973 00:43:20,905 --> 00:43:22,780 ou literalman ekri nan non nan fonksyon an. 974 00:43:22,780 --> 00:43:24,340 Mwen te chwazi PrintName. 975 00:43:24,340 --> 00:43:26,159 Nan parantèz, ou Lè sa a, presize ki sa kalite 976 00:43:26,159 --> 00:43:28,450 nan entrain, e ki jan anpil ou vle fonksyon sa a ou dwe pran. 977 00:43:28,450 --> 00:43:31,906 Nan ka sa a, mwen vle pran 1 varyab rele, non, 978 00:43:31,906 --> 00:43:34,030 epi li k ap pase yo dwe nan kalite, fisèl, se konsa li k ap pase 979 00:43:34,030 --> 00:43:35,780 yo dwe kèk sekans nan karaktè. 980 00:43:35,780 --> 00:43:39,170 Lè sa a,, sa a program-- anpil tankou nan grafouyen, 981 00:43:39,170 --> 00:43:42,590 ou ka gen devinèt koutim pieces-- ki pral gen konpòtman koutim sa a. 982 00:43:42,590 --> 00:43:46,760 Li nan ale nan rele printf pase nan, hello, kontneur, 983 00:43:46,760 --> 00:43:49,110 ak Lè sa a li pral yo ploge nan tou sa itilizatè a rele. 984 00:43:49,110 --> 00:43:51,450 >> Se konsa, sa a se yon egzanp nan sa ki yon syantis òdinatè ta 985 00:43:51,450 --> 00:43:55,090 distraksyon apèl oswa fonksyonèl dekonpozisyon yo, ki se jis 986 00:43:55,090 --> 00:43:58,110 fason anpenpan nan saying-- Èske si ou renmen sa a lide wo nivo, 987 00:43:58,110 --> 00:44:01,569 tankou mwen vle fonctionnalités ki simagri Non yon moun nan, absoliman ou 988 00:44:01,569 --> 00:44:04,360 ka literalman ekri printf ak Lè sa a pase nan agiman yo ou vle, 989 00:44:04,360 --> 00:44:07,340 ak pwogram nan pral travay, kòm li gen depi Mèkredi. 990 00:44:07,340 --> 00:44:10,510 Men, ou ka kòmanse abstrè lwen nosyon de enprime yon non. 991 00:44:10,510 --> 00:44:13,270 Ou ka bay li yon non, tankou PrintName, ak sa a 992 00:44:13,270 --> 00:44:15,280 se lide sa a nan stratifikasyon soti nan semèn 0. 993 00:44:15,280 --> 00:44:19,910 >> Koulye a, mwen epi ou pa gen konnen oswa pran swen ki jan PrintName se aplike. 994 00:44:19,910 --> 00:44:22,470 Wi li itilize printf, petèt li pa fè sa, ki moun ki konnen sa ki sèvi ak? 995 00:44:22,470 --> 00:44:23,410 Ki moun ki gen sousi? 996 00:44:23,410 --> 00:44:26,034 Koulye a, mwen ap pale moute isit la, olye pou yo desann isit la. 997 00:44:26,034 --> 00:44:28,700 Ak tout bon, kòm pwogram nou jwenn pi avanse ak sofistike, 998 00:44:28,700 --> 00:44:32,550 nou ap ale nan kenbe pran pou yo akòde ki moso devinèt pi ba nivo egziste. 999 00:44:32,550 --> 00:44:34,780 Paske nou ekri kòmandman sa yo oswa yon lòt moun te fè, se konsa 1000 00:44:34,780 --> 00:44:36,910 ke nou ka Lè sa a bati sou tèt yo. 1001 00:44:36,910 --> 00:44:39,430 Se pou nou pran yon gade nan sa a Variant, fonksyone yon sèl. 1002 00:44:39,430 --> 00:44:41,780 >> Se konsa, yon sèl sa a nan yon ti kras pi plis avanse, men li vire soti 1003 00:44:41,780 --> 00:44:44,570 ki nan bibliyotèk CS50 a, gen nan sèlman yon fonksyon GetInt. 1004 00:44:44,570 --> 00:44:47,720 Nou pa t 'panse, ane de sa, nan aplike yon fonksyon GetPositiveInt. 1005 00:44:47,720 --> 00:44:50,970 Epi sa a, yon ti kras anmèdan paske si ou nèg ap ekri yon pwogram dans 1006 00:44:50,970 --> 00:44:53,325 ou vle jwenn yon pozitif nonb antye relatif soti nan itilizatè a, 1007 00:44:53,325 --> 00:44:55,010 ou ka absoliman itilize GetInt. 1008 00:44:55,010 --> 00:44:57,840 Epi ou ka tcheke avèk absoliman kondisyon an ak petèt yon bouk 1009 00:44:57,840 --> 00:45:00,320 si sa int gen plis pouvwa pase 0 ak rele nan itilizatè a 1010 00:45:00,320 --> 00:45:02,699 si li pa bay ou yon nimewo ki pozitif. 1011 00:45:02,699 --> 00:45:04,740 Men, kite a bati sa a bilding bloke tèt nou, yon, 1012 00:45:04,740 --> 00:45:06,555 moso Grafouyen koutim, si ou pral. 1013 00:45:06,555 --> 00:45:08,680 Mwen pral gen yon pwogram isit la ke finalman, mwen 1014 00:45:08,680 --> 00:45:11,780 vle pou kapab rele GetPositiveInt, e mwen vle yo dwe 1015 00:45:11,780 --> 00:45:14,200 kapab enprime soti tou sa ki int se. 1016 00:45:14,200 --> 00:45:16,240 Men, sa a se distrè lwen kounye a. 1017 00:45:16,240 --> 00:45:19,050 Li nan jis te bay yon nivo segondè Non ki di ki sa li fè, 1018 00:45:19,050 --> 00:45:21,780 ki se bèl bagay paske li nan trè entwisyon kounye a li. 1019 00:45:21,780 --> 00:45:24,710 Men, si m 'fè swen sa ki nan anba kapo a, kite m 'woulo liv desann. 1020 00:45:24,710 --> 00:45:27,140 Lè li nan yon ti kras entimidasyon an premye, espesyalman 1021 00:45:27,140 --> 00:45:29,470 si sa a se pwogram premye ou a, men kite a pran yon gade. 1022 00:45:29,470 --> 00:45:32,860 >> M 'ap pa gen okenn ankò li di: anile, paske li vire soti fonksyon, 1023 00:45:32,860 --> 00:45:34,777 anpil tankou GetString, kapab retounen yon valè m '. 1024 00:45:34,777 --> 00:45:36,610 Yo pa jis gen ekri ak lèt ​​detache nan ekran an, 1025 00:45:36,610 --> 00:45:38,410 yo ka aktyèlman men m 'yon bagay tounen. 1026 00:45:38,410 --> 00:45:41,535 Apre sa, Lè nou konsidere ke anvan PrintName, Mwen pa t 'bezwen anyen tounen. 1027 00:45:41,535 --> 00:45:44,160 Mwen te bezwen efè a bò nan yon bagay ki montre moute sou ekran an, 1028 00:45:44,160 --> 00:45:46,570 men mwen pa t 'bezwen yon moun nan men m 'yon bagay tounen. 1029 00:45:46,570 --> 00:45:48,840 Isit la, ak GetPositiveInt, tankou ak GetInt, 1030 00:45:48,840 --> 00:45:50,640 Mwen vle yo dwe remèt yon bagay tounen. 1031 00:45:50,640 --> 00:45:53,220 Se konsa, mwen ap di se pa sa, anile, sou liy 23, men int, 1032 00:45:53,220 --> 00:45:55,570 ki di, sa a fonksyon ke mwen ekri, 1033 00:45:55,570 --> 00:45:58,860 rele GetPositiveInt ki pral men m 'tounen yon nonb antye relatif, pa pa gen anyen, 1034 00:45:58,860 --> 00:45:59,890 pa anile. 1035 00:45:59,890 --> 00:46:03,280 >> Pandan se tan, li la pral pran pa gen okenn entrain, se konsa mwen te, kalite, ranvèse li. 1036 00:46:03,280 --> 00:46:08,280 Mwen pa bay nenpòt ki GetPositiveInt D ', mwen vle li nan ban m' pwodiksyon li yo. 1037 00:46:08,280 --> 00:46:09,800 Lè sa a, sa k ap pase kounye a? 1038 00:46:09,800 --> 00:46:11,640 Se konsa, isit la nan ki jan mwen ka deklare yon varyab. 1039 00:46:11,640 --> 00:46:15,090 Mwen te fè li an deyò nan riban an, pou rezon nou pral evantyèlman wè, 1040 00:46:15,090 --> 00:46:17,700 men sa a jis bay mwen 32 Bits yo rele, n, 1041 00:46:17,700 --> 00:46:20,952 ak mwen te pre-detèmine yo nan magazen nonb antye relatif. 1042 00:46:20,952 --> 00:46:23,660 Ak isit la nan sa, pandan y ap konstwi fè, e sa se poukisa li a itil. 1043 00:46:23,660 --> 00:46:26,700 Literalman fè sa, pandan y ap n se mwens pase 1. 1044 00:46:26,700 --> 00:46:28,030 Se konsa, kite a wè sa ki rive. 1045 00:46:28,030 --> 00:46:30,760 Mwen enprime soti, tanpri ban m 'yon int pozitif. 1046 00:46:30,760 --> 00:46:34,300 Mwen lè sa a jwenn yon int, lè l sèvi avèk CS50 nan fonksyone ak ki estoke nan n. 1047 00:46:34,300 --> 00:46:38,990 >> Lè sa a,, ki sa liy nan Kòd pwobableman vin egzekite kap vini an, lojikman? 1048 00:46:38,990 --> 00:46:41,890 Ki liy nimewo? 1049 00:46:41,890 --> 00:46:42,571 Yeah, se konsa 31. 1050 00:46:42,571 --> 00:46:45,320 Ou pa ta konnen sa a jouk ou te te di oswa sòt de dégager li, 1051 00:46:45,320 --> 00:46:45,986 men sa a vre. 1052 00:46:45,986 --> 00:46:48,280 Li ale anwo jouk anba ak Lè sa a kenbe repete. 1053 00:46:48,280 --> 00:46:55,840 Se konsa, si mwen te tape nan di, nimewo a negatif 1, se n mwens pase negatif 1? 1054 00:46:55,840 --> 00:46:56,340 Yeah. 1055 00:46:56,340 --> 00:46:58,470 Paske negatif 1 se mwens pase 1. 1056 00:46:58,470 --> 00:46:59,510 Se konsa, sa ta dwe rive? 1057 00:46:59,510 --> 00:47:03,260 Mwen pral fè sa pandan y ap n se mwens pase 1, 1058 00:47:03,260 --> 00:47:05,760 se konsa mwen pral pou tounen nan liy 28. 1059 00:47:05,760 --> 00:47:09,530 >> Epitou, chak time-- e kite yo kouri sa a men fè fonksyon 1 a konpile li, 1060 00:47:09,530 --> 00:47:11,340 e kounye a, dot koupe fonksyon 1. 1061 00:47:11,340 --> 00:47:14,280 Si m 'tape negatif 1, li nan ale nan kenbe tap rele ke nan m ' 1062 00:47:14,280 --> 00:47:17,530 jouk tan mwen kolabore paske chak nan entrain mwen an se mwens pase 1 1063 00:47:17,530 --> 00:47:20,070 epi si li nan pandan y ap mwens pase 1, Mwen pral kontinye ap fè sa a. 1064 00:47:20,070 --> 00:47:24,240 Si m 'finalman bay li yon nimewo tankou 50, Erezman, li di, mèsi pou 50 an. 1065 00:47:24,240 --> 00:47:24,970 Poukisa? 1066 00:47:24,970 --> 00:47:30,640 Paske le pli vit ke n se pa pi piti pase 1, mwen sispann resevwa kole nan sa a riban, 1067 00:47:30,640 --> 00:47:33,840 ak nouvo mo kle sa a jodi a, retounen, literalman fè sa. 1068 00:47:33,840 --> 00:47:36,800 Se konsa, mwen te jis aplike, nan yon sans, ekivalan a nan GetString, 1069 00:47:36,800 --> 00:47:40,590 kote mwen Distribiye tounen nan moun ki va ap itilize ap itilize m ', gen kèk valè. 1070 00:47:40,590 --> 00:47:42,820 Li pa dwe fè yon fisèl, li nan yon int. 1071 00:47:42,820 --> 00:47:44,990 Se konsa, yon senp, rapid egzanp, men nou pral byento 1072 00:47:44,990 --> 00:47:47,930 wè kèk pi plis sofistike vèsyon toujou. 1073 00:47:47,930 --> 00:47:53,882 An reyalite, kite a pran yon gade nan yon nimerik youn, ki te rele return.c. 1074 00:47:53,882 --> 00:47:55,590 Apre sa, yon sèl sa a nan aktyèlman yon ti kras ki pi senp. 1075 00:47:55,590 --> 00:47:59,010 Se konsa, objektif pwogram sa a nan nan life-- kite nan konpile epi kouri li, 1076 00:47:59,010 --> 00:48:03,090 se konsa asire retou, dot koupe, avi return-- 1077 00:48:03,090 --> 00:48:05,530 pwogram lan tou senpleman kib valè a 2. 1078 00:48:05,530 --> 00:48:08,410 Li nan bèl estipid, li difisil Kòd, li pa pran okenn entrain, 1079 00:48:08,410 --> 00:48:12,220 men li fè sa demontre yon lòt fonksyon ki mwen te ekri tèt mwen. 1080 00:48:12,220 --> 00:48:15,760 Se konsa, isit, mwen te deklare yon varyab, ki rele x, nan kalite int, 1081 00:48:15,760 --> 00:48:17,840 egal a nimewo a 2, konplètman abitrè. 1082 00:48:17,840 --> 00:48:19,530 Sa a se jis kèk enprime an gonfle. 1083 00:48:19,530 --> 00:48:23,070 Li di x se kounye a, sa yo ak sa yo, cubing dot dot dot. 1084 00:48:23,070 --> 00:48:26,390 Apre sa, majik la se aparamman nan liy 21. 1085 00:48:26,390 --> 00:48:30,120 M ap rele yon fonksyon rele, kib, M 'ap Distribiye li yon fèy papye 1086 00:48:30,120 --> 00:48:32,890 ak 2 an kantite ekri sou li, ak sa ki valè, matematik, 1087 00:48:32,890 --> 00:48:34,860 Mwen vle jwenn soti nan li? 1088 00:48:34,860 --> 00:48:36,570 Menm jan yon chèk saniti? 1089 00:48:36,570 --> 00:48:37,070 8. 1090 00:48:37,070 --> 00:48:37,570 Dwa? 1091 00:48:37,570 --> 00:48:40,160 Mwen vle 2 Gleason tounen, 2 a pouvwa a nan 3, se konsa 8 tounen. 1092 00:48:40,160 --> 00:48:42,570 >> Se konsa, ki kote kib aplike? 1093 00:48:42,570 --> 00:48:44,349 Oke, remake li nan aplike desann isit la. 1094 00:48:44,349 --> 00:48:47,140 Apre sa, jis tankou anvan, lojikman, menm si sentaks la se pwobableman 1095 00:48:47,140 --> 00:48:49,320 trè nouvo nan anpil nan nou, Mwen vle fonksyon sa a 1096 00:48:49,320 --> 00:48:51,780 nan men m 'tounen yon fèy papye an papye avèk yon int sou li. 1097 00:48:51,780 --> 00:48:53,990 Se konsa, mwen gen yon int a, non se abitrèman, 1098 00:48:53,990 --> 00:48:55,530 men yon bon rele kib. 1099 00:48:55,530 --> 00:48:58,430 D 'a nan li, se n nan tape nonb antye relatif, se konsa sa a, se 1100 00:48:58,430 --> 00:49:00,800 ki jan mwen ka pase nan kantite 2 sou yon fèy papye. 1101 00:49:00,800 --> 00:49:03,910 Lè sa a, li vire soti C sipò matematik, pou w pa gen x a pou fwa, 1102 00:49:03,910 --> 00:49:06,680 ou jis itilize asterisk nan pou miltiplikasyon. 1103 00:49:06,680 --> 00:49:11,070 Lè sa a retounen fwa n fwa n n, ki se tou senpleman se yon valè Gleason. 1104 00:49:11,070 --> 00:49:12,840 >> Se konsa, kote nou prale ak tout bagay sa yo? 1105 00:49:12,840 --> 00:49:14,570 Sa a se definitivman yon gwo toubouyon vwayaj, rès asire, 1106 00:49:14,570 --> 00:49:16,410 ke nan seksyon yo ki super ak nan pwoblèm mete 1, 1107 00:49:16,410 --> 00:49:18,368 ou pral te mache nan tout tout bagay sa a tout plis la. 1108 00:49:18,368 --> 00:49:22,490 Ak nan pwoblèm mete 1, nou pral tranzisyon soti nan mond lan nan grafouyen grafik 1109 00:49:22,490 --> 00:49:25,640 nan yon bagay plis liy lòd nan C. Men, nou pral trase enspirasyon 1110 00:49:25,640 --> 00:49:27,680 sa a soti nan isit la jwèt soti nan pase, dans 1111 00:49:27,680 --> 00:49:31,591 lè l sèvi avèk C ak edisyon an estanda nan la p seri ou pral aplike piramid Mario la. 1112 00:49:31,591 --> 00:49:34,340 Ak nan edisyon an HACKER a nan p seri, si ou se konsa chwazi yo eli, 1113 00:49:34,340 --> 00:49:38,280 ou pral aplike yon ti jan pi plis defi piramid ak de tèt. 1114 00:49:38,280 --> 00:49:41,239 Ou ap tou aplike yon algorithm, se yon algorithm visye. 1115 00:49:41,239 --> 00:49:43,030 Li sanble yo deyò nan kèk lojik enteresan 1116 00:49:43,030 --> 00:49:45,640 dèyè pwosesis la nan kouri estasyon yon kesye nan 1117 00:49:45,640 --> 00:49:47,410 ak aktyèlman Distribiye yon moun chanjman tounen. 1118 00:49:47,410 --> 00:49:50,410 Gen yon algorithm sa a, se san patipri senp, ke ou ta ka menm 1119 00:49:50,410 --> 00:49:53,576 atrab entwitif lè w ou fèk li l-- ka akonpli se sa ki Mwen te toujou 1120 00:49:53,576 --> 00:49:57,110 fè nenpòt ki lè mwen te bay yon moun kèk back-- lajan ki pèmèt ou toujou 1121 00:49:57,110 --> 00:50:00,679 misyon pou minimize kantite a nan nòt papye oswa pyès monnen metal 1122 00:50:00,679 --> 00:50:02,220 ke w ap Distribiye tounen nan itilizatè a. 1123 00:50:02,220 --> 00:50:04,610 Lè sa a, nan kou, se irezistib paske si ou ale nan CVS oswa etajèr, 1124 00:50:04,610 --> 00:50:06,430 ou pa vle yo dwe men yon pakèt tout nan yo menm 1125 00:50:06,430 --> 00:50:07,596 oswa yon pakèt antye nan peni. 1126 00:50:07,596 --> 00:50:10,120 Ou vle mwens nan monnen, pwobableman, posib. 1127 00:50:10,120 --> 00:50:13,070 >> Finalman, ou pral tou gen pou defye travayèz nan mond lan nan dlo 1128 00:50:13,070 --> 00:50:17,220 ak aktyèlman jwenn yon apresyasyon pou yon kat ant kantite moun ki gen koule, 1129 00:50:17,220 --> 00:50:19,890 a renmen, dlo nan yon douch, jis ki kantite dlo yo itilize. 1130 00:50:19,890 --> 00:50:22,640 Apre sa, alizyon a ladan l ', yo pral sa a clip isit la, 1131 00:50:22,640 --> 00:50:24,840 ki nou pral fini sou pou jis 60 segonn, ki 1132 00:50:24,840 --> 00:50:29,070 pentire yon foto nan ba-koule douch branch. 1133 00:50:29,070 --> 00:50:30,886 >> [VIDEO lèktur] 1134 00:50:30,886 --> 00:50:31,385 -Tout Dwa. 1135 00:50:31,385 --> 00:50:32,774 Mwen te resevwa tout bagay isit la. 1136 00:50:32,774 --> 00:50:35,800 Mwen te resevwa F Seri an Cyclone, Hydra, Jetflow, Stockholm 1137 00:50:35,800 --> 00:50:37,660 Supersteam, ou non li. 1138 00:50:37,660 --> 00:50:39,265 >> -epi Sa ou rekòmande? 1139 00:50:39,265 --> 00:50:40,460 >> -Ki Moun n'ap chache? 1140 00:50:40,460 --> 00:50:41,300 >> -pouvwa Moun. 1141 00:50:41,300 --> 00:50:42,285 Pouvwa. 1142 00:50:42,285 --> 00:50:42,910 -tankou Silkwood. 1143 00:50:42,910 --> 00:50:44,520 -ki A pou radyasyon. 1144 00:50:44,520 --> 00:50:46,335 -ki A dwat. 1145 00:50:46,335 --> 00:50:48,275 -Koulye Ki sa ki sa a? 1146 00:50:48,275 --> 00:50:49,704 -ki Nan kòmando nan 450. 1147 00:50:49,704 --> 00:50:50,620 Mwen pa vann tou sa yon sèl. 1148 00:50:50,620 --> 00:50:51,700 >> -Men, Se sa ki nou vle. 1149 00:50:51,700 --> 00:50:52,680 Li se yon kòmando 450. 1150 00:50:52,680 --> 00:50:53,882 >> -Pa Gen kwè mwen. 1151 00:50:53,882 --> 00:50:55,090 Li nan sèlman itilize nan sirk la. 1152 00:50:55,090 --> 00:50:56,512 Li nan pou elefan. 1153 00:50:56,512 --> 00:50:59,356 >> -I'll Peye anyen. 1154 00:50:59,356 --> 00:51:01,252 >> -Ki Sou Jerry? 1155 00:51:01,252 --> 00:51:02,760 >> -Li Pa t 'kapab okipe sa. 1156 00:51:02,760 --> 00:51:04,910 Li se delika. 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 lèktur] 1160 00:51:37,320 --> 00:51:37,700 DAVID J Malan: Tout dwa. 1161 00:51:37,700 --> 00:51:38,820 Sa a si pou CS50. 1162 00:51:38,820 --> 00:51:40,050 Nou pral wè ou an semèn pwochèn. 1163 00:51:40,050 --> 00:51:45,910 1164 00:51:45,910 --> 00:51:49,029 >> Oratè 1: [? Scully?], [? Ian,?] osi lwen ke pwojè outro sa a, 1165 00:51:49,029 --> 00:51:50,362 Kisa ou mesye vini ak? 1166 00:51:50,362 --> 00:51:51,990 >> Oratè 2: Bon, nou te bay li yon varyete de panse, 1167 00:51:51,990 --> 00:51:53,250 epi nou panse ke fason ki pi bon to-- 1168 00:51:53,250 --> 00:51:53,660 >> Oratè 3: May mwen? 1169 00:51:53,660 --> 00:51:54,326 >> Oratè 2: Yeah. 1170 00:51:54,326 --> 00:51:56,360 Pa tout vle di, aktyèlman. 1171 00:51:56,360 --> 00:51:59,425 >> Oratè 3: Se konsa, mwen panse ke nou ka sòm moute lide nou 1172 00:51:59,425 --> 00:52:05,450 pou outros yo ak yon sèl pa gen anyen pawòl la-. 1173 00:52:05,450 --> 00:52:08,950 1174 00:52:08,950 --> 00:52:10,409 >> DAVID J Malan: Pa gen anyen? 1175 00:52:10,409 --> 00:52:11,200 Oratè 3: Pa gen anyen. 1176 00:52:11,200 --> 00:52:12,990 DAVID Malan J: Ki sa sa vle di? 1177 00:52:12,990 --> 00:52:16,260 Oratè 3: outros yo se sou pa gen anyen. 1178 00:52:16,260 --> 00:52:21,720 Oratè 2: Bon, mwen vle di, nan filozofi, Mwen vle di, pa gen anyen ki toujou yon bagay. 1179 00:52:21,720 --> 00:52:24,200 Oratè 1: Se konsa, what's-- sa ki nan site a? 1180 00:52:24,200 --> 00:52:25,720 Oratè 3: Se konsa, li la tankou lavi. 1181 00:52:25,720 --> 00:52:26,680 OK. 1182 00:52:26,680 --> 00:52:28,294 Ki sa ou te fè jodi a? 1183 00:52:28,294 --> 00:52:31,811 >> DAVID J Malan: Mwen te resevwa moute, te gen manje maten, y 'al nan travay. 1184 00:52:31,811 --> 00:52:34,056 >> Oratè 3: Sa a yon outro. 1185 00:52:34,056 --> 00:52:36,806 Oratè 2: Men, mwen vle di, pa ta dwe yon bagay rive l 'sou the-- 1186 00:52:36,806 --> 00:52:37,889 Oratè 3: Non, pa gen okenn, pa gen okenn, pa gen okenn. 1187 00:52:37,889 --> 00:52:40,220 Pa gen anyen k ap pase. 1188 00:52:40,220 --> 00:52:42,910 >> Oratè 1: Se konsa, poukisa yo nou ap gade? 1189 00:52:42,910 --> 00:52:46,956 >> Oratè 3: Paske li nan yon outro pou CS50. 1190 00:52:46,956 --> 00:52:48,652 >> DAVID J Malan: Pa ankò. 1191 00:52:48,652 --> 00:52:49,151