1 00:00:00,000 --> 00:00:02,880 >> [音楽再生] 2 00:00:02,880 --> 00:00:10,580 3 00:00:10,580 --> 00:00:13,500 >> SPEAKER 1:これはCS50であり、 これは、週2の開始です。 4 00:00:13,500 --> 00:00:18,400 それでは、右の何かに飛び込むてみましょう それはいわば、バギーです。 5 00:00:18,400 --> 00:00:24,015 だから、ここの上にきたCS50 IDEはと私 これはいまいましいscreen--事前にプルアップ 6 00:00:24,015 --> 00:00:25,070 それ。 7 00:00:25,070 --> 00:00:25,760 スポイラー警告。 8 00:00:25,760 --> 00:00:26,260 大丈夫。 9 00:00:26,260 --> 00:00:29,060 私はここで、この画面を引っ張ってきました、 これは非常に簡単なプログラムを持っています。 10 00:00:29,060 --> 00:00:32,659 我々は下にスクロールした場合、ほとんどの このだけのコメントで、 11 00:00:32,659 --> 00:00:36,730 しかし、ここで線13の貫通 17我々はプログラムを持っています。 12 00:00:36,730 --> 00:00:40,580 >> これは場合を意味し、構文的に有効です 私は、それはコンパイルして実行し、それをコンパイル 13 00:00:40,580 --> 00:00:41,920 それはバギーです。 14 00:00:41,920 --> 00:00:47,330 このプログラムは、コメント欄で主張します それは10星を印刷する必要があることをトップアップし、 15 00:00:47,330 --> 00:00:48,870 しかし、それはしていません。 16 00:00:48,870 --> 00:00:53,290 そして、あなたの経験に基づいて、 またはすぐにCと経験することが、 17 00:00:53,290 --> 00:00:56,820 あなたは論理的に識別することができます これは、実際には、バグがあるなぜですか? 18 00:00:56,820 --> 00:00:57,804 うん? 19 00:00:57,804 --> 00:00:59,220 観客:それはゼロから10に行きます。 20 00:00:59,220 --> 00:01:01,884 それは11回の繰り返しです。 21 00:01:01,884 --> 00:01:02,550 SPEAKER 1:うん。 22 00:01:02,550 --> 00:01:06,030 だから、それはゼロから起こっています 10に至るまでと同じ、 23 00:01:06,030 --> 00:01:08,140 もちろんこれは、11回の反復です。 24 00:01:08,140 --> 00:01:10,020 だから、それはに起こっています 印刷、確かに、11星。 25 00:01:10,020 --> 00:01:13,040 そのため、コンピュータサイエンスの大会 ほとんどのプログラミング言語で 26 00:01:13,040 --> 00:01:15,270 ちょうどに、確かに、あります ゼロからカウントを開始し、 27 00:01:15,270 --> 00:01:18,800 しかしを通じてまでカウントではなく、 あなたが実際に気に値。 28 00:01:18,800 --> 00:01:21,216 >> さて、これは一つのことです 少しは慣れが必要 29 00:01:21,216 --> 00:01:25,350 そのまま設計してもスクラッチ、 非プログラマや非コンピュータ用 30 00:01:25,350 --> 00:01:28,070 科学者や子供のための 主として、有するように設計されています 31 00:01:28,070 --> 00:01:29,570 あなたは1で、一般的にカウントを開始します。 32 00:01:29,570 --> 00:01:30,277 そして、それは大丈夫です。 33 00:01:30,277 --> 00:01:33,110 あなたは絶対にカウントを開始することができます それはより快適な場合は、1つに。 34 00:01:33,110 --> 00:01:37,210 そして10を通してカウントアップが、 あなたは今週、特に実現します 35 00:01:37,210 --> 00:01:39,950 そしてそれを超えちょうどそう プログラミングに多くのもの 36 00:01:39,950 --> 00:01:42,465 0が最初であると仮定 あなたがカウントすると数字、 37 00:01:42,465 --> 00:01:45,590 あなたはそれが簡単に見つけるつもりだこと ちょうど出発のこの習慣を身に取得します 38 00:01:45,590 --> 00:01:49,490 ゼロ値までカウントから あなたがから、今気に 39 00:01:49,490 --> 00:01:49,990 行く得ます。 40 00:01:49,990 --> 00:01:50,990 >> だから、それはそれを修正しました。 41 00:01:50,990 --> 00:01:53,670 当社は、以下の変更しました よりちょうど以下に等しいです。 42 00:01:53,670 --> 00:01:56,050 のは、見てみましょう ここで第二の例。 43 00:01:56,050 --> 00:01:59,585 >> したがって、このプログラムは、あまりにもその中で主張します それは印刷することをトップアップのコメント 44 00:01:59,585 --> 00:02:02,260 10星ですが、それはできません。 45 00:02:02,260 --> 00:02:05,540 ここにバグとは何ですか? 46 00:02:05,540 --> 00:02:07,930 >> だから、what--と申し訳ありませんが、のは明らかであるとします。 47 00:02:07,930 --> 00:02:08,610 10星。 48 00:02:08,610 --> 00:02:11,644 1行に1つですが、それはできません。 49 00:02:11,644 --> 00:02:14,810 だから、実際には、私が先に行くと、コンパイルしましょう それは少しだから、この1 50 00:02:14,810 --> 00:02:16,900 その記述に基づいてオフにします。 51 00:02:16,900 --> 00:02:18,720 私は私たちのソースディレクトリに移動してみましょう。 52 00:02:18,720 --> 00:02:25,110 バギー1ドットスラッシュ、バギーものを作ります。 53 00:02:25,110 --> 00:02:28,680 [OK]を、私は11星を参照してくださいします まだ問題があります、 54 00:02:28,680 --> 00:02:30,090 しかし、彼らは1行でもすべてです。 55 00:02:30,090 --> 00:02:31,500 ここでの問題は何ですか? 56 00:02:31,500 --> 00:02:32,339 うん。 57 00:02:32,339 --> 00:02:33,255 聴衆:[聞こえません]。 58 00:02:33,255 --> 00:02:36,194 59 00:02:36,194 --> 00:02:36,860 SPEAKER 1:うん。 60 00:02:36,860 --> 00:02:40,210 これは、あなたがかもしれない繊細です の簡単な言及をする私を思い出してください。 61 00:02:40,210 --> 00:02:42,793 でもすべてが見えるけれども 、かなり、それはきれいに字下げしています 62 00:02:42,793 --> 00:02:45,850 それは一種のスクラッチのようになります このライン16及び17は、 63 00:02:45,850 --> 00:02:47,600 確かに、forループをその下にインデント。 64 00:02:47,600 --> 00:02:48,400 それは軽微です。 65 00:02:48,400 --> 00:02:50,460 コンピュータにはありません 知っているか、または空白を参照してください。 66 00:02:50,460 --> 00:02:52,910 ホワイトスペースは、ちょうどのためであります 私たちは、文体、人間。 67 00:02:52,910 --> 00:02:57,010 あなたが持っているときにコンピュータが知っています 確かに、中括弧、でしょう、 68 00:02:57,010 --> 00:02:58,280 この問題を解決します。 69 00:02:58,280 --> 00:03:02,350 >> だから、私たちが実際に行った場合と、 明示的にこれらの中括弧に入れ 70 00:03:02,350 --> 00:03:05,220 それがすることで、この問題を解決するだろう コンパイラに明らかにし 71 00:03:05,220 --> 00:03:07,930 私は実際に実行したいこと 再び2行のコード、 72 00:03:07,930 --> 00:03:09,220 そして再び、そして再び。 73 00:03:09,220 --> 00:03:11,680 しかし、基本的な説明は何ですか? 74 00:03:11,680 --> 00:03:12,180 右? 75 00:03:12,180 --> 00:03:15,260 我々は、厳密必要はありません 中括弧のすべての時間、 76 00:03:15,260 --> 00:03:18,210 それはおそらく最高だにもかかわらず、 とにかくその習慣を身に取得するための練習 77 00:03:18,210 --> 00:03:20,878 それは2を追加していても あなたのコードに文字。どうして? 78 00:03:20,878 --> 00:03:22,380 >> 聴衆:[聞こえませんか]? 79 00:03:22,380 --> 00:03:24,630 SPEAKER 1:うんようです 全く別のソリューションを提供します。 80 00:03:24,630 --> 00:03:25,130 右? 81 00:03:25,130 --> 00:03:28,250 一見、あなたはそうではない場合は特に 本当に何が起こっているのかを理解します。 82 00:03:28,250 --> 00:03:31,070 まあ、確かに我々は可能性 ただ、一度に2つのことを行います 83 00:03:31,070 --> 00:03:32,710 ちょうど完全に問題を回避。 84 00:03:32,710 --> 00:03:36,080 そしてそれは、今も元気だが、 今日の目的のために、どのような 85 00:03:36,080 --> 00:03:38,200 バグの説明はありますか? 86 00:03:38,200 --> 00:03:39,810 なぜ1行にすべてのそれらの星がありましたか? 87 00:03:39,810 --> 00:03:40,806 うん? 88 00:03:40,806 --> 00:03:43,296 >> 観客:それはもしようです あなたは、1行のコードを持っています 89 00:03:43,296 --> 00:03:46,649 あなたはそれらなしでそれを行うことができます。 90 00:03:46,649 --> 00:03:47,440 SPEAKER 1:その通り。 91 00:03:47,440 --> 00:03:48,750 これはちょうど人間の慣習です。 92 00:03:48,750 --> 00:03:50,750 人々はそれがだと実感します 少し迷惑または退屈 93 00:03:50,750 --> 00:03:53,470 すべての中括弧を入れて持っています あなたがしたいすべての場合は時間の 94 00:03:53,470 --> 00:03:55,090 1行のコードを実行しています。 95 00:03:55,090 --> 00:03:57,660 だから、人間が決めたいくつかの それは大丈夫だと前の時間。 96 00:03:57,660 --> 00:04:01,180 あなたは、ループのすべてを配置する場合 このようなだけで1行に、 97 00:04:01,180 --> 00:04:04,030 それは、単一の罰金です 最後にセミコロン。 98 00:04:04,030 --> 00:04:07,210 しかし、あなたは一つだけを行うことができます 中括弧のない行。 99 00:04:07,210 --> 00:04:09,900 >> だから、ときCS50スタイルガイド 、にあなたを指すようになりますように 100 00:04:09,900 --> 00:04:11,980 あなたは、一般的にそれを参照してくださいよ それは良い習慣です 101 00:04:11,980 --> 00:04:14,920 あなたがしているまで、この中に取得します 非常に快適はぐれ 102 00:04:14,920 --> 00:04:17,404 規則のこれらの種類から そしてあなた自身のことをやって。 103 00:04:17,404 --> 00:04:18,820 だから、限り、あなたは自己矛盾しているよう。 104 00:04:18,820 --> 00:04:21,540 そして、我々はについての詳細を話します 少し後で、今日のスタイル。 105 00:04:21,540 --> 00:04:23,200 >> だから、私は一つの他のプログラムを開いてみましょう。 106 00:04:23,200 --> 00:04:24,930 もちろん、我々はすべき 同様にその10を固定します。 107 00:04:24,930 --> 00:04:32,470 私が先に行くと実際に書いてみましょう 私は電話するよ素早くプログラム、 108 00:04:32,470 --> 00:04:38,140 のは言わせて、ループは、C。だから、ループはCをドットドット ループドットCに私は、持っているつもりです 109 00:04:38,140 --> 00:04:41,970 標準I / Oが含ま H int型メイン空洞に点在しています。 110 00:04:41,970 --> 00:04:44,020 そして今ちょうど、実際に、ループを実行してみましょう。 111 00:04:44,020 --> 00:04:46,020 だから、4 int型私はゼロを取得します。 112 00:04:46,020 --> 00:04:48,660 I 50、たとえば、以下です。 113 00:04:48,660 --> 00:04:49,950 私プラス、プラス。 114 00:04:49,950 --> 00:04:53,350 そして、ここにしてみましょう 先に行くとF.を印刷します 115 00:04:53,350 --> 00:04:56,400 そして、私は私を印刷したいです 改行、セミコロン。 116 00:04:56,400 --> 00:05:00,015 >> そして、これはすべて印刷する必要があります ゼロから番号50まで? 117 00:05:00,015 --> 00:05:02,900 118 00:05:02,900 --> 00:05:03,680 いくつかの頭がうなずきます。 119 00:05:03,680 --> 00:05:04,270 いくつかのNOS。 120 00:05:04,270 --> 00:05:05,339 すでにバグは何ですか? 121 00:05:05,339 --> 00:05:06,630 私が作った簡単な間違いは何ですか? 122 00:05:06,630 --> 00:05:07,170 うん。 123 00:05:07,170 --> 00:05:08,544 >> 聴衆:[聞こえません]。 124 00:05:08,544 --> 00:05:09,210 SPEAKER 1:うん。 125 00:05:09,210 --> 00:05:11,520 だから、見えるにもかかわらず、 これは私が意図するものであるように、 126 00:05:11,520 --> 00:05:13,920 私もあることを思い出して ただ、ASCII文字。 127 00:05:13,920 --> 00:05:14,955 >> だから、私はと言えば、印刷「I」 128 00:05:14,955 --> 00:05:16,670 それは文字通り起こっています 私ならば、そうI.を印刷します 129 00:05:16,670 --> 00:05:20,030 プラグインプレースホルダたいです 私は実際にこれを行う必要がある値 130 00:05:20,030 --> 00:05:22,630 して、プラグイン 動的にIの値。 131 00:05:22,630 --> 00:05:25,200 そうでなければ私はするつもりです 画面上の50のI年代を取得します。 132 00:05:25,200 --> 00:05:28,140 >> だから、私は先に行くとしましょう このループを作る、それを実行し、 133 00:05:28,140 --> 00:05:30,650 そして、確かに、私達はすべて持っています 〜49までの方法。 134 00:05:30,650 --> 00:05:34,140 私は時間に戻ってスクロールした場合、私が見ます 先頭に数字のゼロ。 135 00:05:34,140 --> 00:05:36,050 >> まあ、私はこの種のものを台無しにしたら? 136 00:05:36,050 --> 00:05:37,800 私はこれを行う場合はどうなりますか? 137 00:05:37,800 --> 00:05:40,120 ただ、私は考えていないだから。 138 00:05:40,120 --> 00:05:40,970 このプログラムは何ですか。 139 00:05:40,970 --> 00:05:43,970 一度、コンパイルおよび再実行 論理的に何をするつもり? 140 00:05:43,970 --> 00:05:44,870 >> 聴衆:何もありません。 141 00:05:44,870 --> 00:05:45,661 >> SPEAKER 1:何もありません。 142 00:05:45,661 --> 00:05:47,156 何故ですか? 143 00:05:47,156 --> 00:05:49,124 >> 聴衆:私はゼロのために設計されています。 144 00:05:49,124 --> 00:05:51,899 そこで、条件が偽です。 145 00:05:51,899 --> 00:05:52,940 SPEAKER 1:うん、まさに。 146 00:05:52,940 --> 00:05:55,110 すべてのコードが構文的に正しいです。 147 00:05:55,110 --> 00:05:57,310 これは、これをコンパイルします コー​​ドが実行されますが、そうではありません 148 00:05:57,310 --> 00:06:00,110 便利な何かをするだろう 私はゼロに初期化するため。 149 00:06:00,110 --> 00:06:02,240 私たちは、私は50以上である、チェック? 150 00:06:02,240 --> 00:06:03,810 明らかに、いや、そうではありません。 151 00:06:03,810 --> 00:06:05,760 だから、ループはまったく実行されません。 152 00:06:05,760 --> 00:06:09,580 >> 私たちは何かをする場合 もう少し無謀? 153 00:06:09,580 --> 00:06:12,890 我々はint型のように行うのであれば、私はゼロに何を取得します。 154 00:06:12,890 --> 00:06:15,640 そして今、私はしばらく使ってみましょう 別の条件であったループ、。 155 00:06:15,640 --> 00:06:21,810 そして、私はより大きくなる一方で、私は、言っている間 またはゼロに等しく、その後、ここで私 156 00:06:21,810 --> 00:06:26,070 先に行くと、ファイルを保存し、ループを作ります。 157 00:06:26,070 --> 00:06:27,070 そして、私はそれを実行しようと思います。 158 00:06:27,070 --> 00:06:30,230 私はこれを見に行くしています whileループとの時間? 159 00:06:30,230 --> 00:06:30,852 うん。 160 00:06:30,852 --> 00:06:32,120 >> 聴衆:無限ループ? 161 00:06:32,120 --> 00:06:35,360 >> SPEAKER 1:無限ループ? 162 00:06:35,360 --> 00:06:36,662 はい、その理由は? 163 00:06:36,662 --> 00:06:38,120 観客:それは常にゼロだからです。 164 00:06:38,120 --> 00:06:38,786 SPEAKER 1:うん。 165 00:06:38,786 --> 00:06:40,100 だから、私はゼロに初期化されます。 166 00:06:40,100 --> 00:06:44,470 もちろん、私はいつも大きいです よりまたは結果として0に等しいです。 167 00:06:44,470 --> 00:06:46,460 だから、私はちょうどに行きますよ 無限にこれを参照してください。 168 00:06:46,460 --> 00:06:49,850 そして今、これは一度来ています または二回コースの頭に。 169 00:06:49,850 --> 00:06:52,417 ときに何が起こります 無限ループを持っていますか? 170 00:06:52,417 --> 00:06:53,314 >> 聴衆:コントロールC. 171 00:06:53,314 --> 00:06:53,980 SPEAKER 1:うん。 172 00:06:53,980 --> 00:06:56,250 だから、対照Cは、最終的に応答します。 173 00:06:56,250 --> 00:06:59,520 残念ながら、我々は、プリントアウトしてきました 既にゼロの何百万 174 00:06:59,520 --> 00:07:01,520 そのため、コンピュータが持っています 種類の私の前です。 175 00:07:01,520 --> 00:07:03,394 だから、それは無視するようになるだろう ちょっと私。 176 00:07:03,394 --> 00:07:06,560 しかし、あなただけのコントロールのC数をヒットした場合 お使いのMacまたはPCのキーボードの倍、 177 00:07:06,560 --> 00:07:08,790 最終的には、確かに、終了する必要があります。 178 00:07:08,790 --> 00:07:11,770 ないなら、私たちはあなたのいくつかを紹介します 長いどこに前に技術 179 00:07:11,770 --> 00:07:14,850 実際に強制的にプログラムを殺すことができます、 多くのWindowsとMac OSのように、 180 00:07:14,850 --> 00:07:15,562 必要であれば。 181 00:07:15,562 --> 00:07:16,770 しかし、それでは、何か他のものを試してみましょう。 182 00:07:16,770 --> 00:07:19,895 それでは、実際にIをインクリメントされてみましょう これはまだ無限になるだろうか? 183 00:07:19,895 --> 00:07:22,870 184 00:07:22,870 --> 00:07:25,140 私は、このを実行してみましょう。 185 00:07:25,140 --> 00:07:27,090 そして今、あなたはこの種のことができます 何が起こっているかを参照してください。 186 00:07:27,090 --> 00:07:30,140 これは、あまりにも、無限ループです。 187 00:07:30,140 --> 00:07:33,080 しかし、これはトリックの質問のビットです。 188 00:07:33,080 --> 00:07:35,460 これは永遠に番号を印刷しようとしていますか? 189 00:07:35,460 --> 00:07:36,647 >> 聴衆:いいえ。 190 00:07:36,647 --> 00:07:37,230 SPEAKER 1:いいえ 191 00:07:37,230 --> 00:07:37,620 なぜ? 192 00:07:37,620 --> 00:07:38,820 私はここの上にいくつかのNOSを聞きました。 193 00:07:38,820 --> 00:07:41,859 うんSomeone--。 194 00:07:41,859 --> 00:07:44,275 観客:あなたは十分に持っていません ビットは本当に続けるために。 195 00:07:44,275 --> 00:07:44,730 SPEAKER 1:すべての権利。 196 00:07:44,730 --> 00:07:46,000 だから私は十分に持っていません 続けるべきビット。 197 00:07:46,000 --> 00:07:47,124 だから、何が起こるだろうか? 198 00:07:47,124 --> 00:07:49,320 それはちょうど停止する起こっているのですか? 199 00:07:49,320 --> 00:07:52,542 >> 聴衆:いくつかの時点で、 それはthe--停止します 200 00:07:52,542 --> 00:07:54,500 SPEAKER 1:それは停止します ループダウンが、なぜ? 201 00:07:54,500 --> 00:07:57,950 何で起こるだろう その境界の最後? 202 00:07:57,950 --> 00:07:58,479 うん? 203 00:07:58,479 --> 00:08:00,520 観客:それは周期ます バック負の数に。 204 00:08:00,520 --> 00:08:02,900 SPEAKER 1:負の数、または 私たちは、正の治療された場合、 205 00:08:02,900 --> 00:08:03,570 ゼロ少なくとも。 206 00:08:03,570 --> 00:08:04,550 そうです、絶対に。 207 00:08:04,550 --> 00:08:08,059 我々は最後の時間を見たことを思い出して、あなたの場合 あなたのビット1何回もインクリメント、 208 00:08:08,059 --> 00:08:10,225 そこに、あなたオーバーフローフォア あなたのint型の容量 209 00:08:10,225 --> 00:08:13,058 またはデータ型が何であれ、あなたがしています おそらく、ラップアラウンドするつもりは、 210 00:08:13,058 --> 00:08:14,020 2負の数。 211 00:08:14,020 --> 00:08:16,644 それとも、あなたのことを指定した場合 範囲は、唯一の正の数である必要があり、 212 00:08:16,644 --> 00:08:18,560 これはあなたが行うことができますが、 私たちは、まだそれを見ていませんでした 213 00:08:18,560 --> 00:08:21,420 あなたは、少なくともバックゼロで終わるかもしれません。 214 00:08:21,420 --> 00:08:22,410 実際にはい、が。 215 00:08:22,410 --> 00:08:24,320 この場合、負の 数字、場合には 216 00:08:24,320 --> 00:08:26,870 ループが終了する予定です 私は実際にはないので、 217 00:08:26,870 --> 00:08:29,220 以上 ゼロそれは負だ場合。 218 00:08:29,220 --> 00:08:31,780 >> だから、残念ながら、どのように 長い私たちは待たなければならないでしょうか? 219 00:08:31,780 --> 00:08:35,490 今、私たちはまでです 何200万っぽいですか? 220 00:08:35,490 --> 00:08:37,705 当社は、20億のようなものです 我々は待たなければならないとしています 221 00:08:37,705 --> 00:08:39,330 私たちは、実際にこの症状が表示されるまで。 222 00:08:39,330 --> 00:08:46,200 しかし、我々は、少し速くそれを見ることができます 私たちが中断することができた場合を見てみましょうmaybe--。 223 00:08:46,200 --> 00:08:46,700 いい加減にして。 224 00:08:46,700 --> 00:08:49,500 225 00:08:49,500 --> 00:08:51,331 でもメニューは、ゆっくりと登場しています。 226 00:08:51,331 --> 00:08:51,830 大丈夫。 227 00:08:51,830 --> 00:08:54,270 だから、私たちはずっと前に戻ってそれに来ます。 228 00:08:54,270 --> 00:08:56,320 これは、子犬畜生time--良いことです。 229 00:08:56,320 --> 00:08:58,280 >> これは、いくつかの発表のための良い時間です。 230 00:08:58,280 --> 00:09:01,225 だから、あなたが好きかもしれない場合 YHackに従事し、 231 00:09:01,225 --> 00:09:03,600 イベントされています エールで私たちの友人が主催。 232 00:09:03,600 --> 00:09:05,990 そして、確かに、いくつかのコースの イェール大学のTFは、これに関与しています。 233 00:09:05,990 --> 00:09:08,610 YHackは国際的です ハック - ソンは、によってホストされて保持 234 00:09:08,610 --> 00:09:12,395 エールで、1,500を一緒にすること 気にハッカーやすべてのクリエイティブのような 235 00:09:12,395 --> 00:09:13,120 世界中。 236 00:09:13,120 --> 00:09:14,610 これが重要である場合には、 ここを見てみましょう。 237 00:09:14,610 --> 00:09:17,401 これは、上であまりにも簡単である場合 画面には、現在のスライドを見てみましょう 238 00:09:17,401 --> 00:09:19,622 yhack.orgのURLのために。 239 00:09:19,622 --> 00:09:21,080 だから、また、いくつかの簡単な告知。 240 00:09:21,080 --> 00:09:24,410 だから、正式にセクションを開始します 来週の両方ここに、ニューヘブン。 241 00:09:24,410 --> 00:09:27,660 あなたが取得することがあります覚えておいてください 電子メール後にこの週末、最も可​​能性が高いです。 242 00:09:27,660 --> 00:09:29,390 それは長い時間がかかります セクションにCS50のため、 243 00:09:29,390 --> 00:09:32,080 で与えられたすべての人々 クラスと誰もが動き回ります。 244 00:09:32,080 --> 00:09:34,871 そして、すべての教育フェロー スケジュールはまた、まだ固化され、 245 00:09:34,871 --> 00:09:38,110 しかし、電子メールのためにと、必要な場合はお楽しみに 、あなたは再部分をできることがありました。 246 00:09:38,110 --> 00:09:39,580 >> Study.cs50.net。 247 00:09:39,580 --> 00:09:43,280 だから、あなたは一定の参加者であっても、 セクションで、ほとんどすべてのことを実現します 248 00:09:43,280 --> 00:09:46,786 私たちはセクションで使用するリソースの CS50で公表されています 249 00:09:46,786 --> 00:09:48,460 ここで、次のURLから勉強しています。 250 00:09:48,460 --> 00:09:51,630 だから、あなたは今までに見直しを再度したい場合 セクションからの材料、または先読み、 251 00:09:51,630 --> 00:09:54,170 またはあなたはそれいくつかの週作ることができません、 その標本スライドを実現します、 252 00:09:54,170 --> 00:09:58,210 問題点、および定義、 多くは、同様にすべてがあります。 253 00:09:58,210 --> 00:10:00,645 >> 営業時間は、今日再開します 明日、水曜日、 254 00:10:00,645 --> 00:10:03,020 木曜日はもちろんのを確認してください スケジュールのためのウェブサイト。 255 00:10:03,020 --> 00:10:05,690 >> そしてまた、今起動 今日は、CS50が議論です。 256 00:10:05,690 --> 00:10:09,230 だから、もし、あなたがのための質問を持っている場合 互いにまたはコースのスタッフのために、 257 00:10:09,230 --> 00:10:12,099 一般的に取り組んでいます いくつかの問題セットで、 258 00:10:12,099 --> 00:10:15,015 あなたは必ずしもないことを実現します あなたの次のヒトに有効にする必要があります。 259 00:10:15,015 --> 00:10:17,810 そこには誰もいない場合は、次のことができます 私たちやクラスメートに手を差し伸べます 260 00:10:17,810 --> 00:10:19,890 オンラインCS50経由で話し合います。 261 00:10:19,890 --> 00:10:22,600 したがって、この議論であります コー​​スのボード、 262 00:10:22,600 --> 00:10:24,550 このことを実現します おそらく最高です 263 00:10:24,550 --> 00:10:28,480 あなたが持っているときに開始する場所 営業時間外の質問 264 00:10:28,480 --> 00:10:29,470 特に。 265 00:10:29,470 --> 00:10:31,070 >> ランチも今週起動します。 266 00:10:31,070 --> 00:10:33,170 火と氷で [聞こえない]ニューヘブンインチ 267 00:10:33,170 --> 00:10:35,379 コー​​スのを見てみましょう RSVPするためにウェブサイト。 268 00:10:35,379 --> 00:10:36,753 まず、最初に来ることに役立ちます。 269 00:10:36,753 --> 00:10:39,380 あなたはこの週に取得しない場合 我々は、これらのほとんどの毎週金曜日にやります 270 00:10:39,380 --> 00:10:40,400 期中。 271 00:10:40,400 --> 00:10:41,830 >> [OK]を、今グレーディングについて一言。 272 00:10:41,830 --> 00:10:44,690 特に、我々は問題を入力すると 今週アウトである、1セット 273 00:10:44,690 --> 00:10:46,670 問題は2、その後に設定します。 274 00:10:46,670 --> 00:10:51,680 どのように我々は、P・セットを評価行くのです およびその品質を評価しますか? 275 00:10:51,680 --> 00:10:55,560 だから、それは我々が使用する4つの軸です CS50、彼らはここで、これらの4です。 276 00:10:55,560 --> 00:10:59,200 >> 数値にキャプチャ範囲、 Pセットのどれだけの基礎 277 00:10:59,200 --> 00:10:59,860 あなたが取り組むました。 278 00:10:59,860 --> 00:11:02,890 これは、大体に対応しています 努力は、それは捕獲の我々の方法です 279 00:11:02,890 --> 00:11:05,190 あなたは試して半分Pでした 、Pセットのすべてを設定します。 280 00:11:05,190 --> 00:11:08,860 これは完璧な取得する簡単なものです あなたが行う場合のスコア、確かに、 281 00:11:08,860 --> 00:11:11,020 Pセットのあらゆる側面をしてみてください。 282 00:11:11,020 --> 00:11:12,010 だから、心の中でそれを維持します。 283 00:11:12,010 --> 00:11:13,420 >> 正しさは、まさにそれです。 284 00:11:13,420 --> 00:11:17,760 仕様としてあなたのコードの作業を行います そして、スタッフの試料溶液として、 285 00:11:17,760 --> 00:11:19,730 あなたのコードすることを示唆しています 、実際には、動作するはずです。 286 00:11:19,730 --> 00:11:23,260 あなたがそれを満たしていない場合は、50をチェックしてください まだ、Pで1仕様を設定されています 287 00:11:23,260 --> 00:11:25,060 一般的になります はい/いいえ答えあなたを与えません 288 00:11:25,060 --> 00:11:26,518 あなたのコードが正しいかどうかの。 289 00:11:26,518 --> 00:11:30,680 少なくともこれまでのところ、我々が行っているよう テストに基づいて、それを評価します 290 00:11:30,680 --> 00:11:32,430 我々はそのプログラム内で実行すること。 291 00:11:32,430 --> 00:11:33,850 >> デザインは、はるかに主観的です。 292 00:11:33,850 --> 00:11:35,994 これはあなたのコードがどのようによく書かれています。 293 00:11:35,994 --> 00:11:38,410 そして、これは何かがあること あなたは、時間の経過に良くなるだろう 294 00:11:38,410 --> 00:11:41,201 それは、我々がよ何か 詳細質的なフィードバックを提供します。 295 00:11:41,201 --> 00:11:43,350 そして、設計によって、私はかもしれません 限り、あなたの前に意味 296 00:11:43,350 --> 00:11:47,650 いくつかのPに誘惑されるかもしれません loopingly何かを設定し、 297 00:11:47,650 --> 00:11:51,590 多分3つ、または4つ、または持っています 5ネストされたフォアループまたはネストされた一方、 298 00:11:51,590 --> 00:11:52,090 ループ。 299 00:11:52,090 --> 00:11:54,130 それは一般的にすべき あなたはうんざりするために開始 300 00:11:54,130 --> 00:11:56,070 一般的になるであろう 考え悪いデザイン。 301 00:11:56,070 --> 00:11:59,490 そして、あなたはクラスで参照してくださいすることから始めましょう 物事のクラスの良い方法のうち、 302 00:11:59,490 --> 00:12:02,920 その物事の悪い方法 すべての正しいことではなく、可能性があります 303 00:12:02,920 --> 00:12:04,304 必ずしもうまく設計されました。 304 00:12:04,304 --> 00:12:05,220 エッセイを書くように。 305 00:12:05,220 --> 00:12:08,100 あなたは上の単語を置くことができるかもしれません 文法的に正しいページ、 306 00:12:08,100 --> 00:12:10,016 エッセイやけど 彼らがしている論文はちょうどです 307 00:12:10,016 --> 00:12:11,810 完全にインコヒーレントまたは説得力がありません。 308 00:12:11,810 --> 00:12:15,930 そして、そのためには、アナログであるかもしれません 不良または良いデザインの書かれた世界。 309 00:12:15,930 --> 00:12:18,490 >> そしてスタイルは、あまりにも、かなり主観的なものです。 310 00:12:18,490 --> 00:12:20,060 しかし、少なくとも、私たちは一貫性を期待しています。 311 00:12:20,060 --> 00:12:21,480 これはかなりあなたのコードであるかです。 312 00:12:21,480 --> 00:12:22,840 物事がうまくインデントされていますか? 313 00:12:22,840 --> 00:12:26,600 ウェル/という名前の変数がすべてされています あなたの括弧と中括弧の 314 00:12:26,600 --> 00:12:27,920 彼らはあるべきであるように整列? 315 00:12:27,920 --> 00:12:31,490 我々は、CS50のスタイルガイドを持っています 問題セットはであなたをポイントします。 316 00:12:31,490 --> 00:12:33,730 これらのより快適です それから逸脱することを歓迎 317 00:12:33,730 --> 00:12:35,771 あなたが自己矛盾しない限り、。 318 00:12:35,771 --> 00:12:38,020 そして、これは、あまりにも、教訓であります 我々は、セクションに強化します。 319 00:12:38,020 --> 00:12:40,990 だから、このすべては少しだった場合 高速、Pセットとセクションを実現 320 00:12:40,990 --> 00:12:42,900 長い前に、より多くの深さになります。 321 00:12:42,900 --> 00:12:45,490 >> しかし、一般的に、私たちは持っています CS50のための非常に少数のバケット。 322 00:12:45,490 --> 00:12:48,170 スコアは規模で、一般的です 三から一、または五から一の。 323 00:12:48,170 --> 00:12:50,836 我々はliterally--だと私が言うことはできません 最初の週で、この十分。 324 00:12:50,836 --> 00:12:51,582 三つのが良いです。 325 00:12:51,582 --> 00:12:54,290 だから、たとえ、はい、3アウト 数学的に、通常は5、の、 326 00:12:54,290 --> 00:12:57,240 60%またはDのマイナスのようなものかもしれません。 327 00:12:57,240 --> 00:12:58,840 三は、実際には、良いです。 328 00:12:58,840 --> 00:13:01,050 そして、実際には、我々が期待します クラスのほとんどの学生 329 00:13:01,050 --> 00:13:04,280 周りの言葉をオフに開始します 補数と、スリー、そして四つんばい。 330 00:13:04,280 --> 00:13:05,510 おそらくないので、多くのファイブ。 331 00:13:05,510 --> 00:13:06,661 あまりにも多くのもの。 332 00:13:06,661 --> 00:13:08,910 しかし、一般的で起動します 曲線のそのスイートスポット 333 00:13:08,910 --> 00:13:11,694 、時間が進むにつれて、そのよう 余地が実際にあります、 334 00:13:11,694 --> 00:13:13,360 上の進行のための機会。 335 00:13:13,360 --> 00:13:15,810 だから、60%と3を同一視しないでください。 336 00:13:15,810 --> 00:13:17,410 それははるかに抽象的よりもです。 337 00:13:17,410 --> 00:13:20,160 我々は計算すると式 次のようにグレードが加重されます。 338 00:13:20,160 --> 00:13:21,610 正しさは、最も価値があります。 339 00:13:21,610 --> 00:13:23,010 デザインが少し価値があります。 340 00:13:23,010 --> 00:13:24,490 スタイルは少し価値があります。 341 00:13:24,490 --> 00:13:26,950 そして、この一般 時間の量を捕捉 342 00:13:26,950 --> 00:13:29,800 それは、それぞれ取得に入ります これらの軸のちょうどいい。 343 00:13:29,800 --> 00:13:31,810 スタイルは超簡単で、 超速さが必要となり、 344 00:13:31,810 --> 00:13:33,657 それは簡単な習慣です 約怠惰取得します。 345 00:13:33,657 --> 00:13:35,490 正しさがかかる場合があります あなたの時間のほとんど。 346 00:13:35,490 --> 00:13:38,990 いくつかのバグかもしれないを追いかけ 、その余分な時間以上かかります 347 00:13:38,990 --> 00:13:41,737 そのため、スコアリング 最終的にそれをキャプチャします。 348 00:13:41,737 --> 00:13:43,070 だから、今より深刻な単語。 349 00:13:43,070 --> 00:13:45,240 CS50が持っているので、 よりよいのための区別、 350 00:13:45,240 --> 00:13:47,440 または悪化のため、であることの おそらくより良い知り合い 351 00:13:47,440 --> 00:13:50,065 学術の問題に ほとんどの他のコースよりも正直。 352 00:13:50,065 --> 00:13:53,720 そして実際、それは私の知る限りであります 我々は、残念ながら、より多くの学生を送信 353 00:13:53,720 --> 00:13:56,690 懲戒の目的のために 結果として、毎年。だから、 354 00:13:56,690 --> 00:13:59,040 フルの利益のために 開示、のは簡単に話をしましょう 355 00:13:59,040 --> 00:14:02,820 CS50に進むと、何をどの程度 行うことができます、あなたはに留意することができるもの。 356 00:14:02,820 --> 00:14:05,530 >> だから、ここで2007年、いつから 私はコースを継承し、 357 00:14:05,530 --> 00:14:07,870 広告ボードケースの数です。 358 00:14:07,870 --> 00:14:10,690 広告委員会はハーバード大学の懲戒あります 身体、または今名誉顧問、 359 00:14:10,690 --> 00:14:13,790 ケースは時に参照されました 学生はもちろんの何かを 360 00:14:13,790 --> 00:14:15,470 シラバスは無理と考えています。 361 00:14:15,470 --> 00:14:17,220 本当のパターンはありません ここで、私は言うでしょう。 362 00:14:17,220 --> 00:14:19,530 これは、上で変動します 年が、一般的に 363 00:14:19,530 --> 00:14:22,262 これは、数あります 呼ばれている例。 364 00:14:22,262 --> 00:14:23,970 生徒数 関与していること? 365 00:14:23,970 --> 00:14:25,290 それはあまりにも変化します。 366 00:14:25,290 --> 00:14:27,930 以下のための一般的には、昨年 例えば、ハーバード大学の29の学生が 367 00:14:27,930 --> 00:14:29,740 いわば広告乗り込んだが、ありました。 368 00:14:29,740 --> 00:14:32,670 それら在校生の29、 それらの前の学生の2、 369 00:14:32,670 --> 00:14:35,610 誰が協力しました。 いくつかの不都合な方法です。 370 00:14:35,610 --> 00:14:38,400 そして、の観点から パーセンテージは、それは、通常、約3%です 371 00:14:38,400 --> 00:14:41,360 残念ながら、そのクラスの 意思決定のこれらの種類を作ります。 372 00:14:41,360 --> 00:14:44,470 >> そこで、昨年は3.5%でした CS50の学生組織の 373 00:14:44,470 --> 00:14:46,820 それは、いわば広告乗り込んでありました。 374 00:14:46,820 --> 00:14:48,490 >> だから、このすべては何を意味するのでしょうか? 375 00:14:48,490 --> 00:14:49,660 そして、我々は実際に何をしますか? 376 00:14:49,660 --> 00:14:52,930 >> だから、完全な情報開示のために、我々 絶対に、コンピュータ科学者として、 377 00:14:52,930 --> 00:14:57,620 私達の処分でソフトウェアツールを持っています そしてそれは公正では、私たちにとっては非常に簡単です、 378 00:14:57,620 --> 00:15:00,980 ではないの他のクラスメート 比較交差するように、これらの行を横断 379 00:15:00,980 --> 00:15:04,570 すべての提出すべてのに対して、今年 過去8年間の提出。 380 00:15:04,570 --> 00:15:05,445 ソフトウェアがこれを行います。 381 00:15:05,445 --> 00:15:07,440 そして、最終的にそれはです 決める人間の目 382 00:15:07,440 --> 00:15:11,410 いくつかを参照するかどうか さらに判決の問題で、 383 00:15:11,410 --> 00:15:12,737 しかし、ソフトウェアは確かに役立ちます。 384 00:15:12,737 --> 00:15:15,820 そして、これは、率直に言って、私はなぜだと思いますということです 我々はCS50でこのような大きな数字を持っています。 385 00:15:15,820 --> 00:15:18,540 それはCS50ためではありません 学生やCSの生徒より 386 00:15:18,540 --> 00:15:20,840 一般に、任意の少ない正直です 他の学生よりも、 387 00:15:20,840 --> 00:15:22,340 それだけで私たちが持っています ツールとテクニック 388 00:15:22,340 --> 00:15:24,095 これで、この最初のパスを取ります。 389 00:15:24,095 --> 00:15:25,960 >> しかし、私たちは目を保つ行います これらの事のすべての 390 00:15:25,960 --> 00:15:30,340 同様に、再び、の利益のために 置かれての仕事を認識 391 00:15:30,340 --> 00:15:32,397 クラスのスーパー過半数をもっています。 392 00:15:32,397 --> 00:15:34,230 そしてもちろんの方針 学術正直に、 393 00:15:34,230 --> 00:15:37,021 それは段落の束だにもかかわらず、 弾丸の束との長いです 394 00:15:37,021 --> 00:15:40,490 それはそれは、うまくいけば非常に読みやすいです 本当に合理的であると煮詰めるん。 395 00:15:40,490 --> 00:15:44,000 また、親指の最良のルールは、その 私たちは、シラバスの中にまで提供しています 396 00:15:44,000 --> 00:15:46,020 これは、本質であります あなたのすべての仕事 397 00:15:46,020 --> 00:15:47,850 あなた自身でなければならないこのコースに提出します。 398 00:15:47,850 --> 00:15:51,510 そして実際、ほとんどすべてのものの 懲戒処分のために呼ばれるケース 399 00:15:51,510 --> 00:15:55,640 それがあるため、いくつかの学生後半1でした 夜は、一般的に、自分のコードになって 400 00:15:55,640 --> 00:15:58,130 あからさまな同級生に渡って、 誰がそれを採用しました 401 00:15:58,130 --> 00:16:00,840 その全体または 大幅にその。 402 00:16:00,840 --> 00:16:02,680 >> しかし、実際には、これはOKです。 403 00:16:02,680 --> 00:16:04,684 そして実際、オフィスで 紙の時間、スリップ 404 00:16:04,684 --> 00:16:07,850 あなたは事務所が来た場合は、渡されてきました 時間先週は、多くのことを奨励しています。 405 00:16:07,850 --> 00:16:09,710 あなたは絶対です 歓迎し、奨励 406 00:16:09,710 --> 00:16:12,340 クラスメートと問題セットを議論します。 407 00:16:12,340 --> 00:16:14,461 つまずき時お互いを助けるために。 408 00:16:14,461 --> 00:16:17,710 しかし、一般的に親指のルールはすべき このことが、「あなたが助けを求めているときに、 409 00:16:17,710 --> 00:16:20,412 あなたは他の人にあなたのコードが表示されることがあり、 しかし、あなたは彼らが表示されない場合があります。」 410 00:16:20,412 --> 00:16:22,620 だから、他の言葉で、私はだ場合 いくつかのPセットに苦しんで 411 00:16:22,620 --> 00:16:25,290 私はそこに座って ダイニングホール、またはライブラリ内の、 412 00:16:25,290 --> 00:16:28,470 または教室で 何らかの障害を見つけようと、 413 00:16:28,470 --> 00:16:30,340 私は確かに表示することができます 私の画面上で自分のコード 414 00:16:30,340 --> 00:16:32,590 隣に座っている人へ 私には、確かにスタッフ、 415 00:16:32,590 --> 00:16:33,600 だけでなく、クラスメート。 416 00:16:33,600 --> 00:16:36,580 しかし、もし解決策は、 私の同級生は、ああ、あるいます 417 00:16:36,580 --> 00:16:39,200 ここだけで何を見てみましょう 私はラインを越えたこと、でした。 418 00:16:39,200 --> 00:16:43,120 >> そして、私はそれが一般的だと言うあえて ほとんどの人々のための合理的なもの 419 00:16:43,120 --> 00:16:45,030 非常に簡単に行を発見します。 420 00:16:45,030 --> 00:16:47,195 だから、シラバスを参照してください より詳細のために。 421 00:16:47,195 --> 00:16:49,070 以上のそして今1 論争の側面 422 00:16:49,070 --> 00:16:52,529 私は思ったCS50シラバスの ここでの結論でに話すだろう 423 00:16:52,529 --> 00:16:53,820 いわゆる後悔句があります。 424 00:16:53,820 --> 00:16:55,340 だから、ここにすべての細字です。 425 00:16:55,340 --> 00:16:58,090 しかし、一般的に、私たちは見てきました 過去8年間でプラス 426 00:16:58,090 --> 00:17:01,510 確かに、ほとんどすべてのCS50の、その 学術不正行為の例 427 00:17:01,510 --> 00:17:04,390 ちょうど悪い結果となっています 夜遅く意思決定。 428 00:17:04,390 --> 00:17:07,144 ストレスの結果、結果 食べる、睡眠不足の欠如、 429 00:17:07,144 --> 00:17:09,560 あまりにも多くのPセット、あまりにも多くの 締め切り、あまりにも多くの約束。 430 00:17:09,560 --> 00:17:13,520 午前2:00に構築ストレス3:00 AM、期限が迫り来ると午前4:00、。 431 00:17:13,520 --> 00:17:17,020 これらのケースではほとんどの学生 ちょうど悪い決定をしました 432 00:17:17,020 --> 00:17:20,619 彼らは非常によく後悔するかもしれないこと 翌朝分後でなければ、 433 00:17:20,619 --> 00:17:25,490 しかし、昨年までそこにありませんでした 放出弁これらの学生は可能性が 434 00:17:25,490 --> 00:17:29,140 実際に実際に対処するために開きます 幸福の恐れなしに問題ヘッド 435 00:17:29,140 --> 00:17:30,850 完全に大学からブート。 436 00:17:30,850 --> 00:17:33,260 >> そして、確かに、私たちは導入しました この後悔句昨年、 437 00:17:33,260 --> 00:17:35,970 もし内と言っていました 72時間、3日、 438 00:17:35,970 --> 00:17:37,970 いくつかのラインを通過します シラバスに規定 439 00:17:37,970 --> 00:17:41,178 あなたはもちろんのの1を楽しみに来て 頭と我々はそれについてのチャットがあるでしょう。 440 00:17:41,178 --> 00:17:43,720 いくつかのことはまだあります。 何に反し結果、 441 00:17:43,720 --> 00:17:44,990 反対に報告されて。 442 00:17:44,990 --> 00:17:49,190 いくつかの結果はまだです コー​​スによってアクションで、 443 00:17:49,190 --> 00:17:51,611 一般的に、Pセットをゼロに またはいくつかの他のアクションをとること、 444 00:17:51,611 --> 00:17:53,610 しかし、我々は確かに、意志、 それを自分自身を処理しません 445 00:17:53,610 --> 00:17:58,460 それは、より高い結果であった参照してください。 はるかに厳しいかもしれません。 446 00:17:58,460 --> 00:18:01,810 そして、確かに、何が起こったかを共有します 昨年、8年間で、今 447 00:18:01,810 --> 00:18:04,950 このコースを教えるの9年間、 そして、様々なノブいじりの後、 448 00:18:04,950 --> 00:18:07,866 過去の上にさまざまなダイヤルを回します 学術正直に数年間、 449 00:18:07,866 --> 00:18:11,920 そして、は明らかなデータごとに見ていません でも、このような演説の影響、 450 00:18:11,920 --> 00:18:15,490 これは最高のものダウンの手でした 私たちは教育学を導入しました 451 00:18:15,490 --> 00:18:18,090 沿って8年 CS50に次の行。 452 00:18:18,090 --> 00:18:21,010 >> 19の学生が進み出ました この句は昨年の下で。 453 00:18:21,010 --> 00:18:23,389 私達はのために何の行動も起こしていません これらの学生の7、 454 00:18:23,389 --> 00:18:25,430 彼らがいたと判断し 不必要に心配。 455 00:18:25,430 --> 00:18:27,304 これらは、実際には、いませんでした ラインを越え、それ 456 00:18:27,304 --> 00:18:28,960 それにもかかわらず持っていることは良いチャットでした。 457 00:18:28,960 --> 00:18:31,190 私たちは、スコアの11をゼロに それは、提出されました。 458 00:18:31,190 --> 00:18:33,840 そして、もう一つの場合には、我々が尋ねました 問題のセットを行う学生。 459 00:18:33,840 --> 00:18:36,370 しかし、より説得力のあります、 正直、これらの19チャットで、 460 00:18:36,370 --> 00:18:39,020 私よりずっともっとでした 、それらのそれぞれを有することが期待さ 461 00:18:39,020 --> 00:18:41,370 多分10分 時間長い、またもたらしました 462 00:18:41,370 --> 00:18:44,920 多くの問題を点灯します 家族の問題、友人の問題、 463 00:18:44,920 --> 00:18:46,940 精神衛生上の問題 我々はその後、従事していること、 464 00:18:46,940 --> 00:18:50,200 学生の祝福、居住者との 学部長、または友人、または他の番号 465 00:18:50,200 --> 00:18:51,450 サポートリソースの。 466 00:18:51,450 --> 00:18:54,454 これは、はるかいずれかによってであるように 我々の時代の最高の用途 467 00:18:54,454 --> 00:18:55,870 最高の介入の一つ。 468 00:18:55,870 --> 00:18:58,870 >> ことで、それは持っていました 検出率の入力 469 00:18:58,870 --> 00:19:00,909 学術不正のより一般的。 470 00:19:00,909 --> 00:19:02,950 そして私は、言ってこのサブセットをあえて 学生最後の年の 471 00:19:02,950 --> 00:19:06,350 我々の人口統計でした 以前の前に識別することはありません 472 00:19:06,350 --> 00:19:08,140 そして、前に接続されたことがありませんでした。 473 00:19:08,140 --> 00:19:10,020 だから、これらがありました 素晴らしいサクセスストーリー 474 00:19:10,020 --> 00:19:13,390 彼らは光にしたにもかかわらず、 最適な状況未満インチ 475 00:19:13,390 --> 00:19:15,640 だから、これを覚えておきます あなたが作るように、おそらく、 476 00:19:15,640 --> 00:19:17,390 いくつかの貧しい決定 自分で夜遅く、 477 00:19:17,390 --> 00:19:20,151 リコース限りがあること そのような状況で学生として 478 00:19:20,151 --> 00:19:23,400 アップ所有し、前方に来る私たちができるように、 チャットのようなものを持っているし、それに対処 479 00:19:23,400 --> 00:19:27,310 教育の道で、その後、 我々は次の日に私たちの後ろにそれを置くことができます。 480 00:19:27,310 --> 00:19:30,335 >> だから、さらに苦もなく、取ります この会話のオフエッジ、 481 00:19:30,335 --> 00:19:35,080 子犬がアップしている理由 ちょっと氷を破壊します。 482 00:19:35,080 --> 00:19:39,560 残念ながら、それらはすべて、スリープしています、 しかし、ここで起こることになっていたもの 483 00:19:39,560 --> 00:19:41,760 誰がなっていたました 畏怖と種類のリラックスします 484 00:19:41,760 --> 00:19:43,910 その非常に重い会話後。 485 00:19:43,910 --> 00:19:46,930 しかし、どうやら私は置きます スリープ状態に子犬。 486 00:19:46,930 --> 00:19:50,070 しかし、あなたはCS50のに行けば ウェブサイトのスラッシュ子犬、 487 00:19:50,070 --> 00:19:51,610 あなたは一日中、それらを見ることができます。 488 00:19:51,610 --> 00:19:55,280 特に多分午前2時00分、または 3時、または夜間の午前4:00 489 00:19:55,280 --> 00:19:57,480 そこに少しストレスリリーフを表示します。 490 00:19:57,480 --> 00:19:58,805 だから、スラッシュの子犬です。 491 00:19:58,805 --> 00:20:01,700 492 00:20:01,700 --> 00:20:02,200 大丈夫。 493 00:20:02,200 --> 00:20:03,020 その楽しさはなかったですか。 494 00:20:03,020 --> 00:20:04,200 OK。 495 00:20:04,200 --> 00:20:07,140 だから、戻っていくつかのコンピュータに 科学、私は可能性がある場合。 496 00:20:07,140 --> 00:20:10,600 >> そこで、我々が開始された最後の時間を思い出します ただ、メインではない見て、どの 497 00:20:10,600 --> 00:20:13,930 デフォルトの機能は、ときでした 緑の旗は、同等のクリック 498 00:20:13,930 --> 00:20:16,999 我々はまた、簡単に開始しました 私たち自身の機能の一部を書き込み。 499 00:20:16,999 --> 00:20:20,040 そして、これらの機能のこれまでなし 特に大きなまたは肉となっています。 500 00:20:20,040 --> 00:20:24,570 あなたはより大きなものになるでしょう 機能は、おそらく、Pは、P 3を設定し、2セット、 501 00:20:24,570 --> 00:20:26,410 間違いなくPは4以降を設定します。 502 00:20:26,410 --> 00:20:29,340 今、あなたのプログラムのほとんど、 確かにそれらのすべて、Pのためではない場合 503 00:20:29,340 --> 00:20:31,550 セット1は、主に完全に行うことができます。 504 00:20:31,550 --> 00:20:33,810 あなたのプログラムの場合にのみ、 5行、10行、 505 00:20:33,810 --> 00:20:37,070 でも、20行の長さ、完璧 それを書くのが妥当 506 00:20:37,070 --> 00:20:40,930 すべての主ではないに超える複雑 あなたのコードが、私たちは今日何をやっています 507 00:20:40,930 --> 00:20:44,360 以降もしようとしています いくつかの良い設計技術を紹介します 508 00:20:44,360 --> 00:20:48,660 あなたのコードはよりを取得するように、そのよう 複雑で問題など 509 00:20:48,660 --> 00:20:51,690 あなたが難しくなる解決したいと もっと面白いあなたが持っている、一種の、 510 00:20:51,690 --> 00:20:55,850 ツールボックス内のツール それらに優れたソリューションを設計します。 511 00:20:55,850 --> 00:21:01,210 >> それでは、背中を簡単に見てみましょう 私の最後の週からこのプログラム、どの 512 00:21:01,210 --> 00:21:06,550 ゼロドットC.機能でした 、非常に単純に、それに気付きます 513 00:21:06,550 --> 00:21:10,310 それが2で次のようになります 機能、メインと印刷名。 514 00:21:10,310 --> 00:21:13,160 そしてバックまたは多分考え 今日のリバースエンジニアリング、 515 00:21:13,160 --> 00:21:16,880 導入するための動機だったもの ライン28内の関数が呼び出され、 516 00:21:16,880 --> 00:21:18,180 名前を印刷する? 517 00:21:18,180 --> 00:21:21,745 またはこの中の例だったもの 原則やテイクアウトの観点から、 518 00:21:21,745 --> 00:21:22,605 あなたが希望する場合。 519 00:21:22,605 --> 00:21:26,560 520 00:21:26,560 --> 00:21:27,300 いくつかの雑音。 521 00:21:27,300 --> 00:21:28,830 何? 522 00:21:28,830 --> 00:21:32,210 >> うんそう関数分解 のがファンシーな方法の一種です、 523 00:21:32,210 --> 00:21:34,690 あなたのプログラムを分解 その構成部品へ 524 00:21:34,690 --> 00:21:37,530 次にそれらの部品を使用 全体を組み立てるため。 525 00:21:37,530 --> 00:21:39,620 だから、それもただ一種であります 既に一口の、 526 00:21:39,620 --> 00:21:42,050 しかし、これはおそらくです 何かの良い例 527 00:21:42,050 --> 00:21:43,081 単に抽象化と呼ばれます。 528 00:21:43,081 --> 00:21:43,580 右? 529 00:21:43,580 --> 00:21:46,950 抽象化は、一つになるだろう CS50での定期的なテーマの 530 00:21:46,950 --> 00:21:49,085 また、コンピュータサイエンス より一般的に、それはだから 531 00:21:49,085 --> 00:21:53,060 あなたが解決できるような技術 あなたのため、より効果的な問題 532 00:21:53,060 --> 00:21:56,807 より多くのソリューションを書くことができます 直感的かつスケールの方法で 533 00:21:56,807 --> 00:21:58,390 他の人が理解できます。 534 00:21:58,390 --> 00:21:59,860 私はそれによって何を意味するのですか? 535 00:21:59,860 --> 00:22:04,340 >> だから、間違いなくそれははるかに読みやすいです このようなプログラムを見て、 536 00:22:04,340 --> 00:22:05,990 それでありながら超短いです。 537 00:22:05,990 --> 00:22:10,050 あなたは22行目で見る時があること 呼び出された関数、印刷名。 538 00:22:10,050 --> 00:22:12,620 それだけで名前はそれが何を言っています。 539 00:22:12,620 --> 00:22:15,780 この関数は明らかに取ります その括弧の間の入力、 540 00:22:15,780 --> 00:22:18,600 そして、明らかに何かを、 おそらく名前を出力します。 541 00:22:18,600 --> 00:22:20,880 そしてそう、でも私たちかかわらず 絶対に持っている可能性が 542 00:22:20,880 --> 00:22:25,280 我々があった、一週間前にやったことを行って ただ、このコードの実際の行を取ります 543 00:22:25,280 --> 00:22:28,710 このを取り除く、および取得 すべて一緒にこのを取り除きます、 544 00:22:28,710 --> 00:22:31,436 我々は一種の抽象化 名前を印刷する概念。 545 00:22:31,436 --> 00:22:33,060 あなたが印刷デフを使用している場合、私は気にしないでください。 546 00:22:33,060 --> 00:22:35,601 あなたが持っている場合、私は気にしません パーセントSとこれらのバックスラッシュN. 547 00:22:35,601 --> 00:22:37,270 信じられないほど難解な詳細です。 548 00:22:37,270 --> 00:22:40,090 私は気に何をすべきか プログラマは名前を印刷しています。 549 00:22:40,090 --> 00:22:43,414 そしてそう、ということをより良いどのような方法を行うには 関数を呼び出すことによってより、印刷の名前は? 550 00:22:43,414 --> 00:22:46,330 だから、それが動機の一つでした このような何かを行うため。 551 00:22:46,330 --> 00:22:50,370 より、コードをより読みやすく 再利用可能な、また、自己記述。 552 00:22:50,370 --> 00:22:52,120 さて、見てみましょう 別の例では、 553 00:22:52,120 --> 00:22:56,220 機能するものでした、 これは私たちがこっちに持っていました。 554 00:22:56,220 --> 00:23:00,367 >> だから、これはおそらくもっとあります 魅力的なので、この場合には、 555 00:23:00,367 --> 00:23:01,700 私はint型を取得する必要はありません。 556 00:23:01,700 --> 00:23:03,320 私は正の整数を取得したいです。 557 00:23:03,320 --> 00:23:06,470 そして、それはポジティブを得ることが判明 あなたが取材の束を行う必要がありますint型。 558 00:23:06,470 --> 00:23:06,969 右? 559 00:23:06,969 --> 00:23:09,600 これは、単純な1行ではありません 印刷名があったような呼び出し、 560 00:23:09,600 --> 00:23:11,480 これは確かにあまり説得力があります。 561 00:23:11,480 --> 00:23:16,000 >> 正の整数を取得するには、logically-- 私はこれを非表示にするには、下へスクロールしてみましょう。 562 00:23:16,000 --> 00:23:18,887 何をしなければならないのですか? 563 00:23:18,887 --> 00:23:20,720 すべてのツールと​​同様に、我々 現時点ではされている必要があり 564 00:23:20,720 --> 00:23:24,440 標準から印刷デフのようなもの CS50ライブラリからも図書館 565 00:23:24,440 --> 00:23:26,990 我々はint型を取得し、フロートを取得しています、 ロングロングを取得し、文字列を取得 566 00:23:26,990 --> 00:23:29,260 一つだけ、ゲルマン、 今のIntを取得しています。 567 00:23:29,260 --> 00:23:32,970 だから、あなたが持っている唯一のツールであれば あなたのツールボックスのintを取得しています、 568 00:23:32,970 --> 00:23:35,505 どのように実装する行くのです それは正の整数を取得しますか? 569 00:23:35,505 --> 00:23:35,929 >> 聴衆:ログを作成し、チェック 彼らは与えたかどうかを入力で 570 00:23:35,929 --> 00:23:36,762 陽性であったかどうか。 571 00:23:36,762 --> 00:23:39,390 572 00:23:39,390 --> 00:23:40,640 >> SPEAKER 1:パーフェクト。 573 00:23:40,640 --> 00:23:41,200 その通りです。 574 00:23:41,200 --> 00:23:43,950 私たちは私たちの中に持っているもう一つのツール 一週間か二週間前からツールボックス 575 00:23:43,950 --> 00:23:45,419 ちょうどループ構造です。 576 00:23:45,419 --> 00:23:48,210 だから、ええ、私たちはしばらくの間を使用した場合 ループ、またはdo-whil​​e文、またはフォア 577 00:23:48,210 --> 00:23:50,850 我々は、おそらく離れて得ることができるループ 何らかの形でそれらのいずれかと。 578 00:23:50,850 --> 00:23:55,140 私たちは、getの概念を実装することができます ちょうど取得int型を使用することにより正の整数、 579 00:23:55,140 --> 00:23:57,830 して、それを呼び出しておきます もう一度、ユーザーを困らせる保ちます 580 00:23:57,830 --> 00:24:00,320 彼または実際に彼女まで 私たちが望むものを与えてくれる。 581 00:24:00,320 --> 00:24:03,260 >> そして今、この プロセスの抽象化 582 00:24:03,260 --> 00:24:05,680 正の整数を取得します 呼び出された関数に 583 00:24:05,680 --> 00:24:08,930 正Intがもう少しで取得します 魅力的なこれを見てからです。 584 00:24:08,930 --> 00:24:10,990 これらは、10プラスのようなものです コー​​ドの行こと 585 00:24:10,990 --> 00:24:15,090 正の整数を得ることに関与しています、 私は本当にあなたがそれを行う方法を気にしません。 586 00:24:15,090 --> 00:24:17,850 私は気にすべてはあなたのことです それを行う、と私はきたことができます 587 00:24:17,850 --> 00:24:21,660 背後に隠されたすべてのこれらの詳細 呼び出される関数は、int型陽性取得します、 588 00:24:21,660 --> 00:24:23,430 確かに、ループしながら、これを行う持っています。 589 00:24:23,430 --> 00:24:27,660 >> そして、構文については、先週参照 そこに、それはちょうどNを宣言し、 590 00:24:27,660 --> 00:24:29,800 それはプリントアウト ユーザーへの指示。 591 00:24:29,800 --> 00:24:33,330 これは、int型を取得呼び出し、それがチェック この条件を再度、再度、 592 00:24:33,330 --> 00:24:35,230 ユーザーが協力し、再びまで。 593 00:24:35,230 --> 00:24:38,000 >> だから今、いくつかの健全性チェック。 594 00:24:38,000 --> 00:24:40,370 おそらくお馴染みの方のために いくつかのプログラミングに、 595 00:24:40,370 --> 00:24:46,410 Nが宣言されている理由は、なぜ私が作成を行います do-whil​​e文のN個の外? 596 00:24:46,410 --> 00:24:50,370 なぜそれがライン29上とではありません 例えば、33のように。 597 00:24:50,370 --> 00:24:53,529 >> 聴衆:あなたので、 種類、外にそれを宣言 598 00:24:53,529 --> 00:24:56,688 より多くの、より大きなscope--の 599 00:24:56,688 --> 00:24:58,146 >> SPEAKER 1:良いです。 600 00:24:58,146 --> 00:24:59,604 >> 聴衆: - そしてあなたが宣言した場合 それループ内の、[聞こえません] 601 00:24:59,604 --> 00:25:00,979 それはそれについて知らないので。 602 00:25:00,979 --> 00:25:02,819 603 00:25:02,819 --> 00:25:03,610 SPEAKER 1:その通り。 604 00:25:03,610 --> 00:25:06,330 私はsimplify--ことができる場合 それはスコープの問題です。 605 00:25:06,330 --> 00:25:11,530 そして、スコープはコンテキストを参照 どの変数が存在するか、または使用可能です。 606 00:25:11,530 --> 00:25:15,050 そして、ここで親指の素晴らしいルールはということです 一般的には、宣言または作成するとき 607 00:25:15,050 --> 00:25:21,642 あなたが内部でのみ使用することができ、可変 最も近いの中括弧を採用。 608 00:25:21,642 --> 00:25:22,600 だから、何を意味するのでしょうか? 609 00:25:22,600 --> 00:25:26,551 私場合は、代わりに、これを元に戻すと一緒に行きます 少しシンプルな感じ何か。 610 00:25:26,551 --> 00:25:27,050 右? 611 00:25:27,050 --> 00:25:29,360 >> 32行目は、ちょうど今私にはクリーンに見えます。 612 00:25:29,360 --> 00:25:31,500 私は両方で物事をやっています 一度、その後の割り当て 613 00:25:31,500 --> 00:25:33,070 左手に右手。 614 00:25:33,070 --> 00:25:35,180 今に基づいて問題 スコープのその定義 615 00:25:35,180 --> 00:25:41,130 Nが行で使用され得ることです 31と、このループの内側32、 616 00:25:41,130 --> 00:25:45,100 しかし、ここでその定義により それを使用することはできませんか? 617 00:25:45,100 --> 00:25:45,660 行で何を? 618 00:25:45,660 --> 00:25:46,160 うん。 619 00:25:46,160 --> 00:25:47,490 >> 聴衆:35。 620 00:25:47,490 --> 00:25:49,180 >> SPEAKER 1:35。 621 00:25:49,180 --> 00:25:50,480 絶対にありません35。 622 00:25:50,480 --> 00:25:52,349 また、他にどこ? 623 00:25:52,349 --> 00:25:52,890 聴衆:34。 624 00:25:52,890 --> 00:25:55,040 SPEAKER 1:偶数34されます それはだから問題 625 00:25:55,040 --> 00:25:56,450 中括弧の外。 626 00:25:56,450 --> 00:25:58,200 だから実際には、のは、何が起こるか見てみましょう。 627 00:25:58,200 --> 00:25:58,700 右? 628 00:25:58,700 --> 00:26:00,722 これが少し見えるかもしれません 直感的またはしない場合があります、 629 00:26:00,722 --> 00:26:02,680 しかし、それでは、何を見てみましょう コンパイラは時言っています 630 00:26:02,680 --> 00:26:04,730 我々は、今日のソースディレクトリに移動します。 631 00:26:04,730 --> 00:26:08,950 機能1を加えます。 632 00:26:08,950 --> 00:26:11,231 何てことだ。 633 00:26:11,231 --> 00:26:12,980 まあ、私は最終的に終了します ところで、その。 634 00:26:12,980 --> 00:26:14,030 大丈夫。 635 00:26:14,030 --> 00:26:15,510 そして、ここでの問題は何ですか? 636 00:26:15,510 --> 00:26:17,430 見て非常に難解。 637 00:26:17,430 --> 00:26:19,570 しかし、ここで私がtyped--ものです 機能1を作ります。 638 00:26:19,570 --> 00:26:21,640 ここでは、誘導させるものです、 これは実際にあります 639 00:26:21,640 --> 00:26:23,705 コンパイラ打ち鳴らすを使用して それらのフラグの一部と 640 00:26:23,705 --> 00:26:25,080 私たちはずっと前に再び表示されますことを。 641 00:26:25,080 --> 00:26:26,829 そして再び、いつも見て 最初のエラーで、 642 00:26:26,829 --> 00:26:30,540 それだけでカスケードを持っている可能性があるため、 他の行に意味のない効果。 643 00:26:30,540 --> 00:26:34,410 >> それでは、これが意味することです 問題は、関数1.C.であります 644 00:26:34,410 --> 00:26:36,890 これは、ライン32上にあります。 645 00:26:36,890 --> 00:26:39,712 そしてそれは、列、または文字、13時です。 646 00:26:39,712 --> 00:26:42,670 だから、ときにあなたのテキストエディタは、そのことができます 問題がどこにある識別するのに役立ちます。 647 00:26:42,670 --> 00:26:47,079 私は上にスクロールのであれば、ライン32は何ですか? 648 00:26:47,079 --> 00:26:49,120 それは確かにこの一つです それは、すでにハイライトされています 649 00:26:49,120 --> 00:26:50,607 右here--未使用の変数n。 650 00:26:50,607 --> 00:26:51,440 しかし、それは未使用ではありません。 651 00:26:51,440 --> 00:26:52,320 私はそれを使用しています。 652 00:26:52,320 --> 00:26:56,110 しかし、コンパイラのはので、混乱します それは、この範囲内に存在します。 653 00:26:56,110 --> 00:26:57,727 そして、私はここでそれを使用することはできません。 654 00:26:57,727 --> 00:26:58,560 私はここでそれを使用することはできません。 655 00:26:58,560 --> 00:27:01,320 そして、コンパイラ、したがって、 でも、私がしようとしていることを気にしません。 656 00:27:01,320 --> 00:27:03,940 これは、未使用であると思われます その実際の範囲内です。 657 00:27:03,940 --> 00:27:08,854 >> だから我々は実行して、範囲を広げることができます 我々は、int型のn with--開始まさに。 658 00:27:08,854 --> 00:27:11,020 そして、それがないにもかかわらず、 おそらく、エレガントに見えます、 659 00:27:11,020 --> 00:27:15,110 私たちは余分なラインを取っています ここで、今ではどこでもスコープにあります。 660 00:27:15,110 --> 00:27:15,970 それでは、もう一度試してみましょう。 661 00:27:15,970 --> 00:27:19,040 だから、機能1を作ります。 662 00:27:19,040 --> 00:27:19,610 ニース。 663 00:27:19,610 --> 00:27:23,370 そして今、私なら、私は、関数を実行した場合 一つは、のはそれを負の10を与えてみましょう、 664 00:27:23,370 --> 00:27:27,170 負の1、0、1、それは確かに動作します。 665 00:27:27,170 --> 00:27:28,610 >> そこでここでは別の解決策があります。 666 00:27:28,610 --> 00:27:29,280 あのね? 667 00:27:29,280 --> 00:27:31,230 私は本当にこれで何をして格闘していますか? 668 00:27:31,230 --> 00:27:33,140 私がどこかわかりません nは行くことになっています。 669 00:27:33,140 --> 00:27:33,723 あのね? 670 00:27:33,723 --> 00:27:39,220 私はちょうどそれを置くつもりだすべて ここに私のファイルの先頭に方法。 671 00:27:39,220 --> 00:27:42,835 これは何をするだろう、あなたは思いますか? 672 00:27:42,835 --> 00:27:43,335 うん? 673 00:27:43,335 --> 00:27:44,251 >> 聴衆:[聞こえません]。 674 00:27:44,251 --> 00:27:47,964 675 00:27:47,964 --> 00:27:48,630 SPEAKER 1:うん。 676 00:27:48,630 --> 00:27:50,560 だから私はいわば、それはグローバル作りました。 677 00:27:50,560 --> 00:27:54,430 あなたが外だ変数を使用している場合 許可されているあなたのすべての機能、 678 00:27:54,430 --> 00:27:58,780 そしてコードは、コンパイルする必要があり、nは 今取得していないだけでアクセスできます 679 00:27:58,780 --> 00:28:02,490 正の整数だけでなく、main--でいます そこだから少し気になります 680 00:28:02,490 --> 00:28:04,864 すでにメインでnは、ので、より多くの ちょうどmoment--でその上 681 00:28:04,864 --> 00:28:06,530 これは悪い設計と考えられます。 682 00:28:06,530 --> 00:28:06,910 大丈夫。 683 00:28:06,910 --> 00:28:08,570 あなたがに頼る必要がある場合 何かああ、私はよ、のような 684 00:28:08,570 --> 00:28:10,125 理由だけで、ここでそれを置きます コー​​ドはコンパイルのようです 685 00:28:10,125 --> 00:28:12,180 一般的にはベストプラクティスではありません。 686 00:28:12,180 --> 00:28:14,590 むしろあなたが選択したいです できるだけ狭い範囲 687 00:28:14,590 --> 00:28:18,720 意味するだろうあなたの変数のための 当初のデザインと一緒に行く、これは 688 00:28:18,720 --> 00:28:19,920 右ここにあります。 689 00:28:19,920 --> 00:28:24,400 >> さて余談として、あなたが持っていた場合 ここで同じ名前の変数、 690 00:28:24,400 --> 00:28:27,750 cはthis--扱うような方法 これはあまりにもoften--起こらないでしょうが 691 00:28:27,750 --> 00:28:30,150 これはまだあるということです ここで完全に罰金。 692 00:28:30,150 --> 00:28:35,000 しかし、行のnのこの定義 22はグローバルなものをシャドウします。 693 00:28:35,000 --> 00:28:38,190 したがって、この1は、内に動作します メイン、グローバル1 694 00:28:38,190 --> 00:28:41,670 あなたはにいるとき、実際に適用されます 正の整数しかし、それについての詳細を取得 695 00:28:41,670 --> 00:28:43,890 別の時間が、ちょうど 好奇心の強い人のため。 696 00:28:43,890 --> 00:28:45,970 >> だから要するに、私たちはここでこれを修正。 697 00:28:45,970 --> 00:28:49,220 今度は、2つの他の部分を離れていじめるみましょう 我々は1つのコードの最後の行を見る前 698 00:28:49,220 --> 00:28:50,170 このプログラムインチ 699 00:28:50,170 --> 00:28:52,170 正の整数を取得します。 700 00:28:52,170 --> 00:28:54,450 の左側に その単語は単語intです。 701 00:28:54,450 --> 00:28:56,860 それはあなたが思う何を意味するのでしょうか? 702 00:28:56,860 --> 00:28:58,900 これまで我々は、ほとんどの空隙を見てきました。 703 00:28:58,900 --> 00:28:59,400 うん? 704 00:28:59,400 --> 00:29:01,810 >> 観客:それはのタイプです あなたは求めている変数。 705 00:29:01,810 --> 00:29:04,550 >> SPEAKER 1:うんそれはのタイプですが、私を聞かせて 変数言うが、値のタイプではありません 706 00:29:04,550 --> 00:29:05,990 私は戻って求めていること。 707 00:29:05,990 --> 00:29:08,070 そして実際、それはです ここで直感的な、うまくいけば。 708 00:29:08,070 --> 00:29:08,200 右? 709 00:29:08,200 --> 00:29:10,250 あなたが取得したい場合 正の整数、それはあなたが何でありますか 710 00:29:10,250 --> 00:29:12,920 私たちのようなfunction--たい 先週からのボランティア 711 00:29:12,920 --> 00:29:15,720 作品をあなたに戻って手に その上にint型と紙の? 712 00:29:15,720 --> 00:29:19,190 そして、私たちが指定していること この関数のいわゆる戻り値の型 713 00:29:19,190 --> 00:29:20,450 正の整数を取得することです。 714 00:29:20,450 --> 00:29:22,990 我々はそれはしたくなかった場合 何も返し、あなたは無効と言います。 715 00:29:22,990 --> 00:29:25,270 あなたはそれが戻したい場合 文字列は、文字列を言います。 716 00:29:25,270 --> 00:29:27,310 あなたはそれが戻したい場合 フロートは、フロートを言います。 717 00:29:27,310 --> 00:29:30,440 しかし、ここで適用される唯一の 論理的に、私が手にint型を使用していますので、 718 00:29:30,440 --> 00:29:34,130 私はそれを制限していていても 正の値は、int型を返すことです。 719 00:29:34,130 --> 00:29:38,380 >> だから逆に、それが何を意味するのでしょう ことを括弧内の空隙がありますか? 720 00:29:38,380 --> 00:29:40,130 括弧は何を 一般的に定義しますか? 721 00:29:40,130 --> 00:29:40,588 うん? 722 00:29:40,588 --> 00:29:42,880 >> 観客は:これは、関数の意味します 実際にそれを得ていません。 723 00:29:42,880 --> 00:29:44,650 >> SPEAKER 1:それは、関数の意味します 実際に何を得ていませんか? 724 00:29:44,650 --> 00:29:45,430 >> 聴衆:入力。 725 00:29:45,430 --> 00:29:46,763 >> SPEAKER 1:入力、全く。 726 00:29:46,763 --> 00:29:49,870 だから確かに、もし括弧 ここでは、空洞指定します 727 00:29:49,870 --> 00:29:51,650 それはちょうど私がどのような入力をしたくないことを意味します。 728 00:29:51,650 --> 00:29:53,269 私はこの問題を自分自身を扱うでしょう。 729 00:29:53,269 --> 00:29:55,810 そして実際、あなたがする必要はありません 正の整数何かを得る言います。 730 00:29:55,810 --> 00:29:59,630 あなただけの、言う正の整数を取得し、その 機能はオフに行くとそのことを行います。 731 00:29:59,630 --> 00:30:02,970 >> しかし、私はしましたちょっとしたトリックがあったです ここで、この全体の時間を果たして 732 00:30:02,970 --> 00:30:04,970 このコードをコンパイルすることを確認します。 733 00:30:04,970 --> 00:30:09,620 正取得int--お知らせ int型のvoid--は、ライン27上にあります。 734 00:30:09,620 --> 00:30:14,530 しかし、いくつかの一見奇妙な理由で それはライン16上にもここです。 735 00:30:14,530 --> 00:30:18,530 そして、ちょうど良い測定のために、私は繰り返します これは、それは完全に同一です。 736 00:30:18,530 --> 00:30:21,640 そして、私は言ったプロトタイプを持ちます 小さな一行コメント。 737 00:30:21,640 --> 00:30:28,850 私はそれを削除した場合はどうなり、そして、 今機能1を作る再実行し、入力します。 738 00:30:28,850 --> 00:30:29,350 おっと。 739 00:30:29,350 --> 00:30:32,527 740 00:30:32,527 --> 00:30:33,110 ちょっと待って。 741 00:30:33,110 --> 00:30:34,764 私のタブはどこにありますか? 742 00:30:34,764 --> 00:30:35,263 えっ? 743 00:30:35,263 --> 00:30:37,969 744 00:30:37,969 --> 00:30:39,620 待機する。 745 00:30:39,620 --> 00:30:41,570 機能1を加えます。 746 00:30:41,570 --> 00:30:42,150 そうしよう。 747 00:30:42,150 --> 00:30:42,310 OK。 748 00:30:42,310 --> 00:30:43,400 それを適切に保存されていませんでした。 749 00:30:43,400 --> 00:30:45,220 だから、私は少しはあると思います ここでバグ私はないんだけど 750 00:30:45,220 --> 00:30:46,636 現時点では、タブ名を見て。 751 00:30:46,636 --> 00:30:47,940 それでは、ここで起こっているのですか? 752 00:30:47,940 --> 00:30:52,210 関数の暗黙的な宣言 正の整数を取得し、C99には無効です。 753 00:30:52,210 --> 00:30:53,940 だから、再び混乱。 754 00:30:53,940 --> 00:30:55,200 だから、この指標は何ですか? 755 00:30:55,200 --> 00:30:57,287 まあ、それはことが判明 Cはかなり愚かです。 756 00:30:57,287 --> 00:30:59,912 まあ、それはプログラミングです 言語、またはむしろコンパイラがあります。 757 00:30:59,912 --> 00:31:02,940 それはあなただけが持っているものを知っています それを教え、それだけです 758 00:31:02,940 --> 00:31:05,640 何かを知っているだろう あなたが前にそれを教えてください。 759 00:31:05,640 --> 00:31:07,960 換言すれば、内 現時点での主、私はよ 760 00:31:07,960 --> 00:31:10,900 関数を呼び出すしようとしています 正の整数を得ると呼ばれます。 761 00:31:10,900 --> 00:31:14,120 しかし、コンパイラは行っていません それが正の整数を取得通知に 762 00:31:14,120 --> 00:31:16,500 26行目まで存在しています。 763 00:31:16,500 --> 00:31:21,360 だからコンパイラが何をするかだけです エラーは、すぐにそれは17行目になるように、 764 00:31:21,360 --> 00:31:23,700 暗黙的な宣言を言って 正の整数を取得します 765 00:31:23,700 --> 00:31:27,740 私はしない、というのがちょうど空想の方法です 正の整数がまだあり得るものを知っています。 766 00:31:27,740 --> 00:31:31,240 >> Javaのような他の言語と PythonとRubyは前方に見えるかもしれません。 767 00:31:31,240 --> 00:31:32,240 Cにはありません。 768 00:31:32,240 --> 00:31:35,110 そして、私たちが解決方法は これは、2つの方法の一つです。 769 00:31:35,110 --> 00:31:40,160 いずれか一方は、問題がある場合には、取得します 正の整数は、前に見られていません 770 00:31:40,160 --> 00:31:42,150 よく、私はちょうど先頭に移動しましょう​​。 771 00:31:42,150 --> 00:31:43,650 つまり、この問題を解決するだろう。 772 00:31:43,650 --> 00:31:46,790 しかし、一般的に、それはです 優れた技術と考えられ 773 00:31:46,790 --> 00:31:50,220 非常にあなたの主な機能を配置します 人間があなたのコードを読むように、トップ 774 00:31:50,220 --> 00:31:52,710 、プログラムが何をするか知っています 主はすべての埋葬されていないため、 775 00:31:52,710 --> 00:31:53,960 下部のか途中で道。 776 00:31:53,960 --> 00:31:55,130 これは、最上部にあります。 777 00:31:55,130 --> 00:31:56,410 だから、理想的に感じることはありません。 778 00:31:56,410 --> 00:31:58,326 そして、あなたが実際に取得することができます 状況どこに 779 00:31:58,326 --> 00:32:00,820 1関数呼び出しの場合 別のものを呼び出す別の、 780 00:32:00,820 --> 00:32:04,630 あなたはどこにもない問題に取得することができます 論理的に、他の上に行くことができます。 781 00:32:04,630 --> 00:32:05,920 それだけでは不可能です。 782 00:32:05,920 --> 00:32:09,290 >> だから方法が動作するように これを回避するだけで取ることです 783 00:32:09,290 --> 00:32:13,200 そうspeak--する関数のシグネチャ、 それはdeclared--だ最初の行 784 00:32:13,200 --> 00:32:16,850 だけに貼り付け、コピー カーリーbraces--でトップではなく、 785 00:32:16,850 --> 00:32:17,980 ただセミコロンで。 786 00:32:17,980 --> 00:32:20,840 それは少しのヒントのようなものです 来ることであるものの。 787 00:32:20,840 --> 00:32:26,630 そして、実際には、この時間のすべてのときに我々 標準io.hのようなものを見てきました 788 00:32:26,630 --> 00:32:33,040 そして、cs50.h、同様に、これらの点で Hファイルがあり、他のプロトタイプです。 789 00:32:33,040 --> 00:32:35,250 そして、我々はその前に長い表示されます。 790 00:32:35,250 --> 00:32:39,340 >> 要するにだから、あなたがプログラムを持っているとき 複数の機能を持つファイルで 791 00:32:39,340 --> 00:32:42,300 メイン以外にも、あなたのほとんど 常にそれらを宣言したいです 792 00:32:42,300 --> 00:32:45,360 ちょうど彼らの最初の方法により セミコロンが続くライン、 793 00:32:45,360 --> 00:32:48,410 ファイルの最上部にあります。 794 00:32:48,410 --> 00:32:50,460 それはすべてを一度にたくさんあり​​ました。 795 00:32:50,460 --> 00:32:53,130 質問は? 796 00:32:53,130 --> 00:32:53,920 質問は? 797 00:32:53,920 --> 00:32:54,530 大丈夫。 798 00:32:54,530 --> 00:32:59,760 >> それでは、上に移動しましょう 咳のようなものに。 799 00:32:59,760 --> 00:33:00,260 ああ。 800 00:33:00,260 --> 00:33:00,570 どのようにフィッティング。 801 00:33:00,570 --> 00:33:01,220 大丈夫。 802 00:33:01,220 --> 00:33:02,260 咳。 803 00:33:02,260 --> 00:33:05,080 そこでここではcがあります プログラムの実施 804 00:33:05,080 --> 00:33:07,560 我々は、他の一日でした スクラッチ、非常に単純に 805 00:33:07,560 --> 00:33:08,691 咳、咳、咳は述べています。 806 00:33:08,691 --> 00:33:09,190 大丈夫。 807 00:33:09,190 --> 00:33:11,136 そして、誰かがいくつか述べて 日前があること 808 00:33:11,136 --> 00:33:12,760 すでにこのコードをクリーンアップする方法。 809 00:33:12,760 --> 00:33:12,880 大丈夫? 810 00:33:12,880 --> 00:33:15,440 すぐにコピーしているように おそらく悪いデザインを貼り付けます。 811 00:33:15,440 --> 00:33:18,725 少なくとも一度、私たちは4または5を取得 または20咳、それは悪い習慣を感じます。 812 00:33:18,725 --> 00:33:19,850 私達はちょうど貼り付け、コピーを保持します。 813 00:33:19,850 --> 00:33:22,213 明白な解決策は何ですか このプログラムをクリーンアップしますか? 814 00:33:22,213 --> 00:33:23,120 >> 聴衆:ループ。 815 00:33:23,120 --> 00:33:23,350 >> SPEAKER 1:うん。 816 00:33:23,350 --> 00:33:24,070 だから、ループを使用します。 817 00:33:24,070 --> 00:33:27,697 そして、私たちは、しばらくのforループを使用することができます ループ、アプローチの任意の数。 818 00:33:27,697 --> 00:33:29,780 そして実際、それは何です ここでは、バージョン1で行います。 819 00:33:29,780 --> 00:33:32,250 私の代わりにそれを書き換えてきました cough.cのバージョン1で 820 00:33:32,250 --> 00:33:35,170 forループ内だけで咳ことができます。 821 00:33:35,170 --> 00:33:38,240 すべての権利が、そこです 開始の種類になりました機会 822 00:33:38,240 --> 00:33:41,630 このもう少しなどを設計します 私たちは一瞬前に教えたレッスン、 823 00:33:41,630 --> 00:33:46,190 私が望んでいたと仮定this--あります 咳と呼ばれる関数を作成するには、 824 00:33:46,190 --> 00:33:49,730 それでは、ちょっと考えてみましょう 何が見えるようになるだろう。 825 00:33:49,730 --> 00:33:51,900 だから私が何かをしたい場合 咳を、私はちょうど必要 826 00:33:51,900 --> 00:33:53,800 関数内で印刷Fを使用しています。 827 00:33:53,800 --> 00:33:55,030 そして実際、私は思います。 828 00:33:55,030 --> 00:33:56,990 そして、実際には、このすべて 時間、いつでもあなたがいます 829 00:33:56,990 --> 00:33:59,000 に何かを印刷 画面、プログラマ 830 00:33:59,000 --> 00:34:00,610 副作用ことを呼び出します。 831 00:34:00,610 --> 00:34:02,990 それは私が手渡していません バック誰か値。 832 00:34:02,990 --> 00:34:06,170 それは私はいくつかのアクションを取っています それは、視覚的に明らかであるかもしれません。 833 00:34:06,170 --> 00:34:10,672 しかし、この機能の咳は、それが返されません その最初の行に基づいて何? 834 00:34:10,672 --> 00:34:12,880 いいえ、その戻り値の型のため ただ意味し、無効です 835 00:34:12,880 --> 00:34:14,250 それが戻って私に何かを手渡していません。 836 00:34:14,250 --> 00:34:16,791 それは何かをやっている可能性があります 視覚的に、それは私に手渡していません 837 00:34:16,791 --> 00:34:18,639 先週のように一枚の紙をバックします。 838 00:34:18,639 --> 00:34:21,310 >> それは、任意の入力を必要としていますか? 839 00:34:21,310 --> 00:34:21,810 いいえ。 840 00:34:21,810 --> 00:34:23,134 そしてそれはあまりにもここで空洞です。 841 00:34:23,134 --> 00:34:25,600 だから、これは優しすぎるのです この問題をオーバーエンジニアリング。 842 00:34:25,600 --> 00:34:26,099 右? 843 00:34:26,099 --> 00:34:28,820 私はより多くのプログラムを作りました コー​​ドの複雑な、複数の行、 844 00:34:28,820 --> 00:34:31,889 私はそれを行っていません それ以上の機能が、この 845 00:34:31,889 --> 00:34:34,210 飛び石であろうが、 おそらく、より広範なため 846 00:34:34,210 --> 00:34:36,830 より複雑なコードを使用してコンテキスト。 847 00:34:36,830 --> 00:34:38,150 しかし、これについては何? 848 00:34:38,150 --> 00:34:42,050 私はちょうどで何をかすめるdone--います このコメントを見ないで 849 00:34:42,050 --> 00:34:46,076 持っているものfile--の最上部にあります 私は基本的に私の咳と一緒にここで行わ 850 00:34:46,076 --> 00:34:47,409 違うの実装? 851 00:34:47,409 --> 00:34:48,327 うん、後ろに? 852 00:34:48,327 --> 00:34:51,384 >> 観客は:することができますので、それを作ります 文字がオフに持っています。 853 00:34:51,384 --> 00:34:52,050 SPEAKER 1:うん。 854 00:34:52,050 --> 00:34:53,270 だから、これは一種の素敵な感じ。 855 00:34:53,270 --> 00:34:53,389 右? 856 00:34:53,389 --> 00:34:56,600 それはあなたに機能を追加するようなものです この場合、プログラムまたはあなたの関数、。 857 00:34:56,600 --> 00:34:57,830 それはまだ何も返しません。 858 00:34:57,830 --> 00:35:00,538 これは、視覚的な副作用があるかもしれません それは、印刷Fを呼び出すだから。 859 00:35:00,538 --> 00:35:02,800 しかし、今、私はパラメータ化しています 機能、これ 860 00:35:02,800 --> 00:35:06,470 私が撮影してきたことを意味指定 int型の入力と、nはそれを呼び出します 861 00:35:06,470 --> 00:35:08,510 しかし、私は私が欲しいものを呼び出すことができます。 862 00:35:08,510 --> 00:35:11,550 実際には、それだけかもしれません 倍であってもより明確になるように。 863 00:35:11,550 --> 00:35:13,310 そして、私はここにこれを変更することができます。 864 00:35:13,310 --> 00:35:16,450 しかし、ポイントは、これはどのように私であるということです 入力をとる関数を作成します。 865 00:35:16,450 --> 00:35:19,530 そして、あなたはフリップリコール場合 1でおそらくオンラインを通じて 866 00:35:19,530 --> 00:35:23,000 ウォークスルーの、 第四及び最終的な咳例、 867 00:35:23,000 --> 00:35:27,150 あなたはここに気づくでしょう私が一般化しました 抽象化の私のコードfurther--種類 868 00:35:27,150 --> 00:35:27,690 さらにそれ。 869 00:35:27,690 --> 00:35:31,390 咳やくしゃみのように、両方があります 何かを言ったりすることのような 870 00:35:31,390 --> 00:35:32,330 音のいくつかの種類。 871 00:35:32,330 --> 00:35:34,725 保存は次のようになります スクラッチブロックに対応します。 872 00:35:34,725 --> 00:35:37,350 そして私は、このバージョンでは何をしましたか、 これは我々だけで一目ことができ、 873 00:35:37,350 --> 00:35:43,170 咳がちょうど[咳]、言っようなものですが、 咳、その間、くしゃみがあります 874 00:35:43,170 --> 00:35:44,570 【ハクション!]、言うような。 875 00:35:44,570 --> 00:35:46,900 そして、私は一般化しました それらの実装 876 00:35:46,900 --> 00:35:48,970 今実装することで、 この一般的な機能、 877 00:35:48,970 --> 00:35:51,490 面白いである、と言います 今日の目的のために 878 00:35:51,490 --> 00:35:54,300 唯一まだそれのため 戻り値の型を持っていません。 879 00:35:54,300 --> 00:35:56,398 しかし、それはどのように多くの入力がありますか? 880 00:35:56,398 --> 00:35:56,981 聴衆:二つ。 881 00:35:56,981 --> 00:35:57,430 SPEAKER 1:二つ。 882 00:35:57,430 --> 00:35:59,263 だから、あなたがしたい場合は 二つの引数に取ります、 883 00:35:59,263 --> 00:36:00,710 ただ、カンマで区切ります。 884 00:36:00,710 --> 00:36:03,110 そして、あなたはその後、したい場合は その関数を呼び出して、 885 00:36:03,110 --> 00:36:05,800 予告ちょうどあなた 、引用終わり、引用、たとえば呼び出します 886 00:36:05,800 --> 00:36:09,090 最初の引数のために、一般的な nは、2番目の引数の場合。 887 00:36:09,090 --> 00:36:12,130 だからもう一度、私たちは今持っています ビルディングブロック我々は、実際にすることができますように 888 00:36:12,130 --> 00:36:15,686 私たち自身の機能の一部を実装しています。 889 00:36:15,686 --> 00:36:16,570 大丈夫。 890 00:36:16,570 --> 00:36:19,690 これらの上の任意の質問? 891 00:36:19,690 --> 00:36:22,400 >> だから今その場合の層をバックはがしてみましょう。 892 00:36:22,400 --> 00:36:24,840 ゴール、最終的に、 来週の問題のセットです 893 00:36:24,840 --> 00:36:27,710 cryptogrophy--上になるだろう 情報をスクランブルする技術。 894 00:36:27,710 --> 00:36:30,640 具体的には、情報 あなたが暗号化または復号化しています 895 00:36:30,640 --> 00:36:31,605 テキストになるだろう。 896 00:36:31,605 --> 00:36:33,980 そして招待のように種類 質問今日のようなだけでなく、 897 00:36:33,980 --> 00:36:38,480 何がボンネットの下に起こっています 0週目からASCIIを超えたテキストで、 898 00:36:38,480 --> 00:36:40,730 どのように実際に私たちすることができます それを操作し始めますか? 899 00:36:40,730 --> 00:36:43,070 だからここZamylaの名前です。 900 00:36:43,070 --> 00:36:47,380 そしてテキストに、それは、入力された可能性があります GET文字列関数のように。 901 00:36:47,380 --> 00:36:52,540 あなたが見る時、今始まります this-- Z-A-M-Y-L-A--のような文字列 902 00:36:52,540 --> 00:36:56,550 各かのようにそれを考え始めます これらの文字のボックスの中にあり、その 903 00:36:56,550 --> 00:36:57,050 自身。 904 00:36:57,050 --> 00:36:59,460 そして実際、週またはそうです これらのボックスの時間、各 905 00:36:59,460 --> 00:37:04,280 非常に具体的に表現するために起こっています メモリの一口をmemory--のブロック。 906 00:37:04,280 --> 00:37:07,050 したがって、これらの各文字、 最終的に、8ビットを表します。 907 00:37:07,050 --> 00:37:10,560 そして、我々は実際に何が起こっているのかがわかります 私のコンピュータでボンネットの下に。 908 00:37:10,560 --> 00:37:13,440 >> しかし、ではないことがあればよいです ただZamylaを見て 909 00:37:13,440 --> 00:37:17,520 このレンズを通して、それによってそれぞれの これらの文字は、独自のボックスです。 910 00:37:17,520 --> 00:37:22,697 そして素敵な十分なC言語で私たちすることができます 直接これらのボックスのそれぞれにアクセスします。 911 00:37:22,697 --> 00:37:25,530 だから、最初に取得したい場合 彼女の名前の手紙、Cで超簡単 912 00:37:25,530 --> 00:37:28,410 あなたが最後に取得したい場合 手紙、超簡単にも 913 00:37:28,410 --> 00:37:30,240 新しい構文の一部です。 914 00:37:30,240 --> 00:37:36,250 >> だから私はCS50に先に行くつもりです 文字列のゼロ点CをIDEと開きます 915 00:37:36,250 --> 00:37:40,270 そして、ここで、この例では、あります 新しい物事のカップルが起こって。 916 00:37:40,270 --> 00:37:44,360 したがって、最初の19行目では、我々はしました このbefore-- GET文字列を見ました。 917 00:37:44,360 --> 00:37:49,840 だから迅速な健全性チェックとして、 誰かが口頭でアップを提供することができれば 918 00:37:49,840 --> 00:37:52,662 の素人の説明 何がライン19で起こっています。 919 00:37:52,662 --> 00:37:55,370 ただにこれを翻訳するよう 英語CS50でルームメイトないこと 920 00:37:55,370 --> 00:37:56,416 理解可能性があります。 921 00:37:56,416 --> 00:37:56,916 うん。 922 00:37:56,916 --> 00:37:59,749 >> 対象者:ユーザーの入力aを持っています 文字列は、変数sに格納します。 923 00:37:59,749 --> 00:38:01,934 924 00:38:01,934 --> 00:38:02,600 SPEAKER 1:良いです。 925 00:38:02,600 --> 00:38:05,579 ユーザーの入力に文字列を持っています そして、変数sに格納します。 926 00:38:05,579 --> 00:38:06,120 それは素晴らしいことです。 927 00:38:06,120 --> 00:38:08,090 右手にそう 側は、我々は、get文字列を呼び出します。 928 00:38:08,090 --> 00:38:10,340 つまり、値を返します それは割り当てられませんでした 929 00:38:10,340 --> 00:38:14,230 右側から左側へ だのと呼ばれる変数に側 930 00:38:14,230 --> 00:38:15,950 文字列を格納するように設計されています。 931 00:38:15,950 --> 00:38:16,800 その通りです。 932 00:38:16,800 --> 00:38:20,000 >> だから今ごとに、22行目 21行にコメント、 933 00:38:20,000 --> 00:38:22,780 明らかにその文字列を出力します 1行に1つの文字。 934 00:38:22,780 --> 00:38:23,740 しかし、どのように? 935 00:38:23,740 --> 00:38:27,040 だから、最初にすべての、私たちは私を0に初期化します。 936 00:38:27,040 --> 00:38:31,061 そして、どのようにするのですか Zamyla名の終わり? 937 00:38:31,061 --> 00:38:32,810 まあ、の終わりに Zamylaの名前、私ができました 938 00:38:32,810 --> 00:38:38,151 手動での最後の文字を入力 彼女何とか名前、またはそれの数。 939 00:38:38,151 --> 00:38:38,650 右? 940 00:38:38,650 --> 00:38:43,500 私たちが戻るとhere-- Z-A-M-L-- Y-L-A--ので、私は中に入力できます。 941 00:38:43,500 --> 00:38:47,340 の指標は何ですか Zamylaの最後の手紙? 942 00:38:47,340 --> 00:38:52,517 これがあれば0--ように話します programmer-- 0、1、2、3、4、5、 943 00:38:52,517 --> 00:38:56,570 私は、そう確かに最後の文字をheard-- Zamylaの名前に第六で、 944 00:38:56,570 --> 00:38:58,890 しかし、我々は0から数えた場合、 それは数5になるだろう。 945 00:38:58,890 --> 00:39:01,320 だからここに心に留めておきます。 946 00:39:01,320 --> 00:39:04,929 >> これは、関数があると判明します CはSTRLENと呼ばれ、バック日に 947 00:39:04,929 --> 00:39:06,720 まだこの日に、 プログラマの多く 948 00:39:06,720 --> 00:39:09,524 自分の名前を同期することを選択 言葉のように聞こえる機能 949 00:39:09,524 --> 00:39:10,440 彼らが言うことをしようとしています。 950 00:39:10,440 --> 00:39:12,590 だからSTRLEN文字列の長さです。 951 00:39:12,590 --> 00:39:18,168 だから何が文字列の長さのだろう Zamylaが入力されると、Sは返しますか? 952 00:39:18,168 --> 00:39:19,569 >> 聴衆:5。 953 00:39:19,569 --> 00:39:22,090 >> SPEAKER 1:Z-A-M-Y-L。六。 954 00:39:22,090 --> 00:39:22,590 右? 955 00:39:22,590 --> 00:39:23,940 Zamylaの名前の長さは何ですか? 956 00:39:23,940 --> 00:39:24,440 右? 957 00:39:24,440 --> 00:39:26,240 そして、ちょうど実際には、6文字。 958 00:39:26,240 --> 00:39:26,740 右? 959 00:39:26,740 --> 00:39:28,940 そしてそうそれは私たちのループのために何を意味するのでしょうか? 960 00:39:28,940 --> 00:39:32,130 私たちは、から行くつもりです 6までの0、どの 961 00:39:32,130 --> 00:39:33,650 私たちに5回の反復を与えるために起こっています。 962 00:39:33,650 --> 00:39:34,890 我々は、各反復で何をしますか? 963 00:39:34,890 --> 00:39:36,870 まあ、パーセントのC、誰か 先日推測、 964 00:39:36,870 --> 00:39:38,710 何のためのプレースホルダを意味? 965 00:39:38,710 --> 00:39:39,335 >> 聴衆:シャア。 966 00:39:39,335 --> 00:39:40,293 SPEAKER 1:ちょうど文字。 967 00:39:40,293 --> 00:39:42,877 だからシングルcharacter--ありません 文字列のような複数の文字。 968 00:39:42,877 --> 00:39:45,251 そして、ここに新しいラインです 私たちは、プリントアウト持っていること。 969 00:39:45,251 --> 00:39:46,580 そして、ここに新しい構文です。 970 00:39:46,580 --> 00:39:51,130 あなたは、i番目を印刷したい場合 文字列S内の文字、いわば、 971 00:39:51,130 --> 00:39:54,060 あなたは簡単に言うことができます 文字列Sの名前、 972 00:39:54,060 --> 00:39:58,230 して、角括弧を開き、 その後私に、角括弧を閉じました 973 00:39:58,230 --> 00:39:58,780 真ん中。 974 00:39:58,780 --> 00:40:01,430 そして、それはそれでちょっとうれしいです それは一種の二乗のように見えます 975 00:40:01,430 --> 00:40:06,210 ただこれでZamylaの広場のような 文字があり、その画像上に存在します。 976 00:40:06,210 --> 00:40:09,970 >> だから私は実際にこれを実行する場合 それでは、何が起こるか見てみましょう。 977 00:40:09,970 --> 00:40:15,190 文字列0ドットスラッシュを作ります 文字列0、その後、私は 978 00:40:15,190 --> 00:40:16,720 Zamylaの名前を入力する予定。 979 00:40:16,720 --> 00:40:19,428 私はしなかったので、何のプロンプトは、ありません 印刷Fを使用しますが、それは大丈夫です。 980 00:40:19,428 --> 00:40:20,660 私は何をすべきか知っています。 981 00:40:20,660 --> 00:40:23,240 そして実際、それはプリントアウト Zamylaの名前を1行に1つずつ。 982 00:40:23,240 --> 00:40:25,760 >> 今度は少し無謀であるとします。 983 00:40:25,760 --> 00:40:28,461 私は知らなかったと仮定 strlen関数について、私は考え出しました、 984 00:40:28,461 --> 00:40:31,460 すべての権利、誰もが持っているつもりないです 50文字のようなより大きな名前を付けます。 985 00:40:31,460 --> 00:40:36,360 それでは、先に行くと、これを再コンパイルしてみましょう それを再実行してから、Zamylaを入力 986 00:40:36,360 --> 00:40:37,160 またですか。 987 00:40:37,160 --> 00:40:40,850 論理的には、何であります プログラムは、印刷しようとするだろうか? 988 00:40:40,850 --> 00:40:49,545 Z-A-M-Y-L-Aを45のよう メモリの未知のバイト。 989 00:40:49,545 --> 00:40:51,670 そして実際、我々は戻ってくるだろう メモリのこのアイデアに。 990 00:40:51,670 --> 00:40:54,180 しかし、単に論理的に、もし Zamylaの名前は長いこれです、 991 00:40:54,180 --> 00:40:56,450 画像のとおり ここで、我々は何を言っています 992 00:40:56,450 --> 00:40:59,810 維持し、印刷を続けると、印刷を続けるあります 印刷は、印刷を続けると、印刷を続けます 993 00:40:59,810 --> 00:41:03,781 50文字までのすべての方法、 これが起こるために何が起こっているか知っています。 994 00:41:03,781 --> 00:41:05,030 それでは、実際に見てみましょう。 995 00:41:05,030 --> 00:41:06,720 それでは、Zamylaを入力してみましょう。 996 00:41:06,720 --> 00:41:07,250 面白い。 997 00:41:07,250 --> 00:41:08,190 我々は幸運。 998 00:41:08,190 --> 00:41:09,700 ホワイトスペースのちょうど全体の束。 999 00:41:09,700 --> 00:41:09,930 ああ。 1000 00:41:09,930 --> 00:41:11,120 1ファンキーな文字があります。 1001 00:41:11,120 --> 00:41:14,577 それは一種の奇妙な質問のように見えます そこにマークしたが、Zamylaの名前があ​​ります。 1002 00:41:14,577 --> 00:41:15,660 のは本当に無謀取得してみましょう。 1003 00:41:15,660 --> 00:41:20,000 どのようにして、我々は500を印刷 未知へのブロック? 1004 00:41:20,000 --> 00:41:24,380 それでは、先に行くと、これを作ってみよう 同様にして、再実行してください。 1005 00:41:24,380 --> 00:41:27,980 そしてので、のフルスクリーンにしましょう 我々はより多くのスペースを確認する必要があります。 1006 00:41:27,980 --> 00:41:30,460 Zamyla。 1007 00:41:30,460 --> 00:41:31,830 再び幸運。 1008 00:41:31,830 --> 00:41:33,070 >> 我々はより多くの無謀取得あえて? 1009 00:41:33,070 --> 00:41:36,070 それでは、より無謀取得してみましょう。 1010 00:41:36,070 --> 00:41:39,350 50,000文字。 1011 00:41:39,350 --> 00:41:41,390 これは、最も確実に良いアイデアではありません。 1012 00:41:41,390 --> 00:41:41,890 大丈夫。 1013 00:41:41,890 --> 00:41:42,990 文字列0にします。 1014 00:41:42,990 --> 00:41:44,720 これは、私たちの最後のデモになります。 1015 00:41:44,720 --> 00:41:47,261 Zamyla。 1016 00:41:47,261 --> 00:41:48,632 うわ。 1017 00:41:48,632 --> 00:41:50,010 うわ。 1018 00:41:50,010 --> 00:41:50,680 OK。 1019 00:41:50,680 --> 00:41:54,407 だから、私の記憶は、今本当に空であります これは実際に一種のに便利です。 1020 00:41:54,407 --> 00:41:55,990 私はすべての権利をto--取得しようとしています。 1021 00:41:55,990 --> 00:41:57,614 そして今、私は無謀な取得するつもりです。 1022 00:41:57,614 --> 00:41:58,570 50万。 1023 00:41:58,570 --> 00:42:03,860 Make-- LETのフルスクリーンそれ。 1024 00:42:03,860 --> 00:42:04,990 入力します。 1025 00:42:04,990 --> 00:42:05,490 Zamyla。 1026 00:42:05,490 --> 00:42:12,050 1027 00:42:12,050 --> 00:42:13,390 そうしよう。 1028 00:42:13,390 --> 00:42:15,610 私はどのようなことは考えています ですが、それは悪い聞こえます。 1029 00:42:15,610 --> 00:42:16,110 大丈夫。 1030 00:42:16,110 --> 00:42:20,322 そしてすぐに、実際には、あなたがしている場合のうち、 営業時間内の幸運数 1031 00:42:20,322 --> 00:42:22,780 問題には、次のいずれかを設定します 非常によく、これを発生することがあります。 1032 00:42:22,780 --> 00:42:25,490 セグメンテーションフォールトは、実際にはありません 明確に定義された意味を有します。 1033 00:42:25,490 --> 00:42:28,450 それは間違いのいくつかの種類を意味し メモリのセグメントに関連します。 1034 00:42:28,450 --> 00:42:30,490 そして、普通の言葉で、 それは我々が触れたことを意味します 1035 00:42:30,490 --> 00:42:34,780 memory--私たちは自分のコンピュータにRAMを使用しました 私はへのアクセスを持っていてはならないこと。 1036 00:42:34,780 --> 00:42:37,050 そして、それは両方の何です パワフルでも危険 1037 00:42:37,050 --> 00:42:39,910 約Cは実際にあなたのことです 自由なアクセスを持っています 1038 00:42:39,910 --> 00:42:45,910 あなたのプログラムのメモリの全体に またはバイトのRAM、より具体的に。 1039 00:42:45,910 --> 00:42:49,510 >> だから、たとえZamylaの名前 唯一の6文字の長さで、 1040 00:42:49,510 --> 00:42:51,450 私はまだどこにでも行くことができます メモリ内に私が欲しいです。 1041 00:42:51,450 --> 00:42:53,491 あなたがしている場合はさておきとして、 これまでにいくつかの記事を読みます 1042 00:42:53,491 --> 00:42:55,610 いくつかの約年間で サーバまたはいくつかのプログラム 1043 00:42:55,610 --> 00:42:58,654 ことクラックやハッキング取得 何かの撮影利点 1044 00:42:58,654 --> 00:43:00,820 バッファオーバーフローと呼ばれます 私たちが実際にだろうと活用 1045 00:43:00,820 --> 00:43:04,970 それはですが、数週間のうちに話 一般的に何とかだましを参照 1046 00:43:04,970 --> 00:43:09,090 うまく行くにコンピュータ メモリの境界を越えて 1047 00:43:09,090 --> 00:43:11,410 それが持っているべきであること、および ジューシーな何かを見つけます 1048 00:43:11,410 --> 00:43:13,530 それはmemory--に パスワード、おそらく、道 1049 00:43:13,530 --> 00:43:16,990 いくつかのシリアル番号を回避します 確認、または一般的にできるだけ 1050 00:43:16,990 --> 00:43:20,360 コンピュータが実行されているトリックします 意図していないされたコード。 1051 00:43:20,360 --> 00:43:22,360 しかし、それでは、に戻って来るように ちょっと現実 1052 00:43:22,360 --> 00:43:24,550 このプログラムがあった場所 strlen関数を使用して実装、 1053 00:43:24,550 --> 00:43:26,110 そして、ここまで一つのことをご紹介します。 1054 00:43:26,110 --> 00:43:30,030 これらのトップ3のラインの間で新しい何ですか? 1055 00:43:30,030 --> 00:43:30,910 >> だから、文字列のドット時間。 1056 00:43:30,910 --> 00:43:35,490 これはと呼ばれるこのライブラリはありますが判明 文字列のドット、H、またはString図書館、 1057 00:43:35,490 --> 00:43:38,490 そのヘッダファイル、いわば、 私を与える文字列のドットhがあります 1058 00:43:38,490 --> 00:43:40,860 このSTRLEN機能へのアクセス。 1059 00:43:40,860 --> 00:43:43,841 私はそれを省略した場合、コンパイラがあります 何らかの形で私に叫ぶつもり。 1060 00:43:43,841 --> 00:43:44,590 しかし、あなたは何を知っていますか? 1061 00:43:44,590 --> 00:43:46,090 それでは、本当に微妙な取得してみましょう。 1062 00:43:46,090 --> 00:43:50,820 22行目では、何かのようなものがあります のinefficient--ひどく設計、 1063 00:43:50,820 --> 00:43:53,990 このコード行についてarguably--。 1064 00:43:53,990 --> 00:43:56,280 どのように戻って考えます forループが実装されています 1065 00:43:56,280 --> 00:44:00,140 そして、どのような手順が再び起こると 再度初期化again--、 1066 00:44:00,140 --> 00:44:04,110 条件コード 増分は、その後、実行されます 1067 00:44:04,110 --> 00:44:07,880 または変更、条件、 その後、コードは、変更、 1068 00:44:07,880 --> 00:44:11,280 状態、コード、 その後の変化、など。 1069 00:44:11,280 --> 00:44:15,320 それでは、少しかもしれません 気になるか、不十分ここで行わ? 1070 00:44:15,320 --> 00:44:16,387 うん、青インチ 1071 00:44:16,387 --> 00:44:18,220 観客:STRLENがあります 多くの、何回も呼ばれます。 1072 00:44:18,220 --> 00:44:20,654 1073 00:44:20,654 --> 00:44:21,320 SPEAKER 1:うん。 1074 00:44:21,320 --> 00:44:23,700 だから、strlen関数が呼び出されます 何度もが、何であります 1075 00:44:23,700 --> 00:44:27,113 Zamyla名の長さ 初めてループが実行されますか? 1076 00:44:27,113 --> 00:44:27,860 >> 聴衆:6。 1077 00:44:27,860 --> 00:44:28,110 >> SPEAKER 1:6。 1078 00:44:28,110 --> 00:44:30,976 まあ、彼女の名前の長さは何ですか コー​​ドが実行される二回目? 1079 00:44:30,976 --> 00:44:31,432 >> 聴衆:6。 1080 00:44:31,432 --> 00:44:31,890 >> SPEAKER 1:すべての権利。 1081 00:44:31,890 --> 00:44:32,720 それはまだ6です。 1082 00:44:32,720 --> 00:44:33,220 右? 1083 00:44:33,220 --> 00:44:35,260 Zarlaの名前はない持っています 私が探していた場合でも、変更 1084 00:44:35,260 --> 00:44:38,240 彼女の名前の文字の一部だけで。 1085 00:44:38,240 --> 00:44:41,349 だから、私は効果的だという事実 この質問を、何 1086 00:44:41,349 --> 00:44:44,640 Zamylaの長さは、長さが何 Zamylaの、Zamylaの長さは何です、 1087 00:44:44,640 --> 00:44:47,990 6つの別々の時間、または 7であっても、ちょうど愚かです、 1088 00:44:47,990 --> 00:44:50,390 それはその答え不変だから。 1089 00:44:50,390 --> 00:44:53,550 だから私は実際にできました 文字列1にthis--行うあり 1090 00:44:53,550 --> 00:44:55,680 私はここでわずかに改良版を持っています。 1091 00:44:55,680 --> 00:45:00,110 私が持っているThere-- whoops--文字列2 わずかに改良版前記 1092 00:45:00,110 --> 00:45:05,010 私はちょうどthis--の代わりありません 私は、カンマでも、私は0を初期化します 1093 00:45:05,010 --> 00:45:07,990 呼ばれる第二の変数を宣言 N - 私は再びint型を言う必要はありません。 1094 00:45:07,990 --> 00:45:09,220 私は、実際には、いけません。 1095 00:45:09,220 --> 00:45:10,380 しかし、私はnは言います。 1096 00:45:10,380 --> 00:45:13,610 そして私は、nの初期化 そのように、nのstrlen関数、今 1097 00:45:13,610 --> 00:45:17,110 何回strlenをん 合計で実行されますか? 1098 00:45:17,110 --> 00:45:17,610 一度だけ。 1099 00:45:17,610 --> 00:45:20,257 そして、これは私たちが何を意味するかであります 以前より良いデザインについて。 1100 00:45:20,257 --> 00:45:23,090 実際に一度あなたのコードが正しいですか、 戻って、スルー思考、 1101 00:45:23,090 --> 00:45:26,820 私は少しのように使用しています メモリまたは数秒など 1102 00:45:26,820 --> 00:45:30,409 またはコンピュータの時刻のミリ秒 いくつかの問題を実装することが可能? 1103 00:45:30,409 --> 00:45:32,200 そして、私はスクロールするつもりです アップとだけ言及 1104 00:45:32,200 --> 00:45:34,283 この言及があること このバージョンでは、ヌルの、 1105 00:45:34,283 --> 00:45:36,390 私たちはずっと前に戻ってそれに来ます。 1106 00:45:36,390 --> 00:45:41,010 今のところなので、のは見てみましょう ここで、これは私たちを導くために起こっています。 1107 00:45:41,010 --> 00:45:44,110 そう一のことが判明します 今私たちが能力を持っていること 1108 00:45:44,110 --> 00:45:46,860 個々の文字を見て、 私たちは何かを活用することができます 1109 00:45:46,860 --> 00:45:50,807 0週目からは、非常に難解でした 当時のつまらないの一種。 1110 00:45:50,807 --> 00:45:53,390 しかし、今、特にときに我々 週に暗号技術の取得、 1111 00:45:53,390 --> 00:45:54,820 それはかなり強力になるだろう。 1112 00:45:54,820 --> 00:45:57,450 これは、いくつかのとことが判明 int型とフロートtypes--データ 1113 00:45:57,450 --> 00:46:00,300 そして、文字と文字列と それらのいくつかthings--その他 1114 00:46:00,300 --> 00:46:02,800 非常に簡単に別のものに変換することができます。 1115 00:46:02,800 --> 00:46:05,840 >> 例えば、我々は話をするとき ASCIIについていくつかの時間がago--ここです 1116 00:46:05,840 --> 00:46:07,796 大文字A Mまで、ドット、ドット、 1117 00:46:07,796 --> 00:46:12,530 我々はマッピングがあることを言いましたdot-- これらの文字と数字の間。 1118 00:46:12,530 --> 00:46:14,970 実際に、それが成り立ちます 小文字のためにも。 1119 00:46:14,970 --> 00:46:17,470 小文字aは97で、大文字のAは65です。 1120 00:46:17,470 --> 00:46:20,860 ASCIIの数字があります、 これだけで、このマッピングです 1121 00:46:20,860 --> 00:46:23,240 それらの他のすべての文字のためのシステム。 1122 00:46:23,240 --> 00:46:25,030 だから、何を意味するのでしょうか? 1123 00:46:25,030 --> 00:46:28,390 まあ、私は先に、オープン行くつもりです 呼ばれる本当のすぐに何かアップ 1124 00:46:28,390 --> 00:46:31,240 コメントでそのほとんどがASCII 0、。 1125 00:46:31,240 --> 00:46:33,860 そして、再びオンラインにあなたが常にすることができます コメントを経て一目。 1126 00:46:33,860 --> 00:46:36,180 >> そして、何を見てみましょう これは何をするつもりです。 1127 00:46:36,180 --> 00:46:38,410 だから、主な機能を持っています。 1128 00:46:38,410 --> 00:46:41,490 私はちょうどのための番号をハードコーディングされました 今、ので、私は私がやっているか知っています。 1129 00:46:41,490 --> 00:46:42,950 私はここに見たいものを知っています。 1130 00:46:42,950 --> 00:46:45,220 そして、私は65に私を初期化しました。 1131 00:46:45,220 --> 00:46:48,490 そして、私は期待してい 26文字の合計を通して。 1132 00:46:48,490 --> 00:46:52,990 そして、私はするつもりです 一度に1行を印刷 1133 00:46:52,990 --> 00:46:54,930 あなたが解釈することができる場合 これはラインを強調しましたか? 1134 00:46:54,930 --> 00:46:55,970 何を印刷しますか? 1135 00:46:55,970 --> 00:46:56,797 うん。 1136 00:46:56,797 --> 00:46:57,264 >> 観客:あなたが行っています その文字を印刷します 1137 00:46:57,264 --> 00:46:59,805 のマップに対応 文字値と整数値はありますか? 1138 00:46:59,805 --> 00:47:01,199 1139 00:47:01,199 --> 00:47:01,990 SPEAKER 1:その通り。 1140 00:47:01,990 --> 00:47:04,740 私は手紙を印刷するつもりです 整数値に対応します、 1141 00:47:04,740 --> 00:47:06,131 またその逆、は以下の通り。 1142 00:47:06,131 --> 00:47:08,880 さて、この、誰かが先に言いました、 charの単なるプレースホルダです。 1143 00:47:08,880 --> 00:47:09,490 それはまだです。 1144 00:47:09,490 --> 00:47:12,280 これは、もちろん、プレースホルダ 改行int--ないため。 1145 00:47:12,280 --> 00:47:18,140 そして今、私の最初の値に気づくこと 私はそのプレースホルダでのプラグインです 1146 00:47:18,140 --> 00:47:22,320 ちょうどI.私は言っていないされ、 カッコ内、char型の私が、 1147 00:47:22,320 --> 00:47:26,700 これは括弧内のcharがあります 私は、治療、コンパイラに伝えます 1148 00:47:26,700 --> 00:47:28,490 ないそれは数である、であるものとして。 1149 00:47:28,490 --> 00:47:30,490 実際の文字として扱います。 1150 00:47:30,490 --> 00:47:34,490 第二の値に対し私が目詰まりしてい in-- I--はちょうど数でなければなりません。 1151 00:47:34,490 --> 00:47:38,140 >> だから私はこのprogram--をコンパイルする場合 これは、ASCII 0を作るです 1152 00:47:38,140 --> 00:47:41,720 ドットスラッシュASCII 0--私はちょうど取得します この便利な小さなチャートこと 1153 00:47:41,720 --> 00:47:44,950 私は、可能なすべての示し それを考えるすることなくマッピング 1154 00:47:44,950 --> 00:47:46,450 または自分自身でそれを把握します。 1155 00:47:46,450 --> 00:47:48,783 そして私はまた、プリントアウトしています 小文字に気付きます、 1156 00:47:48,783 --> 00:47:51,410 後で数行ので、私 また、このマッピングを印刷 1157 00:47:51,410 --> 00:47:53,737 同様に、ちょうどにあります 一度あなたが理解していることを言います 1158 00:47:53,737 --> 00:47:55,570 下に何が起こっています フード、することができます 1159 00:47:55,570 --> 00:47:57,111 自動的に前後に変換します。 1160 00:47:57,111 --> 00:48:00,160 そして、実際には、あなたのいずれかの場合 これまで小学校でこれをやりました 1161 00:48:00,160 --> 00:48:03,490 または誰かの話を聞きました mythicallyノートを取ります 1162 00:48:03,490 --> 00:48:05,620 彼に渡します またはクラスで彼女の友人、 1163 00:48:05,620 --> 00:48:08,300 しかし、あなたがスクランブル AがBになるようにすることによって、文字、 1164 00:48:08,300 --> 00:48:11,240 Bは、C、または何かになります それよりも複雑な、よく、 1165 00:48:11,240 --> 00:48:13,410 あなたはどのように取り掛かるだろう 子供のようにそれを実装しますか? 1166 00:48:13,410 --> 00:48:16,340 さて、あなただけの種類の知っています Aは、B、BがCになるとなり 1167 00:48:16,340 --> 00:48:19,700 しかし、数学的に、 その子供は何をしていましたか? 1168 00:48:19,700 --> 00:48:22,050 あなたはそれぞれの文字に何を追加したのですか? 1169 00:48:22,050 --> 00:48:23,340 実際には、1。 1170 00:48:23,340 --> 00:48:27,740 >> あなたがBに変更するときに、それはです 種類の66に65を変更するような、 1171 00:48:27,740 --> 00:48:29,590 これは数学的にちょうど1を追加することを意味します。 1172 00:48:29,590 --> 00:48:33,300 だから、あなたが実装した場合 その少し欺瞞技術 1173 00:48:33,300 --> 00:48:36,380 コー​​ド内であなたの先生のために、あなた それだけで正確に行う可能性があります 1174 00:48:36,380 --> 00:48:38,552 一緒に単一の文字を追加します。 1175 00:48:38,552 --> 00:48:40,260 だからずっと前に、私たちはしています どのように見に行きます 1176 00:48:40,260 --> 00:48:43,300 実際にそれを利用することができます 純粋にスクランブルおよびスクランブル解除 1177 00:48:43,300 --> 00:48:43,991 情報。 1178 00:48:43,991 --> 00:48:47,240 一方で、私たちが始めたことを知っています カップル他のライブラリを導入します 1179 00:48:47,240 --> 00:48:48,990 今日文字列1をhere--。 1180 00:48:48,990 --> 00:48:51,180 そして、非常に役立つサイト うまくいけば、あなたは見つけることができます 1181 00:48:51,180 --> 00:48:55,010 これは、reference.cs50.netと呼ばれています 教員が一緒に入れています、 1182 00:48:55,010 --> 00:48:57,510 そのようにあなたがしたい場合は どのようにstrlen作品を見て、 1183 00:48:57,510 --> 00:48:59,300 あなたが入力し始めることができます 関数の名前、 1184 00:48:59,300 --> 00:49:02,890 そこstrlenをクリックして、 あまり快適説明 1185 00:49:02,890 --> 00:49:03,700 表示されるようになるだろう。 1186 00:49:03,700 --> 00:49:06,880 それとも、公式が必要な場合 Linuxベースの説明、 1187 00:49:06,880 --> 00:49:08,945 あなたは、より快適なクリックすることができます 右上、およびそれに 1188 00:49:08,945 --> 00:49:12,070 同じ情報を提示します、 しかし、より複雑な用語です。 1189 00:49:12,070 --> 00:49:15,070 それはに便利なリソースです 実際にすべてが何をするか知っています。 1190 00:49:15,070 --> 00:49:17,320 >> 我々がしようとしている次の時間 オヴァルティンを見てみましょう 1191 00:49:17,320 --> 00:49:20,070 以上、そして自分自身を紹介 暗号の世界へ。 1192 00:49:20,070 --> 00:49:21,930 それ以前に、我々が表示されます あなたは今週後半。 1193 00:49:21,930 --> 00:49:23,390 そして今、コルトンオグデン。 1194 00:49:23,390 --> 00:49:26,730 水曜日にお会いしましょう​​。 1195 00:49:26,730 --> 00:49:30,216 >> [音楽再生] 1196 00:49:30,216 --> 00:49:33,702 >> [音楽再生] 1197 00:49:33,702 --> 00:49:38,682 1198 00:49:38,682 --> 00:49:42,200 >> SPEAKER 1:どのような 【一体全体]あなたがやっていますか? 1199 00:49:42,200 --> 00:49:45,720 >> SPEAKER 1:私はデザートを食べるのですか? 1200 00:49:45,720 --> 00:49:47,160 どのようにそれを食べていますか? 1201 00:49:47,160 --> 00:49:47,860 あなたの手では? 1202 00:49:47,860 --> 00:49:54,050 1203 00:49:54,050 --> 00:49:57,940 >> [音楽再生] 1204 00:49:57,940 --> 00:50:03,453