[音樂播放] 馬蘭大衛:好吧,這是CS50 這是一周的結束。 所以,我想介紹一下我的前 建議者,安洛達夫,誰不僅使 iPhone 5的手段,以及這 講台上,他也使汽車。 ANSEL DUFF:怎麼樣了,人呢? 我只是想告訴你一個小 關於SAE方程式,這一點我 我的船長。 這是麻省理工學院的團隊。 我只是想告訴你 人約一點點 並希望產生一些興趣。 所以,我只想通過運行 我們的團隊對夫婦的事情。 所以我們完全 學生而言,其中的所有 成員設計,模擬, 測試和製造商的一個子系統 的汽車。 我們有自己的加工車間 和車庫,以及N52--或不好意思, N51--這是同一棟大樓 作為麻省理工學院的科學博物館。 我們是人民 那開車的人。 有一個國家的競爭 在夏季的開始, 然後有小槍戰 比賽貫穿全年。 然後我們做駕駛培訓 天獲得新成員熟悉。 我們構建的日子上 週六上午11時至下午8時。 午餐和晚餐都照顧 的,從貝圖西的與豆城 分別。 我們有一個星期的會議和 研討會上,這是課程學分。 這是新的,因為這學期,和 這也將是下個學期, 這樣你就可以跨章為。 然後我們有設計,店鋪, 而在本週的CAD天, 而成員們將各自 CAD零件,訂單庫存等等。 所以對於電 在工程隊 我們有我們的牽引力, 高電壓系統, 它運行在標稱 300伏,它包括 馬達,馬達控制器, 和電池組。 然後我們有一個低 電壓系統,它運行 在12伏電壓,它包括 控制,CAN節點,腦 框,儀表板。 至於CS變,我們做 有網站維護 我們需要做的事件,成員 的變化,新的圖片和宣傳材料。 然後我們有一個控制碼 汽車為我們的牽引力控制系統,發射 控制,儀表板控制,轉矩矢量, 和再生制動系統,其 在MATLAB中運行一般, Simulink和LabVIEW中。 告訴你關於這款車一點點。 因此,它是約500磅。 這是僅限於85千瓦規則。 它有2 EMRAX 207汽車在 後面,每一個後輪。 它具有定制電池組 從棱A123囊細胞, 共計300伏, 5.6千瓦小時。 而且它是直接驅動器 2.64比1的傳動比。 這裡有一些圖片,我們 注意到它的競爭力。 這裡的背,鼻錐, 這裡是電機, 那些大黑盤 下方等男裝Manus的。 這裡有一個幻燈片,我拉 我們的比賽計劃。 這是我們的車剛比作 幾個商購的汽車, 像KTM XBOW,林依晨 原子,Caterha M 7-280。 如果你熟悉價格,功耗 拉的重量,美元,每匹馬力, 元元的扭矩,而我們的車 打擊他們都露出水面。 如果您有任何問題, 記下這個電子郵件地址。 拍我們fsae@mit.edu的電子郵件。 我們很高興談論 任何你願意的話​​。 哈佛的學生有樣 對團隊的少數。 如果您有任何問題, 那請不要拍我們的電子郵件, 快樂的交談,我要 頭回了大衛。 謝謝。 我很感激​​,伙計們​​。 [掌聲] 大衛馬蘭:安塞爾整個夏天 我們在這裡CS50工作在校園 今年夏天。 和除了工作 之類的二進制燈泡, 他居然真的打開了我們 eyes--和礦particular-- 以真正的交叉點 沒有硬件和軟件都可以。 其實有很多的事情,他只是 參觀您完成最終是 首先在軟件中創建, 然後最終製造 在硬件的真實世界。 所以,如果你有興趣 探索那個路口, 或許佔用該組。 現在,同時,那些你 誰是技術愛好者, 和蘋果產品 尤其知道有 一對夫婦的 昨日公佈的。 但是,我們認為我們會展示 你一說出來 前幾天的 你可能沒見過。 約根EGHAMMER:你知道嗎, 曾經在一段時間的東西 走來了 改變了我們的生活方式。 一個設備那麼簡單,直觀 使用感覺差不多熟悉了。 在介紹2015年宜家目錄。 這不是一個數字圖書或 一本電子書,這是一本電子書。 要注意的第一件事情是沒有 電纜,甚至沒有電源線。 2015年宜家目錄 來完全充電, 而電池的壽命是永恆的。 該接口是7.5×8英寸, 但可以8英寸擴大到15。 導航是基於觸覺觸摸 技術,你可以真正感受到。 內容預裝 通過328高清頁面 鼓舞人心的家居理念。 開始瀏覽, 只需觸摸和拖動。 從右向左前進, 從左向右向後移動。 請注意別的東西嗎? 這是正確的。 沒有滯後。 每個晶瑩剔透頁 負載瞬間, 無論你如何快速滾動。 如果你想獲得快速瀏覽, 只是握在手心, 而只用你的拇指, 速瀏覽的內容。 如果你發現一些你想要保存 在以後,你可以簡單地將它設為書籤。 即使你關閉應用程序, 您可以輕鬆地再次找到書籤。 太神奇了。 [笑] [掌聲] 所以這給我們帶來了 一周的結束。 幾項通知了。 所以切片是現在進行時。 去這個網址的某個時候在這裡 從現在到週五中午 實際指定是否 在那些不那麼舒服,更 舒適,或介於兩者之間。 這通常是其中的一個 東西種,你才知道。 而事實上,那些你們誰少 舒適可能知道的不多, 那些你們誰更 舒適的了解一樣多, 並再次,如果你不是很確定這 這些桶你落入你 可能介於兩者之間。 但請放心,你可以交換 之後的幾個星期,如果需要的話。 同時,針對未來一周 我們不開始本身的部分, 但超級部分,這 是開放給所有的學生。 在本星期日在一個位置 可以在課程網站上公佈 我們將有一個用於 那些不太舒服, 以及一個用於 那些更舒適。 而那些介於兩者之間 可以選擇這兩個的, 或兩者,如果你願意,坐式的。 而這些重點 將最終的C, 我們將繼續我們的 今天的談話。 習題集0同時是 希望在你的手中。 正式由於明天 週四中午。 除非你在現金1 你遲到5天, 這將使其 直到週五中午。 習題集1同時將 張貼在課程網站。 這將是我們第一次 作為進軍一類為C。 而且問題設置規範將引導您 通過大量的哪些力學 我們開始在週一談到, 我們將繼續在談論今天。 C,Linux上,CS50 設備,所有這些 將等待你的規範。 辦公時間同時都在進步, 在大學生食堂。 前往這個網址在這裡看到的 安排今晚和明天 如果您想以分享。 問題同時,讓你 有機會提問 異步,7天24小時,實現你 不限於節和辦公室 小時,而此工具 在這裡,CS50討論那個網址 將過程的在線 公告板軟件,通過它 你可以問的問題 同學們也工作人員。 所以請記住,資源也是如此。 同時傳統 啟動這個星期五​​。 正如你可能已經從瞥見 上週三的預告片視頻, 我們有一個傳統,最 期間逢星期五 服用一些50名學生和 工作人員到當地餐廳叫 火與冰,在此我們 通常加入了一些校友 還是從行業的朋友 普遍嚮往 使一大類覺得小。 所以這是一個完全偶然的午餐。 一堆我們的工作人員 特別是,將發揮音樂椅 並與學生討論聊天 50,50以外的生活, 生活在未來,現實世界中, 我說的是就業機會 與朋友在工業。 所以,如果你想加入我們的行列 這個星期五​​,前往該網址在這裡。 空間是有限的,但我們會做到這一點 recurringly整個學期。 前往那裡cs50.harvard.edu/rsvp。 如果你沒有得到的 這個時候,不用擔心。 我們將再次這樣做 未來幾週內為好。 因此,這是圖像 我們上週畫, 你可能已經被 涉足迄今。 但是,讓我們嘗試到現在連本 什麼我們今天做的 從不間斷。 我有一個志願者? 好吧,或者幾個。 如何這裡的 最後,在藍色襯衫。 拜託了,你叫什麼名字? ALANA:阿拉納。 大衛馬蘭:阿拉納。 所以阿拉納,對於只是一個 moment--很高興認識你 - 將要扮演的角色 這個功能在這裡。 我們已經紫塊 被稱為迄今為止功能。 所以我要去 未來這裡提供阿拉納 是一個小名牌,使 清楚你玩什麼樣的作用。 所以,你應該發言權塊。 如果你想繼續前進,把那上。 而我們要 保持這個超級簡單。 如果目標在眼前簡直是 現在實行與阿拉納, 這個所謂的說嵌段, 這裡是它如何去上班。 íhave--姑且稱之為 參數或參數, 它是真正的紙只是一張白紙。 而且它的白色種是讓人聯想到 白框到您 可以寫文字。 同時我會去這裡。 我要繼續前進, 寫H-E-L-L-O逗號世界。 而現在我作為說程序員,不要 根本不知道怎麼說的東西。 我能想出的話, 但我不一定 知道如何表達自己 口頭或在屏幕上。 所以,我什麼都 要做的就是把這塊 的功能,其input-- 或說法,因為我們會打電話給它, 我寫這片paper--的 我要去外包了。 的確是這樣的角色 在編程語言的功能 可以玩。 類似的發言權 塊可以外包 的人誰真正知道 她或他在說什麼。 所以,如果你跳過 這裡只是一瞬間, 我將這個輸入傳遞到 阿拉納,並要求你說的這個輸入。 ALANA:你好,世界。 大衛馬蘭:就是這樣。 所以,有一個功能。 現在,我們可以把它多一點, 我們可以向前邁進了一步這裡。 因為這顯然是給人留下深刻印象。 現在讓我們將它轉換為 一些更複雜。 因此,這當然是我們的C版本。 所以,現在如果你想利用這 一關,這個名字標籤脫落, 並讓我們有你換上一個新的名字。 但是從根本上你 扮演相同的角色, 它只是恰巧 可現在叫的printf。 這個故事,當然, 要be--可能 正如underwhelming--是 將是下面的內容。 您現在所在的函數printf。 我的來電,或 程序員,誰願意 站上的台肩 以往人們喜歡你, 誰已經想出如何 實際上寫的東西了。 所以此時, 而不是說出來,讓我們 實際使用我們的屏幕在這裡。 所以,如果你想一步 在這裡,我要 再此為通 輸入我的printf的朋友。 如果你能繼續前進, 打印在屏幕上, 只需用你的畫 手指在黑色的屏幕上。 優秀的。 好吧,所以很多懸念的 怎麼說是要發揮出來。 所以,現在讓我們東西1 最後的缺口,如果我們可以,如下所示。 因此,這是一個C程序 正如我們上次講的。 而這只是做你做了什麼,它 打印出的畫面,你好,世界。 儘管有明顯很多 喧賓奪主的東西在那裡。 但是,讓我們拿東西了一個缺口, 推出這個版本,這回憶 是第三個版本 我們結束了最後一次。 現在有明確 兩種用途的printf。 有2呼叫阿拉納 在這種情況下為printf的, 但也有一個電話 另一個功能。 那是什麼功能的清楚一點嗎? GetString的。 我們可以得到一個更多的志願者? 好了,上來吧。 你叫什麼名字? 哈維爾:哈維爾。 大衛馬蘭:哈維爾,上來吧。 所以哈維爾的作用是在 這張紙。 其中我要籠統稱S。 現在,這是一個變量,它的 字符串類型,如暗示 在中間有在第二行。 我想請你去給我拿一個字符串。 具體低著頭樂團 節,讓我一個人的名字, 回來用一個變量 包含該值。 它可以是你想要的人。 開始了。 好吧,哈維爾是 寫下名字。 好吧。 大家可以猜到是如何 這是要發揮出來。 我們也許操勞 點什麼 功能是幹什麼的,但 不過非常感謝你。 所以,哈維爾已經返回此字符串 在這裡,這,不能完全看到, 喬納森是字符串 我們已經得到了。 所以,現在就是我究竟要 提供給阿拉納雖然 是的東西有點不同。 因為在這個版本的 節目中,首先有你的名字。 所以第一個參數 我需要提供阿拉納 與將是 從字面上說出你的名字。 好吧,讓這麼簡單 我會交給這個給你。 當我寫上去的 下一個參數,如果你 要繼續寫這 在黑板上,讓我們繼續 而做最後的例子來說明,使 明確什麼是最終得到的情況發生。 所以說出你的名字, 寫出它朝著頂端 如果你不介意的話,只是讓 我們有房間一第二線路。 因為過去的事情我要去 現在為您提供的不是一個, 但是兩張紙。 好吧。 H-E-L-L-O逗號,然後空一行。 所以我很擔心現在出手阿拉納 是的東西有點不同。 不僅是她得到這個, 其中填空表示 這percent--究竟是什麼 佔位符,我們一直在使用? 是啊,所以%的第 同時,我要通過 她在第二個參數,其中 正是哈維爾 從喬納森檢索。 所以讓我給你這兩個。 如果你想,去吧 和打印的效果。 什麼是最終發生 現在的問題是,阿拉納再次 正在播放的printf的作用。 哈維爾被打 GetString的作用。 所以這將是你的紀念品。 並最終發生了什麼,儘管 這hello--是的繼續和逗號。 ALANA:我收到這事還是沒有呢? 馬蘭大衛:是的,你 在一次接待了他們兩個。 這樣的想法是,你 現在可以翻轉頁面 處理所述第二 的這兩個輸入。 因此,這是唯一的錘家 指出的是,儘管阿拉納執行 這個綠線位置,然後 哈維爾做這一塊我們 並返回我的東西 我們會打電話給S,但它是真的 只是那件他自己的論文。 現在阿拉納已經這樣做了第三行。 而且即使這一切看起來 如此令人難以置信的神秘也許 乍一看,還真 就是這麼簡單。 周圍路過的投入, 得到的輸出,無論是 以物理交回的東西, 或看到這樣的副作用。 視覺上的東西 寫在屏幕上。 因此,讓我們繼續前進, 感謝阿拉納和哈維爾, 是誰到這裡,為 加入我們在這裡。 [掌聲] 所以,現在讓我們習以為常的是如何 簡單的所有的可能是。 讓我們繼續來實際 做一些實際的代碼。 所以,在這裡,屏幕上是截圖 的所謂CS50器具。 如果你不得不在作為 下午2時00分在週三下午, 解釋一些朋友 什麼CS50器具, 你怎麼會在一個句子裡定義它? 任何一個句子? 是嗎? 學生:這就像一個程序 這使得每個人的電腦 用相同的系統上運行。 大衛馬蘭:好! 這是一個程序,使每個人的 計算機具有相同的系統上運行。 這有點自己的 操作副本 系統,恰好 被稱為Ubuntu Linux操作系統。 它有效的內部運行 在自己的Mac或PC的一個窗口, 使這樣右邊出了大門 在1個星期,這裡的每個人在課堂上 可以訪問相同的工具, 相同的結構, 而且也沒有學習曲線的具體 到Mac或特定的電腦。 現在我們打開了,在CS50內 家電在週一,這個程序在這裡。 它發生在被稱為gedit的。 但是,這真的只是 圖形編輯器。 這有點像記事本或文本 分別編輯在Windows或Mac OS。 我建議有真 三個重要環節進行屏幕。 頂面是你 會寫你的代碼。 而這也正是我們花了很多的我們 三個例子在週一的演講。 在底部,我們叫什麼, 這個黑色的窗口,是嗎? 學生:編譯器? 大衛馬蘭:編譯我們 通過該窗口的方式進行訪問。 但更普遍。 是的,這只是一個終端窗口。 這是一個古老的術語,只是 本質上描述了一個閃爍 提示,多年前曾經是上 其中的一個大的CRT型的。 但現在它的排序 的虛擬軟件。 與終端窗口 讓我們輸入命令。 它排序的簡化版本 用戶界面或UI的。 這不是一個圖形 用戶界面或圖形用戶界面, 它是一個基於文本的界面 或命令行界面。 而事實上這就是最終 我能寫一些代碼。 有一次,我寫了,雖然一些代碼, 記得,我用這個命令。 並且,因為它的名字 種暗示,這 讓我做一個 程序名為Hello。 但什麼是它真正在做什麼? 以及化妝是把我的 輸入,我的源代碼, 並且將其轉換到什麼,最後? 目標代碼。 代碼和目標代碼只是一個花哨 說的零和一的方式。 再一次,我希望 來運行的目標代碼, 有一次我想通過輸入這些 零和一進我的電腦 腦,所謂CPU的 或中央處理單元, 我不得不運行程序。 但它不是在星期一相當簡單 像剛才雙擊的一些圖標。 而不是什麼都我來 做的,以運行一個程序? 什麼是第二個命令? 我聽到一個小斜線? 是的,是嗎? 學生:點和斜線 該程序的名稱。 馬蘭大衛:沒錯。 點斜線和程序的名稱。 現在沒有什麼意思? 好點僅僅是一個神秘的方式 的話說當前目錄。 不管文件夾,你是在為 作為參考,表示為圓點。 斜線正是你所看到的 在Mac OS和Windows多年, 這是一個目錄之間的分隔符 或文件夾的一些名稱的其餘部分。 在Windows中碰巧去 向後,在Linux和Mac 操作系統它發生向前去。 但是,這僅僅是分隔符,所以它的 只是一個無趣的語法細節。 當然,多汁的部分是 節目的名稱,您好。 而這對於我們把創造的東西。 它輸出的文件,對我們來說。 但是,我們怎麼會到這一點? 現在讓我們來問問 的問題,什麼是真正的 會在這裡,至少在 考慮到一些這方面的語法呢? 因此,在一個句子或左右, 我們是如何解釋的距離 這第一行的 以綠色突出顯示? 那是什麼行頭做, 相對於我的程序? 是嗎? 學生:[聽不清]。 大衛馬蘭:再說一遍嗎? 學生:包括和下載 過去的功能[聽不清]。 大衛馬蘭:好。 其中,我就不說了 下載,但讓我們說 包括功能,人們 都寫在了過去。 而這些功能的實現 某處在我的電腦。 有人寫了一個文件 多年前,並且該文件 是CS50內某處 家電,或在我的硬盤驅動器 更普遍。 因此該線基本上說 去找到那個文件,標準I / O點 小時,複製和粘貼的內容 在這裡我文件頂部 這樣我就不必 做手工自己。 而且裡面最豐厚的部分中 我們稱這個文件是什麼功能? 什麼功能並說被宣布 或在標準I / O點ħ提到 最有可能的? printf的,對不對? 我們沒有寫上的printf 週一,它只是存在。 就像阿拉納剛 站在舞台上,她只是 存在並且知道如何繪製 屏幕上的對象, 所以不會printf的多年存在。 所以這是我們如何訪問它。 現在,如果我們在這裡提出, 主要是類似的,我們 在拼圖說 所謂當綠旗點擊 在刮的世界。 它的只是排序 在人類的默認名稱 決定將代表 默認入口點的程序。 的程序代碼的組塊 那被先執行。 同時這些花括號 種等的彎曲形狀 對很多這些黃色划痕件。 他們種封裝的整體 一串指令在一起。 因此,它只是一種結合在一起 一些相關的功能。 當然printf的是一個函數, 打印屏幕,因為我們只是做了。 那麼這些括號? 即使你,你會怎麼define-- 從未編程之前,但只是基於 現在越來越 希望直覺,什麼 正在括號做我們在這裡? 或者什麼是他們周圍? 是嗎? 學生:他們在說什麼 你要打印帶的printf。 馬蘭大衛:是啊,他們是怎麼說的 你要打印帶的printf。 或者更一般地,它們是 周圍的輸入的功能。 所以你幾乎可以認為 這些括號 作為是像金屬 夾在這剪貼板。 這是什麼樣的控股,這是什麼 將要被用於提供參數 入功能,其中在 這種情況被稱為printf的。 所以一般幾乎任何 一次,我們調用一個函數, 我們將看到一對括號。 也許有東西在裡面, 像現在,也許什麼也沒有。 但是,這是在那裡你可以把 輸入或所謂的參數 一個函數。 這裡有一個這樣的說法。 我已經強調了一切 引號之間, 因為事實證明, 在這種語言稱為 C,當你想表示一個 string--這是一個單詞或短語 甚至paragraph--你必須 用雙引號括起來。 不是單引號,雙引號。 而這正是我在這裡所做的。 同時有一個時髦的 象徵向著結束。 反斜杠ñ。 沒有說什麼代表? 是嗎? 學生:一個新行。 大衛馬蘭:新行。 對了,你不 一般敲回車時 你想要的程序 吐出一個新行。 而你明確告訴它 這個公認的晦澀作品 語法,反斜線N,即 你想要一個新的生產線去那裡。 最後的分號。 我們真的不說話 太多關於這一點, 而到目前為止,這將是一些禍根 你的存在對於第一個問題的 設置,當你只是沒有意識到 你忘了什麼是愚蠢的 作為一個分號。 一般把它 會解決這個問題。 但是,什麼是它做的 對我們來說,你會說什麼? 學生:[聽不清]。 大衛馬蘭:對不起? 學生:[聽不清]。 大衛馬蘭:整理一份聲明。 這有點像在期限 英語句子的末尾, 而在這門語言 C中,它的結尾的語句。 編程的指令 你剛才想說的代碼, 我做這個。 現在發現這是這裡唯一的一個。 所以,你不想得到 把分號的習慣 以後每隔封閉括號。 比如有沒有 接下來作廢,我們將 回來以後 什麼無效的手段。 但在這種情況下,你的printf是 功能,或正在使用的聲明, 所以我們希望有 總站在它的盡頭。 而且我特意挑選的。和 坦率地說了很多,如C,C + +語言, 的Java,JavaScript和任何數量的 其他的語言有很多這樣的 之類的語法細節。 這當然如果你是新來 節目能真正你絆倒。 而且你會記住我 也就是說,有些人會 有這方面的經驗 在辦公時間或延遲 在晚上工作的一些對集,其中 你那該死的程序就是不編譯, 它不跑,你有 不知道什麼是錯的, 它似乎完全 邏輯上正確的給你。 而且那是因為你忘了 像打 分號一些行的末尾。 但這些都是各種各樣的事情你 要立即學會看。 而事實上這些都是事 該CA的和TF的有 那種被訓練來看看 速度遠遠超過你。 因此,這只是說,因為你 潛入問題集1特別是, 不要沮喪了這個東西。 一旦那種你適應 走向世界,你 開始看到的東西,你可能不 看第一眼第一週。 因此,源代碼是類似的東西。 我們想通過成 所謂的編譯器。 和編譯器 我們所說的輸出提供 稱為目標代碼,該 所謂的零和一。 但是從那裡,是什麼給我們? 那麼它給了我們這些模式。 並再次在您的計算機, 英特爾內部, 理解這些模式 的零和一。 有時格局 表示實際的十進制數 正如我們上週所看到的,有時 它代表的一封信 就像我們上週看到的,有時 它代表一個指令, 像打印的東西到屏幕上。 所以printf進行instance-- 而是讓我退。 我們已經採取理所當然 那些零和一的 通過這個命令彩妝生產。 但要是不是一個編譯器。 使是沒有的事,中間 該公司生產的零和一。 寧可僅僅是一個很方便的 命名的程序,其目的在生活中 本質上是要弄清楚 如何編譯你的程序。 我們用它在這些 第一個星期,因為它只是 為我們節省了很多麻煩。 但是什麼使真 當你編譯你好做, 是,正如我們上次講的,它是 期待您的硬盤驅動器上 或當前文件夾中, 所謂的文件是什麼,顯然? HELLO.C,對不對? 這只是一種一項公約。 這是任意的,但 這就是事物的本質。 做,如果你只是指定名稱 一個並不存在的項目, 它會查找源代碼 在文件中,默認情況下是指的hello.c。 如果找到了,太棒了。 這將轉換的源 代碼轉換成你的目標代碼。 但每次我按Enter 運行make招呼後, 你還記得看到最後一次 相當長的和神秘的序列 其他白色字母和 字符在屏幕上? 嗯,這是實際的指令, 實際的編譯器,這是在運行。 因此,實際的編譯器,我們將使用最 本學期是一種叫做鐺。 你們有些人可能已經使用 Visual Studio中之前,還是海灣合作委員會, 或任何其他的編譯器。 我們將用鏗鏘。 和鐺使我們能夠真正轉換 該源代碼,目標代碼​​。 這是什麼其實 在實踐中意味著? 那麼,讓我進入一個 我的文件夾從最後一次。 裡面的CS50器具。 讓我繼續前進,創造這個 相同的文件,包括標準的I / O點小時。 INT主要作廢。 我們會回來的將來 什麼詮釋方式,什麼無效的方法。 但現在讓我們做 你好世界反斜線N, 就像我們做在黑板上。 讓我保存這個文件名為hello.c的。 而現在,如果我想要編譯該 ícould--讓我放大in--運行 讓你好進入。 而這又是 這很神秘的線。 但現在至少有一個字 可能跳出你。 鐺就是我們之前看到的那條線。 現在有很多其他的東西坦白 我們會揮舞手上的今天。 但是有幾個子集, 在這幾個字符 這是感興趣的。 不過,我要繼續前進,做到這一點。 我將第一次運行 你好,只是為了證明 這是工作,因為它是星期一。 但現在我要刪除的程序。 而就像我們有這些 短名稱最後一次, 除去命令 什麼是RM,刪除,回車。 你會得到一些 很古怪的問題。 很難相信,你可以 即使這個問題不難理解。 但是,刪除普通文件只是打招呼 要刪除打招呼方式去做。 我可以繼續鍵入y,以 是的,輸入的,現在它不見了。 這是什麼意思,現在, 如果清除我的屏幕上, 是代替 這樣做使hello--你 知道嗎,我越來越擅長這個。 我要運行編譯器自己。 我並不需要一些程序 弄清楚我的文件就會被調用。 我寫的hello.c,我 知道它叫什麼, 我很清楚地能打字了的。 所以我要繼續前進 做鐺的hello.c輸入。 似乎工作。 而且也沒有額外的輸出, 因為鐺是編譯器。 這是什麼樣的轉換 源代碼的零和一。 所以,如果我現在做點 斜線你好輸入,HM。 今天新的錯誤消息。 所以bash是正義的名義 眨眼,我們正在使用的提示。 這是一個過於簡單化, 但現在這一切就是, 它的閃爍提示。 這就是為什麼它朝著我們大喊大叫。 沒有這樣的文件或目錄 多一點簡單。 但可以肯定我做的目標代碼。 但美中不足的是,這 如果我輸入的命令 列出了這樣的內容 目錄中,這是什麼? LS的列表。 有一堆東西在這裡, 其中一些附帶的設備, 像我的桌面文件夾,下載 文件夾,Dropbox文件夾,並且所有 這些東西。 但有趣的是, 是的hello.c,這 我創建了一個剛才用gedit。 什麼是最怪異的 看名字在這裡, 或許,我們沒有 看到最後一次呢? a.out的,對不對? 因此,早在一天,它 剛剛決定,當 編譯程序 對於第一次, 你沒有指定名稱 一個文件,讓我們把它叫做。 和a.out的意思只是,這是 編譯器的輸出。 因此,它是一個程序一個可怕的名字。 但是,這種邏輯,點大幅削減 當前目錄下,削減的a.out, 應該是說有其實 我的Hello World程序。 現在,一個小熱身運動了。 如果我要重新命名此 文件,原來你 從一個名移動一個文件到另一個。 所以MV的a.out,然後我 可以稱之為你好Enter鍵。 所以這是一個Linux命令。 DOS有這個年前, Windows有一個終端窗口 一些看起來的 這樣,Linux和Mac 電腦有這樣的閃爍提示。 雖然我們大多數人可能 很少,如果有的話,使用它。 但我做了什麼是運行 程序,其名稱是MV, 我已經向它提供 兩個參數,可以這麼說。 兩個輸入。 a.out的是原來的名稱。 你好是新名稱。 所以,如果我現在做點斜線 你好,回車,即存在。 如果我做點斜線的a.out, 你能指望我應該看什麼? 擊,沒有這樣的文件或目錄。 因為我只是給它改名。 因此,這需要一點時間來適應。 但問題集1 規範將真正 通過牽你的手 一些本minutae的。 因為這是一個完整的 知識產權分心 從更有趣 創意就在眼前,這 實際上是創造 出來的東西代碼。 但是,讓我們做一處修改 現在這個計劃。 回想一下,上次我做了一件 這樣,printf的說出你的名字。 而事實上,我們只是做了該 在大屏幕上在那邊。 然後我做字符串s變 GetString的開括號,括號接近。 和括號只是速記 符號的括號。 因此,沒有GetString的任何參數? 沒有不投入,但它 需要括號, 因為這是劃定 一個函數的調用。 所以我要繼續前進,並嘗試 現在運行的編譯器上這個節目。 鏗鏘的hello.c,因為我 沒有現在改名。 我有一大堆的錯誤。 讓我們縮小在這裡。 如果我滾動了一遍, 就像我說最後一次, 到第一,相同的錯誤 我得到了最後一次。 在hello.c中的第6行我有一個 未聲明的標識符字符串, 沒有我的意思是在標準? 我沒有。 因為什麼樣的錯誤,我是用這個做 程序,如果從上一次召回? 是的,我們需要的 所謂訓練輪 我們就用了幾個星期。 但我需要指定另外, 某處的器具的內部, 是,我們寫了一個文件 就在幾年前。 其內部是功能 就像顯然GetString的。 所以,現在如果我去背下來在這裡, 放大,並重新運行鐺的hello.c。 媽的,另一個錯誤。 但我們還沒有看到過這一項。 這其中的多一點 深奧弄清楚。 但是,這是故意的屏幕上, 因為我們想講這個故事。 當你編譯的hello.c,就像 圖片來自前提出, 你只是轉換了 源代碼的零和一。 現在CS50的工作人員,幾年前寫的 CS50.h,並有相應的文件, CS50.c. 而我們,幾年前, 編譯這些文件 到出現這種情況的文件 被稱為CS50.o. 或者也可以重命名的 一些不同的東西。 但是,這是一個簡單的方法 的考慮。 所以我們做了CS50的 圖書館成零和一。 但無處我已指定 我想結合我的零 和那些對我的hello world 計劃與零和一 該CS50人員創建了幾年 前成一個完整的程序。 所有我所指定的寫作 鐺的hello.c是編譯的hello.c。 我還沒有告訴鐺來 在零和一的鏈接 創建CS50人員 你前一段時間。 所以這是一個簡單的辦法, 衝升的鏈接,CS50。 我們會再次看到這個 沒過多久連連。 但是現在發現,沒有投訴。 所以,現在如果我跑點斜線 您好,現在它的工作。 雖然這是一個有點誤導 因為我剛剛重新哪些文件? a.out的。 因此,讓我退了一會兒就好了。 我們剛剛編譯的程序 有三行代碼。 當我跑世界你好,你好一會兒 以前,我沒看到你的名字。 那是因為我跑了 老版本的程序。 但是,如果我確實跑點斜線的a.out 輸入,說出你的名字,羅布,你好, 世界。 嗯。 這是怎樣的一個錯誤。 大概的意思是說搶了吧? 那麼什麼是固定在這裡的代碼。 學生:[聽不清]。 馬蘭大衛:沒錯。 所以我只需要做出最後的好辦法 讓我傳遞一個佔位符, 如在空白填充, 就像我們剛才做了。 但百分之s是現在 這填補了空白。 所以,最後我們發現最後一個 這樣的細節,有沒有魔法。 我要繼續前進 並擺脫hellow的。 我要繼續前進 和擺脫的a.out的。 所以現在我沒有計劃, 只是我的源代碼。 我要去跑 稍長的命令,鐺 衝Ø你好hello.c的衝刺LCS50。 現在,這是開始排序去 在左耳進右耳出的其他可能。 但就取笑除了這是什麼做的。 鐺是編譯器,儀表板LCS50 故意在最後 在一個句子裡做什麼? 鏈接到CS50庫。 抓住零和 那些員工做 和crams成我自己的計劃。 所以手頭上的最後一個問題是, 什麼是破折號Ø你好可能 這樣做,即使你從來沒有 以前見過這種語法? 輸出一個程序,是 未命名缺省的a.out。 相反,它的命名打招呼。 所以現在還沒有a.out的。 沒有這樣的文件或目錄, 因為我明確地說, 這個程序叫做打招呼,讓 我現在可以輸入這樣的名字 並將其行為。 現在坦率地說,男孩是 無趣的有 要記住這一切 小細節,對不對? 因此,讓我們繼續前進, 再次擺脫打招呼的。 讓我們回到一個世界 它足以讓說你好。 但是,這就是魔法 讓為你做的, 這就是乏味的 它為你做。 而作為我們的計劃和 問題變得更複雜, 使將真正成為你的朋友。 因為不會太長 從現在開始我們要 到具有所編寫的程序 不是一個文件,而是幾個文件, 並會自動的過程 編譯所有這一切讓我們在一起。 所以,現在打印。 printf的是這個文件裡面,標準 I / O點的小時,我們已經看到過, 但有更多的printf比。 有反斜線N,但也有 一堆其他的轉義序列。 和轉義序列僅僅是一個 的說著什麼奇特的方式 以反斜杠開始, 不是一個正斜杠,反斜杠, 並做了一些特別的東西。 我們不會糾纏於其中的大多數, 但為什麼會出現反斜杠雙引號, 你覺得呢? 為什麼會出現這種奇怪的序列 字符,反斜線雙引號, 為什麼會是這樣有用嗎? 學生:[聽不清]。 馬蘭大衛:沒錯,對不對? 回想一下我們的Hello World程序 我們已經見過不少次了, 每一次,我們已經看到的Hello World 方案我們內部有雙引號 這是打招呼逗號 世界反斜杠ñ。 但想到自己, 如果你究竟是什麼 想打印出一個引號? 你的第一反應可能是,我不 知道我為什麼會想在這裡do--, 我們可以稍微被動 積極的,你好的朋友。 我們可能需要做這樣的事情。 但是,為什麼是現在這個問題? 無視彎引號放在一邊 基調為我們自動完成。 這是為什麼有問題? 沒錯。 因為我們有像4引號。 以及第一個可能 去與第二個, 也許第四個 去與第三個, 或者,我是說我什至不知道, 也不是計算機將是。 再次計算機,編譯器 再次,是相當愚蠢的。 他們只會做什麼 你告訴他們做什麼。 如果你不明確自己 很可能會引發錯誤。 如果你不明確就如何 做花生醬和果凍三明治 奇怪的事情可能會到達。 這是同樣的想法。 現在,我只想說有 其他一些轉義序列, 不過我們會找到那些用不了多久。 本質上這些逃生 序列代表什麼 你可能無法 太容易在鍵盤上, 沒有混淆的計算機。 現在,與此同時,我們 佔位符的printf。 %的D,它也可以寫成 在幾乎所有情況下的百分之一, 是一個佔位符的數據是什麼類型的? 什麼樣的價值? 十進制數。 所以實際上,我們將開始 使用%的I,因為它是 比較簡單,就像一個整數。 %的I。 一個整數,它恰好是小數。 百分比Š我們已經說了 佔位符的字符串。 這僅僅是一個詞,一個短語, 一個段落,一篇論文,等等。 這是一個序列 一些長度的字符。 我們將不久看到 一些其他的。 但百分之c是單個字符。 百分比f是一個 浮點數 這樣有一個實數 在這一個小數點,這 當然不是一個整數。 並有一個整體 一群人也是如此。 同時,在C和 在許多語言中, 我們有不同的數據類型。 不同類型的 玻璃碗,如果你會的。 碗我用最後一次 是為乒乓球, 但是,我們還可以存儲不同 如字符和字符串值 並在容器中的整數, 就像一個變量,而C有這些。 char是數據的類型, 變量的類型, 您可以在其中存儲的字符。 浮球是一個類型的變量 它可以存儲一個實數。 INT當然是一個int。 和相當可笑 命名很長很長 在這裡,你基本上可以存儲 一個很長的數字,連 更多的數字則 典型的詮釋可能存儲。 但我們會回來用不了多久。 在CS50點ħ同時 在其他的頭文件 我們已經看到一對夫婦 在使用時間,有 另外兩種數據類型 不要在C中存在的典型。 一個是字符串,我們會看到在 幾個星期什麼真正的字符串 在引擎蓋下方。 一個是布爾值。 和一個bool是一個變量, 可以只對特定的值。 而只是根據上週的 划痕的解釋, 以及最近C, 你會猜想 有兩個可能的值 有些容器是bool類型? 是的,沒有。 1和0。 真的還是假的。 事實上就這麼容易的最後 是傳統的編程 語言,說什麼 像真或假。 同時,CS50庫來 一堆的功能 該工作人員為你寫的, 除了剛開始的字符串。 我們提前職能寫道, 可以從用戶獲得的整數, 得到一個字符, 得到一個浮點數,即 僅僅是一個數字的小數點。 得到一個很長很長,真的 從用戶的大值。 因此,我們只看到這 動作中的Ge​​tString的形式。 但是,通過這些功能 很快就可以寫 即獲得來自用戶的輸入的程序。 同時考慮這 計劃,並考慮 我們怎麼可能現在就開始增加 將其與新的構建體。 快速旋風之旅 然後我們將看看 一些寫一些 手動程序自己。 今後如果我們想 實施條件, 它不會看起來像一個 可愛的小漂亮的拼圖。 這將看起來多了幾分神秘的。 但是,這是典型的 在C的條件下結構 這個詞,如果兩 括號,裡面其中 將是某種形式的 布爾表達式。 現在斜線斜線 在中間,這是 此刻有點像 偽代碼的佔位符。 但更正確,任何一行代碼 在C中,與斜線斜線開始 是一條評論。 這就像一個便條,你可能 換上的文章,印在紙上。 這是一張紙條給自己。 它沒有的功能 對方案的影響。 這有點提醒的,這是你自己 文件以什麼回事。 因此,在目前這樣做 是那種佔位符 不管是什麼裡面 這些大括號 最終是要做些什麼。 同時你有兩個叉 路上,一個if else結構是這樣的。 你可以的,如果,ELSEIF,否則。 現在,這是值得注意的,尤其是 如果你已經圍繞谷歌搜索 網上資源出 好奇心,或者如果你拿起 過程中的一個 在C推薦的書籍, 你會看到,人類有很多 不同的偏好是如何 來表達自己的代碼。 有些人喜歡把 大括號,因為我在這裡所做的。 有些人喜歡把捲髮 在這裡括號為實例。 有些人喜歡把偷別人 在這裡,然後這個在這裡。 有任何數目的方式來 寫代碼,他們都不 是對本身。 雖然有幾個 這是相當錯誤的。 但也有no--如果這是 最後一個很嚴謹的辯論。 事實上,最討厭的1 關於計算機科學的東西 是如何自以為是 計算機科學家都可以。 你會發現隨著時間的推移 即使你開發的個人喜好 為你的代碼應該是什麼樣子。 不只是循規蹈矩,不只是建立輸出, 但怎麼也應該美觀。 所以,我們需要做的是沿著引導你 一路走向,至少目前, 一個標準的CS50風格,至少 使事情變得均勻,易於閱讀。 但在那些更 不久區別。 布爾表達式在C中,如果你 想說的話,如果這個條件為真 這等條件 真的,你不寫的字 並且,你會用英語。 你不是用符號與符號, 對於原因,我們會回來的。 如果你想說的,或者你用兩個 豎線,這是美國鍵盤上 通常上述的輸入 鍵旁邊的反斜杠。 這也就意味著,如果這一條件 或該其他條件為真時執行此操作。 同時有這 瘋狂的事情,這 你將有機會 在一段時間使用一次。 但它只是一種替代 的方式來表達自己。 這一點,現在,讓我們來 規定,它只是 表達的另一種時髦的方式 如果ELSEIF,ELSEIF,ELSEIF,ELSEIF。 它只是在格式條款 情況下,如果你從字面上的 枚舉值 你可能要檢查。 同時循環。 我們看到的比較 從頭開始循環。 而且我要揮揮手 各有什麼這些東西的意思。 但是請注意,循環將很 往往先從關鍵字。 或者,它將開始與關鍵字一會兒。 或者,它會開始用關鍵字 做的,用關鍵字而結束。 但是我們要看到 是東西更是這樣。 在這裡,在一般的C語言,你怎麼可能 聲明一個變量,並給它一個值。 在C語言中不足夠, 就像在刮,你只要 說給我一個變量叫什麼。 你要告訴℃,並告訴 編譯器,更具體地說, 什麼類型的值你 要放在玻璃碗裡。 它是一個整數? 如果是這樣,你要 從字面上說,INT,然後 的變量的名稱, 然後一個分號。 如果你想要的,而不是字符串,稱為 它就像我今天做了我的代碼, 你會說字符串s分號。 當你想給它一個值 那麼你可以使用等號, 否則被稱為 賦值運算符。 並注意各 這些代碼行 有分號它的結束。 但是,坦率地說這只是 看起來有點醜。 為什麼我不能說,到電腦,給 我一個變量,並將其初始化為0。 也就是說,給我一個空的玻璃碗裡。 雖然你可以。 這樣一來,判斷一個叫你 必須使文體上隨著時間的推移 是,你寫你的代碼,這樣,或 有種你把它打掃乾淨,​​並留下深刻的印象 人們通過寫兩行只有一個。 這將被認為是 通常是一個更優雅的方式 的文體寫你的代碼。 功能我們當然看到了。 他們將採用這種格式。 一個函數的名稱,有些 括號,然後也許有些 裡面的東西。 或者,你可能會看到應用 多種功能方 並排,像這樣的事情。 現在,作為一個切線,不 這個笑話現在做有意義嗎? [笑] 這並不意味著這很有趣,但它 也或許做一點更有意義。 所以,現在,讓我們進入 CS50家電一會兒。 讓我在這裡開了1傳情。 的原因,事實上1 引入宜家產品目錄 和閃爍的畫面 在iPhone的前位 是真正綁在了一起 事實上,僅僅在幾年前,在2007年, 這段代碼是 釋放時,將其 在第一個執行的一個 一個軟件的 那做什麼叫做越獄。 對於那些不熟悉,越獄 像手機或iPhone手機 指基本上搞清楚 如何做事 與它的公司 誰做的,也沒打算。 如要安裝特定的 軟件不是在應用程序商店, 越獄你的手機,它 你做這樣的事情多。 但是,什麼是樂趣 2007--而且一直 幾十個不同版本的 這些東西從那時起, 在各種languages​​--是 這個節目在這裡,所謂的iUnlock, 實際上是用C寫的所以我 拉升的源代碼本, 只是那種告訴你一些 與結構的相似性 我們一直在討論迄今。 現在有更多的方式在這裡的複雜性 比我們在課堂上已經看到了。 讓我在這裡滾動只是一點點。 但是請注意these--好,我們注意到一些 things--但這裡要注意這些線, 包括標準的I / O點小時。 和all--線24,please-- 注意標準的I / O 點H和一大堆其他的 文件,顯然其他人 寫。 如果我們向下滾動 這一點,隨意一點, 請注意,我不知道該怎麼寫 這一切我一定還, 但是有如果。 因此很明顯,這有一個分支。 如果我向下滾動一點點 如果再有另一個。 如果我向上滾動,我覺得 圍繞線100,我看到了。 所以我不太清楚 是如何工作的呢, 但是這是一個for循環,那將 讓我重複的時候一定數目。 如果我所有的滾動 的方式向底部 我看到有一個 功能這兒叫 主,以及一些額外幣 為您的閱讀快感。 因此,這僅僅是say--,我們會把 課程的源之間的這種在線 代碼today--,即使其中的一些 我們認為理所當然的設備, 在一天結束的時候你還在 用我們這些已經基本結構 不斷推出已有迄今。 這就足夠了的那一個。 好吧,現在讓我們來 實際上建立的東西。 讓我們超越像 hello.c中,並打開了這一點, 讓我們在這裡寫這個程序。 我要繼續前進, 編寫一個名為如adder.c程序, 在生活中,其目的將是 像我的第一個超級簡單的計算器 這只是增加了幾個數字。 不是因為這是一個硬 的問題,而是因為它 讓我現在配合 在一起的幾件事情。 所以我要繼續前進,包括 標準I / O點H和CS50點小時。 我要說INT主要作廢。 並再次在未來的 我們會回來吧 成在這方面和空隙裝置。 而現在我會說些什麼 如printf,給我一個整數。 現在,在我的第二行, 我該如何表達自己這樣的 我想聲明一個變量 這是怎麼回事存儲一個int? 從字面上看我該怎麼輸入,如果我想 創建一個存儲一個int變量 你會說什麼? 整數a等於調用getInt。 當然,這樣的作品。 和公正的一致性 用你的代碼會 在網上看到的,讓我改變 此為x,只是因為變量x 是一種常見的變量名 使用中,至少在代數。 現在讓我繼續前進,不要再printf的。 給我一個整數。 現在,我要那種 對學習的模式, 我要說詮釋y到達調用getInt。 我們已經不習慣 調用getInt之前,但只是 喜歡的GetString去,並得到一個字符串, 像哈維爾觀眾一樣, 同樣不調用getInt 開始閃爍提示。 和有效地等待用戶 給它一個整數,通過鍵入它 並按下Enter鍵。 現在,最後,我該怎麼辦 對此,printf的總和of-- 並讓我看上now-- 百分之一和百分之i是目前 í感嘆號反斜線ñ。 那你覺得我會 現在擺在作為附加輸入 對printf? 我不想說 從字面上報價引文結束的X. 我想在類X和 那麼,現在讓我們看上 而我們只是假設 我們可以做我們想要的。 你接下來想要說什麼? X加Y。 事實上,將工作。 它的最低限度的編程語言 做到了解基本的算術運算, 所以這其實應該工作。 因此,讓我繼續前進,不要讓 加法器在我的黑色和白色窗 到這裡,回車。 神秘的線,但沒有錯誤 消息,所以這是很好的。 點斜線加法,給我一個整數,1。 給我一個整數,2。 的1和2的總和為3。 好吧,所以很瑣碎 程序,但它是什麼呢? 它讓我用一個函數 叫這裡,這裡調用另一個函數, 兩次調用調用getInt中, 第三次調用printf, 然後用這些佔位符。 所以這是一個多一點 先進的比上一次。 但是如果我想 得到一個小票友? 讓我繼續前進,現在做到這一點。 讓我繼續前進,創造一個 新的文件名為為零的條件。 我要去拯救 一段時間類的緣故 而剛剛粘貼在 代碼為出發點。 而現在我只是把 一些在中間的是新來的。 所以printf的,我想一個整數吧。 而這一切代碼都可以 在球場上的網站, 你不必鍵入這一切了 在課堂上,如果你不能再喝了。 INT,現在我要去 用它代替x和y, 我要使用N,這是 可能是最常見的名稱 用於在計算機程序中的一個整數。 現在我想做一個 在這裡,小的判斷。 我要去當n看 大於0,則 我會說printf--哎呦, printf--你選擇了一個正數, 感嘆號反斜杠ñ。 關閉了。 否則我要打印出來的printf 你選擇了一個負數。 現在你罵我之前, 讓我們來運行這個程序。 讓我去這兒吧。 以及如何編譯程序 所謂的條件幾許0? 請條件幾許0。 那種愚蠢的名字,但 - 該死。 好的,好的教學時刻。 為什麼說分手? 什麼我不小心把這個文件? 種可以推斷 從選項卡在這裡。 因此,它不是壞的,我 這樣做,因為這 也許會發生一些你。 所以我不小心叫我 源代碼的條件0。 但是按照慣例,我的源代碼應該 在一個名為條件0幾許C文件, 或什麼的C點。 因此,讓我解決這個問題。 就像Microsoft Word中,我可以走了 另存為,做條件0 C點。 現在只是要整齊,我 要繼續前進,並刪除 狀態0,這是我的舊版本。 現在,讓我們做製作 狀態0,回車。 好吧,似乎不錯。 條件0,回車。 我想一個整數請,50, 你選擇了一個正數。 現在怎麼樣負50? 你選擇了一個負數。 現在怎麼樣,0。 很肯定的0不是消極的。 因此,這是怎樣的一個邏輯錯誤。 我該如何解決這個問題? 否則,如果n小於0,這樣做,否則 我們可以有一個三路分支在這裡, printf的你選0。 所以現在,如果我重新運行該 程序,編譯後 再次化妝,現在重新運行 狀態0,我會在這裡看到 0給我的輸出。 所以,我們去哪兒了呢? 那麼它很容易忽略 森林中的樹木。 所以,讓我們來總結 與此2和1.5分鐘的視頻 最終是有點 從谷歌的廣告, 但是這真的是應驗了 即使使用這些基本的建築是什麼 塊,我們可以最終做一次 我們有位編程 根據我們的皮帶頭腦。 [音樂播放] SAROO布賴爾利(旁白): 那是26年前, 我正要轉5。 我們到了火車站, 我們登上了火車在一起。 我哥哥剛才說我會 住在這裡,我會回來的。 我只是在想,嗯,你知道, 我還不如乾脆去睡覺 他將只叫我起床。 而當我醒來的時候下一個 天,整個滑架 空了一個失控的火車,鬼 火車帶我去,我不知道在哪裡。 我採用了澳大利亞, 一個澳大利亞家庭。 和媽媽都裝飾了我 房間與印度的地圖上, 她把旁邊的我的床邊。 我每天早上醒來的時候 看到地圖,並因此 排序它不停的回憶活著。 人們會說,你是 試圖找到一個針 在乾草堆裡,Saroo 你永遠也找不到它。 我曾閃過的地方,我 以前去,我家的閃爍 面孔。 這裡是我母親的形象, 坐在她的雙腿交叉, 只是看著她哭。 人生就是這麼辛苦。 這是我的寶貝。 我一直在尋找在谷歌地圖和 意識到有谷歌地球也是如此。 在這個世界裡,你可以放大, 我開始把所有這些想法 和什麼樣的可能性 這可以為我做。 我對自己說,你知道,你已經 把所有這些照片的回憶 和標誌性建築你來自哪裡,以及 你知道什麼是城鎮的模樣。 這可以是一個應用程序,它 你可以用它來找到你的歸途。 我想,嗯,我會放 點在加爾各答火車站, 和半徑線,你知道,你 應尋找解決這個地區。 那種我碰到 這些火車軌道。 我開始跟隨它,並 我來到了火車站的 反射的同一圖像 那是在我的記憶。 一切都匹配。 我只是在想是的,我 知道我要去哪裡。 我只是打算讓 地圖,我在我的腦海 引導我,帶我回到了我的家鄉。 我來到家門口 我出生的房子。 而走了一圈約15 蠢蠢欲動米, 有三個女人站 外,彼此相鄰。 而中間的一個走上前去, 我只是覺得,這是你的母親。 她走上前來,她抱著​​我, 我們在那裡約五分鐘。 她抓住我的手, 她把我的房子 並得到了電話,她在 響了我的妹妹和我的兄弟 說,你知道嗎, 你的兄弟剛 所有突然出現像幽靈一樣。 然後一家人再次團聚。 一切都很好, 我幫我媽出去, 她沒有被累死累活。 她能活休息 她在和平的生活。 這是一個大海撈針, 但針在那裡。 一切都在那裡。 一切,我們在世界 是一個按鈕的點擊。 但你必須有意願和 決心想要它。 [音樂播放] 大衛馬蘭:奇妙 甜蜜的告別賽 剛一下即可 現在做的技術。 我們會看到你下週。