1 00:00:08,483 --> 00:00:11,477 [Powered by Google Translate] [ROKO MUZIKO] 2 00:00:32,435 --> 00:00:35,429 [MUZIKO - "HAPPY KUNE" La testudoj] 3 00:01:27,330 --> 00:01:30,170 DAVID Malan: Hodiaŭ, ni komencos nian tuŝo de la 4 00:01:30,170 --> 00:01:32,710 fundamentojn de komputiko kaj nia enkonduko, 5 00:01:32,710 --> 00:01:35,070 nun, al la arto de programado, de kiuj tio estas 6 00:01:35,070 --> 00:01:36,260 nur unu ekzemplo. 7 00:01:36,260 --> 00:01:39,600 Sed en la sama stilo de problemo solvi, scias, ke 8 00:01:39,600 --> 00:01:42,080 CS50 la tradicia Puzlo Tago estos morgaŭ. 9 00:01:42,080 --> 00:01:45,190 Se vi ankoraŭ ne RSVPed por tiu evento, vi povas iri al 10 00:01:45,190 --> 00:01:47,510 cs50.net/rsvp. 11 00:01:47,510 --> 00:01:50,940 Vi povas alporti teamoj de du aŭ tri aŭ kvar. 12 00:01:50,940 --> 00:01:53,080 Vi estos defiis kun problemoj kiel tiu, kiun vi vidis 13 00:01:53,080 --> 00:01:54,190 tie supre en la komenco. 14 00:01:54,190 --> 00:01:57,000 Ĉiuj novaj problemoj de ĉi tiu jaro, se vi partoprenis pasintjare, kaj vi 15 00:01:57,000 --> 00:01:59,680 havos ŝancon tiam gajni iuj fabelaj premioj. 16 00:01:59,680 --> 00:02:02,750 Inter ili, oni Wii kaj iuj donaco registritaj kaj kiel, 17 00:02:02,750 --> 00:02:05,650 ĉiuj dum eliri kun CS50 studentoj kaj samklasanoj 18 00:02:05,650 --> 00:02:07,720 kaj picon kaj Facebook. 19 00:02:07,720 --> 00:02:10,430 Do pli en tiu morgaŭ se vi ŝatus. 20 00:02:10,430 --> 00:02:13,330 >> Ĉi tiam estas CS50, por tiuj el vi kunigi nin por la 21 00:02:13,330 --> 00:02:14,510 unua fojo. 22 00:02:14,510 --> 00:02:18,030 Kaj scias, ke ĉi tiu kurso estas aparte difinita por atingi 23 00:02:18,030 --> 00:02:22,605 vi per ĉi tiu kurso al lia fina celo, je kiu punkto vi 24 00:02:22,605 --> 00:02:24,270 havos ne nur kompreno de tiuj 25 00:02:24,270 --> 00:02:26,450 fundamentojn de komputiko, sed vi devos 26 00:02:26,450 --> 00:02:29,120 tion tre praktika kapablojn kiujn vi povas tiam prenu reen al 27 00:02:29,120 --> 00:02:31,370 via propra fako, ĉu ĝi estas inĝenierio sciencoj, 28 00:02:31,370 --> 00:02:33,570 aplika matematiko, la fizikaj sciencoj, naturaj 29 00:02:33,570 --> 00:02:34,780 scienco, aŭ similaj. 30 00:02:34,780 --> 00:02:37,030 Ja, kio estas tiom ekscita pri komputiko tiuj 31 00:02:37,030 --> 00:02:39,900 tagoj estas ke ĝi estas ĝuste tiel aplikebla al 32 00:02:39,900 --> 00:02:40,990 ĉiaj kampoj. 33 00:02:40,990 --> 00:02:46,210 Kaj kvankam hodiaŭ, ni nur skrapi la surfaco de 34 00:02:46,210 --> 00:02:49,020 tre tradicia programlingvo konata kiel C, ni instruos vin 35 00:02:49,020 --> 00:02:51,040 anstataŭ rigardi iun nomita Scratch, iu kun 36 00:02:51,040 --> 00:02:53,420 kiu tiu kuketo amo estis realigita per unu el viaj 37 00:02:53,420 --> 00:02:57,020 antaŭuloj en jaroj pasintaj, por diri rakontojn, krei ludoj, 38 00:02:57,020 --> 00:03:00,060 krei interagajn arto, kaj fakte komenci por kovri niajn 39 00:03:00,060 --> 00:03:02,240 mensoj ĉirkaŭ kelkaj el la fundamentaj konstruoj kiuj 40 00:03:02,240 --> 00:03:05,390 subyacen programado sed en kunteksto, kiel vi vidos, ke estas 41 00:03:05,390 --> 00:03:09,140 multe malpli terura, ke estas multe malpli arcano, ol vi vidos 42 00:03:09,140 --> 00:03:10,140 antaux longe. 43 00:03:10,140 --> 00:03:12,410 Kaj realigi, ankaŭ, por tiuj el vi nur aliĝi al ni 44 00:03:12,410 --> 00:03:16,170 semestro, la frazoj, en kiu ni finis la merkreda konferenco, 45 00:03:16,170 --> 00:03:20,260 ne estas tiel grava, kie vi finos relativa al via 46 00:03:20,260 --> 00:03:22,950 kompanoj en ĉi klaso, sed kie vi per semestro la fino 47 00:03:22,950 --> 00:03:27,190 en semajno 11, fini relativa al vi mem rajtas nuna tago. 48 00:03:27,190 --> 00:03:32,000 >> Do sen pli enkonduko, tiu estas ankaŭ notinde, ke 49 00:03:32,000 --> 00:03:34,450 tiuj malpli komforta, tiuj ie inter, estas 50 00:03:34,450 --> 00:03:36,825 ankaŭ, por dezajno de ĉi tiu kurso, ne en ajna malavantaĝo 51 00:03:36,825 --> 00:03:38,760 vis-a-vis tiuj pli komforta 52 00:03:38,760 --> 00:03:39,920 venanta en ĉi tiu klaso. 53 00:03:39,920 --> 00:03:41,810 Kiel vi vidos sur la semajnoj veni, ni havas malsamajn 54 00:03:41,810 --> 00:03:44,600 temoj por pafas reen fono, sekcioj por tiuj 55 00:03:44,600 --> 00:03:46,500 malpli komfortaj, pli komforta, tiuj ie 56 00:03:46,500 --> 00:03:47,250 inter ili. 57 00:03:47,250 --> 00:03:49,520 Kiel vi vidos ĉi semajnfino kaj proksima semajno, du versioj de 58 00:03:49,520 --> 00:03:52,410 plej problemo aroj en ambaŭ normo kaj hacker eldono tiel 59 00:03:52,410 --> 00:03:55,390 ke vi ĉiuj povas mem-elekti laŭ la pado kun kiu vi 60 00:03:55,390 --> 00:03:56,615 estas plej komforta. 61 00:03:56,615 --> 00:03:58,770 >> Do hodiaŭ, ni plonĝi en tiun programadon 62 00:03:58,770 --> 00:04:00,060 lingvo nomita Scratch. 63 00:04:00,060 --> 00:04:02,250 Estas grafikaj programado lingvo, kaj tamen ĝi havas la 64 00:04:02,250 --> 00:04:04,500 samaj karakterizaĵoj de iu de la pli alta nivelo lingvoj ni instruos vin 65 00:04:04,500 --> 00:04:07,050 esplori poste en la semestro, inter ili C kaj 66 00:04:07,050 --> 00:04:08,670 JavaScript kaj PHP. 67 00:04:08,670 --> 00:04:11,890 Sed tuj ni permesas eviti iujn de la distroj 68 00:04:11,890 --> 00:04:14,890 frue de sintakso, aĵoj kiel punktokomojn, krampoj, 69 00:04:14,890 --> 00:04:17,720 kaj aliaj arcano detaloj kiuj, unuavide, estas nur ne 70 00:04:17,720 --> 00:04:19,916 tute intelekte interesa kaj emas eniri 71 00:04:19,916 --> 00:04:22,310 la vojo de iu fundamenta kompreno. 72 00:04:22,310 --> 00:04:24,870 En terminoj de nun la apogo strukturo antaŭen, realigita ĉi 73 00:04:24,870 --> 00:04:27,570 ilo, CS50 diskuti, kiu estos kunligitaj en la kurso de 74 00:04:27,570 --> 00:04:30,320 retejo poste hodiaŭ, estas la linio diskuto forumo en 75 00:04:30,320 --> 00:04:32,480 kiu vi povos demandi de si kaj 76 00:04:32,480 --> 00:04:35,020 bastonon, kaj estas ankaŭ ilo, kiel ni vidos proksima semajno, 77 00:04:35,020 --> 00:04:37,240 ke ni uzos sufiĉe integratedly en 78 00:04:37,240 --> 00:04:38,780 oficejo horoj tiel. 79 00:04:38,780 --> 00:04:41,670 Ja, oficejo horoj komenciĝas je lundo, kaj sincere, la unua 80 00:04:41,670 --> 00:04:43,930 semajno de oficejo horoj estas sufiĉe malalta klavo. 81 00:04:43,930 --> 00:04:46,820 >> Mi ne kredas vi trovos Scratch cxiuj nealirebla. 82 00:04:46,820 --> 00:04:48,930 Estas iom mem-klarigan, kiel ni vidos, kaj tiel kion 83 00:04:48,930 --> 00:04:51,380 ni uzos ĝin por hodiaŭ estas ĉerpi kelkaj el la 84 00:04:51,380 --> 00:04:53,990 fundamentaj ideoj kiuj estos, do, persisti en la tuta 85 00:04:53,990 --> 00:04:54,900 resto de la semestro. 86 00:04:54,900 --> 00:04:57,980 Sed ekde lundo, je 8:00 am tra 11:00 am estos 87 00:04:57,980 --> 00:05:01,530 oficejo horoj en Annenberg super cerbo ripozon. 88 00:05:01,530 --> 00:05:04,490 Sekciigo du komencos tiun vesperon, do iam ĉi 89 00:05:04,490 --> 00:05:07,260 semajnfino, iru al cs50.net/section, kaj vi instruos vin 90 00:05:07,260 --> 00:05:08,530 esti demandis kelkajn demandojn. 91 00:05:08,530 --> 00:05:10,290 Inter ili, kiel vi priskribus vian 92 00:05:10,290 --> 00:05:12,040 komforto nivelo ekde hodiaŭ? 93 00:05:12,040 --> 00:05:14,450 Ne malmola, rapida regulo pri kiu estas en kiuj balde. 94 00:05:14,450 --> 00:05:17,170 Estas nur la speco de afero, kiun vi probable scias se vi 95 00:05:17,170 --> 00:05:20,280 estas inter tiuj la malpli komfortaj aŭ alie. 96 00:05:20,280 --> 00:05:21,350 >> Kaj nun, walkthroughs. 97 00:05:21,350 --> 00:05:24,020 La problemo aro specifo por ĉi tiu semajno, ambaŭ normo 98 00:05:24,020 --> 00:05:28,560 kaj hacker eldono egale, estas rete ĉe cs50.net ekde nun. 99 00:05:28,560 --> 00:05:31,500 Kaj vi vidos, ke la unua el tiuj eldonoj, la 100 00:05:31,500 --> 00:05:33,940 normo eldono ĉiu semajno, estas akompanita de io 101 00:05:33,940 --> 00:05:36,550 nomas kodo walkthrough, kunsido gvidata de unu el la 102 00:05:36,550 --> 00:05:39,100 Kompreneble la instruado uloj gvidi vin tra, havigi 103 00:05:39,100 --> 00:05:42,290 konsilojn, kaj instigi vin apartan vojon kiam temas 104 00:05:42,290 --> 00:05:44,150 al startanta tiuj problemo aroj. 105 00:05:44,150 --> 00:05:46,790 Do kun ĉiu el tiuj problemo aroj, se vi iam voli 106 00:05:46,790 --> 00:05:50,250 mem kie mi komencos, vi komencos kun tiuj 107 00:05:50,250 --> 00:05:50,890 walkthroughs. 108 00:05:50,890 --> 00:05:53,450 Kaj fakte, permesu al mi prezenti Zamyla Chan, ĉi 109 00:05:53,450 --> 00:05:55,870 jara instruado ulo kiu estos kondukante ĉiuj kaj ĉiu 110 00:05:55,870 --> 00:05:56,910 unu el tiuj walkthroughs. 111 00:05:56,910 --> 00:05:57,961 Zamyla? 112 00:05:57,961 --> 00:06:03,370 >> [Aplaŭdo] 113 00:06:03,370 --> 00:06:03,975 ZAMYLA Chan: Ho, saluton, ĉiuj. 114 00:06:03,975 --> 00:06:05,130 Mia nomo estas Zamyla. 115 00:06:05,130 --> 00:06:08,250 Mi estas juna studi inĝenierion en Winthrop Domo. 116 00:06:08,250 --> 00:06:10,890 Sed mi provos kaj havi en tiom da komputiko kursoj kiel mi 117 00:06:10,890 --> 00:06:13,350 povas, tial mi vere ekscitita esti kondukante ĉi 118 00:06:13,350 --> 00:06:14,590 jaro walkthroughs. 119 00:06:14,590 --> 00:06:16,950 Walkthroughs, por mi, estis esenca parto de mia CS50 120 00:06:16,950 --> 00:06:17,910 sperto. 121 00:06:17,910 --> 00:06:22,710 Dum la walkthrough, por ĉiu p-aro, ni iros tra 122 00:06:22,710 --> 00:06:25,580 la problemo starigis kune, rigardu super la problemoj, ia 123 00:06:25,580 --> 00:06:27,360 dividi ilin en regebla mordas. 124 00:06:27,360 --> 00:06:28,990 Mi donos al vi konsiloj, teknikoj, por atingi 125 00:06:28,990 --> 00:06:30,820 tra kaj getting komencis. 126 00:06:30,820 --> 00:06:33,510 Mi esperas vidi vin cxiujn en la walkthroughs. 127 00:06:33,510 --> 00:06:34,720 Se vi ne povas fari ĝin en persono, tiam 128 00:06:34,720 --> 00:06:36,580 bonvolu fari agorditaj en linio. 129 00:06:36,580 --> 00:06:36,840 >> DAVID Malan: Bonega. 130 00:06:36,840 --> 00:06:37,950 Dankon, Zamyla. 131 00:06:37,950 --> 00:06:40,870 Do rimarkas ke walkthroughs estas ja sur vendredo 132 00:06:40,870 --> 00:06:43,110 posttagmeze, sed tio estas intence por dezajno por ke 133 00:06:43,110 --> 00:06:45,750 eĉ se vi preferas ne ĉeesti klaso sur vendredo 134 00:06:45,750 --> 00:06:48,490 Posttagmeze, la videoj estos ĉe ĉiuj pli rapide ol 135 00:06:48,490 --> 00:06:48,990 la semajnfino. 136 00:06:48,990 --> 00:06:51,880 Do rimarkas ke cs50.net estos ĉiuj Zamyla la 137 00:06:51,880 --> 00:06:53,130 walkthroughs. 138 00:06:54,800 --> 00:06:56,890 Kaj tio estas la hodiaŭa dato kaj tempo, 3:00 am, 139 00:06:56,890 --> 00:06:58,370 Harberd Hall, 104. 140 00:06:58,370 --> 00:07:00,080 Kaj iuj el la instruado uloj ankaŭ preparis 141 00:07:00,080 --> 00:07:03,250 iuj rimarkoj por vi en absentia doni al vi iom de 142 00:07:03,250 --> 00:07:06,760 perspektivon pri kion lian sperton venanta en kaj 143 00:07:06,760 --> 00:07:08,990 irante el CS50 estis kiel. 144 00:07:08,990 --> 00:07:11,250 Do, se ni povus krepuska la lumojn por momento, mi donos al vi 145 00:07:11,250 --> 00:07:18,100 iuj de CS50 bastono. 146 00:07:18,100 --> 00:07:20,440 >> Jackson STEINKAMP: Mi prenis CS50 pasintjare kiel freshman en la 147 00:07:20,440 --> 00:07:22,880 fali, kaj absolute blovis mian menson. 148 00:07:22,880 --> 00:07:25,090 Mi neniam estis prenita ajna programado klasoj antaŭe, 149 00:07:25,090 --> 00:07:26,380 kaj neniam envenis kun ajna komputiko 150 00:07:26,380 --> 00:07:27,320 sperti ajn. 151 00:07:27,320 --> 00:07:29,240 Kaj ĝuste, mi auxdis la zumado pri la klaso kaj 152 00:07:29,240 --> 00:07:30,050 decidis preni ĝin. 153 00:07:30,050 --> 00:07:31,780 >> JULIA MITELMAN: Estis vere amuza, vere engaĝi. 154 00:07:31,780 --> 00:07:33,480 Mi ankoraŭ, ĝis la nuna tago - 155 00:07:33,480 --> 00:07:36,560 Mi nur ĵus vidis mi havas la disketo, kiun David donis al ni 156 00:07:36,560 --> 00:07:38,140 sur nia unua tago de prelego. 157 00:07:38,140 --> 00:07:40,020 Mi pendigis ĝin sur mia muro. 158 00:07:40,020 --> 00:07:42,410 Tio estas verŝajne iom nerd, sed mi pendis en sur mia 159 00:07:42,410 --> 00:07:46,930 muro dum la klaso kiel memorigilo pri kiel cool estis. 160 00:07:46,930 --> 00:07:49,240 >> Travis Downs: Estas tiel hontinda. 161 00:07:49,240 --> 00:07:50,770 >> Jackson STEINKAMP: Komputika estas io, kion vi 162 00:07:50,770 --> 00:07:52,370 devus provi eĉ se vi ne estas unu por 163 00:07:52,370 --> 00:07:54,980 la tradiciaj sciencoj. 164 00:07:54,980 --> 00:07:58,510 Estas lia propra sperto, kaj CS50 estos certigi ke vi 165 00:07:58,510 --> 00:08:01,520 apogis bone tra ĝi kun lia vera armeo de TFs. 166 00:08:01,520 --> 00:08:03,700 >> ALI NAHM: Mi prenis ĝin kiel freshman, kaj tiel mi faris multon 167 00:08:03,700 --> 00:08:04,215 de novaj amikoj. 168 00:08:04,215 --> 00:08:07,170 Mi ankaŭ got enkondukis al ĉi tiu tuta koncentriĝo kaj 169 00:08:07,170 --> 00:08:10,770 tuta lernejo de inĝenierio, do mi ege rekomendas ĝin 170 00:08:10,770 --> 00:08:14,360 kaj bonvenigas vin al nia CS50 familio. 171 00:08:14,360 --> 00:08:17,510 >> YANIV YACOBY: CS50 nur instruas vin kiel uzi iloj 172 00:08:17,510 --> 00:08:19,210 kiuj estas vaste atingebla. 173 00:08:19,210 --> 00:08:21,840 Vi nur bezonas portebla, vi bezonas retumilo, kaj vi 174 00:08:21,840 --> 00:08:26,030 bezonas lerni skribi iom da kodo, kaj vi povas vere konstrui 175 00:08:26,030 --> 00:08:27,400 neta aĵoj. 176 00:08:27,400 --> 00:08:31,660 >> Karen Xiao: Estas nur tiel malvarmeta por povi fari ion 177 00:08:31,660 --> 00:08:34,580 kaj ke homoj uzas ĝin kaj havi homojn vidi ĝin, kaj tio estas 178 00:08:34,580 --> 00:08:35,900 kion mi vere amas pri ĝi. 179 00:08:35,900 --> 00:08:37,429 >> TIM McLaughlin: - senton de komunumo, mi kredas, en ĉi tiu 180 00:08:37,429 --> 00:08:39,470 Kompreneble pli ol iu ajn alia kurso Mi glutis ĝis nun. 181 00:08:39,470 --> 00:08:41,350 Vi ne nur preni alian - 182 00:08:41,350 --> 00:08:42,740 vi ne plenigante alian kondiĉon. 183 00:08:42,740 --> 00:08:45,310 Vi ne nur tuj prelegoj kaj tuj sekcio. 184 00:08:45,310 --> 00:08:49,630 Sed vi faras tunoj de aĵoj kiuj estas ĉiuj pri 185 00:08:49,630 --> 00:08:51,560 programado kaj ĉio pri la teknologio, sed ne 186 00:08:51,560 --> 00:08:53,090 vere sentas kiel klaso plejparto de la tempo. 187 00:08:53,090 --> 00:08:55,012 >> Travis Downs: Kaj en la unua tago, ili disdonis kukon kaj 188 00:08:55,012 --> 00:08:56,215 Mi tuj venditaj. 189 00:08:56,215 --> 00:08:57,822 >> Jacob PRITT: Libera dolĉa kaj pico. 190 00:08:57,822 --> 00:08:59,820 >> ZAMYLA Chan: - sendepende de via intereso nivelo, mi pensas 191 00:08:59,820 --> 00:09:05,170 ke CS50, vi havos amuzan, kaj vi estos intelekte 192 00:09:05,170 --> 00:09:06,070 stimulita. 193 00:09:06,070 --> 00:09:07,926 >> MARK GROZEN-SMITH: Estas ĉiam partio en klaso, kaj ĝi estas 194 00:09:07,926 --> 00:09:09,990 partio ĉiunokte laboras en via p-aro. 195 00:09:09,990 --> 00:09:11,880 >> Jackson STEINKAMP: Ĉiufoje kiam vi finos problemo aro, vi 196 00:09:11,880 --> 00:09:13,710 sentos kiel vi finis projekton. 197 00:09:13,710 --> 00:09:16,580 >> Melissa Niu: Estis freshman jaro, kaj mi faris aĉetoj. 198 00:09:16,580 --> 00:09:19,030 Mi havis mian kvar klasoj pretaj, kaj mi estis en Annenberg. 199 00:09:19,030 --> 00:09:21,670 Kaj mi pusxigxas al amiko, kaj li diras, hey, mi aĉeti 200 00:09:21,670 --> 00:09:24,330 ĉi tiu klaso nomis CS50, kaj vi venu kun mi. 201 00:09:24,330 --> 00:09:28,150 Finis portante ĝin tiu aŭtuno, kaj post tiu klaso, mi 202 00:09:28,150 --> 00:09:30,510 pensis eble mi tuj plej malgranda en CS. 203 00:09:30,510 --> 00:09:33,760 Sed tie mi estas, tri jarojn poste, ankoraŭ studanta komputilo 204 00:09:33,760 --> 00:09:36,680 scienco kaj vere fari ĝin kiel grava, kaj mi amis ĉiun 205 00:09:36,680 --> 00:09:37,780 momento de ĝi. 206 00:09:37,780 --> 00:09:39,030 >> ROB Bowden: mi ne havas ideon. 207 00:09:46,408 --> 00:09:48,060 >> ALI NAHM: Ni vidos. 208 00:09:48,060 --> 00:09:49,200 >> Melissa Niu: frenezo. 209 00:09:49,200 --> 00:09:50,610 >> Parolanto 1: Mi sentas kiel mi estus tre kliŝo. 210 00:09:50,610 --> 00:09:52,530 Mi nur diras, kiel, awesome. 211 00:09:52,530 --> 00:09:53,540 >> YANIV YACOBY: Alireblo. 212 00:09:53,540 --> 00:09:55,080 >> Jacob PRITT: Libera dolĉa kaj pico. 213 00:09:55,080 --> 00:09:57,310 >> Travis Downs: Cannot turni suben klaso kiu manoj el kuko. 214 00:09:57,310 --> 00:09:58,510 >> TIM McLaughlin: Energia. 215 00:09:58,510 --> 00:10:00,040 >> VIPUL Shekhawat: Esencaj. 216 00:10:00,040 --> 00:10:02,636 >> ROB Bowden: Lasu min pensi pri respondo. 217 00:10:02,636 --> 00:10:04,480 Mi kredas ke mi ricevis ion. 218 00:10:04,480 --> 00:10:07,092 Ho, dio. 219 00:10:07,092 --> 00:10:13,370 Yeah, mia nomo Rob Bowden, kaj ĉi tiu estas CS50. 220 00:10:13,370 --> 00:10:16,340 >> [Aplaŭdo] 221 00:10:20,810 --> 00:10:23,390 DAVID Malan: Bone, do ni komencas pentri bildon 222 00:10:23,390 --> 00:10:26,230 de la direkto en kiu povas iri, kaj ni enkonduki 223 00:10:26,230 --> 00:10:28,190 tiu koncepto tie konata kiel _pseudocode_. 224 00:10:28,190 --> 00:10:29,560 Do _pseudocode_ ne estas programado 225 00:10:29,560 --> 00:10:30,810 lingvo al si mem. 226 00:10:30,810 --> 00:10:33,250 Estas nenio teknika per, sed estas nur speco de 227 00:10:33,250 --> 00:10:36,490 ĝenerala maniero de esprimi vin sufiĉe detale, 228 00:10:36,490 --> 00:10:39,730 sufiĉe Algoritma, sufiĉe procedurally, sed sen 229 00:10:39,730 --> 00:10:42,570 devi zorgi pri kio lingvo vi esprimanta 230 00:10:42,570 --> 00:10:43,150 mem in 231 00:10:43,150 --> 00:10:46,280 Estas iu modelo de la angla kaj programlingvoj kun 232 00:10:46,280 --> 00:10:48,790 kion vi hazarde estos konataj, do ni povas komenci 233 00:10:48,790 --> 00:10:50,600 skribi ĉi tiajn aferojn kiel ni iru. 234 00:10:50,600 --> 00:10:54,450 Kaj fakte, Jozef, mi povus prunti vin sur la scenejo esti 235 00:10:54,450 --> 00:10:55,490 skribisto tie? 236 00:10:55,490 --> 00:11:00,130 Mi antaŭenirinta tie anticipe kaj forgesita por meti 237 00:11:00,130 --> 00:11:02,920 sur iu ŝtrumpetojn hodiaŭ, kaj ĉi estos inter niaj pli 238 00:11:02,920 --> 00:11:03,780 ridindaj ekzemploj. 239 00:11:03,780 --> 00:11:04,580 >> Nun, mi bezonas vin tie. 240 00:11:04,580 --> 00:11:05,630 Mi faros la ŝtrumpetoj parto. 241 00:11:05,630 --> 00:11:08,040 Do jen ni havas iom nulo pad. 242 00:11:08,040 --> 00:11:09,940 Ĉi tiu estas laŭvorte nur TextEdit en Mac. 243 00:11:09,940 --> 00:11:12,270 Ni fakte ne tuj skribos runnable programo, sed 244 00:11:12,270 --> 00:11:14,220 ni ĵus tuj komencos desegnante el _pseudocode_ bazita 245 00:11:14,220 --> 00:11:17,830 sur iu el la konsilon vi donas al mi cxi tie. 246 00:11:17,830 --> 00:11:20,760 Do jen mia amaso de ŝtrumpetoj hejme. 247 00:11:20,760 --> 00:11:23,320 Mi havas neniun ŝtrumpetojn sur kiam mi veki en la mateno, kaj ni nun 248 00:11:23,320 --> 00:11:26,280 bezonas skribi programon, algoritmo de varoj, kun kiu 249 00:11:26,280 --> 00:11:27,900 akiri tiujn ŝtrumpetojn sur miaj piedoj. 250 00:11:27,900 --> 00:11:30,860 Kaj laŭ la vojo, vidu se ni vojaĝo finiĝis, aŭ renkontas, 251 00:11:30,860 --> 00:11:32,860 kelkaj el la ideoj kiujn vi tuj devas starti 252 00:11:32,860 --> 00:11:35,470 pensante pri multe pli serioze kiam programado 253 00:11:35,470 --> 00:11:37,950 ke viaj programoj ne kondutu tiel same intencis. 254 00:11:37,950 --> 00:11:39,580 >> Do mi sidiĝi tie. 255 00:11:39,580 --> 00:11:41,180 Mi havas mian amason da ŝtrumpetoj. 256 00:11:41,180 --> 00:11:43,780 Kio estas la unua aĵo racian homo estus 257 00:11:43,780 --> 00:11:46,600 do kiam la celo estas meti sur paro de ŝtrumpetoj? 258 00:11:46,600 --> 00:11:49,190 Iu donu al mi unu paŝo, kaj nur unu paŝo. 259 00:11:49,190 --> 00:11:49,796 Yeah? 260 00:11:49,796 --> 00:11:50,690 Spektantaro: Klinu sube. 261 00:11:50,690 --> 00:11:54,290 DAVID Malan: Klinu sube, Okay. 262 00:11:54,290 --> 00:11:55,540 Paŝo du. 263 00:11:59,975 --> 00:12:00,645 Paŝo du. 264 00:12:00,645 --> 00:12:01,840 Spektantaro: Prenu vian ŝtrumpeto. 265 00:12:01,840 --> 00:12:03,220 DAVID Malan: Prenu vian ŝtrumpeto. 266 00:12:03,220 --> 00:12:07,610 Konsentite, tiel malpeza ambigueco tie, kaj ĉi tiu estas unu el la unuaj 267 00:12:07,610 --> 00:12:09,380 stumblante blokoj ke ni devus intence 268 00:12:09,380 --> 00:12:10,290 renkonti tie. 269 00:12:10,290 --> 00:12:14,110 Ĝi estas iom ambigua, do prenu vian ŝtrumpeto. 270 00:12:14,110 --> 00:12:17,425 Bone, mi prenos ĉi tiu, sed komputilo, realigi en nur 271 00:12:17,425 --> 00:12:20,420 bito, ne tuj havas tian homan instinkton nur 272 00:12:20,420 --> 00:12:21,490 repreni la plej proksima unu. 273 00:12:21,490 --> 00:12:23,590 Ni tuj devos komenci, antaŭ longa, esprimante 274 00:12:23,590 --> 00:12:24,610 mem pli precize. 275 00:12:24,610 --> 00:12:26,600 >> Bone, do paŝo du estas repreni vian ŝtrumpeto. 276 00:12:26,600 --> 00:12:27,520 Ni prenos ĝin. 277 00:12:27,520 --> 00:12:28,620 Paŝo tri. 278 00:12:28,620 --> 00:12:29,532 En la dorso. 279 00:12:29,532 --> 00:12:30,900 Spektantaro: Trovi trafa paron. 280 00:12:30,900 --> 00:12:32,060 DAVID Malan: Trovi kongruanta paron. 281 00:12:32,060 --> 00:12:34,740 Okay, do ĉi tiu estas bona. 282 00:12:34,740 --> 00:12:35,650 Mi devis elekti tiun ŝtrumpeto. 283 00:12:35,650 --> 00:12:39,200 Do la celo estas trovi kongruanta ŝtrumpeto, nun, sed kion 284 00:12:39,200 --> 00:12:39,990 tio signifas? 285 00:12:39,990 --> 00:12:42,130 Al racia homo, multe kiel en merkredo, kiam mi ĵus 286 00:12:42,130 --> 00:12:44,700 sciis kiel trovi Mike Smith en telefono libro, nur ia 287 00:12:44,700 --> 00:12:45,640 iris kun siaj instinkto. 288 00:12:45,640 --> 00:12:49,220 Sed ĉi tie, estas evidente ĉi ŝtrumpeto tie, sed komputilo 289 00:12:49,220 --> 00:12:51,350 ne tuj estos tiom instinkta. 290 00:12:51,350 --> 00:12:53,830 Komputilo tuj havi kolekton de bitoj, kiel ni 291 00:12:53,830 --> 00:12:55,380 diskutis merkredon, kaj tiuj estas 292 00:12:55,380 --> 00:12:56,710 organizita iel en memoro. 293 00:12:56,710 --> 00:13:00,400 Sed la punkto estas ke komputilo havas nur la kapablo 294 00:13:00,400 --> 00:13:03,390 rigardi tion unuope, kaj fakte, ecx ni 295 00:13:03,390 --> 00:13:05,980 homoj - eĉ se li sentas kiel mi rigardis malsupren kaj fendi 296 00:13:05,980 --> 00:13:08,900 dua poste mi scias kie la ŝtrumpeto estas, mia cerbo kaj miaj okuloj 297 00:13:08,900 --> 00:13:12,000 supozeble ne rapidan skim de tiuj ŝtrumpetoj, kaj tiam alkroĉis 298 00:13:12,000 --> 00:13:13,400 sur la unu en demando. 299 00:13:13,400 --> 00:13:15,780 >> Do se ni estos des pli intenca nun kiel komputilo, 300 00:13:15,780 --> 00:13:17,780 kiom mi trovas tiun kongruanta paro? 301 00:13:17,780 --> 00:13:18,890 Nu, ni devas persisti. 302 00:13:18,890 --> 00:13:21,440 Ni devas eble buklo sur ĉi tiu salato de ŝtrumpetoj en la 303 00:13:21,440 --> 00:13:25,760 plankon per mi diras ion kiel POR ĈIU ŝtrumpeto, elektu ĝin 304 00:13:25,760 --> 00:13:30,195 supren, KAJ SE la sama formo kaj grandeco kiel la alia, DO 305 00:13:30,195 --> 00:13:32,150 dot, punkto, ĝi pentras, ni daŭrigos la rakonton. 306 00:13:32,150 --> 00:13:34,430 Do por ĉiu ŝtrumpeto, do mi reprenos ĉi tiu. 307 00:13:34,430 --> 00:13:36,520 Mi kontrolu estas ĉi egala al tiu ĉi. 308 00:13:36,520 --> 00:13:38,250 Ne estas, do mi metis flanken flanko. 309 00:13:38,250 --> 00:13:39,220 Tiam mi persisti denove. 310 00:13:39,220 --> 00:13:40,340 Estu ĉi tiu egala? 311 00:13:40,340 --> 00:13:42,010 Ne, ĝi ne estas, do mi metis ĝin flanken. 312 00:13:42,010 --> 00:13:42,710 Ĉu ĉi tiu? 313 00:13:42,710 --> 00:13:43,200 Ne 314 00:13:43,200 --> 00:13:43,670 Ĉi tiu? 315 00:13:43,670 --> 00:13:44,520 Ne, kaj tiel plu. 316 00:13:44,520 --> 00:13:48,730 Kaj poste fine, mi esperas, mi renkontas tiun ŝtrumpeto tie. 317 00:13:48,730 --> 00:13:51,350 Do, se ĝi estas la sama formo, grandeco, prenu ĝin. 318 00:13:51,350 --> 00:13:53,980 >> Kaj nun, kio estus nia sekva paŝo tie? 319 00:13:53,980 --> 00:13:54,402 Yeah? 320 00:13:54,402 --> 00:13:56,090 Spektantaro: Identigu dekstra de maldekstre. 321 00:13:56,090 --> 00:13:58,980 DAVID Malan: Konsentite, identigi dekstren kaj maldekstren, tiel 322 00:13:58,980 --> 00:14:01,870 feliĉe, tiu speco de verkoj. 323 00:14:01,870 --> 00:14:04,020 Iom simetria, aux mi ĵus eluzita ilin tiamaniere. 324 00:14:04,020 --> 00:14:07,020 Bone, do mi identigis la dekstra. 325 00:14:07,020 --> 00:14:09,980 Kaj nun, antaŭ ol ni procedi, lasu min montri kion Jozef 326 00:14:09,980 --> 00:14:12,890 estis farante tie kiel speco de sperta programisto. 327 00:14:12,890 --> 00:14:15,800 Do denove, ne estas unu maniero fari tion, sed tie nur 328 00:14:15,800 --> 00:14:18,480 numeri la linioj, Jozef jam komencis fari tion 329 00:14:18,480 --> 00:14:19,460 ia deŝovon. 330 00:14:19,460 --> 00:14:21,950 Ja, tio estas tre komuna konvencio en programado, 331 00:14:21,950 --> 00:14:26,110 per kiam vi ion ripeta, looping stilo, kiel 332 00:14:26,110 --> 00:14:28,480 ni implicante kun la angla frazo "POR ĈIU 333 00:14:28,480 --> 00:14:31,090 ŝtrumpeto, "la konvencio en _pseudocode_ kaj, kiel ni vidos, 334 00:14:31,090 --> 00:14:33,410 normala programlingvoj, estas nur indent. 335 00:14:33,410 --> 00:14:36,240 Batis la spaco trinkejo kelkajn fojojn, batis la Tab aŭ similaj, 336 00:14:36,240 --> 00:14:40,660 por ke anidadas sub "POR ĈIU ŝtrumpeto" estas la eron de 337 00:14:40,660 --> 00:14:43,430 plenigos ke vi bezonas fari kiel rezulto de tiu ciklo. 338 00:14:43,430 --> 00:14:45,940 Do jen ĉio ke tio transportante semantike. 339 00:14:45,940 --> 00:14:48,620 Nun dume, la "Se ĝi estas la sama formo kaj grandeco," la 340 00:14:48,620 --> 00:14:51,590 Fakte tiu "Prenu" estas dentado pli simple signifas 341 00:14:51,590 --> 00:14:54,370 tio estas la sola afero vi faru se tiu kondiĉo, 342 00:14:54,370 --> 00:14:59,770 se tiu branĉo, kiu forko en la vojo, estas fakte vera. 343 00:14:59,770 --> 00:15:02,130 >> Do nun cxi tie, ni estas en paŝo kvar, identigi dekstre kaj maldekstre. 344 00:15:02,130 --> 00:15:03,410 Mi identigas pravas. 345 00:15:03,410 --> 00:15:05,150 Doni al mi treti kvin. 346 00:15:05,150 --> 00:15:07,880 Kaj teknike, ni povus vere nomas 347 00:15:07,880 --> 00:15:09,510 la POR ĈIU afero - 348 00:15:09,510 --> 00:15:11,450 vi devus probable prikalkulu ĉiujn liniojn se 349 00:15:11,450 --> 00:15:12,190 ni tuj faros tion. 350 00:15:12,190 --> 00:15:14,006 Joseph: [inaudible] 351 00:15:14,006 --> 00:15:14,610 DAVID Malan: [inaudible]? 352 00:15:14,610 --> 00:15:16,070 Konsentite, fajna, bone, ni tion faros vian vojon. 353 00:15:16,070 --> 00:15:19,590 Bone, do paŝo kvin, kiel ni faras la dekstra ŝtrumpeto? 354 00:15:19,590 --> 00:15:22,310 Kiel ni procedi proksima, tie? 355 00:15:22,310 --> 00:15:22,730 Jes? 356 00:15:22,730 --> 00:15:24,300 Spektantaro: Levu dekstra kruro. 357 00:15:24,300 --> 00:15:27,100 DAVID Malan: Levu dekstra kruro, Okay. 358 00:15:27,100 --> 00:15:29,330 Paŝo ses? 359 00:15:29,330 --> 00:15:30,728 Rapide. 360 00:15:30,728 --> 00:15:31,202 Yeah. 361 00:15:31,202 --> 00:15:33,100 Spektantaro: Trovi malfermita fino de la ŝtrumpeto. 362 00:15:33,100 --> 00:15:34,440 DAVID Malan: Konsentite, trovi la malfermita fino de la ŝtrumpeto. 363 00:15:34,440 --> 00:15:34,840 Tiel bona. 364 00:15:34,840 --> 00:15:37,180 Do jen, honeste, tre komuna instinkto estus nur esti 365 00:15:37,180 --> 00:15:39,880 surmetis dekstra ŝtrumpeto, sed ankaŭ tio sufiĉe ambigua. 366 00:15:39,880 --> 00:15:42,750 Krom se la komputilo aŭ homa scias precize kion tio signifas, 367 00:15:42,750 --> 00:15:45,160 ĝi ne tuj estos por ekzekuti ke, tial ĉi tie, mi havas 368 00:15:45,160 --> 00:15:46,520 trovis la malfermo de la stoko. 369 00:15:46,520 --> 00:15:48,222 Paŝo sep? 370 00:15:48,222 --> 00:15:49,700 Spektantaro: Tuŝu viaj piedoj. 371 00:15:49,700 --> 00:15:51,070 DAVID Malan: Touch piedfingroj. 372 00:15:51,070 --> 00:15:53,546 Okay, do nun ni iru - 373 00:15:53,546 --> 00:15:56,480 Bone, mi iros por preni iujn liberecoj tie. 374 00:15:56,480 --> 00:15:57,110 Dankon. 375 00:15:57,110 --> 00:15:59,210 Paŝo ok? 376 00:15:59,210 --> 00:16:00,060 Surmetu ŝtrumpeto. 377 00:16:00,060 --> 00:16:02,060 Konsentite, tiel nun mi, pensas ni estas fermi sufiĉa al varo de preni 378 00:16:02,060 --> 00:16:03,480 ĉi tiu estas hejme. 379 00:16:03,480 --> 00:16:05,980 Bone, do ĉi iras supren. 380 00:16:05,980 --> 00:16:07,950 Mi prenos iom liberecoj kun kio signifas, fakte. 381 00:16:07,950 --> 00:16:08,920 Metu la ŝtrumpeto plu. 382 00:16:08,920 --> 00:16:10,853 Bone, nun tretas naŭ? 383 00:16:10,853 --> 00:16:11,740 Spektantaro: Metu piedon malsupren. 384 00:16:11,740 --> 00:16:12,510 DAVID Malan: Dankon. 385 00:16:12,510 --> 00:16:15,610 Paŝo naŭ, metis piedon malsupren, kaj nun, ni povas ripeti. 386 00:16:15,610 --> 00:16:19,540 Do supozeble, ni povas nun iri en paŝo 10 kaj diru identigi 387 00:16:19,540 --> 00:16:21,960 forlasis ŝtrumpeto, sed tio supozeble jam faris. 388 00:16:21,960 --> 00:16:24,100 >> Kaj tiel do, mi povas ordigi de ripeti tiujn paŝojn. 389 00:16:24,100 --> 00:16:25,260 Sed ĉi speco de petegas la demando. 390 00:16:25,260 --> 00:16:28,100 Antaŭe, la lastan fojon ni volis ripeti ion, ni 391 00:16:28,100 --> 00:16:30,730 faris ripete, denove kaj denove, POR 392 00:16:30,730 --> 00:16:32,660 ĈIU buklo tiel diri. 393 00:16:32,660 --> 00:16:36,420 Ĉu havas sencon uzi buklo por manipuli ambaŭ 394 00:16:36,420 --> 00:16:38,470 la maldekstra kaj la dekstra ŝtrumpeto? 395 00:16:38,470 --> 00:16:40,460 Ĉar li sentas kiel tiuj operacioj estas preskaux 396 00:16:40,460 --> 00:16:43,090 identa krom la fakto ke unu startas tie kaj unu 397 00:16:43,090 --> 00:16:44,850 komenciĝas ĉi tie? 398 00:16:44,850 --> 00:16:47,400 Ĉu ni buklo, aŭ ĉu ni simple subtenas skribi paŝoj 399 00:16:47,400 --> 00:16:48,745 10 kaj 11 kaj 12? 400 00:16:48,745 --> 00:16:50,540 Spektantaro: Cirkla. 401 00:16:50,540 --> 00:16:52,240 >> DAVID Malan: Konsentite, tiel ciklo. 402 00:16:52,240 --> 00:16:54,730 Mi vere povus diri simple observu tuj. 403 00:16:54,730 --> 00:16:55,720 Do kial estas tiu la kazo? 404 00:16:55,720 --> 00:16:57,940 Nu, ĉi tiu estas vere la unua de nia ne-evidenta 405 00:16:57,940 --> 00:17:01,210 dezajno decidojn, kaj fakte, unu el la metrikoj, per kiu 406 00:17:01,210 --> 00:17:03,990 ni komencas taksi, ĉar ni mem kaj por vi, la 407 00:17:03,990 --> 00:17:06,780 kvalito de programo estas nur kiel bone desegnita estas. 408 00:17:06,780 --> 00:17:09,619 Vi faris la minimuma kvanto de laboro necesa por 409 00:17:09,619 --> 00:17:12,480 get the job plenumis plej rapide, ĉu en terminoj de 410 00:17:12,480 --> 00:17:15,430 via tempo aŭ en terminoj de la komputilo rula tempo? 411 00:17:15,430 --> 00:17:17,589 Kiom da operacioj faras prenas por ekzekuti? 412 00:17:17,589 --> 00:17:20,180 Do eble, tiu estas ŝanco por buklo ĉar 413 00:17:20,180 --> 00:17:22,829 tuj kiam mi komencas kopii kaj bati, kiel Jozef efektive 414 00:17:22,829 --> 00:17:25,010 would komenci fari en momento, vi estas speco de malŝparas vian 415 00:17:25,010 --> 00:17:27,140 tempo, kaj vi estante duoble esprima. 416 00:17:27,140 --> 00:17:30,260 >> Sed samtempe, ĉi tiuj estas vere nur du specialajn 417 00:17:30,260 --> 00:17:31,890 kazoj, maldekstra kaj dekstra. 418 00:17:31,890 --> 00:17:34,930 Kaj dum antaŭe, mi havas 10 aŭ 20 aŭ pli ŝtrumpetojn en 419 00:17:34,930 --> 00:17:37,960 amaso, ĝin definitive havas sencon ne havas 50 liniojn de 420 00:17:37,960 --> 00:17:40,180 kodo dirante kontrolu ĉi ŝtrumpeto, tiam la sekva, 421 00:17:40,180 --> 00:17:41,300 tiam la sekva. 422 00:17:41,300 --> 00:17:43,450 Ĉi tie, estas iom malpli evidenta, kaj mi estus proponinta 423 00:17:43,450 --> 00:17:44,390 ke ni povus iri ajna maniero. 424 00:17:44,390 --> 00:17:46,720 Ni povis ĉu havi tiun banton, kvankam ĝi nur cikloj 425 00:17:46,720 --> 00:17:50,620 dufoje, aŭ ni povus simple kopii kaj almeti malmulta 426 00:17:50,620 --> 00:17:53,270 tie por akiri la laboron farita. 427 00:17:53,270 --> 00:17:55,210 Sed tiu programo estas kalesxo, por tiel diri. 428 00:17:55,210 --> 00:17:59,120 Eble ili havas iujn erarojn, erarojn, aŭ angulo kazoj, por tiel 429 00:17:59,120 --> 00:18:00,860 paroli, ke ni ne vere anticipi. 430 00:18:00,860 --> 00:18:03,400 Nenio misokazis ĉi tiu tempo, sed kio povus esti irinta malĝusta 431 00:18:03,400 --> 00:18:06,100 dum ekzekuti tiu programo? 432 00:18:06,100 --> 00:18:07,040 Spektantaro: Vi ne havas ajnan ŝtrumpetoj. 433 00:18:07,040 --> 00:18:08,980 >> DAVID Malan: Do ne povas ekzisti ŝtrumpetojn tie iu. 434 00:18:08,980 --> 00:18:10,380 Do ni opinias, ke angulo kazo. 435 00:18:10,380 --> 00:18:14,670 Do, se ni povus rulumu reen ĝis paŝo unu, do tretas unu estis 436 00:18:14,670 --> 00:18:16,540 fleksi malsupren, tiel ke kontrolas eksteren. 437 00:18:16,540 --> 00:18:21,250 Paŝo du, repreni vian ŝtrumpeton, sed tiam trovi matching ŝtrumpeto, 438 00:18:21,250 --> 00:18:22,420 identigi pravas. 439 00:18:22,420 --> 00:18:25,050 Ni ia faris tuta amaso de supozoj, kaj ĉi tio estas, 440 00:18:25,050 --> 00:18:27,720 sincere, kial programo kelkfoje frakasi. 441 00:18:27,720 --> 00:18:30,240 Se vi, la programisto, faris certa supozoj, kiel 442 00:18:30,240 --> 00:18:33,000 certe ekzistas Iĝos ŝtrumpetojn aŭ verŝajne okazas 443 00:18:33,000 --> 00:18:35,310 esti memoro restis en la komputilo, certe ekzistas okazas 444 00:18:35,310 --> 00:18:37,420 esti durdisko lasis sur la malmola disko - 445 00:18:37,420 --> 00:18:39,040 Nu, se vi faras ĉi tiuj supozoj, kaj tio estas ne, 446 00:18:39,040 --> 00:18:41,880 fakte, realaĵo, kiu scias kelkfoje kion la komputilo 447 00:18:41,880 --> 00:18:42,520 faros? 448 00:18:42,520 --> 00:18:44,450 Kaj kelkfoje, kiam vi ricevas la ŝpinita strando pilkon aŭ la 449 00:18:44,450 --> 00:18:47,750 frostigitaj Vindozo aŭ similaj, jen ĝuste ĉar iuj 450 00:18:47,750 --> 00:18:50,980 programisto ne anticipis tiujn tn angulo kazoj. 451 00:18:50,980 --> 00:18:53,050 Kion alian povis esti irinta erara en ĉi tiu programo? 452 00:18:53,050 --> 00:18:53,330 Yeah? 453 00:18:53,330 --> 00:18:55,950 >> Spektantaro: Vi ne havas rajton kruro kaj maldekstra kruro. 454 00:18:55,950 --> 00:18:58,920 DAVID Malan: Konsentite, eble ne havas kaj dekstra kruro kaj 455 00:18:58,920 --> 00:19:01,940 maldekstra kruro, kaj tiel ĉi tiu programo povus ne esti universale 456 00:19:01,940 --> 00:19:02,590 aplikebla. 457 00:19:02,590 --> 00:19:03,658 Aliaj? 458 00:19:03,658 --> 00:19:05,650 Spektantaro: Vi eble reprenita orfo ŝtrumpeto. 459 00:19:05,650 --> 00:19:07,970 DAVID Malan: mi eble reprenis orfo ŝtrumpeto, tial 460 00:19:07,970 --> 00:19:11,250 ne-kongruanta ŝtrumpeto kiu ĝuste havas nenian gefratoj ĉar mi havas 461 00:19:11,250 --> 00:19:13,650 perdis ĝin, ĝi estos disŝirita, estas en la lavita ankoraŭ, aŭ similaj. 462 00:19:13,650 --> 00:19:15,550 Tiel ke, tro, ĝi ne vere estis manipulitaj. 463 00:19:15,550 --> 00:19:15,790 Yeah? 464 00:19:15,790 --> 00:19:17,510 Spektantaro: Vi povus jam havas ŝtrumpetojn plu. 465 00:19:17,510 --> 00:19:19,050 DAVID Malan: Mi ne jam havas ŝtrumpetojn plu. 466 00:19:19,050 --> 00:19:20,080 Mi ne reale kontroli. 467 00:19:20,080 --> 00:19:23,350 SE vi ne havas ŝtrumpetojn sur, DO procedi fari 468 00:19:23,350 --> 00:19:24,330 linio unu kaj du. 469 00:19:24,330 --> 00:19:24,980 Kaj tio povus okazi. 470 00:19:24,980 --> 00:19:26,880 Vi dormas kun via ŝtrumpetojn sur kaj similaj, tiel 471 00:19:26,880 --> 00:19:28,860 tion, tre racia angulo kazo. 472 00:19:28,860 --> 00:19:29,630 Kaj eble unu la alian? 473 00:19:29,630 --> 00:19:31,310 Aŭdienco: La ŝtrumpeto estas ene el. 474 00:19:31,310 --> 00:19:34,000 DAVID Malan: Do la ŝtrumpeto estas ene, do ni faris neniun eraron 475 00:19:34,000 --> 00:19:35,330 kontrolanta, en mallonga. 476 00:19:35,330 --> 00:19:38,550 Ni ne kontrolu se la stato de la mondo estas kiel ni atendis. 477 00:19:38,550 --> 00:19:41,310 Ni ne kontrolu se ni efektive trovis kion ni serĉas. 478 00:19:41,310 --> 00:19:43,310 >> Kaj eĉ se ĉi tiu estas speco de ridinda ekzemplo 479 00:19:43,310 --> 00:19:46,110 engaĝante ŝtrumpetojn, fine de la tago, jen ĝuste la 480 00:19:46,110 --> 00:19:48,740 ia pensmanieron vi bezonas havi dum skribado programoj, 481 00:19:48,740 --> 00:19:51,740 eĉ en Scratch tiel kiel en C, en JavaScript, en PHP, 482 00:19:51,740 --> 00:19:53,920 ĉar alie, viaj programoj havos elmeti la 483 00:19:53,920 --> 00:19:56,980 ekvivalento de tiu spinning strando pilko aŭ simple cedi 484 00:19:56,980 --> 00:19:58,210 malpreciza rezultojn. 485 00:19:58,210 --> 00:20:00,250 Tiom da danke tie por niaj skribisto Jozef. 486 00:20:00,250 --> 00:20:05,060 [Aplaŭdo] 487 00:20:05,060 --> 00:20:06,850 >> DAVID Malan: Bone, do kion estas, 488 00:20:06,850 --> 00:20:08,230 Fakte, komputila programo? 489 00:20:08,230 --> 00:20:09,670 Nu, ni prenu rapidan rigardon en 490 00:20:09,670 --> 00:20:11,100 reprezenta tie. 491 00:20:11,100 --> 00:20:15,260 Do tiu estas programo skribita en lingvo nomas C. C estas 492 00:20:15,260 --> 00:20:17,830 sufiĉe malnova tiuj tagoj, sed multaj novaj lingvoj estas konstruitaj 493 00:20:17,830 --> 00:20:18,460 sur supro de ĝi. 494 00:20:18,460 --> 00:20:21,180 Ja, PHP, unu el la retejo centrita lingvoj ni instruos vin 495 00:20:21,180 --> 00:20:24,050 uzi cele termino fino, mem kio nomiĝas 496 00:20:24,050 --> 00:20:27,550 interpretisto, programo kiu estis skribita en C, sed pli sur tiu 497 00:20:27,550 --> 00:20:28,690 en multaj semajnoj de nun. 498 00:20:28,690 --> 00:20:30,840 Sed tiu programo, kaj ĉi tiu estas kion signifas skribi 499 00:20:30,840 --> 00:20:32,880 programo, kvankam tre simpla. 500 00:20:32,880 --> 00:20:35,540 Ni havas kelkajn sufiĉe kamufla sintakso tie, sed vi povas 501 00:20:35,540 --> 00:20:38,340 probable diveni, eĉ se vi neniam planita antaŭe, kion 502 00:20:38,340 --> 00:20:39,750 tiu programo faras. 503 00:20:39,750 --> 00:20:43,640 Fakte, mi ne scias kion printf estas, sed presi certe 504 00:20:43,640 --> 00:20:45,700 conjures ĝis la ideo de presi ion. 505 00:20:45,700 --> 00:20:48,590 Kaj tiel jes, tiu programo estas finfine tuj presi 506 00:20:48,590 --> 00:20:50,250 la vortojn "Saluton, Mondo". 507 00:20:50,250 --> 00:20:53,390 >> Nun, ĉu vi havas Mac aŭ PC aŭ Linukso komputilo, malakordo 508 00:20:53,390 --> 00:20:55,550 estas, almenaŭ se vi elŝutis iom libere 509 00:20:55,550 --> 00:20:58,000 disponebla programaro, vi povus esti skribe programoj 510 00:20:58,000 --> 00:21:00,310 via propra komputilo por sufiĉe tempo nun. 511 00:21:00,310 --> 00:21:03,040 En Mac OS, ekzemple, estas tiu programo nomata 512 00:21:03,040 --> 00:21:05,340 Fina stacio kiu venas kun Mac, jen kutime en via 513 00:21:05,340 --> 00:21:07,550 Utilecoj dosierujo, kaj ĝi ĝenerale malfermiĝas nigran kaj 514 00:21:07,550 --> 00:21:09,820 blanka aŭ blanka kaj nigra fenestro en kiu vi havas 515 00:21:09,820 --> 00:21:11,410 instigas je kiu vi povas tajpi komandojn. 516 00:21:11,410 --> 00:21:13,060 Do ĉi tiu estas efektive memoras kio komputiloj 517 00:21:13,060 --> 00:21:15,100 kutimis esti antaux grafikaj uzanto 518 00:21:15,100 --> 00:21:16,710 interfacoj, GUI-oj, venis kune. 519 00:21:16,710 --> 00:21:19,200 Nun, en Vindozo, vi havas similan mekanismo en formo 520 00:21:19,200 --> 00:21:20,130 de la komando prompto. 521 00:21:20,130 --> 00:21:23,430 >> Sed kion mi tuj faros ĉi tie estas malfermi, diru, 522 00:21:23,430 --> 00:21:26,580 TextEdit denove, tial la sama programo kiun ni uzis por 523 00:21:26,580 --> 00:21:28,870 _pseudocode_ antaŭ momento, kaj mi tuj iros antaŭen kaj 524 00:21:28,870 --> 00:21:30,080 skribi mian unuan programon. 525 00:21:30,080 --> 00:21:34,030 Inkluzivi stdio.h, kion ajn tio signifas, int ĉefa 526 00:21:34,030 --> 00:21:36,880 void, kion ajn tio signifas, kaj poste en la mezo tie, 527 00:21:36,880 --> 00:21:40,560 printf ("Saluton, mondo."). Kaj poste fermi citaĵo, 528 00:21:40,560 --> 00:21:42,340 fermi paren, punktokomo. 529 00:21:42,340 --> 00:21:44,460 Nun mi tuj iros antaŭen kaj nur batis Komando-S. Mi tuj 530 00:21:44,460 --> 00:21:47,650 iri antaŭen kaj savi tion kiel hello.c, do la kongreso en 531 00:21:47,650 --> 00:21:50,530 la mondo de C programado estas nomo de la dosiero dot c. 532 00:21:50,530 --> 00:21:52,880 Mi tuj ĝuste meti en John Harvard Ĉefpaĝo dosierujo, 533 00:21:52,880 --> 00:21:56,370 ĉi tie, klaku Save, kaj nun mi iros, por transiri al ĉi 534 00:21:56,370 --> 00:21:59,110 fina fenestro, kiu denove estas tiu nigra-blanka prompto 535 00:21:59,110 --> 00:22:00,860 kie mi povas ekzekuti ordonojn. 536 00:22:00,860 --> 00:22:04,550 >> Mi povas kuri programoj tajpante lia nomo, ne per 537 00:22:04,550 --> 00:22:06,710 duobla klako ikonoj en la kutima senco. 538 00:22:06,710 --> 00:22:10,590 Sed la afero estas pri C estas ke lingvo kiel C unue 539 00:22:10,590 --> 00:22:13,150 venas en ĉi tiu formo, iu vokis fontkodo. 540 00:22:13,150 --> 00:22:15,400 Iu kiu aspektas iom kiel la angla sed estas 541 00:22:15,400 --> 00:22:17,980 certe malpli kiel la angla ol Jozef _pseudocode_ a 542 00:22:17,980 --> 00:22:18,930 antaŭ momento. 543 00:22:18,930 --> 00:22:20,560 Ĝi estas iom pli arcano. 544 00:22:20,560 --> 00:22:22,830 Ĝi ŝajnas sekvi iujn ŝablonoj aŭ reguloj. 545 00:22:22,830 --> 00:22:25,300 La fakto, ke mi havas frizita krampoj, punktokomojn, citaĵoj, 546 00:22:25,300 --> 00:22:28,240 angulo krampoj, sentu kiel komputilo suprenvenis kun ĉi 547 00:22:28,240 --> 00:22:29,250 speco de lingvo. 548 00:22:29,250 --> 00:22:32,010 Sed se mi foriras nun, al tiu fina fenestro, mi povas kuri 549 00:22:32,010 --> 00:22:35,250 komando kiu tuj konverti ke fontkodo estas 550 00:22:35,250 --> 00:22:36,610 iu nomita celkodo. 551 00:22:36,610 --> 00:22:39,690 Tio tuj konverti angla-kiel sintakson por nuloj 552 00:22:39,690 --> 00:22:41,760 kaj, la sama specoj de nuloj kaj ni 553 00:22:41,760 --> 00:22:42,820 parolis merkredo. 554 00:22:42,820 --> 00:22:44,810 Nun, mi tuj kuri komando nomis Clang. 555 00:22:44,810 --> 00:22:47,750 Pli sur ĉi tio en la semajnoj por veni, sed ĝi estas programo kun 556 00:22:47,750 --> 00:22:52,330 kion mi povas konverti hello.c en tuta amaso 557 00:22:52,330 --> 00:22:53,640 de nuloj kaj aĵoj. 558 00:22:53,640 --> 00:22:54,950 >> Nun, mi kuros ĉi komando. 559 00:22:54,950 --> 00:22:57,940 Mi kuras Clang, kaj tiam mi diris kuri vin en ĉi tiun dosieron 560 00:22:57,940 --> 00:23:00,630 vokis hello.c, kiun mi kreis antaŭ momento, kaj 561 00:23:00,630 --> 00:23:02,090 nenio ŝajnas okazi. 562 00:23:02,090 --> 00:23:05,550 Sed ja, se mi poked ĉirkaŭ mia hejma dosierujo, mi vidus 563 00:23:05,550 --> 00:23:09,620 ke tio stulte nomata programo a.out nun ekzistas. 564 00:23:09,620 --> 00:23:12,250 Tiu estas ĝuste la defaŭlta nomo por programo kiam skribas en 565 00:23:12,250 --> 00:23:15,140 C. Ni povas nuligi ĉi eventuale, sed a.out estas la 566 00:23:15,140 --> 00:23:18,340 nomo de la programo mi nur igis nuloj kaj aĵoj. 567 00:23:18,340 --> 00:23:21,490 Kaj nun, ke tio estas nuloj kaj, mia Mac, en ĉi tiu kazo, aŭ 568 00:23:21,490 --> 00:23:24,670 via Windows PC, povas kompreni tiujn bitoj, tiuj 569 00:23:24,670 --> 00:23:25,410 nuloj kaj aĵoj. 570 00:23:25,410 --> 00:23:29,130 Kaj tiel, kiam mi batis Enter, mi vidas "saluton, mondo!" 571 00:23:29,130 --> 00:23:31,270 >> Sed estas iom kalesxo. 572 00:23:31,270 --> 00:23:34,110 Mi ne sufiĉe diri "saluton, mondo!: Aero: - jharvard." Aero estas 573 00:23:34,110 --> 00:23:35,020 la nomo de mia komputilo. 574 00:23:35,020 --> 00:23:37,730 Jharvard estas la nomo de la konto, do kion mi klare 575 00:23:37,730 --> 00:23:41,070 preterlasi de la programo? 576 00:23:41,070 --> 00:23:42,480 Ia linisalto. 577 00:23:42,480 --> 00:23:45,150 Mi ne batis la ekvivalento de Enter aŭ la tirilo, 578 00:23:45,150 --> 00:23:47,760 kaj ĉi tio estas, denove, testamento al la fakto ke la komputiloj povas 579 00:23:47,760 --> 00:23:49,800 nur faras kion vi diros al ili. 580 00:23:49,800 --> 00:23:52,400 Kaj la fakto, ke mi ne diru al la komputilo movi la 581 00:23:52,400 --> 00:23:53,860 kursoron al la sekvanta linio - 582 00:23:53,860 --> 00:23:55,200 bone, ĝi estas certe ne tuj ĝuste faru ĝin 583 00:23:55,200 --> 00:23:56,750 malhumila por mi. 584 00:23:56,750 --> 00:24:00,860 Do se mi reiros al mia programo, kaj mi diras \ n - 585 00:24:00,860 --> 00:24:03,180 Do \ n, kiel ni baldaux vidos, estas la vojo de 586 00:24:03,180 --> 00:24:06,910 reprezenti bizara aĵoj kiel nova linio karakteroj, aĵoj 587 00:24:06,910 --> 00:24:08,840 ke devus alie esti la rezulto de 588 00:24:08,840 --> 00:24:09,940 bati la Eniga klavo. 589 00:24:09,940 --> 00:24:11,730 Sed nuntempe, nur scias, ke bati la Eniga klavo estus 590 00:24:11,730 --> 00:24:14,170 nur fari nian kodo aspektas nepara, do la mondo decidis, vi scias 591 00:24:14,170 --> 00:24:16,580 kio, por subteni la aĵojn pli belaj, por gardi gxin sur unu linio, ni 592 00:24:16,580 --> 00:24:19,070 nur diri \ n reprezentas novan linion. 593 00:24:19,070 --> 00:24:22,260 Lasu min resave mia dosiero, reiru al la fina fenestro, kaj 594 00:24:22,260 --> 00:24:25,290 re-run a.out, Enter. 595 00:24:25,290 --> 00:24:28,374 Ankoraŭ kalesxon, sed kial? 596 00:24:28,374 --> 00:24:29,750 >> Spektantaro: [inaudible] 597 00:24:29,750 --> 00:24:31,540 DAVID Malan: Jes, do mi bezonas recompilar ĝin. 598 00:24:31,540 --> 00:24:34,610 Do por kompili la programon nur signifas konverti ĝin el fonto 599 00:24:34,610 --> 00:24:37,660 kodon por objekto kodo, fontkodon al nuloj kaj aĵoj. 600 00:24:37,660 --> 00:24:40,830 Nun, la nura fakto, ke mi batis Konservu en ĉi TextEdit ne havas 601 00:24:40,830 --> 00:24:43,450 portanta sur tiuj nuloj kaj ĉar mi unue bezonas 602 00:24:43,450 --> 00:24:48,260 diri al Clang hey, mi ŝanĝis tiujn liniojn de kodo, la 603 00:24:48,260 --> 00:24:49,040 fontkodo. 604 00:24:49,040 --> 00:24:51,010 Vi bezonas regeneri a.out. 605 00:24:51,010 --> 00:24:52,990 Nenio ŝajnas esti okazinta, sed en komputilo, 606 00:24:52,990 --> 00:24:55,820 ĉe komanda linio, por tiel diri, kiam nenio okazas, 607 00:24:55,820 --> 00:24:57,510 kiu kutimas signifas ĉio estas bone. 608 00:24:57,510 --> 00:24:59,040 Kiam io ne okazos, tio signifas 609 00:24:59,040 --> 00:25:00,420 vi paneas, ĝenerale. 610 00:25:00,420 --> 00:25:04,020 >> Do ni nun iru al a.out, kaj efektive nun, mi havas "saluton, 611 00:25:04,020 --> 00:25:04,440 mondon. " 612 00:25:04,440 --> 00:25:05,990 Kaj nun, kio pri tiuj nuloj kaj? 613 00:25:05,990 --> 00:25:07,520 Kie, fakte, estas tiuj? 614 00:25:07,520 --> 00:25:10,710 Nu, mi ne povas vere nur speco de poke ĉirkaŭ tre 615 00:25:10,710 --> 00:25:11,210 efektive. 616 00:25:11,210 --> 00:25:12,650 Lasu min malfermi TextEdit. 617 00:25:12,650 --> 00:25:14,060 Jen a.out. 618 00:25:14,060 --> 00:25:17,390 Lasu min kaj malfermu tiun, kaj tiu estas ŝajne kion mia 619 00:25:17,390 --> 00:25:19,080 programo aspektas. 620 00:25:19,080 --> 00:25:21,570 Do mi malfermis, ne hello.c, sed a.out. 621 00:25:21,570 --> 00:25:23,960 Sed ĉi tiu estas efektive nek mia programo vere estas. 622 00:25:23,960 --> 00:25:26,450 Klare, tio estas ia alfabeta gravuloj. 623 00:25:26,450 --> 00:25:28,670 Mi vidas neniun nuloj kaj, sed tio estas 624 00:25:28,670 --> 00:25:30,780 ĉar a.out estas programo. 625 00:25:30,780 --> 00:25:33,540 Nuloj kaj - sed TextEdit, kiel la nomo sugestas, ĝi estas 626 00:25:33,540 --> 00:25:37,130 samkiel Notepad en Vindozo, estas nur teksta redaktilo, do ĝi estas 627 00:25:37,130 --> 00:25:39,730 konfuzi ĉiuj el tiuj nuloj kaj kiel 628 00:25:39,730 --> 00:25:41,870 kvankam ili estis, kio? 629 00:25:41,870 --> 00:25:43,380 ASCII signojn. 630 00:25:43,380 --> 00:25:45,020 >> Do rememori merkrede, ni ĵus eliris kun ĉi 631 00:25:45,020 --> 00:25:48,740 arbitraj surĵeto de nombroj, aŭ bitoj, al leteroj de la 632 00:25:48,740 --> 00:25:51,690 alfabeto kaj interpunkcio simboloj kaj similaj. 633 00:25:51,690 --> 00:25:54,920 Do TextEdit, ke ĝi estas tekstoredaktilo estas malinterpretando 634 00:25:54,920 --> 00:25:57,270 tiuj ŝablonoj de nuloj kaj ke estas supozita al esti 635 00:25:57,270 --> 00:25:59,990 impreso vortoj, kiel "saluton, mondo." Ĝi estas montri ilin 636 00:25:59,990 --> 00:26:02,150 kiel ASCII, kaj tial gxi aspektas iom senorda. 637 00:26:02,150 --> 00:26:04,910 Nun, estas iuj aludoj de praveco en ĉi tie. 638 00:26:04,910 --> 00:26:08,090 Rimarki, ke mi reliefigas, estas aludo de reale "saluton, 639 00:26:08,090 --> 00:26:10,810 mondo, "do ie en tiu programo estas 640 00:26:10,810 --> 00:26:12,120 la frazo mi skribis. 641 00:26:12,120 --> 00:26:14,610 Sed ni iru antaŭen kaj nun vidas kun malsama programo. 642 00:26:14,610 --> 00:26:17,420 Ĉi tiu ne estas tiu kiun ni uzos, ke ofte, sed ankaŭ venas kun 643 00:26:17,420 --> 00:26:19,970 Mac kaj estos ene de la CS50 aparaton. 644 00:26:19,970 --> 00:26:23,940 Lasu min kaj malfermi kun programo nomata XXD. 645 00:26:23,940 --> 00:26:26,530 >> Reen en la tago, plej programoj estis enoficigitaj sufiĉe cryptically, 646 00:26:26,530 --> 00:26:28,200 kaj tiel la tendenco daŭras. 647 00:26:28,200 --> 00:26:31,160 Sed-b signifas kraĉi tiu programo el kiel duuma. 648 00:26:31,160 --> 00:26:32,330 Ne ruli ĝin. 649 00:26:32,330 --> 00:26:35,770 Montru ĝin al mi kiel nuloj kaj, kaj ĉi tiu estas la C 650 00:26:35,770 --> 00:26:37,190 plani ni nur skribis. 651 00:26:37,190 --> 00:26:39,920 Nun, mi, kiel homo tie, mi honeste ne scias kion 652 00:26:39,920 --> 00:26:42,230 tiuj diversaj ŝablonoj de nuloj kaj reprezentas. 653 00:26:42,230 --> 00:26:45,320 Reen en la tago, mi, kun mia punch kartoj aŭ similaj, would 654 00:26:45,320 --> 00:26:48,080 vere devas serĉi kion tiuj diversaj ŝablonoj de 655 00:26:48,080 --> 00:26:51,560 01111000, reale reprezentas. 656 00:26:51,560 --> 00:26:54,390 Aŭ pli malbone, mi bezonus fari la punching aŭ la kreo 657 00:26:54,390 --> 00:26:56,130 de ĉi tiuj ŝablonoj de nuloj kaj aĵoj. 658 00:26:56,130 --> 00:27:00,410 Sed nuntempe, alpreni fido ke CPU, Intel ene, tiel 659 00:27:00,410 --> 00:27:03,440 paroli, ene de ĉiu el niaj komputiloj tiuj tagoj, scias 660 00:27:03,440 --> 00:27:05,100 kiel interpreti tiujn nuloj kaj aĵoj. 661 00:27:05,100 --> 00:27:07,010 Kaj kelkaj nuloj kaj signifas impreso. 662 00:27:07,010 --> 00:27:09,040 Iuj nuloj kaj signifas ludi la sono. 663 00:27:09,040 --> 00:27:13,630 Iuj nuloj kaj aĵoj signifas preni uzanto enigo de klavaro. 664 00:27:13,630 --> 00:27:15,960 Ekzistas ĉiaj malsamaj skemoj, sed ni dankeme, 665 00:27:15,960 --> 00:27:19,680 kiel homoj, nur ĝenerale bezonas zorgi pri programado en 666 00:27:19,680 --> 00:27:21,270 ĉi sufiĉe alta nivelo. 667 00:27:21,270 --> 00:27:24,320 Kaj en aliaj CS klasoj povas enprofundiĝi malsupren pli kaj rigardu 668 00:27:24,320 --> 00:27:26,820 ĉe aferoj kiel tiuj nuloj kaj, aŭ ankoraŭ 669 00:27:26,820 --> 00:27:28,000 aliaj aferoj ankoraŭ. 670 00:27:28,000 --> 00:27:29,210 >> Do nun ni konverti ĉi. 671 00:27:29,210 --> 00:27:32,550 Ni movi tre rapide for de C kaj movi al iu a 672 00:27:32,550 --> 00:27:36,390 iom pli konsola, iom pli ekscita, en tiu 673 00:27:36,390 --> 00:27:39,340 ni povas reiri niaj kuraĝigoj kaj sonoj kaj similaj, ke 674 00:27:39,340 --> 00:27:40,940 klare eskapis ni en tiu 675 00:27:40,940 --> 00:27:42,480 sufiĉe primitiva interfaco. 676 00:27:42,480 --> 00:27:46,430 Do tiu sama programo en C povas esti prezentita hodiaŭ en ĉi 677 00:27:46,430 --> 00:27:50,060 programlingvo nomas Scratch jene. 678 00:27:50,060 --> 00:27:54,230 Ĉi tiu estas la ekvivalento de ĉi saluton mondo programo skribita en 679 00:27:54,230 --> 00:27:57,370 ĉi puzlo peco stilo lingvo nomita Scratch. 680 00:27:57,370 --> 00:28:00,600 Do lasu min antaŭeniri kaj malfermu tiun tre programo. 681 00:28:00,600 --> 00:28:01,850 Oni denove alvokis Scratch. 682 00:28:01,850 --> 00:28:03,880 Estas libere disponebla, kaj ĉi tiu estas la sama afero ni 683 00:28:03,880 --> 00:28:05,120 komenciĝis hodiaŭ plu. 684 00:28:05,120 --> 00:28:07,790 >> Do ĉi tie estas Scratch, kaj ĝi estas dividita en kelkaj 685 00:28:07,790 --> 00:28:09,700 malsamaj pecoj. 686 00:28:09,700 --> 00:28:12,690 Sur la plejsupro pravas, ni havas la tiel nomata etapo, kaj 687 00:28:12,690 --> 00:28:13,670 ja, tie estas kie la kuketojn 688 00:28:13,670 --> 00:28:15,440 prezentis nur iom antaŭe. 689 00:28:15,440 --> 00:28:19,660 Kaj en tiu etapo estas aĵoj nomata sprites, karakteroj, aŭ 690 00:28:19,660 --> 00:28:21,030 celoj, aŭ entoj. 691 00:28:21,030 --> 00:28:23,320 Fakte ne gravas kiel vi pensas pri ili, sed ili 692 00:28:23,320 --> 00:28:26,740 estas programebla, meblo aĵoj, kaj en ĉi tiu kazo, ĉi 693 00:28:26,740 --> 00:28:30,730 Programo kiu nia studenta skribis havas paron de Gingerbread 694 00:28:30,730 --> 00:28:32,990 kuketojn, paro de cirkla kuketojn, tuta aro da 695 00:28:32,990 --> 00:28:35,430 koroj, tuta aro da anteojos. 696 00:28:38,170 --> 00:28:42,420 Pro tio, li aŭ ŝi povas plani ĉiu de tiuj 697 00:28:42,420 --> 00:28:44,720 individuaj karakteroj aparte. 698 00:28:44,720 --> 00:28:46,480 >> Nun, kio signifas plani tiujn karakterojn? 699 00:28:46,480 --> 00:28:49,440 Nu, lasu min antaŭeniri kaj alklaku ĉi maldekstra mano kuketon 700 00:28:49,440 --> 00:28:51,830 kaj rulu sur la supron maldekstra tie. 701 00:28:51,830 --> 00:28:53,670 En la supera maldekstra de mia ekrano nun estas la 702 00:28:53,670 --> 00:28:55,280 tiel nomata skriptoj areo. 703 00:28:55,280 --> 00:28:58,790 Tio estas speco de vakan skribtabulo, komence, sur kiu mi povas 704 00:28:58,790 --> 00:29:01,540 treni kaj faligi puzlo pecoj kiuj, sincere, faru 705 00:29:01,540 --> 00:29:03,020 ekzakte kion ili diras. 706 00:29:03,020 --> 00:29:05,820 Ĉe la plejsupro de ĉi pilo de puzlo pecoj estas la vorto 707 00:29:05,820 --> 00:29:09,340 Kiam Verda Flago klakis, kaj se vi ne rimarkis antaŭe, 708 00:29:09,340 --> 00:29:12,300 la vojo mi komencis ke kuketo kanto klako, laŭvorte, 709 00:29:12,300 --> 00:29:13,320 verda flago. 710 00:29:13,320 --> 00:29:16,590 Por ke puzlo peco supre maldekstre tie signifas kiam la 711 00:29:16,590 --> 00:29:19,780 homa klakoj la verda flago, plue fari 712 00:29:19,780 --> 00:29:21,110 la sekvajn aĵojn. 713 00:29:21,110 --> 00:29:23,330 >> Nun, kion ili kuketon procedi fari? 714 00:29:23,330 --> 00:29:25,810 Mi ne vere scias kiel interpreti ĉi ankoraŭ, sed la 715 00:29:25,810 --> 00:29:29,220 kuketo ŝajne starigis lian sulko al nulo, tiam ĝi atendis 716 00:29:29,220 --> 00:29:31,740 tri sekundoj, poste ĝi ŝanĝis lian grupon al unu, tiam 717 00:29:31,740 --> 00:29:33,590 atendis duan, tiam ĝi ŝanĝis lian 718 00:29:33,590 --> 00:29:35,100 sulko reen al oni. 719 00:29:35,100 --> 00:29:37,373 Kaj tiam tiu reale similas iom de cimon, ne devus 720 00:29:37,373 --> 00:29:39,440 devas ŝanĝi lian sulko denove kaj denove, se ĝi estas 721 00:29:39,440 --> 00:29:43,380 esti ŝanĝita aliloke, sed ĉi tiu serio de paŝoj estas kio estas 722 00:29:43,380 --> 00:29:46,800 diktante la konduto de tiu aparta kuketon. 723 00:29:46,800 --> 00:29:49,180 Do ni vere rulumu dorso kaj ne rigardi ion 724 00:29:49,180 --> 00:29:50,430 tute tiel kompleksa ankoraŭ. 725 00:29:50,430 --> 00:29:52,260 Lasu min kaj elektu Dosiero, Nova, 726 00:29:52,260 --> 00:29:53,560 kaj ricevu puran skribtabulo. 727 00:29:53,560 --> 00:29:56,590 >> Do nun, mi ja havas malplenan skripto areo, malplena etapo, 728 00:29:56,590 --> 00:29:59,380 kun nia defaŭlta sprite Scratch, kaj supre maldekstre 729 00:29:59,380 --> 00:30:01,670 sur mia ekrano mi havas la pallet de ĉiuj iliaj 730 00:30:01,670 --> 00:30:03,400 disponebla puzlo pecojn. 731 00:30:03,400 --> 00:30:06,300 Kaj ni ne iros tra preskaux ke multaj el tiuj aĵoj 732 00:30:06,300 --> 00:30:09,470 hodiaŭ ĉar, denove, la plimulto estas mem-klarigan, sed ni volas 733 00:30:09,470 --> 00:30:12,370 provi categorizar ilin kaj marki la similecoj 734 00:30:12,370 --> 00:30:15,380 kun tiuj estontaj lingvoj al kiuj ni plonĝi. 735 00:30:15,380 --> 00:30:19,180 Kaj je supre maldekstre tie estas la unua kiam Verda Flago clicked, 736 00:30:19,180 --> 00:30:22,170 do lasu min treni ĉi tie, malzomi iom. 737 00:30:22,170 --> 00:30:25,780 Kaj se mi klaku la verdan flagon, nenio vere okazas ĉar 738 00:30:25,780 --> 00:30:29,360 Mi ne ligita ajna logiko, ajna aserto tiel diri, por 739 00:30:29,360 --> 00:30:31,040 ke verda flago, do lasu min iri al la 740 00:30:31,040 --> 00:30:32,500 kategorioj super tie. 741 00:30:32,500 --> 00:30:34,840 Mi nuntempe en la Kontrolo kategorio. 742 00:30:34,840 --> 00:30:37,630 Mi anstataŭ tuj iri malsupren al la Looks kategorio, kaj 743 00:30:37,630 --> 00:30:39,970 ekzistas tuta amaso de aferoj tie kiuj diras Diru, 744 00:30:39,970 --> 00:30:43,110 Pensu, Ŝanĝi Koloro, Switch Kostumo. 745 00:30:43,110 --> 00:30:44,860 >> Do vi povas fari sensencaĵoj kun kostumoj kaj 746 00:30:44,860 --> 00:30:45,870 sonoj kaj similaj. 747 00:30:45,870 --> 00:30:49,970 Lasu min kaj simple diri Diru, kaj nun rimarkis kiel mi treni 748 00:30:49,970 --> 00:30:52,940 kaj faligos puzlo peco, ĝi tuj volas fermi 749 00:30:52,940 --> 00:30:55,010 en la responda formo. 750 00:30:55,010 --> 00:30:58,020 Do kiam mi iras antaŭen kaj lasi iri de mia muso, ili ŝlosi 751 00:30:58,020 --> 00:31:01,770 kune, kaj nun, se mi iros tie kaj klaku la verdan flagon, 752 00:31:01,770 --> 00:31:05,910 la kato ne fakte diras saluton ĉar tio estas kio estas ene 753 00:31:05,910 --> 00:31:06,980 de tiu blanka skatolo. 754 00:31:06,980 --> 00:31:08,900 Ni baldaŭ vidos ke tiu blanka skatolo estas kio nomiĝas 755 00:31:08,900 --> 00:31:10,250 argumento, aŭ parametro. 756 00:31:10,250 --> 00:31:12,560 Ĝi estas maniero de ŝanĝi la konduton de, en ĉi tiu kazo, 757 00:31:12,560 --> 00:31:15,070 enigmi peco, sed se mi volas diri precize kion mi diras 758 00:31:15,070 --> 00:31:18,610 antaŭe, diru saluton, mondo, mi povas nun reiru tien, 759 00:31:18,610 --> 00:31:21,990 klaku ludi, kaj "saluton, mondo" estas kio la diris. 760 00:31:21,990 --> 00:31:24,340 >> Do ni estas laŭvorte programado nun. 761 00:31:24,340 --> 00:31:27,540 Ne ĉiuj kiuj konvinkaj de programo, sed almenaŭ 762 00:31:27,540 --> 00:31:30,140 ĝi estas iom pli konvinka ol iu kiu rigardas, ĉe 763 00:31:30,140 --> 00:31:31,300 unua rigardo, kiel ĉi tio. 764 00:31:31,300 --> 00:31:34,190 Kaj ni povas tre rapide akiri tiom pli esprimpova 765 00:31:34,190 --> 00:31:36,600 ĉar en Scratch, kiel en aliaj lingvoj, ne estas ĉio 766 00:31:36,600 --> 00:31:40,010 specoj de deklaroj, ne nur diru nek impreso ion, sed 767 00:31:40,010 --> 00:31:42,650 vi povas fari tion kiel atendante, kiel ni ĵus vidis kun 768 00:31:42,650 --> 00:31:44,240 la kuketo, iuj da sekundoj. 769 00:31:44,240 --> 00:31:46,440 Vi povas ludi sonojn en la medio de Scratch nur 770 00:31:46,440 --> 00:31:49,050 kiel vi povas en normala komputilo programo ludi sonon. 771 00:31:49,050 --> 00:31:52,440 Vi povas kontroli kion ili nomas Bulea esprimoj. 772 00:31:52,440 --> 00:31:55,630 Do nun, ni komencu aldoni al niaj ilaron iuj terminologio 773 00:31:55,630 --> 00:31:58,840 ke fakte rilatas al la ekzemplo kiu Joseph kaj mi faris 774 00:31:58,840 --> 00:32:00,080 tie kun la ŝtrumpetojn. 775 00:32:00,080 --> 00:32:03,040 Do asertoj estas nur deklaroj de fakto. 776 00:32:03,040 --> 00:32:04,160 Fari ĉi tion. 777 00:32:04,160 --> 00:32:07,370 Al direktivo por la sprite, aŭ mi la homo, por fari ion. 778 00:32:07,370 --> 00:32:10,420 Al Bulea esprimo estas io kiu havas valoro, 779 00:32:10,420 --> 00:32:14,580 tn vervaloro, jen ĉu nulo aŭ unu, falsa aŭ 780 00:32:14,580 --> 00:32:17,890 vera, ekstere aŭ sur, neniu aŭ jes. 781 00:32:17,890 --> 00:32:19,730 Ne vere gravas kiel vi pensas pri ĉi tio, sed estas 782 00:32:19,730 --> 00:32:20,700 duuma stato. 783 00:32:20,700 --> 00:32:22,610 Kiel Nate diskutita en la merkreda filmetoj, du 784 00:32:22,610 --> 00:32:23,570 malsamaj aferoj. 785 00:32:23,570 --> 00:32:25,740 >> Do en Scratch, Bulea esprimoj okazi rigardi 786 00:32:25,740 --> 00:32:28,910 kiel tiuj bluaj objektoj tie, kaj en ĉi tiu kazo, la demando 787 00:32:28,910 --> 00:32:30,960 markon implicas ke vi demandas demandon. 788 00:32:30,960 --> 00:32:34,250 Estas la kato, aŭ la sprite, tuŝante la muskursoron? 789 00:32:34,250 --> 00:32:36,580 Do ĉi tiu estas nur unu ekzemplo de Scratch bloko kiu okazas 790 00:32:36,580 --> 00:32:39,950 por permesi al ni kontroli jes aŭ ne, estas la muso tuŝi la 791 00:32:39,950 --> 00:32:40,790 sprite sur la ekrano? 792 00:32:40,790 --> 00:32:42,840 Kaj tio povas esti utila se vi vere volas fari tion, 793 00:32:42,840 --> 00:32:43,820 kun via muso. 794 00:32:43,820 --> 00:32:46,470 Krom Bulea esprimoj, ni havas aferojn 795 00:32:46,470 --> 00:32:49,110 kiel estas la muso malsupren, do vi povas detekti tian 796 00:32:49,110 --> 00:32:50,200 pridubi ankaŭ. 797 00:32:50,200 --> 00:32:52,590 Ni povas fari matematiko se vi efektive volas, kaj ekzistas 798 00:32:52,590 --> 00:32:55,170 fakte pli konvinka uzoj por tiu ol pura de 799 00:32:55,170 --> 00:32:56,400 aritmetiko, kiel ni vidos. 800 00:32:56,400 --> 00:32:59,690 Pseŭdo hazardo kaj farante vian programon aperas pensi 801 00:32:59,690 --> 00:33:03,490 aŭ konduti malsame bazita sur iu kvazaŭe hazarda valoroj, 802 00:33:03,490 --> 00:33:06,610 kaj tiam ni havas aĵojn kiel Bulea esprimoj kiel KAJ. 803 00:33:06,610 --> 00:33:08,830 Do, se vi vere volas kontroli du valorojn, ni vidos en 804 00:33:08,830 --> 00:33:11,110 Skrapi ke ni povas reale testi se tio ne estas 805 00:33:11,110 --> 00:33:13,190 vera kaj tio estas vera. 806 00:33:13,190 --> 00:33:15,300 Ekzemple, en la kazo de miaj ŝtrumpetoj, mi povis jam en la 807 00:33:15,300 --> 00:33:19,045 tre fino demandis la demando se maldekstra ŝtrumpeto estas ĉe kaj dekstra ŝtrumpeto 808 00:33:19,045 --> 00:33:20,610 estas on, quit. 809 00:33:20,610 --> 00:33:22,710 Vi ĉiuj farita por la tago, tiel ke estus 810 00:33:22,710 --> 00:33:24,300 ŝanco por tio. 811 00:33:24,300 --> 00:33:27,740 >> Do ni iru antaŭen kaj provu peco iuj de ĉi tiuj kune 812 00:33:27,740 --> 00:33:31,570 kaj iru en kelkaj ekzemploj pli 813 00:33:31,570 --> 00:33:32,610 konvinkaj ol ĉi tiu. 814 00:33:32,610 --> 00:33:35,770 Do lasu min iri antaŭen tie kaj malfermi kelkajn el la ekzemploj 815 00:33:35,770 --> 00:33:38,350 ke estos ĉiam esti sur la kurson de afiŝinto tiel, kaj 816 00:33:38,350 --> 00:33:39,870 malfermi hello2. 817 00:33:39,870 --> 00:33:42,910 Do en hello2 tie, ni havas programon ke tio faras kelkajn 818 00:33:42,910 --> 00:33:46,290 aĵoj, sed ne faras ĝin kiel efike kiel ni povus. 819 00:33:46,290 --> 00:33:48,900 Do jen diras "saluton, mondo" por dua kaj poste atendas 820 00:33:48,900 --> 00:33:49,450 por dua. 821 00:33:49,450 --> 00:33:51,720 Kaj poste faras ĝin denove, kaj tiam ghi denove. 822 00:33:51,720 --> 00:33:55,530 Do se mi klaku la verdan flagon, Scratch diras "Saluton, mondo. 823 00:33:55,530 --> 00:33:57,160 Saluton, mondo. 824 00:33:57,160 --> 00:34:00,080 Saluton, mondo. "Kaj tio estas evidente kandidato nun por 825 00:34:00,080 --> 00:34:00,860 pliboniĝo. 826 00:34:00,860 --> 00:34:03,070 >> Kio estas la bagatela pliboniĝo, mi esperas, ni povas 827 00:34:03,070 --> 00:34:07,610 nun faru se Scratch apogas la koncepton? 828 00:34:07,610 --> 00:34:08,310 Ia buklo. 829 00:34:08,310 --> 00:34:10,960 Ia ripeto, nun, estus bela, do lasu min 830 00:34:10,960 --> 00:34:11,920 efektive provu tion. 831 00:34:11,920 --> 00:34:13,870 Lasu min vere iru kaj movi ĉi. 832 00:34:13,870 --> 00:34:16,449 Do avizo povas disigi blokoj tiel facile kiel vi povas aldoni al 833 00:34:16,449 --> 00:34:17,420 alfiksi ilin. 834 00:34:17,420 --> 00:34:20,730 Lasu min iri sub kontrolo, rulu suben ĉi tie, kaj ja, 835 00:34:20,730 --> 00:34:24,000 tie estas tio enigmo peco tie, Ripetu kaj Forever kaj 836 00:34:24,000 --> 00:34:24,870 Forever Se. 837 00:34:24,870 --> 00:34:28,500 Do ekzistas pluraj manieroj esprimi looping konstruoj 838 00:34:28,500 --> 00:34:29,340 en Scratch. 839 00:34:29,340 --> 00:34:31,730 Tiu, kiun mi verŝajne volas ĉi tie ne estas Forever ĉar mi nur 840 00:34:31,730 --> 00:34:34,639 volas ĉi okazos tri fojojn, sed probable Ripetu. 841 00:34:34,639 --> 00:34:38,449 Do lasu min tiri Ripeti super tie, treni kaj faligi ĝin kaj 842 00:34:38,449 --> 00:34:42,530 nun anstataŭ diri "saluton, mondo" tri apartaj tempoj, 843 00:34:42,530 --> 00:34:44,230 lasu min tiri tiun puzlo pecon en ĉi tie. 844 00:34:44,230 --> 00:34:46,610 Kaj eĉ se ĝi ne ŝajnas havi, la programo estas inteligenta 845 00:34:46,610 --> 00:34:48,920 sufiĉe por realigi ĝin kreskos plenigi, do ĝi estas la 846 00:34:48,920 --> 00:34:51,270 formoj ke materio kaj ne la absoluta grandeco. 847 00:34:51,270 --> 00:34:54,030 Lasu min ŝanĝi la ripeto al tri, kaj nun lasu min iri 848 00:34:54,030 --> 00:34:56,560 antaŭeniris kaj treni Atendu Unu Dua en tie ankaŭ. 849 00:34:56,560 --> 00:34:59,220 Ĝi tuj kapti en tiel, kaj tiel nun mi iros al treni 850 00:34:59,220 --> 00:35:01,370 tiuj infanoj super tie kaj nur ĵetu ilin ĉar mi 851 00:35:01,370 --> 00:35:02,710 ne bezonas ilin plu. 852 00:35:02,710 --> 00:35:05,920 Lasu min malzomi kaj klaku la verdan flagon nun, kaj ni havas 853 00:35:05,920 --> 00:35:09,600 la sama programo sed, kiel mi antaŭdiris antaŭe, pli bone 854 00:35:09,600 --> 00:35:12,200 desegnita ĉar vi povas imagi kiel malbona tiun programon 855 00:35:12,200 --> 00:35:14,410 atingus, certe estetike, se vi devis 856 00:35:14,410 --> 00:35:16,640 komenci kopii kaj bati, kopii kaj bati, aŭ 857 00:35:16,640 --> 00:35:20,020 trenante kaj faliginte la sama Darn aferojn denove kaj denove. 858 00:35:20,020 --> 00:35:22,260 >> Nun, simple dirante stuff sur la ekrano, presi al la 859 00:35:22,260 --> 00:35:25,350 ekrano, vere ĉiuj ne ke ekscita, do ni malfermi 860 00:35:25,350 --> 00:35:26,580 tria varianco tie. 861 00:35:26,580 --> 00:35:29,810 Kaj nun, kiel vi vidas, tiu estos rapide akiri ĝena - 862 00:35:29,810 --> 00:35:30,850 [Meow] 863 00:35:30,850 --> 00:35:31,940 DAVID Malan: - sed estas ankaŭ speco de cute. 864 00:35:31,940 --> 00:35:35,244 [Meow] 865 00:35:35,244 --> 00:35:37,460 DAVID Malan: Konsentite, tiel bona, kaj ni povas certe uzos tiun 866 00:35:37,460 --> 00:35:41,060 sama transiro de chunking ĉi supren enen looping 867 00:35:41,060 --> 00:35:43,520 strukturo, sed ni fari ĝin pli interesa ankoraŭ. 868 00:35:43,520 --> 00:35:47,480 >> Lasu min kaj malfermu kvara varianco tie, kie mi 869 00:35:47,480 --> 00:35:50,020 preni tion, unu paŝon. 870 00:35:50,020 --> 00:35:54,450 Do laŭ tio, stulta kvankam ĉi tiu estas unue 871 00:35:54,450 --> 00:35:58,530 rigardo, kio tiu programo faros? 872 00:35:58,530 --> 00:35:59,790 Ĝi tuj Meow unufoje. 873 00:35:59,790 --> 00:36:00,160 Kial? 874 00:36:00,160 --> 00:36:03,340 Nu, tiu estas, ĝis mi scias, ĉiam malpli ol du. 875 00:36:03,340 --> 00:36:04,890 Ne nocio de hazardo tie. 876 00:36:04,890 --> 00:36:07,240 Mi havas laŭvorte malmola kodita unu kaj du, sed ĉi tiu estas 877 00:36:07,240 --> 00:36:10,370 Ekzemple nun de reale uzi Bulea esprimo. 878 00:36:10,370 --> 00:36:13,650 Multe ŝatis kiel Jozef faris en sia _pseudocode_, la deŝovon SE 879 00:36:13,650 --> 00:36:17,170 vi trovas trafa ŝtrumpetojn DO do la sekva, jen ni havas 880 00:36:17,170 --> 00:36:19,750 esprimo SE oni estas malpli ol du DO - 881 00:36:19,750 --> 00:36:21,820 kaj fakte ni eĉ havas iomete da deŝovon, 882 00:36:21,820 --> 00:36:24,480 kie la purpuro estas iomete dentado dekstre - 883 00:36:24,480 --> 00:36:26,600 DO vi tuj ludi la sono Meow. 884 00:36:26,600 --> 00:36:30,060 Nun, en tiu kazo, ke oni estas ĉiam malpli ol du, do ĉi 885 00:36:30,060 --> 00:36:31,970 estas ia perdo de kondiĉo. 886 00:36:31,970 --> 00:36:34,890 Sed ni povos, kiel ni vidos, ŝtopi aliajn aĵojn enen 887 00:36:34,890 --> 00:36:37,420 tiuj anstataŭiloj kie unu kaj du nun estas. 888 00:36:37,420 --> 00:36:41,340 Do ni nun antaŭeniri ekzemple kvin el tiuj pluraj 889 00:36:41,340 --> 00:36:45,850 hellos kaj rigardu kion tiu programo tuj faros. 890 00:36:45,850 --> 00:36:48,710 >> Do nun, en angla frazo, kiel tion faras 891 00:36:48,710 --> 00:36:51,460 programo kondutas? 892 00:36:51,460 --> 00:36:52,950 Spektantaro: Meows duono de la tempo. 893 00:36:52,950 --> 00:36:55,380 DAVID Malan: Meow la duono de la tempo, do ĉi tiu estas vojo de 894 00:36:55,380 --> 00:36:56,700 transportante tre simpla ideo. 895 00:36:56,700 --> 00:36:59,400 Eĉ kvankam ni hazarde esti uzante iujn malegalecoj tie 896 00:36:59,400 --> 00:37:01,860 en iuj nombroj, tiu estas vere nur programmatical 897 00:37:01,860 --> 00:37:09,490 maniero, preciza maniero, de diri se la monero venas supren kapojn, iru 898 00:37:09,490 --> 00:37:10,270 antaŭeniris kaj Meow. 899 00:37:10,270 --> 00:37:13,540 Aŭ male, se la monero venas supren vostoj, ne Meow. 900 00:37:13,540 --> 00:37:15,110 Kaj en ĉi tiu kazo, kiel ni esprimas tion? 901 00:37:15,110 --> 00:37:17,950 Ni elektu hazarda nombro de 1 al 10, kaj se tiu 902 00:37:17,950 --> 00:37:21,110 nombro estas malpli ol 6, iru antaŭen kaj Meow. 903 00:37:21,110 --> 00:37:22,260 Kaj kiel tiu eniri ĉi tie? 904 00:37:22,260 --> 00:37:24,620 Nu denove, rimarki nur la trenante kaj faliginte kaj 905 00:37:24,620 --> 00:37:26,190 aĵoj latches en loko. 906 00:37:26,190 --> 00:37:28,020 >> Do nun ni vidu se ĉi tiu hazardo funkcias. 907 00:37:28,020 --> 00:37:29,845 Lasu min kaj klaku la verdan flagon. 908 00:37:29,845 --> 00:37:31,120 [Meow] 909 00:37:31,120 --> 00:37:32,000 DAVID Malan: Okay. 910 00:37:32,000 --> 00:37:33,430 [Meow] 911 00:37:33,430 --> 00:37:35,260 DAVID Malan: Okay. 912 00:37:35,260 --> 00:37:38,510 Okay, bona, do ni havas kapojn, kapoj, vostoj efike. 913 00:37:38,510 --> 00:37:39,295 Vostoj. 914 00:37:39,295 --> 00:37:39,590 [Meow] 915 00:37:39,590 --> 00:37:41,829 DAVID Malan: Estroj. 916 00:37:41,829 --> 00:37:43,220 [Meow] 917 00:37:43,220 --> 00:37:44,040 DAVID Malan: Bonega. 918 00:37:44,040 --> 00:37:46,220 Ĝi ĉiam estas mallerta kiam ĵus statistike vi ricevas malbonan 919 00:37:46,220 --> 00:37:48,510 kuras, kaj ĝi estas ĉio kapoj, kaj la programo fakte ne 920 00:37:48,510 --> 00:37:49,230 labori kiel vi volas atendi. 921 00:37:49,230 --> 00:37:51,210 Sed ĉi tiu tempo, ĝi funkciis, kaj ni similas havi, se ni faris 922 00:37:51,210 --> 00:37:53,830 ĉi malfinia nombro de fojoj, 50% probabloj. 923 00:37:53,830 --> 00:37:56,950 Nun denove, ne cxiuj interesaj, ĝuste farante katoj 924 00:37:56,950 --> 00:37:59,840 Meow, do ni vidu, se ni ne povas antaŭeniri ĉi iom pli 925 00:37:59,840 --> 00:38:01,820 tie en versio ses. 926 00:38:01,820 --> 00:38:05,620 Do nun, ni devas vere tedas versio - 927 00:38:05,620 --> 00:38:08,215 [MEOWS EVERY duaj] 928 00:38:08,215 --> 00:38:10,640 DAVID Malan: - kaj ĉi tiu estas kion scias, generalo, kiel 929 00:38:10,640 --> 00:38:11,670 senfina ciklo. 930 00:38:11,670 --> 00:38:14,190 >> Do malfinia ciklo en ĉi tiu kazo sentas malbone. 931 00:38:14,190 --> 00:38:16,970 Ĝi estas certe tuj komencos soni malbona, kaj tamen malfinio 932 00:38:16,970 --> 00:38:18,740 bukloj ne ĉiam malbonaj. 933 00:38:18,740 --> 00:38:20,910 Ĉu vi povas pensi pri kunteksto en komputilaj programoj kie vi volas 934 00:38:20,910 --> 00:38:22,910 vere volas senfina ciklo? 935 00:38:22,910 --> 00:38:23,691 Yeah? 936 00:38:23,691 --> 00:38:26,520 Spektantaro: Kiam vi volas kontroli kondiĉo. 937 00:38:26,520 --> 00:38:28,240 DAVID Malan: Konsentite, kiam vi volas teni kontrolanta kondiĉo? 938 00:38:28,240 --> 00:38:29,190 Kiel kio? 939 00:38:29,190 --> 00:38:30,440 Spektantaro: [inaudible] 940 00:38:36,060 --> 00:38:38,170 DAVID Malan: Konsentite, bona, do se vi havis iun programon, iuj 941 00:38:38,170 --> 00:38:40,440 speco de hejmo aŭtomatigo afero, kie vi volas senĉese 942 00:38:40,440 --> 00:38:41,980 monitoro estas io tiel. 943 00:38:41,980 --> 00:38:42,850 Estas la lumoj sur? 944 00:38:42,850 --> 00:38:45,020 Estas la lumoj sur ĉar eble vi havas temporizador, kaj 945 00:38:45,020 --> 00:38:47,360 vi volas ilin foriri, vi eble bezonas fari ion 946 00:38:47,360 --> 00:38:48,290 denove kaj denove. 947 00:38:48,290 --> 00:38:50,540 Kaj fakte, parolante pri temporizadores, iu el vi, kiuj 948 00:38:50,540 --> 00:38:53,100 horloĝoj en via komputilo aŭ ciferecaj horloĝoj, jen unu 949 00:38:53,100 --> 00:38:54,210 senfina ciklo. 950 00:38:54,210 --> 00:38:56,980 Ĝi daŭre ĝisdatigi la tempo ĉar ĝi senĉese 951 00:38:56,980 --> 00:38:59,750 kontrolanta kaj kontrolado kaj kontrolado havas la tempon ŝanĝis, 952 00:38:59,750 --> 00:39:01,000 kaj se jes, ho, mia dio. 953 00:39:03,670 --> 00:39:04,740 La horloĝo estas fine ŝanĝis. 954 00:39:04,740 --> 00:39:07,020 Ĝi bezonas montri tiun valoron al vi. 955 00:39:07,020 --> 00:39:10,880 Do dum la plejparto de la tempo malfiniaj cikloj estas eraro, 956 00:39:10,880 --> 00:39:13,950 aŭ almenaŭ malriĉa dezajno decido, kelkfoje ili faras 957 00:39:13,950 --> 00:39:14,785 havas sian valoron. 958 00:39:14,785 --> 00:39:18,170 >> Nu, ni pli antaŭen tie hello7. 959 00:39:18,170 --> 00:39:20,410 Do nun la programo ricevos iom pli interaga. 960 00:39:20,410 --> 00:39:23,120 Lasu min zomi tie, kaj denove, ĉi tiu estas kio estas agrabla 961 00:39:23,120 --> 00:39:23,640 pri Scratch. 962 00:39:23,640 --> 00:39:26,760 Kaj ni uzas ĝin por esti klara, Scratch, ĝuste hodiaŭ kaj en 963 00:39:26,760 --> 00:39:27,780 sekva semajno problemo starigis. 964 00:39:27,780 --> 00:39:31,920 Sed lunde, ni plonĝi en C. En ĉi tiu programo tie, faras, 965 00:39:31,920 --> 00:39:33,190 ĉiam, la sekvaj. 966 00:39:33,190 --> 00:39:35,890 SE tuŝi la muskursoron - nun, kiu estas la 967 00:39:35,890 --> 00:39:36,420 kunteksto tie? 968 00:39:36,420 --> 00:39:39,670 Nu, kaj avertas ke, kiu estas elektita cxi tie ĉe malsupro 969 00:39:39,670 --> 00:39:43,060 dekstre estas la kato, sprite, tiel tiuj skriptoj, ĉi 970 00:39:43,060 --> 00:39:45,720 programo, aplikas al li specife. 971 00:39:45,720 --> 00:39:48,950 Do se tiu kato tuŝas la muskursoron, tiam ĝi tuj 972 00:39:48,950 --> 00:39:51,350 ludi ĉi malsupren kaj atendu du duaj, kaj 973 00:39:51,350 --> 00:39:53,030 tiam ripeti ad nauseum. 974 00:39:53,030 --> 00:39:55,360 >> Do ni iru antaŭen kaj batis ludo. 975 00:39:55,360 --> 00:39:57,580 Nenio okazas, sed se mi volas Pet la 976 00:39:57,580 --> 00:39:59,310 kato nun, mi povas simple. 977 00:39:59,310 --> 00:40:01,130 [Meow] 978 00:40:01,130 --> 00:40:02,244 DAVID Malan: Adorable. 979 00:40:02,244 --> 00:40:05,956 [Meow] 980 00:40:05,956 --> 00:40:08,750 DAVID Malan: Konsentite, malpli ĝena, sed ankaŭ ricevas obtuza, 981 00:40:08,750 --> 00:40:11,480 do ni movas en kaj vidi se ni ne povas injekti 982 00:40:11,480 --> 00:40:12,460 iom pli logika. 983 00:40:12,460 --> 00:40:14,300 Tio estis ekzemple sep. 984 00:40:14,300 --> 00:40:16,090 >> Ĉi tie en ekzemplo ok, ni iras al 985 00:40:16,090 --> 00:40:18,670 enkonduki ELSE kondiĉo. 986 00:40:18,670 --> 00:40:21,440 Tiel kiel laŭvorta forko en la vojo, en kiu vi povas iri 987 00:40:21,440 --> 00:40:24,260 forlasis aŭ vi povas iri dekstren, kondiĉo en programado 988 00:40:24,260 --> 00:40:28,120 lingvo kiel Scratch, aŭ kiel ni vidos C, povas permesi al vi 989 00:40:28,120 --> 00:40:32,230 iru en unu direkto aŭ alia vojo SE ELSE konstrui. 990 00:40:32,230 --> 00:40:35,160 Do tute laŭvorte, SE tuŝi muskursoron, ĉi 991 00:40:35,160 --> 00:40:38,680 ludos iun sonon, ELSE ĝin tuj ludi ĉi tiu alia 992 00:40:38,680 --> 00:40:39,800 sono, Meow. 993 00:40:39,800 --> 00:40:42,510 Nun, se vi povas konkludi el la nomo de tiuj sonoj, vi povas 994 00:40:42,510 --> 00:40:45,310 probable diveni kio tiu programo estas intencis sorĉvenigi 995 00:40:45,310 --> 00:40:46,250 la ideo de. 996 00:40:46,250 --> 00:40:48,742 Ĉi kato estas meowing feliĉe. 997 00:40:48,742 --> 00:40:49,230 [Meow] 998 00:40:49,230 --> 00:40:51,410 DAVID Malan: Feliĉe, sed ne 999 00:40:51,410 --> 00:40:52,926 sufiĉe ŝatas esti tuŝita. 1000 00:40:52,926 --> 00:40:54,550 [Ektondros] 1001 00:40:54,550 --> 00:40:57,500 DAVID Malan: Do nun ni havas katon kiu krias al vi. 1002 00:40:57,500 --> 00:41:00,570 >> Bone, nu, unu lasta ekzemplo kun katoj tie, kaj 1003 00:41:00,570 --> 00:41:02,920 ni malfermita versio naŭ de ĉi tie. 1004 00:41:02,920 --> 00:41:06,190 Do nun, ni havas la sekvan plej ĝena sono kiun mi povis 1005 00:41:06,190 --> 00:41:11,630 trovi, do ni havas rosmaro aŭ maro leono tie kiuj tuj 1006 00:41:11,630 --> 00:41:13,222 fari la sekvajn. 1007 00:41:13,222 --> 00:41:20,870 [SEAL Bark] 1008 00:41:20,870 --> 00:41:23,310 DAVID Malan: Konsentite, do ĉi eliros al la ĝis vi povas diveni, kiel 1009 00:41:23,310 --> 00:41:24,640 tiu programo funkcias. 1010 00:41:24,640 --> 00:41:28,560 Do ĉi tiu fojo, tiu besto havas du skribsistemoj, kaj kio estas 1011 00:41:28,560 --> 00:41:31,050 Interese estas, ke tiuj skriptoj tuj ekzekuti 1012 00:41:31,050 --> 00:41:32,260 en paralela. 1013 00:41:32,260 --> 00:41:35,340 Do ĉar ili ambaŭ komenco kun verda flago clicked, 1014 00:41:35,340 --> 00:41:38,080 ĝi estas kiel iri kiel ĉi tiu, kaj ambaŭ programoj komenci kuri ĝin 1015 00:41:38,080 --> 00:41:41,370 iam eĉ se ili estas looping ĉiam. 1016 00:41:41,370 --> 00:41:44,420 Do, en la supro skripton, mi havas iujn logiko. 1017 00:41:44,420 --> 00:41:49,275 Kion prezentas tio kiun havigas tie supre? 1018 00:41:49,275 --> 00:41:50,740 [SEAL Bark] 1019 00:41:50,740 --> 00:41:51,670 Spektantaro: [inaudible] 1020 00:41:51,670 --> 00:41:53,295 DAVID Malan: Se estas kio? 1021 00:41:53,295 --> 00:41:53,760 [SEAL Bark] 1022 00:41:53,760 --> 00:41:55,852 Spektantaro: Se silentigita al nulo, ĝi tuj observu ludas la 1023 00:41:55,852 --> 00:41:58,410 soni. [SEAL Bark] 1024 00:41:58,410 --> 00:41:58,940 DAVID Malan: Konsentite, bona. 1025 00:41:58,940 --> 00:42:01,960 Do SE silentigita, kia ajn estas, ĉi oranĝo afero estas nulo, 1026 00:42:01,960 --> 00:42:05,370 DO ludi la maro leono sono kaj pensi "Ho, 1027 00:42:05,370 --> 00:42:06,770 hi, "por du sekundoj. 1028 00:42:06,770 --> 00:42:09,380 Nun, mi ne scias kion silentigita estas, sed nulo conjures ĝis la 1029 00:42:09,380 --> 00:42:11,230 ideo de falsaj aŭ ekstere. 1030 00:42:11,230 --> 00:42:14,490 Do se silentigita estas falsa, do se ne silentigita, 1031 00:42:14,490 --> 00:42:15,660 teni ludi la sono. 1032 00:42:15,660 --> 00:42:17,350 Bone, nu, kiel ni malebligi tion? 1033 00:42:17,350 --> 00:42:19,310 >> Nu, ni rigardu la dua skribsistemo tie malsupre. 1034 00:42:19,310 --> 00:42:22,130 La dua skribsistemo diras starigis silentigita al nulo. 1035 00:42:22,130 --> 00:42:25,180 Rimarku ke estas ankaŭ oranĝa, do kio Scratch ne estas koloroj 1036 00:42:25,180 --> 00:42:27,400 blokoj en la sama ombro se ĝi estas speco 1037 00:42:27,400 --> 00:42:28,850 de logike rilataj. 1038 00:42:28,850 --> 00:42:32,850 Do ĝuste kiam dampita ĝis supro estis oranĝo, tia estas silentigita cxi tie 1039 00:42:32,850 --> 00:42:34,060 menciita en oranĝo bloko. 1040 00:42:34,060 --> 00:42:36,170 Sed ĉi tiu estas variablo taskoj, do ĝuste kiel en 1041 00:42:36,170 --> 00:42:39,170 algebro, vi havas x kaj y kaj z, en programado vi havas 1042 00:42:39,170 --> 00:42:41,440 variabloj, sed ili estas ĝenerale - 1043 00:42:41,440 --> 00:42:42,580 let la paŭzo dum momento kaj figuro kiel 1044 00:42:42,580 --> 00:42:44,280 halti ĉi bojanta. 1045 00:42:44,280 --> 00:42:45,480 Kiel mi faru tion? 1046 00:42:45,480 --> 00:42:46,480 [SEAL Bark] 1047 00:42:46,480 --> 00:42:47,920 DAVID Malan: Okay. 1048 00:42:47,920 --> 00:42:49,490 Ĝi haltis. Okay. 1049 00:42:49,490 --> 00:42:52,230 >> Do ĝuste kiel en algebro vi havas variabloj x, y, kaj z, sed en 1050 00:42:52,230 --> 00:42:55,260 programado, havante variabloj kiel x, y, kaj z estas ĝenerale 1051 00:42:55,260 --> 00:42:57,330 malaprobita ĉar ili estas tute ne esprima. 1052 00:42:57,330 --> 00:43:00,070 Ili ne havas semantikan signifon ajn, do en la plej multaj 1053 00:43:00,070 --> 00:43:02,110 programlingvoj, variabloj povas havi plenan 1054 00:43:02,110 --> 00:43:05,270 disvolviĝinta nomoj aŭ vortoj aŭ frazoj, kiel silentigita, diri 1055 00:43:05,270 --> 00:43:06,030 kion ili faras. 1056 00:43:06,030 --> 00:43:09,380 Do ĉi tiu dua skribsistemo ankaŭ estis aŭskultante eterne, kaj gxi diris 1057 00:43:09,380 --> 00:43:12,100 se la ŝlosilo, la klavaro klavo Spaco, estas 1058 00:43:12,100 --> 00:43:13,370 premita, demandosigno. 1059 00:43:13,370 --> 00:43:16,300 Do tie estas kondiĉo kun Bulea esprimo kiu estas 1060 00:43:16,300 --> 00:43:19,010 tuj respondi al demando ĉu truthfully aŭ malvera, 1061 00:43:19,010 --> 00:43:22,880 tiam mi havas interne de ĝi SE la spaco klavo estas premita KAJ 1062 00:43:22,880 --> 00:43:28,020 SE silentigita estas nulo, turnu silentigita al oni, ELSE starigis silentigita al nulo. 1063 00:43:28,020 --> 00:43:30,510 Do ĉi tiu alia forko en la vojo, kaj anonco kiom mi havas 1064 00:43:30,510 --> 00:43:33,500 anidado la du SE kondiĉoj, estas vojo de kontrolanta estas la 1065 00:43:33,500 --> 00:43:36,610 Spaco Trinkejo premis ĉar se jes, mi jam volas iri tiun 1066 00:43:36,610 --> 00:43:38,000 vojo aŭ tiu vojo. 1067 00:43:38,000 --> 00:43:40,210 Kaj kiel mi inversigi la valoro de silentigita? 1068 00:43:40,210 --> 00:43:41,410 Mi devas kontroli ĉu nulo? 1069 00:43:41,410 --> 00:43:45,890 Se jes, fari ĝin unu, alie fari ĝin nulo al tio Baskuligi 1070 00:43:45,890 --> 00:43:47,670 liaj du ŝtatoj. 1071 00:43:47,670 --> 00:43:50,030 >> Bone, do ni havos poste kelkaj el tiuj fundamentaj 1072 00:43:50,030 --> 00:43:50,540 konstruoj. 1073 00:43:50,540 --> 00:43:52,810 Ni havas Bulea esprimoj, kaj realigi, ankaŭ, ĉi tiuj estas 1074 00:43:52,810 --> 00:43:54,050 Ne ĉiuj kiuj ne konas. 1075 00:43:54,050 --> 00:43:56,730 Fakte, jen rapida ekrankopio de Harvard Kompreneble la CS50 1076 00:43:56,730 --> 00:43:59,740 komerca ilo, kaj ĉiu retpaĝaro tie kiu havas markobutonojn 1077 00:43:59,740 --> 00:44:02,420 kaj guto montetaro vere, ĉiuj ĉi tiuj datoj, estis uzante 1078 00:44:02,420 --> 00:44:03,430 Bulea esprimoj. 1079 00:44:03,430 --> 00:44:05,760 En ĉi tiu kazo ĉi tie, se vi klakas la checkbox apud 1080 00:44:05,760 --> 00:44:08,620 Kompreneble pli granda ol aŭ egala al 4,5, aŭ la sama flanko 1081 00:44:08,620 --> 00:44:11,200 fakultato, vi preciziganta Bulea esprimo. 1082 00:44:11,200 --> 00:44:14,780 Montru al mi kursojn por kiu tiu esprimo estas vera. 1083 00:44:14,780 --> 00:44:17,080 Aŭ dekstre, ĉu ne konfliktas kun kursoj mi 1084 00:44:17,080 --> 00:44:20,440 portante, se tiu estas kontrolata, tiam jes, vi volas kontroli 1085 00:44:20,440 --> 00:44:22,890 tiu kondiĉo, alie vi volas ignori ĝin. 1086 00:44:22,890 --> 00:44:25,170 Do Bulea esprimoj estas ia cxirkauxe, sed kiam 1087 00:44:25,170 --> 00:44:28,080 ni metas ilin en kondiĉoj, ĉu SE kondiĉoj, SE 1088 00:44:28,080 --> 00:44:30,480 ELSEs, aŭ ni povas eĉ simuli profunda 1089 00:44:30,480 --> 00:44:32,830 niveloj, SE ELSE IF ELSE - 1090 00:44:32,830 --> 00:44:34,430 do jen speco de triargumenta stato. 1091 00:44:34,430 --> 00:44:36,920 Vi povas iri tiel aŭ ĉi maniero aŭ tiamaniere. 1092 00:44:36,920 --> 00:44:39,680 Ni povas gardi nestumado aĵoj iri en malsamaj direktoj. 1093 00:44:39,680 --> 00:44:41,800 >> Do Scratch havas tiuj cikloj, kiel Forever. 1094 00:44:41,800 --> 00:44:44,750 Ĝi havas tiujn trajtojn kiel Ripetu 10, iuj 1095 00:44:44,750 --> 00:44:46,260 finia nombro de fojoj. 1096 00:44:46,260 --> 00:44:49,040 Ni havas la kapablon nun meti variabloj, do en tiu ĉi kazo 1097 00:44:49,040 --> 00:44:51,810 Mi deklaris, ekzemple, variablo nomita ŝtrumpetoj. 1098 00:44:51,810 --> 00:44:54,340 Mi inicializado al 0, kaj tio estas ankoraŭ alia direkto 1099 00:44:54,340 --> 00:44:56,940 ni povis esti prenita supren tie kun Jozef, per kiu mi eble 1100 00:44:56,940 --> 00:45:00,150 nur konservi trako de kiom ŝtrumpetojn mi havas sur kaj finiĝi 1101 00:45:00,150 --> 00:45:03,490 la programo kiam tiu variablo estas valoro estas 2. 1102 00:45:03,490 --> 00:45:05,660 Kiu estus alia maniero de ia komunigante ke 1103 00:45:05,660 --> 00:45:08,820 problemo kaj faras ion denove kaj denove. 1104 00:45:08,820 --> 00:45:12,080 Nu, ni iru antaŭen kaj nun enkonduki kelkajn novajn aferojn. 1105 00:45:12,080 --> 00:45:14,100 Do tiuj el vi kun antaŭa programing sperto volo 1106 00:45:14,100 --> 00:45:17,120 scias, ke multaj lingvoj havas arrays, aŭ vektoroj aŭ 1107 00:45:17,120 --> 00:45:19,970 lertaj, kaj ja, Scratch havas io tiamaniere, ankaŭ. 1108 00:45:19,970 --> 00:45:22,510 Do ni vidu, se ni ne povas preni aĵojn al la sekva nivelo tie. 1109 00:45:22,510 --> 00:45:24,920 Se mi havas la kapablon, nun, kun ĉi tiuj puzlo pecoj 1110 00:45:24,920 --> 00:45:29,080 aldoni ion, kiel vorto aŭ nombro, al variablo, mi povas 1111 00:45:29,080 --> 00:45:30,550 komencas amasigi aĵojn. 1112 00:45:30,550 --> 00:45:33,630 Kaj jen estas vere bela apropos por aĵoj kiel ludoj, 1113 00:45:33,630 --> 00:45:35,810 listo ludoj kie vi estas speco de marsxante 1114 00:45:35,810 --> 00:45:38,600 iuj fantazio mondon kolekti aĵoj, repreni aĵojn, 1115 00:45:38,600 --> 00:45:39,900 gajnante punktoj, aŭ similaj. 1116 00:45:39,900 --> 00:45:42,310 Vi eble volas konservi trako de ia inventaro, kaj 1117 00:45:42,310 --> 00:45:45,180 ja, jen kion unu el niaj malnovaj studentoj tie faris kun 1118 00:45:45,180 --> 00:45:47,750 iu nomita Fruitcraft RPG. 1119 00:45:47,750 --> 00:45:51,820 >> Do lasu min antaŭeniri kaj malfermu tiun aferon ĉi tie, kaj en 1120 00:45:51,820 --> 00:45:56,260 Fruitcraft, ni havas ĉi mondo ĉe supro. 1121 00:45:56,260 --> 00:45:58,820 Do lasu min antaŭeniri kaj klaku la verdan flagon. 1122 00:45:58,820 --> 00:46:01,040 Avizo ĉe supre maldekstre estas ia inventaro. 1123 00:46:01,040 --> 00:46:04,110 Tio implementado en Scratch kiel kio ni vokos tabelo aŭ 1124 00:46:04,110 --> 00:46:06,890 listo, kaj nun ni havas ĉi tiun malgrandan kuraĝigo. 1125 00:46:06,890 --> 00:46:10,440 Do kiel ni komencis pli frue kun ĉi kuketo amo, 1126 00:46:10,440 --> 00:46:13,320 kaj poste ni antaŭeniris al katoj kaj maro leonoj, nun ni povas havi 1127 00:46:13,320 --> 00:46:15,100 tion, kio estas eĉ pli interaga. 1128 00:46:15,100 --> 00:46:18,250 Kaj tiu malgranda blua ulo, mi povas komenci movi ĉirkaŭ lia 1129 00:46:18,250 --> 00:46:19,500 malgrandan loĝejon tie. 1130 00:46:19,500 --> 00:46:22,570 Do ĝi similas li havas eliron cxi tie, do mi uzas 1131 00:46:22,570 --> 00:46:25,260 la sagoj klavoj, supren, suben, forlasita pravas. 1132 00:46:25,260 --> 00:46:28,370 Kaj nun mi estas ekstere, do ni estas kion mi devas tie. 1133 00:46:28,370 --> 00:46:30,920 Aspektas kiel oranĝon, kaj ja, kiam mi tuŝis la 1134 00:46:30,920 --> 00:46:33,110 oranĝo, ĝi prenas plopped en mian inventaro. 1135 00:46:33,110 --> 00:46:35,640 Se mi iras tien por la ĉerizoj, nun mi havas ion 1136 00:46:35,640 --> 00:46:36,760 alie en mia inventaro. 1137 00:46:36,760 --> 00:46:39,100 Kaj jen estas ĉiuj agrabla kaj bela, sed pensi kiel, nun, tiu 1138 00:46:39,100 --> 00:46:39,840 estas efektivigitaj. 1139 00:46:39,840 --> 00:46:42,490 Nu, ni havas ĉi nocio de listo, kaj tio estas ŝajne 1140 00:46:42,490 --> 00:46:45,470 enigmo pecon, kiun vi ĵus diras kion vi volas aldoni al ĝi, aldoni 1141 00:46:45,470 --> 00:46:46,950 oranĝo, aldoni ĉerizoj. 1142 00:46:46,950 --> 00:46:48,540 Nun, kio ĉi tiu malgranda blua ulo faras? 1143 00:46:48,540 --> 00:46:49,810 Nu, li estas sprite. 1144 00:46:49,810 --> 00:46:52,190 Kaj supozeble, la oranĝo kaj la ĉerizoj - 1145 00:46:52,190 --> 00:46:54,140 ili mem estis apartaj spiritoj. 1146 00:46:54,140 --> 00:46:56,980 Kaj uzante kondiĉoj en Buleaj esprimoj, la 1147 00:46:56,980 --> 00:47:00,530 studento estis probable povis esprimi SE blua ulo estas 1148 00:47:00,530 --> 00:47:04,590 tuŝi ĉerizoj DO aldoni la vorton ĉerizoj al sia 1149 00:47:04,590 --> 00:47:07,890 inventaro, kaj tiam ankaŭ kaŝas la ĉerizo sprite. 1150 00:47:07,890 --> 00:47:10,600 Do sub la kapuĉo, tie probable ankoraŭ estas ĉerizo 1151 00:47:10,600 --> 00:47:11,350 sprite tie. 1152 00:47:11,350 --> 00:47:14,160 Ni ĵus rakontis ĝin igi efektive nevidebla. 1153 00:47:14,160 --> 00:47:16,340 >> Nun, se mi gardas marŝante tien, ni povas ankaŭ fari tion 1154 00:47:16,340 --> 00:47:19,150 proximal afero, kie mi povas iri kaj legis la signo. 1155 00:47:19,150 --> 00:47:23,170 Do se blua ulo tuŝi signo, ni povas havi tiun Say bloko 1156 00:47:23,170 --> 00:47:26,455 samkiel la kato parolis al ni en vortoj, saluton, pli frue, "Got 1157 00:47:26,455 --> 00:47:26,880 iuj frukton? 1158 00:47:26,880 --> 00:47:29,290 Alportu ĝin al la frukto loko. "Bone, do nun, ŝajne, 1159 00:47:29,290 --> 00:47:30,550 Mi havas mian direktoj. 1160 00:47:30,550 --> 00:47:33,050 Mi povas iri tien al la frukto loko, vicigas min supren 1161 00:47:33,050 --> 00:47:33,740 kun la pordo. 1162 00:47:33,740 --> 00:47:35,390 Nun, mi estas en ĉi tie. 1163 00:47:35,390 --> 00:47:38,120 Mi povas iri al la viro en la vendotablo. 1164 00:47:38,120 --> 00:47:40,330 Li detektas ke mi estas proksima al li, do tio ne devas esti 1165 00:47:40,330 --> 00:47:46,780 sufiĉe idente tuŝi, kaj mi venkis. 1166 00:47:46,780 --> 00:47:49,890 Do ni havos Fruitcraft RPG. 1167 00:47:49,890 --> 00:47:52,200 >> Do ni povas fari aferojn eĉ pli progresintaj ol ĉi tiu. 1168 00:47:52,200 --> 00:47:53,200 Ni povas aldoni sonoj. 1169 00:47:53,200 --> 00:47:54,610 Ni povas aldoni pseŭdo hazardo. 1170 00:47:54,610 --> 00:47:56,260 Ni povas aldoni komplekseco. 1171 00:47:56,260 --> 00:47:58,490 Lasu min tie ĉi, kaj anstataŭ tion fari mem, 1172 00:47:58,490 --> 00:48:01,240 lasu min montri al vi unu el la plej kompleksaj prezentoj 1173 00:48:01,240 --> 00:48:06,640 ni akiris lasta jaro de iu al iu nomita Blake. 1174 00:48:06,640 --> 00:48:08,910 Ĉu ni povas havi unu volontulo kiu estas komforta aperi sur 1175 00:48:08,910 --> 00:48:12,600 ĉambro kaj estas ĉe ludas ludon? 1176 00:48:12,600 --> 00:48:13,450 Kion pri rajton tie? 1177 00:48:13,450 --> 00:48:15,380 Venu supren. 1178 00:48:15,380 --> 00:48:19,680 Bone, do la ludo, ke vi havas nur scii 1179 00:48:19,680 --> 00:48:20,780 volontulis por ludi - 1180 00:48:20,780 --> 00:48:25,910 [Aplaŭdo] 1181 00:48:25,910 --> 00:48:28,610 DAVID Malan: - Estas io el pasintaj tempoj nomita 1182 00:48:28,610 --> 00:48:30,100 "Frogger." Kio estas via nomo? 1183 00:48:30,100 --> 00:48:30,730 RENDA: Renda. 1184 00:48:30,730 --> 00:48:31,050 DAVID Malan: Redna? 1185 00:48:31,050 --> 00:48:32,530 RENDA: Estas kiel Brenda kun b. 1186 00:48:32,530 --> 00:48:33,190 DAVID Malan: Konsentite, Renda. 1187 00:48:33,190 --> 00:48:33,590 Davido. 1188 00:48:33,590 --> 00:48:34,580 Nice to meet you. 1189 00:48:34,580 --> 00:48:38,690 >> Do ĉi tie en "Frogger," kaj se ni povus levi la volumo ĵus 1190 00:48:38,690 --> 00:48:39,780 iom, vi estas tiu malgranda 1191 00:48:39,780 --> 00:48:41,010 verda rano sur la fundo. 1192 00:48:41,010 --> 00:48:43,940 Vi povas uzi forlasis, dekstra, supren kaj malsupren, kaj via celo estas 1193 00:48:43,940 --> 00:48:46,510 transiri la straton, transiri la riveron, kaj tusxu la lilio almohadillas 1194 00:48:46,510 --> 00:48:47,760 ĉe la supro. 1195 00:48:52,090 --> 00:48:53,440 Aw. 1196 00:48:53,440 --> 00:48:54,630 Unu pli t - 1197 00:48:54,630 --> 00:48:56,400 refari, tute certe? 1198 00:48:56,400 --> 00:48:58,890 Ni sukceson halto. 1199 00:48:58,890 --> 00:49:00,140 Neniu vidis tion. 1200 00:49:10,470 --> 00:49:12,930 [Aplaŭdo] 1201 00:49:17,023 --> 00:49:17,850 [Aplaŭdo] 1202 00:49:17,850 --> 00:49:19,341 DAVID Malan: Yeah. 1203 00:49:19,341 --> 00:49:20,832 Tre bone farita. 1204 00:49:20,832 --> 00:49:22,082 Bonega, dankon. 1205 00:49:27,300 --> 00:49:29,430 >> Por ke ne estis Frogger. Nun ke vi scias, kion vi havas 1206 00:49:29,430 --> 00:49:32,170 alveninta vin en, oni pli volontulo por malsama 1207 00:49:32,170 --> 00:49:34,910 ludo prezentita de alia lernanto. 1208 00:49:34,910 --> 00:49:35,560 Vi volas veni supren? 1209 00:49:35,560 --> 00:49:36,576 Kio estas via nomo? 1210 00:49:36,576 --> 00:49:37,000 Richard: Richard. 1211 00:49:37,000 --> 00:49:37,420 DAVID Malan: Richard. 1212 00:49:37,420 --> 00:49:39,732 Bone, Richard, venu supren. 1213 00:49:39,732 --> 00:49:42,187 [Aplaŭdo] 1214 00:49:45,140 --> 00:49:47,030 DAVID Malan: Vi havas iu kiu faros sonas 1215 00:49:47,030 --> 00:49:54,180 familiara frue, do tie estas viaj instrukcioj. 1216 00:49:54,180 --> 00:49:56,580 Do tre frue, iu puzlo pecoj tuj rulumu supren 1217 00:49:56,580 --> 00:49:58,150 de la ekrano ke aspektas ĉu forlasis 1218 00:49:58,150 --> 00:49:59,450 aŭ dekstra supren aŭ malsupren. 1219 00:49:59,450 --> 00:50:01,230 Vi tuj devos batis la sagoklavoj tiel 1220 00:50:01,230 --> 00:50:04,540 kiu respondas al tiuj puzlo pecoj vicatendis kun 1221 00:50:04,540 --> 00:50:05,720 la anstataŭiloj en supro. 1222 00:50:05,720 --> 00:50:07,500 Do kiam vi vidas maldekstre sago, kaj regiono per la maldekstra 1223 00:50:07,500 --> 00:50:09,260 sago, batis la maldekstra sago. 1224 00:50:09,260 --> 00:50:10,866 Vi povas komenci. 1225 00:50:10,866 --> 00:50:13,674 [MUZIKO - "forta" KAYNE OKCIDENTO] 1226 00:51:21,222 --> 00:51:23,470 DAVID Malan: Bone, grandaj rondaj de aplaŭdoj por Richard. 1227 00:51:23,470 --> 00:51:26,082 [Aplaŭdo] 1228 00:51:32,426 --> 00:51:33,720 DAVID Malan: Tre bone farita. 1229 00:51:33,720 --> 00:51:34,110 Dankon. 1230 00:51:34,110 --> 00:51:37,104 [Aplaŭdo] 1231 00:51:41,600 --> 00:51:44,330 >> DAVID Malan: Do amuza kaj, ŝajne, ia 1232 00:51:44,330 --> 00:51:46,590 intimidar kiel ĝi povus esti apliki ion kiel 1233 00:51:46,590 --> 00:51:49,550 kvazaŭe kompleksa kiel ĉi tiu, rimarkas ke la lernanto 1234 00:51:49,550 --> 00:51:51,450 ne ekiris kaj simple skribi ĉi subite. 1235 00:51:51,450 --> 00:51:54,200 Pli ĝuste, oni povas rompi problemo kiel ŝajne komplekso 1236 00:51:54,200 --> 00:51:56,840 kiel tiu en multe malpli granda pecoj, kaj ĉi tio, ankaŭ, estas 1237 00:51:56,840 --> 00:51:57,560 tuj estos temo. 1238 00:51:57,560 --> 00:52:00,490 La plej malbona afero vi povas fari en skribi programon en plej ajna 1239 00:52:00,490 --> 00:52:03,480 lingvo estas sidiĝi, get vere ekscitita, skribu la 1240 00:52:03,480 --> 00:52:07,200 tuta malbenita afero, kaj poste nur atendas ke ĝi laboras por la 1241 00:52:07,200 --> 00:52:08,510 tempo vi ĵus skribis. 1242 00:52:08,510 --> 00:52:10,920 Pli ĝuste, la procezo de programado devus ĝenerale 1243 00:52:10,920 --> 00:52:13,440 esti tre diskutita, tre ripeta, per kiu vi ĵus 1244 00:52:13,440 --> 00:52:16,955 starigis tre malgrandaj paŝoj al vi, mordo-grandeco pecoj 1245 00:52:16,955 --> 00:52:20,070 Kion ili volas mordi ekstere, kaj por ke vi havas tiujn prudento 1246 00:52:20,070 --> 00:52:21,740 ĉekoj, iom limŝtonoj vi povas renkonti. 1247 00:52:21,740 --> 00:52:24,170 Kaj tiam vi konstruu sur supro de tiuj por krei pli 1248 00:52:24,170 --> 00:52:25,400 kompleksaj aĵoj ankoraŭ. 1249 00:52:25,400 --> 00:52:26,820 >> Do ekzemple, kiel ni povus iri 1250 00:52:26,820 --> 00:52:28,380 implementando ludo kiel tiu? 1251 00:52:28,380 --> 00:52:30,160 Nu, sincere, mi certe komencos per nur 1252 00:52:30,160 --> 00:52:32,260 apogi unu klavo samtempe. 1253 00:52:32,260 --> 00:52:34,840 Ni simple apliki subteno por la maldekstra sago. 1254 00:52:34,840 --> 00:52:37,610 Do la studento devis iel krei en Photoshop, aŭ en 1255 00:52:37,610 --> 00:52:40,340 Skrapi mem uzante la malgranda grafika redaktoro, oni 1256 00:52:40,340 --> 00:52:42,680 sago ŝlosilo kiu aspektas kiel la ĉe supro lasis tie, nur 1257 00:52:42,680 --> 00:52:43,910 la griza lokokupilo. 1258 00:52:43,910 --> 00:52:46,610 Tiam la studento devis diveni kion x, y kunordigi al 1259 00:52:46,610 --> 00:52:48,380 diris, kie meti ĝin en la fenestron. 1260 00:52:48,380 --> 00:52:50,730 0, 0 estas ĉi tie, do vi devas kalkuli la nombron de 1261 00:52:50,730 --> 00:52:53,690 rastrumeroj, aŭ dots, por kompensi ke sago de 1262 00:52:53,690 --> 00:52:54,800 la supro de la ekrano. 1263 00:52:54,800 --> 00:52:57,040 Kaj tiam tuj ke estas en loko, via programo ne vere 1264 00:52:57,040 --> 00:53:00,380 faris nenion ankoraux, do vi tiam bezonas duan sprite, por 1265 00:53:00,380 --> 00:53:04,470 Ekzemple verda sago, ke estas ankaŭ markante forlasis, kaj vin 1266 00:53:04,470 --> 00:53:06,710 tiam necesas komenci skribi iujn skriptojn por ĝi. 1267 00:53:06,710 --> 00:53:09,310 >> Kaj vi rimarkos, eble, ke tiuj aferoj venas komencita en 1268 00:53:09,310 --> 00:53:11,470 malsamaj rapidoj, kaj la koloroj estis en malsamaj 1269 00:53:11,470 --> 00:53:13,750 lokoj, kaj tio estas ĉar la lernanto uzas iom de 1270 00:53:13,750 --> 00:53:14,990 pseŭdo hazardo. 1271 00:53:14,990 --> 00:53:17,440 Kaj per pseŭdo hazardo, mi nur volas diri elekti nombro 1272 00:53:17,440 --> 00:53:20,230 inter io kaj io pro vi povas 1273 00:53:20,230 --> 00:53:22,890 komenci mapo aĵojn, kiel se la nombro estas inter kaj 1274 00:53:22,890 --> 00:53:24,940 kvin, nu, ni faros la aferon verdo. 1275 00:53:24,940 --> 00:53:28,290 Se estas inter 6 kaj 10, ni preni la puzlo peco 1276 00:53:28,290 --> 00:53:29,730 ruĝa anstataŭe. 1277 00:53:29,730 --> 00:53:31,840 Tiel longe kiel vi havas manieron de generante ian 1278 00:53:31,840 --> 00:53:34,730 hazardo, vi povas tiam preni decidojn surbaze de kiuj 1279 00:53:34,730 --> 00:53:35,260 hazardo. 1280 00:53:35,260 --> 00:53:37,490 Kaj mi parolas tiele pseŭdo hazarda ĉar estas 1281 00:53:37,490 --> 00:53:38,390 iom malpura sekreto. 1282 00:53:38,390 --> 00:53:41,130 Komputiloj ne povas veni supren kun hazarda nombroj. 1283 00:53:41,130 --> 00:53:42,800 Ili povas nur fari kion ili diris, ĉar 1284 00:53:42,800 --> 00:53:44,110 ili estas homfarita mekanismoj. 1285 00:53:44,110 --> 00:53:45,880 Ili ne povas ĝuste diveni numeron kiel ni homoj 1286 00:53:45,880 --> 00:53:46,960 sentas kiel ni povas. 1287 00:53:46,960 --> 00:53:50,970 Komputilo havas ion fari matematikajn al sorĉvenigi la 1288 00:53:50,970 --> 00:53:53,970 iluzio de matematika nombro, kelkfoje uzante la 1289 00:53:53,970 --> 00:53:57,420 nuna tago de tempo kiel enigo por decidi kio 1290 00:53:57,420 --> 00:53:59,570 numeron reveni, sed pli en tiu alia tempo. 1291 00:53:59,570 --> 00:54:02,060 Por nun, nur scias, ke ni povas generi pseŭdo hazardo. 1292 00:54:02,060 --> 00:54:04,610 >> Do iam mi havas la kapablon por la maldekstra sago por komenci 1293 00:54:04,610 --> 00:54:07,990 aperi en malsamaj tempoj kaj je malsamaj rapidoj, tiam 1294 00:54:07,990 --> 00:54:10,230 Mi povas reiri kaj aldoni kelkajn de tiuj SE kondiĉoj. 1295 00:54:10,230 --> 00:54:14,950 SE tiu sprite tuŝas la alia, KAJ la maldekstra sago 1296 00:54:14,950 --> 00:54:16,330 ŝlosilo estis premata - 1297 00:54:16,330 --> 00:54:17,900 do tri kondiĉojn en tiu kazo. 1298 00:54:17,900 --> 00:54:20,750 Mi povas uzi tiun KAJ bloki eble, en tiu kazo - 1299 00:54:20,750 --> 00:54:23,210 DO Mi volas iri antaŭen kaj pliigo la partituro. 1300 00:54:23,210 --> 00:54:25,130 Kaj en supro, ni havas partituron, ni havas Awesome, 1301 00:54:25,130 --> 00:54:26,510 Cool, Bona, kaj Boo. 1302 00:54:26,510 --> 00:54:29,810 Do tie estas ŝajne kvin variabloj ke ĉi studento 1303 00:54:29,810 --> 00:54:32,220 uzata por konservi trako de tiuj diversaj metrikoj. 1304 00:54:32,220 --> 00:54:34,180 Do mallonge, la fina rezulto estas mirinda. 1305 00:54:34,180 --> 00:54:37,320 Estas amuza, estas amuze ludi, ĝi estas engaĝi, sed ĉi tio ne estas 1306 00:54:37,320 --> 00:54:38,380 kie la studento komencis. 1307 00:54:38,380 --> 00:54:42,210 Li aŭ ŝi komencis al tre malgranda aro de paŝoj. 1308 00:54:42,210 --> 00:54:44,470 >> Do kio estas iu alia konstruaĵo blokoj, ke ni povas 1309 00:54:44,470 --> 00:54:45,760 teksi en tiuj programoj? 1310 00:54:45,760 --> 00:54:48,750 Nu, estas ĉi tiu alia koncepto en plej lingvoj, 1311 00:54:48,750 --> 00:54:50,730 Skrapi inter ili, konata kiel fadenoj. 1312 00:54:50,730 --> 00:54:54,660 Do komputilo povas fakte ne vere multnombraj aferojn 1313 00:54:54,660 --> 00:54:56,730 tempo, almenaŭ ne kutime. 1314 00:54:56,730 --> 00:54:59,930 Pli ĝuste, komputila ĝenerale havas nur unu CPU, kaj eĉ 1315 00:54:59,930 --> 00:55:02,230 kvankam komputiloj estas super rapida kaj povas, do, 1316 00:55:02,230 --> 00:55:04,740 krei la iluzion de fari multnombrajn aferojn samtempe - 1317 00:55:04,740 --> 00:55:06,180 kontrolanta vian ejon, atingante instantáneo 1318 00:55:06,180 --> 00:55:07,770 mesaĝon, presi dokumenton - 1319 00:55:07,770 --> 00:55:11,530 vere, komputilo estas nur salti de impreso al IMing 1320 00:55:11,530 --> 00:55:15,160 al emailing, dorso kaj reen kaj tien kaj reen tiel rapide, ke ni 1321 00:55:15,160 --> 00:55:18,170 malrapida witted homoj simple ne rimarkas ke fakte 1322 00:55:18,170 --> 00:55:21,240 kurante tiuj programoj iom samtempe. 1323 00:55:21,240 --> 00:55:23,960 Nun, ĉi tiu iom de blanka kuŝas tiuj tagoj ĉar, nuntempe, 1324 00:55:23,960 --> 00:55:26,740 multaj niaj komputiloj estas kion oni nomas multi-kerno, do vi 1325 00:55:26,740 --> 00:55:29,760 havi CPU sed multnombraj kernoj, kiuj estas speco de kiel 1326 00:55:29,760 --> 00:55:31,760 havi plurajn CPUs. 1327 00:55:31,760 --> 00:55:35,020 >> Kaj tiel kelkfoje, komputiloj vere povas fari multnombrajn aĵoj 1328 00:55:35,020 --> 00:55:38,500 samtempe, sed ĝenerale ene de programo, programoj 1329 00:55:38,500 --> 00:55:40,200 fidi tion nomas fadenoj. 1330 00:55:40,200 --> 00:55:43,160 Do unu fadeno estas ia kiel miniaturo programo kiu povas 1331 00:55:43,160 --> 00:55:46,540 ekzisti apud alia miniaturo programo kaj povas kuri 1332 00:55:46,540 --> 00:55:51,250 en paralela, aŭ almenaŭ povas kuri sub la iluzio, ke 1333 00:55:51,250 --> 00:55:52,990 ili estas kurante samtempe. 1334 00:55:52,990 --> 00:55:55,060 Do Scratch subtenas tion nomas fadenoj. 1335 00:55:55,060 --> 00:55:57,580 Vi povas havi plurajn skriptojn ekzekuti tuj, kiel ni 1336 00:55:57,580 --> 00:56:00,220 faris kun la maro leono, kaj ĉi tio permesas al ni efektive 1337 00:56:00,220 --> 00:56:03,620 tiam havi interagoj inter tiuj spiritoj. 1338 00:56:03,620 --> 00:56:09,910 Lasu min tie ĉi kaj elsxiros, diru, fadenoj, kaj 1339 00:56:09,910 --> 00:56:11,870 ludi ĉi jene. 1340 00:56:11,870 --> 00:56:13,950 Ni havas du sprites, ĉiu el kiuj ni vidas 1341 00:56:13,950 --> 00:56:15,720 havas nur unu skripton. 1342 00:56:15,720 --> 00:56:18,000 Kaj vi rimarkos ke ŝajnas esti iu inteligenteco en la 1343 00:56:18,000 --> 00:56:21,335 kato en ĉi tiu ĉar li ricevas pli proksime - 1344 00:56:21,335 --> 00:56:21,730 [Ektondros] 1345 00:56:21,730 --> 00:56:24,540 DAVID Malan: - kaj pli proksima al la malgranda birdo. 1346 00:56:24,540 --> 00:56:26,570 >> Do kiel estas la birdo mastruma? 1347 00:56:26,570 --> 00:56:28,200 Nu, ni rigardu la birdo unua. 1348 00:56:28,200 --> 00:56:31,220 La birdo skripto diris kiam la verda flago estas clicked, iru al x 1349 00:56:31,220 --> 00:56:34,020 egalas negativa 115 kaj y egalas 150. 1350 00:56:34,020 --> 00:56:37,010 Do mi simple supozis, hazarda loko kie mi volis la 1351 00:56:37,010 --> 00:56:39,580 birdo komenci, kaj mi ĵus plopped lin tie defaŭlte. 1352 00:56:39,580 --> 00:56:42,800 Tiam Forever SE ne tuŝi kato, do ĉi tiu estas malsama 1353 00:56:42,800 --> 00:56:45,080 speco de looping konstrui, sed sama ideo, fari ĉi denove kaj 1354 00:56:45,080 --> 00:56:45,780 denove kaj denove. 1355 00:56:45,780 --> 00:56:49,410 Tiel longe kiel vi ne tuŝi la kato, movi tri paŝoj, kaj 1356 00:56:49,410 --> 00:56:51,680 se vi estas sur la rando, resalto, kie ĝi estas speco de 1357 00:56:51,680 --> 00:56:53,320 reflekto en la bilardo senco. 1358 00:56:53,320 --> 00:56:56,140 Do jen kiel la birdo estas movanta ĉirkaŭ ia 1359 00:56:56,140 --> 00:56:58,890 kvazaŭe hazarde, sed estas nur ĉar ĝi estas _bouncing_ for 1360 00:56:58,890 --> 00:57:00,170 la muroj en ĉi tiu kazo. 1361 00:57:00,170 --> 00:57:03,170 >> Nun la kato, dume, estas speco de kaptiloj. 1362 00:57:03,170 --> 00:57:05,520 La kato, kiam la verda flago estas clicked, jes, komenciĝas en 1363 00:57:05,520 --> 00:57:07,390 iuj situo, hazarda loko - 1364 00:57:07,390 --> 00:57:09,590 almenaŭ en parto kiel por la elekto 1365 00:57:09,590 --> 00:57:11,430 hazarda verda bloko tie - 1366 00:57:11,430 --> 00:57:14,660 kaj tiam Forever SE tuŝi la birdo, ludi la leono sono, 1367 00:57:14,660 --> 00:57:15,790 kaj tiam haltas skripto. 1368 00:57:15,790 --> 00:57:18,560 Do kiam mi diris finiĝi, aŭ eliri antaŭe, tie estas enigmo 1369 00:57:18,560 --> 00:57:20,600 pecon en Scratch kiu nur mortigi la programo en tiu 1370 00:57:20,600 --> 00:57:22,900 atentigi ĉar ĝi estas speco de logike faritaj. 1371 00:57:22,900 --> 00:57:25,030 Sed alie, tie, rimarki kio tuj okazos. 1372 00:57:25,030 --> 00:57:28,470 Pinton al la birdo kaj movado unu paŝo. 1373 00:57:28,470 --> 00:57:31,390 Do ĉi tiu punkto al birdo estas speco de avantaĝon la kato 1374 00:57:31,390 --> 00:57:34,640 havas en kiu estas autodirigido en la movanta birdo, kaj ni povas 1375 00:57:34,640 --> 00:57:37,370 nun faru ĉi programo des pli interesa. 1376 00:57:37,370 --> 00:57:41,520 Anstataŭ movanta unu paŝon en momento por CPU ciklo, po 1377 00:57:41,520 --> 00:57:44,280 frapi likvidon de la sonorilo, tiel diri, permesu al mi iri antaŭen kaj 1378 00:57:44,280 --> 00:57:47,350 movi, diru, kvin ŝtupoj samtempe kiel la kato. 1379 00:57:47,350 --> 00:57:51,120 Klaku kuri, kaj nun li vere trovis lin rapide. 1380 00:57:51,120 --> 00:57:55,620 Se ni duobligi ĉi plui al 10 paŝoj, ĝi ia iras 1381 00:57:55,620 --> 00:57:56,370 dekstra por li. 1382 00:57:56,370 --> 00:57:57,750 Nun, ni povas doni la birdo, 1383 00:57:57,750 --> 00:57:59,540 eble, iom de avantaĝo. 1384 00:57:59,540 --> 00:58:02,370 Ni iru al la birdo kaj diru anstataŭ movi tri paŝoj, 1385 00:58:02,370 --> 00:58:07,140 ni movi lin 30 paŝoj. 1386 00:58:07,140 --> 00:58:08,700 Sed li ankoraŭ kroĉiĝis en la fino. 1387 00:58:08,700 --> 00:58:10,430 >> Do jen, ni havas du fadenoj. 1388 00:58:10,430 --> 00:58:13,230 Ĝi estas enprizonigita en Scratch kun du skriptoj kaj du 1389 00:58:13,230 --> 00:58:16,150 sprites, sed la ideo en aliaj lingvoj estas ke vi povas 1390 00:58:16,150 --> 00:58:19,220 skribi, esence, tro multaj programoj kiel ĉi tio kaj havas 1391 00:58:19,220 --> 00:58:22,950 ili kuras vere, aŭ imaginarily, en paralela. 1392 00:58:22,950 --> 00:58:25,280 >> Nun, estas ankaŭ ĉi koncepto en programado konata kiel 1393 00:58:25,280 --> 00:58:28,010 eventoj, kaj ĉi tiu estas io ni ne vidos en C, la 1394 00:58:28,010 --> 00:58:30,500 lingvo konita kiel C. Ni vidos ĝin al semestro la fino 1395 00:58:30,500 --> 00:58:33,240 en retejo programado, kiam ni enkondukas JavaScript kaj la 1396 00:58:33,240 --> 00:58:36,970 nocio de konstruaĵo retpaĝojn kiuj estas dinamika kaj interagi 1397 00:58:36,970 --> 00:58:37,710 kun uzantoj. 1398 00:58:37,710 --> 00:58:40,430 Do en ĉi tiu kazo, ni havas tre simplan ekzemplon de du 1399 00:58:40,430 --> 00:58:43,860 sprites, knabo kaj knabino, ĉiu el kiuj havas siajn respektivajn 1400 00:58:43,860 --> 00:58:48,040 fadenoj, sed iel tiuj du estas inter-komuniki per vojo 1401 00:58:48,040 --> 00:58:49,490 de iu nomita eventoj. 1402 00:58:49,490 --> 00:58:52,750 Do lasu min iri antaŭen tie kaj zomi en la knabo skripton, 1403 00:58:52,750 --> 00:58:54,050 kiu aspektas kiel ĉi tio. 1404 00:58:54,050 --> 00:58:57,510 Kiam verda flago clicked, eterne fari la sekvajn. 1405 00:58:57,510 --> 00:59:01,510 Se la ŝlosilo Spaco, aŭ la spaco Trinkejo, estas premita, diru 1406 00:59:01,510 --> 00:59:03,900 Kadro por du sekundoj, jen pure estetika sur la 1407 00:59:03,900 --> 00:59:06,860 ekrano, iom parolado bobelo, sed tiam elsendas. 1408 00:59:06,860 --> 00:59:09,240 >> Do elsendo estas alia Scratch peco kiu estas 1409 00:59:09,240 --> 00:59:12,050 reprezentanto de klaso de funcionalidad en programado 1410 00:59:12,050 --> 00:59:15,080 kiu permesas malsamaj programoj, malsamaj fadenoj, 1411 00:59:15,080 --> 00:59:17,120 al interreligia komunikas, por iel sendos 1412 00:59:17,120 --> 00:59:18,520 mesaĝoj, unu al alia. 1413 00:59:18,520 --> 00:59:21,930 Pasante pecon de papero en klaso estas varo de la malalta teknologio 1414 00:59:21,930 --> 00:59:22,700 ekvivalento. 1415 00:59:22,700 --> 00:59:24,300 Do transdonita evento. 1416 00:59:24,300 --> 00:59:26,210 Mi povas sendi ĉi tiun mesaĝon, kaj la vorto okazaĵo 1417 00:59:26,210 --> 00:59:27,270 estas tute arbitra. 1418 00:59:27,270 --> 00:59:30,000 Nulo kelkfoje havas tiujn guto montetaro, do mi ĵus eliris 1419 00:59:30,000 --> 00:59:33,230 kun hazarda vorto kiel okazaĵo ĉar nun, kion la knabo faras 1420 00:59:33,230 --> 00:59:36,600 kiam mi premas la klavon estas li dissendas ĉi evento. 1421 00:59:36,600 --> 00:59:39,270 Kaj se mi rigardas nun la knabino skripton, ŝia skripto estas 1422 00:59:39,270 --> 00:59:42,690 super simpla ĉar ĉio, kion ŝi bezonas fari estas ne agas kiam 1423 00:59:42,690 --> 00:59:44,100 la verda flago estas klakis. 1424 00:59:44,100 --> 00:59:47,910 Ŝi estas desegnita por ago kiam ŝi ricevas citaĵo, unquote, 1425 00:59:47,910 --> 00:59:51,210 "Evento", kaj je tiu punkto, ŝi aŭskultas do por 1426 00:59:51,210 --> 00:59:52,960 la tn evento denove kaj denove. 1427 00:59:52,960 --> 00:59:55,790 Tuj kiam ŝi ricevas tiun eventon, ŝi tuj krii 1428 00:59:55,790 --> 00:59:57,680 Poluso por du sekundoj. 1429 00:59:57,680 --> 01:00:01,090 >> Kaj tiel vi povos eble dedukti de tiu ekzakte kion la 1430 01:00:01,090 --> 01:00:03,190 sekva rezulto tuj estos. 1431 01:00:03,190 --> 01:00:04,910 Lasu min klaku la verdan flagon. 1432 01:00:04,910 --> 01:00:06,610 Nenio okazas ĉar mi bezonas fari kion? 1433 01:00:06,610 --> 01:00:07,310 Spektantaro: Spaco Trinkejo. 1434 01:00:07,310 --> 01:00:08,630 DAVID Malan: Spaco Trinkejo. 1435 01:00:08,630 --> 01:00:11,990 Knabo diras Marco, knabino diras Poluso. 1436 01:00:11,990 --> 01:00:13,670 Sed tio ne estas malfacile kodita per si mem. 1437 01:00:13,670 --> 01:00:16,740 Tio estas inter-komunikadon inter skriptoj, do nun ni 1438 01:00:16,740 --> 01:00:19,240 havas la kapablon fari eĉ pli kompleksa programoj kie 1439 01:00:19,240 --> 01:00:22,830 tiuj du estas iel inter-komuniki. 1440 01:00:22,830 --> 01:00:25,260 >> Do en kio direktoj ni povas utiligi ĉi tiun? 1441 01:00:25,260 --> 01:00:28,260 Nu, en problemo aro 0, vere, la celo estas 1442 01:00:28,260 --> 01:00:29,830 amuzi kun Scratch. 1443 01:00:29,830 --> 01:00:32,440 Por la hacker eldono, vi anstataŭe amuzi kun pli 1444 01:00:32,440 --> 01:00:35,850 malnaiva versio de Scratch nomis BYOB: Konstruu 1445 01:00:35,850 --> 01:00:38,040 Your Own blokoj, sed la ideo estas la sama. 1446 01:00:38,040 --> 01:00:38,780 Vi povos - 1447 01:00:38,780 --> 01:00:39,710 Jes, tio estis intenca. 1448 01:00:39,710 --> 01:00:42,450 Ĝi venis de Berkeley. 1449 01:00:42,450 --> 01:00:45,200 BYOB estas la hacker eldono versio de ĉi tiu, sed ambaŭ 1450 01:00:45,200 --> 01:00:48,180 demografio, normo eldono kaj hacker eldono egale, la 1451 01:00:48,180 --> 01:00:50,940 golon en mano por la venonta semajno estas vere nur por plonĝi en 1452 01:00:50,940 --> 01:00:53,050 profunda, ke via manoj malpuraj kun programado, kaj fari 1453 01:00:53,050 --> 01:00:55,240 io interesa, fari ion interaga, fari 1454 01:00:55,240 --> 01:00:58,020 ion artan, fari ion amuzan por fakte 1455 01:00:58,020 --> 01:01:01,020 pruvi, ke per semajno fino, vi havos projekto, 1456 01:01:01,020 --> 01:01:03,770 Ne nur por via unua CS50 pset, sed vi havos 1457 01:01:03,770 --> 01:01:05,620 iom iun kiu povas montri en Annenberg al 1458 01:01:05,620 --> 01:01:08,830 amikoj aŭ eĉ familio enŝutante ĝin al MIT retpaĝo. 1459 01:01:08,830 --> 01:01:11,760 Kaj tiel kiel mi diris merkrede, ni atendas 90% de la klaso, 1460 01:01:11,760 --> 01:01:13,970 ĝenerale, por servi la normo eldonoj. 1461 01:01:13,970 --> 01:01:16,660 Rimarkas ke ekzistas ankaŭ ĉi elirejon por tiuj el vi, kiuj 1462 01:01:16,660 --> 01:01:18,990 povus alimaniere trovi mem iom enuas kun la fundamentoj 1463 01:01:18,990 --> 01:01:21,650 kaj vere volas plonĝi en kaj metio vizio vi jam 1464 01:01:21,650 --> 01:01:25,380 havi kun antaŭa fono en tiu pli amika 1465 01:01:25,380 --> 01:01:26,240 medio. 1466 01:01:26,240 --> 01:01:29,030 >> Do lasu min eltiri supren unu alia ekzemplo, ke unu el nia antaŭa 1467 01:01:29,030 --> 01:01:33,830 studentoj tie faris kaj diru iom iun tra kanto. 1468 01:01:33,830 --> 01:01:37,430 Ke simile, kiel ĉi teatraĵoj, pensu pri kiel vi ĉirkaŭiras 1469 01:01:37,430 --> 01:01:40,520 efektivigo de ĉi tiu programo uzi precize tiujn samajn 1470 01:01:40,520 --> 01:01:44,180 konstruaĵo blokoj, iomete da pseŭda hazardo, kaj 1471 01:01:44,180 --> 01:01:46,010 iom familiara kanto. 1472 01:01:46,010 --> 01:01:47,910 Se ni povus levi la volumo malmulta? 1473 01:01:47,910 --> 01:01:49,160 [MUZIKO - "Pluvas MEN" LA VETERO GIRLS] 1474 01:03:02,261 --> 01:03:03,930 >> DAVID Malan: Estas tio por CS50. 1475 01:03:03,930 --> 01:03:05,860 Ni vidos vin lunde. 1476 01:03:05,860 --> 01:03:21,152 [Aplaŭdo]