1 00:00:00,000 --> 00:00:10,980 >> [音乐播放] 2 00:00:10,980 --> 00:00:13,260 >> -Alright! 3 00:00:13,260 --> 00:00:16,400 >> - 这是CS50。 4 00:00:16,400 --> 00:00:18,220 >> - 这是CS50。 5 00:00:18,220 --> 00:00:19,324 >> - 这是CS50。 6 00:00:19,324 --> 00:00:20,615 [音乐 - IGGY杜鹃,“花哨”] 7 00:00:20,615 --> 00:00:29,925 8 00:00:29,925 --> 00:00:33,570 >> - 我的最爱内存从CS50 是我去的时候益智节。 9 00:00:33,570 --> 00:00:35,797 >> -Probably只是时间 花了工作问题集 10 00:00:35,797 --> 00:00:38,630 与我的朋友和人民谁沃尔德 最终成为我的blockmates。 11 00:00:38,630 --> 00:00:40,421 >> 从 - 我的最美好的记忆 CS50是Hackathon。 12 00:00:40,421 --> 00:00:41,630 -The CS50 Hackathon。 13 00:00:41,630 --> 00:00:42,130 >> -Hackathon。 14 00:00:42,130 --> 00:00:42,800 >> -Hackathon。 15 00:00:42,800 --> 00:00:43,300 -Hackathon。 16 00:00:43,300 --> 00:00:43,883 -The Hackathon 17 00:00:43,883 --> 00:00:45,027 -Rob鲍登。 18 00:00:45,027 --> 00:00:46,110 只是关于他的一切。 19 00:00:46,110 --> 00:00:47,401 >> [音乐 - IGGY杜鹃,“花哨”] 20 00:00:47,401 --> 00:00:56,790 21 00:00:56,790 --> 00:01:02,512 >> - 我的最爱内存是当我在 阶段,我打了久负盛名的作用 22 00:01:02,512 --> 00:01:04,220 的节点[?在链接?] [?清单。 ?] 23 00:01:04,220 --> 00:01:08,470 >> - 当我们都得到免费的Dropbox空间 大卫像,看看在你的座位。 24 00:01:08,470 --> 00:01:10,520 而且当时想,每个人的空间! 25 00:01:10,520 --> 00:01:11,811 >> [音乐 - IGGY杜鹃,“花哨”] 26 00:01:11,811 --> 00:01:20,940 27 00:01:20,940 --> 00:01:22,830 >> 任何 - 我的建议 进来的学员会 28 00:01:22,830 --> 00:01:26,170 是真正的工作 P-集合与朋友。 29 00:01:26,170 --> 00:01:27,960 >> - 办公小时是很你的朋友。 30 00:01:27,960 --> 00:01:30,870 >> -make你的大部分经历 并满足尽可能多的人就可以了。 31 00:01:30,870 --> 00:01:32,390 >> - 不要害怕寻求帮助。 32 00:01:32,390 --> 00:01:33,890 在本周初-start的P组。 33 00:01:33,890 --> 00:01:36,723 - 我认为最重要的事情是要 采取的所有资源的优点 34 00:01:36,723 --> 00:01:37,950 该CS50拥有。 35 00:01:37,950 --> 00:01:39,960 >> - 进入本周初的办公时间。 36 00:01:39,960 --> 00:01:41,430 >> -Definitely观看短裤。 37 00:01:41,430 --> 00:01:42,989 >> - 不要拖延对你的P-集合。 38 00:01:42,989 --> 00:01:45,780 - 确保你找到一个伟大的团队 人们上班的P-集合了。 39 00:01:45,780 --> 00:01:48,530 你可以有很多的乐趣 并完成工作在一起。 40 00:01:48,530 --> 00:01:50,370 >> - 不要害怕,强迫自己。 41 00:01:50,370 --> 00:01:52,080 去有时黑客版。 42 00:01:52,080 --> 00:01:55,410 >> 之前在纸上-write事 你有没有碰你的电脑。 43 00:01:55,410 --> 00:01:58,380 >> -CS50是真正伟大的 提供方式获得帮助。 44 00:01:58,380 --> 00:02:01,134 >> - 我的一个建议就是睡觉。 45 00:02:01,134 --> 00:02:02,050 有人说了吗? 46 00:02:02,050 --> 00:02:04,100 睡眠,是肯定的。 47 00:02:04,100 --> 00:02:08,919 这很容易不这样做,但 你要做到这一点,我想。 48 00:02:08,919 --> 00:02:12,982 >> - 我会说,真正做好心理准备 因为你一定会喜欢它。 49 00:02:12,982 --> 00:02:14,273 [音乐 - IGGY杜鹃,“花哨”] 50 00:02:14,273 --> 00:02:17,750 51 00:02:17,750 --> 00:02:18,940 >> - 这是CS50。 52 00:02:18,940 --> 00:02:22,090 53 00:02:22,090 --> 00:02:23,066 >> - 这是CS50。 54 00:02:23,066 --> 00:02:26,400 55 00:02:26,400 --> 00:02:26,989 >> - 这是CS50。 56 00:02:26,989 --> 00:02:28,280 [音乐 - IGGY杜鹃,“花哨”] 57 00:02:28,280 --> 00:02:31,290 58 00:02:31,290 --> 00:02:31,964 >> - 这是CS50。 59 00:02:31,964 --> 00:02:36,020 60 00:02:36,020 --> 00:02:42,270 >> [掌声] 61 00:02:42,270 --> 00:02:46,040 >> 戴维·J·马兰:所以这是CS50 这是第0周的结束。 62 00:02:46,040 --> 00:02:48,770 而这只是一些 CS50的工作人员是谁 63 00:02:48,770 --> 00:02:51,100 等待你不仅在第 和办公时间,但是, 64 00:02:51,100 --> 00:02:54,390 也,本周末 在CS50谜天。 65 00:02:54,390 --> 00:02:56,410 这又是不 所有关于编程。 66 00:02:56,410 --> 00:02:59,710 事实上,它的预期,你 不会有任何编程, 67 00:02:59,710 --> 00:03:03,780 而是用解决问题 机智和朋友与你一起。 68 00:03:03,780 --> 00:03:06,400 >> 我们会被一些人加入 我们的朋友在Facebook-- 69 00:03:06,400 --> 00:03:08,980 如果您注册这里 - 谁 在过去的几年中, 70 00:03:08,980 --> 00:03:11,450 其实已经写 这些挑战我们。 71 00:03:11,450 --> 00:03:14,822 因此,他们将是那些 最终运行的难题节。 72 00:03:14,822 --> 00:03:17,530 所以,你将面临挑战 用精确的各种事情 73 00:03:17,530 --> 00:03:20,520 和问题,在乡亲 Facebook的喜欢思考的问题。 74 00:03:20,520 --> 00:03:21,860 所以这是明天。 75 00:03:21,860 --> 00:03:25,980 在cs50.harvard.edu/register注册。 76 00:03:25,980 --> 00:03:28,120 >> 现在一对夫妇词 工作人员尤其如此。 77 00:03:28,120 --> 00:03:30,090 这在这里是安塞尔·达夫, 究竟是谁是 78 00:03:30,090 --> 00:03:33,860 这些二进制文件的共同作者 我们看到周三灯泡, 79 00:03:33,860 --> 00:03:36,710 除了CS50自身丹·布拉德利。 80 00:03:36,710 --> 00:03:40,094 安塞尔·达芙也是前 我的大一建议者3年前 81 00:03:40,094 --> 00:03:41,760 他居然连建立了这个讲台。 82 00:03:41,760 --> 00:03:45,330 他走了就做 工程科学等。 83 00:03:45,330 --> 00:03:49,279 现在,在这里他的照片实际上是 安塞尔3年前在CS50 Hackathon 84 00:03:49,279 --> 00:03:51,820 当他借了我们的一个 气球,把它粘到他的笔记本电脑, 85 00:03:51,820 --> 00:03:55,240 并且,在接下来的12一些奇怪的 小时,集中在他最后的项目, 86 00:03:55,240 --> 00:03:59,150 休息片刻,只开 糖果袋在Hackathon。 87 00:03:59,150 --> 00:04:02,210 >> 但他接着说,最近来 度过今年夏天我们, 88 00:04:02,210 --> 00:04:05,270 因为CS50的员工,并 现在的学生本学期, 89 00:04:05,270 --> 00:04:06,770 有它自己的三维打印机。 90 00:04:06,770 --> 00:04:10,180 并概括地说一个3D打印机是 设备看起来很喜欢这个。 91 00:04:10,180 --> 00:04:15,700 你用塑料线轴填充 被熔化的设备 92 00:04:15,700 --> 00:04:18,940 与您共建的东西 从字面上什么。 93 00:04:18,940 --> 00:04:22,660 就像喷墨打印机,你开始 随地吐痰的塑料小点 94 00:04:22,660 --> 00:04:24,990 这种形式的合作, 形成整体的对象。 95 00:04:24,990 --> 00:04:28,430 等安塞尔例如,较早 今年夏天,有一个iPhone 5 96 00:04:28,430 --> 00:04:30,722 并决定他真想 支撑它挂在他的办公桌。 97 00:04:30,722 --> 00:04:32,638 但他并不想 出去买东西 98 00:04:32,638 --> 00:04:36,030 从Apple Store或类似的,所以他 坐了下来,开始画画的东西。 99 00:04:36,030 --> 00:04:38,280 他拍了几张测试 至于有多厚 100 00:04:38,280 --> 00:04:41,270 并有多宽他的iPhone是, 他画了这个形象在这里, 101 00:04:41,270 --> 00:04:43,870 他决定,他希望 有一个75度倾斜 102 00:04:43,870 --> 00:04:46,150 因为它是盯着 他在他的办公桌那里。 103 00:04:46,150 --> 00:04:50,440 然后,他把这个用 软件,转换成3D CAD模型 104 00:04:50,440 --> 00:04:52,400 这看起来有点 这样的事情。 105 00:04:52,400 --> 00:04:55,940 然后他继续, 最终,实际创建它。 106 00:04:55,940 --> 00:05:00,250 所以,事实上,如果你们在这里,也许 在一排,我可以抛出来,有 107 00:05:00,250 --> 00:05:06,780 an--有我们的乡亲与iPhone 5,在这里我们有两个以上。 108 00:05:06,780 --> 00:05:10,650 109 00:05:10,650 --> 00:05:17,037 >> 现在,不甘示弱,CS50自己 程功还成立了这个夏天 110 00:05:17,037 --> 00:05:19,870 建立了不少的东西,, 事实上,其原因仍 111 00:05:19,870 --> 00:05:23,970 目前还不清楚,已经慢慢 打印头大象的军队 112 00:05:23,970 --> 00:05:27,250 以阐明武器和树干。 113 00:05:27,250 --> 00:05:32,515 一对夫妇的,实际上在这里如果 现在任何人都将like--大象。 114 00:05:32,515 --> 00:05:35,650 115 00:05:35,650 --> 00:05:40,522 好吧,。但成也做了 对我们来说,他非常亲切地成立了一个摄像头 116 00:05:40,522 --> 00:05:42,230 因为大象, 不管你信不信, 117 00:05:42,230 --> 00:05:44,690 以约两个 半小时,以打印。 118 00:05:44,690 --> 00:05:47,840 即使是iPhone的支架了 在一个半小时进行打印。 119 00:05:47,840 --> 00:05:51,490 什么郑毅然不顾 成立于前面一个不错的摄像头 120 00:05:51,490 --> 00:05:55,580 这款3D打印机,拍摄了一个小时 半为安塞尔的设计印刷。 121 00:05:55,580 --> 00:05:58,090 我们覆盖一些性感 音乐给它,以便 122 00:05:58,090 --> 00:06:00,570 给你这个看 如何3D打印作品。 123 00:06:00,570 --> 00:06:02,494 即使这 实际上是在塑料, 124 00:06:02,494 --> 00:06:05,160 认识到,如果这是一个区域 学术兴趣的你, 125 00:06:05,160 --> 00:06:07,120 还有人,其中 他们詹妮弗·刘易斯在这里 126 00:06:07,120 --> 00:06:09,036 在学校 工程,谁是真正 127 00:06:09,036 --> 00:06:10,920 从事3D打印 塑料对象。 128 00:06:10,920 --> 00:06:14,150 但是,即使越来越多, 生物材料来解决 129 00:06:14,150 --> 00:06:16,530 生理问题的人。 130 00:06:16,530 --> 00:06:19,944 但这里是一个小 一些来自CS50。 131 00:06:19,944 --> 00:06:31,625 >> [响亮机械性干扰] 132 00:06:31,625 --> 00:06:34,250 戴维·J·马兰:这听起来并不 像,在现实中什么, 133 00:06:34,250 --> 00:06:37,240 但它更凉爽观看它 在这样的速度,和与该声音。 134 00:06:37,240 --> 00:06:40,000 >> 现在,在星期三,如何 没有我们首先来到这里的? 135 00:06:40,000 --> 00:06:43,345 我们开始谈论电脑 科学和我们问那是什么。 136 00:06:43,345 --> 00:06:46,470 它是关于一些东西, 有这么多不同的方向 137 00:06:46,470 --> 00:06:48,477 您可以在其中头 后像CS50课程。 138 00:06:48,477 --> 00:06:50,810 事实上,如果你捡到1 这些非官方的指南 139 00:06:50,810 --> 00:06:54,080 到CS外,该小册子 我们提供的,无论你是 140 00:06:54,080 --> 00:06:57,150 想着刚刚服用CS50, 或者是做中学, 141 00:06:57,150 --> 00:06:59,557 或者甚至集中 在CS中,也翻阅了。 142 00:06:59,557 --> 00:07:01,390 你会看到图 向端的 143 00:07:01,390 --> 00:07:04,950 显示了许多不同的方向 在CS中,你可以走了。 144 00:07:04,950 --> 00:07:09,030 >> 但是今天,我们将关注,再次对 真正的根本的观点之一, 145 00:07:09,030 --> 00:07:11,500 也许,在这里你有 输入问题, 146 00:07:11,500 --> 00:07:13,430 你必须从输出 的问题,你有 147 00:07:13,430 --> 00:07:17,420 与创建算法 这些产出从这些投入。 148 00:07:17,420 --> 00:07:20,330 和一个这样的例子,是 当然,这款手机的书在这里。 149 00:07:20,330 --> 00:07:24,180 与我们用作示例,以去 通过一种算法是正确的。 150 00:07:24,180 --> 00:07:26,490 然后另一位是 正确的,但有点快。 151 00:07:26,490 --> 00:07:29,448 然后另外一个,是一个小 更戏剧化,但是从根本上 152 00:07:29,448 --> 00:07:30,000 快。 153 00:07:30,000 --> 00:07:32,720 >> 没错,这电话簿我们 声称有大约1000页。 154 00:07:32,720 --> 00:07:36,200 和多少次我 撕电话簿一半 155 00:07:36,200 --> 00:07:39,930 找一个像迈克·史密斯, 最大,1000页的书? 156 00:07:39,930 --> 00:07:41,040 因此,10给予或采取。 157 00:07:41,040 --> 00:07:45,050 所以一旦我在撕这个东西 上半年,或者简单地说,更成熟, 158 00:07:45,050 --> 00:07:48,490 分成两半,这只是 10页出1000。 159 00:07:48,490 --> 00:07:51,470 如果你浮想联翩,一点点 不切实际的电话本, 160 00:07:51,470 --> 00:07:56,540 但如果电话簿中有一些4 十亿网页中,所以完全 161 00:07:56,540 --> 00:07:59,680 笨重的身体,有多少 次你分4十亿 162 00:07:59,680 --> 00:08:01,460 页电话簿的一半? 163 00:08:01,460 --> 00:08:03,035 因此,它实际上是32,给予或采取。 164 00:08:03,035 --> 00:08:07,090 只有如此,32倍,出 四十亿的网页,可以 165 00:08:07,090 --> 00:08:08,700 你找一个像迈克·史密斯。 166 00:08:08,700 --> 00:08:09,740 这就是效率。 167 00:08:09,740 --> 00:08:12,130 这是一个很好的算法,敢说。 168 00:08:12,130 --> 00:08:14,480 >> 但是,我们从移动 尝试正规化了。 169 00:08:14,480 --> 00:08:16,100 我提出这个伪代码。 170 00:08:16,100 --> 00:08:17,800 伪代码是没有什么正式的。 171 00:08:17,800 --> 00:08:18,880 这不是你记住的东西。 172 00:08:18,880 --> 00:08:21,588 这是你表达的东西只是 相当直观地使用英语, 173 00:08:21,588 --> 00:08:24,990 或任何语言真的,那 简洁地传达你的想法。 174 00:08:24,990 --> 00:08:26,990 但是,什么是对的关键 伪代码是你 175 00:08:26,990 --> 00:08:30,331 试图预测所有的 可能发生的可能情况。 176 00:08:30,331 --> 00:08:33,080 事实上,在这个伪 码,真有3案件 177 00:08:33,080 --> 00:08:34,700 每次我把电话簿。 178 00:08:34,700 --> 00:08:36,006 麦克可能是到左边。 179 00:08:36,006 --> 00:08:37,130 麦克可能是正确的。 180 00:08:37,130 --> 00:08:39,240 或者,他可能是对的,我在网​​页上。 181 00:08:39,240 --> 00:08:42,110 或第四角的情况下,可以这么说。 182 00:08:42,110 --> 00:08:46,470 坏的情况可能是1 which--发生了什么? 183 00:08:46,470 --> 00:08:48,860 迈克只是不 电话簿的。 184 00:08:48,860 --> 00:08:52,720 >> 而当节目crash--当苹果 和PC软件,你们跑 185 00:08:52,720 --> 00:08:56,400 在你的电脑有时 挂起或意外退出, 186 00:08:56,400 --> 00:08:59,770 这通常意味着,一些 程序员,像你这样的一些人很快, 187 00:08:59,770 --> 00:09:01,650 刚刚搞砸了,并取得了一定的失误。 188 00:09:01,650 --> 00:09:05,207 也许没有预料到的,也许有 没有迈克·史密斯在电话簿中。 189 00:09:05,207 --> 00:09:08,040 如果你并没有真正写 代码来处理这样的情况下, 190 00:09:08,040 --> 00:09:09,890 一般不可预测 事情都可能发生。 191 00:09:09,890 --> 00:09:10,960 你的机器会冻结。 192 00:09:10,960 --> 00:09:11,730 它可以重新启动。 193 00:09:11,730 --> 00:09:12,889 该程序可以退出。 194 00:09:12,889 --> 00:09:14,722 并且因此,所有的这些 愚蠢,你可以 195 00:09:14,722 --> 00:09:18,030 在你实际所遇到 生命只是使用电脑, 196 00:09:18,030 --> 00:09:20,710 将越来越多地只 通过这种直觉解释清楚 197 00:09:20,710 --> 00:09:24,920 而这种理解是什么 究竟要在引擎盖下方。 198 00:09:24,920 --> 00:09:27,329 >> 现在,让我们尝试看看 在更普遍的问题。 199 00:09:27,329 --> 00:09:29,120 而不是采取 出席在这样的地方 200 00:09:29,120 --> 00:09:32,230 这一点,这将是相当缓慢 做一,二,三,四。 201 00:09:32,230 --> 00:09:34,070 或者,也许二,四,六,八。 202 00:09:34,070 --> 00:09:36,080 让我们关注,相反,对 我们如何正式 203 00:09:36,080 --> 00:09:39,400 该过程由算法 我们可能需要出席。 204 00:09:39,400 --> 00:09:42,290 而一路走来,让我们开始 运用一些术语 205 00:09:42,290 --> 00:09:47,130 我们将在我们实际使用的今天 开始在语言编程。 206 00:09:47,130 --> 00:09:50,910 所以,我给你了,一个四分钟的录像 我们把与我们的朋友 207 00:09:50,910 --> 00:09:52,820 从TED的组织。 208 00:09:52,820 --> 00:09:56,380 由此,我们提供的脚本, 他们带来了他们的动画师来承担, 209 00:09:56,380 --> 00:10:00,970 居然创造了2D 动画什么的算法。 210 00:10:00,970 --> 00:10:02,776 如果我们能够把灯光调暗。 211 00:10:02,776 --> 00:10:06,664 >> [音乐播放] 212 00:10:06,664 --> 00:10:17,890 213 00:10:17,890 --> 00:10:19,140 旁白:什么是算法? 214 00:10:19,140 --> 00:10:21,620 在计算机科学中, 一种算法是一组 215 00:10:21,620 --> 00:10:24,840 指令解析 有些问题,一步一步的。 216 00:10:24,840 --> 00:10:27,310 通常情况下,算法 由计算机执行的, 217 00:10:27,310 --> 00:10:29,365 但是我们人类有算法为好。 218 00:10:29,365 --> 00:10:31,240 举例来说,又怎么会 你去计算 219 00:10:31,240 --> 00:10:32,990 人在一个房间里有多少? 220 00:10:32,990 --> 00:10:36,840 好吧,如果你像我一样,你可能 在每个人一个点在一个时间 221 00:10:36,840 --> 00:10:38,370 从零计数。 222 00:10:38,370 --> 00:10:41,200 一个,两个,三个,四个,等等。 223 00:10:41,200 --> 00:10:42,410 嗯,这是一种算法。 224 00:10:42,410 --> 00:10:45,820 事实上,让我们试着来表达它 在伪代码位更正式。 225 00:10:45,820 --> 00:10:48,940 英语的语法, 类似的编程语言。 226 00:10:48,940 --> 00:10:50,880 >> 设n等于0。 227 00:10:50,880 --> 00:10:55,210 每个人在房间里, n设置等于n加1。 228 00:10:55,210 --> 00:10:56,790 如何解释伪? 229 00:10:56,790 --> 00:10:59,490 以及行一个声明, 可以这么说,一个变量 230 00:10:59,490 --> 00:11:02,880 所谓n和初始化 其值设置为0这只是 231 00:11:02,880 --> 00:11:05,080 意味着在 开始我们的算法, 232 00:11:05,080 --> 00:11:07,910 东西与我们 计数为0的值。 233 00:11:07,910 --> 00:11:10,860 毕竟,在我们开始之前计数 我们还没有算什么呢。 234 00:11:10,860 --> 00:11:13,580 调用该变量 n是只是一个约定。 235 00:11:13,580 --> 00:11:15,130 我可以把它叫做任何东西。 236 00:11:15,130 --> 00:11:17,460 现在,两线demarks 一个循环的开始, 237 00:11:17,460 --> 00:11:20,550 一系列的步骤,这将 重复的次数一定数目。 238 00:11:20,550 --> 00:11:24,130 因此,在我们的例子中,一步我们 服用计数的人在房间里。 239 00:11:24,130 --> 00:11:26,260 下面一行二是行 3,描述 240 00:11:26,260 --> 00:11:28,400 究竟如何,我们会去计算。 241 00:11:28,400 --> 00:11:31,720 压痕暗示 这是一行三人,将重复。 242 00:11:31,720 --> 00:11:35,190 所以用伪代码 说的是,从0开始后, 243 00:11:35,190 --> 00:11:38,940 每个人在 房间我们将增加1Ñ 244 00:11:38,940 --> 00:11:41,310 现在是该算法正确吗? 245 00:11:41,310 --> 00:11:42,820 好吧,让我们在这砰了一下。 246 00:11:42,820 --> 00:11:45,520 >> 它是否有工作 两个人在房间里? 247 00:11:45,520 --> 00:11:46,420 让我们来看看。 248 00:11:46,420 --> 00:11:48,500 在一行,我们初始化n至0。 249 00:11:48,500 --> 00:11:51,910 对于这两种人, 我们再递增1Ñ。 250 00:11:51,910 --> 00:11:55,570 因此,在通过第一个行程 循环中,我们更新N从0到1。 251 00:11:55,570 --> 00:11:59,320 上通过该第二跳闸 同样的循环中,我们更新N从1到2。 252 00:11:59,320 --> 00:12:02,850 因此,通过该算法的 端,n为2,这 253 00:12:02,850 --> 00:12:04,950 确实符合数 人在房间里。 254 00:12:04,950 --> 00:12:06,040 到目前为止,一切都很好。 255 00:12:06,040 --> 00:12:07,870 >> 怎么样一个角落的情况下,虽然? 256 00:12:07,870 --> 00:12:11,090 假设有0人 在除了我的room--,谁的 257 00:12:11,090 --> 00:12:12,420 做计数。 258 00:12:12,420 --> 00:12:15,380 在一行中,我们重新初始化n至0。 259 00:12:15,380 --> 00:12:17,810 不过这一次,行 3不执行在所有 260 00:12:17,810 --> 00:12:19,610 因为没有一个人在房间里。 261 00:12:19,610 --> 00:12:23,540 因此n仍然是0,这确实符合 的人在房间的数目。 262 00:12:23,540 --> 00:12:24,670 很简单,对不对? 263 00:12:24,670 --> 00:12:27,880 但人们计算一次 是非常低效的,也没有? 264 00:12:27,880 --> 00:12:29,160 当然,我们可以做的更好。 265 00:12:29,160 --> 00:12:33,440 为什么不能算两个人的时间, 而不是数一,二,三, 266 00:12:33,440 --> 00:12:36,470 四,五,六,七, 8,等等。 267 00:12:36,470 --> 00:12:39,106 为什么不指望二,四, 六,八等? 268 00:12:39,106 --> 00:12:40,670 它甚至听起来更快。 269 00:12:40,670 --> 00:12:41,940 它肯定是。 270 00:12:41,940 --> 00:12:44,490 >> 让我们来表达这种优化 在伪代码。 271 00:12:44,490 --> 00:12:46,040 设n等于0。 272 00:12:46,040 --> 00:12:50,760 对于每对人 房间里,将n设置等于n加2。 273 00:12:50,760 --> 00:12:52,360 很简单的改变,对吗? 274 00:12:52,360 --> 00:12:56,560 而不是指望人一次, 我们不是指望他们每次两个。 275 00:12:56,560 --> 00:12:59,240 这个算法的,因此 快两倍的最后。 276 00:12:59,240 --> 00:13:00,530 但它是正确的? 277 00:13:00,530 --> 00:13:01,160 让我们来看看。 278 00:13:01,160 --> 00:13:03,580 它是否有工作 两个人在房间里? 279 00:13:03,580 --> 00:13:05,800 在线路之一,我们初始化n至0。 280 00:13:05,800 --> 00:13:09,160 该1对人, 我们再由2递增ñ。 281 00:13:09,160 --> 00:13:11,910 因此,该算法的 端,n是2,这 282 00:13:11,910 --> 00:13:13,910 确实符合数 人在房间里。 283 00:13:13,910 --> 00:13:16,610 >> 假设下一个有 零人在房间里。 284 00:13:16,610 --> 00:13:19,080 在一行,我们初始化n至0。 285 00:13:19,080 --> 00:13:21,260 和以前一样,三号线 不执行这一切 286 00:13:21,260 --> 00:13:25,270 因为没有任何对人 在房间里,并因此n保持为0。 287 00:13:25,270 --> 00:13:27,840 这确实符合 人在房号。 288 00:13:27,840 --> 00:13:30,520 但是,如果有 三个人在房间里? 289 00:13:30,520 --> 00:13:32,380 请问这个算法的票价? 290 00:13:32,380 --> 00:13:35,710 让我们来看看,在一行一个, 我们初始化n至0。 291 00:13:35,710 --> 00:13:39,140 对于一对的那些人, 我们再由2递增ñ。 292 00:13:39,140 --> 00:13:40,050 但是然后呢? 293 00:13:40,050 --> 00:13:42,340 没有另一个满 对的人在房间里, 294 00:13:42,340 --> 00:13:44,430 所以二线不再适用。 295 00:13:44,430 --> 00:13:48,790 因此通过此算法结束时, 由于仍然是n 2,它是不正确的。 296 00:13:48,790 --> 00:13:52,070 事实上,这种算法的,以说 是越野车,因为它有一个错误。 297 00:13:52,070 --> 00:13:54,070 >> 让我们用一些补救 新的伪代码。 298 00:13:54,070 --> 00:13:56,110 设n等于0。 299 00:13:56,110 --> 00:14:00,790 对于每对人 房间里,集合N等于n加2。 300 00:14:00,790 --> 00:14:05,410 如果一个人仍然未成, 将N等于n加1。 301 00:14:05,410 --> 00:14:09,340 为了解决这个问题,我们已经 符合四个条件介绍, 302 00:14:09,340 --> 00:14:12,120 否则,所谓的 分支,即只执行 303 00:14:12,120 --> 00:14:14,890 如果有一个人,我们 不能配对另一回事。 304 00:14:14,890 --> 00:14:17,140 所以现在,无论是 有一或三个 305 00:14:17,140 --> 00:14:21,550 或者人在房间的任何奇数, 该算法现在指望他们。 306 00:14:21,550 --> 00:14:22,810 我们可以做的更好呢? 307 00:14:22,810 --> 00:14:25,890 好了,我们可以在三分球数, 或四肢,甚至五元和十, 308 00:14:25,890 --> 00:14:29,390 但除此之外,它会得到 一点点的困难点。 309 00:14:29,390 --> 00:14:32,900 >> 在一天结束时,是否 通过电脑或人执行, 310 00:14:32,900 --> 00:14:34,870 算法只是 的一组指令 311 00:14:34,870 --> 00:14:36,560 与解决问题。 312 00:14:36,560 --> 00:14:38,360 这些都是只有三个。 313 00:14:38,360 --> 00:14:41,860 有什么问题,你会 有一个算法解决? 314 00:14:41,860 --> 00:14:44,261 >> 戴维·J·马兰:那么刻意, 一个非常简单的程序, 315 00:14:44,261 --> 00:14:46,260 一个很简单的算法, 为实现东西 316 00:14:46,260 --> 00:14:48,280 很简单,计数 人在房号。 317 00:14:48,280 --> 00:14:50,370 >> 但是,让我们梳理出 一些代表性的 318 00:14:50,370 --> 00:14:52,870 这里的特点是实际 去,即使是有用的 319 00:14:52,870 --> 00:14:54,880 实施最 软件的复杂。 320 00:14:54,880 --> 00:14:58,060 因此,例如,在该第一线, 我们有我们所说的变量, 321 00:14:58,060 --> 00:15:01,040 从代数,你 使用X和Y一般熟悉 322 00:15:01,040 --> 00:15:02,930 和z有时,等等。 323 00:15:02,930 --> 00:15:05,770 但在编程中,变量 仍然,在一天结束时, 324 00:15:05,770 --> 00:15:06,680 非常相似。 325 00:15:06,680 --> 00:15:09,910 但是,这也许是简单的思考 一个变量只是一个容器。 326 00:15:09,910 --> 00:15:13,520 并且,事实上,它是比特的一些数 在你的硬盘上莫名其妙地实施 327 00:15:13,520 --> 00:15:16,410 或在您的计算机的内存, 但上,在未来更多。 328 00:15:16,410 --> 00:15:17,670 这只是一个容器。 329 00:15:17,670 --> 00:15:20,310 如果你说的东西 如令n等于0, 330 00:15:20,310 --> 00:15:24,310 嗯,这就像调用这个玻璃 碗在这里N,只是一个任意名称, 331 00:15:24,310 --> 00:15:26,230 并把没有在它最初。 332 00:15:26,230 --> 00:15:28,940 因此,其值 碗,现在是零。 333 00:15:28,940 --> 00:15:31,380 当然,如果你认为 在随后的行, 334 00:15:31,380 --> 00:15:35,070 实际增加了一些行 代码,如在这里三线, 335 00:15:35,070 --> 00:15:39,857 1,这等于是说有什么 n个电流值,它是0,加1, 336 00:15:39,857 --> 00:15:41,690 把东西像 乒乓球在这里。 337 00:15:41,690 --> 00:15:45,140 这个现在的价值 变量是很简单1。 338 00:15:45,140 --> 00:15:50,064 而且你可以非常快速地推断, 但现在是2,现在是3,依此类推。 339 00:15:50,064 --> 00:15:51,230 所以,这是所有的变量是。 340 00:15:51,230 --> 00:15:53,740 这是一块存储到 实际存储一些数据。 341 00:15:53,740 --> 00:15:55,050 现在它是一个乒乓球。 342 00:15:55,050 --> 00:15:55,883 在那里,它是一个数字。 343 00:15:55,883 --> 00:15:58,910 但它可能是一个字 字典,像拼写检查 344 00:15:58,910 --> 00:16:02,300 我提到在周三的 一个去年的习题集。 345 00:16:02,300 --> 00:16:05,640 >> 现在,另一个关键的想法,那同样 很直观的,我主张, 346 00:16:05,640 --> 00:16:06,690 是循环的。 347 00:16:06,690 --> 00:16:08,930 并在此过程中的循环 计算每个人的 348 00:16:08,930 --> 00:16:12,540 当然,在做同样的 再次件事,again--一方 349 00:16:12,540 --> 00:16:14,140 在一两次的时间。 350 00:16:14,140 --> 00:16:17,690 你也可以用英语表达这一点,或者 伪码的代码,在任何数量的方式, 351 00:16:17,690 --> 00:16:21,560 但使用这个介词“为” 是这样做的一个很常见的方式。 352 00:16:21,560 --> 00:16:24,460 每个人在房间里,做到这一点。 353 00:16:24,460 --> 00:16:25,350 一遍又一遍。 354 00:16:25,350 --> 00:16:27,700 而事实上,它的 缩进,一行三人, 355 00:16:27,700 --> 00:16:29,840 只是意味着什么 你应该做的 356 00:16:29,840 --> 00:16:33,490 是的缩进的东西 线下2本身。 357 00:16:33,490 --> 00:16:35,590 只是一个人的约定, 但常见的一种 358 00:16:35,590 --> 00:16:39,010 我们将在实际的高看 高级编程语言。 359 00:16:39,010 --> 00:16:41,870 >> 现在有点更有趣的是 当你在一个角落里的情况下得到的。 360 00:16:41,870 --> 00:16:43,970 例如,一个角 情况是当有 361 00:16:43,970 --> 00:16:48,060 三个人,或五,七年, 或者人在房间的任何奇数, 362 00:16:48,060 --> 00:16:51,630 因为这样做,通过两两闸 最终,因为你去 363 00:16:51,630 --> 00:16:54,265 错过一个人,无论是在 一开始或尽头 364 00:16:54,265 --> 00:16:55,390 这取决于你怎么做。 365 00:16:55,390 --> 00:16:59,800 所以,现在,我有这个分支,或 条件下,如果一个人保持, 366 00:16:59,800 --> 00:17:04,490 然后继续前进,处理一个 寂寞的人谁没有得到 367 00:17:04,490 --> 00:17:05,690 搭配了别人。 368 00:17:05,690 --> 00:17:09,030 所以,这就是我们所说 的条件,或一个分支。 369 00:17:09,030 --> 00:17:11,500 >> 现在伪代码 更一般地可以是 370 00:17:11,500 --> 00:17:13,730 写入解决任何数量的问题。 371 00:17:13,730 --> 00:17:16,490 而我以为我们会 这里做的是花点时间 372 00:17:16,490 --> 00:17:20,089 邀请我们应该说CS50的 自己抢鲍登在舞台上 373 00:17:20,089 --> 00:17:25,040 由两名志愿者来参加, 谁不知道等待着。 374 00:17:25,040 --> 00:17:26,890 一只手去了,只要我说的。 375 00:17:26,890 --> 00:17:28,700 你怎么样的 结束了,上来吧。 376 00:17:28,700 --> 00:17:33,040 又有怎样的更远 走,怎么样在后面的方法。 377 00:17:33,040 --> 00:17:35,200 后排,加油了你的手。 378 00:17:35,200 --> 00:17:36,475 好吧,和你叫什么名字? 379 00:17:36,475 --> 00:17:36,960 >> 梅艳芳:梅艳芳。 380 00:17:36,960 --> 00:17:37,655 >> 戴维·J·马兰:梅艳芳。 381 00:17:37,655 --> 00:17:38,613 好吧,很高兴见到你。 382 00:17:38,613 --> 00:17:41,010 让我来给你介绍罗布鲍登。 383 00:17:41,010 --> 00:17:42,890 这是梅艳芳。 384 00:17:42,890 --> 00:17:44,033 而你叫什么名字? 385 00:17:44,033 --> 00:17:44,800 >> KIERSTEN:Kiersten 386 00:17:44,800 --> 00:17:46,020 >> 戴维·J·马兰:Kiersten。 387 00:17:46,020 --> 00:17:49,790 Kiersten,同比增长来吧, 满足罗布鲍登和安妮塔。 388 00:17:49,790 --> 00:17:51,036 很高兴认识你。 389 00:17:51,036 --> 00:17:52,160 KIERSTEN:很高兴见到你。 390 00:17:52,160 --> 00:17:53,368 戴维·J·马兰:好吧,罗布。 391 00:17:53,368 --> 00:17:54,650 罗伯鲍登:很高兴见到你。 392 00:17:54,650 --> 00:17:55,566 戴维·J·马兰:梅艳芳。 393 00:17:55,566 --> 00:17:56,520 KIERSTEN:梅艳芳嗨。 394 00:17:56,520 --> 00:17:58,686 戴维·J·马兰:还有你 数百名同学。 395 00:17:58,686 --> 00:18:02,490 所以,现在让我继续前进,拉 最多只是一个简单的程序在这里 396 00:18:02,490 --> 00:18:05,690 在Mac OS是会让我 其实记一些笔记下来。 397 00:18:05,690 --> 00:18:09,570 如果你们想每个取 在这些学校中有一个位置, 398 00:18:09,570 --> 00:18:16,360 让我继续前进,开始一个列表 的伪代码,如果你愿意。 399 00:18:16,360 --> 00:18:19,970 而我想在这里做, 最终的类型是适合你 400 00:18:19,970 --> 00:18:22,470 一些指令,我们的 观众其实是 401 00:18:22,470 --> 00:18:23,569 要背诵我们。 402 00:18:23,569 --> 00:18:25,860 让我继续前进,只是 更改为编号列表 403 00:18:25,860 --> 00:18:27,720 以匹配我们在那里做了。 404 00:18:27,720 --> 00:18:30,990 而我什么都做 你的帮助,是写一个程序 405 00:18:30,990 --> 00:18:34,620 伪代码,与 这些家伙会 406 00:18:34,620 --> 00:18:38,150 实施花生 酱和果冻三明治。 407 00:18:38,150 --> 00:18:40,880 因此,它可能是中肯的,以 展示一些东西你 408 00:18:40,880 --> 00:18:44,560 可能已经看到在互联网上 对于只是一个短暂的恼人的时刻。 409 00:18:44,560 --> 00:18:47,650 >> [音乐BUCKEWHEAT孩子们,“花生酱  果冻时代“] 410 00:18:47,650 --> 00:19:08,119 411 00:19:08,119 --> 00:19:08,910 戴维·J·马兰:确定。 412 00:19:08,910 --> 00:19:10,050 这是够了。 413 00:19:10,050 --> 00:19:12,690 所以在这里同时我有一个 对谷歌眼镜的 414 00:19:12,690 --> 00:19:16,500 我们把对CS50自己抢鲍登 看世界,通过他的眼睛。 415 00:19:16,500 --> 00:19:19,140 我们会尽全力在后 生产实际织 416 00:19:19,140 --> 00:19:23,100 什么罗布的画面是看到 现在,这个实际的演讲 417 00:19:23,100 --> 00:19:26,420 我们的两个视频 他身边的志愿者。 418 00:19:26,420 --> 00:19:28,480 那么,我该怎么办 是,我是打字员。 419 00:19:28,480 --> 00:19:31,849 我们这里的有目标 其实写程序 420 00:19:31,849 --> 00:19:34,640 与制作,最终, 花生酱和果冻三明治, 421 00:19:34,640 --> 00:19:37,680 但是这三个会做人 就好像它们是计算机。 422 00:19:37,680 --> 00:19:40,638 和计算机,在一天结束时, 其实是非常愚蠢的设备。 423 00:19:40,638 --> 00:19:44,432 他们是超级快,但他们只能 这样做,从字面上看,他们被告知的东西。 424 00:19:44,432 --> 00:19:46,890 你不能只是说做一个花生 酱和果冻三明治。 425 00:19:46,890 --> 00:19:48,640 你必须编写他们这样做。 426 00:19:48,640 --> 00:19:51,420 你要告诉他们 精确要做什么, 427 00:19:51,420 --> 00:19:54,400 少的东西去和可怕, 希望,可笑歪。 428 00:19:54,400 --> 00:19:57,460 >> 因此,随着中说,我们需要 一个电话,从观众 429 00:19:57,460 --> 00:19:59,440 什么应该加强 1是,如果目标位置 430 00:19:59,440 --> 00:20:01,356 为使花生 酱和果冻三明治。 431 00:20:01,356 --> 00:20:01,910 是吗? 432 00:20:01,910 --> 00:20:03,647 >> 听众:面包[听不清]囊中。 433 00:20:03,647 --> 00:20:05,230 戴维·J·马兰:打开面包袋。 434 00:20:05,230 --> 00:20:08,360 因此,如果这三个选手会 想继续做的,从字面上。 435 00:20:08,360 --> 00:20:12,394 打开面包袋。 436 00:20:12,394 --> 00:20:15,810 >> [听众LAUGHING] 437 00:20:15,810 --> 00:20:20,717 438 00:20:20,717 --> 00:20:22,300 戴维·J·马兰:让我们工作了。 439 00:20:22,300 --> 00:20:23,180 好吧。 440 00:20:23,180 --> 00:20:25,400 所以第二步,how-- 让我们借此进一步。 441 00:20:25,400 --> 00:20:26,480 是啊,在前面。 442 00:20:26,480 --> 00:20:27,240 >> 听众:[听不清]面包。 443 00:20:27,240 --> 00:20:27,735 >> 戴维·J·马兰:这是什么? 444 00:20:27,735 --> 00:20:28,836 >> 听众:取出面包。 445 00:20:28,836 --> 00:20:30,210 戴维·J·马兰:取出面包。 446 00:20:30,210 --> 00:20:31,190 同样简洁。 447 00:20:31,190 --> 00:20:33,667 谢谢。 448 00:20:33,667 --> 00:20:43,777 >> [掌声] 449 00:20:43,777 --> 00:20:44,860 戴维·J·马兰:就这样? 450 00:20:44,860 --> 00:20:48,830 好了,第二步是怎么回事 要取出面包。 451 00:20:48,830 --> 00:20:51,790 好吧,有人要 给我们一个较长的句子? 452 00:20:51,790 --> 00:20:52,640 别人? 453 00:20:52,640 --> 00:20:53,920 多一点[听不清]。 454 00:20:53,920 --> 00:20:54,810 没有,什么都没有了。 455 00:20:54,810 --> 00:20:56,094 是吗? 456 00:20:56,094 --> 00:20:58,900 >> 听众:将两个 片彼此相邻。 457 00:20:58,900 --> 00:21:03,575 >> 戴维·J·马兰:将两 片彼此相邻。 458 00:21:03,575 --> 00:21:06,420 >> [听众LAUGHING] 459 00:21:06,420 --> 00:21:09,590 >> 戴维·J·马兰:将两 片彼此相邻。 460 00:21:09,590 --> 00:21:11,334 第四步。 461 00:21:11,334 --> 00:21:12,816 是吗? 462 00:21:12,816 --> 00:21:14,792 >> 听众:你拿 手,将它轻轻地 463 00:21:14,792 --> 00:21:17,756 在花生酱盖子的顶部。 464 00:21:17,756 --> 00:21:19,710 >> [听众LAUGHING] 465 00:21:19,710 --> 00:21:21,710 听众:[听不清] 旁边的花生酱。 466 00:21:21,710 --> 00:21:21,870 戴维·J·马兰:什么? 467 00:21:21,870 --> 00:21:22,520 再说一遍。 468 00:21:22,520 --> 00:21:26,308 >> 听众:拧开盖子,把 它轻轻地旁边的花生酱。 469 00:21:26,308 --> 00:21:31,490 >> 戴维·J·马兰:把它轻轻 旁边的花生酱。 470 00:21:31,490 --> 00:21:37,770 471 00:21:37,770 --> 00:21:40,090 好了,进步。 472 00:21:40,090 --> 00:21:41,080 第五步。 473 00:21:41,080 --> 00:21:42,380 优秀的。 474 00:21:42,380 --> 00:21:43,261 是吗? 475 00:21:43,261 --> 00:21:44,163 >> 拿起刀子。 476 00:21:44,163 --> 00:21:46,380 477 00:21:46,380 --> 00:21:47,630 戴维·J·马兰:拿起刀子。 478 00:21:47,630 --> 00:21:52,320 479 00:21:52,320 --> 00:21:53,631 好吧,第六步。 480 00:21:53,631 --> 00:21:54,130 是吗? 481 00:21:54,130 --> 00:21:56,237 >> 听众:通过手柄握住刀。 482 00:21:56,237 --> 00:21:57,945 戴维·J·马兰:保持 刀的手柄。 483 00:21:57,945 --> 00:22:00,710 484 00:22:00,710 --> 00:22:03,230 用手柄握住刀。 485 00:22:03,230 --> 00:22:04,880 第七步。 486 00:22:04,880 --> 00:22:05,692 是吗? 487 00:22:05,692 --> 00:22:10,030 >> 听众:[听不清]刀花生 黄油和​​尽量少出[听不清]。 488 00:22:10,030 --> 00:22:13,070 >> 戴维·J·马兰:将刀in--í 听到“花生酱放刀 489 00:22:13,070 --> 00:22:19,500 并采取尽量少出去越好。“ 490 00:22:19,500 --> 00:22:22,480 顺便说一句,第一个将纸取出。 491 00:22:22,480 --> 00:22:29,320 492 00:22:29,320 --> 00:22:31,890 好吧,第九步。 493 00:22:31,890 --> 00:22:34,910 第九步。 494 00:22:34,910 --> 00:22:35,624 第九步。 495 00:22:35,624 --> 00:22:37,290 我们还没有真正做一个三明治呢。 496 00:22:37,290 --> 00:22:37,790 是吗? 497 00:22:37,790 --> 00:22:41,570 听众:在花生酱使用刀, 适用于所述面包花生酱。 498 00:22:41,570 --> 00:22:47,440 >> 戴维·J·马兰:使用刀 花生酱,适用于花生酱 499 00:22:47,440 --> 00:22:48,736 说面包。 500 00:22:48,736 --> 00:22:56,030 >> [听众LAUGHING] 501 00:22:56,030 --> 00:22:59,480 戴维·J·马兰:好步10。 502 00:22:59,480 --> 00:23:01,762 步骤10。 503 00:23:01,762 --> 00:23:02,750 是吗? 504 00:23:02,750 --> 00:23:05,220 >> 听众:花生味 黄油,以保证质量。 505 00:23:05,220 --> 00:23:15,960 >> [听众LAUGHING] 506 00:23:15,960 --> 00:23:16,960 戴维·J·马兰:步骤11。 507 00:23:16,960 --> 00:23:19,500 508 00:23:19,500 --> 00:23:21,340 第11步。 509 00:23:21,340 --> 00:23:22,101 第11步。 510 00:23:22,101 --> 00:23:22,600 来吧。 511 00:23:22,600 --> 00:23:23,099 是吗? 512 00:23:23,099 --> 00:23:24,208 就在那里。 513 00:23:24,208 --> 00:23:25,840 >> 听众:小心拿起果冻。 514 00:23:25,840 --> 00:23:28,220 >> 戴维·J·马兰:小心地拿起果冻。 515 00:23:28,220 --> 00:23:29,970 单击确定,然后另一只手小涨。 516 00:23:29,970 --> 00:23:32,812 517 00:23:32,812 --> 00:23:33,520 后面你。 518 00:23:33,520 --> 00:23:35,761 是啊,在蓝色的。 519 00:23:35,761 --> 00:23:40,671 >> 听众:好吧,取出 从[听不清],是盖子, 520 00:23:40,671 --> 00:23:42,635 从果冻取出盖子。 521 00:23:42,635 --> 00:23:43,617 >> [听众LAUGHING] 522 00:23:43,617 --> 00:23:44,742 >> 戴维·J·马兰:从果冻。 523 00:23:44,742 --> 00:23:45,581 呵呵。 524 00:23:45,581 --> 00:23:48,967 >> [听众LAUGHING] 525 00:23:48,967 --> 00:23:49,800 戴维·J·马兰:然后呢? 526 00:23:49,800 --> 00:23:52,490 听众:勉强 扫任[听不清]。 527 00:23:52,490 --> 00:23:59,536 [听众LAUGHING] 528 00:23:59,536 --> 00:24:04,456 听众:当然,在[听不清] 从果冻取出纸张。 529 00:24:04,456 --> 00:24:06,940 戴维·J·马兰:从果冻取出纸张。 530 00:24:06,940 --> 00:24:08,229 步骤14。 531 00:24:08,229 --> 00:24:09,020 我们快到了。 532 00:24:09,020 --> 00:24:09,857 是吗? 533 00:24:09,857 --> 00:24:12,600 >> 听众:反转果冻瓶 一切才掉下来。 534 00:24:12,600 --> 00:24:16,515 >> 戴维·J·马兰:反转果冻 果冻瓶之前掉下来。 535 00:24:16,515 --> 00:24:19,070 536 00:24:19,070 --> 00:24:19,890 第15步。 537 00:24:19,890 --> 00:24:21,130 >> 听众:盖上盖子。 538 00:24:21,130 --> 00:24:22,463 >> 戴维·J·马兰:更换上限。 539 00:24:22,463 --> 00:24:25,880 540 00:24:25,880 --> 00:24:28,190 步骤16。 541 00:24:28,190 --> 00:24:28,931 是吗? 542 00:24:28,931 --> 00:24:29,806 >> 听众:[听不清] 543 00:24:29,806 --> 00:24:34,109 544 00:24:34,109 --> 00:24:35,400 戴维·J·马兰:再说了。 545 00:24:35,400 --> 00:24:38,100 听众:取盖掉你的果冻。 546 00:24:38,100 --> 00:24:39,650 戴维·J·马兰:关你的果冻。 547 00:24:39,650 --> 00:24:43,720 548 00:24:43,720 --> 00:24:49,510 所以really--哎呀。 549 00:24:49,510 --> 00:24:50,420 来吧。 550 00:24:50,420 --> 00:24:51,740 盖上盖子。 551 00:24:51,740 --> 00:24:56,660 把cap--你说 从果冻取出帽。 552 00:24:56,660 --> 00:24:58,950 感觉我们是在一个位一个循环。 553 00:24:58,950 --> 00:24:59,640 步骤17。 554 00:24:59,640 --> 00:25:00,398 是吗? 555 00:25:00,398 --> 00:25:02,639 >> 听众:[听不清] 556 00:25:02,639 --> 00:25:03,930 戴维·J·马兰:再说了。 557 00:25:03,930 --> 00:25:05,150 听众:[听不清] 558 00:25:05,150 --> 00:25:07,835 戴维·J·马兰:回到step-- 559 00:25:07,835 --> 00:25:10,110 听众:[听不清] 560 00:25:10,110 --> 00:25:13,760 戴维·J·马兰:删除 盖从花生酱。 561 00:25:13,760 --> 00:25:14,492 是吗? 562 00:25:14,492 --> 00:25:16,430 >> 听众:删除所有的 果冻在面包上。 563 00:25:16,430 --> 00:25:19,040 >> 戴维·J·马兰:删除所有 在面包的果冻。 564 00:25:19,040 --> 00:25:25,372 565 00:25:25,372 --> 00:25:26,830 戴维·J·马兰:我们快到了。 566 00:25:26,830 --> 00:25:27,800 步骤19。 567 00:25:27,800 --> 00:25:30,250 >> 听众:去除多余的果冻。 568 00:25:30,250 --> 00:25:31,720 >> 戴维·J·马兰:哈哈,果冻。 569 00:25:31,720 --> 00:25:36,615 >> [掌声] 570 00:25:36,615 --> 00:25:39,240 戴维·J·马兰:你为什么不we-- 一个步骤把这个家。 571 00:25:39,240 --> 00:25:41,720 多一个步骤,然后 我们会为三明治。 572 00:25:41,720 --> 00:25:42,900 是吗? 573 00:25:42,900 --> 00:25:45,570 >> 听众:[听不清] 574 00:25:45,570 --> 00:25:50,704 >> 戴维·J·马兰:虽然任何三明治 remains--让我们缩进this--吃。 575 00:25:50,704 --> 00:25:56,400 >> [听众笑声] 576 00:25:56,400 --> 00:26:00,395 >> 戴维·J·马兰:好的,谢谢 您在这里我们的志愿者。 577 00:26:00,395 --> 00:26:06,150 >> [掌声} 578 00:26:06,150 --> 00:26:08,940 >> 戴维·J·马兰:我们有一些不错的 临别礼物,你们每一个人。 579 00:26:08,940 --> 00:26:14,350 你自己的花生酱,果冻, 和面包带回家。 580 00:26:14,350 --> 00:26:15,774 谢谢。 581 00:26:15,774 --> 00:26:17,118 >> KIERSTEN:谢谢。 582 00:26:17,118 --> 00:26:18,618 戴维·J·马兰:[听不清]欢迎。 583 00:26:18,618 --> 00:26:21,849 [掌声] 584 00:26:21,849 --> 00:26:24,390 戴维·J·马兰:所以,这是, 当然,一个可笑的例子。 585 00:26:24,390 --> 00:26:24,890 对不对? 586 00:26:24,890 --> 00:26:28,890 但它确实种揭示我们如何 人类只取清晰度是理所当然的。 587 00:26:28,890 --> 00:26:30,890 而事实上我一直 与另一个人, 588 00:26:30,890 --> 00:26:33,300 他或她只是知道你的意思。 589 00:26:33,300 --> 00:26:35,220 >> 电脑不会 要知道你的意思, 590 00:26:35,220 --> 00:26:37,430 即使当使用作为 我们今天要做的事, 591 00:26:37,430 --> 00:26:42,300 在划痕编程的东西,一拖 抗摔,拼图式的语言。 592 00:26:42,300 --> 00:26:44,310 即使是专为年轻 孩子,你有 593 00:26:44,310 --> 00:26:48,726 如此明确,所以用文字 你想你的程序做。 594 00:26:48,726 --> 00:26:50,600 现在,最终,我们 将要编程 595 00:26:50,600 --> 00:26:53,550 不是伪代码, 英语的语法, 596 00:26:53,550 --> 00:26:56,370 但是代码,或更正确地,源代码。 597 00:26:56,370 --> 00:26:59,260 源代码,仅仅是看中方式 描述你的代码实际上 598 00:26:59,260 --> 00:27:01,730 用键盘的写 不是英文本身。 599 00:27:01,730 --> 00:27:06,480 这是在C或Java或C + +或东西 这样,因为我们很快就会看到。 600 00:27:06,480 --> 00:27:09,510 >> 而事实上,只是为了吓唬 你们几个,乍一看, 601 00:27:09,510 --> 00:27:13,769 这是写在一个语言的程序 所谓C.但联合国人吓你们几个, 602 00:27:13,769 --> 00:27:15,560 你会完全 明白这是怎么回事 603 00:27:15,560 --> 00:27:18,980 来吧下星期一时 谈到这样的事情。 604 00:27:18,980 --> 00:27:20,510 坦率地说,这是一个较旧的语言。 605 00:27:20,510 --> 00:27:22,430 这是相当神秘的, 但它是代表 606 00:27:22,430 --> 00:27:26,120 大量的语言,这些天那 有很多的括号和大的 607 00:27:26,120 --> 00:27:28,630 括号和引号和分号。 608 00:27:28,630 --> 00:27:30,780 和很多这 语法的东西,是不是 609 00:27:30,780 --> 00:27:32,450 在所有智力有趣。 610 00:27:32,450 --> 00:27:35,790 事实上,它是一个完全分心 从最简单的想法 611 00:27:35,790 --> 00:27:37,370 这都盯着我们的脸。 612 00:27:37,370 --> 00:27:41,760 这个程序,你可能只是猜测, 打印到别人的电脑屏幕 613 00:27:41,760 --> 00:27:44,070 单词“你好逗号的世界。” 614 00:27:44,070 --> 00:27:44,860 就是这样。 615 00:27:44,860 --> 00:27:46,580 所以很明显,有 很多东西,这 616 00:27:46,580 --> 00:27:48,970 得到的方式 一些显而易见那里, 617 00:27:48,970 --> 00:27:52,490 但它会很快溜走 程,完全直观。 618 00:27:52,490 --> 00:27:55,617 >> 事实上,我们要做的事情 今天是提炼这个相当复杂 619 00:27:55,617 --> 00:27:58,950 看着节目,又你来 快速理解,但事 620 00:27:58,950 --> 00:27:59,710 要简单得多。 621 00:27:59,710 --> 00:28:01,640 远的不说,我们的意思。 622 00:28:01,640 --> 00:28:05,590 让我们画的是什么,我们的意思是一张图片, 这些拼图这里的方式。 623 00:28:05,590 --> 00:28:09,110 >> 因此,这是一个编程 语称为划伤。 624 00:28:09,110 --> 00:28:11,080 它是由麻省理工学院媒体实验室开发的。 625 00:28:11,080 --> 00:28:14,830 什么,你会在看到问题的设置为零, 这将在稍后公布,今晚, 626 00:28:14,830 --> 00:28:18,980 我们将让你去这个 这里scratch.mit.edu网址。 627 00:28:18,980 --> 00:28:20,940 他们有一个网页 通过该界面 628 00:28:20,940 --> 00:28:22,540 你会写你的第一个程序。 629 00:28:22,540 --> 00:28:25,330 或者那些你事先 的经验,你的第二个项目, 630 00:28:25,330 --> 00:28:28,090 但在一种环境,是 可能有点陌生,而 631 00:28:28,090 --> 00:28:32,930 将推动你创造的东西 使用这种非常直观的环境。 632 00:28:32,930 --> 00:28:35,940 >> 现在,我要在这里做 为开拓程序本身。 633 00:28:35,940 --> 00:28:41,911 它的存在不仅作为网页浏览器, 也可作为可下载的程序 634 00:28:41,911 --> 00:28:44,660 这样就可以真正使用它 如果你没有上网。 635 00:28:44,660 --> 00:28:46,743 而我要做到这一点 在这里,在桑德斯,只是 636 00:28:46,743 --> 00:28:49,580 如果Wi-Fi的不 配合超好。 637 00:28:49,580 --> 00:28:52,640 而我现在要做的就是点 这一计划的一些特点。 638 00:28:52,640 --> 00:28:55,720 所以,要清楚,我只是双 点击桌面上的图标, 639 00:28:55,720 --> 00:28:59,830 或者等价地去scratch.mit.edu, 而且它拉到这个窗口。 640 00:28:59,830 --> 00:29:01,650 这是一个编程环境。 641 00:29:01,650 --> 00:29:04,110 这是一个的软件, 我们的一些朋友在麻省理工学院 642 00:29:04,110 --> 00:29:08,850 写道,让我们和你写 在语言课程叫划伤。 643 00:29:08,850 --> 00:29:12,010 >> 现在,这恰好是一个 猫谁也叫刮 644 00:29:12,010 --> 00:29:13,890 这就是他的世界,他的生活。 645 00:29:13,890 --> 00:29:17,175 这就是舞台,可以这么说,那 矩形的左上角。 646 00:29:17,175 --> 00:29:18,800 他不必像一只猫。 647 00:29:18,800 --> 00:29:20,591 你可以让他看看 像什么,你 648 00:29:20,591 --> 00:29:23,700 可以有许多这样的子画面, 或字符,在一个程序中。 649 00:29:23,700 --> 00:29:27,450 同时,在这里就远 没错,是一个很大的空白石板。 650 00:29:27,450 --> 00:29:30,260 这是在哪里,在某一时刻, 我们要开始编程 651 00:29:30,260 --> 00:29:32,750 通过拖放 这些图形拼图 652 00:29:32,750 --> 00:29:35,300 这是对片 这里在中间。 653 00:29:35,300 --> 00:29:38,140 还有的方式比更多的人 我们将在这里花时间在课堂上 654 00:29:38,140 --> 00:29:40,080 因为你会发现, 他们都是相当直观。 655 00:29:40,080 --> 00:29:41,788 再次,它的设计 为了孩子,但我们 656 00:29:41,788 --> 00:29:45,759 用它来梳理出一些那些 的变量,循环的基本思路, 657 00:29:45,759 --> 00:29:48,050 条件,而且,很快,事情 如函数和事件 658 00:29:48,050 --> 00:29:51,810 和线程等花哨的东西,我们会 去之前就实际创建 659 00:29:51,810 --> 00:29:53,840 东西从头开始。 660 00:29:53,840 --> 00:29:54,810 双关语意。 661 00:29:54,810 --> 00:29:58,740 >> 现在,我要在这里做的是 点击不是运动,而是控制。 662 00:29:58,740 --> 00:30:01,400 而这仅仅是一个 这里 - 的分类 663 00:30:01,400 --> 00:30:03,150 我看到一个不同的 颜色设置块。 664 00:30:03,150 --> 00:30:05,030 但是要注意的几个熟悉的字眼。 665 00:30:05,030 --> 00:30:07,830 “如果”和“否则,如果”和“重复”。 666 00:30:07,830 --> 00:30:10,440 而且你可能已经猜到 这让人想起了分公司, 667 00:30:10,440 --> 00:30:12,870 或条件下,我们看见了, 即使是循环结构。 668 00:30:12,870 --> 00:30:14,760 因此,我们有相似的块在这里。 669 00:30:14,760 --> 00:30:16,720 但最有趣的 一个是这个人在这里。 670 00:30:16,720 --> 00:30:20,690 当绿旗被点击, 这一点,对于那些事先编程 671 00:30:20,690 --> 00:30:23,110 经验,相当于 一个主要功能。 672 00:30:23,110 --> 00:30:25,300 但是,对于那些不熟悉的, 这是一块拼图 673 00:30:25,300 --> 00:30:27,320 这将开始踢我们的整个程序。 674 00:30:27,320 --> 00:30:31,350 它的字面意思是,当我走了,在这 程序,并单击绿色flag-- 675 00:30:31,350 --> 00:30:35,560 你可以在这里看到了在 左上角的UI, 676 00:30:35,560 --> 00:30:38,570 所以看到绿色标志 旁边的红色停止的迹象? 677 00:30:38,570 --> 00:30:41,475 当我点击的是,我 程序将运行。 678 00:30:41,475 --> 00:30:43,850 现在,我要做些什么 超级简单,划伤。 679 00:30:43,850 --> 00:30:46,640 我要继续前进 然后转到面板外观 680 00:30:46,640 --> 00:30:50,010 在这里,我在那里有一堆 紫色的拼图碎片, 681 00:30:50,010 --> 00:30:53,887 而我要继续前进,做 一些超级简单的像,说。 682 00:30:53,887 --> 00:30:55,720 和then--通知本 在白色框中的文本 683 00:30:55,720 --> 00:30:59,290 是editable--我要说 “你好世界”,就像我们 684 00:30:59,290 --> 00:31:01,470 在做文字 版本刚才。 685 00:31:01,470 --> 00:31:05,920 而现在,如果我去,然后单击此 绿旗,我现在已经编程。 686 00:31:05,920 --> 00:31:07,810 这不是一个特别 有趣的节目, 687 00:31:07,810 --> 00:31:09,760 但我做电脑做一些事情。 688 00:31:09,760 --> 00:31:13,120 我开始一个程序,它 做了什么,我告诉它做的事。 689 00:31:13,120 --> 00:31:16,170 现在,我可以继续拖拽 越来越多的这些拼图 690 00:31:16,170 --> 00:31:19,220 并且他们将互锁,但 让我们拍了一些术语这里 691 00:31:19,220 --> 00:31:21,680 我们会看到重复的 在整个过程中, 692 00:31:21,680 --> 00:31:24,610 真正在整个计算机科学 和编程更普遍。 693 00:31:24,610 --> 00:31:27,990 >> 这种“说”块,紫色,让我们 刚开始调用语句。 694 00:31:27,990 --> 00:31:29,240 这就像对事实的陈述。 695 00:31:29,240 --> 00:31:30,380 做到这一点。 696 00:31:30,380 --> 00:31:32,590 所以,这是一个类别 说明你 697 00:31:32,590 --> 00:31:36,760 可能养活一台电脑作为部分 的程序或算法。 698 00:31:36,760 --> 00:31:39,270 并且要清楚,你 可能是理所当然的 699 00:31:39,270 --> 00:31:41,930 你有你的计算机上的程序。 700 00:31:41,930 --> 00:31:45,850 而且他们的一种算法,但 节目真的是一堆算法 701 00:31:45,850 --> 00:31:47,160 有些人写的。 702 00:31:47,160 --> 00:31:49,040 它们包装起来,并 他们把它卖了,所以你, 703 00:31:49,040 --> 00:31:51,330 或者他们在网站上发布 供您下载。 704 00:31:51,330 --> 00:31:54,930 因此,程序仅仅是一个 一大堆的零和一 705 00:31:54,930 --> 00:31:56,970 ,不知何故,人类创造的。 706 00:31:56,970 --> 00:32:00,080 而那些零的模式和 那些代表的东西,最终, 707 00:32:00,080 --> 00:32:04,030 像“打招呼世界”或“戏 这样的音乐“或”播放此视频“ 708 00:32:04,030 --> 00:32:05,129 或“发送电子邮件。” 709 00:32:05,129 --> 00:32:06,920 但是,我们会回来的 方式更详细地什么 710 00:32:06,920 --> 00:32:08,780 程序是,当你, 自己,写他们。 711 00:32:08,780 --> 00:32:11,320 >> 这里的另一个statement-- “等待一秒钟。” 712 00:32:11,320 --> 00:32:14,330 我没有用这事,但是如果我想 我的计划暂停了一会儿 713 00:32:14,330 --> 00:32:16,540 做一些事情,我可以告诉它这样做。 714 00:32:16,540 --> 00:32:18,450 等待一秒钟。 715 00:32:18,450 --> 00:32:20,150 现在,另外一个可能是“播放声音”。 716 00:32:20,150 --> 00:32:23,270 所以,这是唯一的划痕,它 要播放声音的能力。 717 00:32:23,270 --> 00:32:26,130 因此,声明我可能 用法是,在这里,“播放声音”。 718 00:32:26,130 --> 00:32:29,530 与此同时,布尔表达式, 所以这是一个票友字 719 00:32:29,530 --> 00:32:34,490 刚刚任命布尔先生一个人的名字命名的, 这是所有关于一个问题。 720 00:32:34,490 --> 00:32:37,470 True或false--是鼠标按下? 721 00:32:37,470 --> 00:32:41,100 布尔表达式就是 一定的英语表达 722 00:32:41,100 --> 00:32:42,860 这是真或假。 723 00:32:42,860 --> 00:32:44,140 无论是打开或关闭。 724 00:32:44,140 --> 00:32:45,130 任一或零。 725 00:32:45,130 --> 00:32:46,960 你可以把它 在任何数量的方式, 726 00:32:46,960 --> 00:32:49,220 但它的真或 这个假的,最终。 727 00:32:49,220 --> 00:32:52,540 因此,“鼠标按下问号” 这将是一个布尔表达式。 728 00:32:52,540 --> 00:32:54,300 而你能想到别人,也许。 729 00:32:54,300 --> 00:32:57,510 例如,“是左数 比对数量少吗?“ 730 00:32:57,510 --> 00:32:59,410 这也将是 一个布尔表达式。 731 00:32:59,410 --> 00:33:01,540 “比少”是一个布尔表达式。 732 00:33:01,540 --> 00:33:03,280 >> 这一次也一样,“感人的鼠标指针。” 733 00:33:03,280 --> 00:33:05,196 我不知道他们为什么 称之为鼠标指针。 734 00:33:05,196 --> 00:33:08,430 它只是意味着,是光标,是 箭头在屏幕上,触摸猫, 735 00:33:08,430 --> 00:33:09,022 例如。 736 00:33:09,022 --> 00:33:10,480 或屏幕的其他一些方面。 737 00:33:10,480 --> 00:33:13,710 这是一个问题,又和 它表示一个布尔表达式。 738 00:33:13,710 --> 00:33:17,130 一些你可能 要在条件使用。 739 00:33:17,130 --> 00:33:19,100 所以我们得出这样在短短的一瞬间。 740 00:33:19,100 --> 00:33:20,350 您可以在“和”的东西放在一起。 741 00:33:20,350 --> 00:33:23,099 所以,如果你要检查,如果这 是这种情况,这是的情况下, 742 00:33:23,099 --> 00:33:25,580 你可以使用这样一个“和”块。 743 00:33:25,580 --> 00:33:26,850 而这里的这一条件。 744 00:33:26,850 --> 00:33:31,290 注意到小开口部的形状 在此黄色拼图块的顶部, 745 00:33:31,290 --> 00:33:34,480 这让人想起了形 我们刚刚看到了刚才。 746 00:33:34,480 --> 00:33:37,920 每个布尔表达式的 必须指出这些边缘 747 00:33:37,920 --> 00:33:39,030 在左侧和右侧。 748 00:33:39,030 --> 00:33:43,140 那是因为麻省理工学院的人决定 通过视觉传达的形状, 749 00:33:43,140 --> 00:33:45,780 种你能帮助的人, 学生和儿童的一致好评, 750 00:33:45,780 --> 00:33:47,650 种以填补空白字面上。 751 00:33:47,650 --> 00:33:49,780 >> 现在puzzle--了 开放是小了点, 752 00:33:49,780 --> 00:33:52,750 正如我们会在节目中看到的, 在刮,它会成长,以适应。 753 00:33:52,750 --> 00:33:54,830 它会保持其形状,最终。 754 00:33:54,830 --> 00:33:58,350 所以,一个条件让你决定 “我应该做的事没有?” 755 00:33:58,350 --> 00:34:00,470 布尔表达式 是实际的问题 756 00:34:00,470 --> 00:34:04,100 您使用的是决定我去 向左还是我去的权利 757 00:34:04,100 --> 00:34:06,710 当我遇到这样的 所谓的岔路口? 758 00:34:06,710 --> 00:34:07,980 你可以有两个分支。 759 00:34:07,980 --> 00:34:10,909 如果事情是真的,做 这一点,否则走那条路, 760 00:34:10,909 --> 00:34:14,590 或者你可以什么都不做 总之,由于此块暗示的保证。 761 00:34:14,590 --> 00:34:16,360 同样,我们可以嵌套这些东西。 762 00:34:16,360 --> 00:34:20,204 所以,如果你想增加两倍岔路口 路上,无论是干这干这干那, 763 00:34:20,204 --> 00:34:21,870 你可以嵌套这些东西放在一起。 764 00:34:21,870 --> 00:34:24,520 它开始变得有点 丑陋,最终肯定, 765 00:34:24,520 --> 00:34:26,120 但逻辑仍然是相同的。 766 00:34:26,120 --> 00:34:28,000 你可以从字面上读 这种从上到下 767 00:34:28,000 --> 00:34:33,290 它说,它是指:如果这 是真实的,否则,如果其他人这样做。 768 00:34:33,290 --> 00:34:36,179 >> 一个循环没有得到划痕简单。 769 00:34:36,179 --> 00:34:37,422 永远做到以下几点。 770 00:34:37,422 --> 00:34:39,880 现在,你可能会想到你 可以做多,因为有没有 771 00:34:39,880 --> 00:34:42,839 的顶部和之间的大的空间 这个拼图开放的底部。 772 00:34:42,839 --> 00:34:45,671 但你会看到划痕是要 成长,以适应尽可能多的拼图 773 00:34:45,671 --> 00:34:47,060 只要你想在那里临时抱佛脚。 774 00:34:47,060 --> 00:34:48,960 另一个循环可能 表示有重复。 775 00:34:48,960 --> 00:34:51,590 如果你事先知道,“我 想要做的事10次,“ 776 00:34:51,590 --> 00:34:54,010 你可以告诉划痕 做某事10倍。 777 00:34:54,010 --> 00:34:57,260 而且,与此同时,我们可以有变量。 778 00:34:57,260 --> 00:34:59,572 因此,这里的的任意一个, 它是橙色在这种情况下, 779 00:34:59,572 --> 00:35:00,780 这是一个旋风之旅。 780 00:35:00,780 --> 00:35:04,540 同样地,你会发现这非常接近 一旦你开始指向和点击。 781 00:35:04,540 --> 00:35:07,930 我叫我的变量n,但我 可以把它命名为任何我想要的, 782 00:35:07,930 --> 00:35:11,280 而我设置在这里,在 这个任意的例子中,零。 783 00:35:11,280 --> 00:35:14,250 >> 现在看到这样一个程序打招呼 世界是不是所有的吸引力, 784 00:35:14,250 --> 00:35:17,900 让我们真正开放的东西 一个以前的学生做。 785 00:35:17,900 --> 00:35:23,100 让我去进取,不断开拓, 例如,这个人在这里, 786 00:35:23,100 --> 00:35:26,780 为此,我会爱 有一个志愿者。 787 00:35:26,780 --> 00:35:28,450 好吧,怎么about--让我们走的更远。 788 00:35:28,450 --> 00:35:29,240 是的,上来吧。 789 00:35:29,240 --> 00:35:30,056 你叫什么名字? 790 00:35:30,056 --> 00:35:30,635 >> ABBY:艾比。 791 00:35:30,635 --> 00:35:32,010 戴维·J·马兰:艾比,上来吧。 792 00:35:32,010 --> 00:35:35,930 所以,你有没有玩过 本场比赛之前? 793 00:35:35,930 --> 00:35:36,430 女:第 794 00:35:36,430 --> 00:35:37,370 戴维·J·马兰:好吧。 795 00:35:37,370 --> 00:35:38,380 大卫,很高兴见到你。 796 00:35:38,380 --> 00:35:39,620 你过来吧。 797 00:35:39,620 --> 00:35:42,300 什么是你的编程 背景,如果有的话。 798 00:35:42,300 --> 00:35:43,914 >> 女:我已经学到了一些C + +。 799 00:35:43,914 --> 00:35:45,580 戴维·J·马兰:你已经学到了一些C + +。 800 00:35:45,580 --> 00:35:48,382 什么是你的游戏 打底色? 801 00:35:48,382 --> 00:35:49,505 >> 女:不是很多。 802 00:35:49,505 --> 00:35:51,130 戴维·J·马兰:好了,我们就买那种。 803 00:35:51,130 --> 00:35:52,700 因此,这里的游戏如何去上班。 804 00:35:52,700 --> 00:35:54,510 我要继续前进, 点击绿色的标志, 805 00:35:54,510 --> 00:35:55,830 就是在这里,在右上角。 806 00:35:55,830 --> 00:35:59,710 现在,你在课堂上的前辈 曾在这里给你一些指导。 807 00:35:59,710 --> 00:36:02,306 并在短短的一瞬间,它 说:“空间开始。” 808 00:36:02,306 --> 00:36:03,680 所以,尽管打空格键。 809 00:36:03,680 --> 00:36:05,507 >> 电脑游戏:皮卡丘。 810 00:36:05,507 --> 00:36:08,340 戴维·J·马兰:而且我们的目标是 捕捉食物,如描绘有 811 00:36:08,340 --> 00:36:09,320 在左侧。 812 00:36:09,320 --> 00:36:11,388 和[听不清] 813 00:36:11,388 --> 00:36:15,356 >> [游戏音乐播放] 814 00:36:15,356 --> 00:36:27,280 815 00:36:27,280 --> 00:36:29,610 >> 戴维·J·马兰:噢,好吧, 感谢您的播放。 816 00:36:29,610 --> 00:36:32,800 我们这里有一个小 临别礼物送给你。 817 00:36:32,800 --> 00:36:35,574 我们有CS50压力球, 如果你想选择。 818 00:36:35,574 --> 00:36:36,820 好了,好高兴见到你。 819 00:36:36,820 --> 00:36:39,680 感谢您的光临和挑战。 820 00:36:39,680 --> 00:36:42,410 821 00:36:42,410 --> 00:36:46,910 因此,我们有更多的压力球,所以 让我们做一个例子来激励。 822 00:36:46,910 --> 00:36:48,150 一名志愿者? 823 00:36:48,150 --> 00:36:50,510 好吧,怎么样 这里在前面。 824 00:36:50,510 --> 00:36:51,250 你叫什么名字? 825 00:36:51,250 --> 00:36:51,660 >> 辉立:菲利普。 826 00:36:51,660 --> 00:36:52,660 >> 戴维·J·马兰:菲利普。 827 00:36:52,660 --> 00:36:54,530 上来吧,菲利普。 828 00:36:54,530 --> 00:36:57,340 因此,菲利普将是 挑战与另一个游戏 829 00:36:57,340 --> 00:37:00,840 你的前辈之一 写作为问题的一部分设置为零, 830 00:37:00,840 --> 00:37:03,510 所谓的常春藤的最难的游戏。 831 00:37:03,510 --> 00:37:05,980 我们将看到在短短的 此刻什么意思了。 832 00:37:05,980 --> 00:37:07,400 菲利普,很高兴见到你。 833 00:37:07,400 --> 00:37:09,060 你是什​​么背景? 834 00:37:09,060 --> 00:37:10,310 辉立:做了很多编码。 835 00:37:10,310 --> 00:37:11,110 做一个小游戏了。 836 00:37:11,110 --> 00:37:11,570 >> 戴维·J·马兰:确定。 837 00:37:11,570 --> 00:37:12,620 有很多游戏了。 838 00:37:12,620 --> 00:37:14,230 和你以前玩过这个游戏? 839 00:37:14,230 --> 00:37:14,730 >> 辉立:无 840 00:37:14,730 --> 00:37:16,438 戴维·J·马兰:全部 对,所以在这里我们去。 841 00:37:16,438 --> 00:37:18,434 我要继续前进 并点击绿色旗帜。 842 00:37:18,434 --> 00:37:24,160 >> [游戏音乐] 843 00:37:24,160 --> 00:37:27,770 >> [音乐歌手哈默,“你无法触摸这个”] 844 00:37:27,770 --> 00:38:39,790 845 00:38:39,790 --> 00:38:41,635 >> 辉立:[听不清] 846 00:38:41,635 --> 00:38:42,760 戴维·J·马兰:[听不清] 847 00:38:42,760 --> 00:38:44,740 辉立:[听不清] 848 00:38:44,740 --> 00:38:49,056 (笑) 849 00:38:49,056 --> 00:38:50,680 [音乐歌手哈默,“你无法触摸这个”] 850 00:38:50,680 --> 00:38:52,660 戴维·J·马兰:[听不清] 犁过它。 851 00:38:52,660 --> 00:38:54,094 辉立:[听不清] 852 00:38:54,094 --> 00:38:55,135 戴维·J·马兰:来吧。 853 00:38:55,135 --> 00:39:01,570 [音乐歌手哈默,“你无法触摸这个”] 854 00:39:01,570 --> 00:39:15,832 855 00:39:15,832 --> 00:39:16,915 戴维·J·马兰:好吧。 856 00:39:16,915 --> 00:39:18,400 恭喜。 857 00:39:18,400 --> 00:39:25,150 >> [掌声] 858 00:39:25,150 --> 00:39:27,330 >> 戴维·J·马兰:我们将 后,网上这么晚 859 00:39:27,330 --> 00:39:29,820 您可以拖 用它。 860 00:39:29,820 --> 00:39:32,550 普林斯顿来到旁边,在那之后。 861 00:39:32,550 --> 00:39:35,470 >> 所以,现在让我们来实际进行 从头开始, 862 00:39:35,470 --> 00:39:39,310 可以这么说,真正建立之前, 我们可以梳理出其中的一些想法 863 00:39:39,310 --> 00:39:41,970 并获得了一些连 由端更复杂。 864 00:39:41,970 --> 00:39:45,240 我要在这里走,我要去 继续前进,创建一个新的文件。 865 00:39:45,240 --> 00:39:47,460 如此反复,问题集将走 你通过一些步骤。 866 00:39:47,460 --> 00:39:49,300 但是,我所做的就是去 在文件菜单中,我 867 00:39:49,300 --> 00:39:52,760 说:“新的”,那么像微软 字,或类似的任何程序。 868 00:39:52,760 --> 00:39:56,630 >> 让我们继续now--我们 实施的“Hello world”刚才, 869 00:39:56,630 --> 00:39:58,410 但让我们做的东西有点可爱。 870 00:39:58,410 --> 00:40:00,150 我要上去事件。 871 00:40:00,150 --> 00:40:02,350 而我要做的事情“的时候 绿旗点击。“ 872 00:40:02,350 --> 00:40:05,830 然后我会用, 我们可以说,一个分支。 873 00:40:05,830 --> 00:40:07,610 所以我想使用“如果”的状态。 874 00:40:07,610 --> 00:40:10,940 并注意如何,只要我靠近 它,它要一起捕捉。 875 00:40:10,940 --> 00:40:13,020 所以我放手咬合在一起。 876 00:40:13,020 --> 00:40:15,150 现在我可以做一些有趣的事情。 877 00:40:15,150 --> 00:40:19,150 如果我经过这里滚动,我要去 看到一大堆块。 878 00:40:19,150 --> 00:40:22,620 如果我去的“数据” - 让我放大in-- 也有一些是关于变量。 879 00:40:22,620 --> 00:40:26,160 如果我去“的议案,”你可以 显然扭转乾坤。 880 00:40:26,160 --> 00:40:28,760 如果我去“经营者” - 哦,这是有趣的, 881 00:40:28,760 --> 00:40:31,000 我可以选择一个随机数。 882 00:40:31,000 --> 00:40:34,119 因此,让我做一些事情,只有 一定的概率,只是因为。 883 00:40:34,119 --> 00:40:36,160 我要继续前进, 拖动这个拼图, 884 00:40:36,160 --> 00:40:37,910 这是小于 块,所以它只是 885 00:40:37,910 --> 00:40:39,480 “比那个这个数字少了?” 886 00:40:39,480 --> 00:40:42,438 但我不希望有一个硬编码数 因为这是相当没有意义的。 887 00:40:42,438 --> 00:40:46,270 所以,我要拖一段 在这里,并注意它是如何在捕捉, 888 00:40:46,270 --> 00:40:49,480 现在让我继续说:“如果 这是随机挑选的号码 889 00:40:49,480 --> 00:40:51,820 小于6,请执行以下操作“。 890 00:40:51,820 --> 00:40:52,790 现在为什么不到半年? 891 00:40:52,790 --> 00:40:56,400 什么概率这实际上是 去给我,只是凭直觉? 892 00:40:56,400 --> 00:40:57,440 约50%的,对不对? 893 00:40:57,440 --> 00:41:01,190 如果是这样的猜测随机数 在1和10之间的是小于6, 894 00:41:01,190 --> 00:41:03,480 显然这是一,二, 三,四,五。 895 00:41:03,480 --> 00:41:06,740 因此,这是怎么回事,给我一个 发生了什么50%的概率是多少? 896 00:41:06,740 --> 00:41:09,890 >> 好吧,让我们做这样的事情 对此,“播放声音喵。” 897 00:41:09,890 --> 00:41:11,750 并请注意,同样, 一块拼图增长 898 00:41:11,750 --> 00:41:13,700 适合的,只要该形状相匹配。 899 00:41:13,700 --> 00:41:14,910 这就是很重要的。 900 00:41:14,910 --> 00:41:18,000 让我走了过来划伤 在这里,点击“播放”。 901 00:41:18,000 --> 00:41:19,300 什么也没有发生。 902 00:41:19,300 --> 00:41:21,160 那是一个错误? 903 00:41:21,160 --> 00:41:21,999 没有,没有必要的。 904 00:41:21,999 --> 00:41:24,040 它可能只是一个 更大的数字被选中。 905 00:41:24,040 --> 00:41:25,762 因此,让我们再做一次。 906 00:41:25,762 --> 00:41:27,550 什么都没有。 907 00:41:27,550 --> 00:41:28,344 >> [喵] 908 00:41:28,344 --> 00:41:29,510 戴维·J·马兰:那不是。 909 00:41:29,510 --> 00:41:30,280 [喵] 910 00:41:30,280 --> 00:41:31,690 戴维·J·马兰:同样。 911 00:41:31,690 --> 00:41:32,300 号 912 00:41:32,300 --> 00:41:32,922 >> [喵喵叫] 913 00:41:32,922 --> 00:41:35,380 戴维·J·马兰:所以如果你 打过当然是游戏, 914 00:41:35,380 --> 00:41:38,500 那里的东西是随机发生的, 像坏人来不来 915 00:41:38,500 --> 00:41:41,350 即将于到屏幕上,或 事情正在下降或不下降, 916 00:41:41,350 --> 00:41:43,610 这只是因为一些超 简单的像这种情况的发生。 917 00:41:43,610 --> 00:41:46,010 选择一个随机数,如果 这是低于某个值, 918 00:41:46,010 --> 00:41:49,100 也许这样做也许做到这一点。 919 00:41:49,100 --> 00:41:51,340 我们可以将 在进入状态。 920 00:41:51,340 --> 00:41:52,600 让我们做不同的事情。 921 00:41:52,600 --> 00:41:53,559 >> 让我扔掉这些。 922 00:41:53,559 --> 00:41:56,058 您可以通过甩掉的东西 只需将其拖动到左侧 923 00:41:56,058 --> 00:41:56,810 和放手。 924 00:41:56,810 --> 00:42:00,310 让我继续前进,做一个永远的块 并很快做一些讨厌。 925 00:42:00,310 --> 00:42:03,010 让我继续前进, 说“播放声音喵。” 926 00:42:03,010 --> 00:42:06,620 但我不希望这是太 讨厌,所以让我抓住这个区块, 927 00:42:06,620 --> 00:42:09,090 “等待一秒钟,”和通知 还有它没有更多的空间。 928 00:42:09,090 --> 00:42:11,310 但是如果你去足够接近, 它想要去那里。 929 00:42:11,310 --> 00:42:14,100 所以我放手,它会 成长以填充块。 930 00:42:14,100 --> 00:42:15,932 所以,现在,这是一个循环。 931 00:42:15,932 --> 00:42:16,432 [喵喵叫] 932 00:42:16,432 --> 00:42:18,473 戴维·J·马兰:我 从字面上这样做下去。 933 00:42:18,473 --> 00:42:19,360 一遍又一遍。 934 00:42:19,360 --> 00:42:21,510 这是不自然的声音。 935 00:42:21,510 --> 00:42:24,800 让我继续前进,改变这种 到不一秒,两秒 936 00:42:24,800 --> 00:42:25,854 然后按Enter键。 937 00:42:25,854 --> 00:42:28,770 这有什么好看约划伤 你可以进行编程交互。 938 00:42:28,770 --> 00:42:32,450 做出改变,也许按Enter或播放 再次,它只会继续下去。 939 00:42:32,450 --> 00:42:34,962 好了,现在我们为什么不这样做 东西有点可爱? 940 00:42:34,962 --> 00:42:39,680 而不是从头开始做的一切, 让我去进取,不断开拓的进步 941 00:42:39,680 --> 00:42:43,180 做了一个,我预焙, 所谓的“宠物猫。” 942 00:42:43,180 --> 00:42:44,920 我们将发布所有 网上这些文件, 943 00:42:44,920 --> 00:42:48,464 与问题设置为零会告诉你 如何访问它们,并打开它们。 944 00:42:48,464 --> 00:42:49,880 并请注意,这是非常简单的。 945 00:42:49,880 --> 00:42:53,860 但在前进,我似乎已经抓住了 一个“永远”块,所以我有一个循环。 946 00:42:53,860 --> 00:42:55,500 然后我有一个“如果”的状态。 947 00:42:55,500 --> 00:42:57,410 我有一个布尔表达式。 948 00:42:57,410 --> 00:43:00,100 >> 因此,在英语,只是看了一眼 这一点,特别是如果你从来没有 949 00:43:00,100 --> 00:43:04,278 编程之前,只是凭直觉, 什么是该怎么办,这个方案? 950 00:43:04,278 --> 00:43:06,910 >> [听众颤振] 951 00:43:06,910 --> 00:43:09,960 >> 戴维·J·马兰:如果您的宠物猫, 猫会喵喵,对吧? 952 00:43:09,960 --> 00:43:14,560 因为“永远取消选中”在 将鼠标指针接触的猫。 953 00:43:14,560 --> 00:43:17,630 所以要清楚,我没有说 此之前,所有的这些难题 954 00:43:17,630 --> 00:43:20,750 片和脚本 我们结合成, 955 00:43:20,750 --> 00:43:25,510 可以这么说,脚本是同义词 计划,真的,就属于这种猫。 956 00:43:25,510 --> 00:43:30,110 其原因is--因为通知 怎么在这里猫一样被高亮显示, 957 00:43:30,110 --> 00:43:32,710 到这里,你可以创建一个 第二猫或狗或真 958 00:43:32,710 --> 00:43:33,970 任何你想要的图形。 959 00:43:33,970 --> 00:43:35,900 您可以导入一些 从Photoshop,或类似 960 00:43:35,900 --> 00:43:38,300 和整合的东西,如果你 要使它成为一个项目。 961 00:43:38,300 --> 00:43:40,174 而且你会发现, 最后,就是你 962 00:43:40,174 --> 00:43:44,800 可以添加脚本,加入拼图 件,单个字符。 963 00:43:44,800 --> 00:43:47,210 所以这些都属于 这个特别的猫。 964 00:43:47,210 --> 00:43:51,770 所以,现在如果我继续玩游戏 这个程序,什么也没有发生。 965 00:43:51,770 --> 00:43:52,970 但它正在运行。 966 00:43:52,970 --> 00:43:56,364 该计划是在这永远的循环, 那种等待的情况发生呢? 967 00:43:56,364 --> 00:43:57,230 >> [听众颤振] 968 00:43:57,230 --> 00:43:58,130 >> 戴维·J·马兰:为宠物猫。 969 00:43:58,130 --> 00:43:59,800 所以,如果我移动我的鼠标移向他 - 970 00:43:59,800 --> 00:44:02,420 >> [喵喵叫] 971 00:44:02,420 --> 00:44:04,450 >> 戴维·J·马兰:所以现在 我抚摸猫。 972 00:44:04,450 --> 00:44:07,330 同时,我们可以有一个双分支。 973 00:44:07,330 --> 00:44:10,370 让我继续前进,开 最多不宠猫。 974 00:44:10,370 --> 00:44:12,160 我们会发布这个网上也。 975 00:44:12,160 --> 00:44:16,760 这是一个多一点 复杂的,但不用说 976 00:44:16,760 --> 00:44:18,780 你也许可以猜到 什么事情要发生。 977 00:44:18,780 --> 00:44:20,160 >> [喵喵叫] 978 00:44:20,160 --> 00:44:23,900 >> 戴维·J·马兰:猫是 喵喵叫,盛大老的时候。 979 00:44:23,900 --> 00:44:26,690 但这个方案当然是 所谓“没有宠猫” 980 00:44:26,690 --> 00:44:29,350 这么清楚,我想给宠物猫。 981 00:44:29,350 --> 00:44:30,490 >> [咆哮] 982 00:44:30,490 --> 00:44:31,940 >> 戴维·J·马兰:不要宠物猫。 983 00:44:31,940 --> 00:44:34,230 现在,让我们一起来看看 在这里的另一个例子。 984 00:44:34,230 --> 00:44:38,035 这人会被称为 “嗨,嗨,嗨,”原因 985 00:44:38,035 --> 00:44:40,410 这将是明显的,因为 当我运行这个件事 - 986 00:44:40,410 --> 00:44:41,401 >> [SEAL吠] 987 00:44:41,401 --> 00:44:43,942 戴维·J·马兰:很容易 写恼人的划痕程序。 988 00:44:43,942 --> 00:44:45,300 [SEAL吠] 989 00:44:45,300 --> 00:44:48,540 戴维·J·马兰:现在我们不会去 成非常详细的所有的这些, 990 00:44:48,540 --> 00:44:51,150 但要注意有一个 几个在这里的新功能。 991 00:44:51,150 --> 00:44:55,540 有一个变量,被称为“静音” 然后有一堆条件。 992 00:44:55,540 --> 00:44:57,900 而现在,让我 只是逗你说 993 00:44:57,900 --> 00:45:03,170 如果这个家伙变得太烦人, 我打了空格键,他停止。 994 00:45:03,170 --> 00:45:05,880 由于角色所发挥 这两个脚本如下。 995 00:45:05,880 --> 00:45:08,510 其中之一是做 叫声每隔几秒钟。 996 00:45:08,510 --> 00:45:11,305 另一种是只等 对我来说,打空格键。 997 00:45:11,305 --> 00:45:14,780 如果我做打空格键, 这将改变 998 00:45:14,780 --> 00:45:18,096 这个变量的状态,则该值 这个变量,这显然是 999 00:45:18,096 --> 00:45:20,470 所谓的“静音”,我没有打电话 这无聊的东西像N, 1000 00:45:20,470 --> 00:45:22,370 我把它叫做一个英文单词,“静音”。 1001 00:45:22,370 --> 00:45:24,740 从1到0或从0到1。 1002 00:45:24,740 --> 00:45:26,830 从真到假或假为真。 1003 00:45:26,830 --> 00:45:28,930 所以你其实可以 看到现在,你 1004 00:45:28,930 --> 00:45:31,720 可以有两个剧本,二 程序同时运行,则 1005 00:45:31,720 --> 00:45:34,360 两个人都可能坐 在一个循环中做一些事情。 1006 00:45:34,360 --> 00:45:38,067 等待的人做 像打空格键。 1007 00:45:38,067 --> 00:45:38,650 [SEAL吠] 1008 00:45:38,650 --> 00:45:40,566 戴维·J·马兰:现在 他对他的方式了。 1009 00:45:40,566 --> 00:45:41,640 [SEAL吠] 1010 00:45:41,640 --> 00:45:45,220 戴维·J·马兰:那么还有什么 也许我们做这些的例子吗? 1011 00:45:45,220 --> 00:45:50,920 好吧,让我们继续前进,做一个 例如用数羊。 1012 00:45:50,920 --> 00:45:59,210 我们将继续沿着这一线路在这里 of--让我们打开了羊的例子。 1013 00:45:59,210 --> 00:46:02,460 并请注意,很像之前,这一次, 值得庆幸的是,是有点不太讨厌。 1014 00:46:02,460 --> 00:46:06,940 有一次,我打玩这里 - 哦,不,这是烦人。 1015 00:46:06,940 --> 00:46:10,130 他要咩 以某种概率。 1016 00:46:10,130 --> 00:46:11,050 让我们再次玩这个。 1017 00:46:11,050 --> 00:46:15,221 >> [羊BLEETING] 1018 00:46:15,221 --> 00:46:18,470 戴维·J·马兰:唯一的区别是 我们已经改变了装束,可以这么说, 1019 00:46:18,470 --> 00:46:21,710 我们正在减少一半,并说 什么是实际数量。 1020 00:46:21,710 --> 00:46:24,680 好吧,让我们继续前进, 借此更进一步。 1021 00:46:24,680 --> 00:46:28,190 让我逗你 这里另外一个功能。 1022 00:46:28,190 --> 00:46:31,800 让我们继续前进,开拓 一个程序称为线程。 1023 00:46:31,800 --> 00:46:36,620 所以,就像你可以有一个 精灵,有多个剧本, 1024 00:46:36,620 --> 00:46:41,250 您可以有两个精灵,在鸟 一只猫,各有自己的脚本。 1025 00:46:41,250 --> 00:46:43,976 他们每个人都可以 同时操作。 1026 00:46:43,976 --> 00:46:45,980 如果你曾经听说过 单词“多线程” 1027 00:46:45,980 --> 00:46:49,240 一台电脑是“多线程”的意思 它可以同时做多件事情, 1028 00:46:49,240 --> 00:46:50,880 而事实上,这样会划伤。 1029 00:46:50,880 --> 00:46:52,690 >> 而现在看到的鸟是种愚蠢的。 1030 00:46:52,690 --> 00:46:55,100 这只是做事随意, 反弹在屏幕上。 1031 00:46:55,100 --> 00:46:59,460 很明显,是猫被编程 那种有能力追求 1032 00:46:59,460 --> 00:47:02,680 以家中的鸟,因为 他总是指着他。 1033 00:47:02,680 --> 00:47:06,176 直到最后,他 抓住实际的鸟。 1034 00:47:06,176 --> 00:47:08,550 所以我不会在细节上纠缠 在这里,但你可以种 1035 00:47:08,550 --> 00:47:12,160 窥相同的形状,有些 “如果”的条件下,一些变量, 1036 00:47:12,160 --> 00:47:15,740 也许有些循环,是 最终做同样的事情。 1037 00:47:15,740 --> 00:47:18,400 >> 现在让我继续前进,开 别的东西完全, 1038 00:47:18,400 --> 00:47:20,920 逗你们有些人,特别是 那些更舒适, 1039 00:47:20,920 --> 00:47:22,760 你其实可以用这个做的。 1040 00:47:22,760 --> 00:47:26,080 我要继续前进 在这里打开按钮。 1041 00:47:26,080 --> 00:47:28,740 这是一个超级 简单看似程序, 1042 00:47:28,740 --> 00:47:34,190 但看会发生什么 当我 - 看什么 1043 00:47:34,190 --> 00:47:39,860 发生在我打开这个版本吧, 这里,在浏览器中,scratch.mit.edu。 1044 00:47:39,860 --> 00:47:43,460 当我点击这个大红色 按钮,看到发生了什么。 1045 00:47:43,460 --> 00:47:46,110 1046 00:47:46,110 --> 00:47:47,647 所以,这是怎么回事吗? 1047 00:47:47,647 --> 00:47:50,480 实际上,有很多更复杂 正在进行的引擎盖下面, 1048 00:47:50,480 --> 00:47:52,896 即使我实现 这一点,或者坦白地说,丹·布拉德利 1049 00:47:52,896 --> 00:47:54,660 已经实现了这个如此简单。 1050 00:47:54,660 --> 00:47:59,540 他设计了一个自定义的划痕难题 片,被称为划痕延伸, 1051 00:47:59,540 --> 00:48:01,300 他把它称为切换。 1052 00:48:01,300 --> 00:48:06,332 >> 什么拨动所做的就是把它发送 消息在互联网上。 1053 00:48:06,332 --> 00:48:08,290 而这消息本身 看起来有点神秘。 1054 00:48:08,290 --> 00:48:10,248 但是这也,你会 通过长期的明白到底。 1055 00:48:10,248 --> 00:48:14,930 他实际上发送消息 看起来有点像这样。 1056 00:48:14,930 --> 00:48:15,921 这只是文字。 1057 00:48:15,921 --> 00:48:16,420 隐秘。 1058 00:48:16,420 --> 00:48:19,130 你就会明白它的时候 我们得到的问题设置7。 1059 00:48:19,130 --> 00:48:22,180 这只是发送文本消息 在Internet上的服务器。 1060 00:48:22,180 --> 00:48:24,330 并且该服务器,最终, 谈到这个灯泡,其 1061 00:48:24,330 --> 00:48:27,240 有那些花哨的灯泡之一 在它的本身,是说 1062 00:48:27,240 --> 00:48:30,760 到了Wi-Fi网络中的位置, 其中本地设备下来这里 - 1063 00:48:30,760 --> 00:48:34,400 ,最终,它实际上 转向光开和关。 1064 00:48:34,400 --> 00:48:36,240 但是,我们可以做更多 有趣的事情还在。 1065 00:48:36,240 --> 00:48:38,270 注意什么丹也为我们所做的。 1066 00:48:38,270 --> 00:48:42,210 他做了多精灵,每个 其中有一个脚本,等待点击。 1067 00:48:42,210 --> 00:48:44,030 如果我按一下红色的,这是不言而喻的红色。 1068 00:48:44,030 --> 00:48:46,780 如果我得到的蓝色,它会偏蓝。 1069 00:48:46,780 --> 00:48:49,854 绿色,黄色,橙色。 1070 00:48:49,854 --> 00:48:52,520 而这一切正在发生的事情了 要出路在互联网上, 1071 00:48:52,520 --> 00:48:54,690 这里回落到 灯泡,打开和关闭。 1072 00:48:54,690 --> 00:48:57,981 >> 如果你能相信它 - 这就是 也许是最复杂的划痕之一 1073 00:48:57,981 --> 00:49:00,930 项目有人implemented-- 他做到了,为公平起见,在一天。 1074 00:49:00,930 --> 00:49:04,180 这就是我们扔下的挑战 丹当我们看到有二进制灯泡, 1075 00:49:04,180 --> 00:49:05,810 我们有划痕,怎么 我们可以将它们合并? 1076 00:49:05,810 --> 00:49:08,410 并且,实际上,这是绝对 一些人在这个房间 1077 00:49:08,410 --> 00:49:14,250 可以做了学期的end--是他 通过重新实现二进制灯泡 1078 00:49:14,250 --> 00:49:18,310 这是同一个接口 在我们的iPad上周三。 1079 00:49:18,310 --> 00:49:22,000 所以,现在,如果我真的 点击加在这里, 1080 00:49:22,000 --> 00:49:25,250 我们具有一个,两个,三个。 1081 00:49:25,250 --> 00:49:27,550 我可以打16,打开一个上。 1082 00:49:27,550 --> 00:49:29,440 128,等等。 1083 00:49:29,440 --> 00:49:31,250 >> 现在,如果单独拥有 和吹你的头脑, 1084 00:49:31,250 --> 00:49:35,680 你可以做的事情更容易获取, 不涉及任何硬件肯定。 1085 00:49:35,680 --> 00:49:38,320 只是事情的屏幕本身。 1086 00:49:38,320 --> 00:49:41,110 而且,事实上,大多数学生 最终做的是某些类型的游戏, 1087 00:49:41,110 --> 00:49:44,600 一些作品艺术作品,或 某种互动的动画。 1088 00:49:44,600 --> 00:49:47,352 我会说一我们 收藏一直是这一个。 1089 00:49:47,352 --> 00:49:49,060 而且我认为,如果我们 可以调暗灯光, 1090 00:49:49,060 --> 00:49:52,960 我们就来一睹为这最后的 从头开始项目的结论。 1091 00:49:52,960 --> 00:49:57,460 但是你应该记住,作为 我可以逗你一个最后的细节, 1092 00:49:57,460 --> 00:49:59,140 切片将于下周开始。 1093 00:49:59,140 --> 00:50:00,830 办公时间将于下周开始。 1094 00:50:00,830 --> 00:50:04,410 问题设置为零将公布 CS50.harvard.edu今天晚些时候。 1095 00:50:04,410 --> 00:50:06,430 而你将迎接 在问题设置为零 1096 00:50:06,430 --> 00:50:10,070 到CS50自己Zamyla陈,谁 指导我们大部分的演练。 1097 00:50:10,070 --> 00:50:11,952 这些被嵌入视频 在习题集 1098 00:50:11,952 --> 00:50:15,160 这将通过大量的握住你的手 的初始设置,并通过许多 1099 00:50:15,160 --> 00:50:16,570 的可能的设计决策。 1100 00:50:16,570 --> 00:50:19,570 所以,如果你曾经有这样的感慨 捡了个家庭作业时, 1101 00:50:19,570 --> 00:50:21,030 ,不知道,我从哪里开始? 1102 00:50:21,030 --> 00:50:23,510 她将有答案给你。 1103 00:50:23,510 --> 00:50:27,720 而现在,最终的方案 从你的前辈之一 1104 00:50:27,720 --> 00:50:30,659 在回答这个问题 “这是什么狐狸说什么?” 1105 00:50:30,659 --> 00:50:32,242 [音乐YLVIS,“什么是狐狸说什么?] 1106 00:50:32,242 --> 00:50:40,178 1107 00:50:40,178 --> 00:50:41,666 >> YLVIS:(唱)狗云纬。 1108 00:50:41,666 --> 00:50:43,650 猫喵喵去。 1109 00:50:43,650 --> 00:50:47,520 鸟去鸣叫和鼠标去吱吱声。 1110 00:50:47,520 --> 00:50:49,240 牛哞哞去。 1111 00:50:49,240 --> 00:50:51,690 青蛙去发牢骚。 1112 00:50:51,690 --> 00:50:54,630 和大象去嘟嘟。 1113 00:50:54,630 --> 00:50:59,040 鸭子说庸医和鱼去泡壳。 1114 00:50:59,040 --> 00:51:07,370 和密封的推移嗷嗷嗷嗷嗷嗷,但 有没有人知道一个声音, 1115 00:51:07,370 --> 00:51:10,330 什么狐狸说什么? 1116 00:51:10,330 --> 00:51:11,020 和 1117 00:51:11,020 --> 00:51:12,478 >> 戴维·J·马兰:这就是它的CS50。 1118 00:51:12,478 --> 00:51:15,436 我们将看到您在 益智日和周一。 1119 00:51:15,436 --> 00:51:16,424 >> [掌声] 1120 00:51:16,424 --> 00:51:19,882 >> [音乐YLVIS,“什么是狐狸说什么?”] 1121 00:51:19,882 --> 00:51:24,840 1122 00:51:24,840 --> 00:51:28,820 >> 旁白:现在深 思想,通过Daven法纳姆。 1123 00:51:28,820 --> 00:51:31,770 1124 00:51:31,770 --> 00:51:34,570 今天,我被击中 面对电话簿。 1125 00:51:34,570 --> 00:51:38,160 令人困惑,因为我在 在家上网看。 1126 00:51:38,160 --> 00:51:42,528