>> [視頻回放]
>> 數學-A勝利 和機械技能
這是偉大的新自動 計算器在哈佛大學。
在數學複雜的問題 把通過機器以編碼形式
在磁帶上精確地解決了 的時間分鐘餾分所需
人類計算。
為了加快各種形式的 數學和科學的研究，
巨型機械的大腦會工作 美國海軍直到戰爭結束。
>> [結束播放]
>> DAVID J.馬蘭：這是CS50。
過去是一個神奇的 的地方，但如果你曾經
不知道這是什麼設備 在哈佛科學中心，
這的確是部分 哈佛大學的馬克我，這是
現陳列有 在過去的許多年。
你會看到什麼 嵌入問題集
一個是幕後看看 在什麼設備做了，確實，
哈利·劉易斯教授，誰是誰非 計算機科學系在這裡。
因此，更多的是在短短位。
>> 但是，今天我們開始轉型 從上週到這一點，
我們會帶提 在這裡，人們的照片
這實際上是頗負盛名。
有誰知道這是什麼 這裡是在屏幕上？
至少根據神話。
是啊。
聽眾：第一個病毒。
DAVID J.馬蘭：所以這是假想 在計算機中的第一實際錯誤。
現在，在現實中字錯誤， 為程序中的錯誤，
已經伴隨我們一段 時間在物理世界中，
這是第一個 記錄的時間，其中確實有人
彈撥大蛾子出來的標誌 II計算機，將其放在粘合劑，
然後記錄了它 作為第一個已知的bug
到其實已經發現了身體。
所以這樣被輸入 這為今天的絕殺。
從去年的一切 每週在網上提供。
特別是資源，你可能 不一定注意到，特別是
如果來到這裡的人。
因此，教學研究員之一，每 一年做一個規範的集合票據，
所以你不必守 你的頭，試圖
抄寫任何東西 這可能發生在這裡上課。
因此，認識到這些 所謂[？ Scribd？]注意事項
在線，肯定是幻燈片和 我們在課堂上使用的源代碼。
我們充分文字成績單 可用。
所以，如果你依稀記得一些 長期，想看看它一點點
更容易，實現所有 那是在線搜索。
除了演練為好。
事實上，今天我們首先來看看 較低級別的編程語言，
馬上要為我們所知 為C，這是很容易
以經過短短幾分迷路 片刻時間，然後進行排序奇蹟
我們如何真正得到了一些 複雜的例子，從最簡單的。
所以，實現我們的櫻桃 挑類中的一些中
的代表性的例子，但 認識到這麼多也
可在網上這樣你就可以工作 通過它按照自己的節奏，
然而，你最舒服。
>> 但是當我們離開了與 這只是該計劃。
於是我點擊綠色旗幟， 而這是什麼節目呢？
說，你好，世界。
它使貓說 你好在他的小世界
在頂部左側 的划痕的用戶界面。
但是，我們開始引進 上週一些術語。
因此，像這樣的事情，我們叫什麼？
可能是什麼通稱呢？
是啊。
方法或聲明。
當然，這是一個動作。
做到這一點。
然而，有 其他形狀劃傷，
除了這些所謂的 聲明中，他們也
像這樣的事情，我們叫什麼？
是啊。
這樣一個循環。
在這種情況下，這個事 重複序列，很明顯，10倍。
有一個永遠的塊。
有一對夫婦他人。
而今天我們要看看如何 翻譯這一個更現代世界，
如果你願意，即使它 要乍一看
要更加神秘。
但這些確實循環。
然後，我們喜歡的東西 這一點，其中有這樣的形狀，
而且基本上問的問題。
我們將其稱為什麼呢？
>> 聽眾：布爾表達式。
>> DAVID J.馬蘭：是的。
布爾表達式。
東西是真或 假，是或否，一個或零，
但您要查看的世界。
但是，我們叫那些布爾 表現形式，我們將它們插入
為條件，或分支機構。
和在世界 從無到有，一切都很好
在其形狀方面聯鎖， 如果它使邏輯意義的話，
但你不必停留在只 做一件事有條件，
你可以有一個諺語 岔路口
做非此即彼，如果 條件是真還是假。
然後，你會看到， 如果你還沒有準備好，
你甚至可以嵌套這些塊。
所以划痕生長填充形狀 您可能要插入進去，
這樣你就可以真正表達最 你可能想要做的任何邏輯。
>> 公告現在的幾句話 對於在這裡和紐黑文。
所以切片從今天開始。
該網址，這是在球場上的 網站，對於那些不熟悉的。
段將是一個 機會相聚
在一個更親密的環境 比[？桑德斯？]允許，
用10至20的同學用 助教在不同的軌道，
和不同的速度，如果你選擇。
事實上，課程提供 不同的部分
對於那些不太舒服，更 舒適，介於兩者之間，
和拇指這裡的作用，是 有沒有正式的定義，
但如果你不舒服， 那種你知道的。
你是一個勇敢一點對 踩著腳下，也許，回理念
在課堂上，或顯示 長達一個在部分之間。
如果你因為你是編程 是六歲，更舒適，
也許你。
而如果它是一種勝負難料， 這正是之間的中
就是要。
>> 現在，在此期間， 一類這種規模，
它需要我們相當長的一段時間，部分 每一個人，所以我們所謂的，
超節，來了這 週末及下週初，
所以看看在課程的網站 對於那些過程寬，
並且還拍攝了那些 誰也無法使它們。
而部分本身將啟動 在本週三CS50零指標。
習題集0已經是 在球場上的網站。
並意識到你必須 9晚天這學期。
因此，這是從去年升級 今年，當我們有五晚了幾天。
>> 所以，如果你想知道， 我們有九習題集。
你有九晚天，每個 你只能花一，每週上。
這實際上使所有的 問題集將於週五公佈，
但我們的目標是把一個小 心理壓力位
你試圖讓 事情在週四
因為你很快就會發現， 是好還是壞，最
一切都在軟件世界結束 以比預計的要長很多。
因此，認為這是一種 機會幫助
自己到週四目標， 但感到欣慰的是，是的，
一切都將於週五公佈。
如果你提交他們 週四，這是美妙的。
有沒有獎勵積分或額外 信用為滿足這一最後期限。
它的意思是只有一個拐杖。
>> 和辦公時間，無論是 在這裡和在紐黑文，
在人，如果你想 與我們的課程滿足
教學研究員和CA的援助。
>> 好的。
所以，現在，讓我們這個更真實。
一時間它會啟動 得到多一點神秘，但很
迅速上週五和 下週我們將
能夠這樣做大大超過 我們可以迄今在划痕。
因此，我們推出了代碼的最後 本週，儘管pictoral。
這是拼圖。
我們形式化，這是 所謂源代碼，
但也沒有什麼樣子的？
那麼，它看起來有點 這樣的事情。
而且，事實上，只是那種 逗，我們可以去與此有關。
我要繼續前進， 這裡打開一個窗口，
我只是要選擇新的文件。
而且我要保存此文件 因為像招呼C點。
更重要的是選擇 也就是說在短短的時刻。
這是一個人怎麼可能 去寫一個程序。
包括標準I / O點H，INT主要 虛空，然後打開大括號，關閉
大括號，printf的招呼逗號世界， 反斜杠N，分號，保存，完成。
確定。
我已經寫了我的第一次 程序，但是它是怎麼回事
是難以置信膩味 因為當我真正
運行，當然這個程序， 通過先寫使招呼，
然後斑點削減招呼，我們將 通過這個更加詳細
在一個時刻，這就是它所做的。
不彈出打開的任何窗口。
它不會做任何事情 特別花哨。
它所做的是什麼，我告訴它 這樣做，但我們怎麼去的？
我們如何建立在那？
好吧，讓我們來介紹幾個 不同的概念在這裡。
>> 所以之一，我們即將開始 使用被稱為編譯程序。
編譯器存在於Mac OS，Windows中， Linux中，任何數目的操作系統的，
我們會盡快為您介紹 環境，我們將使用，
但一個編譯器只是一般 期限為一個軟件
這需要源代碼和 從它產生的目標代碼。
換句話說，如果 有作為輸入源
代碼，像我剛才輸入的， 它最終生成目標代碼。
代碼和目標代碼實際上只是 說它輸出一個奇特的方式
零的和一個人的。
換言之，源 代碼，即使它
會顯得有點神秘， 又有點不太友好
比刮乍看之下， 它至少東西
我們人類能理解。
那種它看起來和聽起來像 英語，即使它非常簡潔。
而在零的編程和 一個人的，因為我們的前輩不得不這樣做，
幾年前，不是 特別有趣的挑戰。
然而，這就是 電腦還是可以理解的。
因此，編譯器會讓我們從 源代碼，目標代碼​​。
這就像用打開文件 編譯器，當你保存它，
你得到這些零和一。
所以我們會看到怎麼辦 在短短的時刻。
>> 但是，讓我們現在試圖提供一個 上週，這之間的橋樑，
這樣即使我們得到紅 這類事情，大括號，
和分號，和括號，並 所有這些智力有趣
編程的各方面，這非常 可以理解早早就絆倒人組成，
認識到，所有的思想 今天，是與上。
所以最後，我們看到了這個例子 在這裡，Hello World程序。
好了，從今天開始，如果我們想 實施同樣的計劃，
它會看起來 有點這樣的事情。
我們將長期INT什麼才解釋， 和主，和無效的，和所有的
是，但至少我在這裡看到 早已熟悉的Hello World。
>> 同時，這樣的事情 功能，打個招呼，
很簡單的將是一個 很簡單的聲明是這樣的。
PRINTF的hello world，一些 引用，用反斜杠，
用分號，但 更多的來。
循環，同時，這是一個循環，， 當然，說世界你好一輩子，
而這個人會看起來 多一點在過去的怪異，
但如果我說些什麼 像，而真實的，我
然後可以打印出世界，你好 一遍又一遍又一遍。
然後，你可以種 的開始在這裡推斷，
使用此約定 大括號是一種
像擁抱 代碼縮進行那裡。
代碼的printf的行很像 黃色的一塊拼圖了上面。
因此，我們不會說永遠， 我們要說的，而真正的，
但我們會看到這是為什麼在短短的一點。
>> 同時，如果我們有一個循環是這樣， 你重複的東西是有限的地方
數字時代，這一個了它的 要採取一些習慣
，但它會說，對於int 我得到零，我不到10，我++，
然後printf的一次。
但是，將是格局。
而對於那些你熟悉的 與AP計算機科學或Java，
或任何數量的其他語言， 幾乎所有這些構建體的
迄今為止應該大多是熟悉的。
>> 所以變量。
所以這裡有一個簡單的划痕摘錄 設置一個所謂的計數器為零的變量，
然後永遠說的計數器， 然後它改變由一個計數器。
因此，它具有零啟動， 再一，二，三。
那麼，怎麼可能我們介紹，在 這種新的語言有點相似？
詮釋計數器等於 為零，而真實的，這
與以前同樣的想法 做事永遠的，
而我只是去給printf。
而現在它變得有點怪， ％的我，但更多的是前來，
但這些想法是完全一樣的。
我們剛才要堅持 計算機是語法
將我們的需求。
>> 布爾表達式，像 SX小於y或x除y以下，
和y小於ž。
這將看起來少了一些 這樣，用括號只
像數學中的好措施，只是 確保操作的順序
是因為我們打算。
而現在，條件。
因此，如果x小於y，表示x是少 比Y，否則，如果x大於Y，
說x大於Y，否則 從邏輯上講，x必須等於y。
所以，你可能實現 像這樣的划痕，
或者你可能實現 它在這個語法。
再次，花括號是種 給我們相同的形狀拼圖
件，但語法，現在，也許是 開始跟著一些模式。
>> 那麼，是什麼讓我們在這裡？
所以我們當時在我們的主程序。
讓我們實際上，現在， 用它做什麼。
因此，在這種非常第一 行，我們看到犀利包括，
標準I / O，點H，和 然後一些奇怪的角度
括號低於。 INT主要 虛空，然後printf的世界你好。
因此，只要採取的一個步驟。
有人誰以前從未編程， 至少解釋這些線中的一條。
使用也許有些 上週的行話。
什麼是printf的，例如？
是啊。
>> 聽眾：[聽不清]
>> DAVID J.馬蘭：是的。
這是一個函數，或者聲明， 從上週的術語。
而且它是一個行動 這在做什麼。
現在這個功能，或者 這種說法，確實
它似乎需要一些類型的輸入？
以及在何種意義呢它 似乎採取的輸入，如果是的話？
輸入，請問我的意思？
是啊。
>> 聽眾：[聽不清]
DAVID J.馬蘭：是的。
所以劃掉了一些拼圖 在這裡你可以參數化的。
你可以告訴重複 阻止多少次重複，
所以這是一個輸入 排序，並就像划痕
有一個白色的小佔位符 你鍵入的數量，
這樣做，我們在此使用 文字世界括號
給我們，圓形 在其中，我們可以將我們的輸入。
畢竟，幾十年前 當這種語言，稱為C，
被發明沒有人 預計這是我們的一員，
這些若干年後，我們就 想要一個函數，打招呼。
對嗎？
這將會是很好，如果有一個 拼圖，或關鍵詞，
這就是所謂的打招呼，說 從字面上只是說你好。
但是，我們不需要這樣。
我們可以有一些低得多 的水平，就像一個普通的打印
命令，這需要投入， 並打印任何我們想要的。
所以現在看到的格局 這將開始出現。
開括號，括號接近是 顯然擁抱輸入，
然後我看到雙 報價兩端。
還有奇怪的反斜線 N，但希望現在你
可以開始至少是想像 的printf正在採取某種形式的輸入。
還不如用戶友好 從無到有，但它只是
就像插在一定的價值已經出現。
>> 好了，現在讓我們來實際 做一些與此有關。
所以，有些人可能知道，從 面前逛過類，
與朋友聊天時， 對於許多年
我們使用了一種叫做 該CS50設備。
這是描述一個技術術語 稱為虛擬機，這
是一個軟件，你的 前輩會下載關閉
課程的網站上免費。
他們還將免費下載一個 軟件稱為虛擬機管理程序，
一些所謂的像VMware， 或VirtualBox的，或任意數量的
其他工具，並在他們的Mac或PC 或者他們去年無論電腦
而在過去的幾年中，他們 將雙擊圖標
運行此軟件 所謂的虛擬機管理程序。
然後裡面那個節目 他們會打開CS50設備。
和效果是 無論是你的前輩
在運行Mac OS或 Windows中，他或她再
隨後有一個新的窗口，他們的 屏幕上運行CS50的環境。
因此，虛擬機可以讓你運行一個 的另一個內的操作系統，
而這正是我們所做的事情。
縱觀大多當然，我們的 使用稱為操作系統
Linux的，特別是 Ubuntu Linux操作系統，並且這
在過去幾年的一個非常好的方法 確保每個人都在使用過程中
只是有相同的環境。
你可以使用任何類型的 計算機你真正想要的。
間的缺點，但是， 是它就像兩個千兆字節
下載這個東西。
它並不一定工作超好上 人，他們的電腦，也許只有
有這麼RAM演出，或者，還是不 CPU速度的太多千兆赫，
所以今年， 這個和其它原因，
有，我們已經過渡 這種環境。
所謂CS50 IDE，它是 基於開源軟件，
和支持的平台 一家名為Cloud9
支持在歐洲，那 讓我們有本質
這完全一樣的環境中 過去幾年，但在所謂的雲。
>> 那麼，什麼是雲計算？
你可能已經點擊 它在你的Mac或PC圖標。
什麼是雲計算？
是嗎？
大聲一點。
是啊。
它只是一堆電腦 其他地方存儲數據和運行
軟件等。
因此，它實際上只是這個詞去 描述[的法律？可出租？]
居住在其他地方的計算機。
那你，你自己， 不一定擁有。
所以，當你的數據，或者你 計劃，是在雲中，
它只是意味著它是在人 其他地方的其他人的電腦，
不，最有可能的，在你的 物理筆記本電腦或台式機。
所以這就是CS50 IDE現在。
>> 從此以後，你會去到一定 這將向您介紹網址
要在問題設置1，後面的 週，將接著，在記錄在，
給你這樣的環境。
而就像刮了 涉及到幾個不同的面板，
這樣做CS50的IDE有完全相同的。
在左上方這裡，你 要看到一個熟悉的文件瀏覽器。
所以任何一個文件，你 投入這個環境
只是要在那裡列出。
文件和文件夾。
在這裡頂， 你會看到一個地方
在這裡你可以真正編寫代碼。
最初的C，後來在 長期在PHP和JavaScript，
和，或許為最終 項目，Ruby或Java或Python的
或任意數量的語言 在這種環境下的支持。
它不是在所有綁 到CS50明確。
>> 然後在這裡的底部邊角， 特別是對於那些更舒適，
你有什麼 所謂的終端窗口。
而這個終端窗口允許 你執行任何命令你
想在這個雲環境。
它可以讓你安裝 任何額外的軟件
你想要的，因為你所謂的 根或管理員權限。
因此，換句話說，即使這 在雲最終主持，
儘管我們有 簡化它在一定程度上
默認情況下，從字面上介紹， 感謝Dan Armendariz環，和迪諾，
和CS50的團隊在丹·布拉德利 過去數月，一個不舒服
模式隱藏了許多的 最初混亂的干擾。
一切都存在於 代表一個典型的計算機系統
你可能在現實世界中使用。
>> 那麼，這一切意味著，和 我們能真正用它做？
讓我們實際採取在偷看的程序。
所以，我要打通 實際的環境在這裡，
這僅僅是我們的Chrome瀏覽器 瀏覽器，它可以是火狐，
可能是IE瀏覽器， 或一些其他的瀏覽器為好。
它的全部篩選這裡的時刻。
我想實際挑逗 除了這是什麼節目了。
因此，讓我們來看看，通過放大了 頂部，我做什麼，我怎麼來到這裡。
因此，這裡的這些精確 同一行的代碼。
因此，這是語句， 正如你前面提到的。
該功能打招呼。
大括號，在 四號線和六號線，
大概是一種包絡 該行把它關聯
我的節目的本質。
所以實際上，這個關鍵字為主， 這是在那裡上三線，
你能想到的，作為等價物 的，當綠旗點擊，
阻止劃傷。
所以，這就是我們這裡有，是當 綠旗點擊，打印，或者說，
你好世界。
>> 但是，讓我們來猜測，現在，在什麼 這第一個，更神秘的線，是。
夏普包括，開成角 支架，標準I / O點H，
關閉尖括號。
什麼，也許這樣做， 特別是如果你編程
之前在某些其它語言。
是嗎？
>> 聽眾：[聽不清]
DAVID J.馬蘭：是的。
沒錯。
因此，這是給你訪問 圖書館，可以這麼說的功能。
和函數庫是 功能別人
中寫道，無論是近期 還是很久以前，這樣你
不必推倒重來。
舉例來說，我們不這樣做 要知道，在2015年，
如何編寫代碼，這使 字符我的屏幕上。
別人已經想通了 用printf函數
這樣我可以排序的抽象 遠離，或層
之上他或她的 代碼，而現在只取
理所當然地認為，任何程序我寫的 可以打印東西到屏幕上。
因此，在第一步中這第一行 包括所謂的頭文件
為標準庫。
所以看到的，在語言 這是我們現在工作
有一個標準庫 有很多的功能。
PRINTF就是其中之一，和 該代碼的第一行
指給我的訪問 這些功能，讓我
不必重新發明該車輪。
>> 現在，讓我們去下面的窗口 做正是我以前那樣。
剛才，當我 通過代碼呼嘯，
打字出來的第一次， 我很快打字，讓你好。
那是什麼一回事，你會猜到的？
我到底在做什麼？
是嗎？
沒關係。
這是確定的。
是啊。
聽眾：編譯它。
DAVID J.馬蘭：是的。
這只是編譯它。
對嗎？
即使這是完全不熟悉 給你，這是相當英語等。
這當然不是零 和的，所以我還是
需要通過所謂的運行它 程序，編譯器，這是怎麼回事
把它作為輸入，產生輸出。
至少，就目前而言， 這個Linux環境，
但這不是先決條件， 這僅僅是我們將開始，
你一般互動 計算機系統這樣的
由一個所謂的命令行。
因此，與閃爍 及時和你的鍵盤，
並沒有那麼多你的鼠標，而不是 如此多的窗口和圖標和菜單，
而一切都是文字。
而且即使這樣的感覺，在第一 一目了然，也許，就像一個退步，
它實際上是一個更 強大的表達方式
控制計算機的 尤其是你，
自己，變得更 舒適的少。
這將讓你做了很多 不僅僅是微軟更多的事情
或者蘋果可以讓你做 他們的圖形操作系統。
>> 所以，當我按下回車鍵，現在， 什麼也沒發生這一次
因為很明顯的 節目你好是最新的。
什麼是命令 我跑了之後呢？
點斜線打招呼，你好世界。
現在，讓我們退一步 回來只是一瞬間。
事實證明，讓你好只是一個 編譯程序的簡化的方式。
讓我們只是介紹 一塊行話，
但隨後離開 從它，因為它不是
那麼有趣 對於今天的目的。
我們要開始使用編譯器 被稱為鐺，為C語言。
這是所運行的只是一個程序 就像我們在命令行上。
所以，如果我想 編譯一個程序，我
已經寫在一個叫你好點文件 C，我從字面上只需要輸入鐺你好Ç
進入。
>> 有趣的是， 由於歷史的原因，
如果我不指定 該方案的名稱
我想輸出，如果我不 對於那些零指定文件名
和的，很奇怪 公約獲得通過年前
它覺得那種一 在當時很好的答案，
那麼讓我們來只是隨意調用 第一個程序，我們編譯一個點出來。
一個是第一位的字母。
出，它的輸出。
因此，我們將調用程序 默認情況下，點了。
這很好，因為如果我想 基於此文本運行程序
環境，我只需要輸入 點斜線點了進去。
它會像之前一​​樣，運行。
因此，讓我們看到了真正的快速。
>> 所以，如果我回到我的 在CS50 IDE的源代碼，
我不是這樣做，鐺你好嬰兒床 c輸入，通知，似乎什麼都沒有發生，
但幾乎​​總是在 這個Linux環境，
沒事的時候不好似乎發生，那 意味著好東西居然發生了。
如果您沒有看到錯誤 消息，一切都可能是很好。
事實上，如果我現在做點斜線點 出來進去，我跑我的相同的程序。
我仍然有hello程序 從早期的，因為事實上，它是
將這麼多漂亮只是 鍵入make，而不是記憶
這些咒語 命令，但讓我們看看如何
可能會改善在此，仍然。
>> 所以，這是命令 編譯代碼。
這是運行命令 此後編譯代碼。
我怎麼可以指定一個文件名？
那麼就讓我們介紹 多一個行話。
當你在此 基於文本的環境，
你會想指定 東西叫做命令行參數。
這是說只是一種奇特的方式， 換句話說在提示符
調整的行為，無論 計劃你正在運行。
那麼具體的我節目 運行時，通過輸入名稱鐺，
被稱為鏘的計劃。
因此，這是和老同學 中雙擊相當於
在Microsoft Word或 有些程序的圖標。
我不是只鍵入其名， 但在這個版本的命令，
然後，我有幾許O空間 你好你好空間C點。
所以，即使你從來沒有 之前效力於這個世界上，
只是採取一種猜測是什麼 不劃線Ø招呼嗎？
或者，究竟說明了什麼鐺做什麼？
是啊。
>> 聽眾：[聽不清]
DAVID J.馬蘭：是的。
它只是設置文件的輸出為 你好，而不是愚蠢的一個點出來。
而且，事實上，讓我們試試這個。
所以，如果我現在做的，第一 讓我們做到這一點，R M你好。
這就是刪除。
它會說刪除 普通文件你好，這
是不必要的晦澀難懂，但它只是 手段你要刪除的文件，
我鍵入y（是）。
同時注意，如果你在頂部一眼 離開了，但它並從那裡消失。
現在讓我做鐺破折號o和 我要繼續前進，做打招呼，
全部大寫，你好點以下。
現在，如果我做點斜線 你好，你會期待什麼？
>> 也許這是區分大小寫的。
也許這不是。
讓我們來看看。
沒有這樣的文件或目錄。
我們可以種作弊被 只是看著左上角。
我是怎麼明顯 拯救計劃的？
所有帽你好。
所以事實上，這是怎麼回事 有所作為。
所以，現在的hello world又回來了。
現在，這是一切優秀和良好， 和所有非常令人麻木，
以獲取排序在這些陷入困境 細節，但理解它們
還是不錯的。
>> 鍵入這些越來越多 長咒語
不會是特別 好玩的，所以人們在世界
發明了另一種方案， 幾年前，叫
做，那很簡單 可以讓你輸入make，
節目的名稱 你想，使
是聰明的，因為它會查看 當前文件夾，又名目錄，
如果你有一個文件 名為hello點C，
這是它會編譯文件 你到一個名為hello程序。
因此，它是一個更簡單的方法 做更隱蔽的命令
我們做了前面。
我們已經預先配置 CS50 IDE知道
它應該做短線O和一些 其他標誌，或命令行參數，
過不了多久，我們就會看到。
>> 但是，讓我們現在實際上做 更有趣的東西。
只是打字的hello world所有 時間是不是所有的引人注目。
因此，讓我繼續前進，變革 這個節目，說，你好大衛。
現在，我要在這裡下去。
我要繼續前進，做讓你好。
並再次現在你看到的 使正顯示出你的時間越長
命令序列，它的 這樣做是因為我們已經預先配置
這樣的說法，但我們 不用擔心，現在
它在做什麼其他的比它 編譯點斜線你好，你好世界。
有什麼不對？
是啊。
>> 聽眾：[聽不清]
>> DAVID J.馬蘭：是的。
因此，noobie錯誤。
我注意到這是超級微妙， 但這裡的星號，在標籤，
只是意味著你沒有保存它， 和瀏覽器和其他程序
做到這一點的時候。
因此控制s或命令 小號應該保存它。
現在讓我繼續前進 並重新運行該程序。
重新編譯。
對，所以這是一個多步驟的過程。
其中沒有一個是特別複雜， 但任何時候我們更改文件，
我們需要改變由此而來 零和一，和點斜線打招呼。
哇。
因此，這是很給人留下深刻印象 我們剛剛打印出這一點。
讓我們把事情 多一點活力，現在。
>> 那麼事實證明，那個喜歡 從無到有，C支持變量。
而事實證明，如果你想 為具有可變，其存儲，
不是數字像我們 通常沒有與划痕，
但像一個字，或 短語或一個名字，你
可以指定一個可變 是string類型。
所以，我們會看到更多的 這些一會兒就好了，
但事實證明，C，和 很多喜歡它的語言，
有非常特殊類型的變量。
這不只是喜歡代數， 你在哪裡得到一個x，一個y和z
而這些都只是始終 號碼，在一種編程語言
你可以存儲數字，你可以 存儲單個字符，
你可以存儲整個單詞，你可以 存儲整個圖像，整個聲音文件，
和類似物。
因此，我們需要指定哪些 我們的變量的類型。
而按照慣例，我會打電話給我 變量s只是因為它的簡潔，
和s代表字符串。
>> 然後，我要保存 這個變量的內部，
就像有划痕 當我使用了一組塊，
我將使用 賦值運算符C，
這很好地夠平等 簽署，但等號做到這一點。
它移動的東西從右側進入 表達式的左側。
所以我做了什麼，要清楚 五號線，是我已經聲明的變量。
我已經告訴了電腦，給我 內存變量，稱之為為s，
並且事先知道我要去 要把一個串中它。
而一個字符串僅僅是一個 字符序列。
這是一個詞，或一個短語或段落， 但它是一個字符序列。
這不是數字。
是什麼字符串我將是 投入的變量？
那麼，顯然引述 引文結束，“漢娜”。
現在可以看到的新興模式。
有一個左手的表達。
有一個右手的表情， 由等號分隔。
而只是採取一種猜測，如果 陌生儘管如此，
什麼分號做。
什麼是它大概是做給我們？
是嗎？
>> 聽眾：[聽不清]
>> DAVID J.馬蘭：是的。
這只是終止該行。
對嗎？
這些計算機想要成為直言 告訴記者，從字面上看，該怎麼辦。
象花生醬和 果凍三明治的例子，
如果不指定 正是你想要，
它可能會留下來判斷或錯誤。
分號表示， 這就是它的這個命令。
它是超精密，它的 一個很容易的事情離開了。
所以，現在這個計劃似乎並沒有不 以不同方式表現任何直到我
使其更具活力。
因此，而不是硬可能我自己 名字，讓我把一個佔位符值。
而事實證明，我知道這 從已經閱讀文檔，
和所使用的功能為年，即 printf的被設計為動態的。
你不必預先知道 你想要的話把它。
你可以代替有 佔位符，比如％的s，這
是要告訴 電腦，放了串在這裡。
>> 這串做的，我們要放在那裡？
威爾原來，這兩者之間 括號，這還記得，劃定
的輸入的函數，如果有 逗號分隔的事情列表在這裡，
我們實際上通過在多個 輸入到一個函數。
所以就像一些划痕 塊，你可能不
已經打了他們 您的項目還沒有或根本，
一些划痕塊有兩個輸入。
兩個白色的盒子，你可以 輸入數字或單詞之中。
因此，為了不C已將類似的功能 printf的，可以採取兩個輸入。
再次，這個逗號 被隔開。
因此，在英語，再有就是 你從來沒有編程之前，
由邏輯printf的是一個函數， 採用兩個輸入，其中之一
是一個佔位符，你會希望 printf的是要與此輸入？
這是怎麼回事打招呼 漢娜，有希望。
因此，要做到這一點，我們需要保存它。
我要縮小。
我要背下來去這裡 並說，讓你好進入。
呵呵。
什麼是錯的，而實際上 這是一個相當巨大。
我有6行代碼 而像12行錯誤。
因此，期待這一點。
所以，這是怎麼回事嗎？
因此，拇指這裡最好的規則， 特別是當你開始了，
不要被分心 東西在底部。
其實，我很刻意 只是向上滾動
因為很多時候，一台電腦 不是所有的明亮的裝置。
這將混淆。
如果它看到一件事， 它不理解，
它可能會誤以為其他 行代碼是不正確的，
即使他們是完美的罰款。
所以，你總是想工作 在錯誤自上而下。
誠然，這是 超級神秘的時刻。
>> 錯誤，使用未申報 標識字符串。
難道我的意思是標準？
不，我的意思是字符串。
而它的指向，也許這是一個錯字。
有點像，拼寫檢查的 十分怪異的方式，但在這裡的原因，
你就會知道這 僅僅通過實踐，是
它原來是串 在C中不存在事實上，C
是一個非常古老的語言， 而且這是非常低的水平，
而且它不會很多功能 您可能已經長大了
有，如果你有，事實上，程序 在Java中，因為一些你有，
但你可以教它新的東西。
事實上，我們已經做到了這一點CS50， 即使在學期結束時，
所有這些培訓車輪 將已取消，
我們所做的這些 最初幾週
最初是我們還 你包括CS50點小時。
這是一個頭文件。
更上的未來。
>> 這是一個包含函數的文件 我們已為你寫好。
而這些功能中的 獲取輸入功能
從用戶，像字符串，和 號，和實數，等等。
但它也有幾個快捷方式。
它定義了布爾作為數據類型。
C沒有真的還是假的。
但是，我們可以給它的概念 真的還是假的這個庫的方式。
它也沒有一個串 內置的，直到我們有這條線。
因此，這行代碼指示 編譯器，哎，鐺，看
在這個文件中的一個整體 一串代碼CS50
寫這樣 使用此文件的人
可以認為是理所當然的 他們已經添加的功能。
>> 所以，現在讓我繼續前進 並清屏，
如果好奇，我只是說控制 l每個時間來清除屏幕，
或者你可以鍵入清晰。
我只是現在要繼續前進， 類型做出招呼，一切都很好。
還有一個神秘的輸出，但 這不是一個錯誤的信息。
現在，如果我做點斜線打招呼，並作為 一旁，點斜線是不熟悉的大多數。
這只是意味著，點手段 當前目錄。
所以，如果你曾經使用過 DOS或Linux或UNIX
你可能做了什麼 如CD點點，哪裡
點點意味著倒退 時間，或者倒退，或者更高了
在目錄中。
點只是意味著看在 當前目錄。
我希望你好，這是在這裡。
事實上，現在它漢娜說你好。
如果我再改 瑪麗亞，重新編譯
它將使你好，點斜線 你好，該計劃不斷變化。
>> 但是，這仍然是一個 非常愚蠢的計劃。
如果我想船這個程序， 或者把它送給一個朋友，
還是把它給瑪麗亞和漢娜 對於這個問題，這很好。
我可以自定義為他們兩個， 但它永遠不會是動態的。
一旦它編寫的，他們不能改變它 下到這些零和一。
所以，我們做了一些更聰明？
如果有什麼，而不是硬編碼 到程序這個人的姓名，
如果我們只是得到了什麼 對需求的字符串？
>> 因此，換句話說，讓我做到這一點。
我要重新編譯該程序。
讓我放大在底部了。
讓你好點斜線打招呼。
現在什麼也沒有發生。
我們可以得到一個快速的志願者 使事情發生？
上來吧。
你叫什麼名字？
>> PANCHO：潘喬。
>> DAVID J.馬蘭：Pacho？
上來吧。
一旦你在這裡得到了，這是 將是非常給人留下深刻印象，
但它更有趣 比我打字吧。
如果你想繼續前進，鍵入您 名字，我做了這個節目只為你。
只要輸入你的名字。
輸入。
太好了。
好，非常感謝你。
>> PANCHO：非常感謝你。
>> DAVID J.馬蘭：OK。
>> [掌聲]
>> 這是很親切。
在這裡你去。
我們做了什麼？
因此，我們終於，至少 做這個節目的動態。
現在，它仍然是肯定 設計給人留下深刻印象，
但我們終於有能力 現在寫代碼提前，多
如printf的作者， 然後動態地
適應基於輸入已是 遞，或者由程序員，
或由人誰實際上 與節目進行交互。
因此，讓我們其實現在就試試 做一些其他結構
看看如果我們不能使節目 自己更複雜。
因此，讓我們繼續前進，而不是 寫這篇從頭開始，
我要進入今天的 源代碼，而這一切
可在球場上的 網站，你可以將它拖放
到你自己的環境 週五來一次問題
集1給你 說明，或者你可以
這樣做在命令行 很好，但更多的驚喜P中設置1。
>> 讓我們來看看這是什麼程序 這裡所說的，加法器C點。
現在，我已經評論 它，但什麼是新的？
乍看之下，什麼線 代碼是完全新的？
也許不能從根本上 陌生了。
>> 聽眾：[聽不清]
DAVID J.馬蘭：是啊， 因此INT x等於得到n個。
我們從來沒有看到任何這 前，但int是可能
什麼樣的符號 變量，[？從？]一個整數。
所以詮釋的整數。
這只是更加 簡潔。 x只是隨意的。
x和y和z是仍然 對數字相當合理，
但一般我們使用的話，一旦 我們的程序變得更複雜。
獲取當然，INT， 就像GET字符串，
很可能會得到 從用戶一個int，
然後我們要 做同樣的事情與年。
而且顯然，儘管這 最後一行，24，看起來比較複雜，
它會說，這個總和 而且，它是此其他東西。
>> 而百分之通知我 大概是指什麼呢？
什麼樣的角色％的 我顯然是服務？
這只是佔位符。
對嗎？
百分比S為字符串， ％的i是整數。
還有的將是百分之˚F 對於浮點值，這
僅僅是一個數字帶小數點。
換言之，一個實數。
因此，讓我們實際編譯這個 真正的編程速度快，不作加法。
哎呦。
好機會。
所以注意在這裡，這段時間我的用戶 名稱此帳戶jharvard。
我是在CS50 IDE，又名IDE50。
而現在這裡用藍色，是一提，但 從環境中我的。
而事實上，如果我放大到頂部 在這裡，請注意，我有一個IDE50
我看你種這個詞， 把你的頭轉向一側，工作區。
概括地說，事實上， 我看到波浪線斜線工作區
意味著，在這個文本 基於命令的環境，
我在文中相當於 這種圖形文件夾在這裡。
所以，當我做點斜線 加法器，它說沒有規則
使目標加法器停止。
我不知道這意味著什麼， 但它的壞的某些原因。
沒有這樣的文件或目錄 更清晰。
它在哪裡呢？
根據我的點擊 前面打開該文件。
哪裡會是什麼？
>> 這可能是在源 1瓦特，週三，
我可以看到它，的確， 如果我打開了。
還有加法點C，但在 這種基於文本的環境，
再次，我必須要超明確。
如果我想改變目錄到 源的1個星期三，我需要輸入，
CD空間源的1個 週三進入現在
我迅速變化 給我一個視覺提示
我，真的，別的地方 在我的環境，
但現在我能做到讓 加法器，它似乎工作，
點斜線加法，給我一個整數。
一。
二。
一和二的總和為3。
但是，如果我不配合， 讓我們看看得到INT一樣。
給我一個整數。
第
重試。
確定。
精細。
50。
50，
好的。
因此，它終於合作。
而這部分的 功能，這些功能
可以有內置的為您服務。
>> 因此，實現內部 弄INT，什麼編程
上週構造可能是在 有強迫重試的這種行為，
重試，重試？
是的，有可能是 某種循環。
這將看語法 從頭開始的塊不同，
但是這確實是 什麼是裡面的文件。
而在幾個星期的時間，我們將 其實看看CS50庫
至於裡面有什麼，但有 一個循環氣勢正是這麼做的。
>> 讓我們玩一個愚蠢的小 比賽在這裡與此文件。
零點零一C點。
我們只是去一般 從零開始計數。
我一直滾動過去 有些東西在上面。
在這裡用藍色，劃定了所有 這些明星和斜線，
你們誰編程 之前，那是什麼？
為什麼我們保持跳過它？
怎麼辦？
>> 聽眾：這是一個註釋。
>> DAVID J.馬蘭：是的。
這只是一個評論。
這是對人類評論 閱讀，在我們的情況下，
告訴我們的文件的名 是誰寫的，和它做什麼，
這樣你就不必 通讀代碼
知道這個文件是一回事。
這只是一個說明，但 在功能上它是無關緊要的。
而且我甚至可以從刪除 我的文件，並沒有任何影響。
該多汁線是這些 前兩個在這裡，現在。
INT主要空隙是等效 我們當綠旗點擊，
所以我們要離開的是 今天，我們會回來的，
最終，至於是什麼 int和無效的，但現在，
請注意我做了什麼 在這裡，你還可以，
如果你有一個在網上 發表評論，如果您有
一想到要分享 關於一個特定的代碼行，
在C約定是做斜線 斜線，然後幾個簡潔的話，
不是一個完整的句子， 一般不是一個段落，
這只是說明了你，或者你 TF，或其他讀者或同事，
你的代碼做。
因此，而不是一定要看 在這一點，從線推斷
9和10中，是什麼 該做的，八線
我只是給了評論 問用戶的一個整數，
然後，我沒有想太多硬 什麼線九10的。
我只知道，那是什麼 總的來說，他們正在做的。
>> 怎麼樣？
那麼，這裡的提示。
下面是整型的獲得。
以及基於所述前一 的行為，好像GET INT
是足夠聰明，以確保 人類配合並給它
一個整數。
但是，現在我們看到的這個。
這讓人想起劃傷。
我聲稱我 分析用戶的輸入，
但有些不準確。
而這顯然是在C是怎麼 我們表示了，如果其他人的一個分支，
一個岔路，但我 說有點不準確。
這是什麼程序的錯誤嗎？
關於進一退？
是啊。
>> 聽眾：[聽不清]為零。
>> DAVID J.馬蘭：是的。
所以，如果我輸入零，讓我們考慮 正是這樣的情況下，或牆角的情況下，
如果你願意。
如果我輸入為零，因此它的 塊將會顯然抓住它？
該如果還是別的？
在其他，它會說， 你選擇了一個負數。
事實上，零是不應該 是正或負，
因此，這將是錯誤。
這將是一個錯誤。
那麼，如何才能解決這個問題？
有人誰以前從來沒有編程？
你want--
>> 聽眾：[聽不清]
>> DAVID J.馬蘭：縮回？
>> 聽眾：[聽不清]
>> DAVID J.馬蘭：哦，你有嗎？
有人誰以前從未編程。
想試試你的手在 這一點，在紅色的襯衫嗎？
上來吧。
哦對了，上來吧，如果你不介意的話。
所以從未編程 之前，你叫什麼名字？
LAUREN：勞倫。
DAVID J.馬蘭：勞倫，沒事的。
因此，修復這個bug給我們。
你從來沒見過C，據推測， 大概沒有其他語言。
因此，解決這個問題的程序我們。
很高興見到你。
沒有壓力。
LAUREN：是的。
>> DAVID J.馬蘭：但同樣，如果這 豪賭按計劃進行，
外賣，這裡將 是，剛剛再次啟動
注意圖案和 從現有的語法推斷
怎麼回事，你可以表達 你自己，沒有雙關語意，為了
捕捉到一些額外的場景。
因此，我們說，否則，如果。
printf的，不錯。
而與CS50通知 IDE和frankly-- IDE
代表綜合 開發環境。
這說法只是一種奇特的方式 一個程序，可以幫助你的程序。
它確實人性化之類的東西 當你打印一份括號，
它會自動給你其他的。
該假設是，你是 最終將要鍵入，
而且還做它用引號。
>> 所以，我很喜歡23行。
99％的存在的方式。
有人想附和小費？
我聽到分號觀眾。
好。
這樣就完成了。
而現在，我只是有一點點 驚愕與線21。
我們想得到怎樣的表現呢？
什麼樣的問題，我們希望 問，你覺得呢？
所以以前我們問的問題， 如果n大於零，做到這一點。
否則，做到這一點。
因此，我們需要選擇一個 要問的問題在這裡。
聽眾：[聽不清]
DAVID J.馬蘭：好。
因此，如果n等於零。
優秀的。
因此，讓我們暫停一下。
謝謝你這麼多頂著這一點。
讓我給你一個小當之無愧 壓力球，或許還有。
因此，我們快到了。
事實上，勞倫，如果你不 心，讓我做一個調整位置，
剛需，甚至一致 我們在划痕看到的，是什麼
做我想做的事與線 21和24，只需再次基礎
我們如何在划痕這樣做，也許？
>> 聽眾：移動它。
>> DAVID J.馬蘭：是啊，動不起來。
所以其他條件，第三，或 第四或第五或最終分支，
應該已經來了以後， 這還只是按照慣例，
只是因為如果你願意。
所以，我需要做這樣的修改。
我需要把我的 大括號回到這裡。
而現在，這一計劃將編譯。
我們是如此接近，但有 一個非常，非常微妙的錯誤。
讓我們看看會發生什麼。
>> 首先，讓我繼續前進，縮小。
我要繼續前進， 鍵入使病情為零。
哦，我撒謊了。
現在，編譯器 其實很聰明。
我真的不明白 它的錯誤消息。
使用賦值的結果 作為不帶括號的條件，
顯然是不好的。
但是，這是什麼意思？
>> 好了，尋找模式 在代碼中，我們以前見過，
什麼是17行實際上做， 儘管勞倫稍微意
否則？
是啊。
>> 聽眾：[聽不清]
DAVID J.馬蘭：是的。
所以請記住等號，顯然 正如我們以前使用過它，不等於。
它的任務，由右至左。
因此，線17的那一刻 是一個條件，它的
括號內執行代碼， 但該代碼執行時，
什麼是發生在零值？
什麼是發生在n的值？
成為零。
因此，如果n變為零， 並再次，根據上週，
我們一般說是零 是假的，一個是真實的，
或者是一個沒有為零。
所以，真與假，一年0。
如果n為17行的已 給出的值0，是零真的嗎？
第
根據定義，零是假的。
這是我們的約定 要堅持前進。
所以才會線18，19和20 現在以往任何時候都適用，邏輯？
他們不能。
因此，我們問的問題 但不太精確，
你不會不知道這一點，除非 你已經看到了，在C解決方案
就是當你想表達 平等，你說等於平等的。
所以等號已經用完 通過轉讓，由右至左。
等於等於手段平等的。
如果你真的想你的心 彎曲，JavaScript和PHP，
還有等於等於平等，這 意思是另一回事，
但我們會去，不久。
>> 所以這是一個簡單的修補程序，但實現 超級容易犯這個錯誤，
然後不知道奮鬥 對於分鐘，如果沒有一個小時，
為什麼我的代碼不 執行我打算？
這是因為你沒有告訴 它正是你的意思。
所以這幾乎是 完美的，這是偉大的
我們跨越這兩個小迷迷糊糊 的事情，因為現在如果我們解決這些問題，
我做的做條件為零 點斜線條件為零，
我想一個整數吧。
讓我們來看看。
第
它會強迫我去做。
所以42。
我挑了個正數。
所以，現在我該怎麼辦證明 這個程序正確嗎？
如果你是一個數學家，你不能 真正通過反复試驗證明了這一點，
對不對？
你不能只是校對 例子，但至少
作為一個程序員，我們不是 要試圖證明現在
這其實是 正確的，但我也許應該
測試一些代表性的案例。
>> 我測試過42。
我可以測試43。
我可以測試44。
測試45。
對嗎？
但我可以這樣做很長一段時間。
什麼會更多一些 有趣的情況來試試呢？
聽眾：[聽不清]為零。
DAVID J.馬蘭：所以零。
當然可以。
不錯，我們已經知道了這個時候， 由於勞倫的新代碼。
什麼是另一個很好的例子來試試呢？
聽眾：消極的。
>> DAVID J.馬蘭：負之一， 或許真的有點大，
所以也許負42， 但在一般情況下，當
測試你的程序 向前走，你
將要思考 給自己，喜歡什麼
是根本不同的情況。
我敢說負的情況下， 一個正的情況下，和一個零的情況下
相當多輪這些了。
讓我們來看看這雖然的一個變種。
條件之一。
這是一個正確的解決方案在這裡， 所以，你會看到兩個和網上，
如果通過行走 演練，一般會
這些增量逐步直到我們 得到完全正確的方法。
如果我們想問問 兩個問題在一次？
>> 讓我開了這個代替。
非開關，其原因 我們會看到另一個時間。
什麼是新的語法嗎？
目前，我正在玩遊戲 其中，電腦提示
我，給我一個整數 1和10之間，
然後我判斷用戶的輸入。
在英語的基礎上， 你在這裡看到的代碼
在藍色的，這是什麼程序在做什麼？
聽眾：[聽不清]挑 一個或大或小的數目。
DAVID J.馬蘭：是的。
這只是裁定是否 我挑了個大，或中，
或基於一個非常小的數 小，中任意定義，
和大型這裡，但通知 語法這就是新的就是這個。
有沒有比int或等於少 簽，或大於或等於簽名，
其中一個是比其他，您 可以表達如Microsoft Word。
因此，在一種編程語言，你 通常只是做兩個字符，
一前一後。
又是什麼這可能 代表，符號與符號。
聽眾：[聽不清]
DAVID J.馬蘭：是的。
這只是意味著因為它 事實證明，C的作者
使用單一符號， 你可能會認為
將是完美的概念 的和，已經用完，
居然這麼符號與符號 抓住我們真正想要的情況。
>> 現在讓我們在兩個東西絆倒。
讓我去進取，不斷開拓的。
東西是有點令人擔憂。
不精確C點。
讓我介紹了兩件事情。
一，請注意，我們所能做的 數學，因為就像以前一樣，當
我們做了加兩個數，x和y的。
這是什麼程序顯然是在做什麼？
我不評論它， 我已經介紹％的樓
但我很快前面說 百分比f為浮點
值，這是實數。
東西帶小數 點，這不是整數。
你覺得這個計劃是 試圖證明我在屏幕上？
是嗎？
聽眾：一個比10的結果。
DAVID J.馬蘭：是的。
什麼是1的結果除以10。
對，因為大家都有可能 長大了知道一個超過10
是什麼呢？
是的，這只是1/10或0.1。
對嗎？
因此，讓我們看看這實際上是。
因此，讓我繼續前進，並保存。
讓我去到這裡。
請不精確點斜杠 不精確，並且還請注意，
在Linux環境下，你不 必須輸入了不準確，並採取
整天。
它通常，如果你按下Tab鍵，就 將完成你的思想給你，
基於那些詞語 可在當前目錄。
確定。
所以，你是對的。
一個除以10，事實上，0.1。
不過，我有點好奇。
而事實證明的printf 支持某些功能
因此，你可以指定不止 小數點的默認數量。
所以，如果我想看到10進制 點我可以做個百分點，
為佔位符，點 10，給我10小數點，
然後還是浮點 值，和，為一邊，
這是什麼反斜線Ñ 顯然，我們一直使用的是？
事實證明，這是一個 符號為一個新的生產線。
這是非常明確的方式 說法到計算機，
將光標移動到下一個 之後，你行就大功告成了。
我們將看看會發生什麼 當我們不這樣做。
>> 讓我重新編譯做出不準確。
現在點斜線不精確。
確定。
仍然是對的。
一個除以10。
現在，我得到一個 有點好奇，但。
如果我看20十進制 指出，重新編譯，重新運行，
並作為預留 速度快，你也可以使用
你的向上和向下箭頭 翻閱歷史記錄，
所以你不必守 重新輸入這些命令，回車。
呵呵。
我不知道在小學。
好了，所以讓我 看到像29的地方了。
也許這只是一個僥倖。
也許我的電腦怪怪的。
這不是一個東西，對不對？
它做的事情確定性。
因此，請不精確。
OK，這是搞砸了。
那麼到底是怎麼回事？
>> 因此很明顯，你 老師一直趴
給你這一切時間 原因，我們不久就會看到。
但是，讓我們結束與另一個程序。
這是一個小程序 有人在幾年前寫的，
它實際上是一個比賽的一部分。
沒有人真正編寫代碼 這樣，如果你​​這樣做，
這是文體上的問題​​。
但人們做到這一點的吹牛的權利。
要寫出最混亂 看程序，
但是做一些有趣的事情。
和記我以為我們會離開 今天，在科爾頓發揮我們在這裡，
要運行這個程序， 其中，即使在只使用
下在該文本為基礎的 環境，給了我們這一點。
該死。
>> [笑]
>> 待機。
[聽不清]Ç破折號L M。
你會看到神奇 咒語，我們不久就會看到。
[聽不清]好吧。
現在，你甚至可以 做這樣的事情。
就是這樣。
對於CS50，我們將看到你在星期五。
>> [音樂播放]
>> [掌聲]