1 00:00:00,000 --> 00:00:11,736 2 00:00:11,736 --> 00:00:16,626 >> [ビデオ再生] 3 00:00:16,626 --> 00:00:19,410 >> 数学的なの-A勝利 および機械的なスキル 4 00:00:19,410 --> 00:00:23,270 この偉大な新しい自動化されて ハーバード大学の電卓。 5 00:00:23,270 --> 00:00:27,140 数学の複雑な問題 コー​​ド化された形で機械に通し 6 00:00:27,140 --> 00:00:31,710 テープに正確に解決されます 必要な時間の分画 7 00:00:31,710 --> 00:00:32,819 人間の計算のため。 8 00:00:32,819 --> 00:00:44,280 9 00:00:44,280 --> 00:00:48,220 すべての形態を促進するように設計 数学的・科学的研究、 10 00:00:48,220 --> 00:00:53,840 巨大な機械的な脳はのために動作します アメリカ海軍の戦争の終わりまで。 11 00:00:53,840 --> 00:01:03,620 12 00:01:03,620 --> 00:01:06,570 >> [END再生] 13 00:01:06,570 --> 00:01:08,590 >> DAVID J.マラン:これは、CS50です。 14 00:01:08,590 --> 00:01:10,590 過去は魔法でした 場所が、あなたが今までしている場合 15 00:01:10,590 --> 00:01:13,366 そのデバイスが何であるか疑問に思いました ハーバード科学センターで、 16 00:01:13,366 --> 00:01:16,150 それは確かにの一部であり、 ハーバードマークI、それはです 17 00:01:16,150 --> 00:01:18,710 今そこにディスプレイ上 過去何年もの間。 18 00:01:18,710 --> 00:01:20,590 そして、あなたは何を参照してくださいよ 問題セットに埋め込まれました 19 00:01:20,590 --> 00:01:24,416 一つは舞台裏で そのデバイスが行った、と何をするかで、 20 00:01:24,416 --> 00:01:27,540 である教授ハリー・ルイス、から ここでコンピュータサイエンス学科。 21 00:01:27,540 --> 00:01:29,440 だから、より少しだけのものに。 22 00:01:29,440 --> 00:01:33,990 >> しかし、今日、私たちは遷移に開始します 先週からこれに、 23 00:01:33,990 --> 00:01:37,290 我々は言及を持っていきます ここで1写真の 24 00:01:37,290 --> 00:01:38,630 それは実際には非常に有名です。 25 00:01:38,630 --> 00:01:42,270 誰が何このことを知っています ここでは、画面上にありますか? 26 00:01:42,270 --> 00:01:43,880 少なくとも神話によります。 27 00:01:43,880 --> 00:01:44,837 うん。 28 00:01:44,837 --> 00:01:45,920 聴衆:最初のウイルス。 29 00:01:45,920 --> 00:01:49,570 DAVID J.マラン:だから、それはおそらくでした コンピュータで非常に最初の実際のバグを修正しました。 30 00:01:49,570 --> 00:01:52,490 今現実には単語のバグ、 プログラム中のミスのために、 31 00:01:52,490 --> 00:01:55,250 いくつかのための私達となっています 物理的な世界の時間、 32 00:01:55,250 --> 00:01:58,190 これは最初の一人でした 誰か実際に文書化された回 33 00:01:58,190 --> 00:02:02,280 マークのうち、大規模な蛾を摘み取ら IIコンピュータは、バインダーに入れ 34 00:02:02,280 --> 00:02:05,006 し、それを記録します 最初の既知のバグとして 35 00:02:05,006 --> 00:02:06,630 実際に物理的に発見されているします。 36 00:02:06,630 --> 00:02:10,104 これにより、入力されました 今日の伝承にその。 37 00:02:10,104 --> 00:02:12,020 最後からすべて 週間オンラインで入手できます。 38 00:02:12,020 --> 00:02:14,840 その特定のリソースでは、かもしれません 必ずしも特に、気づきます 39 00:02:14,840 --> 00:02:15,881 個人的にここに来ている場合。 40 00:02:15,881 --> 00:02:20,230 だから、教育フェローのすべての 今年はノートの標準的なセットを作り、 41 00:02:20,230 --> 00:02:22,010 あなたが続ける必要はありません あなたの頭の下に、しよう 42 00:02:22,010 --> 00:02:24,410 ほとんど何を転写します それはクラスで、ここで発生する可能性があります。 43 00:02:24,410 --> 00:02:25,940 だから、これらのことを実現し [いわゆる? Scribdの?]ノート 44 00:02:25,940 --> 00:02:29,350 確かにスライド、オンラインで、 私たちはクラスで使用するソースコード。 45 00:02:29,350 --> 00:02:31,436 我々は全文転写物を作ります 利用できるだけでなく。 46 00:02:31,436 --> 00:02:34,310 ですから、漠然といくつかを覚えていれば この用語は、と少しそれを見てみたいです 47 00:02:34,310 --> 00:02:37,280 より容易に、そのすべてを実現 そのことを検索可能なオンラインです。 48 00:02:37,280 --> 00:02:38,930 だけでなくだけでなく、ウォークスルー。 49 00:02:38,930 --> 00:02:42,710 確かに、今日は見始めます 低レベルのプログラミング言語、 50 00:02:42,710 --> 00:02:45,290 すぐに私たちに知られるように Cと、それは非常に簡単です 51 00:02:45,290 --> 00:02:48,820 ソートのほんの一部の後に迷子に 瞬間時間、驚異の後、並べ替え 52 00:02:48,820 --> 00:02:52,370 私たちは、実際にいくつかのより多くになりましたか 単純なものから複雑な例。 53 00:02:52,370 --> 00:02:54,975 だから私たちは桜よ実現 授業中にいくつかを選びます 54 00:02:54,975 --> 00:02:57,850 代表的な例の、しかし、 そんなに多くもあることを認識 55 00:02:57,850 --> 00:03:01,140 あなたが働くことができるようにオンラインで利用可能 自分のペースで、それを通じて、 56 00:03:01,140 --> 00:03:02,950 しかし、あなたが最も満足しています。 57 00:03:02,950 --> 00:03:05,200 >> しかし、我々はしてオフに左 これだけだったプログラム。 58 00:03:05,200 --> 00:03:09,690 だから私は、緑の旗をクリックして、 このプログラムは何をするのでしょうか? 59 00:03:09,690 --> 00:03:10,710 こんにちは、世界、言います。 60 00:03:10,710 --> 00:03:13,180 それは猫が言うなります 彼の小さな世界でハロー 61 00:03:13,180 --> 00:03:15,990 左上の スクラッチのユーザーインターフェイスの。 62 00:03:15,990 --> 00:03:18,810 しかし、我々は導入し始めました いくつかの用語先週。 63 00:03:18,810 --> 00:03:23,614 だから、このようなことは、私たちは何と呼ばれますか? 64 00:03:23,614 --> 00:03:25,280 何がこのための一般的な用語であるかもしれませんか? 65 00:03:25,280 --> 00:03:26,266 うん。 66 00:03:26,266 --> 00:03:28,210 メソッドまたはステートメント。 67 00:03:28,210 --> 00:03:29,280 確かに、それは、アクションです。 68 00:03:29,280 --> 00:03:30,140 これを行います。 69 00:03:30,140 --> 00:03:32,400 そして、まだありました スクラッチに他の形状、 70 00:03:32,400 --> 00:03:35,360 これらのいわゆるほかに 声明、彼らはまたでした 71 00:03:35,360 --> 00:03:38,221 私たちは何と呼ばれるこのようなこと、? 72 00:03:38,221 --> 00:03:38,720 うん。 73 00:03:38,720 --> 00:03:39,634 だから、ループ。 74 00:03:39,634 --> 00:03:42,050 そして、この場合には、この事 明らかに繰り返し、10回。 75 00:03:42,050 --> 00:03:43,040 永遠にブロックがあります。 76 00:03:43,040 --> 00:03:44,164 他のカップルがあります。 77 00:03:44,164 --> 00:03:48,309 そして今日、私たちはどのように参照するつもりです これは、より現代的な世界に変換し、 78 00:03:48,309 --> 00:03:50,850 可能ならば、それはだにもかかわらず、 一目見ただけで表示されるように行きます 79 00:03:50,850 --> 00:03:52,024 はるかに難解であることを。 80 00:03:52,024 --> 00:03:53,190 しかし、それらは確かにループしていました。 81 00:03:53,190 --> 00:03:56,182 そして、我々のようなものを持っています この形状を持っていたこの、 82 00:03:56,182 --> 00:03:57,515 そして、基本的に質問をしました。 83 00:03:57,515 --> 00:03:58,890 そして、私たちは何としてこれらと呼ばれますか? 84 00:03:58,890 --> 00:03:59,762 >> 聴衆:ブール式。 85 00:03:59,762 --> 00:04:00,320 >> DAVID J.マラン:うん。 86 00:04:00,320 --> 00:04:01,340 ブール式。 87 00:04:01,340 --> 00:04:04,502 真かのいずれかである何か 偽、yesまたはno、1または0、 88 00:04:04,502 --> 00:04:05,960 しかし、あなたは世界を見たいです。 89 00:04:05,960 --> 00:04:08,335 しかし、我々はこれらのブールと呼ばれます 式は、私たちはそれらを差し込みます 90 00:04:08,335 --> 00:04:09,900 条件、または支店へ。 91 00:04:09,900 --> 00:04:12,170 との世界では スクラッチ、すべてきれいに 92 00:04:12,170 --> 00:04:15,460 その形状の点でインターロック、 それがそうするように論理的な意味を行った場合、 93 00:04:15,460 --> 00:04:18,490 あなただけで停止する必要はありません 条件付きで一つのことをやって、 94 00:04:18,490 --> 00:04:20,450 あなたはことわざを持つことができます 道路の分岐点 95 00:04:20,450 --> 00:04:24,040 この場合、またはいずれかを実行していること 条件が真であるか否かを判定する。 96 00:04:24,040 --> 00:04:26,040 そして、あなたが表示されますように、 あなたが既に持っていない場合は、 97 00:04:26,040 --> 00:04:27,480 あなたは巣にこれらのブロックを均等ことができます。 98 00:04:27,480 --> 00:04:32,110 だから、スクラッチは、図形を埋めるために成長します あなたがそれに挿入する可能性があること、 99 00:04:32,110 --> 00:04:35,330 だから、実際に表現することができ、ほとんどの あなたがしたいことがあります任意のロジック。 100 00:04:35,330 --> 00:04:38,220 >> 発表の今、いくつかの単語 両方こことニューヘブンのため。 101 00:04:38,220 --> 00:04:39,370 だから、切片は、今日から始まります。 102 00:04:39,370 --> 00:04:42,120 このためのURLは、コースの上にあります 慣れていない人のためのウェブサイト、。 103 00:04:42,120 --> 00:04:43,970 セクションは次のようになります 一緒に取得するチャンス 104 00:04:43,970 --> 00:04:46,553 はるかに親密な環境で、 [より?サンダース?]ができ、 105 00:04:46,553 --> 00:04:50,347 で10〜20クラスメートと 異なるトラックで仲間を教え、 106 00:04:50,347 --> 00:04:51,930 あなたがそう選択した場合と異なるペース、。 107 00:04:51,930 --> 00:04:54,080 実際のコースの提供 異なるセクション 108 00:04:54,080 --> 00:04:57,340 以上、これらの少ない快適なため 快適、そしてどこかの間に、 109 00:04:57,340 --> 00:04:59,860 ここでは親指の役割は、あります 正式な定義はありません、 110 00:04:59,860 --> 00:05:04,600 しかし、あなたはあまり満足している場合は、 あなたはこの種のことを知っています。 111 00:05:04,600 --> 00:05:07,470 あなたはについて少し勇敢です バック、おそらく、足をステッピングのアイデア 112 00:05:07,470 --> 00:05:10,130 教室で、または示します 部との間でまで。 113 00:05:10,130 --> 00:05:12,770 あなたがいるので、プログラミングしてきた場合 、より快適に、6歳でした 114 00:05:12,770 --> 00:05:13,400 おそらくあなたに。 115 00:05:13,400 --> 00:05:16,150 そして、それはトスアップのようなものだと、 それは間のまさに中です 116 00:05:16,150 --> 00:05:17,190 であることを意味します。 117 00:05:17,190 --> 00:05:18,410 >> さて、その間に、 クラスこのサイズのため、 118 00:05:18,410 --> 00:05:21,326 それはセクションに私たちにかなりの時間がかかります 誰も、私たちは、いわゆるいます、 119 00:05:21,326 --> 00:05:24,030 スーパーのセクションでは、ここまで来て 週末と来週初め、 120 00:05:24,030 --> 00:05:26,570 そうもちろんのウェブサイトを見てみましょう もちろん広されているもののため、 121 00:05:26,570 --> 00:05:28,610 また、それらのために撮影 誰がそれらを作ることはできません。 122 00:05:28,610 --> 00:05:33,470 セクション自体が開始されます 週CS50ゼロ指数の3インチ 123 00:05:33,470 --> 00:05:35,880 問題はすでに0に設定 コー​​スのウェブサイト。 124 00:05:35,880 --> 00:05:40,010 そして、あなたが持っているかということを理解 9後半日学期。 125 00:05:40,010 --> 00:05:43,240 だから、これは最後のアップグレードです 私たちが5日遅れていた年、。 126 00:05:43,240 --> 00:05:46,210 >> あなたが迷っている場合は、 我々は、9つの問題セットを持ちます。 127 00:05:46,210 --> 00:05:53,200 あなたは9日遅く、これらのそれぞれを持っています あなただけで週に1を過ごすことができます。 128 00:05:53,200 --> 00:05:56,089 それが効果的にすべてを作ります 問題は金曜日により設定し、 129 00:05:56,089 --> 00:05:58,630 しかし、目標は少し置くことです 心理的な圧力のビット 130 00:05:58,630 --> 00:06:01,100 あなたに取得しようとします 木曜日の事で 131 00:06:01,100 --> 00:06:03,960 あなたがすぐに発見するようので、 良くも悪くも、ほとんどの 132 00:06:03,960 --> 00:06:07,820 ソフトウェアの世界ですべてが終わります はるかに長いあなたが予想するよりも服用。 133 00:06:07,820 --> 00:06:10,620 だから、ソート検討 支援する機会の 134 00:06:10,620 --> 00:06:13,880 自分では、木曜日をターゲットにします しかし、はい、その中に快適さを取ります 135 00:06:13,880 --> 00:06:14,950 すべては金曜日によるものです。 136 00:06:14,950 --> 00:06:17,590 そして、あなたはそれらを送信する場合 木曜日は、それは素晴らしいです。 137 00:06:17,590 --> 00:06:21,020 何のボーナスポイントや余分はありません その期限を満たすためのクレジット。 138 00:06:21,020 --> 00:06:23,250 それは唯一の松葉杖であることを意味しています。 139 00:06:23,250 --> 00:06:25,810 >> また、営業時間、両方 こことニューヘブンで、 140 00:06:25,810 --> 00:06:28,840 個人的に、あなたがしたい場合 私たちのコースのいずれかに会います 141 00:06:28,840 --> 00:06:31,060 支援のための仲間とCAを教えます。 142 00:06:31,060 --> 00:06:31,640 >> 大丈夫。 143 00:06:31,640 --> 00:06:33,110 だから今、のは、これはより現実の作ってみましょう。 144 00:06:33,110 --> 00:06:35,470 そして、一瞬のためにそれは開始する予定です もう少し難解得るが、非常にします 145 00:06:35,470 --> 00:06:37,310 すぐに金曜日にと 来週、私たちは次のようになります 146 00:06:37,310 --> 00:06:41,230 そうよりもはるかに多くを行うことができます 我々はこれまでスクラッチでできました。 147 00:06:41,230 --> 00:06:44,350 だから我々は、最後のコードを導入しました 週、絵画的ではあるが。 148 00:06:44,350 --> 00:06:45,620 これは、パズルのピースでした。 149 00:06:45,620 --> 00:06:48,800 そして、我々はそれがあることを形式化 ソースコードと呼ばれるもの、 150 00:06:48,800 --> 00:06:50,330 しかしようになりましたでしょうか? 151 00:06:50,330 --> 00:06:52,550 まあ、それは少し見えました このような何か。 152 00:06:52,550 --> 00:06:55,410 そして、実際には、ちょうどのようなものに 私たちはこれで行くことができる場所をいじめます。 153 00:06:55,410 --> 00:06:57,800 私は先に行くつもりだと ここでウィンドウを開き、 154 00:06:57,800 --> 00:06:59,810 そして、私はちょうど新しいファイルを選択するつもりです。 155 00:06:59,810 --> 00:07:03,200 そして、私はこのファイルを保存するつもりです ハロードットcのようなものとして。 156 00:07:03,200 --> 00:07:05,700 の選択についての詳細 一瞬で言葉。 157 00:07:05,700 --> 00:07:08,630 そして、これはどのように誰かがかもしれないです プログラムを書いて行きます。 158 00:07:08,630 --> 00:07:13,990 標準I / Oドット時間、メインint型を含めます 近くに、中括弧を開き、ボイド、および 159 00:07:13,990 --> 00:07:19,430 中括弧、こんにちはprintfのコンマの世界、 バックスラッシュnは、セミコロン、保存し、完了です。 160 00:07:19,430 --> 00:07:19,930 OK。 161 00:07:19,930 --> 00:07:21,670 私は私の最初のを書いています プログラムが、それが起こっています 162 00:07:21,670 --> 00:07:23,878 信じられないほどがっかりすることが ときに実際に私のため 163 00:07:23,878 --> 00:07:27,352 もちろん、このプログラムを実行し、 1回目の書き込みによって、ハロー作ります 164 00:07:27,352 --> 00:07:30,310 して、ハロースラッシュ、と私たちはよドット はるかに詳細に本を経ます 165 00:07:30,310 --> 00:07:31,730 現時点では、それはそれがないすべてです。 166 00:07:31,730 --> 00:07:33,270 任意のウィンドウを開くポップアップしません。 167 00:07:33,270 --> 00:07:35,070 それは何もしません。 特にファンシー。 168 00:07:35,070 --> 00:07:38,830 それがないすべては、私はそれを言ったことです んが、どのように我々はそれに取得するのですか? 169 00:07:38,830 --> 00:07:40,560 そして、どのように我々はその上に構築しますか? 170 00:07:40,560 --> 00:07:43,430 さて、いくつかをご紹介しましょう ここでは異なる概念。 171 00:07:43,430 --> 00:07:47,170 >> だから1、我々は起動しようとしています コンパイラと呼ばれるプログラムを使用して。 172 00:07:47,170 --> 00:07:51,470 コンパイラは、Mac OS、Windowsのために存在し、 Linuxのオペレーティングシステムの任意の数、 173 00:07:51,470 --> 00:07:54,540 我々はすぐにご紹介します 我々が使用することを環境、 174 00:07:54,540 --> 00:07:57,410 しかし、コンパイラは、単に一般的です ソフトウェアの一部のための用語 175 00:07:57,410 --> 00:08:01,940 それは、ソースコードを受け取り、 そこからオブジェクトコードを生成します。 176 00:08:01,940 --> 00:08:03,940 言い換えれば、あなたの場合 入力ソースとして持っています 177 00:08:03,940 --> 00:08:08,250 コー​​ド、私は入力した内容のようなもの、 それは、最終的にオブジェクトコードを生成します。 178 00:08:08,250 --> 00:08:11,780 そして、オブジェクトコードは本当にあります それは出力というのがファンシーな方法 179 00:08:11,780 --> 00:08:12,926 ゼロの一つの。 180 00:08:12,926 --> 00:08:14,800 換言すれば、ソース それはだにも関わらず、コード、 181 00:08:14,800 --> 00:08:17,240 少し難解を見に行きます、 そして、少し少なめに優しいです 182 00:08:17,240 --> 00:08:19,590 一見スクラッチよりも、 それは、少なくとも何か 183 00:08:19,590 --> 00:08:21,120 私たち人間が理解できます。 184 00:08:21,120 --> 00:08:24,360 それは一種のように見え、聞こえます 英語にもかかわらず、それは非常に簡潔です。 185 00:08:24,360 --> 00:08:28,040 ゼロ年代のプログラミング一方と 自分の、先人たちがしなければならなかったとして、 186 00:08:28,040 --> 00:08:30,920 何年か前に、ありませんでした 特に楽しい挑戦。 187 00:08:30,920 --> 00:08:33,710 そして、まだ、これは何ですか コンピュータがまだ理解しています。 188 00:08:33,710 --> 00:08:37,010 だからコンパイラは、から私たちを取得します ソースコードは、コードをオブジェクトに。 189 00:08:37,010 --> 00:08:39,860 これは、使用してファイルを開くようなものです コンパイラ、およびあなたはそれを保存すると、 190 00:08:39,860 --> 00:08:41,419 あなたはこれらの0と1を得ます。 191 00:08:41,419 --> 00:08:43,419 だから我々は何をする方法を見ていきます 一瞬でその。 192 00:08:43,419 --> 00:08:47,400 >> しかし、今度は、提供してみましょう 先週とこの間のブリッジ、 193 00:08:47,400 --> 00:08:50,660 でもように、私たちは引っかかること 中括弧のようなものに、 194 00:08:50,660 --> 00:08:54,100 そして、セミコロン、括弧、および これらの知的興味深いのすべて 195 00:08:54,100 --> 00:08:57,620 プログラミングの側面、それは非常に 当然のことながら、早い段階で人をつまずか 196 00:08:57,620 --> 00:09:00,930 アイデアのすべてのことを実現し 今日、最後のと同じです。 197 00:09:00,930 --> 00:09:03,975 そこで最後に、我々はこの例を見て ここでは、Hello Worldのプログラム。 198 00:09:03,975 --> 00:09:07,500 私たちが望む場合はまあ、今日から 同じプログラムを実装します、 199 00:09:07,500 --> 00:09:10,800 それが見えるようになるだろう このような小さなもの。 200 00:09:10,800 --> 00:09:14,040 そして、私たちは、長い間何のintの前に説明しましょう メイン、ボイド、およびすべてのこと 201 00:09:14,040 --> 00:09:18,770 ですが、少なくとも私はここを参照してください。 すでにおなじみのHello World。 202 00:09:18,770 --> 00:09:20,860 >> 一方、のようなもの この関数は、挨拶します、 203 00:09:20,860 --> 00:09:23,570 非常に簡単になるだろう このような非常に簡単な文です。 204 00:09:23,570 --> 00:09:26,930 一部で、世界ハローのprintf バックスラッシュ、引用符、 205 00:09:26,930 --> 00:09:29,780 セミコロンではなく、 来ているの詳細。 206 00:09:29,780 --> 00:09:34,066 ループが、一方、これは、そのループであります もちろん、永遠に世界が挨拶します、 207 00:09:34,066 --> 00:09:36,690 そしてこのものは見に起こっています 最後に比べて少し奇妙、 208 00:09:36,690 --> 00:09:39,530 しかし、私は何かを言う場合 以下のような、真の間、私 209 00:09:39,530 --> 00:09:44,050 その後、こんにちはをプリントアウトすることができます 何度も何度と何度も何度も。 210 00:09:44,050 --> 00:09:46,660 そして、あなたは親切なことができますように ここで推測し始め、 211 00:09:46,660 --> 00:09:49,070 使用してのこの大会 中括弧一種であります 212 00:09:49,070 --> 00:09:52,050 受け入れのような そこにコードのインデント行。 213 00:09:52,050 --> 00:09:55,840 多くのようなコードのprintfのライン 上記の黄色のパズルピースまで。 214 00:09:55,840 --> 00:09:58,740 だから私たちは永遠に言うつもりはありません、 我々は、真ながら言うつもりです 215 00:09:58,740 --> 00:10:01,020 それは少しだけである理由が、我々は表示されます。 216 00:10:01,020 --> 00:10:04,210 >> 一方、我々はこのようなループを持っている場合、 どこが有限何かを繰り返します 217 00:10:04,210 --> 00:10:07,730 数回、これはあまりにもそれです 慣れる少しを取るつもり 218 00:10:07,730 --> 00:10:12,820 それはint型のために言うために起こっています 私はゼロを取得し、私は​​10未満、私は++します、 219 00:10:12,820 --> 00:10:14,056 そして、その後のprintf再び。 220 00:10:14,056 --> 00:10:15,430 しかしパターンがあるように起こっています。 221 00:10:15,430 --> 00:10:18,434 そして、おなじみのあなたのそれらのために AP通信コンピュータサイエンス、またはJavaで、 222 00:10:18,434 --> 00:10:21,100 または他の任意の数の言語、 ほとんどすべてのこれらの構築物の 223 00:10:21,100 --> 00:10:23,820 これまで主に見覚えがあるはずです。 224 00:10:23,820 --> 00:10:24,680 >> だから変数。 225 00:10:24,680 --> 00:10:29,270 そこでここでは、単純なスクラッチの抜粋では、ということです 、ゼロにカウンタと呼ばれる変数を設定します 226 00:10:29,270 --> 00:10:33,150 して、永遠にカウンタが言うと、 それを一つのカウンタを変更します。 227 00:10:33,150 --> 00:10:37,030 だから、ゼロで始まります そしてその後一、二、三。 228 00:10:37,030 --> 00:10:42,560 さて、どのようにでていることを紹介するかもしれません この新しい言語同様に少し? 229 00:10:42,560 --> 00:10:45,460 int型のカウンタが等しいです ゼロ、真ながら、これ 230 00:10:45,460 --> 00:10:48,100 前から同じ考えであります 永遠に何かをすることの、 231 00:10:48,100 --> 00:10:49,530 そして、私はprintfのつもりです。 232 00:10:49,530 --> 00:10:53,310 そして今、それは少し奇妙になってきました、 パーセントの私が、より多くのことに来て、 233 00:10:53,310 --> 00:10:55,140 しかし、これらのアイデアはまったく同じです。 234 00:10:55,140 --> 00:10:58,820 私達はちょうど今を遵守しなければなりません コンピュータがある構文 235 00:10:58,820 --> 00:11:00,010 私たちの要求に行きます。 236 00:11:00,010 --> 00:11:04,620 >> ブール式のようなもの yよりSX以下、またはyよりもX少なく、 237 00:11:04,620 --> 00:11:06,354 そしてz未満のy。 238 00:11:06,354 --> 00:11:09,270 それは少し何かを見るために起こっています このように、単に括弧付き 239 00:11:09,270 --> 00:11:13,020 よい測定のための数学のようにちょうどに 確実にその操作の順序 240 00:11:13,020 --> 00:11:14,750 我々が意図したとおりです。 241 00:11:14,750 --> 00:11:15,600 そして今、条件。 242 00:11:15,600 --> 00:11:21,220 yよりも小さいXのであれば、xが小さいと言います yより、xがyよりも大きい他の場合には、 243 00:11:21,220 --> 00:11:26,020 そうでない場合、xがyよりも大きいと言います 論理的に、xがyに等しくなければなりません。 244 00:11:26,020 --> 00:11:28,710 だから、実装する場合があります スクラッチでこのような何か、 245 00:11:28,710 --> 00:11:31,230 または、実装する場合があります この構文でそれ。 246 00:11:31,230 --> 00:11:35,090 そして再び、中括弧は一種のです 私たちのパズルと同じ形状を与えます 247 00:11:35,090 --> 00:11:40,750 作品が、構文は、今、おそらくです いくつかのパターンに従うことを開始します。 248 00:11:40,750 --> 00:11:42,910 >> だから、何これは、ここで私たちを与えるのでしょうか? 249 00:11:42,910 --> 00:11:45,260 だから我々は我々のメインプログラムで、その後戻っています。 250 00:11:45,260 --> 00:11:47,930 今、実際にしてみましょう、 それに何かをします。 251 00:11:47,930 --> 00:11:50,660 だから、これで非常に最初の 私たちは鋭い参照行が含まれ、 252 00:11:50,660 --> 00:11:53,160 標準I / O、点H、及び その後、いくつかの奇妙な角度 253 00:11:53,160 --> 00:11:57,330 その下の括弧。メインint型 空洞、その後のprintfのHello World。 254 00:11:57,330 --> 00:11:58,200 だから一歩を踏み出します。 255 00:11:58,200 --> 00:12:02,440 前にプログラムすることはありません誰か、 少なくともこれらの行のいずれかを説明します。 256 00:12:02,440 --> 00:12:04,490 おそらくいくつかの使い方 先週の専門用語。 257 00:12:04,490 --> 00:12:06,942 例えば、printfのは何ですか? 258 00:12:06,942 --> 00:12:07,442 うん。 259 00:12:07,442 --> 00:12:08,410 >> 聴衆:[聞こえません] 260 00:12:08,410 --> 00:12:08,610 >> DAVID J.マラン:うん。 261 00:12:08,610 --> 00:12:11,380 これは、関数、またはステートメントです、 先週の用語から。 262 00:12:11,380 --> 00:12:13,470 そして、それは行動です それが何かをやっています。 263 00:12:13,470 --> 00:12:15,855 今、この機能、または この文は、ありません 264 00:12:15,855 --> 00:12:17,550 それは、入力のいくつかの種類を取るように見えますか? 265 00:12:17,550 --> 00:12:20,080 266 00:12:20,080 --> 00:12:24,380 そして、何の意味でそれをしません もしそうであれば、入力を取るように見えますか? 267 00:12:24,380 --> 00:12:26,180 入力は、私が何を意味するのですか? 268 00:12:26,180 --> 00:12:26,720 うん。 269 00:12:26,720 --> 00:12:27,595 >> 聴衆:[聞こえません] 270 00:12:27,595 --> 00:12:30,565 271 00:12:30,565 --> 00:12:31,440 DAVID J.マラン:うん。 272 00:12:31,440 --> 00:12:34,890 だから、いくつかのパズルのピースをスクラッチ どこにあなたがそれをパラメータ化することができます。 273 00:12:34,890 --> 00:12:37,980 あなたは、繰り返しを言うことができます 繰り返し回数をブロックし、 274 00:12:37,980 --> 00:12:40,320 その結果は、入力されました ソート、およびちょうどスクラッチのような 275 00:12:40,320 --> 00:12:43,060 小さな白いプレースホルダーを持っていました あなたが入力し数について、 276 00:12:43,060 --> 00:12:45,810 私たちは、この中に使用します テキスト世界括弧 277 00:12:45,810 --> 00:12:49,910 私たちはその円形の形状を与えるために その中に私たちは入力を接続することができます。 278 00:12:49,910 --> 00:12:53,180 結局、数十年前 ときに、Cと呼ばれるこの言語は、 279 00:12:53,180 --> 00:12:55,950 誰が発明されませんでした それは私たちの一つだ予想されます、 280 00:12:55,950 --> 00:12:59,420 これらのいくつかの年後、私たちはいただきたいです こんにちは言う機能が欲しいです。 281 00:12:59,420 --> 00:12:59,920 右? 282 00:12:59,920 --> 00:13:02,880 あった場合、それはいいだろう パズルピース、またはキーワード、 283 00:13:02,880 --> 00:13:05,502 それをすることを、ハローと呼ばれています 文字通り挨拶。 284 00:13:05,502 --> 00:13:06,460 しかし、我々はそれを必要としません。 285 00:13:06,460 --> 00:13:09,320 我々ははるかに低いものを持つことができます 一般的な印刷のようなレベル、 286 00:13:09,320 --> 00:13:12,760 入力を受け取り、コマンド、 私たちが望むものは何でもして印刷。 287 00:13:12,760 --> 00:13:14,960 だから今のパターンに気づきます それが出現し始めます。 288 00:13:14,960 --> 00:13:19,310 オープン括弧、近く括弧されます どうやら入力を受け入れ、 289 00:13:19,310 --> 00:13:21,770 そして私は二重の参照します 両端に引用しています。 290 00:13:21,770 --> 00:13:25,110 奇妙なバックスラッシュはまだあり nは、うまくいけば、今 291 00:13:25,110 --> 00:13:29,900 少なくともその可視化するために開始することができます printf関数は、入力の何らかの形で取っています。 292 00:13:29,900 --> 00:13:31,850 以下のようにユーザーフレンドリーれていません スクラッチ、それだけです 293 00:13:31,850 --> 00:13:34,920 そこにいくつかの値に差し込まれたような。 294 00:13:34,920 --> 00:13:38,306 >> すべての権利、今実際にしてみましょう これで何かをします。 295 00:13:38,306 --> 00:13:40,930 だからうちのいくつかは知っているかもしれないから 前のクラスを買い物しました、 296 00:13:40,930 --> 00:13:42,638 友達とおしゃべり、 その長年のための 297 00:13:42,638 --> 00:13:44,590 我々はと呼ばれるものを使用しました CS50アプライアンス。 298 00:13:44,590 --> 00:13:49,160 これは、技術を表す用語でした これは、仮想マシンと呼ばれます 299 00:13:49,160 --> 00:13:51,870 そのあなたのソフトウェアの一部であります 前任者は、オフダウンロードだろう 300 00:13:51,870 --> 00:13:53,360 自由のためのコースのウェブサイト。 301 00:13:53,360 --> 00:13:56,550 彼らはまた、無料の曲をダウンロードすることになります ソフトウェアのハイパーバイザと呼ばれます 302 00:13:56,550 --> 00:14:00,590 VMwareのように呼ばれるもの、 またはVirtualBoxの、または任意の数 303 00:14:00,590 --> 00:14:04,450 他のツールの、およびMacまたはPC上での または、彼らは去年持っていたものは何でもコンピュータ 304 00:14:04,450 --> 00:14:06,620 そして過去数年間で、彼ら アイコンをダブルクリックすることになります 305 00:14:06,620 --> 00:14:08,860 このソフトウェアを実行します ハイパーバイザーと呼ばれます。 306 00:14:08,860 --> 00:14:12,220 そして、そのプログラムの内部 彼らはCS50アプライアンスを開くだろう。 307 00:14:12,220 --> 00:14:14,710 そして効果はということでした あなたの前身か 308 00:14:14,710 --> 00:14:17,780 Mac OSのかを実行していました Windowsの、彼または彼女は、その後、 309 00:14:17,780 --> 00:14:22,910 その後、その上に新しいウィンドウを持っていました CS50の環境を実行している画面。 310 00:14:22,910 --> 00:14:27,370 だから、仮想マシンは、1つを実行することができます 別の内部オペレーティングシステム、 311 00:14:27,370 --> 00:14:28,785 それは我々が何をしたかを正確です。 312 00:14:28,785 --> 00:14:31,410 もちろん、私たちのほとんどを通じて、 呼ばれるオペレーティングシステムを使用 313 00:14:31,410 --> 00:14:34,070 Linuxでは、具体的に Ubuntu Linuxの、この 314 00:14:34,070 --> 00:14:37,590 の過去数年間に非常に素晴らしい方法です コー​​スに必ずその全員を作ります 315 00:14:37,590 --> 00:14:38,840 ちょうど同じ環境を持っていました。 316 00:14:38,840 --> 00:14:41,339 そして、あなたは、任意の種類を使用することができます あなたが実際にしたいコンピュータ。 317 00:14:41,339 --> 00:14:43,930 しかし、マイナス面のうち、 2ギガバイトのようにでした 318 00:14:43,930 --> 00:14:45,480 このことをダウンロードします。 319 00:14:45,480 --> 00:14:50,310 それは、必ずしも上のスーパーうまく動作しませんでした そのコンピュータ多分人のみ 320 00:14:50,310 --> 00:14:54,570 ギグを持っていたほどのRAM、またはありません CPU速度があまりにも多くのギガヘルツ、 321 00:14:54,570 --> 00:14:56,750 そのため、今年のために これと他の理由、 322 00:14:56,750 --> 00:14:59,140 私たちが移行されています このような環境に。 323 00:14:59,140 --> 00:15:03,730 いわゆるCS50のIDE、 オープンソースソフトウェアに基づいて、 324 00:15:03,730 --> 00:15:07,380 およびサポートされるプラットフォーム Cloud9という会社その 325 00:15:07,380 --> 00:15:11,110 ことを、ヨーロッパでサポート 私たちは本質的に持つことができます 326 00:15:11,110 --> 00:15:15,770 そのまったく同じ環境など 過去数年、しかし、いわゆるクラウドインチ 327 00:15:15,770 --> 00:15:17,532 >> だから雲は何ですか? 328 00:15:17,532 --> 00:15:20,480 おそらく、クリックしました お使いのMacまたはPC上のアイコンをクリックします。 329 00:15:20,480 --> 00:15:22,210 クラウドとは何ですか? 330 00:15:22,210 --> 00:15:22,709 うん? 331 00:15:22,709 --> 00:15:25,880 332 00:15:25,880 --> 00:15:26,780 少し大きな声で。 333 00:15:26,780 --> 00:15:30,510 334 00:15:30,510 --> 00:15:31,010 うん。 335 00:15:31,010 --> 00:15:33,770 それはちょうど、コンピュータの束です 別の場所にデータを格納し、実行すること 336 00:15:33,770 --> 00:15:34,880 ソフトウェア等が挙げられます。 337 00:15:34,880 --> 00:15:39,390 だから、言葉だけデに本当にです [を説明する法律上の?賃貸?] 338 00:15:39,390 --> 00:15:40,930 別の場所に住んでいるコンピュータ。 339 00:15:40,930 --> 00:15:42,810 あなたつまり、自分自身、 必ずしも所有していません。 340 00:15:42,810 --> 00:15:45,256 だから、ときにあなたのデータ、またはあなたの プログラムは、雲の中にあります、 341 00:15:45,256 --> 00:15:47,630 それはちょうどそれが誰かにであることを意味し 他の場所で他のコンピュータ、 342 00:15:47,630 --> 00:15:50,510 そして、ではない、最も可能性の高い、あなたの上 物理的なラップトップまたはデスクトップ。 343 00:15:50,510 --> 00:15:52,990 そしてそうそれはCS50 IDEは今あるものです。 344 00:15:52,990 --> 00:15:55,670 >> 今後あなたが特定に行きますよ ご紹介しますURL 345 00:15:55,670 --> 00:16:00,090 問題に1を設定するには、この後 週は、それはその後、時には、ログインします 346 00:16:00,090 --> 00:16:01,480 あなたにこのような環境を与えます。 347 00:16:01,480 --> 00:16:03,896 そして、スクラッチのような多くが持っていました 関連するいくつかの異なるパネル、 348 00:16:03,896 --> 00:16:06,030 そうCS50のIDEは、まさにそれを持っています。 349 00:16:06,030 --> 00:16:09,480 ここで左上側では、です 使い慣れたファイルブラウザを見に行きます。 350 00:16:09,480 --> 00:16:11,930 ファイルのいずれだからあなた このような環境に置か 351 00:16:11,930 --> 00:16:13,346 ちょうどそこに記載されているしようとしています。 352 00:16:13,346 --> 00:16:14,350 ファイルとフォルダ。 353 00:16:14,350 --> 00:16:16,790 右ここで上部には、 あなたは場所を見に行くしています 354 00:16:16,790 --> 00:16:18,420 どこにあなたが実際にあなたのコードを書くことができます。 355 00:16:18,420 --> 00:16:21,860 最初はC言語で、後で PHPとJavaScriptでの用語、 356 00:16:21,860 --> 00:16:24,739 そして、おそらく最後のための プロジェクト、RubyやJavaやPythonの 357 00:16:24,739 --> 00:16:27,280 または任意の数の言語があります この環境でサポートされています。 358 00:16:27,280 --> 00:16:30,130 それはまったく縛られていません CS50と特異的に。 359 00:16:30,130 --> 00:16:33,390 >> そして、ここで下の隅で、 特に、より快適なもののために、 360 00:16:33,390 --> 00:16:35,590 あなたが何かを持っています ターミナルウィンドウと呼ばれます。 361 00:16:35,590 --> 00:16:38,770 そして、このターミナルウィンドウができます あなた、あなたの任意のコマンドを実行します 362 00:16:38,770 --> 00:16:40,860 このクラウド環境で欲しいです。 363 00:16:40,860 --> 00:16:42,860 それはあなたがインストールすることができます 追加のソフトウェア 364 00:16:42,860 --> 00:16:46,810 あなたは、いわゆるいるので、あなたがしたいこと ルート、または管理者権限。 365 00:16:46,810 --> 00:16:49,930 換言すれば、これでもかの 最終的にはクラウドでホストされています、 366 00:16:49,930 --> 00:16:52,400 私たちは持っているにもかかわらず、 ある程度まで、それを単純化 367 00:16:52,400 --> 00:16:57,110 デフォルトでは、文字通りの導入、 ダンアルメンダリス、とディーノのおかげで、 368 00:16:57,110 --> 00:17:01,070 オーバーCS50のチームのダン・ブラッドリー 過去何ヶ月も、あまり快適 369 00:17:01,070 --> 00:17:05,140 たくさんのを隠しモード 最初は混乱気晴らし。 370 00:17:05,140 --> 00:17:10,119 に存在するすべてのもの 典型的なコンピュータシステムを表します 371 00:17:10,119 --> 00:17:12,319 あなたは現実の世界で使用する可能性があること。 372 00:17:12,319 --> 00:17:15,640 >> これはすべて何を意味していると、 我々は実際にそれで何ができるのでしょうか? 373 00:17:15,640 --> 00:17:19,124 それでは、実際にプログラムで覗いてみましょう。 374 00:17:19,124 --> 00:17:21,290 だから私は開くつもりです ここでは、実際の環境、 375 00:17:21,290 --> 00:17:23,894 これはちょうど私たちのクロームです Firefoxの可能性があり、ブラウザ、 376 00:17:23,894 --> 00:17:26,640 Internet Explorerの可能性があり、 またはいくつかの他のブラウザにも。 377 00:17:26,640 --> 00:17:28,400 これは、完全な瞬間のためにここにスクリーニングます。 378 00:17:28,400 --> 00:17:31,580 そして、私は実際にいじめたいです このプログラムは何であったか離れて。 379 00:17:31,580 --> 00:17:36,170 それでは、アップ中にズームすることにより、見てみましょう 私がやったことで、上、どのように私はここに来ました。 380 00:17:36,170 --> 00:17:38,315 そこでここでは正確なものです コー​​ドの同じ行。 381 00:17:38,315 --> 00:17:40,440 だから、これは声明で、 あなたは先に述べたように。 382 00:17:40,440 --> 00:17:42,580 挨拶機能。 383 00:17:42,580 --> 00:17:45,870 上、中括弧、 ライン4とライ​​ン6、 384 00:17:45,870 --> 00:17:49,290 エンベロープのおそらく種類 それを関連付けるために、その行 385 00:17:49,290 --> 00:17:50,890 私のプログラムの本質と。 386 00:17:50,890 --> 00:17:54,890 だから実際には、このキーワードは、メイン、 それは、ライン3上にあります 387 00:17:54,890 --> 00:17:59,450 あなたは同等であると考えることができ、その グリーンフラッグがクリックされたときその、 388 00:17:59,450 --> 00:18:01,080 スクラッチでブロック。 389 00:18:01,080 --> 00:18:05,280 だから、私たちがここに持っているすべてです、ときであります 緑の旗は、印刷をクリック、または言います、 390 00:18:05,280 --> 00:18:06,700 こんにちは世界。 391 00:18:06,700 --> 00:18:11,210 >> しかし、どのように、今、の推測を見てみましょう この最初の、より難解なラインが、あります。 392 00:18:11,210 --> 00:18:15,100 シャープは、角度のついたオープン含めます ブラケット、標準I / O点H、 393 00:18:15,100 --> 00:18:17,320 角括弧を閉じます。 394 00:18:17,320 --> 00:18:19,850 おそらく何をやっています、 特にあなたがプログラムした場合 395 00:18:19,850 --> 00:18:21,390 いくつかの他の言語での前に。 396 00:18:21,390 --> 00:18:21,890 うん? 397 00:18:21,890 --> 00:18:22,765 >> 聴衆:[聞こえません] 398 00:18:22,765 --> 00:18:25,095 399 00:18:25,095 --> 00:18:25,970 DAVID J.マラン:うん。 400 00:18:25,970 --> 00:18:26,470 その通りです。 401 00:18:26,470 --> 00:18:29,455 だから、これはあなたへのアクセスを与えています 関数のライブラリ、いわば、。 402 00:18:29,455 --> 00:18:31,830 また、関数のライブラリです 機能他の誰か 403 00:18:31,830 --> 00:18:34,406 最近のいずれか、書きました またはずっと前に、あなたはそのように 404 00:18:34,406 --> 00:18:35,780 車輪の再発明する必要はありません。 405 00:18:35,780 --> 00:18:39,020 例えば、我々はしないでください 2015年には、知っている必要があり、 406 00:18:39,020 --> 00:18:42,280 そのプットコードの記述方法 私の画面上の文字。 407 00:18:42,280 --> 00:18:44,820 他の誰かがそれを考え出しました printf関数とアウト 408 00:18:44,820 --> 00:18:47,280 私は抽象的で並べ替えることができるように、 離れているから、または層 409 00:18:47,280 --> 00:18:49,350 彼または彼女の上に コー​​ド、そして今ちょうど取ります 410 00:18:49,350 --> 00:18:52,760 任意のプログラムは、私が書くことを当たり前の 画面に何かを印刷することができます。 411 00:18:52,760 --> 00:18:58,150 だから、ステップ1であり、この最初の行 いわゆるヘッダファイルが含まれて 412 00:18:58,150 --> 00:18:59,980 標準ライブラリのため。 413 00:18:59,980 --> 00:19:02,630 だから、中の言語が表示さ これは我々が今取り組んでいます 414 00:19:02,630 --> 00:19:05,010 標準ライブラリを持っていました 機能の多くが付いています。 415 00:19:05,010 --> 00:19:07,240 printf関数は、それらの一つであり、 そのコードの最初の行 416 00:19:07,240 --> 00:19:10,040 私へのアクセス権を与えることを意味 これらの機能は、私はそのように 417 00:19:10,040 --> 00:19:12,300 その車輪の再発明する必要はありません。 418 00:19:12,300 --> 00:19:15,940 >> それでは、下のウィンドウに行きましょう 私は前にした正確に何をすべきか。 419 00:19:15,940 --> 00:19:18,520 先ほど、私がいたとき コー​​ドをジュルジュル、 420 00:19:18,520 --> 00:19:24,540 初めてそれを入力し、 私は非常に迅速に型指定された、ハロー作ります。 421 00:19:24,540 --> 00:19:28,250 すべてについてあなたが推測することは何でしたか? 422 00:19:28,250 --> 00:19:29,150 私は何をしていましたか? 423 00:19:29,150 --> 00:19:29,649 うん? 424 00:19:29,649 --> 00:19:31,810 425 00:19:31,810 --> 00:19:32,310 気にしないで。 426 00:19:32,310 --> 00:19:32,970 大丈夫です。 427 00:19:32,970 --> 00:19:33,492 うん。 428 00:19:33,492 --> 00:19:34,450 聴衆:それをコンパイル。 429 00:19:34,450 --> 00:19:34,700 DAVID J.マラン:うん。 430 00:19:34,700 --> 00:19:35,770 それはちょうどそれをコンパイルしました。 431 00:19:35,770 --> 00:19:36,270 右? 432 00:19:36,270 --> 00:19:39,280 これは完全に不慣れであっても、 あなたに、それは次のように英語はかなりです。 433 00:19:39,280 --> 00:19:41,155 それは確かにゼロではありません そして、のものなので、まだ私 434 00:19:41,155 --> 00:19:44,220 そのいわゆるを通じてそれを実行する必要があります プログラムは、コンパイラは、それが起こっています 435 00:19:44,220 --> 00:19:46,060 入力として受け取り、出力を生成します。 436 00:19:46,060 --> 00:19:48,270 少なくとも、今のところ、中 このLinux環境、 437 00:19:48,270 --> 00:19:51,030 これは、前提条件ではありません これは我々が始めましょうちょうどここで、 438 00:19:51,030 --> 00:19:53,960 あなたは一般的に相互作用 このようなコンピュータシステム 439 00:19:53,960 --> 00:19:55,770 いわゆるコマンドラインで。 440 00:19:55,770 --> 00:19:57,790 点滅とそう プロンプトとキーボード、 441 00:19:57,790 --> 00:20:01,630 そしてあまりないあなたのマウスではなく、 そんなにウィンドウやアイコンやメニュー、 442 00:20:01,630 --> 00:20:02,980 むしろすべてがテキストです。 443 00:20:02,980 --> 00:20:06,180 そして、これが最初で、感じているにもかかわらず、 一見、おそらく、後方のステップのように、 444 00:20:06,180 --> 00:20:08,437 それは実際にははるかにです 強力かつ表現力豊かな方法 445 00:20:08,437 --> 00:20:10,270 コンピュータを制御します 特にあなたのように、 446 00:20:10,270 --> 00:20:12,950 自分自身、よりになります 以下から快適。 447 00:20:12,950 --> 00:20:16,790 それはあなたが多くを行うことができるようになるだろう まさにマイクロソフト以上のもの 448 00:20:16,790 --> 00:20:20,390 またはAppleはあなたが行うことができます そのグラフィカルなオペレーティングシステムです。 449 00:20:20,390 --> 00:20:23,270 >> だから私は、今、Enterキーを押したとき 何もこの時間は起こりません 450 00:20:23,270 --> 00:20:25,960 どうやら理由 プログラムhelloが最新のものです。 451 00:20:25,960 --> 00:20:28,250 そして、コマンドは何でした 私はそれを追いかけましたか? 452 00:20:28,250 --> 00:20:32,370 ドットはハロー、ハローと世界を大幅に削減します。 453 00:20:32,370 --> 00:20:34,350 今の段階を見てみましょう ちょっとバックします。 454 00:20:34,350 --> 00:20:39,510 それは、ハローがちょうどであることを確認していることがわかります プログラムをコンパイルする簡単な方法。 455 00:20:39,510 --> 00:20:41,670 ちょうど紹介しましょう 専門用語のワンピース、 456 00:20:41,670 --> 00:20:43,470 しかし、その後離れて移動 それから、それはないですから 457 00:20:43,470 --> 00:20:46,640 すべてのことは興味深いです 今日の目的のために。 458 00:20:46,640 --> 00:20:51,000 私たちが使用して起動しようとしているコンパイラ C言語のために、クランと呼ばれています。 459 00:20:51,000 --> 00:20:54,280 そして、これはただの実行だプログラムです 我々はそこに、コマンドラインで行ったように。 460 00:20:54,280 --> 00:20:56,580 そして、私がしたい場合は 私のプログラムをコンパイルします 461 00:20:56,580 --> 00:21:00,790 こんにちはドットというファイルに書かれています C、私文字通りこんにちは打ち鳴らすタイプC 462 00:21:00,790 --> 00:21:02,100 入力します。 463 00:21:02,100 --> 00:21:04,880 >> 面白いことにあり、 歴史的な理由のために、 464 00:21:04,880 --> 00:21:07,750 私は指定していない場合 プログラムの名前 465 00:21:07,750 --> 00:21:11,690 私がいない場合、私は、出力したいこと これらのゼロのファイル名を指定します 466 00:21:11,690 --> 00:21:14,990 そして、のもの、非常に奇妙な 条約が採択された年前 467 00:21:14,990 --> 00:21:17,390 それはのようなものを感じた場合は 当時の良い答え、 468 00:21:17,390 --> 00:21:21,650 よくちょうど任意に呼ぶことにしましょう 最初のプログラムは、我々は、ドットをコンパイルします。 469 00:21:21,650 --> 00:21:22,900 Aはアルファベットに最初に来ます。 470 00:21:22,900 --> 00:21:23,920 アウト、出力です。 471 00:21:23,920 --> 00:21:26,210 だから我々はプログラムを呼び出します ドットアウトデフォルトで。 472 00:21:26,210 --> 00:21:29,550 私がしたい場合ので、それは大丈夫です 基づいて、このテキストでプログラムを実行します 473 00:21:29,550 --> 00:21:33,590 環境、私はちょうどタイプ ドットが出ドットスラッシュ入力します。 474 00:21:33,590 --> 00:21:35,250 そして、それは以前のように正確に実行されます。 475 00:21:35,250 --> 00:21:36,880 それでは、その本当の高速を見てみましょう。 476 00:21:36,880 --> 00:21:40,370 >> だから私は戻って私に行けば CS50 IDEでソースコード、 477 00:21:40,370 --> 00:21:47,860 私は代わりにこれを行う、打ち鳴らすハローベビーベッド C入力し、通知は何も起こらないようで、 478 00:21:47,860 --> 00:21:49,790 しかし、ほとんどの場合で このLinux環境、 479 00:21:49,790 --> 00:21:53,310 悪い何も起こらないようだときに、その 何か良いことが実際に起こったことを意味します。 480 00:21:53,310 --> 00:21:56,270 エラーが表示されない場合 メッセージは、すべてのは、おそらく十分です。 481 00:21:56,270 --> 00:22:01,930 そして実際、私は今、ドットドットスラッシュない場合 アウト私は同じプログラムを実行しましたが、入力します。 482 00:22:01,930 --> 00:22:04,610 私はまだハロープログラムを持っています 以前から確かに、それはだから 483 00:22:04,610 --> 00:22:07,430 そんなによりよいだけになるだろう タイプメイクの代わりに思い出します 484 00:22:07,430 --> 00:22:10,240 これらの呪文 コマンドが、それでは、どのように我々を見てみましょう 485 00:22:10,240 --> 00:22:12,890 それにもかかわらず、この時に改善される場合があります。 486 00:22:12,890 --> 00:22:15,340 >> だから、これはコマンドです コー​​ドをコンパイルします。 487 00:22:15,340 --> 00:22:19,100 これは、実行するコマンドです その後、コードをコンパイルしました。 488 00:22:19,100 --> 00:22:20,546 どのように私は、ファイル名を指定することができますか? 489 00:22:20,546 --> 00:22:22,670 まあちょうど紹介しましょう 専門用語のもう一つの作品。 490 00:22:22,670 --> 00:22:24,461 あなたはこの中にいるとき テキストベースの環境、 491 00:22:24,461 --> 00:22:27,400 あなたが指定したいとしています コマンドライン引数と呼ばれるもの。 492 00:22:27,400 --> 00:22:31,380 どの言ってだけの空想の方法ですが、 プロンプトで言い換えること 493 00:22:31,380 --> 00:22:33,860 何の動作を微調整 あなたが実行しているプログラム。 494 00:22:33,860 --> 00:22:37,320 私はそう具体的には、プログラム 名前の打ち鳴らすを入力して、実行しています、 495 00:22:37,320 --> 00:22:38,504 クランと呼ばれるプログラムです。 496 00:22:38,504 --> 00:22:40,920 だから、これは古い学校ですか、 ダブルクリックと同等の 497 00:22:40,920 --> 00:22:42,860 Microsoft Wordまたは上 いくつかのプログラムのアイコン。 498 00:22:42,860 --> 00:22:46,360 私だけではなく、その名前を入力しています しかし、コマンドのこのバージョンでは、 499 00:22:46,360 --> 00:22:51,334 私は、ダッシュO空間を持っています ハローハロースペースドットC。 500 00:22:51,334 --> 00:22:53,500 だから、決してきない場合でも、 前に、この世界でプレイし、 501 00:22:53,500 --> 00:22:58,160 まさに推測を取ります ダッシュoはハローのでし​​ょうか? 502 00:22:58,160 --> 00:23:00,620 または何それは何をするクラングを教えてくれありませんか? 503 00:23:00,620 --> 00:23:01,386 うん。 504 00:23:01,386 --> 00:23:02,455 >> 聴衆:[聞こえません] 505 00:23:02,455 --> 00:23:03,330 DAVID J.マラン:うん。 506 00:23:03,330 --> 00:23:08,614 それはちょうどように、ファイルの出力を設定します こんにちは代わりに出ドットsillierの。 507 00:23:08,614 --> 00:23:09,780 そして、確かに、のは、これを試してみましょう。 508 00:23:09,780 --> 00:23:14,250 まず、私が今あれば R Mはこんにちは、はこのやろう。 509 00:23:14,250 --> 00:23:15,590 それは削除します。 510 00:23:15,590 --> 00:23:18,450 そして、それは、removeを言うために起こっています 通常のファイルこんにちは、これ 511 00:23:18,450 --> 00:23:22,210 不必要に難解ですが、それだけで 手段ファイルを削除しますか、 512 00:23:22,210 --> 00:23:23,230 私はイエスのために、yを入力します。 513 00:23:23,230 --> 00:23:27,340 あなたがトップをちらっと見た場合には、注意してください 左、それはそこにから消えました。 514 00:23:27,340 --> 00:23:32,180 私は今打ち鳴らすダッシュOをしましょう​​、と 私が先に行くと、ハローするつもりです、 515 00:23:32,180 --> 00:23:34,890 すべて大文字で、ハロードットC。 516 00:23:34,890 --> 00:23:37,775 今、私はドットスラッシュをすれば こんにちは、あなたは何を期待しますか? 517 00:23:37,775 --> 00:23:41,240 518 00:23:41,240 --> 00:23:42,430 >> 多分それは、大文字と小文字を区別します。 519 00:23:42,430 --> 00:23:43,070 多分そうではありません。 520 00:23:43,070 --> 00:23:44,030 どれどれ。 521 00:23:44,030 --> 00:23:45,230 そのようなファイル、又はディレクトリはありません。 522 00:23:45,230 --> 00:23:47,438 そして、我々はこの種のことでごまかすことができます ちょうど左上を見て。 523 00:23:47,438 --> 00:23:49,630 私は明らかにしました プログラムを保存しますか? 524 00:23:49,630 --> 00:23:51,070 すべてはハローキャップ。 525 00:23:51,070 --> 00:23:53,020 だから確かに、それが起こっています 違いを確認します。 526 00:23:53,020 --> 00:23:54,540 だから今のHello Worldが帰ってきました。 527 00:23:54,540 --> 00:23:56,969 さて、これは、すべての罰金と良いです そして、すべての非常に退屈でつまらないです、 528 00:23:56,969 --> 00:23:59,760 GETの一種に、これらに行き詰まります 詳細については、それらを理解します 529 00:23:59,760 --> 00:24:00,500 いいね。 530 00:24:00,500 --> 00:24:02,675 >> ますますこれらを入力します 長い呪文 531 00:24:02,675 --> 00:24:05,980 特にであることを行っていません 世界の人々ので、楽しいです 532 00:24:05,980 --> 00:24:08,260 別のプログラムを発明し、 何年か前に、呼ばれます 533 00:24:08,260 --> 00:24:12,190 非常に単純にすることを、作ります あなたがメイクを入力することができ、 534 00:24:12,190 --> 00:24:14,530 プログラムの名前 あなたが作りたい、と作ります 535 00:24:14,530 --> 00:24:18,580 それが中に見えるという点でスマートです 現在のフォルダ、ディレクトリ別名、 536 00:24:18,580 --> 00:24:21,440 あなたはファイルがある場合 こんにちはドットCと呼ばれます、 537 00:24:21,440 --> 00:24:25,800 それはそれはコンパイルされたファイルです ハローと呼ばれるプログラムにあなたのために。 538 00:24:25,800 --> 00:24:29,950 だから、はるかに簡単な方法です もっと不可解なコマンドを実行して 539 00:24:29,950 --> 00:24:30,800 我々は以前行ったこと。 540 00:24:30,800 --> 00:24:34,080 そして、私たちは事前に設定されています CS50 IDEは知っています 541 00:24:34,080 --> 00:24:38,560 それはダッシュOとの数を行う必要があること 他のフラグ、またはコマンドライン引数、 542 00:24:38,560 --> 00:24:40,670 私たちはずっと前に表示されますこと。 543 00:24:40,670 --> 00:24:43,700 >> しかし、それでは、実際にやらせます もっと面白いです。 544 00:24:43,700 --> 00:24:46,950 ただ、すべてのHello Worldを入力して 時間はすべてのこと説得力はありません。 545 00:24:46,950 --> 00:24:52,280 だから私は先に行くと変更してみましょう このプログラムとはこんにちはデビッド、と言います。 546 00:24:52,280 --> 00:24:54,120 今、私はここでダウンして行くつもりです。 547 00:24:54,120 --> 00:24:57,360 私が先に行くとハローを作るするつもりです。 548 00:24:57,360 --> 00:25:00,652 そして再び今、あなたは見ています 作るあなたの時間が表示されています 549 00:25:00,652 --> 00:25:03,360 それはだという一連のコマンド 私たちは事前に設定されたのでやって 550 00:25:03,360 --> 00:25:05,200 それそのように、私たち 今のところ心配する必要はありません 551 00:25:05,200 --> 00:25:10,735 それがある以外の何をやっています 世界はハロー、ハロードットスラッシュをコンパイル。 552 00:25:10,735 --> 00:25:14,969 553 00:25:14,969 --> 00:25:15,510 どうしましたか? 554 00:25:15,510 --> 00:25:16,177 うん。 555 00:25:16,177 --> 00:25:17,370 >> 聴衆:[聞こえません] 556 00:25:17,370 --> 00:25:18,203 >> DAVID J.マラン:はい。 557 00:25:18,203 --> 00:25:19,600 だから、noobie間違い。 558 00:25:19,600 --> 00:25:22,394 私は、これは超微妙です気付きます しかし、ここでアスタリスク、タブで、 559 00:25:22,394 --> 00:25:25,060 ちょうどあなたがそれを保存していないことを意味、 ブラウザや他のプログラムと 560 00:25:25,060 --> 00:25:25,930 時々これを行います。 561 00:25:25,930 --> 00:25:27,939 だから、Sまたはコマンドを制御します sがそれを保存する必要があります。 562 00:25:27,939 --> 00:25:29,730 今、私は先に行きましょう そして、プログラムを再実行します。 563 00:25:29,730 --> 00:25:33,360 564 00:25:33,360 --> 00:25:34,260 再コンパイル。 565 00:25:34,260 --> 00:25:36,050 右、それは多段階のプロセスのように。 566 00:25:36,050 --> 00:25:39,400 いずれも、特に複雑でありません しかし、いつでも私たちは、ファイルを変更 567 00:25:39,400 --> 00:25:43,450 私たちは、結果を変更する必要があります 0と1、ドットスラッシュこんにちは。 568 00:25:43,450 --> 00:25:43,950 ワオ。 569 00:25:43,950 --> 00:25:46,450 だから、これは非常にがっかりです 私たちはこれをプリントアウトしています。 570 00:25:46,450 --> 00:25:48,360 Aさんは、物事を作ってみよう 今、もう少しダイナミックな。 571 00:25:48,360 --> 00:25:52,280 >> まあそれはのようなことを、判明します スクラッチ、Cは変数をサポートしています。 572 00:25:52,280 --> 00:25:54,790 そして、それはあなたがしたい場合判明します 格納する変数を持っています、 573 00:25:54,790 --> 00:25:57,300 我々のような数ではありません 一般的に、スクラッチで行いました 574 00:25:57,300 --> 00:26:01,300 しかし言葉のように、またはA フレーズ、または名前、あなた 575 00:26:01,300 --> 00:26:04,837 変数を指定することができます 文字列型であることを。 576 00:26:04,837 --> 00:26:06,670 だから我々は多くの情報を表示します 一瞬でこれらの、 577 00:26:06,670 --> 00:26:09,090 それは、そのCが判明し、 そのような言語の多くは、 578 00:26:09,090 --> 00:26:11,240 変数の非常に具体的なタイプがあります。 579 00:26:11,240 --> 00:26:13,810 それはちょうど、代数ようではありません あなたは、x、yおよびzを取得する場所 580 00:26:13,810 --> 00:26:16,940 そしてそれらはちょうど常にあります プログラミング言語の数、 581 00:26:16,940 --> 00:26:20,030 あなたはあなたができる、数値を格納することができます 個々の文字を格納、 582 00:26:20,030 --> 00:26:24,619 あなたは可能性、全体の単語を記憶することができます 全体画像、全体のサウンドファイルを格納 583 00:26:24,619 --> 00:26:25,160 等が挙げられます。 584 00:26:25,160 --> 00:26:28,362 だから我々は何を指定する必要があります 我々の変数の型があります。 585 00:26:28,362 --> 00:26:31,570 そして、大会によって私を呼ぶつもりです それは簡潔だという理由だけで、変数s、 586 00:26:31,570 --> 00:26:33,510 sは文字列を表します。 587 00:26:33,510 --> 00:26:36,400 >> そして私は保存するつもりです この変数の内部に、 588 00:26:36,400 --> 00:26:39,570 ただスクラッチで好き 私は、設定されたブロックを使用する場合、 589 00:26:39,570 --> 00:26:41,950 私が使用するつもりです C言語で代入演算子、 590 00:26:41,950 --> 00:26:45,290 これはきれいに十分に等しく、 署名が、等号は、これを行います。 591 00:26:45,290 --> 00:26:53,220 それはに右から何かを移動 式の左辺。 592 00:26:53,220 --> 00:26:57,170 だから私はで明らかになるように、何を行っています ライン5は、私は変数を宣言したです。 593 00:26:57,170 --> 00:27:01,284 私は私を与える、コンピュータを言いました 変数のメモリ、だそれを呼び出します、 594 00:27:01,284 --> 00:27:03,950 私はつもりだことが事前にわかっています その中に文字列を入れることができます。 595 00:27:03,950 --> 00:27:05,950 そして、文字列だけです 文字のシーケンス。 596 00:27:05,950 --> 00:27:09,190 これは、ワード、フレーズ、あるいは段落ですが、 それは一連の文字です。 597 00:27:09,190 --> 00:27:10,610 それは数字ではありません。 598 00:27:10,610 --> 00:27:13,800 どのような文字列私はあることを行っています その変数に入れて? 599 00:27:13,800 --> 00:27:16,185 まあ、明らかに引用 引用終わり、「ハンナ」。 600 00:27:16,185 --> 00:27:17,810 今新興だパターンに気づきます。 601 00:27:17,810 --> 00:27:19,260 左側の式があります。 602 00:27:19,260 --> 00:27:21,810 右側の式があり、 等号で区切られています。 603 00:27:21,810 --> 00:27:24,390 そして、ちょうど場合は、推測を取ります それにもかかわらずなじみのありません、 604 00:27:24,390 --> 00:27:27,430 セミコロンが何をしているのかと。 605 00:27:27,430 --> 00:27:28,865 それはおそらく私たちのために何をしているのですか? 606 00:27:28,865 --> 00:27:29,365 うん? 607 00:27:29,365 --> 00:27:29,840 >> 聴衆:[聞こえません] 608 00:27:29,840 --> 00:27:29,980 >> DAVID J.マラン:うん。 609 00:27:29,980 --> 00:27:31,170 それはちょうど行を終了です。 610 00:27:31,170 --> 00:27:31,669 右? 611 00:27:31,669 --> 00:27:34,260 コンピュータがぶっきらぼうになりたいです 文字通り、何をすべきかを、言いました。 612 00:27:34,260 --> 00:27:36,343 ピーナッツバターのようにと ゼリーサンドイッチ例、 613 00:27:36,343 --> 00:27:39,360 あなたが指定していない場合 正確にあなたが何を意図し、 614 00:27:39,360 --> 00:27:42,190 それは、判断やエラーに残される可能性があります。 615 00:27:42,190 --> 00:27:44,890 セミコロン手段、 それは、このコマンドのことです。 616 00:27:44,890 --> 00:27:48,310 これは、超精密であることだし、それはです オフのままにすることは非常に簡単なもの。 617 00:27:48,310 --> 00:27:52,240 だから今、このプログラムはしていないようです 私まで、異なるいずれかを振る舞うこと 618 00:27:52,240 --> 00:27:53,500 それはよりダイナミックにします。 619 00:27:53,500 --> 00:27:57,107 そうではなく、ハード自分の可能性 名前、私はプレースホルダ値を入れてみましょう。 620 00:27:57,107 --> 00:28:00,190 そして、それはことが判明し、私はこれを知っています ドキュメントを読んでから、 621 00:28:00,190 --> 00:28:04,080 そして、、年間の機能を使用したもの printf関数は、動的であるように設計されました。 622 00:28:04,080 --> 00:28:07,510 事前に知っている必要はありません あなたはそれに入れたいものを言葉。 623 00:28:07,510 --> 00:28:11,290 代わりに持つことができます パーセントのようなプレースホルダ、これ 624 00:28:11,290 --> 00:28:15,500 伝えるために起こっています コンピュータは、ここに文字列を置きます。 625 00:28:15,500 --> 00:28:17,740 >> どの文字列我々はそこに入れたいですか? 626 00:28:17,740 --> 00:28:22,430 ウィルは、これらの間のことが判明 覚えている括弧は、境界を設定します 627 00:28:22,430 --> 00:28:28,020 あなたが持っている場合、この関数への入力、 コンマは、ここでは、物事のリストを分離しました 628 00:28:28,020 --> 00:28:31,790 私たちは実際には複数に渡します 関数への入力。 629 00:28:31,790 --> 00:28:33,901 だからいくつかのスクラッチが好き ブロック、あなたがないかもしれません 630 00:28:33,901 --> 00:28:36,150 以下のためにそれらを果たしています プロジェクトはまだ、または全く、 631 00:28:36,150 --> 00:28:38,250 いくつかのスクラッチブロックは、2つの入力を持っています。 632 00:28:38,250 --> 00:28:41,220 あなたができる2つの白い箱 数字や単語を入力します。 633 00:28:41,220 --> 00:28:45,210 だから、C言語のような機能を持っていないします 2つの入力を取ることができるのprintf。 634 00:28:45,210 --> 00:28:48,050 そして再び、このコンマ それらを分離されています。 635 00:28:48,050 --> 00:28:51,070 だから英語で、再び場合でも、 あなたは、以前にプログラムされたことがありません 636 00:28:51,070 --> 00:28:55,320 そのロジックでのprintf関数であり、 2つの入力のいずれかを取り 637 00:28:55,320 --> 00:28:58,810 プレースホルダで、あなたは何を望んでいるだろう printf関数は、この入力をどうするつもりですか? 638 00:28:58,810 --> 00:29:01,470 639 00:29:01,470 --> 00:29:03,220 これは、挨拶になるだろう ハンナ、うまくいけば。 640 00:29:03,220 --> 00:29:05,274 だから、これを行うには、我々はそれを保存する必要があります。 641 00:29:05,274 --> 00:29:06,190 私はズームアウトするつもりです。 642 00:29:06,190 --> 00:29:10,701 私はここに戻ってダウンして行くつもりです そして、ハロー入力してください、と言います。 643 00:29:10,701 --> 00:29:11,200 ああ。 644 00:29:11,200 --> 00:29:14,830 何かが間違っている、と実際 これは非常に圧倒的です。 645 00:29:14,830 --> 00:29:18,400 私は、コードの6行を持っています エラーの12行のように。 646 00:29:18,400 --> 00:29:22,120 そこで、このことを楽しみにしています。 647 00:29:22,120 --> 00:29:24,260 それでは、ここで起こっているの? 648 00:29:24,260 --> 00:29:27,370 そこでここでは親指の最高のルール、 あなたが出始めている場合は特に、 649 00:29:27,370 --> 00:29:29,370 気を取られません 一番下のもの。 650 00:29:29,370 --> 00:29:31,220 実際には、私は非常に慎重に ちょうど上にスクロール 651 00:29:31,220 --> 00:29:33,930 非常に多くの場合、コンピュータがあるため、 デバイスのすべてではないことに明るいです。 652 00:29:33,930 --> 00:29:35,054 それは混乱になるだろう。 653 00:29:35,054 --> 00:29:37,220 それは一つのことを見ている場合は、その それは理解していません、 654 00:29:37,220 --> 00:29:40,030 それは他の勘違いかもしれません 誤ったコードの行、 655 00:29:40,030 --> 00:29:41,649 にもかかわらず、彼らは完全に罰金です。 656 00:29:41,649 --> 00:29:43,940 だから、常に仕事をしたいです エラーを通してトップダウン。 657 00:29:43,940 --> 00:29:47,850 そして、確かにこれは 現時点では超難解。 658 00:29:47,850 --> 00:29:50,830 >> エラー、未宣言の使用 識別子の文字列。 659 00:29:50,830 --> 00:29:52,130 私は、標準のことですか? 660 00:29:52,130 --> 00:29:53,720 いいえ、私は文字列を意味しました。 661 00:29:53,720 --> 00:29:55,830 そして、それは多分それはタイプミスです、を指しています。 662 00:29:55,830 --> 00:30:00,570 ソートのように、スペルチェックで 非常にマニアックな方法が、ここではその理由、 663 00:30:00,570 --> 00:30:02,840 あなたはこのことを知っていますよ ただ練習することにより、 664 00:30:02,840 --> 00:30:06,390 それはその文字列が判明こと 実際にはCに存在していない、C 665 00:30:06,390 --> 00:30:08,820 特に古い言語であり、 それは非常に低レベルで、です 666 00:30:08,820 --> 00:30:11,361 そして、それは多くの機能をしません あなたが育ってきた可能性があること 667 00:30:11,361 --> 00:30:14,620 あなたが持っている場合、実際には、プログラムされたと Javaで、あなたのいくつかは持っているとして、 668 00:30:14,620 --> 00:30:16,980 しかし、あなたはそれを新しいことを教えることができます。 669 00:30:16,980 --> 00:30:20,900 そして実際、我々は、このCS50を行っています、 でも、学期の終わりまでに、しかし、 670 00:30:20,900 --> 00:30:23,512 これらの補助輪のすべて 取り出されているであろう、 671 00:30:23,512 --> 00:30:25,220 我々は、これらの中で何をすべきか 週の最初のカップル 672 00:30:25,220 --> 00:30:29,830 最初に我々はまた、持っています あなたはCS50ドットHが含まれます。 673 00:30:29,830 --> 00:30:31,230 どのヘッダファイルです。 674 00:30:31,230 --> 00:30:32,440 将来的にはそれについての詳細。 675 00:30:32,440 --> 00:30:36,430 >> これは、関数を含むファイルです 私たちはあなたのために書かれていること。 676 00:30:36,430 --> 00:30:39,180 そして、それらの機能の一つであります 入力を取得するための機能 677 00:30:39,180 --> 00:30:43,520 ユーザから、文字列などがあり、 数字、実数、およびより多くの。 678 00:30:43,520 --> 00:30:45,550 しかし、それはまた、いくつかのショートカットがあります。 679 00:30:45,550 --> 00:30:48,200 これは、データ型としてブール値を定義します。 680 00:30:48,200 --> 00:30:50,340 Cは、真または偽を持っていません。 681 00:30:50,340 --> 00:30:53,880 しかし、我々はそれをの概念を与えることができます このライブラリを介して真または偽。 682 00:30:53,880 --> 00:30:57,670 そしてそれはまた、文字列を持っていません 我々は、この行を含めるまでに建てられました。 683 00:30:57,670 --> 00:31:01,090 だから、このコード行を指示します コンパイラは、ちょっと、クランは、見て 684 00:31:01,090 --> 00:31:03,570 全体のためにこのファイル内 コー​​ドの束ことCS50 685 00:31:03,570 --> 00:31:06,330 ように書いています このファイルを使用して、誰も 686 00:31:06,330 --> 00:31:09,330 当たり前のことができます 機能彼らが追加されました。 687 00:31:09,330 --> 00:31:11,220 >> だから今、私は先に行きましょう そして、画面をクリア、 688 00:31:11,220 --> 00:31:14,178 そして好奇心旺盛な場合、私はちょうど制御を言っています L画面をクリアするたびに、 689 00:31:14,178 --> 00:31:15,500 または、あなたは明確に入力することができます。 690 00:31:15,500 --> 00:31:19,220 私はちょうど今、先に行くつもりだと タイプはハロー作り、すべてが順調です。 691 00:31:19,220 --> 00:31:22,550 それでも難解な出力が、 それは誤ったメッセージではありません。 692 00:31:22,550 --> 00:31:28,300 今、私はドットハロースラッシュ、およびような場合 さておき、ドットスラッシュがほとんどに不慣れです。 693 00:31:28,300 --> 00:31:30,430 それはちょうど、ドット手段を意味 現在のディレクトリ。 694 00:31:30,430 --> 00:31:33,120 だから、今まで使用した場合 DOS、またはLinux、またはUnix 695 00:31:33,120 --> 00:31:35,410 あなたが何かを行っている可能性があります CDドットドット、のような 696 00:31:35,410 --> 00:31:39,220 ドットドットに後方に行くことを意味します 時間、または後方に行く、またはアップ高いです 697 00:31:39,220 --> 00:31:40,370 あなたのディレクトリにあります。 698 00:31:40,370 --> 00:31:43,090 ドットだけで見えることを意味します 現在のディレクトリ。 699 00:31:43,090 --> 00:31:45,670 私はここである、こんにちはたいです。 700 00:31:45,670 --> 00:31:47,750 そして実際、今はハンナ挨拶します。 701 00:31:47,750 --> 00:31:51,120 そして、私は再びそれを変更した場合 マリアに、再コンパイル 702 00:31:51,120 --> 00:31:55,650 それは、ハロードットスラッシュになるだろう こんにちは、プログラムが変化し続け。 703 00:31:55,650 --> 00:31:58,060 >> しかし、これはまだあります かなり愚かなプログラム。 704 00:31:58,060 --> 00:32:00,972 私はこのプログラムを出荷したい場合は、 または友人にそれを与えます、 705 00:32:00,972 --> 00:32:03,430 またはマリアやハンナにそれを与えます そのことについて、それは大丈夫です。 706 00:32:03,430 --> 00:32:07,300 私はそれらの両方のためにそれをカスタマイズすることができ、 それが動的にするつもりはありませんです。 707 00:32:07,300 --> 00:32:10,870 それがコンパイルされていたら、彼らはそれを変更することはできません これらの0と1にダウン。 708 00:32:10,870 --> 00:32:12,350 だから我々は、よりスマートな何かをやりましたか? 709 00:32:12,350 --> 00:32:17,100 何場合は、代わりのハードコーディング プログラムこの人の名前に、 710 00:32:17,100 --> 00:32:20,890 私たちは何を取得する場合 オンデマンドでの文字列? 711 00:32:20,890 --> 00:32:22,430 >> だから、他の言葉で、私はこれをしましょう​​。 712 00:32:22,430 --> 00:32:24,030 私はこのプログラムを再コンパイルするつもりです。 713 00:32:24,030 --> 00:32:25,710 そして、私は今、一番下にズームインましょう。 714 00:32:25,710 --> 00:32:29,920 こんにちはドットスラッシュハローください。 715 00:32:29,920 --> 00:32:31,710 今は何も起こりません。 716 00:32:31,710 --> 00:32:35,860 我々は、迅速なボランティアを得ることができます 何かが起こる作るには? 717 00:32:35,860 --> 00:32:36,360 アップさあ。 718 00:32:36,360 --> 00:32:37,020 あなたの名前は何ですか? 719 00:32:37,020 --> 00:32:37,445 >> PANCHO:パンチョ。 720 00:32:37,445 --> 00:32:38,361 >> DAVID J.マラン:Pacho? 721 00:32:38,361 --> 00:32:39,609 アップさあ。 722 00:32:39,609 --> 00:32:42,150 あなたはここに立ち上がったら、これは 非常にがっかりすることになるだろう、 723 00:32:42,150 --> 00:32:44,060 しかし、それはより興味深いです 私はそれを入力するよりも。 724 00:32:44,060 --> 00:32:49,007 あなたが先に行くと、あなたを入力します 名前は、私はあなたのためだけに、このプログラムを作りました。 725 00:32:49,007 --> 00:32:49,840 ちょうどあなたの名前を入力します。 726 00:32:49,840 --> 00:32:52,380 727 00:32:52,380 --> 00:32:53,900 入力します。 728 00:32:53,900 --> 00:32:54,489 ワンダフル。 729 00:32:54,489 --> 00:32:55,780 すべての権利は​​、どうもありがとうございました。 730 00:32:55,780 --> 00:32:56,708 >> PANCHO:ありがとうございました。 731 00:32:56,708 --> 00:32:57,636 >> DAVID J.マラン:OK。 732 00:32:57,636 --> 00:32:59,028 >> [拍手] 733 00:32:59,028 --> 00:33:00,884 734 00:33:00,884 --> 00:33:01,840 >> それはとても親切でした。 735 00:33:01,840 --> 00:33:03,145 どうぞ。 736 00:33:03,145 --> 00:33:03,770 私たちは何をしましたか? 737 00:33:03,770 --> 00:33:05,930 だから最終的には、少なくとも、 このプログラムは、動的ました。 738 00:33:05,930 --> 00:33:08,400 今では確かにまだです デザインがっかりすることにより、 739 00:33:08,400 --> 00:33:11,480 しかし、我々は最終的に能力を持っています 今くらい、事前にコードを書くために 740 00:33:11,480 --> 00:33:13,770 printf関数の作者のように、 して、動的に 741 00:33:13,770 --> 00:33:17,550 我々は、入力に基づいて適応させます 手渡し、いずれかのプログラマによって、 742 00:33:17,550 --> 00:33:20,610 または実際だ人間が プログラムと対話します。 743 00:33:20,610 --> 00:33:22,990 それでは、実際に今試してみましょう いくつかの他の構成を行うには 744 00:33:22,990 --> 00:33:26,625 私たちはプログラムを作ることができないかどうかを確認 自身より洗練されました。 745 00:33:26,625 --> 00:33:29,250 それでは、先に、代わりの手放します 最初からこれを書いて、 746 00:33:29,250 --> 00:33:31,540 私は今日に行くつもりです ソースコード、およびこのすべて 747 00:33:31,540 --> 00:33:34,290 コー​​スの上で利用可能です ウェブサイト、そしてあなたがそれをドラッグ&ドロップすることができます 748 00:33:34,290 --> 00:33:36,590 あなた自身の環境に 問題一度金曜日来ます 749 00:33:36,590 --> 00:33:38,506 セット1はあなたに与えます 命令、またはあなたができました 750 00:33:38,506 --> 00:33:41,200 以下のようにコマンドラインでそれを行います Pセット1に来ても、より多くの。 751 00:33:41,200 --> 00:33:44,940 >> のは、このプログラムに何があるか見てみましょう ここで、加算器ドットCと呼ばれます。 752 00:33:44,940 --> 00:33:47,970 今、私はすでにコメントしました それは、新しい何ですか? 753 00:33:47,970 --> 00:33:51,230 一見、何行 コー​​ドの絶対に新しいのですか? 754 00:33:51,230 --> 00:33:53,930 755 00:33:53,930 --> 00:33:56,780 おそらくない根本的に 今不慣れ。 756 00:33:56,780 --> 00:33:58,417 >> 聴衆:[聞こえません] 757 00:33:58,417 --> 00:34:00,250 DAVID J.マラン:ええ、 だからint型のxは、nを得る等しいです。 758 00:34:00,250 --> 00:34:03,760 我々は、こののいずれかを見たことがありません 前が、int型はおそらくあります 759 00:34:03,760 --> 00:34:08,179 どのような種類のためのシンボル 変数、[? ?]整数。 760 00:34:08,179 --> 00:34:09,040 だから整数をint型。 761 00:34:09,040 --> 00:34:11,420 それはちょうどより多くであることです 簡潔。 xは単に任意です。 762 00:34:11,420 --> 00:34:13,920 xとyとzはまだ 数字のためにかなり合理的な、 763 00:34:13,920 --> 00:34:16,790 しかし、一般的に、我々は一度言葉を使用します 私たちのプログラムは、より複雑になります。 764 00:34:16,790 --> 00:34:18,940 もちろん、int型を取得し、 GET文字列のように多くの、 765 00:34:18,940 --> 00:34:21,629 おそらく、取得しようとしています ユーザーからint型、 766 00:34:21,629 --> 00:34:23,670 し、我々はするつもりです Yと同じことを行います。 767 00:34:23,670 --> 00:34:27,610 そしてどうやら、にもかかわらず、この 最後の行、24は、より複雑に見えます、 768 00:34:27,610 --> 00:34:32,679 それはこれの合計を言うために起こっています それは、この他の事です。 769 00:34:32,679 --> 00:34:35,840 >> 予告パーセント私 おそらく何を意味しますか? 770 00:34:35,840 --> 00:34:38,190 パーセントを何役割 私は明らかに役立ちますか? 771 00:34:38,190 --> 00:34:40,739 772 00:34:40,739 --> 00:34:41,719 それはちょうどプレースホルダです。 773 00:34:41,719 --> 00:34:42,219 右? 774 00:34:42,219 --> 00:34:45,149 パーセントsが文字列のためでした、 パーセントiは整数のためのものです。 775 00:34:45,149 --> 00:34:47,690 パーセントFがあるように起こっています 浮動小数点値のために、これ 776 00:34:47,690 --> 00:34:49,273 小数点を単に数です。 777 00:34:49,273 --> 00:34:50,590 換言すれば、実数。 778 00:34:50,590 --> 00:34:55,270 それでは、実際にこれをコンパイルしてみましょう プログラム本当に速いと加算器を作るのですか。 779 00:34:55,270 --> 00:34:57,962 おっと。 780 00:34:57,962 --> 00:34:58,670 良い機会。 781 00:34:58,670 --> 00:35:02,970 そこで、私のユーザーは、ここですべてのこの時間に気付きます jharvardでこのアカウントの名前を入力します。 782 00:35:02,970 --> 00:35:06,620 私はCS50のIDE、別名IDE50にしています。 783 00:35:06,620 --> 00:35:11,030 そして今ここに青色で、言及するが、 環境から、私はどこの。 784 00:35:11,030 --> 00:35:16,050 そして実際に、私はトップまでズームインするとき、 ここで、私はIDE50を持っていることに気づきます 785 00:35:16,050 --> 00:35:19,490 あなたの種類の場合、私は、この言葉を参照してください 側にあなたの頭を回し、ワークスペース。 786 00:35:19,490 --> 00:35:23,890 一言で言えば、事実 私はチルダスラッシュワークスペースを見ています 787 00:35:23,890 --> 00:35:26,910 このテキストであることを意味 ベースのコマンド環境、 788 00:35:26,910 --> 00:35:32,300 私はの等価テキストで午前 ここでこのグラフィカルなフォルダをバックアップします。 789 00:35:32,300 --> 00:35:35,730 だから私は、ドットスラッシュを行うとき 加算器、それはルールを言ってんです 790 00:35:35,730 --> 00:35:37,372 ターゲット加算器停止を行います。 791 00:35:37,372 --> 00:35:39,830 私は、それが何を意味するのか分かりません それが何らかの理由で悪いです。 792 00:35:39,830 --> 00:35:43,310 そのようなファイル、又はディレクトリはありません さらに明らかです。 793 00:35:43,310 --> 00:35:45,670 それは、その後どこにありますか? 794 00:35:45,670 --> 00:35:47,820 私がクリックした場所に基づいて、 以前のファイルを開きます。 795 00:35:47,820 --> 00:35:49,442 それはどこでしょうか? 796 00:35:49,442 --> 00:35:52,050 >> これは、ソースで、おそらくです 1ワット、水曜日のため、 797 00:35:52,050 --> 00:35:53,960 私は、確かに、それを見ることができます 私はそれを開く場合。 798 00:35:53,960 --> 00:35:57,220 そこ加算ドットcがあるが、中 このテキストベースの環境、 799 00:35:57,220 --> 00:35:59,380 再び、私はスーパー明示しなければなりません。 800 00:35:59,380 --> 00:36:03,950 私はにディレクトリを変更したい場合 ソース1水曜日は、私が入力する必要があり、 801 00:36:03,950 --> 00:36:07,210 CD・スペースソース1 水曜日は、今入力し、 802 00:36:07,210 --> 00:36:09,810 私のプロンプトの変化に 私は視覚的な手がかりを与えること 803 00:36:09,810 --> 00:36:12,330 私は他の場所で、確かに、です 私の環境で、 804 00:36:12,330 --> 00:36:15,710 しかし、今私はメイクを行うことができます 加算器、それが動作しているようです、 805 00:36:15,710 --> 00:36:18,190 ドットは私に整数を与え、加算器を大幅に削減。 806 00:36:18,190 --> 00:36:19,080 1。 807 00:36:19,080 --> 00:36:20,070 2。 808 00:36:20,070 --> 00:36:21,630 1と2の合計は3です。 809 00:36:21,630 --> 00:36:24,140 しかし、私は協力しない場合は、 のがintがする何を得るを見てみましょう。 810 00:36:24,140 --> 00:36:25,200 私に整数を与えます。 811 00:36:25,200 --> 00:36:26,590 いいえ。 812 00:36:26,590 --> 00:36:27,350 再試行してください。 813 00:36:27,350 --> 00:36:29,060 OK。 814 00:36:29,060 --> 00:36:30,520 ファイン。 815 00:36:30,520 --> 00:36:32,130 50。 816 00:36:32,130 --> 00:36:32,680 50。 817 00:36:32,680 --> 00:36:33,010 大丈夫。 818 00:36:33,010 --> 00:36:34,055 だから、最終的に協力しています。 819 00:36:34,055 --> 00:36:36,430 そして、それはいくつかのです 機能これらの機能 820 00:36:36,430 --> 00:36:37,760 あなたのために組み込まれていることができます。 821 00:36:37,760 --> 00:36:43,330 >> 実装の内部だから int型の、どのようなプログラミングを得ます 822 00:36:43,330 --> 00:36:47,990 である可能性があり、先週から構築 そこにリトライのこの動作を強制するには、 823 00:36:47,990 --> 00:36:49,962 再試行、再試行? 824 00:36:49,962 --> 00:36:51,670 ええ、おそらくあります ループのいくつかの種類。 825 00:36:51,670 --> 00:36:54,160 これは、構文的に見えるようになるだろう スクラッチのブロックとは異なります、 826 00:36:54,160 --> 00:36:55,880 それは確かです ファイルの中です。 827 00:36:55,880 --> 00:36:58,505 そして、数週間の時間では、よ 実際にCS50ライブラリを見て 828 00:36:58,505 --> 00:37:02,000 内部のだが、そこに何のよう まさにそれを課すループ。 829 00:37:02,000 --> 00:37:04,840 >> のは愚かな少し遊んでみよう ここで、このファイルを使用してゲーム。 830 00:37:04,840 --> 00:37:06,550 コンディションゼロドットC。 831 00:37:06,550 --> 00:37:08,960 私達はちょうど一般的になるだろう ゼロからカウントを開始。 832 00:37:08,960 --> 00:37:11,220 そして、私は過去をスクロールし続けます 一番上のものの一部。 833 00:37:11,220 --> 00:37:15,390 青ここでは、すべてを画定 これらの星とスラッシュの、 834 00:37:15,390 --> 00:37:17,310 プログラムあなたの人々 前、それは何ですか? 835 00:37:17,310 --> 00:37:18,690 なぜ我々はそれをスキップ続けるのですか? 836 00:37:18,690 --> 00:37:19,110 何? 837 00:37:19,110 --> 00:37:19,490 >> 観客:それはコメントです。 838 00:37:19,490 --> 00:37:19,800 >> DAVID J.マラン:うん。 839 00:37:19,800 --> 00:37:20,633 それはちょうどコメントです。 840 00:37:20,633 --> 00:37:24,160 これは、人間のためのコメントです 読み取るために、私たちの場合と、 841 00:37:24,160 --> 00:37:27,120 ファイルの名前を教えてくれるもの 、誰が書いたか、であり、それは何をしますか 842 00:37:27,120 --> 00:37:28,610 あなたが持っていないように、 コー​​ドを読むために 843 00:37:28,610 --> 00:37:30,110 このファイルはすべてに約あるか知っています。 844 00:37:30,110 --> 00:37:33,110 それはちょうど説明だが、 機能的には無関係です。 845 00:37:33,110 --> 00:37:35,930 そして、私もそれをから削除することができます 私のファイルとそれに影響を与えることはありません。 846 00:37:35,930 --> 00:37:38,740 ジューシーなラインはこれらです 今ここで最初の2、。 847 00:37:38,740 --> 00:37:41,405 int型の主な空隙が同等です 私たちの緑の旗のクリック、 848 00:37:41,405 --> 00:37:44,030 私たちはそのことを残すつもりです 今日のために、私たちは戻ってくるだろう、 849 00:37:44,030 --> 00:37:46,940 結局、何のよう int型と空隙が、今ですが、 850 00:37:46,940 --> 00:37:49,500 私が何をやったかに気付きます ここでも、あなたもすることができ、 851 00:37:49,500 --> 00:37:51,736 あなたはラインで持っている場合 あなたが持っている場合は、コメント 852 00:37:51,736 --> 00:37:54,670 あなたが共有したい考え コー​​ドの特定の行について、 853 00:37:54,670 --> 00:37:58,910 Cのコンベンションは、スラッシュを行うことです スラッシュ、その後、いくつかの簡潔な言葉、 854 00:37:58,910 --> 00:38:01,500 ない完全な文、 一般には、段落、 855 00:38:01,500 --> 00:38:05,310 それはあなたに説明したり、 TF、または他の読者や同僚、 856 00:38:05,310 --> 00:38:06,990 あなたのコードが何をしているのです。 857 00:38:06,990 --> 00:38:10,150 そうではなく、見ています この時や線から推測 858 00:38:10,150 --> 00:38:12,550 何であるか9、10、 この行8で、やっ 859 00:38:12,550 --> 00:38:14,945 私はちょうどにコメントを与えます 整数をユーザに尋ねます、 860 00:38:14,945 --> 00:38:17,820 私はあまりにもハード考える必要はありません 行9と10が何であるかについて。 861 00:38:17,820 --> 00:38:19,720 私はちょうどそれが何だことを知っています 総称して、彼らはやっています。 862 00:38:19,720 --> 00:38:20,460 >> どうやって? 863 00:38:20,460 --> 00:38:22,060 さて、ここでプロンプトです。 864 00:38:22,060 --> 00:38:23,610 ここではint型の取得です。 865 00:38:23,610 --> 00:38:25,984 そして、以前に基づいて 動作は、それは、get int型のように思えます 866 00:38:25,984 --> 00:38:29,080 ことを確認するのに十分スマートです 人間が協力して、それを提供します 867 00:38:29,080 --> 00:38:30,090 整数。 868 00:38:30,090 --> 00:38:32,270 しかし、今、私たちはこれを参照してください。 869 00:38:32,270 --> 00:38:33,740 そして、これはスクラッチを彷彿とさせます。 870 00:38:33,740 --> 00:38:36,140 私はだと主張しています ユーザの入力を解析し、 871 00:38:36,140 --> 00:38:39,050 やや不正確。 872 00:38:39,050 --> 00:38:43,200 そして、これは明らかにC言語でどのように それ以外の場合、私たちは、枝を表現します、 873 00:38:43,200 --> 00:38:46,320 道路の分岐点が、私 やや不正確言います。 874 00:38:46,320 --> 00:38:50,470 このプログラムのバグは何ですか? 875 00:38:50,470 --> 00:38:51,610 さらにバック? 876 00:38:51,610 --> 00:38:52,223 うん。 877 00:38:52,223 --> 00:38:53,150 >> 聴衆:[聞こえない]ゼロ。 878 00:38:53,150 --> 00:38:54,025 >> DAVID J.マラン:うん。 879 00:38:54,025 --> 00:38:57,630 私はゼロで入力した場合それでは、考えてみましょう まさにそのような場合、またはコーナーケース、 880 00:38:57,630 --> 00:38:58,450 あなたがする場合。 881 00:38:58,450 --> 00:39:02,790 だから私はゼロで入力した場合、そのうちの ブロックは明らかにそれをつかむために起こっていますか? 882 00:39:02,790 --> 00:39:04,660 ifや他の? 883 00:39:04,660 --> 00:39:07,340 他に、それは言うために起こっています、 あなたが負の数を選びました。 884 00:39:07,340 --> 00:39:10,476 そして実際、ゼロが想定されていません 正または負であるためには、 885 00:39:10,476 --> 00:39:11,850 ので、それは誤っだろう。 886 00:39:11,850 --> 00:39:12,930 それはバグでしょう。 887 00:39:12,930 --> 00:39:14,580 では、どのように我々はこの問題を解決することができますか? 888 00:39:14,580 --> 00:39:16,360 前にプログラムではありませんでした誰か? 889 00:39:16,360 --> 00:39:16,570 欲しいですか - 890 00:39:16,570 --> 00:39:17,480 >> 聴衆:[聞こえません] 891 00:39:17,480 --> 00:39:17,990 >> DAVID J.マラン:後退? 892 00:39:17,990 --> 00:39:18,570 >> 聴衆:[聞こえません] 893 00:39:18,570 --> 00:39:18,930 >> DAVID J.マラン:ああ、あなたはありますか? 894 00:39:18,930 --> 00:39:20,350 前にプログラムしたことがない人。 895 00:39:20,350 --> 00:39:21,750 であなたの手を試してみたいです この、赤いシャツで? 896 00:39:21,750 --> 00:39:22,600 アップさあ。 897 00:39:22,600 --> 00:39:25,320 あなたが気にしなければそうそう、アップに来ます。 898 00:39:25,320 --> 00:39:27,586 だからプログラムありませんでした 前、あなたの名前は何ですか? 899 00:39:27,586 --> 00:39:28,210 ローレン:ローレン。 900 00:39:28,210 --> 00:39:29,626 DAVID J.マラン:ローレン、すべての権利。 901 00:39:29,626 --> 00:39:31,150 だから、私たちのためにこのバグを修正。 902 00:39:31,150 --> 00:39:35,070 あなたはおそらく、Cを見ていませんでした、 おそらくありませんその他の言語。 903 00:39:35,070 --> 00:39:38,380 だから、私たちのためにこのプログラムを修正します。 904 00:39:38,380 --> 00:39:39,100 屋はじめまして。 905 00:39:39,100 --> 00:39:39,615 いいえ圧力ありません。 906 00:39:39,615 --> 00:39:40,156 ローレン:うん。 907 00:39:40,156 --> 00:39:43,350 908 00:39:43,350 --> 00:39:46,270 >> DAVID J.マラン:しかし、再び、この場合 ギャンブルは、計画に従って行きます 909 00:39:46,270 --> 00:39:48,350 お持ち帰りここになります 開始するには、もう一度、あること 910 00:39:48,350 --> 00:39:51,080 パターンとに気づき 既存の構文から推測 911 00:39:51,080 --> 00:39:55,420 他にどのようにあなたが表現するかもしれません ためには、自分自身、全くしゃれが意図していません、 912 00:39:55,420 --> 00:39:58,410 いくつかの追加シナリオをキャプチャします。 913 00:39:58,410 --> 00:39:59,603 だから、もし他に言っています。 914 00:39:59,603 --> 00:40:04,040 915 00:40:04,040 --> 00:40:05,230 printfの、良いです。 916 00:40:05,230 --> 00:40:09,120 そして、CS50に気付きます IDE、およびfrankly-- IDE 917 00:40:09,120 --> 00:40:11,110 統合の略 開発環境。 918 00:40:11,110 --> 00:40:14,110 それは言ってだけの空想の方法です あなたのプログラムを支援するプログラム。 919 00:40:14,110 --> 00:40:16,779 それはのようなユーザーフレンドリーなことを行います 1つの括弧を入力すると、 920 00:40:16,779 --> 00:40:18,320 それは自動的にあなたに他を提供します。 921 00:40:18,320 --> 00:40:20,760 推定は、あなたがしていることです 最終的にそれを入力するつもり、 922 00:40:20,760 --> 00:40:22,400 それはまた、引用符でそれをしません。 923 00:40:22,400 --> 00:40:24,190 >> だから私は、23行目が好きです。 924 00:40:24,190 --> 00:40:26,400 そこに道の99%。 925 00:40:26,400 --> 00:40:29,920 誰かが先端でチャイムしたいですか? 926 00:40:29,920 --> 00:40:31,420 私は観客からのセミコロンを聞きました。 927 00:40:31,420 --> 00:40:32,080 良い。 928 00:40:32,080 --> 00:40:33,260 だから、それを完了します。 929 00:40:33,260 --> 00:40:37,930 そして今、私は少しを持っています ライン21と仰天。 930 00:40:37,930 --> 00:40:41,370 どのように我々はこれを表現したいですか? 931 00:40:41,370 --> 00:40:43,370 私たちは何を質問したいです 、聞いて、あなたは思いますか? 932 00:40:43,370 --> 00:40:46,870 933 00:40:46,870 --> 00:40:50,330 そこで以前、私たちは質問をし、 nがゼロより大きい場合、これを行います。 934 00:40:50,330 --> 00:40:51,870 そうでなければ、それを行います。 935 00:40:51,870 --> 00:40:54,317 だから私たちは選択する必要があります 質問はここに依頼します。 936 00:40:54,317 --> 00:40:55,192 聴衆:[聞こえません] 937 00:40:55,192 --> 00:40:56,530 DAVID J.マラン:良いです。 938 00:40:56,530 --> 00:40:58,290 だから、nがゼロに等しい場合。 939 00:40:58,290 --> 00:41:01,140 940 00:41:01,140 --> 00:41:02,100 優れています。 941 00:41:02,100 --> 00:41:03,080 それでは、ここで一時停止してみましょう。 942 00:41:03,080 --> 00:41:04,850 これを勇敢に立ち向かうために本当にありがとうございました。 943 00:41:04,850 --> 00:41:10,890 当然私はあなたに少し挙げてみましょう おそらくそこにストレスボール。 944 00:41:10,890 --> 00:41:11,900 だから我々はほとんどがしています。 945 00:41:11,900 --> 00:41:14,790 実際には、ローレン、あなたがしなければありません 心が、私は1がここで調整しましょう 946 00:41:14,790 --> 00:41:17,850 ただでさえと一致するように 我々はスクラッチで見たもの、何 947 00:41:17,850 --> 00:41:21,080 私はラインをどうしたいですか 21、24、もう一度ベース 948 00:41:21,080 --> 00:41:23,290 我々は、おそらく、スクラッチでこれをやりましたの? 949 00:41:23,290 --> 00:41:24,230 >> 聴衆:それを移動します。 950 00:41:24,230 --> 00:41:25,605 >> DAVID J.マラン:うん、それを移動します。 951 00:41:25,605 --> 00:41:30,260 だから、他の条件、第三、または 、第4、又は第5、または最終ブランチ 952 00:41:30,260 --> 00:41:34,100 確かにその後に来る必要があり、 それは、単に慣例によりです 953 00:41:34,100 --> 00:41:36,047 ちょうどあなたがするかどうかのため。 954 00:41:36,047 --> 00:41:37,380 だから私は、この微調整を行う必要があります。 955 00:41:37,380 --> 00:41:39,660 そして、私は私を配置する必要があります ここに戻って中括弧。 956 00:41:39,660 --> 00:41:42,700 そして今、このプログラムがコンパイルされます。 957 00:41:42,700 --> 00:41:46,140 私たちはとても近くだが、あります 非常に、非常に微妙なバグを修正しました。 958 00:41:46,140 --> 00:41:47,200 それでは、何が起こるか見てみましょう。 959 00:41:47,200 --> 00:41:49,660 >> まず、私が先に行くと、ズームアウトしてみましょう。 960 00:41:49,660 --> 00:41:53,405 私は先に行くつもりだと 条件をゼロに入力します。 961 00:41:53,405 --> 00:41:55,070 ああ、私は嘘をつきました。 962 00:41:55,070 --> 00:41:58,760 今コンパイラがあります 実際にはかなりスマート。 963 00:41:58,760 --> 00:42:00,950 そして、私は本当に理解していません それはエラーメッセージです。 964 00:42:00,950 --> 00:42:04,310 割当ての結果を使用して 括弧なしの条件として、 965 00:42:04,310 --> 00:42:05,740 明らかに悪いです。 966 00:42:05,740 --> 00:42:07,100 しかし、それは何を意味するのでしょうか? 967 00:42:07,100 --> 00:42:10,860 >> さて、再び、パターンを探します 我々の前に見てきたコードで、 968 00:42:10,860 --> 00:42:16,640 実際にやって17行もので、 ローレンは少し意図にもかかわらず、 969 00:42:16,640 --> 00:42:18,790 そうでない場合は? 970 00:42:18,790 --> 00:42:19,290 うん。 971 00:42:19,290 --> 00:42:21,565 >> 聴衆:[聞こえません] 972 00:42:21,565 --> 00:42:22,440 DAVID J.マラン:うん。 973 00:42:22,440 --> 00:42:26,610 だから明らかに、等号を覚えています 我々はそれを前に使用してきたように、イコールではありません。 974 00:42:26,610 --> 00:42:29,240 右から左への割り当て、。 975 00:42:29,240 --> 00:42:33,810 だから、現時点では17行目 条件は、それがな 976 00:42:33,810 --> 00:42:37,890 括弧内のコードを実行し、 しかし、そのコードが実行されると、 977 00:42:37,890 --> 00:42:42,140 何がゼロの値に起こっているのでしょうか? 978 00:42:42,140 --> 00:42:45,250 何がnの値に起こっているのでしょうか? 979 00:42:45,250 --> 00:42:46,810 ゼロになります。 980 00:42:46,810 --> 00:42:50,520 nがゼロになってきているのであれば、 そして再び、最後の週として、 981 00:42:50,520 --> 00:42:54,690 我々は、一般的にゼロと言います 偽であり、1つは真です、 982 00:42:54,690 --> 00:42:57,410 またはyesが1ではないと何がゼロです。 983 00:42:57,410 --> 00:42:59,590 だから、真と偽、1と0。 984 00:42:59,590 --> 00:43:06,090 17行目のようにnがされている場合 値0指定された、真のゼロですか? 985 00:43:06,090 --> 00:43:06,590 いいえ。 986 00:43:06,590 --> 00:43:08,280 定義により、ゼロはfalseです。 987 00:43:08,280 --> 00:43:10,860 それは我々がしている大会です 前進にしがみつくつもり。 988 00:43:10,860 --> 00:43:17,320 そうであろう線18、19、および20 これまでに、論理的に、今適用? 989 00:43:17,320 --> 00:43:18,320 彼らがすることはできません。 990 00:43:18,320 --> 00:43:21,640 だから我々は質問を しかしかなり正確には、 991 00:43:21,640 --> 00:43:25,620 あなたがなければ、これを知っているだろう あなたは、C内の溶液、それを見てきました 992 00:43:25,620 --> 00:43:29,610 あなたが表現したいときであります 平等、あなたはイコールに等しいと言います。 993 00:43:29,610 --> 00:43:33,140 だから、等号はすでに使用されました 割り当てによって、右から左へ。 994 00:43:33,140 --> 00:43:35,110 等号は、equalsを意味等しいです。 995 00:43:35,110 --> 00:43:37,950 そして、あなたは本当にあなたの心をしたい場合 JavaScriptとPHPで、曲げられます、 996 00:43:37,950 --> 00:43:40,490 等号に等しいは、そこに等しいです 完全に何かを意味し、 997 00:43:40,490 --> 00:43:41,990 私たちはずっと前にそれに取得します。 998 00:43:41,990 --> 00:43:45,760 >> だから、これは簡単な修正ですが、実現します この間違いをする超簡単、 999 00:43:45,760 --> 00:43:48,700 して、不思議と闘争 分、ない時間であれば、 1000 00:43:48,700 --> 00:43:51,490 なぜ私のコードではありません 私が意図したとおり実行? 1001 00:43:51,490 --> 00:43:54,140 あなたが教えてくれなかったからです それは正確にあなたが何を意味するのか。 1002 00:43:54,140 --> 00:43:56,450 だから、ほとんどでした 完璧な、それは素晴らしかったです 1003 00:43:56,450 --> 00:44:00,760 我々はこれらの二つの小さなつまずいていること 物事今、我々はそれらを修正する場合のため、 1004 00:44:00,760 --> 00:44:06,240 私は状態ゼロを作るのですか ドットスラッシュ条件ゼロ、 1005 00:44:06,240 --> 00:44:07,490 私は整数をお願いしたいと思います。 1006 00:44:07,490 --> 00:44:08,090 どれどれ。 1007 00:44:08,090 --> 00:44:09,160 いいえ。 1008 00:44:09,160 --> 00:44:10,740 それはそれを行うために私を強制的に起こっています。 1009 00:44:10,740 --> 00:44:11,990 だから42。 1010 00:44:11,990 --> 00:44:13,590 私は正の数を選びました。 1011 00:44:13,590 --> 00:44:16,470 だから今、私は証明しない方法 正しいこのプログラム? 1012 00:44:16,470 --> 00:44:19,990 あなたは数学者であれば、あなたがすることはできません 本当に試行錯誤することによって、これを証明します、 1013 00:44:19,990 --> 00:44:20,490 右? 1014 00:44:20,490 --> 00:44:23,180 あなたはでわずか証明することはできません 少なくとも一例が、 1015 00:44:23,180 --> 00:44:25,494 プログラマーとして私たちではありません 今のところ証明するためにしようとするつもり 1016 00:44:25,494 --> 00:44:27,660 これは実際にはその 正しいが、私はおそらくべき 1017 00:44:27,660 --> 00:44:29,470 いくつかの代表的な例をテストします。 1018 00:44:29,470 --> 00:44:31,070 >> 私は42をテストしました。 1019 00:44:31,070 --> 00:44:33,030 私は43をテストすることができます。 1020 00:44:33,030 --> 00:44:34,910 私は44をテストすることができます。 1021 00:44:34,910 --> 00:44:35,640 テスト45。 1022 00:44:35,640 --> 00:44:36,140 右? 1023 00:44:36,140 --> 00:44:37,860 しかし、私はこれは本当に長い時間行うことができます。 1024 00:44:37,860 --> 00:44:39,925 何がいくつかのより多くのだろう 興味深い例は、試してみますか? 1025 00:44:39,925 --> 00:44:41,050 聴衆:[聞こえない]ゼロ。 1026 00:44:41,050 --> 00:44:41,740 DAVID J.マラン:だからゼロ。 1027 00:44:41,740 --> 00:44:42,297 確かに。 1028 00:44:42,297 --> 00:44:44,880 そして、良い、私たちは、それをこの時間を持っています ローレンの新しいコードのおかげで。 1029 00:44:44,880 --> 00:44:46,213 しようとする別の良いケースは何ですか? 1030 00:44:46,213 --> 00:44:47,320 聴衆:負1。 1031 00:44:47,320 --> 00:44:50,070 >> DAVID J.マラン:負の一つであり、 多分少し何か大きなもの、 1032 00:44:50,070 --> 00:44:52,617 ので、多分42負、 しかし、一般的には、時 1033 00:44:52,617 --> 00:44:54,450 あなたのプログラムをテスト 前進し、あなたがしています 1034 00:44:54,450 --> 00:44:56,325 考えてするつもり 自分自身に、好きなもの 1035 00:44:56,325 --> 00:44:58,050 基本的に異なる場合があります。 1036 00:44:58,050 --> 00:45:01,720 そして、私は否定的なケースをあえて言い​​ます、 正の場合、ゼロの場合 1037 00:45:01,720 --> 00:45:03,365 かなりこれらを丸めます。 1038 00:45:03,365 --> 00:45:04,990 それでは、このかかわらずの変形を見てみましょう。 1039 00:45:04,990 --> 00:45:06,930 条件1。 1040 00:45:06,930 --> 00:45:11,224 これは、ここで正解です あなたがオンライン2とが表示されますように、 1041 00:45:11,224 --> 00:45:13,390 あなたが歩く場合 ウォークスルーは、一般的になります 1042 00:45:13,390 --> 00:45:18,090 私たちまで、これらを段階的に増加さ 正確に正しいアプローチを得ます。 1043 00:45:18,090 --> 00:45:20,070 私たちがお願いしたい場合はどのような 一度に二つの質問? 1044 00:45:20,070 --> 00:45:22,200 >> 私が代わりにこれを開いてみましょう。 1045 00:45:22,200 --> 00:45:26,740 理由のための非スイッチ、 我々は別の時間が表示されます。 1046 00:45:26,740 --> 00:45:29,610 構文的にここで新しい何ですか? 1047 00:45:29,610 --> 00:45:32,760 私は現在、ゲームをプレイしています コンピュータが語っている場所 1048 00:45:32,760 --> 00:45:35,550 私は、私に整数を与えます 1と10の間、 1049 00:45:35,550 --> 00:45:37,180 そして私は、ユーザの入力を判断しています。 1050 00:45:37,180 --> 00:45:39,180 英語では、上のベース あなたはここを参照してくださいコード 1051 00:45:39,180 --> 00:45:41,530 青で、このプログラムは何をしているのですか? 1052 00:45:41,530 --> 00:45:44,256 1053 00:45:44,256 --> 00:45:46,380 聴衆:[聞こえない]ピックアップ 大きいか小さい数。 1054 00:45:46,380 --> 00:45:46,484 DAVID J.マラン:うん。 1055 00:45:46,484 --> 00:45:49,450 それはちょうどかどうかを裁定です 私は大きな、またはメディアを選びました、 1056 00:45:49,450 --> 00:45:53,900 または少数の非常に基づきます 小、中の任意の定義、 1057 00:45:53,900 --> 00:45:58,510 ここで大規模な、しかし予告 新構文はこれです。 1058 00:45:58,510 --> 00:46:02,340 intまたは等しいよりも少なくはありません 記号、または署名する以上、 1059 00:46:02,340 --> 00:46:05,430 ここで1は、他の上にあるあなたのこと Microsoft Wordのようで表現することができます。 1060 00:46:05,430 --> 00:46:08,180 プログラミング言語のですから 一般的にちょうど2つの文字を行い、 1061 00:46:08,180 --> 00:46:09,450 次々に。 1062 00:46:09,450 --> 00:46:12,695 そして、これはおそらく、何が 、アンパサンドアンパサンドを表します。 1063 00:46:12,695 --> 00:46:13,570 聴衆:[聞こえません] 1064 00:46:13,570 --> 00:46:13,680 DAVID J.マラン:うん。 1065 00:46:13,680 --> 00:46:16,910 それはちょうど意味しているため Cの作者ことが判明 1066 00:46:16,910 --> 00:46:19,120 単一のアンパサンドを使用し、 これはあなたが思うかもしれません 1067 00:46:19,120 --> 00:46:22,430 概念のために完璧になります のと、すでに、最大使用されています 1068 00:46:22,430 --> 00:46:27,300 実際にそのようにアンパサンドアンパサンド 私たちが実際に必要な場合をキャプチャします。 1069 00:46:27,300 --> 00:46:30,610 >> それでは、今二つのことに遭遇してみましょう。 1070 00:46:30,610 --> 00:46:32,640 私が先に行くと1を開いてみましょう。 1071 00:46:32,640 --> 00:46:36,590 少し気になる何か。 1072 00:46:36,590 --> 00:46:37,970 不正確ドットC。 1073 00:46:37,970 --> 00:46:40,260 私はここで二つのことをご紹介しましょう​​。 1074 00:46:40,260 --> 00:46:44,720 一、私たちにできるの通知 ただ以前のようにするときのように数学、 1075 00:46:44,720 --> 00:46:47,797 我々は2つ​​の数x、yのプラスでした。 1076 00:46:47,797 --> 00:46:49,380 このプログラムは明らかに何をしているのですか? 1077 00:46:49,380 --> 00:46:52,140 私は、まだそれをコメントしていませんでした 私は%のFを導入しましたが、 1078 00:46:52,140 --> 00:46:55,720 私はすぐに以前に述べました パーセントfは、浮動小数点の意味します 1079 00:46:55,720 --> 00:46:56,970 実数値。 1080 00:46:56,970 --> 00:46:59,520 小数で何か 整数ではない点、。 1081 00:46:59,520 --> 00:47:02,270 このプログラムは、あなたは何を思いますか 画面上を見せしようとしていますか? 1082 00:47:02,270 --> 00:47:05,060 1083 00:47:05,060 --> 00:47:06,050 うん? 1084 00:47:06,050 --> 00:47:07,550 聴衆:10上の1つの結果。 1085 00:47:07,550 --> 00:47:07,780 DAVID J.マラン:うん。 1086 00:47:07,780 --> 00:47:09,680 10で割った1の結果は何ですか。 1087 00:47:09,680 --> 00:47:12,721 右、あなたのすべては、おそらく持っているので、 10以上のこと1​​を知って育っ 1088 00:47:12,721 --> 00:47:14,502 何? 1089 00:47:14,502 --> 00:47:16,220 うん、それはちょうど1/10または0.1です。 1090 00:47:16,220 --> 00:47:16,720 右? 1091 00:47:16,720 --> 00:47:19,010 それでは、これは実際にあるか見てみましょう。 1092 00:47:19,010 --> 00:47:21,010 だから私は先に行くと、これを保存してみましょう。 1093 00:47:21,010 --> 00:47:21,970 私はここでダウンして行きましょう。 1094 00:47:21,970 --> 00:47:26,360 不正確ドットスラッシュを作ります 不正確、予告、あまりにも、 1095 00:47:26,360 --> 00:47:29,380 Linux環境で、あなたはしないでください 不正確を入力して取る必要があります 1096 00:47:29,380 --> 00:47:30,010 一日中。 1097 00:47:30,010 --> 00:47:32,910 一般的にこれ、あなたがタブをヒットした場合、それは あなたのためにあなたの思考を終了します、 1098 00:47:32,910 --> 00:47:36,660 ある単語に基づい 現在のディレクトリに利用できます。 1099 00:47:36,660 --> 00:47:37,160 OK。 1100 00:47:37,160 --> 00:47:37,970 だから、正しかったです。 1101 00:47:37,970 --> 00:47:41,239 10で割ったものが、実際には、0.1です。 1102 00:47:41,239 --> 00:47:42,280 しかし、私は少し興味があります。 1103 00:47:42,280 --> 00:47:44,196 そして、それはprintf関数が判明 いくつかの機能をサポートしています 1104 00:47:44,196 --> 00:47:48,700 あなたはより多くを指定することができます 小数点数のデフォルト値。 1105 00:47:48,700 --> 00:47:52,140 だから私は、10進を表示する場合 ポイントは、私は、パーセントを行うことができ、 1106 00:47:52,140 --> 00:47:55,510 プレースホルダのシンボルに対して、ドット 10のために、私に10進ポイントを与え、 1107 00:47:55,510 --> 00:47:58,140 して、まだ浮動小数点 値、および、脇など、 1108 00:47:58,140 --> 00:48:01,550 このバックスラッシュnは何ですか どうやら我々は、使用し続けますか? 1109 00:48:01,550 --> 00:48:03,450 それはだが判明 新しい行のシンボル。 1110 00:48:03,450 --> 00:48:05,970 それは非常に明確な方法です コンピュータにというのが、 1111 00:48:05,970 --> 00:48:08,759 次にカーソルを移動 設定が完了した後に行。 1112 00:48:08,759 --> 00:48:10,800 そして、我々は何が起こるかわかります 我々はそれをしないとき。 1113 00:48:10,800 --> 00:48:12,430 >> 私は不正確を作る再コンパイルしてみましょう。 1114 00:48:12,430 --> 00:48:15,320 1115 00:48:15,320 --> 00:48:18,356 今不正確ス​​ラッシュドット。 1116 00:48:18,356 --> 00:48:18,930 OK。 1117 00:48:18,930 --> 00:48:19,780 まだ右。 1118 00:48:19,780 --> 00:48:21,512 一つは、10で割ったもの。 1119 00:48:21,512 --> 00:48:23,220 今私は取得しています しかし、少し好奇心が強いです。 1120 00:48:23,220 --> 00:48:27,599 私が見れば20進 指摘し、再コンパイルし、再実行し、 1121 00:48:27,599 --> 00:48:29,390 、脇用として スピード、あなたも使用することができます 1122 00:48:29,390 --> 00:48:31,800 あなたの上下の矢印に あなたの歴史をスクロールし、 1123 00:48:31,800 --> 00:48:35,476 あなたは維持する必要はありません これらのコマンドを再入力、入力します。 1124 00:48:35,476 --> 00:48:36,910 はぁ。 1125 00:48:36,910 --> 00:48:39,220 私は小学校でそれを学ぶことがなかったです。 1126 00:48:39,220 --> 00:48:43,260 すべての権利は​​、そのように私をしましょう うち29ヶ所のように参照してください。 1127 00:48:43,260 --> 00:48:44,300 多分それは単にまぐれです。 1128 00:48:44,300 --> 00:48:46,907 多分、私のコンピュータは、奇妙な演技されています。 1129 00:48:46,907 --> 00:48:47,990 それは正しい、ことではありませんか? 1130 00:48:47,990 --> 00:48:50,300 これは、決定論的な何かをやっています。 1131 00:48:50,300 --> 00:48:53,410 だから、不正確を作ります。 1132 00:48:53,410 --> 00:48:54,890 [OK]を、それはめちゃくちゃです。 1133 00:48:54,890 --> 00:48:57,620 だから何が起こっているの? 1134 00:48:57,620 --> 00:49:00,160 >> だから、明らかにあなたの 先生は嘘をついてきました 1135 00:49:00,160 --> 00:49:03,900 あなたのために、この時間のすべてに 私たちはずっと前に表示されますの理由。 1136 00:49:03,900 --> 00:49:05,569 しかし、ここでは一つの他のプログラムで終わりましょう。 1137 00:49:05,569 --> 00:49:07,860 これは小さなプログラムであります 誰かが、何年か前に書きました 1138 00:49:07,860 --> 00:49:08,990 そして、それは実際にコンテストの一部です。 1139 00:49:08,990 --> 00:49:11,198 誰もが実際にコードを書き込むことはありません このように、あなたがしなければ、 1140 00:49:11,198 --> 00:49:12,880 これは文体の問題です。 1141 00:49:12,880 --> 00:49:14,660 しかし、人々は自慢する権利のためにこれを行います。 1142 00:49:14,660 --> 00:49:17,260 ほとんどの混乱を書き込むには、 探しているプログラム 1143 00:49:17,260 --> 00:49:19,110 それにもかかわらず、何か面白いものを行います。 1144 00:49:19,110 --> 00:49:23,930 そして、ノートでは、私たちは上のままにしようと思いました 今日、コルトン、ここで私たちを演じる前に、 1145 00:49:23,930 --> 00:49:27,840 このプログラムを実行することです、 だけでも、使用しています、 1146 00:49:27,840 --> 00:49:31,450 このテキストベースでC 環境は、私たちにこれを提供します。 1147 00:49:31,450 --> 00:49:32,264 くそ。 1148 00:49:32,264 --> 00:49:34,930 >> [笑い] 1149 00:49:34,930 --> 00:49:36,800 >> 待機する。 1150 00:49:36,800 --> 00:49:39,340 [聞こえない] Cダッシュリットルメートル。 1151 00:49:39,340 --> 00:49:42,885 あなたは魔法を参照してくださいするつもりです 私たちはずっと前に表示されます呪文。 1152 00:49:42,885 --> 00:49:45,780 [聞こえない]すべての権利。 1153 00:49:45,780 --> 00:49:51,592 そして今、あなたもすることができます このようなことを行います。 1154 00:49:51,592 --> 00:49:52,340 それでおしまい。 1155 00:49:52,340 --> 00:49:56,410 CS50のために我々は、金曜日にあなたが表示されます。 1156 00:49:56,410 --> 00:49:58,910 >> [音楽再生] 1157 00:49:58,910 --> 00:52:38,390 1158 00:52:38,390 --> 00:52:41,440 >> [拍手] 1159 00:52:41,440 --> 00:52:42,812