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