1 00:00:00,000 --> 00:00:11,120 2 00:00:11,120 --> 00:00:12,590 >> SPEAKER:私は[聞こえない]です。 3 00:00:12,590 --> 00:00:14,820 と私はLeverettハウスでシニアだ。 4 00:00:14,820 --> 00:00:18,700 私は、コンピュータサイエンスを勉強 と私はCS50用TFだ。 5 00:00:18,700 --> 00:00:21,640 新入生として、私も持っていなかった ノートパソコンやスマートフォン。 6 00:00:21,640 --> 00:00:23,550 私はプログラミングの経験がありませんでした。 7 00:00:23,550 --> 00:00:29,690 CS50は、最も記憶に残るのコースだった それがあったので、私はハーバード大学で撮った 8 00:00:29,690 --> 00:00:32,960 闘争、それは実際にあった 同時に楽しい闘争。 9 00:00:32,960 --> 00:00:37,670 そして、私は永久的な、素晴らしいの多くを作った 友人、私は本当に多くのことを学んだ 10 00:00:37,670 --> 00:00:38,830 該当するスキル。 11 00:00:38,830 --> 00:00:43,480 私は私を聞かなかったことだけでうれしい 背景の欠如は、私のための言い訳である 12 00:00:43,480 --> 00:00:44,840 CS50を取らない。 13 00:00:44,840 --> 00:00:46,220 私は[聞こえない]です。 14 00:00:46,220 --> 00:00:48,910 私はLeverettシニアだ ハウス、2014年のクラス。 15 00:00:48,910 --> 00:00:51,670 そして、私はCS50を取った。 16 00:00:51,670 --> 00:00:52,380 >> DAVIDマラン:だからこれはCS50です。 17 00:00:52,380 --> 00:00:54,400 これは週ゼロの終わりです。 18 00:00:54,400 --> 00:00:58,500 我々は最後の時間を始めたところと、リコール あったこれらのランプ、とあった 19 00:00:58,500 --> 00:01:01,420 私たちが行っているように人気 今日はいくつかの詳細を買った。 20 00:01:01,420 --> 00:01:03,790 だから私は、これはなると思う 私たちの事今年 - 21 00:01:03,790 --> 00:01:07,230 デスクランプは、ステージに出てくる場合、 少なくとも我々が実行するまで。 22 00:01:07,230 --> 00:01:11,570 >> しかし、我々は紹介し、これらのリコールを使用 データの表現の基本。 23 00:01:11,570 --> 00:01:15,640 我々は表現を開始する方法が必要 コンピュータの内部情報。 24 00:01:15,640 --> 00:01:18,650 そして、それを行うための最も簡単な方法はあった 1成分と、電気。 25 00:01:18,650 --> 00:01:21,760 そして、あなたが使用して実行できる最も簡単な 電気はそれをオフにそれをオンにしています。 26 00:01:21,760 --> 00:01:23,520 電子が流れるかどうかを聞かせて。 27 00:01:23,520 --> 00:01:27,930 そして、それらの二つの基本的な状態は、オフを使用して とで、または偽と真、またはゼロと 28 00:01:27,930 --> 00:01:31,290 一、我々は構築できることがわかり始めました アップ、この場合には、光で 29 00:01:31,290 --> 00:01:33,720 球根、以上の数字より ただゼロと1。 30 00:01:33,720 --> 00:01:36,160 我々は、7と高く数え 例えば、最後の時間。 31 00:01:36,160 --> 00:01:38,840 しかし、我々がしなければならないすべては投げ続けるさ その時点でより多くの電球 32 00:01:38,840 --> 00:01:41,820 問題と、実際に、我々は表すことができます 任意の数のことを我々 33 00:01:41,820 --> 00:01:42,970 おそらくお勧めします。 34 00:01:42,970 --> 00:01:47,230 >> さて、私たちは上を素早く移行 ボランティアのこのバイトに水曜日。 35 00:01:47,230 --> 00:01:52,040 8ビットは、我々は一般的にバイトと呼んでいます ので、ここで我々は8人のボランティアがありました 36 00:01:52,040 --> 00:01:54,900 総称していた水曜日に 8ビットを表す。 37 00:01:54,900 --> 00:01:56,750 そして、彼らの手が行ったとき まで、彼らは1でした。 38 00:01:56,750 --> 00:01:58,530 そして、彼らの手があったとき ダウン、ゼロがあった。 39 00:01:58,530 --> 00:02:01,970 そして、私たちはこれらの人々を持っていた なぜステージに出てくる? 40 00:02:01,970 --> 00:02:06,530 我々は、で行うことができているのか このビットのシーケンス? 41 00:02:06,530 --> 00:02:07,510 >> アルファベットを作成する。 42 00:02:07,510 --> 00:02:11,550 私たちは、その上に構築することができました 前のレッスンでは、実際に学び、 43 00:02:11,550 --> 00:02:14,200 より面白くするために開始 少なくともさらに情報 44 00:02:14,200 --> 00:02:15,330 私たち人間にはおなじみ。 45 00:02:15,330 --> 00:02:18,360 そして、これは繰り返しになるだろう 50全体のテーマだけでなく、コンピュータ 46 00:02:18,360 --> 00:02:21,470 より一般的には科学のこのアイデア の終わりに重ね、 47 00:02:21,470 --> 00:02:24,820 その日、あなたが本当に開始された場合 コンピュータと基礎、はい、 48 00:02:24,820 --> 00:02:25,760 それは0と1です。 49 00:02:25,760 --> 00:02:27,480 そして、それはその下に ただ電気。 50 00:02:27,480 --> 00:02:30,840 しかし、我々は非常に迅速にそれらを取るために開始 付与するための低レベルの詳細 51 00:02:30,840 --> 00:02:35,600 と過去の上に層に開始が働い 我々は、最終的に、で行って 52 00:02:35,600 --> 00:02:38,610 学期の終わりと、本当に、 より一般的にはコンピュータ科学者として 53 00:02:38,610 --> 00:02:42,790 そしてプログラマは、実際にいくつかを行うことができます 作品を活用して強力なもの 54 00:02:42,790 --> 00:02:46,620 私たち自身にも行われていること 他人の肩の上に立っている。 55 00:02:46,620 --> 00:02:49,300 >> 今、私たちはすぐに水曜日に移行 ただする必要があるから 56 00:02:49,300 --> 00:02:52,080 望むに情報を表す それで何かを行うには。 57 00:02:52,080 --> 00:02:54,170 そこで、アルゴリズムを何として定義したのですか? 58 00:02:54,170 --> 00:02:57,340 59 00:02:57,340 --> 00:02:58,900 一連の命令。 60 00:02:58,900 --> 00:03:03,380 だから、一連の命令です そのするステップ数、ヒト、または 61 00:03:03,380 --> 00:03:07,160 コンピュータ、より典型的には、だろ ために、他の後にいずれかを実行する 62 00:03:07,160 --> 00:03:08,100 いくつかの目標を達成するために。 63 00:03:08,100 --> 00:03:11,360 そして我々は、いくつかの目標を最後に時間を過ごしました の一つは、カウントすることであった 64 00:03:11,360 --> 00:03:12,250 部屋の中で人々。 65 00:03:12,250 --> 00:03:15,560 と別のそのような例を見つけることだった 電話帳でマイク·スミス。 66 00:03:15,560 --> 00:03:19,750 >> だから、私が電話を引き裂いたことを思い出すかもしれません この終わりに向かって半分の本まで 67 00:03:19,750 --> 00:03:21,280 マイク·スミスを見つける。 68 00:03:21,280 --> 00:03:24,000 そのビジュアルの目的であった 私たちがいたことを、もう一度、実証 69 00:03:24,000 --> 00:03:27,770 文字通り、この問題を引き裂く 半分、半分に、半分にし、非常に 70 00:03:27,770 --> 00:03:31,750 迅速様1,000ページから行く ただ1つのページへ。 71 00:03:31,750 --> 00:03:34,860 これを逃したあなたの人々 水曜日は、私たちは再生するだろうと思っていた 72 00:03:34,860 --> 00:03:36,820 あなたが逃したもののいくつかの映像。 73 00:03:36,820 --> 00:03:38,914 のが見てみましょう。 74 00:03:38,914 --> 00:03:40,906 >> [ビデオの再生] 75 00:03:40,906 --> 00:03:55,360 76 00:03:55,360 --> 00:03:55,990 >> - そこに私達は行く。 77 00:03:55,990 --> 00:04:01,432 1500ページ、ニースきれいなライン、 合法的な涙。 78 00:04:01,432 --> 00:04:02,850 >> [ENDビデオ再生] 79 00:04:02,850 --> 00:04:05,230 >> DAVIDマラン:だから水曜日だった。 80 00:04:05,230 --> 00:04:09,150 私たちは今、水曜日に移行、しかし、 アルゴリズムを表現したいと 81 00:04:09,150 --> 00:04:12,410 一部やや標準的な方法ではなく、単に 口頭でそれらを記述するが、 82 00:04:12,410 --> 00:04:16,290 書面で、または上のそれらを表現しようとしている 私たちができるように、コンピュータの画面 83 00:04:16,290 --> 00:04:19,170 改良し始め、および変更 これらの、そして、最終的には、実際に 84 00:04:19,170 --> 00:04:21,160 どれだけ正しい分析 またはそれらがどのように速かった。 85 00:04:21,160 --> 00:04:23,360 >> だから我々はこの概念を導入しました 擬似コードの、その、で 86 00:04:23,360 --> 00:04:26,410 普通の言葉、何ですか? 87 00:04:26,410 --> 00:04:26,930 言葉、OK。 88 00:04:26,930 --> 00:04:28,730 のは、それよりも少し深く行こう。 89 00:04:28,730 --> 00:04:32,540 、確かに、英語をされていますが、 何が終わりに向かって? 90 00:04:32,540 --> 00:04:35,180 作成したりすると言葉 アルゴリズムを表します。 91 00:04:35,180 --> 00:04:38,380 だから知らない一つの言語はありません 世界で擬似コードとして。 92 00:04:38,380 --> 00:04:41,110 それは英語で、あなただけだ、または あなたの話し言葉が何であれ、使用 93 00:04:41,110 --> 00:04:44,930 伝えるためにぞんざい記法の一種 アイデアは非常に簡潔に。 94 00:04:44,930 --> 00:04:47,930 しかし、我々は確かに、それが表示されます 英語の擬似コード、それが判明 95 00:04:47,930 --> 00:04:51,700 ほとんどのプログラミング言語自身 英語自体の派生であり、 96 00:04:51,700 --> 00:04:55,750 我々はいくつかの標準があることがわかります 擬似コードを表現する方法や 97 00:04:55,750 --> 00:04:57,150 また、プログラミングコード。 98 00:04:57,150 --> 00:05:00,200 あなたも、最も簡単に見始めるように 例今日は、これらを実現する 99 00:05:00,200 --> 00:05:02,160 同じパターンは来週再発する。 100 00:05:02,160 --> 00:05:04,710 >> だから擬似コードは、いくつかのようなものだった 似た言語の 101 00:05:04,710 --> 00:05:06,170 プログラミング言語。 102 00:05:06,170 --> 00:05:09,260 そして、我々は視覚的に見た最初の例では、 減額は、この一つであった。 103 00:05:09,260 --> 00:05:12,870 それだけで3段階のプログラムだった の目的は、数を数えることであった 104 00:05:12,870 --> 00:05:15,650 ための寮の部屋の人々の 水曜日にそのビデオ。 105 00:05:15,650 --> 00:05:19,040 しかし、いくつかの興味深い側面があった この最も単純なプログラム。 106 00:05:19,040 --> 00:05:20,320 >> そして、これは定期的なテーマになります。 107 00:05:20,320 --> 00:05:22,930 だから、慣れていないもののために これ、1、我々は変数を導入しました。 108 00:05:22,930 --> 00:05:25,650 そして、おそらくこの部屋に誰もがある の変数に精通 109 00:05:25,650 --> 00:05:27,250 代数のコンテキスト。 110 00:05:27,250 --> 00:05:31,190 しかし、ここではプログラミングで、変数 、1アール、することができます 111 00:05:31,190 --> 00:05:32,220 私たちが欲しいものを呼んだ。 112 00:05:32,220 --> 00:05:33,620 私たちは、カウンタとしてn個を使用してきた。 113 00:05:33,620 --> 00:05:37,490 しかし、我々は、ワードカウンタを使用するか、または可能性が あなたが表示されますように、ほとんどすべてのフレーズその 114 00:05:37,490 --> 00:05:40,240 あなたは、それは限りあるかもしれません わかりやすいが、それは本当にだけだ 115 00:05:40,240 --> 00:05:41,250 貯蔵容器。 116 00:05:41,250 --> 00:05:44,170 それは、いくつかの数のメモリの塊だ ビットであり、それは、コンピュータによって異なるが、どのように 117 00:05:44,170 --> 00:05:47,020 多くのビットがそれがある その変数を構成する。 118 00:05:47,020 --> 00:05:48,450 >> しかし、我々はその中に値を置くことができます。 119 00:05:48,450 --> 00:05:50,740 これまで、我々は唯一の数字を入れてきました。 120 00:05:50,740 --> 00:05:52,290 しかし、我々は実際の言葉を置くことができます。 121 00:05:52,290 --> 00:05:53,420 私たちは、段落を置くことができます。 122 00:05:53,420 --> 00:05:54,560 我々は、画像を置くことができます - 123 00:05:54,560 --> 00:05:57,860 何でも、本当に、我々が表現できる 0と1は、私たちは、に置くことができます 124 00:05:57,860 --> 00:05:59,820 この高いレベルの概念 変数の。 125 00:05:59,820 --> 00:06:01,350 >> だから、かなりまっすぐ進むそこ。 126 00:06:01,350 --> 00:06:02,210 そして、それはライン一つだ。 127 00:06:02,210 --> 00:06:05,340 しかし、我々は非常に迅速に移動したから 実際に行うには、行1 128 00:06:05,340 --> 00:06:06,600 その変数を使用して何か。 129 00:06:06,600 --> 00:06:10,330 とライン3で、我々はNを我々に更新 Nをインクリメントそして我々はこれを書くことができる 130 00:06:10,330 --> 00:06:11,330 任意の数の方法。 131 00:06:11,330 --> 00:06:14,460 しかし、おそらく最も明白です ただ、言う設定Nに等しくする 132 00:06:14,460 --> 00:06:16,440 どんなNがプラス1です。 133 00:06:16,440 --> 00:06:17,740 だから、それは私たちのインクリメントだった。 134 00:06:17,740 --> 00:06:18,740 >> 一方、ループがあった。 135 00:06:18,740 --> 00:06:20,720 、この1つは、あまりにも、おそらく かなり直感的。 136 00:06:20,720 --> 00:06:24,250 ループは単にプログラムで何かある 何度も何度も起きている、いくつかの 137 00:06:24,250 --> 00:06:25,190 サイクルの一種。 138 00:06:25,190 --> 00:06:29,300 そしてここでは、このキーフレーズは、それぞれについて、ある 最もを通して実際には非常に一般的な 139 00:06:29,300 --> 00:06:32,300 を含むプログラミング言語、 ものは、私たちは途中で表示されます。 140 00:06:32,300 --> 00:06:35,850 いつでもあなたはそれのための言葉を参照してください。 一般的にそのアイデアを伝える 141 00:06:35,850 --> 00:06:38,410 ループ、循環的な何か、 起こるとしている。 142 00:06:38,410 --> 00:06:40,980 >> しかし、それは一つ注目に値します 他の構文の詳細。 143 00:06:40,980 --> 00:06:44,660 そこにある三行目という事実 実際にヒットしたことでインデント 144 00:06:44,660 --> 00:06:46,920 スペースバーを数回は意図的です。 145 00:06:46,920 --> 00:06:49,870 人間の規則では、そのようなことであるため、 あなたは再び何かをやっているときと 146 00:06:49,870 --> 00:06:54,860 再び、ループ内で、2行目で始まったように、 あなたには属して何をインデント 147 00:06:54,860 --> 00:06:58,880 そのループにちょうどそれを明確にする それは、例えば、3つのラインではないです 148 00:06:58,880 --> 00:07:01,910 ライン4または5、があった場合 であるために線や5、 149 00:07:01,910 --> 00:07:03,010 そのループの一部。 150 00:07:03,010 --> 00:07:07,340 この単純なインデントはそう その基本的な考え方を伝える。 151 00:07:07,340 --> 00:07:09,390 >> だから私たちは、このアルゴリズムを適用 今、いくつかの例に。 152 00:07:09,390 --> 00:07:12,620 そして、この、あまりにも、簡単な例 現実の世界である。 153 00:07:12,620 --> 00:07:15,440 しかし、それは代表になるだろう あなたのテストについては行くだろうか 154 00:07:15,440 --> 00:07:17,500 ますます複雑なプログラムを所有している。 155 00:07:17,500 --> 00:07:21,050 あなたは、いくつかのシナリオ、いくつか試してみる 代表入力、あなたかどうかを確認 156 00:07:21,050 --> 00:07:22,180 希望する出力を得る。 157 00:07:22,180 --> 00:07:25,090 >> したがって、この例では、2つの人々を持っていた 寮の部屋に座っている。 158 00:07:25,090 --> 00:07:27,170 左側には、同じ擬似コードです。 159 00:07:27,170 --> 00:07:30,800 そして、これは非常にのスクリーンショットです この出願の最後のステップ 160 00:07:30,800 --> 00:07:35,270 これらの入力のアルゴリズム、どこそこ 、部屋に二人いたと 161 00:07:35,270 --> 00:07:39,190 我々はライン1をステップとして、リコール 二、三、二 162 00:07:39,190 --> 00:07:41,000 と3およびdone - 163 00:07:41,000 --> 00:07:44,870 そのアルゴリズムの終わりまでに、我々は持っていた 確かに二つの仲間にカウント 164 00:07:44,870 --> 00:07:45,360 部屋にいます。 165 00:07:45,360 --> 00:07:47,190 >> それでは、私たちは別の例を試してみました。 166 00:07:47,190 --> 00:07:48,990 そして、私たちは何があるかどうかと述べた 部屋の中でゼロの人? 167 00:07:48,990 --> 00:07:50,490 このコードは依然として正しいです? 168 00:07:50,490 --> 00:07:51,305 そして確かに、それはあった。 169 00:07:51,305 --> 00:07:55,240 それはちょうどように、2行目が起こる そして、このようにして、ライン三つ以上 170 00:07:55,240 --> 00:07:56,620 実行するつもりはありません。 171 00:07:56,620 --> 00:07:59,790 彼らはすべてで発生するつもりはない それらは、次の場合だけ適用されないだから 172 00:07:59,790 --> 00:08:01,210 部屋にゼロの人々があり。 173 00:08:01,210 --> 00:08:02,300 >> ではなく、大したこと。 174 00:08:02,300 --> 00:08:06,620 ゼロライン1に初期化N、そう にもかかわらず、この1行だけ 175 00:08:06,620 --> 00:08:10,930 プログラムは、実際に有用である終わる、 それはまだのように、正しい答えが得られます 176 00:08:10,930 --> 00:08:13,780 オレンジ色で示され 下部にゼロ。 177 00:08:13,780 --> 00:08:16,300 しかし、その後、私たちは判断しました 愚かなアルゴリズムの一種。 178 00:08:16,300 --> 00:08:17,060 それはかなり遅かった。 179 00:08:17,060 --> 00:08:19,720 確かに、私は、2つ、4つを行うことができます 6、8、10、時 180 00:08:19,720 --> 00:08:20,990 部屋の中で人を数える。 181 00:08:20,990 --> 00:08:25,030 >> だから我々は、アルゴリズムを微調整 擬似コードは、言っても、今では2行目で、 182 00:08:25,030 --> 00:08:29,710 部屋の中で人々のペアごとに、 ライン3で、に進み、インクリメント 183 00:08:29,710 --> 00:08:32,200 各反復の2つのことでした。 184 00:08:32,200 --> 00:08:35,530 だからためにここで働いたであろう 部屋の中で人のこのペア。 185 00:08:35,530 --> 00:08:38,530 >> しかし、その後、あなたがについて考え始める場合 この、それはに時間はかかりません 186 00:08:38,530 --> 00:08:40,710 実現する、これは数分待つ 破るに行く、それが壊れる 187 00:08:40,710 --> 00:08:42,679 どんな単純なケースでは? 188 00:08:42,679 --> 00:08:45,500 3部屋にいる人や、があったら より一般的に、あるとき 189 00:08:45,500 --> 00:08:47,660 の人々の数が奇数 1を含め部屋。 190 00:08:47,660 --> 00:08:50,390 我々はここにいるその人を逃すでしょう そのようなペアはありません。 191 00:08:50,390 --> 00:08:58,510 だから我々はすぐに代わりによって対処 追加の何を導入 192 00:08:58,510 --> 00:09:02,560 プログラミングコンストラクト 擬似コードに。 193 00:09:02,560 --> 00:09:04,955 >> 条件だから、我々はと呼ばれる それ、またはブランチ。 194 00:09:04,955 --> 00:09:08,420 それは、視覚的に伝えることを意図している ブランチのアイデア、道路の分岐点 195 00:09:08,420 --> 00:09:11,080 いずれかこれを行うことができますどこに または、多分、何か他のもの。 196 00:09:11,080 --> 00:09:15,750 そして実際、我々は、この問題を解決する で、実際には、と言って、4行目を追加 197 00:09:15,750 --> 00:09:20,820 最後の最後、一人が残っている場合、 その後、先に行くと、彼らは特別なカウント。 198 00:09:20,820 --> 00:09:24,460 だから、そう、特別な場合のそれらを並べ替える 今、我々が扱うことができるように、話すこと 199 00:09:24,460 --> 00:09:27,810 人々の数が偶数の両方 と人々の奇数。 200 00:09:27,810 --> 00:09:30,260 >> さて、任意の数の方法があります 我々はこれを表明している可能性があります。 201 00:09:30,260 --> 00:09:33,590 と率直に言って、私ももっとあったかもしれない それは私の選択に来たときにうるさいNIT 202 00:09:33,590 --> 00:09:35,040 擬似コードのための英語。 203 00:09:35,040 --> 00:09:36,970 のしかし、少なくとも精神 アイデアが搬送される。 204 00:09:36,970 --> 00:09:40,725 あなたは友人にこのコードを渡した場合 誰がCSにない、または取られませんでした 205 00:09:40,725 --> 00:09:44,560 CS、オッズは、彼らが、見つけ出すことができている 部屋の中で3人は、どのように与えられた 206 00:09:44,560 --> 00:09:46,870 基づいて、それらの人々を数える これらの命令で。 207 00:09:46,870 --> 00:09:49,920 そして、それは我々が達成したいすべての本当にだ 擬似コードで、何とか 208 00:09:49,920 --> 00:09:54,300 我々が行っている方法の標準化 我々はできるように表現するアイデア 209 00:09:54,300 --> 00:09:56,670 より複雑やって始める まだ事。 210 00:09:56,670 --> 00:09:58,845 >> だから、今日、それを私たちをリードし、 実際のコードに。 211 00:09:58,845 --> 00:10:01,950 私たちは、いえ、今日プログラムを開始 フレンドリーな環境である。 212 00:10:01,950 --> 00:10:05,940 非常に迅速にし、我々への遷移 もっと難解な構文が、一その 213 00:10:05,940 --> 00:10:10,340 あなたは基本的に同じですがわかります アイデアがで明らかに表示されます 214 00:10:10,340 --> 00:10:11,990 この他の言語今日。 215 00:10:11,990 --> 00:10:13,920 それは見ているだけで起こっている 少し異なる。 216 00:10:13,920 --> 00:10:16,590 >> だからではなく、ちょうどこのコードを呼び出すのではなく、私は私 もう少し正確になるだろう 217 00:10:16,590 --> 00:10:20,170 と書くときに、今後、言う プログラムは、ソースコードを書いている。 218 00:10:20,170 --> 00:10:21,990 それはのような擬似コードのようなものだ。 219 00:10:21,990 --> 00:10:26,540 しかし、我々は、それが緩んでの並べ替えではありませんがわかります それは言葉を選ぶことになると 220 00:10:26,540 --> 00:10:27,310 あなたが使用している。 221 00:10:27,310 --> 00:10:31,300 言語でプログラミングするとき、あなたが持っている 単語、フレーズを使用するように 222 00:10:31,300 --> 00:10:36,020 構文、その他の人々 表現することを決定した 223 00:10:36,020 --> 00:10:37,240 その特定の言語。 224 00:10:37,240 --> 00:10:38,510 だからpseudocodesはあなた次第です。 225 00:10:38,510 --> 00:10:42,330 のような実際のプログラミング言語 Cは、我々は最終的に表示されますように、である 226 00:10:42,330 --> 00:10:43,590 他の人々によって標準化された。 227 00:10:43,590 --> 00:10:45,590 >> だから私たちは書くことについてどのように行くのですか いくつかのソースコード? 228 00:10:45,590 --> 00:10:46,810 さて、私は行くつもりです 先にこれを行う。 229 00:10:46,810 --> 00:10:49,100 私が先に行くつもりだと ここでウィンドウを開く。 230 00:10:49,100 --> 00:10:50,210 これ来週に詳しい。 231 00:10:50,210 --> 00:10:52,300 しかし、これはと呼ばれる装置です。 CS50アプライアンス。 232 00:10:52,300 --> 00:10:55,480 私は上のソフトウェアの一部を実行している Macが、あなたは同じことを行うことができますが 233 00:10:55,480 --> 00:11:00,580 提供しているWindowsコンピュータ上で 私に別のを実行しているような錯覚 234 00:11:00,580 --> 00:11:03,700 完全に右のオペレーティングシステム ここに私のMac上のウィンドウに表示されます。 235 00:11:03,700 --> 00:11:06,790 そうしないので、私はそれをフル上映しました 実際に今のMac OSを参照してください。 236 00:11:06,790 --> 00:11:08,340 >> これは、オペレーティングシステムである Linuxと呼ばれる。 237 00:11:08,340 --> 00:11:09,300 それは非常に人気です。 238 00:11:09,300 --> 00:11:10,120 それは非常に高速です。 239 00:11:10,120 --> 00:11:12,950 それはそれは非常に作られた、非常に自由だ 特にで、説得力のある 240 00:11:12,950 --> 00:11:13,970 商業界。 241 00:11:13,970 --> 00:11:17,200 の終わりに向かってその上で、より 我々はかなりのLinuxを使用学期 242 00:11:17,200 --> 00:11:21,230 ウェブプログラミングとホスティングのための 実際のWebサイトおよびプロジェクト。 243 00:11:21,230 --> 00:11:24,910 だから今、ちょうどこれがデスクトップであることを知っている それはぼんやり見えることを意味している 244 00:11:24,910 --> 00:11:26,750 WindowsとMac OSにはおなじみ。 245 00:11:26,750 --> 00:11:29,110 それはちょうど、いくつかの異なる名前を持っている 事のためとアイコン。 246 00:11:29,110 --> 00:11:32,510 しかし、これは、いわゆるCS50ある アプライアンス、仮想マシン、 247 00:11:32,510 --> 00:11:35,310 君たちは、来週になる開始 上のウィンドウの内部を実行 248 00:11:35,310 --> 00:11:36,960 自分のMacまたはPC。 249 00:11:36,960 --> 00:11:39,760 >> 今日のために、私は開放するつもりです プログラムの最も簡単。 250 00:11:39,760 --> 00:11:41,110 それは、geditのと呼ばれています。 251 00:11:41,110 --> 00:11:42,565 そして、これはただのグラフィカルエディタです。 252 00:11:42,565 --> 00:11:44,695 これは、Microsoftのように一種のだ 言葉が、シンプル。 253 00:11:44,695 --> 00:11:47,110 それはのようなテキストのようなものだ 編集またはメモ帳。 254 00:11:47,110 --> 00:11:50,280 それだけで非常に単純なプログラムです その画面上の単語を書くこと。 255 00:11:50,280 --> 00:11:54,510 それはちょうどので、私が保存した場合ことを何が起こるか このプログラムは、私が作成したファイル 256 00:11:54,510 --> 00:11:59,860 ウのように、代わりに特殊な拡張子に 。DOC、または。xlsファイル、または任意の 257 00:11:59,860 --> 00:12:04,190 あなたが精通している、私は実際にすることができます でも、この単純なを使用してプログラムを作成する 258 00:12:04,190 --> 00:12:05,130 テキストエディタ。 259 00:12:05,130 --> 00:12:05,770 >> だから私はそれを行うことができます。 260 00:12:05,770 --> 00:12:09,330 私が先に行くと、これを保存してみましょう hello.cのように最初のファイル。 261 00:12:09,330 --> 00:12:12,350 そして再び、このユーザーインターフェイスは意志 すぐにあなたに慣れる。 262 00:12:12,350 --> 00:12:14,160 しかし、今のところ、私は入力している ファイル名である。 263 00:12:14,160 --> 00:12:17,410 私はジョンにそれを保存するつもり ハーバードホームディレクトリ。 264 00:12:17,410 --> 00:12:20,810 そして今、私は示して、このタブを持っている 私は実際に編集しています 265 00:12:20,810 --> 00:12:23,070 ファイルhello.cを呼んだ。 266 00:12:23,070 --> 00:12:24,510 まだあまりにも面白いので、何もありません。 267 00:12:24,510 --> 00:12:26,000 >> そして今、それがために起こっている かなり不可解な取得。 268 00:12:26,000 --> 00:12:28,370 私はちょうど、ズームインするつもり ので、より多くの目に見えるのです。 269 00:12:28,370 --> 00:12:35,780 そして私は、入力を開始するつもりだ stdio.hに、int型のメイン、無効、オープン中括弧 270 00:12:35,780 --> 00:12:40,140 ブレース1つ、2つ、3つ、4つのスペース 印刷用のインデント、印刷F、 271 00:12:40,140 --> 00:12:44,450 フォーマットされた何か、引用引用終わり、 近くには "hello、world"のバックスラッシュ、nは、 272 00:12:44,450 --> 00:12:49,640 引用、閉じ括弧、セミコロン、 、バックスペース、バックスペース、バックスペースを入力してください 273 00:12:49,640 --> 00:12:52,310 バックスペース、中括弧が閉じ - 274 00:12:52,310 --> 00:12:53,350 私がプログラムした。 275 00:12:53,350 --> 00:12:57,380 >> 大丈夫、これが超簡単になるように プログラム、本当に、そのプログラム 276 00:12:57,380 --> 00:12:59,070 誰とプログラミングをオフに開始されます。 277 00:12:59,070 --> 00:13:02,300 そして、それがないすべて、すべてその複雑さのために、 にプリントアウトされます 278 00:13:02,300 --> 00:13:04,160 画面には、何を思う? 279 00:13:04,160 --> 00:13:04,910 こんにちは、世界。 280 00:13:04,910 --> 00:13:07,500 しかし、それだけで十分ではありません プログラムを書き込むことができます。 281 00:13:07,500 --> 00:13:08,155 だから、これはコードです。 282 00:13:08,155 --> 00:13:11,300 これは、ソースコードである Cと呼ばれる言語。 283 00:13:11,300 --> 00:13:14,380 これは、現在保存されている ファイルhello.cを呼んだ。 284 00:13:14,380 --> 00:13:16,180 >> 今一番下を見て ここで画面の。 285 00:13:16,180 --> 00:13:17,890 で、再び、これについての詳細 来て数週間。 286 00:13:17,890 --> 00:13:19,570 しかし、これは我々が呼ぶだろうものです ターミナルウィンドウ。 287 00:13:19,570 --> 00:13:21,290 それが点滅し、黒だ と白のプロンプトが表示されます。 288 00:13:21,290 --> 00:13:24,390 それは、古い学校のインタフェースの一種だ 一般的にはないコンピュータ 289 00:13:24,390 --> 00:13:27,050 マウスまたは他を使用 グラフィカルな要素。 290 00:13:27,050 --> 00:13:28,320 それはちょうどあなたのキーボードを使用しています。 291 00:13:28,320 --> 00:13:30,970 そして、私はでコマンドを入力することができます この点滅プロンプト。 292 00:13:30,970 --> 00:13:33,820 >> 今日の目的のために、私はちょうどよ 次のように入力しようとして - 293 00:13:33,820 --> 00:13:35,610 こんにちは作る。 294 00:13:35,610 --> 00:13:39,370 そして、そのプログラムは、作るだけです プログラムは、その現実の世界では、これらの 295 00:13:39,370 --> 00:13:40,690 日、私たちは、ダブルクリックします。 296 00:13:40,690 --> 00:13:44,580 しかし、今日のために、このインタフェースでは、我々はしている このプロンプトでその名前を入力するつもり。 297 00:13:44,580 --> 00:13:47,980 こんにちは、文字通りに行くされていることを確認 私にこんにちはと呼ばれるプログラムを確認します。 298 00:13:47,980 --> 00:13:51,360 そして、それは見てそうするように起こっている ファイルに対して、ただで 299 00:13:51,360 --> 00:13:53,460 デフォルトでは、hello.cを呼ばれます。 300 00:13:53,460 --> 00:13:57,260 それは私がCプログラムにしたいと仮定することが起こっている どのように、このコンピュータの性質によって 301 00:13:57,260 --> 00:13:58,230 構成されている。 302 00:13:58,230 --> 00:13:59,550 >> だから私は先に行くと、Enterキーを押します。 303 00:13:59,550 --> 00:14:02,050 私はいくつかの不可解な出力が表示されますが、 これもすべてになります 304 00:14:02,050 --> 00:14:03,330 ずっと前におなじみ。 305 00:14:03,330 --> 00:14:06,870 これは、より多くのコンパイラは、実行するために起こった その上で瞬間に、Clangの呼ばれる。 306 00:14:06,870 --> 00:14:09,080 しかし、今、私が持っているだけで、別の 点滅するプロンプトが表示されます。 307 00:14:09,080 --> 00:14:13,060 そして、私は今、先に行くと、ドットを入力することができます 我々はよつまらない理由で、スラッシュ 308 00:14:13,060 --> 00:14:14,730 来週に戻ってくる - 309 00:14:14,730 --> 00:14:15,910 こんにちは。 310 00:14:15,910 --> 00:14:19,650 >> だから、この努力のすべてのこれまでだけに 、そのプログラムの最も簡単な書き込み 311 00:14:19,650 --> 00:14:22,640 私は、Enterキーを押すとすぐに、それはありません。 312 00:14:22,640 --> 00:14:24,510 だから私は私の最初のプログラムを書いた。 313 00:14:24,510 --> 00:14:27,500 だから私は意図的に楽しみを突っついています この非常に単純なプログラムで 314 00:14:27,500 --> 00:14:28,540 いくつかの理由のために。 315 00:14:28,540 --> 00:14:31,990 一つは、それが興奮するのは難しい 場合、クラスを取って、約 316 00:14:31,990 --> 00:14:33,430 これが最後のゲームである。 317 00:14:33,430 --> 00:14:37,100 >> しかし、それ以上に、そこ ここまで気晴らしがたくさん。 318 00:14:37,100 --> 00:14:40,640 あなたのために、プログラムに学ぶ初めて あなたのそれらのより少なく快適で、 319 00:14:40,640 --> 00:14:43,410 でも私は、戻って一日で、ときに私の最初 このような何かを見た - あなたが優しいことができます 320 00:14:43,410 --> 00:14:46,500 図大丈夫、この プリントのHello Worldです。 321 00:14:46,500 --> 00:14:47,860 しかしそんなに気晴らしはあり。 322 00:14:47,860 --> 00:14:52,110 そんなに構文は、画面上にあります それは非常に邪魔になること 323 00:14:52,110 --> 00:14:54,170 、そうでなければ単純な、シンプルなアイデア。 324 00:14:54,170 --> 00:14:56,700 >> だから我々は、今日やろうとしている私たちがしているである Cを脇に置くと来るつもり 325 00:14:56,700 --> 00:14:57,630 背面月曜日にと。 326 00:14:57,630 --> 00:15:00,860 そして、私たちは、グラフィカルに使用するつもりだ スクラッチと呼ばれるプログラミング言語。 327 00:15:00,860 --> 00:15:04,470 これは、プログラミング言語であるI 水曜日に触れたように、それは起こっている 328 00:15:04,470 --> 00:15:08,870 私たちはものの同じ種類を行うことができるようにする しかし、今日のために、目をつぶる 329 00:15:08,870 --> 00:15:12,270 中括弧、丸括弧、へ セミコロン、およびこれらすべての愚かな 330 00:15:12,270 --> 00:15:15,680 邪魔に気晴らしで いくつかの基本的な、かなりのこの最初の日、 331 00:15:15,680 --> 00:15:17,230 面白いアイデア。 332 00:15:17,230 --> 00:15:21,350 >> だから終わりに向かって、私は行くつもりです ここに上で、私のデスクトップにバックアップし、 333 00:15:21,350 --> 00:15:25,890 それに代わるものをご紹介 見に行くされているプログラム、 334 00:15:25,890 --> 00:15:30,790 少し何かがこれを点灯。 335 00:15:30,790 --> 00:15:33,930 それは我々がそれを実装しようとしている方法です 同じプログラム今日 - 2パズル 336 00:15:33,930 --> 00:15:37,710 連動して、片 をクリックした、世界に言うだろう 337 00:15:37,710 --> 00:15:39,000 こんにちは、世界。 338 00:15:39,000 --> 00:15:41,200 >> それでは、実際にそこに行くことができます。 339 00:15:41,200 --> 00:15:44,965 だから私は先に行くと開くつもりです scratch.mit.eduとして知られているウェブサイト。 340 00:15:44,965 --> 00:15:47,980 341 00:15:47,980 --> 00:15:52,040 そして、これは私につなが​​る ここでは、このウェブサイト。 342 00:15:52,040 --> 00:15:54,660 事前に、私はこれにログインしました ウェブサイトとその最初の問題 343 00:15:54,660 --> 00:15:55,910 あなたを通って歩いていく これらのステップの一部。 344 00:15:55,910 --> 00:15:58,930 私が先に行くとクリックするつもりだ ここに私のスクラッチフォルダに。 345 00:15:58,930 --> 00:16:00,720 >> そして、これは私を見るために起こっている 私がしたことをいくつかのプロジェクト 346 00:16:00,720 --> 00:16:02,570 実際に事前に作成しました。 347 00:16:02,570 --> 00:16:05,860 そしてそれは結局このグラフィカルその プログラミング言語は、起こっているだけでなく、 348 00:16:05,860 --> 00:16:08,480 ドラッグすることによって、私たちのプログラムをできるようにし、 あなたは、これらのパズルのピースを落とす 349 00:16:08,480 --> 00:16:09,730 でも、特別なソフトウェアを必要としません。 350 00:16:09,730 --> 00:16:13,190 それがすべてのようにブラウザ内に埋め込まれている あなたがこれを行うことができ、理論的には、上の 351 00:16:13,190 --> 00:16:16,810 あなたのいくつかのように今すぐあなたのコンピュータ、 よくさえ必要とせずに、かもしれない 352 00:16:16,810 --> 00:16:19,870 CS50アプライアンスのようなソフトウェア、 これは、来週来る。 353 00:16:19,870 --> 00:16:24,200 >> だから私は右上に上がるつもりです ここで、[作成]をクリックします。 354 00:16:24,200 --> 00:16:27,840 と瞬間に、私は空白を取得するつもりだ 私が始めることができ、それを介して画面 355 00:16:27,840 --> 00:16:30,380 このグラフィカルでのプログラミング プログラミング環境。 356 00:16:30,380 --> 00:16:36,140 しかし、この時間は、それは、はるかになるだろう はるかに簡単、実際にそうする。 357 00:16:36,140 --> 00:16:41,560 だから一瞬で、時のWi-Fi 我々は今、この画面を持って、協力しています。 358 00:16:41,560 --> 00:16:44,870 、迅速な口頭ツアーだから、私はあえて言う 確かにあなたが飛び込むとき 359 00:16:44,870 --> 00:16:46,840 最初の問題のセットには、よ 非常にすべてこれを見つける 360 00:16:46,840 --> 00:16:48,315 アクセス可能な、かなり直感的。 361 00:16:48,315 --> 00:16:50,900 しかしみましょう精神絵を描く ちょっと。 362 00:16:50,900 --> 00:16:54,620 >> だから、このプロンプトことわざ下保存 変更は、あなたは、スクラッチを参照しようとしています。 363 00:16:54,620 --> 00:16:55,570 これはスプライトです。 364 00:16:55,570 --> 00:16:56,630 それは文字だ。 365 00:16:56,630 --> 00:17:00,740 そして彼は、私たちがステージを呼ぶだろうものに住んでいる 上のこの大きな白い長方形 366 00:17:00,740 --> 00:17:03,120 彼は左、下、上に移動することができる、 右、とやる、本当に、 367 00:17:03,120 --> 00:17:04,670 アクションの他のタイプ。 368 00:17:04,670 --> 00:17:08,780 >> 一方、このユーザの真ん中で インターフェースは、我々は全体の束を持っている 369 00:17:08,780 --> 00:17:09,750 パズルのピース。 370 00:17:09,750 --> 00:17:14,060 そして、あなたは彼らのようなものを言うことがわかります 、15度回転し、10ステップを移動 371 00:17:14,060 --> 00:17:15,550 特定の方向のポイント。 372 00:17:15,550 --> 00:17:17,910 しかしのカテゴリがあり ここにもブロックがアップする。 373 00:17:17,910 --> 00:17:21,410 私はルックスに行くのであれば、その表示されます 他のパズルのピースがあるだ 374 00:17:21,410 --> 00:17:25,530 明らかにこのCITを教えてくれます 表示するには、考えること、挨拶 375 00:17:25,530 --> 00:17:26,780 彼自身、自分自身を非表示にします。 376 00:17:26,780 --> 00:17:30,830 私は音に下る場合、それは判明 ニャーのようなサウンドを再生する方法は、あり 377 00:17:30,830 --> 00:17:32,670 ドラムをプレイするために、すべてのサウンドを停止します。 378 00:17:32,670 --> 00:17:36,530 >> だから、長い話は短く、全体がそこ あなたを許すパズルのピースの束 379 00:17:36,530 --> 00:17:40,920 この猫、または、任意の数を指示する 他の文字は、何をすべきか。 380 00:17:40,920 --> 00:17:43,850 しかし、これはすべてのことを実現するために プログラミングを開始する必要があります。 381 00:17:43,850 --> 00:17:48,090 そして、この大きな白いボックス、または灰色のボックス、上 右側には、これはどこにあるの 382 00:17:48,090 --> 00:17:50,170 私は実際にドラッグして、するつもりだ これらのパズルのピースをドロップ。 383 00:17:50,170 --> 00:17:54,320 それは私の空白のテキストです ウィンドウに相当。 384 00:17:54,320 --> 00:17:57,070 >> だから私は先に行くとクリックするつもりだ 途中で制御。 385 00:17:57,070 --> 00:17:58,540 というか、私は始めましょう イベントの下まで。 386 00:17:58,540 --> 00:18:01,530 イベントのベンチの下で、あなたは気づくでしょう 意図的であるいくつかのこと 387 00:18:01,530 --> 00:18:05,240 このように、上部に湾曲 彼らはおそらくに連動しません 388 00:18:05,240 --> 00:18:06,710 パズルのピースのトップ。 389 00:18:06,710 --> 00:18:10,160 そして、彼らはスタートをデマークので、それはだ プログラムの開始 390 00:18:10,160 --> 00:18:11,910 スクリプト、いわば。 391 00:18:11,910 --> 00:18:16,290 私が先に行くと、ドラッグするのであれば、ときに緑色 フラグはこっちをクリックしてから、I 392 00:18:16,290 --> 00:18:18,060 この猫が言いたい 最初は何か。 393 00:18:18,060 --> 00:18:20,510 だから私は、下に行くつもりです パネルが見えます。 394 00:18:20,510 --> 00:18:24,060 そして、私は先に行くとつかむつもりだ 、ブロック、およびドラッグアンドドロップ挨拶 395 00:18:24,060 --> 00:18:27,220 となるように、それが自動的に手放す そこに連動。 396 00:18:27,220 --> 00:18:28,640 >> そして、私ができる気づく テキストをクリックしてください。 397 00:18:28,640 --> 00:18:31,960 と私はそれがより多くのことをオーバーライドすることができます 世界こんにちは、言う、のような具体的な。 398 00:18:31,960 --> 00:18:36,340 そして今、我々は、私が主張しているプログラムがある はるかと同等である 399 00:18:36,340 --> 00:18:39,670 難解なプログラムは私が実装 C言語で一瞬前。 400 00:18:39,670 --> 00:18:43,130 >> 私は、左手側に今以上行く場合、 大きな一時停止の標識があると気付く 401 00:18:43,130 --> 00:18:44,520 と大きな緑の旗。 402 00:18:44,520 --> 00:18:46,390 私はわかりやすくするためにズームインすることができます。 403 00:18:46,390 --> 00:18:49,390 と私は今、この緑の旗をクリックしたとき あなたはおそらく何をこの最初の推測することができます 404 00:18:49,390 --> 00:18:51,920 プログラムは今やろうとしています。 405 00:18:51,920 --> 00:18:55,420 だからそこに、あまりにも、私たちはプログラミングをしているが、 我々は実際に泥沼取得していない 406 00:18:55,420 --> 00:18:58,980 これらの構文の一部で、 分の詳細。 407 00:18:58,980 --> 00:19:01,120 >> しかし、のは、何か試してみましょう もう少し面白い。 408 00:19:01,120 --> 00:19:04,840 私はここに私のスクラッチフォルダに行こう。 409 00:19:04,840 --> 00:19:10,210 そして実際に、私はとても私が開くましょう だけのためにここに別のプログラム 410 00:19:10,210 --> 00:19:17,830 瞬間、このウィンドウを最大化し、ファイルを開く、 と私は、今日のに行くつもりです 411 00:19:17,830 --> 00:19:18,620 ソースディレクトリ。 412 00:19:18,620 --> 00:19:21,660 いつものように、あなたが見つける、今日と 以降、今日のすべての例 413 00:19:21,660 --> 00:19:25,225 の内側にアクセスすることができます もちろんのウェブサイト。 414 00:19:25,225 --> 00:19:31,170 >> そして、私はここで先に行くと、迎えに行くよ 少し何か別のアップ。 415 00:19:31,170 --> 00:19:33,970 はこちらこの1、 私はボランティアを必要とします。 416 00:19:33,970 --> 00:19:36,850 誰が今日のデスクランプをご希望? 417 00:19:36,850 --> 00:19:40,600 [OK]を、どのように誰かについて少し - あなたは端にありますか? 418 00:19:40,600 --> 00:19:42,124 ダウンさあ。 419 00:19:42,124 --> 00:19:47,230 今、あなたが参加したい、または ただデスクランプで始まると言う? 420 00:19:47,230 --> 00:19:48,190 >> ヴァネッサ:[聞こえない]。 421 00:19:48,190 --> 00:19:48,465 >> DAVIDマラン:OK。 422 00:19:48,465 --> 00:19:49,610 優秀な、名前は何ですか? 423 00:19:49,610 --> 00:19:49,990 ヴァネッサ? 424 00:19:49,990 --> 00:19:50,570 デビッド。 425 00:19:50,570 --> 00:19:51,390 よろしくね。 426 00:19:51,390 --> 00:19:53,840 だからアップに来て、ヴァネッサのは行く 私の制御を取るために 427 00:19:53,840 --> 00:19:55,490 ちょっとキーボード。 428 00:19:55,490 --> 00:19:57,850 そして、私はちょうど時間のために、ここでやった 日本酒、私が実現してきたように 429 00:19:57,850 --> 00:20:01,070 Wi-Fiは、スクラッチ、少し遅かった 私たちがしていることをプログラミング環境 430 00:20:01,070 --> 00:20:04,110 使用して、またダウンロードすることができ ローカルコンピュータ上で実行されます。 431 00:20:04,110 --> 00:20:06,360 だから私は、講義の前に何をしたか 起こるケースは、私がダウンロードされます 432 00:20:06,360 --> 00:20:09,120 我々は一緒にプレイしようとしているすべてのファイル 彼らはもう少しを実行できるように 433 00:20:09,120 --> 00:20:10,840 すぐに右ここに私のラップトップ上。 434 00:20:10,840 --> 00:20:13,460 だから、なぜ今私が見ているだ マック固有のインタフェース。 435 00:20:13,460 --> 00:20:15,510 >> だから私は先に行くつもりです 、この1つを開きます。 436 00:20:15,510 --> 00:20:18,400 私は今、先に行くつもりだと フルスクリーンのウィンドウ。 437 00:20:18,400 --> 00:20:21,740 そして、あなたが見るように、我々は、非常に迅速にすることができます この学生が行ったように、1 438 00:20:21,740 --> 00:20:26,360 あなたの前任者は、こんにちは世界から行く はるかに説得力のある多くの 439 00:20:26,360 --> 00:20:27,020 アプリケーション。 440 00:20:27,020 --> 00:20:28,180 だからここに命令がある。 441 00:20:28,180 --> 00:20:29,500 ああ、我々は一つの他のものを持っている。 442 00:20:29,500 --> 00:20:31,640 私は、以来、それは楽しいだろうと思った 通常、私たちは撮影されます 443 00:20:31,640 --> 00:20:32,440 カメラはこの方法。 444 00:20:32,440 --> 00:20:34,100 私は、あれば、それは、ヴァネッサ楽しいだろうと思った 我々は、世界を見ることができました 445 00:20:34,100 --> 00:20:35,120 あなたの目を通して。 446 00:20:35,120 --> 00:20:36,670 そこでここでは、いくつかのGoogleのグラスを持っている。 447 00:20:36,670 --> 00:20:39,290 >> [びっくりあえぎ] 448 00:20:39,290 --> 00:20:41,610 >> DAVIDマラン:私達はただ与えることになる 離れてデスクランプ今日。 449 00:20:41,610 --> 00:20:43,530 >> [笑い] 450 00:20:43,530 --> 00:20:45,260 >> だから私はこのキューアップしてみましょう。 451 00:20:45,260 --> 00:20:49,340 すべての権利なので、これをタッチします。 452 00:20:49,340 --> 00:20:51,910 OK、ガラス、映像を記録します。 453 00:20:51,910 --> 00:20:55,700 454 00:20:55,700 --> 00:20:56,950 すべての権利は​​、ヴァネッサ? 455 00:20:56,950 --> 00:21:00,940 456 00:21:00,940 --> 00:21:05,560 さて、余談として、それが何を持っていない あなたが見れば、スクラッチを行う 457 00:21:05,560 --> 00:21:08,540 わずかに右に、次のように表示されます リテラルガラス、あなたがすべき 458 00:21:08,540 --> 00:21:09,650 少し長方形のウィンドウが表示されます。 459 00:21:09,650 --> 00:21:11,500 すべてのあなたのクラスメートが表示されるはずです 今撮影されて? 460 00:21:11,500 --> 00:21:11,840 はい。 461 00:21:11,840 --> 00:21:12,340 >> ヴァネッサ:はい。 462 00:21:12,340 --> 00:21:12,920 >> DAVIDマラン:OK。 463 00:21:12,920 --> 00:21:15,170 だから大丈夫です。 464 00:21:15,170 --> 00:21:16,660 私たちは、後でこの映像をリリースする予定。 465 00:21:16,660 --> 00:21:18,460 ここでは、あなたの注意を向ける ここで画面に。 466 00:21:18,460 --> 00:21:20,990 そして、何あなたの前任者が行ったことはある 画面上にいくつかの命令を置く 467 00:21:20,990 --> 00:21:22,670 ただペイントプログラムを使用します。 468 00:21:22,670 --> 00:21:25,040 だから、瞬間に、するつもりだ 開始するには、スペースバーを押します。 469 00:21:25,040 --> 00:21:27,790 そして、いくつかのパズルのピースは、しようとしている 画面を上に移動を開始する。 470 00:21:27,790 --> 00:21:30,900 そして、あなたはただ、矢印キーをヒットしたい 合わせて、実際のDDRのように 471 00:21:30,900 --> 00:21:32,740 物事が並んで これらの矢印が付いた。 472 00:21:32,740 --> 00:21:33,020 >> ヴァネッサ:OK。 473 00:21:33,020 --> 00:21:33,800 >> DAVIDマラン:あなたは前にこれを再生してきました。 474 00:21:33,800 --> 00:21:34,140 >> ヴァネッサ:うん。 475 00:21:34,140 --> 00:21:37,330 >> DAVIDマラン:すべての権利、ヴァネッサ、 先に行くとそれを奪う。 476 00:21:37,330 --> 00:22:53,082 >> [MUSIC - ケインウェスト、 "ストロンガー"] 477 00:22:53,082 --> 00:22:57,080 >> [拍手] 478 00:22:57,080 --> 00:22:59,750 >> DAVIDマラン:だから今してみましょう それから一歩を踏み出す。 479 00:22:59,750 --> 00:23:01,230 だから明らかに、それは最後の試合だ。 480 00:23:01,230 --> 00:23:02,880 エンドゲームはHello Worldのではありません。 481 00:23:02,880 --> 00:23:05,520 しかし、あなたは必ずしも行う必要はありません とてもインタラクティブなもの。 482 00:23:05,520 --> 00:23:06,810 また、アニメーションを行うことができます。 483 00:23:06,810 --> 00:23:10,790 あなたのだから例えば、もう一つ 後継者は、ここでこのプログラムを作った 484 00:23:10,790 --> 00:23:14,100 以上の話を伝えている それは、ゲームを実装しません。 485 00:23:14,100 --> 00:23:19,180 だから私は先に行くと、ここで開放させて 私たちの同じソースディレクトリ内のプログラム 486 00:23:19,180 --> 00:23:20,300 今日から。 487 00:23:20,300 --> 00:23:26,990 このいずれかの呼び出し、およびのは始めましょう クッキーラブストーリー、と。 488 00:23:26,990 --> 00:23:30,750 >> そして、これも学術作るがないように この1つを見ながら、と思う 489 00:23:30,750 --> 00:23:34,030 これらのシンプルなのを自分た 私たちが話したプログラミングの概念 490 00:23:34,030 --> 00:23:34,630 これまで約 - 491 00:23:34,630 --> 00:23:39,250 変数、ループ、条件、 あなたの前任者はおそらくちょうど使用しました 492 00:23:39,250 --> 00:23:41,090 の一部を実装する 視覚。 493 00:23:41,090 --> 00:23:41,760 あなたは、ここを参照してください。 494 00:23:41,760 --> 00:23:44,118 だから私はあなたにクッキーラブストーリーを与える。 495 00:23:44,118 --> 00:24:06,030 >> [MUSIC - GREEN DAY、 "HOLIDAY"] 496 00:24:06,030 --> 00:24:08,022 >> [CRASH] 497 00:24:08,022 --> 00:24:09,272 >> [MUSIC - カメ、 "ハッピートゥゲザー"] 498 00:24:09,272 --> 00:24:58,328 499 00:24:58,328 --> 00:25:00,560 >> DAVIDマラン:すべての権利なので、そこに、 我々は、クッキーのラブストーリーを持っていた。 500 00:25:00,560 --> 00:25:01,360 しかし、そこに - 501 00:25:01,360 --> 00:25:01,755 >> [拍手] 502 00:25:01,755 --> 00:25:08,110 >> DAVIDマラン:すべての権利、でもそこに、 それらの心から行ったように、考える 503 00:25:08,110 --> 00:25:10,410 画面の下から上、 のビットは、実際にあった 504 00:25:10,410 --> 00:25:11,440 ランダム性が起こっている。 505 00:25:11,440 --> 00:25:14,150 そして実際、私たちはその中であっても表示されます のような、環境の最も簡単な 506 00:25:14,150 --> 00:25:18,180 スクラッチ、Cのように、生成することができます 乱数、またはの錯覚 507 00:25:18,180 --> 00:25:21,110 ゲームがあるように乱数 それはともかくより少し面白い 508 00:25:21,110 --> 00:25:23,390 あなたは絶対に持っていた場合である ハードコーディングされたすべてのものを。 509 00:25:23,390 --> 00:25:26,360 >> そこにあなたが見ている動きで、 応答性のいくつかの種類があります。 510 00:25:26,360 --> 00:25:28,840 とすぐにジンジャーブレッド男が触れるように ジンジャーブレッドの女性、彼​​女 511 00:25:28,840 --> 00:25:30,000 離れるように思われる。 512 00:25:30,000 --> 00:25:33,580 そして、確かに、あなたはで、実装することができます ほとんどのプログラミング言語、概念 513 00:25:33,580 --> 00:25:38,680 イベント、それによって片手触れた場合の 一部をトリガすることができます一方、 514 00:25:38,680 --> 00:25:41,270 あなたのソースコードへの 実際に実行してください。 515 00:25:41,270 --> 00:25:43,740 このようなために聞くことができます 画面上のもの。 516 00:25:43,740 --> 00:25:47,310 >> そうで、その後、のはクイックツアーをみましょう 我々が使用できるビルディング·ブロックの一部 517 00:25:47,310 --> 00:25:48,790 これらの目標のいくつかを達成する。 518 00:25:48,790 --> 00:25:51,630 そこでここでは、我々が今後よ何 ステートメントを呼び出す。 519 00:25:51,630 --> 00:25:55,030 文は、紫であることを起こる スクラッチ、このように少し何か、 520 00:25:55,030 --> 00:25:56,120 それは任意です。 521 00:25:56,120 --> 00:26:00,140 ステートメントは、単にパズルのピースであるか より一般的には、命令、その 522 00:26:00,140 --> 00:26:03,370 コンピュータが行うように指示 何か、声明。 523 00:26:03,370 --> 00:26:04,680 >> だからここに簡単なサンプルです。 524 00:26:04,680 --> 00:26:05,930 世界の挨拶。 525 00:26:05,930 --> 00:26:08,180 もう一つは、1秒待っている可能性があります。 526 00:26:08,180 --> 00:26:10,840 サポートされていますので、このパズルのピース、 スクラッチでは、我々はあなたを聞かせてよ 527 00:26:10,840 --> 00:26:13,050 文字は、いくつかのために一時停止 秒数。 528 00:26:13,050 --> 00:26:15,330 これは、あまりにも、ただ文です。 529 00:26:15,330 --> 00:26:18,640 >> ここで次の、我々は別の多くを持っている 興味のある方、音ニャーを果たし、 530 00:26:18,640 --> 00:26:21,480 小さな矢印は、スクラッチのことを意味します これは、ドロップダウンメニューです。 531 00:26:21,480 --> 00:26:22,590 だから、サウンドをインポートすることができます。 532 00:26:22,590 --> 00:26:25,095 あなたは、音を記録し、その他を行うことができます スクラッチで楽しいこと。 533 00:26:25,095 --> 00:26:28,450 そして、それは、あまりにも、しかし、最後に 日の、まさに文です。 534 00:26:28,450 --> 00:26:31,250 しかし、今の続きをご紹介しましょう として知られている興味深い作品、 535 00:26:31,250 --> 00:26:32,630 ブール式。 536 00:26:32,630 --> 00:26:35,180 にちなんで名付けられた資本B、 ブールという男。 537 00:26:35,180 --> 00:26:39,500 >> とブール式はただです パズルピースまたは、より一般的には、 538 00:26:39,500 --> 00:26:42,980 情報の一部です trueまたはfalseのいずれか - 539 00:26:42,980 --> 00:26:45,830 1または0、yesまたはno。 540 00:26:45,830 --> 00:26:48,420 だから、ちょうどそれらの一つだ 2反対。 541 00:26:48,420 --> 00:26:52,840 でだからそのようなブール式 スクラッチの世界は、このブルーのように見えます 542 00:26:52,840 --> 00:26:53,560 ピースをパズル。 543 00:26:53,560 --> 00:26:56,735 そしてそれは、マウスを質問をしている ダウンして、そのいずれかになりますの 544 00:26:56,735 --> 00:26:58,430 もちろん、trueまたはfalse。 545 00:26:58,430 --> 00:27:01,710 だからスクラッチでこのパズルのピースと、 さて、あなたはどうかを検出することができるでしょう 546 00:27:01,710 --> 00:27:05,490 マウスがある、実際には、ある場合パズル 人間の相互作用によって押さえ 547 00:27:05,490 --> 00:27:06,550 あなたのプログラム。 548 00:27:06,550 --> 00:27:08,860 >> こちらは、もう少し抽象的だ しかし、これら二つの白い箱 549 00:27:08,860 --> 00:27:09,740 数字だけのためのものです。 550 00:27:09,740 --> 00:27:12,950 これがあるようなので、あなたは物事を行うことができます 他のより小さい数? 551 00:27:12,950 --> 00:27:16,180 そうだとすれば、スクラッチに動作します 一方向または他。 552 00:27:16,180 --> 00:27:17,505 こちらは、もう少しグラフィカルです。 553 00:27:17,505 --> 00:27:21,840 スプライト場合はのために、猫の場合、だ 例えば、実際に触れている 554 00:27:21,840 --> 00:27:22,510 マウスポインタ。 555 00:27:22,510 --> 00:27:25,780 小さな矢印ヘッドが浮かんでいるのであれば 猫の上に、この 556 00:27:25,780 --> 00:27:28,030 パズルのピースは、trueと評価されます。 557 00:27:28,030 --> 00:27:31,870 それはあなたと、その場合には、trueになります 私たちが説明するように、このブール式を使用し 558 00:27:31,870 --> 00:27:36,340 ブランチで、一瞬に表示、次のことができます どちらか、これを行うか、それを行うことができます 559 00:27:36,340 --> 00:27:39,940 我々は条件を持っていた多くのようにその チェックすると、そこにもう一つの最後の人です 560 00:27:39,940 --> 00:27:40,460 部屋の中で? 561 00:27:40,460 --> 00:27:42,070 もしそうであれば、1を追加します。 562 00:27:42,070 --> 00:27:44,430 それ以外の場合は、さらに心配しないでください。 563 00:27:44,430 --> 00:27:48,650 >> だからブール式にもすることができます 一緒に一緒に-EDまたはor-ED。 564 00:27:48,650 --> 00:27:53,120 だから、ブール式を組み合わせることができます これとこれがために真でなければならないと言う 565 00:27:53,120 --> 00:27:54,710 本当であるように全部。 566 00:27:54,710 --> 00:27:56,520 そしてここでは、より現実世界の例です。 567 00:27:56,520 --> 00:28:00,060 あなたは、コースを行うことCS50コースを使用したことがあれば 買い物、これらのチェックボックス 568 00:28:00,060 --> 00:28:03,520 そこここで、次回そのチェックボックスをオンにした場合 コー​​スには、それは、はい、と言うだろう 569 00:28:03,520 --> 00:28:07,860 私だけのためにコースを示す Q値が4.5以上である。 570 00:28:07,860 --> 00:28:10,610 あなたはそれを外し、いや、ない場合 そのことについて心配。 571 00:28:10,610 --> 00:28:13,910 または同様に、右側に、ではないか 私が取ってるコースとの競合、 572 00:28:13,910 --> 00:28:15,650 それは、trueまたはfalseのいずれかです。 573 00:28:15,650 --> 00:28:16,715 それはちょうどブール式です。 574 00:28:16,715 --> 00:28:20,080 あなたが使用したので、すべてのこの時間 チェックボックス付きのウェブサイトは、あなただけだ 575 00:28:20,080 --> 00:28:23,570 ブールと同等のものをトグル 表現のオンとオフ。 576 00:28:23,570 --> 00:28:25,270 >> だから、どのような形では、これらを使用するのですか? 577 00:28:25,270 --> 00:28:28,820 まあ、スクラッチでは、我々はすぐに説明します その条件が存在すること 578 00:28:28,820 --> 00:28:29,560 このように見える。 579 00:28:29,560 --> 00:28:33,130 そして、はるかのでそれが賢明のようなものだ 擬似コードのように、我々はインデント 580 00:28:33,130 --> 00:28:38,550 U字型のパズルのピースのようなもの、という意味 そのUの内側にその何です 581 00:28:38,550 --> 00:28:41,390 実行するつもりはない、または、依存 それがどこにあるかで。 582 00:28:41,390 --> 00:28:45,310 だからブール式であれば、その後 何の内部は実行されるでしょう。 583 00:28:45,310 --> 00:28:46,800 >> 一方、もし/ elseブロックがあります。 584 00:28:46,800 --> 00:28:50,320 ですから、これを行く、分岐したい場合 方法またはそれは、スクラッチと私たちに与えます。 585 00:28:50,320 --> 00:28:54,500 そして、この論理によって、今では、たとえその パズルのピースは明らかに小さすぎる 586 00:28:54,500 --> 00:28:57,400 その中何か他のものを押し込むため、 スクラッチパズルのピースは、彼らがしている 587 00:28:57,400 --> 00:28:58,150 ただ成長するだろう。 588 00:28:58,150 --> 00:29:01,370 あなたが何かの上にドラッグアンドドロップすると、 それだけで何でも合うように成長する 589 00:29:01,370 --> 00:29:02,510 あなたがやろうとしているされています。 590 00:29:02,510 --> 00:29:07,230 >> だから私たちは、これらのもののうちの2つを取ることができます その道路の三方フォークを作る 591 00:29:07,230 --> 00:29:11,300 あなたはどちらか、これを行うこと、または、そのまたは ただネストそれらによって、この他の事 592 00:29:11,300 --> 00:29:12,070 そのようにした。 593 00:29:12,070 --> 00:29:14,370 もちろん、あなたがしなければそれも ずっと、それは醜い取得を開始します。 594 00:29:14,370 --> 00:29:17,660 しかし、その時点で、あなたが実際にしている おそらく非常によくプログラミングしない。 595 00:29:17,660 --> 00:29:20,490 となるように、繰り返しになります テーマは、あまりにも、スタイルのこと。 596 00:29:20,490 --> 00:29:22,790 ただ、どれだけ実際に行う あなたのコードをフォーマット? 597 00:29:22,790 --> 00:29:24,580 またはどれだけあなたのコードを設計するのですか? 598 00:29:24,580 --> 00:29:26,430 将来的にはその上で、より多くの。 599 00:29:26,430 --> 00:29:27,470 >> そして今、我々はループを持っている。 600 00:29:27,470 --> 00:29:30,310 スクラッチでの素敵な永久ループがあります やる - これは、文字通りあることを意味 601 00:29:30,310 --> 00:29:32,710 再びこの内のどのような、 そして再び、再び。 602 00:29:32,710 --> 00:29:35,880 あなたが、より具体的にと言うことができます 次のものを10回行う。 603 00:29:35,880 --> 00:29:37,620 また、変数を使用することができます。 604 00:29:37,620 --> 00:29:40,260 あなたはその中に任意の名前を考え出すことができる 少しドロップダウンと言う、私を与える 605 00:29:40,260 --> 00:29:43,190 変数nと呼ばれ、設定 それはいくつかの値に等しい。 606 00:29:43,190 --> 00:29:44,910 そしてあなたは機能を持つことができます。 607 00:29:44,910 --> 00:29:46,850 一瞬のものではなく、もっと。 608 00:29:46,850 --> 00:29:49,140 >> 私が私に戻ってみましょう インターフェイスを傷つける。 609 00:29:49,140 --> 00:29:50,970 そして、私は先に、この時間を手放す。 610 00:29:50,970 --> 00:29:56,660 と、のは先に行くと開放させ から例えば、言うてみましょう - 611 00:29:56,660 --> 00:29:58,740 それはもう少し興味深い。 612 00:29:58,740 --> 00:30:00,750 実際に、私が先に行ってみよう、と 私はただそれを自分で作ってみましょう。 613 00:30:00,750 --> 00:30:01,960 私はこの1つを開く必要はありません。 614 00:30:01,960 --> 00:30:03,390 私は、新しいファイルへ行こう。 615 00:30:03,390 --> 00:30:04,740 私はイベントに行くつもりです。 616 00:30:04,740 --> 00:30:08,460 私は時緑の旗に行くつもりです クリックすると、私はサウンドに行くつもりです。 617 00:30:08,460 --> 00:30:11,590 そして、私はこれをドラッグアンドドロップするつもりだ パズルのピースは、音ニャーを果たしている。 618 00:30:11,590 --> 00:30:12,580 それは一緒にラッチします。 619 00:30:12,580 --> 00:30:14,327 そして今、私は緑の旗をクリックした場合 - 620 00:30:14,327 --> 00:30:16,260 >> [MEOWのSOUND] 621 00:30:16,260 --> 00:30:17,500 >> DAVIDマラン:愛らしい。 622 00:30:17,500 --> 00:30:21,560 [OK]を、ので、今のは少し何かをやらせる ちょうどそれを実証するより論理的 623 00:30:21,560 --> 00:30:22,760 今のところ我々は、することができます。 624 00:30:22,760 --> 00:30:25,550 私がアンラッチするつもりです その男から。 625 00:30:25,550 --> 00:30:27,000 私がコントロールに移動するつもりです。 626 00:30:27,000 --> 00:30:28,770 そして、私は条件をつかむつもりだ。 627 00:30:28,770 --> 00:30:30,600 だから、何かあれば、。 628 00:30:30,600 --> 00:30:32,020 だから、それはそれはそこにどのように見えるのです。 629 00:30:32,020 --> 00:30:33,890 だから私は、ブール式が必要になります。 630 00:30:33,890 --> 00:30:38,130 そして、私が先に行くと言わせて 私は子に行きましょう。 631 00:30:38,130 --> 00:30:40,270 私は少し何かをするつもりです ただキックのためのMathyさん、。 632 00:30:40,270 --> 00:30:43,600 私があれば、ここに行くと言うつもりです 何かが、何か他のものよりも小さい 633 00:30:43,600 --> 00:30:45,030 先に行くと何かをする。 634 00:30:45,030 --> 00:30:46,890 だから今、あなたは何、ランダムブロックを知っています。 635 00:30:46,890 --> 00:30:51,620 だから私はこの上にカーソルを移動する場合、どのように気づく そこにスナップされ、ここでの事、。 636 00:30:51,620 --> 00:30:54,090 >> だから今、告知、私がやって始めて すでにもっと論理的に何か 637 00:30:54,090 --> 00:30:54,650 興味深い。 638 00:30:54,650 --> 00:30:59,720 乱数1とIF 10未満であるのは、6つを言わせて。 639 00:30:59,720 --> 00:31:03,670 本質的に、私は6を選択した場合 手段は、50%で次の手順を実行します。 640 00:31:03,670 --> 00:31:03,980 確率。 641 00:31:03,980 --> 00:31:05,460 これは、コインをひっくり返すようなものだ。 642 00:31:05,460 --> 00:31:07,330 今、私は条件付きで何かを行うことができます。 643 00:31:07,330 --> 00:31:10,800 そして、私は行くよ、何か 行うことは、サウンドを再生します。 644 00:31:10,800 --> 00:31:14,280 だから今、私は、画面上でクリックしたとき フラグが、それはコインを投げるようなものだ。 645 00:31:14,280 --> 00:31:14,610 >> [MEOWのSOUND] 646 00:31:14,610 --> 00:31:17,160 >> DAVIDマラン:それは頭だった またはそこにその他もろもろ。 647 00:31:17,160 --> 00:31:17,920 もう一度やってみましょう。 648 00:31:17,920 --> 00:31:18,860 >> [MEOWのSOUND] 649 00:31:18,860 --> 00:31:19,790 >> DAVIDマランは:再びヘッズ。 650 00:31:19,790 --> 00:31:20,280 >> [MEOWのSOUND] 651 00:31:20,280 --> 00:31:21,500 >> DAVIDマランは:再びヘッズ。 652 00:31:21,500 --> 00:31:22,631 ふう、OK。 653 00:31:22,631 --> 00:31:24,720 テイルスその時間。 654 00:31:24,720 --> 00:31:29,545 時間の50%はそう、我々はこれを行う場合 無限に長い、我々は50%の鳴き声を取得します 655 00:31:29,545 --> 00:31:32,180 および50%沈黙。 656 00:31:32,180 --> 00:31:34,850 だからそこには、単に基本的な建物 私たちはそれを行うことができますブロック。 657 00:31:34,850 --> 00:31:37,710 しかし、これは私が持っている退屈なの一種である そのボタンをクリックして維持する。 658 00:31:37,710 --> 00:31:39,810 だからドラッグして投げてみましょう 離れてそれらのすべて。 659 00:31:39,810 --> 00:31:42,270 あなたは、中央にそれらをドラッグした場合、 彼らはただ自分自身を削除します。 660 00:31:42,270 --> 00:31:43,760 >> 私がコントロールするように行こう。 661 00:31:43,760 --> 00:31:46,060 私は永遠に行こう。 662 00:31:46,060 --> 00:31:49,952 そして、この時、私はするつもりです minorly迷惑な何か。 663 00:31:49,952 --> 00:31:51,560 >> [笑い] 664 00:31:51,560 --> 00:31:53,370 >> DAVIDマラン:そして、私は手放す 控えと制御を行います。 665 00:31:53,370 --> 00:31:57,260 ちょうどので、1秒待って それはあまりにも格子ではありません。 666 00:31:57,260 --> 00:31:59,870 >> [MEOWのSOUND] 667 00:31:59,870 --> 00:32:00,970 >> DAVIDマラン:自然ではないです。 668 00:32:00,970 --> 00:32:01,861 OK。 669 00:32:01,861 --> 00:32:04,510 >> [MEOWのSOUND] 670 00:32:04,510 --> 00:32:06,406 >> ニースと予告何、:DAVIDマラン 人のために、約スクラッチ、 671 00:32:06,406 --> 00:32:09,210 事前のプログラミング経験を持って、あなた 開始および停止する必要はありません。 672 00:32:09,210 --> 00:32:10,060 あなたがコンパイルする必要はありません。 673 00:32:10,060 --> 00:32:13,210 あなたはそれを変更し、プログラム 動的に適応します。 674 00:32:13,210 --> 00:32:14,620 だから、これはなっている 少し興味深い。 675 00:32:14,620 --> 00:32:16,930 しかし、のは、さらに一歩それを取ることができます。 676 00:32:16,930 --> 00:32:19,760 私が先に行くと、取得しましょう そのプログラムを取り除く。 677 00:32:19,760 --> 00:32:23,300 >> [MEOWのSOUND] 678 00:32:23,300 --> 00:32:25,520 >> DAVIDマラン:それは何我々はよ スクラッチのバグを呼び出します。 679 00:32:25,520 --> 00:32:26,770 彼は、その音を作り続けるべきではありません。 680 00:32:26,770 --> 00:32:28,340 だから我々は、我々は停止するように彼を教えてあげましょう。 681 00:32:28,340 --> 00:32:30,435 私は今、すべての権利、そう に行く - 682 00:32:30,435 --> 00:32:32,180 私はMITに知ってもらおう。 683 00:32:32,180 --> 00:32:35,160 我々は永遠にこっちに行くよ。 684 00:32:35,160 --> 00:32:37,240 そして今、私が何かをしたい 何度も何度も。 685 00:32:37,240 --> 00:32:38,760 私はコントロールに行くつもりです。 686 00:32:38,760 --> 00:32:41,570 >> と見てみましょう、私はドラッグするつもりです 私の存在の条件であれば。 687 00:32:41,570 --> 00:32:42,850 だから今のロジックに気づく。 688 00:32:42,850 --> 00:32:46,430 緑の旗は、んクリックされると 永遠に何か、だけのことをやる 689 00:32:46,430 --> 00:32:48,890 何かこの他の事が本当であれば。 690 00:32:48,890 --> 00:32:51,480 私はしてみましょう、に行くつもりです センシング、言う。 691 00:32:51,480 --> 00:32:54,430 そして、私は先に行くと選ぶつもりです 触れて、そこにドロップします。 692 00:32:54,430 --> 00:32:55,930 それはブール式です。 693 00:32:55,930 --> 00:32:57,740 >> そして今、このドロップで、気付く ダウンメニューがある 694 00:32:57,740 --> 00:32:59,050 いくつかの事前定義された値。 695 00:32:59,050 --> 00:33:00,910 だから私は、あなたが触れている、と言うことができます 画面の端? 696 00:33:00,910 --> 00:33:03,900 それともあなたは、マウスポインタを触れている 画面上の矢印? 697 00:33:03,900 --> 00:33:04,620 だから私はそれをするつもりです。 698 00:33:04,620 --> 00:33:08,770 そうだとすれば、私は行くつもりです 先と音ニャーを果たしている。 699 00:33:08,770 --> 00:33:11,250 だから今、私は一種の持つ ゲームの始まり - 700 00:33:11,250 --> 00:33:13,110 愛らしいゲーム。 701 00:33:13,110 --> 00:33:14,060 >> [MEOWのSOUND] 702 00:33:14,060 --> 00:33:17,250 >> DAVIDマラン:OK、愛らしい、 バギーゲーム。 703 00:33:17,250 --> 00:33:20,770 、のは言わせて、私は待ってみましょう そこに一秒。 704 00:33:20,770 --> 00:33:24,910 今すぐクリックして、再びプレー 緑の旗。 705 00:33:24,910 --> 00:33:27,860 >> [MEOWのSOUND] 706 00:33:27,860 --> 00:33:30,460 >> DAVIDマラン:だから今、それは 猫をかわいがるように。 707 00:33:30,460 --> 00:33:31,850 >> [MEOWのSOUND] 708 00:33:31,850 --> 00:33:34,460 >> DAVIDマラン:今すべての権利は​​、この 私が事前に作ったの1。 709 00:33:34,460 --> 00:33:39,250 非常に遅く、それは一種の取得 愚かな事をするのは簡単。 710 00:33:39,250 --> 00:33:40,240 だから私はここに行くことができます。 711 00:33:40,240 --> 00:33:43,720 猫たこと、言ってみましょう。 712 00:33:43,720 --> 00:33:46,600 オープン今ましょうと、猫はいけません。 713 00:33:46,600 --> 00:33:48,330 さて、我々はこの1つを再生する場合、 あなたがしている場合は、推測することができます 714 00:33:48,330 --> 00:33:49,650 画面を見て - 715 00:33:49,650 --> 00:33:51,090 >> [MEOWのSOUND] 716 00:33:51,090 --> 00:33:52,170 >> DAVIDマラン:今、私は猫のペット場合 717 00:33:52,170 --> 00:33:55,420 >> [LION'S ROAR] 718 00:33:55,420 --> 00:33:57,260 >> DAVIDマラン:だから実際にはしないでください その場合、猫をペット。 719 00:33:57,260 --> 00:34:01,350 だから今我々だけの例を持っている 二方向に起こっている枝。 720 00:34:01,350 --> 00:34:03,130 今私は先に行くと、う ここで別のものを開く。 721 00:34:03,130 --> 00:34:07,120 われわれの情報源の中でも、この1、 その日のためのコードファイル。 722 00:34:07,120 --> 00:34:13,199 だから私は私の元に戻ってみましょう ディレクトリに移動し、のは選択できる 723 00:34:13,199 --> 00:34:15,610 この男はここと見 異なるものです。 724 00:34:15,610 --> 00:34:17,449 >> うわー、大丈夫なので、今ではなってきた 少し複雑。 725 00:34:17,449 --> 00:34:21,300 そして、我々はこの男が何を見る前に、 プログラムから、推測してみましょう 726 00:34:21,300 --> 00:34:22,219 右側た。 727 00:34:22,219 --> 00:34:25,590 そして今スクラッチはっきり私たちはすることができます 複数、複数のスクリプトを持っている 728 00:34:25,590 --> 00:34:29,730 1スプライトに関連付けられたプログラムで、 一つの文字、そして、明らかに、と 729 00:34:29,730 --> 00:34:31,760 彼らは両方のロックステップで実行するつもりだ。 730 00:34:31,760 --> 00:34:35,570 これらのプログラムの両方が開始されるため ときに緑の旗をクリックすると、これは 731 00:34:35,570 --> 00:34:38,650 で、より高度なトピックを示唆 あなたのいくつかは理解している可能性のある、 732 00:34:38,650 --> 00:34:40,580 転位として知られている、または マルチスレッド。 733 00:34:40,580 --> 00:34:44,400 >> 結局、長い話短い、コンピュータ 今日は基本的に複数行うことができます 734 00:34:44,400 --> 00:34:45,270 一度物事。 735 00:34:45,270 --> 00:34:48,659 それとも彼らはそう一度一つのことを行うことができます あなたもいることに気づかないことが速い 736 00:34:48,659 --> 00:34:50,150 それは実際にものをやっている 時のもの。 737 00:34:50,150 --> 00:34:53,320 しかし、今のところ、のは仮定の両方のこと これらのプログラムは、で実行しようとしている 738 00:34:53,320 --> 00:34:54,310 同じ時間。 739 00:34:54,310 --> 00:34:57,350 、予告、それらの両方が持っている 永遠ピースをパズル。 740 00:34:57,350 --> 00:35:01,270 そこで、彼らは両方の稼働を維持するつもりだ 私は赤の一時停止の標識に到達するまで。 741 00:35:01,270 --> 00:35:02,100 >> そこで、彼らは何をするつもりですか? 742 00:35:02,100 --> 00:35:06,030 左側で、Iは明らかによ ミュートと呼ばれる変数を宣言する。 743 00:35:06,030 --> 00:35:09,030 だから私はそれのような何かを呼び出していませんでした N.ように退屈私はこれ、それはミュートと呼ばれる 744 00:35:09,030 --> 00:35:10,240 意味を伝えるための時間。 745 00:35:10,240 --> 00:35:11,780 私はゼロに等しく、それを設定してください。 746 00:35:11,780 --> 00:35:16,200 と偽、または考えるレッツ のは、そのようにはFalseを考えてみましょう。 747 00:35:16,200 --> 00:35:17,490 >> さて、永遠に次の手順を実行します。 748 00:35:17,490 --> 00:35:23,280 キーボードのスペースキーが押された場合、 その後ミュートが等しい場合はゼロ、 749 00:35:23,280 --> 00:35:25,930 次に等しいものにミュートに変更します。 750 00:35:25,930 --> 00:35:27,580 そうでなければ、ゼロにミュート設定。 751 00:35:27,580 --> 00:35:30,530 だから論理的に、それが全体のにもかかわらず パズルのピースの束だ 752 00:35:30,530 --> 00:35:33,160 私は、スペースバーをヒットしたときだけ、と言って、 私は、変数に何をすべき 753 00:35:33,160 --> 00:35:34,750 ミュートと呼ばれる? 754 00:35:34,750 --> 00:35:37,170 、1から0に変更し ゼロまたは1。 755 00:35:37,170 --> 00:35:37,840 それがすべてです。 756 00:35:37,840 --> 00:35:40,740 だから、光スイッチを回すようなものだ オンまたはオフと思い出し、と 757 00:35:40,740 --> 00:35:42,330 私はそれをやった変数。 758 00:35:42,330 --> 00:35:45,990 >> 一方、右側の内 普通の言葉、何の目的である 759 00:35:45,990 --> 00:35:47,547 右側のスクリプト? 760 00:35:47,547 --> 00:35:48,860 >> 学生:アシカのサウンドを再生する。 761 00:35:48,860 --> 00:35:52,500 >> DAVIDマラン:アシカの音を再生するには、 彼がミュートされていない場合は、別 762 00:35:52,500 --> 00:35:53,480 その変数の性質。 763 00:35:53,480 --> 00:35:57,360 だから我々は、状態を共有している、いわば、 これら二つ渡って情報共有 764 00:35:57,360 --> 00:36:00,540 スクリプトので、ここで気づく、我々は 永遠に次の操作を実行。 765 00:36:00,540 --> 00:36:04,620 ミュートは、それがミュートされないそうだとすれば、ゼロの場合 - ミュートがfalseの場合、次に遊ぶ 766 00:36:04,620 --> 00:36:05,980 このアシカサウンド。 767 00:36:05,980 --> 00:36:09,930 とのために、こんにちは、こんにちは、こんにちは、あなた自身に考える 2秒の瞬間を待ってから、 768 00:36:09,930 --> 00:36:11,140 もう一度確認してください。 769 00:36:11,140 --> 00:36:15,150 だから我々は左にこっち今行けば、 この男がどこにあり、ヒット 770 00:36:15,150 --> 00:36:16,662 緑の旗、 771 00:36:16,662 --> 00:36:30,260 >> [SEA LIONのSOUND] 772 00:36:30,260 --> 00:36:31,910 >> DAVIDマラン:何をするかの時点で これは本当に迷惑なのですか? 773 00:36:31,910 --> 00:36:33,440 これはただ永遠に行きますので。 774 00:36:33,440 --> 00:36:36,490 だから時々、無限ループ、 いわば、意図的である。 775 00:36:36,490 --> 00:36:41,140 しかし、この場合には、できるだけI スペースバーをヒットし、彼は停止します。 776 00:36:41,140 --> 00:36:42,800 今、プログラムが終了していません。 777 00:36:42,800 --> 00:36:44,760 それはまだ、これらのループで実行している。 778 00:36:44,760 --> 00:36:46,540 しかし、私は、もう一度スペースバーを取得する場合 - 779 00:36:46,540 --> 00:36:47,851 >> [SEA LIONのSOUND] 780 00:36:47,851 --> 00:36:49,650 >> DAVIDマラン:彼は選ぶために起こっている まで、彼が去ったところ。 781 00:36:49,650 --> 00:36:53,240 だから私たちが何をするための一つの方法があります 何度も何度も何ですが、その 782 00:36:53,240 --> 00:36:54,920 時間、条件付きでのみ。 783 00:36:54,920 --> 00:36:58,940 まあ、我々がやって、この静脈にいる間 物事は何度も何度も、私を聞かせて 784 00:36:58,940 --> 00:37:01,370 ここで別のそのような例に入る。 785 00:37:01,370 --> 00:37:04,370 この1我々は羊を数えると呼ぶことにします。 786 00:37:04,370 --> 00:37:05,710 >> そして、この男が何をするかに気づく。 787 00:37:05,710 --> 00:37:08,540 それは実際に多くのようなものだ 我々は上で遊ん擬似コード 788 00:37:08,540 --> 00:37:12,230 彼はいくつかのカウンタを設定することにより水曜日、 それを考えるように、再びNで 789 00:37:12,230 --> 00:37:14,030 ゼロ、彼は永遠に次のことを行います。 790 00:37:14,030 --> 00:37:17,960 彼は言ういずれかのカウンタの値 第二、次に2番目のを待ち、 791 00:37:17,960 --> 00:37:19,430 つずつカウンターを変更します。 792 00:37:19,430 --> 00:37:21,570 ただし、このコンテキストでは、その インクリメントし、それを意味しています。 793 00:37:21,570 --> 00:37:23,250 だから、彼はそれに1を加算。 794 00:37:23,250 --> 00:37:25,830 だから、これは文字通りです - 795 00:37:25,830 --> 00:37:27,890 それは我々が何を考えて非常にではありません 羊を数えるようにの。 796 00:37:27,890 --> 00:37:33,120 それは、カウントをやって羊だ 永遠に、アップするゼロから。 797 00:37:33,120 --> 00:37:35,560 >> だから我々は、同じようなことを行うことができます そこに、論理的に。 798 00:37:35,560 --> 00:37:37,750 しかし、今はきれいにしてみましょう これらの事のいくつかはアップする。 799 00:37:37,750 --> 00:37:43,440 私は今では簡単に先に行こう 私たちの猫はただに起こっている例 800 00:37:43,440 --> 00:37:44,750 咳を開始します。 801 00:37:44,750 --> 00:37:48,830 すべての権利なので、ここで我々は咳0を持っている - 802 00:37:48,830 --> 00:37:50,685 コンピュータ科学者は、開始 0からカウント。 803 00:37:50,685 --> 00:37:53,480 したがって、この猫はただ起こっている 三回咳をする。 804 00:37:53,480 --> 00:37:54,890 そしてここでは、私はそれを実装する方法を説明します。 805 00:37:54,890 --> 00:38:00,130 緑のフラグをクリックすると、咳、 、待つ咳、待って、咳、待つ。 806 00:38:00,130 --> 00:38:02,470 と私はドラッグすることによって、これをしなかった とパズルのピースを落とす。 807 00:38:02,470 --> 00:38:04,740 それとも、スクラッチをいじくりに開始した場合、 あなたが実際にすることができます表示されます 808 00:38:04,740 --> 00:38:08,620 あなたが行うことができるように作品を複製 ドラッグせずに、より迅速に物事 809 00:38:08,620 --> 00:38:10,310 と広告nauseumを落とす。 810 00:38:10,310 --> 00:38:12,680 >> しかし、我々はここで最高のパス上にないよ。 811 00:38:12,680 --> 00:38:15,210 私は彼を作るにはどうすればよいので、 4回目咳? 812 00:38:15,210 --> 00:38:16,790 まあ、私はここで下がる一種の可能性があります。 813 00:38:16,790 --> 00:38:19,420 私はその後、複製ができ そこにこれを貼り付けます。 814 00:38:19,420 --> 00:38:21,740 どのように私は彼が5回目の咳作るのですか? 815 00:38:21,740 --> 00:38:23,230 まあ、コピーして、再度貼り付けます。 816 00:38:23,230 --> 00:38:24,210 か、もう一度ドロップをドラッグします。 817 00:38:24,210 --> 00:38:26,920 と非常に迅速に、このプログラムが起動 本当に冗長、本当に得るために、 818 00:38:26,920 --> 00:38:28,880 本当に長いですが、本当に面白くない。 819 00:38:28,880 --> 00:38:30,120 しかし、これまでをきれいにする方法があります。 820 00:38:30,120 --> 00:38:33,680 明白な方法は何ですか このクリーンアップするために? 821 00:38:33,680 --> 00:38:36,280 >> [OK]を、ので、実際には本当に行くことができる あなたは、スペースを打つアウトと、 822 00:38:36,280 --> 00:38:37,070 バーには、彼は咳がある。 823 00:38:37,070 --> 00:38:40,150 しかし、私はちょうど何かをしたい場合 繰り返し、我々は持っていないことを思い出す 824 00:38:40,150 --> 00:38:41,310 いくつかの制御構造。 825 00:38:41,310 --> 00:38:43,800 私は、この外に移動しましょう 方法は、コントロール下に行く。 826 00:38:43,800 --> 00:38:47,340 、私はただ繰り返しやってみましょう 、三回言う。 827 00:38:47,340 --> 00:38:49,410 そして今、私はいくつかを盗もう これらのパズルのピースの。 828 00:38:49,410 --> 00:38:50,980 私はここでこれをスナップしてみましょう。 829 00:38:50,980 --> 00:38:52,400 私は完全にこれらの捨てましょう。 830 00:38:52,400 --> 00:38:55,400 >> そして今、私はより良いを持っている 設計されたプログラム。 831 00:38:55,400 --> 00:38:55,920 なぜですか? 832 00:38:55,920 --> 00:39:00,540 I回数を変更する場合 この猫の咳、すべて私がしなければならない 833 00:39:00,540 --> 00:39:05,640 、一つの変数、または1つの値を変更しているか むしろ3から4へ、または 834 00:39:05,640 --> 00:39:06,700 5、または6。 835 00:39:06,700 --> 00:39:09,060 または私は、条件付きで何かを行うことができます でも、スペースで 836 00:39:09,060 --> 00:39:10,320 私がしたい場合はバーがあります。 837 00:39:10,320 --> 00:39:11,780 >> だから、これは一般的な原則です。 838 00:39:11,780 --> 00:39:14,950 したら、コードをコピーして貼り付け開始 それはスクラッチで、または内であるかどうか 839 00:39:14,950 --> 00:39:18,340 C、あなたが何かをやっている 間違って、最も可能性が高い。 840 00:39:18,340 --> 00:39:21,950 あるいは、少なくとも、一度は、いくつかを超えました コピーとの合理的な数字 841 00:39:21,950 --> 00:39:24,610 ペーストは、おそらくだ 何か間違ったことをやって。 842 00:39:24,610 --> 00:39:26,740 >> しかし、あなたは何を知っていますか? 843 00:39:26,740 --> 00:39:27,590 私はこのように本当にない。 844 00:39:27,590 --> 00:39:28,980 これは、クリーンな設計ではありません。 845 00:39:28,980 --> 00:39:32,860 私はと呼ばれるパズルのピースがあった願い その後、私はしないので咳 846 00:39:32,860 --> 00:39:36,100 、この自分自身を実装する必要があります 昔ながらの方法による 847 00:39:36,100 --> 00:39:38,220 と言うと、待ってた - 848 00:39:38,220 --> 00:39:40,320 彼らは何であったかば 咳パズルのピース。 849 00:39:40,320 --> 00:39:41,330 >> まあ、私は実際にあることを行うことができます。 850 00:39:41,330 --> 00:39:45,010 私はより多くのブロックの下に行ってみよう、クリック ブロックを作成し、今私はこれを取得 851 00:39:45,010 --> 00:39:45,610 ここでウィンドウ。 852 00:39:45,610 --> 00:39:47,540 私はこの事の咳を呼ぶつもりです。 853 00:39:47,540 --> 00:39:49,400 私が先に行くし、[OK]をクリックするつもりです。 854 00:39:49,400 --> 00:39:53,150 そして今予告、私は新しい出発を得る 上に湾曲している部分。 855 00:39:53,150 --> 00:39:56,590 そして、私はこれをやろうとしているもの、私はよ ただ、これらのブロックを盗むつもり。 856 00:39:56,590 --> 00:39:57,800 私はここでそれらを置くつもりです。 857 00:39:57,800 --> 00:40:00,490 >> そして今、これらの3つの作品で、私がしました 私がコールするつもり何実装 858 00:40:00,490 --> 00:40:03,530 関数、またはプロシージャ、または一部の あなたは、メソッドとしてそれを知っているかもしれません。 859 00:40:03,530 --> 00:40:05,050 単語間のわずかな違い。 860 00:40:05,050 --> 00:40:06,950 しかし、今のところ、ただみましょう この関数を呼び出します。 861 00:40:06,950 --> 00:40:08,750 これは単に新しいパズルのピースです。 862 00:40:08,750 --> 00:40:11,000 今ではこのように実装されています。 863 00:40:11,000 --> 00:40:15,170 >> しかし、スクラッチは私たちに与えていることに気づく その全体の物理的な表現 864 00:40:15,170 --> 00:40:16,570 こっちブロック。 865 00:40:16,570 --> 00:40:21,930 だから今、私はちょうど、こっちにこれをドラッグすることができます 三回繰り返す、と言うと、 866 00:40:21,930 --> 00:40:26,420 私が演奏するときに何が、今では起こるだろう このスクリプトは、1つのプログラムである 867 00:40:26,420 --> 00:40:27,500 同時に実行されています。 868 00:40:27,500 --> 00:40:29,880 つだけ時があります 緑の旗はクリックしました。 869 00:40:29,880 --> 00:40:34,010 しかし、咳と呼ばれる紫のブロックです 効果的にすべての、スクラッチを伝える 870 00:40:34,010 --> 00:40:38,160 あなたが実際に、そのパズルのピースを参照してください時間 これらの手順を実行してそのI 871 00:40:38,160 --> 00:40:40,420 手動で実装するために起こる。 872 00:40:40,420 --> 00:40:41,410 >> だからきちんとしたのようなものだ。 873 00:40:41,410 --> 00:40:44,650 しかし、今、私が決定したと仮定し、私はしないでください ただ咳をするために、この猫が欲しい。 874 00:40:44,650 --> 00:40:46,660 私は彼ができるようにしたい 同様にくしゃみをする。 875 00:40:46,660 --> 00:40:48,905 さて、どのように我々は、約行くことができる くしゃみを実装? 876 00:40:48,905 --> 00:40:51,310 さて、私はかなりの可能性 同じことを行う。 877 00:40:51,310 --> 00:40:52,690 私は別のブロックを作ることができます。 878 00:40:52,690 --> 00:40:55,940 私はこのくしゃみを呼び出すことができ、[OK]をクリックします。 879 00:40:55,940 --> 00:40:59,250 >> その後、こちらに私が実際にできた 、私はこれを複製させました - 880 00:40:59,250 --> 00:41:02,850 そしてあなたのように感じるべき場所あり あなたはおそらくで何かをやっていない 881 00:41:02,850 --> 00:41:03,780 最良の方法。 882 00:41:03,780 --> 00:41:06,670 私は、何かのように言うことができる ハクション、1秒間。 883 00:41:06,670 --> 00:41:07,440 1秒待ちます。 884 00:41:07,440 --> 00:41:08,715 今、私はくしゃみと呼ばれる新しいブロックを持っている。 885 00:41:08,715 --> 00:41:10,210 そして実際、そこにはある。 886 00:41:10,210 --> 00:41:14,010 >> しかし、これは、あまりにも、感じるように開始する必要があります - そうでないかもしれない最初のクラスの週が、 887 00:41:14,010 --> 00:41:15,730 第二で - ちょうど 少し冗長。 888 00:41:15,730 --> 00:41:17,800 明らかに、いくつかの冗長性は、ここにあり。 889 00:41:17,800 --> 00:41:22,090 だから私たちは、その代わりに、私が提案してみましょう この定義は次のように改良します。 890 00:41:22,090 --> 00:41:24,820 >> 私は私のファイルメニューまで行こう。 891 00:41:24,820 --> 00:41:26,090 私はこのバージョンを保存するつもりはない。 892 00:41:26,090 --> 00:41:29,080 私は、のいずれかに行くつもりです ここに私の既成のファイル。 893 00:41:29,080 --> 00:41:31,190 そして、私は先に行くつもりです と咳2を開く。 894 00:41:31,190 --> 00:41:32,220 おっと、それは咳2であった。 895 00:41:32,220 --> 00:41:36,900 私が先に行くと咳3を開いてみましょう、 これは、このソースディレクトリです。 896 00:41:36,900 --> 00:41:42,450 3咳と気づく - ああ、私は言われ 間違った順序で話。 897 00:41:42,450 --> 00:41:45,030 私は、この物語から回復しましょう​​。 898 00:41:45,030 --> 00:41:48,990 >> 私が言うことを意味し物語 咳4で終わる - 899 00:41:48,990 --> 00:41:50,270 そこにそれがある。 900 00:41:50,270 --> 00:41:54,380 私は、その代わりに、定義それでは場合 と呼ばれるより大きなパズルのピース 901 00:41:54,380 --> 00:41:57,250 単語をn回言う、定義します。 902 00:41:57,250 --> 00:41:59,930 くしゃみは、ただ、明らかにされ スクラッチで、ハクション。 903 00:41:59,930 --> 00:42:01,680 だから私たちは、言葉としてそれを表現 それはだという理由だけで 904 00:42:01,680 --> 00:42:02,750 プログラムの制約。 905 00:42:02,750 --> 00:42:07,860 と咳は、[咳]が、咳です。 C-O-U-G-H。だからちょうど2つだ 906 00:42:07,860 --> 00:42:10,820 別の言葉では、本質的には、やって 同じこと。 907 00:42:10,820 --> 00:42:12,820 >> だから私は、実際に作ることができます このような新しいブロック。 908 00:42:12,820 --> 00:42:14,220 私は前にこのメニューオプションを使用しませんでした。 909 00:42:14,220 --> 00:42:16,960 しかし、あなたは、ブロックを作成]をクリックしたとき あなたには、いくつかのオプションを選択できます。 910 00:42:16,960 --> 00:42:20,900 そして、あなたが実際にこのブロックと言うことができます そうでなければ、いくつかの入力を取り 911 00:42:20,900 --> 00:42:24,710 そう、引数、またはパラメータとして知られて あなたは、の動作を変更することができます 912 00:42:24,710 --> 00:42:25,520 あなたのブロック。 913 00:42:25,520 --> 00:42:28,780 >> だから私は、一瞬前にいた何をしたか 私は、このブロックが言う呼ば。 914 00:42:28,780 --> 00:42:30,880 そして私はそれが取る、と述べた 文字列入力。 915 00:42:30,880 --> 00:42:32,810 そして今、デフォルトでは、気付く それは、文字列1と言います。 916 00:42:32,810 --> 00:42:35,440 文字列は、単に言葉であるか、または フレーズ、私たちの目的のために。 917 00:42:35,440 --> 00:42:37,810 しかし、私はいくつかを置くつもりです だけのようにそこにプレースホルダテキスト、 918 00:42:37,810 --> 00:42:40,620 ウェブサイトには、ユーザー名を参照するか、 ときにパスワードを入力し、それが消える 919 00:42:40,620 --> 00:42:41,550 あなたが入力を開始。 920 00:42:41,550 --> 00:42:42,720 それは、それがすべてです。 921 00:42:42,720 --> 00:42:44,590 >> そして今、私はするつもりです 番号入力を追加します。 922 00:42:44,590 --> 00:42:47,180 そして私は、このnと呼ぶつもりです - それはかなり任意です。 923 00:42:47,180 --> 00:42:49,510 そして、ただ作るだけでラベル、 このブロックもう少し自己 924 00:42:49,510 --> 00:42:50,570 説明 - 925 00:42:50,570 --> 00:42:53,010 回、それは私がちょうどやったことだ。 926 00:42:53,010 --> 00:42:56,540 そして最終的な結果は、私が得ることです このように見えるブロック。 927 00:42:56,540 --> 00:42:58,880 >> そして今、私が使用しているに気づく リピートブロック。 928 00:42:58,880 --> 00:43:03,480 むしろ私は、ハードコーディング3、より 私はそこにn個をドラッグ&ドロップ 929 00:43:03,480 --> 00:43:05,530 機能をパラメータ化することができます。 930 00:43:05,530 --> 00:43:08,590 私は、この関数は何かを作ることができます をもとに異なる​​回数 931 00:43:08,590 --> 00:43:09,410 その値。 932 00:43:09,410 --> 00:43:14,270 >> そして、これは私がやったことです、と言う、気づく 私は単語をドラッグすると、ここで、私が言うことはできない 933 00:43:14,270 --> 00:43:17,860 ハードコーディングという言葉が、どのような 1秒で渡されます。 934 00:43:17,860 --> 00:43:20,200 一方で、どのように私は再実装しない 咳? 935 00:43:20,200 --> 00:43:26,980 私の代わりとして咳を定義 咳をn回言って。 936 00:43:26,980 --> 00:43:30,480 >> だから要するに、私はこれを通過するんだ すぐに、しかし、基本的な考え方は、すぐにです 937 00:43:30,480 --> 00:43:32,750 あなたのプログラムの中で見始めるように 、ちょっと待っている、私がやった 938 00:43:32,750 --> 00:43:36,610 前はかなりこのような何か、 私はいくつかの共通のを考慮することができます 939 00:43:36,610 --> 00:43:37,090 機能は? 940 00:43:37,090 --> 00:43:41,090 私がやっている分解することができ いくつかの基本的な考え方に? 941 00:43:41,090 --> 00:43:42,070 それは我々がここでやっていることだ。 942 00:43:42,070 --> 00:43:44,830 そして私は、視覚的に、これらの事を積み上げてきた 互いの上に 943 00:43:44,830 --> 00:43:47,710 それは、そのアイデアの証だから 、ASCIIに行く、バイナリで始まる 944 00:43:47,710 --> 00:43:51,530 グラフィカルなプログラムを作って、ソートの 上に重ね、ますます複雑なアイデア 945 00:43:51,530 --> 00:43:52,570 互いの上。 946 00:43:52,570 --> 00:43:53,730 >> ここで同じ考え。 947 00:43:53,730 --> 00:43:56,870 私が実装し、スクラッチから始まった 咳、その後実現咳がある 948 00:43:56,870 --> 00:43:58,540 本当にただ何かを言って。 949 00:43:58,540 --> 00:44:01,630 だから私は、代わりに実装してみましょう 何かを言った概念。 950 00:44:01,630 --> 00:44:05,200 そしてその上、私が実装することができます ハクション、または咳? 951 00:44:05,200 --> 00:44:07,990 そして我々はより多くのそのような行うことができます まだ変種。 952 00:44:07,990 --> 00:44:10,400 >> したがって、この基本原理から、 我々は何を始めることができます 953 00:44:10,400 --> 00:44:12,180 ますます複雑なプログラム。 954 00:44:12,180 --> 00:44:14,100 私は、この1つを開いてみましょう。 955 00:44:14,100 --> 00:44:18,020 私たちは、実際に複数のスプライトを持つことができます 一度に画面上で対話する。 956 00:44:18,020 --> 00:44:23,470 私は自分のソースディレクトリに移動した場合 ことを思い出して、スレッドと呼ばれる1つをつかむ 957 00:44:23,470 --> 00:44:26,920 スレッドは本当に能力です の側で実行するには、2つのスクリプトの 958 00:44:26,920 --> 00:44:28,350 同時にサイド。 959 00:44:28,350 --> 00:44:34,490 >> 今注目し、鳥のスプライトの両方を持っていると 持っているどちらも猫のスプライト、 960 00:44:34,490 --> 00:44:35,270 独自のスクリプト。 961 00:44:35,270 --> 00:44:37,690 私はクリックだから予告、 猫は、私は、これらのスクリプトを取得します。 962 00:44:37,690 --> 00:44:39,830 私は鳥をクリックすると、 私は、これらのスクリプトを取得します。 963 00:44:39,830 --> 00:44:42,070 だから、これらの人のそれぞれが持って 彼の独自のプログラム。 964 00:44:42,070 --> 00:44:46,680 私は今、緑の旗をクリックすると、気付く 何このプログラムが行うことであることを 965 00:44:46,680 --> 00:44:54,090 信じられないほど、猫を持っている ゆっくりと、鳥を追いかける。 966 00:44:54,090 --> 00:44:57,120 しかし、猫が有する利点を有している ようにプログラムされて 967 00:44:57,120 --> 00:45:00,540 どんなにそのどこに鳥 、猫は彼に向かって進む。 968 00:45:00,540 --> 00:45:02,150 >> 私たちは、はるかに速く、そのゲームをプレイすることができます。 969 00:45:02,150 --> 00:45:07,750 私は猫のよもしそうなら、私はあることに気付く 使用して、みましょう1ステップを移動すると言う。 970 00:45:07,750 --> 00:45:11,680 のは彼がで5つのステップを移動してみましょう 時間なので、一度に5点。 971 00:45:11,680 --> 00:45:13,580 遊ぶ私をクリックしてみましょう。 972 00:45:13,580 --> 00:45:14,490 >> [LION'S ROAR] 973 00:45:14,490 --> 00:45:17,170 >> DAVIDマラン:すべての権利は​​、今、我々はできる 本当に猫に優位性を与える。 974 00:45:17,170 --> 00:45:18,600 一度に10ステップ。 975 00:45:18,600 --> 00:45:20,120 >> [LION'S ROAR] 976 00:45:20,120 --> 00:45:22,770 >> DAVIDマラン:すべての権利なので、非常に迅速に、 それは少しアドバンテージを取得 977 00:45:22,770 --> 00:45:23,280 猫のため。 978 00:45:23,280 --> 00:45:25,310 しかし、私はで私の手を振るよ 詳細のいくつか。 979 00:45:25,310 --> 00:45:28,240 しかし、そのパスであることを理由 少し異なるたびに開始 980 00:45:28,240 --> 00:45:29,700 私はランダム性のビットをやってということです。 981 00:45:29,700 --> 00:45:33,700 私は実際に猫を指しています どこに基づいて、異なる方向 982 00:45:33,700 --> 00:45:38,710 彼は毎回ように始めたい ゲーム、またはアニメーションがあり、 983 00:45:38,710 --> 00:45:39,760 少し異なる。 984 00:45:39,760 --> 00:45:41,950 >> さて、私が1つをご紹介しましょう その他ここで構築します。 985 00:45:41,950 --> 00:45:43,860 したがって、この場合には、我々の機能を有していた。 986 00:45:43,860 --> 00:45:46,950 また、パズルのピースがあるように起こっている 、配列、またはリストとして知られて 987 00:45:46,950 --> 00:45:50,980 それはあなたが複数保存することができます 変数の内部値。 988 00:45:50,980 --> 00:45:53,410 我々は今のスレッドを見て、 イベントはあり。 989 00:45:53,410 --> 00:45:56,330 >> だからここに使用したイベントです ここでこれらの二人。 990 00:45:56,330 --> 00:46:02,490 そして、私はイベントと呼ばれるファイルを開く場合 今日の例から、我々は意志 991 00:46:02,490 --> 00:46:06,940 見えるプログラムを参照してください このような少し。 992 00:46:06,940 --> 00:46:09,630 そして今、この男に気づく - 993 00:46:09,630 --> 00:46:11,620 ので、私は青を持って気づく マペットは、クリックされた - 994 00:46:11,620 --> 00:46:12,990 彼は唯一の次のことを行います。 995 00:46:12,990 --> 00:46:15,540 彼はそれらのいずれかを持っていません 緑の旗のパズルのピース。 996 00:46:15,540 --> 00:46:18,620 私はイベントを受信したときに彼が持っている - 997 00:46:18,620 --> 00:46:19,970 いくつかの任意の単語がそう。 998 00:46:19,970 --> 00:46:21,590 私はただそこにイベントを入力した - 999 00:46:21,590 --> 00:46:23,740 彼は、言ってポロを起こっている、 2秒間。 1000 00:46:23,740 --> 00:46:25,800 >> だから慣れている人の このゲームは知っているかもしれないと 1001 00:46:25,800 --> 00:46:26,460 これはどこに行っている。 1002 00:46:26,460 --> 00:46:29,800 私は今、オレンジマペットをクリックした場合 彼のプログラムは、これを行います。 1003 00:46:29,800 --> 00:46:35,020 永遠に、キーボードのスペースバーであれば 抑制され、彼が言おうとしている、マルコ、 1004 00:46:35,020 --> 00:46:36,580 画面上で2秒間。 1005 00:46:36,580 --> 00:46:39,590 しかし、彼はまた、この手の込んだを使用するために起こっている 放送として知られるブロック。 1006 00:46:39,590 --> 00:46:42,270 彼が引用を放送するだろう 引用終わり、 "イベント"。 1007 00:46:42,270 --> 00:46:47,540 >> 一方、青男、リコールは、ある 引用引用終わり、リッスン "イベント。" 1008 00:46:47,540 --> 00:46:50,760 だから何とか、今、我々は持つことができます 2スプライトは対話。 1009 00:46:50,760 --> 00:46:53,790 そして、我々はWebプログラミングに到達したとき、 後的には、同様にこの意志 1010 00:46:53,790 --> 00:46:58,320 あなたのウェブサイトを持っていることが有利で のために応答して、何かをする 1011 00:46:58,320 --> 00:47:00,130 例えば、キーボードのクリック。 1012 00:47:00,130 --> 00:47:02,120 >> だから私は先に行こうと スペースバーを押してください。 1013 00:47:02,120 --> 00:47:04,020 オレンジ男はマルコを言う。 1014 00:47:04,020 --> 00:47:05,840 青男はポロを語る。 1015 00:47:05,840 --> 00:47:10,780 私はそれを行う場合は、再度オレンジ男は言う マルコ、青男はポロを語る。 1016 00:47:10,780 --> 00:47:14,130 それでは、この一歩いきましょう。 1017 00:47:14,130 --> 00:47:18,790 今回、我々は行くよ、たぶん、 ここではよりわずか数分。 1018 00:47:18,790 --> 00:47:19,904 我々は持っていますか - 1019 00:47:19,904 --> 00:47:22,380 デスクランプは、下に来る。 1020 00:47:22,380 --> 00:47:24,500 あなたは、右端にある。 1021 00:47:24,500 --> 00:47:25,740 OK、両方出てくることができます。 1022 00:47:25,740 --> 00:47:26,990 我々は皆のためのデスクランプを持っている。 1023 00:47:26,990 --> 00:47:28,360 さあ。 1024 00:47:28,360 --> 00:47:30,090 我々は保つことができるかどうかは知りません このばかげたギャグまで 1025 00:47:30,090 --> 00:47:32,035 すべての学期、しかし。 1026 00:47:32,035 --> 00:47:33,530 すべての権利は​​、下に来る。 1027 00:47:33,530 --> 00:47:40,260 >> そしてその間に、我々は持っている だけに、プルアップするには、次の例 1028 00:47:40,260 --> 00:47:45,370 そのような私たちに、今、物事を加速 から別の症状を持っている 1029 00:47:45,370 --> 00:47:48,360 使用してあなたの前身 同じ基本的なビルディング·ブロック。 1030 00:47:48,360 --> 00:47:48,975 あなたの名前は? 1031 00:47:48,975 --> 00:47:49,240 >> JOHN:ジョン。 1032 00:47:49,240 --> 00:47:49,770 >> DAVIDマラン:ジョン。 1033 00:47:49,770 --> 00:47:50,400 私にあなたをニース。 1034 00:47:50,400 --> 00:47:50,650 と? 1035 00:47:50,650 --> 00:47:51,250 >> SETZ:SETZ。 1036 00:47:51,250 --> 00:47:53,130 >> DAVIDマラン:SETZ、あなたは私にいい。 1037 00:47:53,130 --> 00:47:54,820 ジョン、あなたが来たい場合 最初に、これは古いです 1038 00:47:54,820 --> 00:47:55,910 フロッガーという学校ゲーム。 1039 00:47:55,910 --> 00:47:57,530 あなたにも、このキーボードを使用しています。 1040 00:47:57,530 --> 00:48:02,425 そして目標は、全体で取得することです 通りと水。 1041 00:48:02,425 --> 00:48:12,700 >> [フロッガーの音楽やサウンドの再生] 1042 00:48:12,700 --> 00:48:14,970 >> DAVIDマランん:すみません、何 あなたのためのデスクランプ今日。 1043 00:48:14,970 --> 00:48:19,110 すべての権利、SETZは、あなたでしょう アップ時に来て好きですか? 1044 00:48:19,110 --> 00:48:20,890 すべての権利は​​、もう一度やってみましょう。 1045 00:48:20,890 --> 00:48:21,430 >> SETZ:私は、矢印を使用していますか? 1046 00:48:21,430 --> 00:48:22,360 >> DAVIDマラン:ちょうど矢印キー。 1047 00:48:22,360 --> 00:48:23,624 上、下、左、右。 1048 00:48:23,624 --> 00:48:35,700 >> [フロッガーの音楽やサウンドの再生] 1049 00:48:35,700 --> 00:48:37,880 >> DAVIDマラン:我々はそれらを呼ぶことにします 慰めの賞品今日、 1050 00:48:37,880 --> 00:48:38,950 その後、非常によくやった。 1051 00:48:38,950 --> 00:48:40,690 ここでは、あなたの両方のために、ジョンとSETZ。 1052 00:48:40,690 --> 00:48:41,940 おめでとうございます、大丈夫。 1053 00:48:41,940 --> 00:48:46,720 1054 00:48:46,720 --> 00:48:50,620 だからもう一度、このゲームは、果たしているとして、 何が起こっているかを考える? 1055 00:48:50,620 --> 00:48:52,060 >> 一つは、動きの多くは明らかにあり。 1056 00:48:52,060 --> 00:48:55,220 しかし、我々は猫とで、どのように見てきました あなたが作るこ​​とができる方法鳥たとえば、 1057 00:48:55,220 --> 00:48:58,350 ほんの一部を移動して動きの錯覚 何度も何度もピクセル数。 1058 00:48:58,350 --> 00:49:00,280 そして、あなたは永遠にブロックを持っている場合 あなたは、これらを持つことができます 1059 00:49:00,280 --> 00:49:02,120 車は永遠にこれを行う。 1060 00:49:02,120 --> 00:49:03,720 私たちは、能力を持っている いくつかのランダム性を持っている。 1061 00:49:03,720 --> 00:49:06,310 だからこのゲームはする必要はありません 毎回まったく同じ。 1062 00:49:06,310 --> 00:49:09,940 これらのログは、これらの車は、で起動することができます わずかな時間差よう 1063 00:49:09,940 --> 00:49:12,690 ゲーム自体はもっと面白いです 各ゲームをプレイしています。 1064 00:49:12,690 --> 00:49:15,320 >> そして一方、我々は能力を見てきました スペースバーを聴くことができます。 1065 00:49:15,320 --> 00:49:18,830 しかし、明らかに、スクラッチでは、またすることができます 下、左、右、上のために耳を傾け、 1066 00:49:18,830 --> 00:49:20,760 キーボード上の本当に任意のキー。 1067 00:49:20,760 --> 00:49:22,200 そして、あなたはまた、いくつかの他のことを行うことができます。 1068 00:49:22,200 --> 00:49:24,660 私が先に行くと戻って行ってみよう Web版へ。 1069 00:49:24,660 --> 00:49:30,280 >> 私は我々のコレクションに行こう ここでの例。 1070 00:49:30,280 --> 00:49:36,120 と私のスタジオの下で、どのビデオ フォルダ上で、本質的に、ある 1071 00:49:36,120 --> 00:49:37,780 scratch.mit.edu。 1072 00:49:37,780 --> 00:49:39,710 我々のウェブバージョンを持って これらのプロジェクトのすべて。 1073 00:49:39,710 --> 00:49:42,530 そして、私は私を得ることができるかどうか見てみましょう ここに協力するコンピュータ。 1074 00:49:42,530 --> 00:49:47,180 これは、私たちの友人の一人によって書かれている MITで、バタフライを移動と呼ばれる。 1075 00:49:47,180 --> 00:49:50,250 >> そして、一度これは、これを開きです 実際にはより多くのを使用するつもり 1076 00:49:50,250 --> 00:49:51,430 私のコンピュータのハードウェア。 1077 00:49:51,430 --> 00:49:53,325 傷を実装する必要が起こる Flashを使用した。 1078 00:49:53,325 --> 00:49:56,250 Flashには、ウェブカメラに話すことができる、 あなたがいずれかを持っている場合。 1079 00:49:56,250 --> 00:50:00,210 私はこれを先に行くとフルスクリーンであれば ここでは、緑の旗、通知をクリック 1080 00:50:00,210 --> 00:50:02,530 そのFlashのセキュリティメッセージ あなたがしたいですか、と言っている 1081 00:50:02,530 --> 00:50:04,210 私のウェブカメラを使用することができます? 1082 00:50:04,210 --> 00:50:05,510 >> 通常は、次のことを行う必要があり おそらく拒否言う。 1083 00:50:05,510 --> 00:50:07,180 しかし、今回のケースでは、我々は許すと言うでしょう。 1084 00:50:07,180 --> 00:50:10,430 それから私はChromeを伝えるつもりだ 同様にこれを許可する。 1085 00:50:10,430 --> 00:50:15,010 そして今、一瞬で、 あなたは私、うん、私を参照してください。 1086 00:50:15,010 --> 00:50:18,154 そして、私の手が上がった場合 - 1087 00:50:18,154 --> 00:50:20,390 私は移動しないために持っている私の 同時に頭。 1088 00:50:20,390 --> 00:50:21,740 反射もあります 画面上で。 1089 00:50:21,740 --> 00:50:23,480 そこに我々が行って、さあ - 1090 00:50:23,480 --> 00:50:27,616 あなたがいるので、それを画面に移動することができます ああ、あなた - パズルのピースもあり 1091 00:50:27,616 --> 00:50:31,640 それが何であるか知っている、それはあなたにもあるためです 私の後ろのプロジェクター画面を参照してください。 1092 00:50:31,640 --> 00:50:33,870 だから我々は少し無限を持って 事はそこに行く。 1093 00:50:33,870 --> 00:50:36,470 >> すべての権利は​​、ので、私はここでダウンして再生します。 1094 00:50:36,470 --> 00:50:37,220 そうしよう。 1095 00:50:37,220 --> 00:50:41,310 だから、パズルのピースもあり あなたは下の動きを見ると、述べています 1096 00:50:41,310 --> 00:50:45,470 スプライトの一つは、あなたはそれが行くことができます 上、下、左、右など。 1097 00:50:45,470 --> 00:50:48,950 だから我々はバーチャルリアリティのビットを持って すべての内に、同様にここで起こっ 1098 00:50:48,950 --> 00:50:52,570 私のブラウザの範囲は、単に ここで私のウェブカメラを使用して。 1099 00:50:52,570 --> 00:50:53,980 だから、地平線上にその後何。 1100 00:50:53,980 --> 00:50:58,350 あなたはわかりますように、最初の問題のセット、、 またはウェブサイトは、後でオンラインで行く 1101 00:50:58,350 --> 00:51:01,100 cs50.netで今夜は、可愛いです ずっとオープンエンドになるだろう。 1102 00:51:01,100 --> 00:51:04,410 とスクラッチプロジェクトを実施 あなたに興味のある、ゲーム、 1103 00:51:04,410 --> 00:51:08,350 相互作用は、芸術的なもの、と 任意の番号を使用するように自分自身に挑戦 1104 00:51:08,350 --> 00:51:09,660 これらのパズルのピースの。 1105 00:51:09,660 --> 00:51:11,580 そしてそれはどちらインタラクティブする​​ことができます この方法である。 1106 00:51:11,580 --> 00:51:15,470 それとも、もっと意図的に何かすることができます 物語を伝えるために作られた。 1107 00:51:15,470 --> 00:51:19,200 >> そして実際、それは我々がオフに終わるだろうところです 1最後の例で、今日。 1108 00:51:19,200 --> 00:51:21,290 私はローカルでスクラッチに行こう。 1109 00:51:21,290 --> 00:51:25,300 私が先に行くと、これを開き、再生してみましょう つずつ書かれた最後のプログラム 1110 00:51:25,300 --> 00:51:29,795 あなたの前任者の、すなわち ここにあの。 1111 00:51:29,795 --> 00:51:32,960 1112 00:51:32,960 --> 00:51:35,938 良い、このいずれかの音量を上げる。 1113 00:51:35,938 --> 00:52:53,770 >> [音楽再生] 1114 00:52:53,770 --> 00:52:57,255 >> ナレーター:次CS50では、デビッド ステージ上のボランティアを誘う。 1115 00:52:57,255 --> 00:52:58,636 >> DAVIDマラン:このデモのために、 我々は一ボランティアが必要になるだろう。 1116 00:52:58,636 --> 00:53:01,050 あなたがダウンして点灯しますか? 1117 00:53:01,050 --> 00:53:02,300 あなたの名前は? 1118 00:53:02,300 --> 00:53:05,320 1119 00:53:05,320 --> 00:53:06,570 上を移動する。 1120 00:53:06,570 --> 00:53:08,394