1 00:00:00,000 --> 00:00:05,830 2 00:00:05,830 --> 00:00:08,650 >> JASONハーシュホーン:へようこそ CS50セクション、みんな。 3 00:00:08,650 --> 00:00:11,430 私の名前はジェイソン·ハーシュホーンです。 4 00:00:11,430 --> 00:00:15,850 私はあなたのTF多くのですが、多くの 人々は、うまくいけば私たちに参加します 5 00:00:15,850 --> 00:00:20,420 オンラインで、拡張子の学生や学生 セクションを見てしようとしている場合、それら 6 00:00:20,420 --> 00:00:22,830 その週またはそれらのセクションを逃した 彼らが望ん場合だけキャッチアップ 7 00:00:22,830 --> 00:00:24,510 いくつかの材料を検討する。 8 00:00:24,510 --> 00:00:30,060 >> だからシラバスに従って、そのすべて あなたのこと、正しい読みました? 9 00:00:30,060 --> 00:00:31,390 私はヘッドうなずくの多くを参照してください。 10 00:00:31,390 --> 00:00:34,220 のセクションでは、機会を提供 当然のを探索する 11 00:00:34,220 --> 00:00:37,420 より親密な環境での材料、 同様に飛び込むなど 12 00:00:37,420 --> 00:00:38,810 ハンズオン活動。 13 00:00:38,810 --> 00:00:41,230 >> だから、我々はしているものは、基本的だ 毎週やっているつもり。 14 00:00:41,230 --> 00:00:45,090 我々は我々が持っているものを通過するつもりだ 最も重要であると判定 15 00:00:45,090 --> 00:00:49,170 講義で説明するトピック、およびもの おそらく最も有用と 16 00:00:49,170 --> 00:00:52,780 問題のセットで出てくる可能性が最も高い とクイズで、あなたのコーディングで 17 00:00:52,780 --> 00:00:53,970 CS50の外で生活。 18 00:00:53,970 --> 00:00:57,260 だから私たちは、これらのトピックに入るつもり それらを議論し、その上を行く 19 00:00:57,260 --> 00:01:00,660 君たちが持っている任意の質問に答えると、 そして私達は多くのやろうとしている 20 00:01:00,660 --> 00:01:02,250 コー​​ディングの問題を練習します。 21 00:01:02,250 --> 00:01:04,239 >> あなたは、すべてのラップトップを持って来た、 これは素晴らしいです。 22 00:01:04,239 --> 00:01:05,710 これは、コンピュータサイエンスのクラスです。 23 00:01:05,710 --> 00:01:10,070 しかし、我々が行う演習の多くは、 あなたがのためにあなたのラップトップを必要としません。 24 00:01:10,070 --> 00:01:11,720 あなたは、一枚の紙にそれらを行うことができます。 25 00:01:11,720 --> 00:01:13,580 それはあなたがしようとしている方法です クイズにそれらを行う。 26 00:01:13,580 --> 00:01:16,450 そして実際、それは素晴らしい方法だ 本当にあなたはどのように行うことを知っている 27 00:01:16,450 --> 00:01:19,720 あなたが50〜をチェックしていない場合は何か 頼るかに依存することを確認し、伝える 28 00:01:19,720 --> 00:01:20,620 あなたはすべてのエラーを作った。 29 00:01:20,620 --> 00:01:25,670 >> だから、上のコードに歓迎しています アプライアンスまたはrun.cs50.net、です 30 00:01:25,670 --> 00:01:29,770 あなたがコーディングすることができます別のツール オンラインで、私も場合、推薦する 31 00:01:29,770 --> 00:01:32,280 あなたは、シートを使って、それを試していない 紙のこれらの練習をしよう 32 00:01:32,280 --> 00:01:33,640 用紙上の問題。 33 00:01:33,640 --> 00:01:35,330 再びので、それは最終的にだ 何をするつもりだ 34 00:01:35,330 --> 00:01:37,430 クイズで行うように頼んだ。 35 00:01:37,430 --> 00:01:44,080 >> だから私たちから始めましょう 今日の議題。 36 00:01:44,080 --> 00:01:47,710 我々のためにいくつかの規範を越えるつもり 我々のセクションでは、次に我々はダイビングするつもりだ 37 00:01:47,710 --> 00:01:51,180 配列、関数、コマンドラインに 引数は、何をみんなで 38 00:01:51,180 --> 00:01:56,200 講義では、この一週間カバーした その後月曜日、何をカバーします 39 00:01:56,200 --> 00:01:57,330 明日のより。 40 00:01:57,330 --> 00:01:59,060 そして最後に、我々は行っている pset2について話をする。 41 00:01:59,060 --> 00:02:03,640 私はあなたの場合、手のショーを得ることができれば 問題セット2を見ていない 42 00:02:03,640 --> 00:02:04,890 仕様。 43 00:02:04,890 --> 00:02:07,060 44 00:02:07,060 --> 00:02:08,120 私たちは誰も言うよ。 45 00:02:08,120 --> 00:02:09,419 ファンタスティック。 46 00:02:09,419 --> 00:02:12,070 >> 我々は、ビットで問題セットについて話します しかし、あなたは問題セットを読み込む場合 47 00:02:12,070 --> 00:02:14,340 仕様です あなたがする必要があるすべて。 48 00:02:14,340 --> 00:02:18,370 あなたがに来る前に読んだことがある場合 火曜日のクラスとセクションは、意志 49 00:02:18,370 --> 00:02:19,220 偉大な位置とする。 50 00:02:19,220 --> 00:02:21,680 我々は、問題のセットを介して行くことができます これは、私たちが行っているものです 51 00:02:21,680 --> 00:02:22,090 終わりに行う。 52 00:02:22,090 --> 00:02:23,500 我々は通過するつもりだ ロジックは、確認してください 53 00:02:23,500 --> 00:02:24,710 誰もが同じページ上にある。 54 00:02:24,710 --> 00:02:28,650 >> 私は、あなたが火曜日を残すことができるようにしたい 何あなたと非常に快適な感じ 55 00:02:28,650 --> 00:02:31,560 、今週の問題セットに行う必要があります そうしないならば、私は喜んでます 56 00:02:31,560 --> 00:02:33,050 後に滞在し、あなたと働く。 57 00:02:33,050 --> 00:02:36,850 しかし、それは、あなたがしなければならないことが一つある 、やるが、私は本当にスマートだと思う 58 00:02:36,850 --> 00:02:40,500 ただ問題セットを読み込むため 火曜日にクラス別仕様、 59 00:02:40,500 --> 00:02:42,640 それはどのように聞こえる 君たちの多くはなかった。 60 00:02:42,640 --> 00:02:45,810 >> 私は、各クラスの議題から始めましょう ので、あなたは私たちが行っているかを知る。 61 00:02:45,810 --> 00:02:49,520 これはまた、見ている人のために便利です 各セクションなぜならオンライン 62 00:02:49,520 --> 00:02:53,540 色は、あなたが来てほしいので、もしコード化されている 背中とだけではなく、10分を見る 63 00:02:53,540 --> 00:02:56,950 全体の90分のセクションよりも、あなた ただ色分けセクションに行くことができます 64 00:02:56,950 --> 00:02:57,890 そしてその部分を見てください。 65 00:02:57,890 --> 00:03:01,510 だから私は、素敵にそれらを分割しようとしてきました あなたができるようになりますモジュール - 66 00:03:01,510 --> 00:03:03,960 あなたが戻ってきて確認したい場合 だけである他の学生や 67 00:03:03,960 --> 00:03:05,350 確認するセクションを見て - 68 00:03:05,350 --> 00:03:08,130 具体的なものを見つけるために、彼ら に注意を払うようにしたい 69 00:03:08,130 --> 00:03:10,480 との詳細については。 70 00:03:10,480 --> 00:03:11,390 甘い。 71 00:03:11,390 --> 00:03:12,180 >> 規範。 72 00:03:12,180 --> 00:03:13,680 私はキャンパスでFOPのリーダーだ。 73 00:03:13,680 --> 00:03:14,900 誰もFOPをしたかどうかは知りません。 74 00:03:14,900 --> 00:03:16,280 誰FOPをしましたか? 75 00:03:16,280 --> 00:03:17,100 一人はFOPをしました。 76 00:03:17,100 --> 00:03:18,430 二人はFOPをしました。 77 00:03:18,430 --> 00:03:19,250 素晴らしい。 78 00:03:19,250 --> 00:03:22,360 だからFOP屋外初年度である オリエンテーションプログラム。 79 00:03:22,360 --> 00:03:27,240 私たちは、森の中に新入生を取るとする ほとんどの魔法の経験 80 00:03:27,240 --> 00:03:28,830 自分たちの生活、正しいですか? 81 00:03:28,830 --> 00:03:29,220 うん。 82 00:03:29,220 --> 00:03:30,080 権利についてサウンド。 83 00:03:30,080 --> 00:03:36,360 >> だから私は、ちょうど私たちは非常に最初に起動したい いくつかの規範を議論することによりセクション 84 00:03:36,360 --> 00:03:38,860 クラスとの関係のために 私は思うので 85 00:03:38,860 --> 00:03:40,010 彼らは非常に重要だ。 86 00:03:40,010 --> 00:03:43,630 あなたの人として、何よりもまず、 私のセクションでは、受信しているされている 87 00:03:43,630 --> 00:03:47,150 という点で議論されている 電子メールには、私はこれが大好きです。 88 00:03:47,150 --> 00:03:48,130 これが今年の私のお気に入りの一部です。 89 00:03:48,130 --> 00:03:49,100 私はとても興奮してきた。 90 00:03:49,100 --> 00:03:50,040 私は時間のために今日ここにきた。 91 00:03:50,040 --> 00:03:54,560 私を除いて、この建物を残していない 私は、私はCS50セクションを愛しているから食べて行く 92 00:03:54,560 --> 00:03:58,620 教えを愛し、私が働いて大好き 君たちと。 93 00:03:58,620 --> 00:04:02,000 >> 私の最優先事項の一つは、そうでない場合は私の ナンバーワンの優先順位、のためだけでなく、 94 00:04:02,000 --> 00:04:05,130 しかし、私の他のを含め、このクラス クラスとextracurricularsは、することです 95 00:04:05,130 --> 00:04:09,350 君たちをサポートし、皆さんを支援し、 あなたことを確認するために最善を尽くし 96 00:04:09,350 --> 00:04:13,780 人は生産的な、楽しい、素晴らしい、を持っている 合、エキサイティング 97 00:04:13,780 --> 00:04:15,250 このクラスでの経験。 98 00:04:15,250 --> 00:04:16,190 それは私がすることを約束しているものです。 99 00:04:16,190 --> 00:04:17,959 私はこれを行うことを愛する理由です。 100 00:04:17,959 --> 00:04:20,190 それは私のナンバーワンのことですが、 君たちをサポートしています。 101 00:04:20,190 --> 00:04:25,110 あなたは、講義についてのご質問がある場合は、 問題セット、セクション、 102 00:04:25,110 --> 00:04:28,830 人生には、話をしたい場合でも、 人生は、手を差し伸べること自由に感じなさい。 103 00:04:28,830 --> 00:04:31,210 >> あなたが、自分の携帯電話番号を持つ あなたは私の電子メールを持っている 104 00:04:31,210 --> 00:04:32,910 アドレスは、あなたは私のGChatを持っている。 105 00:04:32,910 --> 00:04:37,540 あなたは、のいずれかまたはすべてで私に連絡することができます それらはいつでも、おそらく取得することはありません 106 00:04:37,540 --> 00:04:38,720 応答時に。 107 00:04:38,720 --> 00:04:41,020 私が試してみて、24時間以内に戻ってもらう。 108 00:04:41,020 --> 00:04:44,760 多くの場合、それは内であろう 20分または24分。 109 00:04:44,760 --> 00:04:46,110 私はそれを言っているはず それは並列ようにします。 110 00:04:46,110 --> 00:04:48,840 しかし、あなたが応答を取得します かなり迅速に。 111 00:04:48,840 --> 00:04:54,220 >> あなたは時間の前に、私にテキストであれば 問題セットが原因で、私はあなたを落ち着かます 112 00:04:54,220 --> 00:04:57,660 ダウンと深い呼吸の練習を行う あなたと、しかし、あなたが起動していない場合 113 00:04:57,660 --> 00:05:00,270 あなたはおそらく終了するつもりはない、と 私は実際にそこにあなたを助けることができない 114 00:05:00,270 --> 00:05:01,710 にもかかわらず、私は最善を尽くすよ。 115 00:05:01,710 --> 00:05:03,920 だから私は全力を尽くします 私はあなたをサポートすることができます。 116 00:05:03,920 --> 00:05:07,980 かどうか手を差し伸べること自由に感じなさい それは、オフィス·アワーで、再びセクションにだ 117 00:05:07,980 --> 00:05:09,150 外でも、あなたは私が表示された場合、または。 118 00:05:09,150 --> 00:05:11,800 私は会うために時間を設定することが幸せだ や問題を介して動作 119 00:05:11,800 --> 00:05:14,410 付きまたは材料の上に行く。 120 00:05:14,410 --> 00:05:15,990 だからナンバーワン、サポートです。 121 00:05:15,990 --> 00:05:17,940 私はすべて私を行います あなたをサポートすることができます。 122 00:05:17,940 --> 00:05:21,520 >> ナンバー2、途中で会議。 123 00:05:21,520 --> 00:05:24,760 私がなりたい限り、私は私 全能や全能ではないか、 124 00:05:24,760 --> 00:05:28,410 全知ので、私はすべて知らない 私がやっていることであれば時間がきている 125 00:05:28,410 --> 00:05:33,410 私が教えてる方法であれば、全体で トピックは、あなたがそれを学ぶことができます場合、または 126 00:05:33,410 --> 00:05:36,120 トピックを混同しないがされている 手を上げたり、私に尋ねる 127 00:05:36,120 --> 00:05:37,390 または私にメールを送ってください。 128 00:05:37,390 --> 00:05:42,150 それともあなたは、再び、混乱している場合でも、 問題セットで何かについて。 129 00:05:42,150 --> 00:05:44,240 あなたは私に手を差し伸べていない場合は、 私は確かにそれを知ることはできません。 130 00:05:44,240 --> 00:05:46,950 私は上にチェックインするために最善を尽くすつもりです 君たちには、すべてがあることを確認してください 131 00:05:46,950 --> 00:05:51,170 うまくいって、方法で物事を教えしよう それは、ほとんどのに資するであろう 132 00:05:51,170 --> 00:05:54,910 あなたの学習スタイルが、あるとすれば 私が何かできることは、私に知らせてください。 133 00:05:54,910 --> 00:05:58,520 >> これらの線に沿って、あなたは、いくつかの助けが必要な場合 問題セットで、私はもっとだ 134 00:05:58,520 --> 00:05:59,700 あなたを助けることよりも幸せ 問題が設定されている。 135 00:05:59,700 --> 00:06:02,300 我々は多くのやろうとしている 第二に向かっている 136 00:06:02,300 --> 00:06:03,460 このセクションの半分。 137 00:06:03,460 --> 00:06:06,040 しかし、あなたは問題を読んでいない場合に設定します 背中と散歩を見ていない 138 00:06:06,040 --> 00:06:09,310 ショートパンツを通って、見ていない と私はあなたを教えるために期待 139 00:06:09,310 --> 00:06:13,260 録画されたすべてのもの オンラインまたは、CS50で見つけることができる 140 00:06:13,260 --> 00:06:16,720 研究では、それはに本当に公平ではない 私や他のピアに。 141 00:06:16,720 --> 00:06:20,440 142 00:06:20,440 --> 00:06:25,730 >> そうしてください、私は助けてより幸せだ あなたが、あなたみんなで私を満たすようになった 143 00:06:25,730 --> 00:06:27,230 真ん中。 144 00:06:27,230 --> 00:06:30,100 我々のリソースのトンを持っている CS50で利用できるあなた。 145 00:06:30,100 --> 00:06:31,230 私はそのうちのいくつかを挙げる。 146 00:06:31,230 --> 00:06:32,960 それらを活用してください。 147 00:06:32,960 --> 00:06:35,140 あなたが混乱している場合、私はよりも幸せだ あなたがそれらを説明するのを助けるために 148 00:06:35,140 --> 00:06:39,290 別の方法、それは公正ではない場合 学生は、営業時間に現れる 149 00:06:39,290 --> 00:06:42,530 何を開始し、そうではありませんてい 木曜日の夜、彼らが期待している 150 00:06:42,530 --> 00:06:45,880 一つ一つのを介してそれらを歩いてTF 問題の事が原因で設定 151 00:06:45,880 --> 00:06:47,140 正午翌日。 152 00:06:47,140 --> 00:06:48,300 理にかなって? 153 00:06:48,300 --> 00:06:50,890 繰り返しになりますが、途中で私たちを満たしてください。 154 00:06:50,890 --> 00:06:53,230 >> そして最後に、高い期待。 155 00:06:53,230 --> 00:06:58,010 私はだグレーディング誰になるだろうよ 私のセクションで、またはあなたの得点 156 00:06:58,010 --> 00:06:59,020 問題セット。 157 00:06:59,020 --> 00:07:01,240 あなたが問題をバック行っていない まだ0または1を設定します。 158 00:07:01,240 --> 00:07:02,250 我々はそのことについて申し訳ございません。 159 00:07:02,250 --> 00:07:04,970 それは最終的ににしばらく連れて行ってくれました セクションを解決し、今 160 00:07:04,970 --> 00:07:05,560 私たちは、グレーディングを開始することができます。 161 00:07:05,560 --> 00:07:09,560 >> 私はあなたにそれらを取り戻すだろう できるだけ早く。 162 00:07:09,560 --> 00:07:11,890 それらは私の一部です そこadvisees。 163 00:07:11,890 --> 00:07:14,150 私はあなたにそれらを取り戻すだろう できるだけ早く。 164 00:07:14,150 --> 00:07:18,046 問題のセット2のために、我々は上になるでしょう スケジュールと我々は彼らを取得を開始します 165 00:07:18,046 --> 00:07:20,440 あなたにかなり迅速後 あなたがそれらをインチ回す 166 00:07:20,440 --> 00:07:24,130 >> あなたの問題が戻ってセットを取得、あなた あなたから知っているように、スコアを取得します 167 00:07:24,130 --> 00:07:28,150 正しさ、 - シラバスを読んで 設計、スコープ、およびスタイルのスコア。 168 00:07:28,150 --> 00:07:29,760 また、コメントを取得します。 169 00:07:29,760 --> 00:07:32,160 コメントがより重要である スコアより。 170 00:07:32,160 --> 00:07:33,780 私はそれがあることを言うことは安全だと思います。 171 00:07:33,780 --> 00:07:37,930 >> スコアは単なる数である 1から5まで。 172 00:07:37,930 --> 00:07:38,930 それはそれらに読み取るのは難しい。 173 00:07:38,930 --> 00:07:40,720 それはそれらから改善するのは難しい。 174 00:07:40,720 --> 00:07:44,460 しかし、コメントは特定の指摘する あなたはよくやったものや地域 175 00:07:44,460 --> 00:07:48,360 あなたは上の改善といくつかのあなたを与えることができます 将来または代替のためのアイデア 176 00:07:48,360 --> 00:07:49,160 物事の方法。 177 00:07:49,160 --> 00:07:52,270 >> だからお願い、お願い、お読みください コメントを通して。 178 00:07:52,270 --> 00:07:54,190 私に多くの時間を入れて それらのコメント。 179 00:07:54,190 --> 00:07:57,190 それらを読んで、単にしないでください の一番下までスクロール 180 00:07:57,190 --> 00:08:01,890 PDF、あなたのスコアを探して、またはオンラインで行く とあなたのスコアを見つけ、その後無視 181 00:08:01,890 --> 00:08:02,800 コメント。 182 00:08:02,800 --> 00:08:03,910 それはあなたがしている方法ではありません 良くなって行く。 183 00:08:03,910 --> 00:08:06,550 どのように向上させるつもりはないことを あなたのスコアは、最終的には、単に 184 00:08:06,550 --> 00:08:07,340 スコアを見て。 185 00:08:07,340 --> 00:08:08,760 それらのコメントを見てください。 186 00:08:08,760 --> 00:08:13,240 >> と高い期待のラインに沿って、 再び、私が言ったように、あなた 187 00:08:13,240 --> 00:08:14,260 5を通じて1から得点することができます。 188 00:08:14,260 --> 00:08:17,120 補数、スリー、そして四つんばいは スコアの大半 189 00:08:17,120 --> 00:08:17,940 あなたが取得することになるだろう。 190 00:08:17,940 --> 00:08:20,180 ワンズとファイブ両方本当にまれです。 191 00:08:20,180 --> 00:08:21,720 物事は常にあります 私たちはより良い行うことができます。 192 00:08:21,720 --> 00:08:23,490 私はプログラムをコーディングするたびに、そこ いつも何か私 193 00:08:23,490 --> 00:08:24,800 良く行っている可能性があります。 194 00:08:24,800 --> 00:08:28,740 >> そうではなく、5つを得ると言って すべてのすべての時刻とやった 195 00:08:28,740 --> 00:08:31,960 完璧なすべては、私はないと思う 私たちには本当に信じている我々は - または 196 00:08:31,960 --> 00:08:34,830 うまくいけば、我々はすべてをしない 時間のすべてを完璧。 197 00:08:34,830 --> 00:08:37,010 だから心配しない場合 5を取得できませんでした。 198 00:08:37,010 --> 00:08:40,470 5人は、上に4をマップしていない 3行い、Bにマップされません 199 00:08:40,470 --> 00:08:42,950 ないC.ドラッグしないマップ どのようにスコアが働く。 200 00:08:42,950 --> 00:08:48,140 >> ダビデはで、何度も言っているように 学期の終わりあなたのスコアのすべてと 201 00:08:48,140 --> 00:08:53,390 私からの入力、あなたのTFは、一緒に来て とあなたのための最終的な等級を決定します。 202 00:08:53,390 --> 00:08:56,760 しかし、再び、それは、5ないです 4つ、B、等。 203 00:08:56,760 --> 00:09:01,150 だから私は大きな期待を持っているつもりです 君たちのために。 204 00:09:01,150 --> 00:09:03,670 私は良い問題を期待するつもりだ セットと私は与えるつもりだ 205 00:09:03,670 --> 00:09:05,010 あなたのようなフィードバック。 206 00:09:05,010 --> 00:09:07,430 そして、それはあなたがしていることを意味するつもりはない 悪化等級を取得するつもり。 207 00:09:07,430 --> 00:09:09,760 あなたがの点で採点されている 週からあなたの進歩 208 00:09:09,760 --> 00:09:11,260 当然の最後までゼロ。 209 00:09:11,260 --> 00:09:17,190 >> そして最後に、高の面で 時クラスの期待が、私は大好き 210 00:09:17,190 --> 00:09:18,460 人々が参加しています。 211 00:09:18,460 --> 00:09:23,180 私はいくつかの人々がより感じたり、理解 参加少なく快適。 212 00:09:23,180 --> 00:09:26,050 その他の人々が参加している 手を上げていないことで 213 00:09:26,050 --> 00:09:27,320 すべての時間を話している。 214 00:09:27,320 --> 00:09:30,570 しかし、このクラスの私たちは、あることを行っている 小さな問題の多くは、多くのことをやって 215 00:09:30,570 --> 00:09:33,770 ミニの質問、その後いくつかの 大きいコーディングの問題。 216 00:09:33,770 --> 00:09:36,760 だから、間違いなくこれらの演習をうまく 私たちはあなたのコンピュータ上または上のそれらを行う際に 217 00:09:36,760 --> 00:09:37,900 一枚の紙。 218 00:09:37,900 --> 00:09:40,933 >> しかし、私はまた前にあなたにいくつかの時間を与えるだろう 誰もが今までにいくつかにお答えしています 219 00:09:40,933 --> 00:09:42,220 私が尋ねる質問の。 220 00:09:42,220 --> 00:09:44,930 だから私はあなたにいくつかの時間を与えるため、 我々が行っているので、それについて考える 221 00:09:44,930 --> 00:09:49,380 ときにはパートナーで物事を行うには、 私はみんなを期待します 222 00:09:49,380 --> 00:09:52,150 多少係合する。 223 00:09:52,150 --> 00:09:56,030 より良い言葉の欠如のために、そこに おそらくその風邪呼び出し、になります 224 00:09:56,030 --> 00:09:59,045 誰もがチャンスがあるだろう場所です 答えを考えるために、その後 225 00:09:59,045 --> 00:10:01,150 私はあなたを呼び出し、次によ あなたは答えを言うよ。 226 00:10:01,150 --> 00:10:05,200 >> 心配しないで、またはそのことについて怖がって。 227 00:10:05,200 --> 00:10:08,610 私は過去にそれをやったと私たちは発見しました それははるかに成功したということ、 228 00:10:08,610 --> 00:10:11,810 また、それに教育研究を読んで それがあったか否かを判定する 229 00:10:11,810 --> 00:10:12,640 良い戦術。 230 00:10:12,640 --> 00:10:15,790 それは、特にあなたの場合、非常に便利です 学生に考える時間を与える 231 00:10:15,790 --> 00:10:20,070 答え、それらがちょうど来ることはありません アウトとバットオフそれが正しいと言う。 232 00:10:20,070 --> 00:10:22,620 しかし、あなたが快適に感じていない場合 答え、私もでかなり良いよ 233 00:10:22,620 --> 00:10:25,370 それを感知する、我々はするつもりはない 特に上で、その場であなたを置く 234 00:10:25,370 --> 00:10:28,240 にもかかわらず、カメラ、のどれ あなたは今のカメラである。 235 00:10:28,240 --> 00:10:32,250 >> だから、それらは私が持っている規範である。 236 00:10:32,250 --> 00:10:34,670 線に沿ってもう一つ 途中で会う。 237 00:10:34,670 --> 00:10:36,490 私はあなたの男を与えるつもりだ 多くのフィードバック。 238 00:10:36,490 --> 00:10:38,310 だけでなく、私にフィードバックをお願いします。 239 00:10:38,310 --> 00:10:46,190 ウェブサイト、sayat.me/cs50があります。 240 00:10:46,190 --> 00:10:48,380 だから、正直な意見です。 241 00:10:48,380 --> 00:10:50,730 あなたは、セクションの間にそれを与えたい場合は、 それが起こるたびに、私は、電子メールを取得します。 242 00:10:50,730 --> 00:10:53,820 我々は少しで休憩を取るよ、私はよ その後、フィードバックに目を通す。 243 00:10:53,820 --> 00:10:55,970 あなたは今までどんな意見を持っている場合、 そこに私にそれをお願いします。 244 00:10:55,970 --> 00:11:01,380 >> あなたは私のQにフィードバックを与える場合 素晴らしいが、それはガイドです 245 00:11:01,380 --> 00:11:02,570 あなたが最後にやること。 246 00:11:02,570 --> 00:11:05,690 しかし、それはそう学期の終わりになります 私はそれのいずれかを取ることができません 247 00:11:05,690 --> 00:11:08,620 フィードバックと教育にそれを回す あなたはみんな良い。 248 00:11:08,620 --> 00:11:11,020 何かを持っているのであれば、してください フィードバックは、私にそれを与える。 249 00:11:11,020 --> 00:11:12,010 私はフィードバックが大好き。 250 00:11:12,010 --> 00:11:14,490 FOPに戻り、我々はフィードバックを得る すべての時間。 251 00:11:14,490 --> 00:11:18,610 >> あなたは私にプラス、良いものを、与えることができます デルタ、私が改良できること。 252 00:11:18,610 --> 00:11:20,600 あなたは私の服装にコメントすることができます。 253 00:11:20,600 --> 00:11:24,170 として有用であるが、あなたはしていないこと いずれにコメントを歓迎し、 254 00:11:24,170 --> 00:11:24,570 すべて。 255 00:11:24,570 --> 00:11:26,280 してください、私にフィードバックをお願いします。 256 00:11:26,280 --> 00:11:28,740 私はそれをたくさん、それを大切に 私に多くのことを意味します。 257 00:11:28,740 --> 00:11:31,760 258 00:11:31,760 --> 00:11:33,280 >> もう一つの規範、楽しい。 259 00:11:33,280 --> 00:11:34,530 我々は多くの楽しみを持っているつもりです。 260 00:11:34,530 --> 00:11:36,930 うまくいけば、このコースでは、よ 多くの楽しみを持っている。 261 00:11:36,930 --> 00:11:38,780 私たちは、セクションでお菓子を持っているよ。 262 00:11:38,780 --> 00:11:40,040 我々は音楽があるでしょう。 263 00:11:40,040 --> 00:11:45,510 私たちは、うまくいけば1つを知っているために取得される 別の幾分よく、私は欲しい 264 00:11:45,510 --> 00:11:47,690 これは楽しい、魅力的な経験であることが。 265 00:11:47,690 --> 00:11:50,890 >> 私が知っている、あなたのいくつかはで眠った あなたが今日、以前​​持っていた講演会、 266 00:11:50,890 --> 00:11:53,750 そううまくいけばそれはしません 今そうである。 267 00:11:53,750 --> 00:11:55,960 そして、それは今の場合であれば、ただ いびきはありません、それは可能性があるため、 268 00:11:55,960 --> 00:11:57,580 カメラでキャッチする。 269 00:11:57,580 --> 00:11:58,770 甘い。 270 00:11:58,770 --> 00:12:04,020 質問、コメント、または懸念 私は何でも先に進む前に、我々はしました 271 00:12:04,020 --> 00:12:05,270 について話しました? 272 00:12:05,270 --> 00:12:08,620 273 00:12:08,620 --> 00:12:11,350 素晴らしい。 274 00:12:11,350 --> 00:12:14,830 >> だから私達は行くつもりです 最初の配列に。 275 00:12:14,830 --> 00:12:17,140 これは、配列を作成する方法です。 276 00:12:17,140 --> 00:12:18,410 我々は前にこれを見てきました。 277 00:12:18,410 --> 00:12:21,830 あなたは、データ型を持っている、あなたが持っている 名前は、その後、サイズを有する。 278 00:12:21,830 --> 00:12:24,430 右ここで、私は二つの配列を作成します。 279 00:12:24,430 --> 00:12:30,360 最初のものは、文字の配列である そしてそれは26のスペースを持っています。 280 00:12:30,360 --> 00:12:33,790 もう一つはの配列です スコアは、それは3を有する 281 00:12:33,790 --> 00:12:35,390 3つの整数のためのスペース。 282 00:12:35,390 --> 00:12:35,827 はい? 283 00:12:35,827 --> 00:12:38,200 >> 学生はこれらのすべてのスライドです 私たちのためにどこかで入手できる? 284 00:12:38,200 --> 00:12:38,850 >> JASONハーシュホーン:素晴らしい質問です。 285 00:12:38,850 --> 00:12:40,650 問題は、すべてのですだった これらは利用できるスライド? 286 00:12:40,650 --> 00:12:40,920 はい。 287 00:12:40,920 --> 00:12:43,420 これらのスライドのすべては、予定 そして将来的には、私はそれらをするためのメールでお知らせいたします 288 00:12:43,420 --> 00:12:44,640 セクションの前にあなた。 289 00:12:44,640 --> 00:12:47,340 しかし、今日、これが最初であるため、 今週、我々は遅いスタートを切った。 290 00:12:47,340 --> 00:12:49,675 ので、通常は、これらのスライドを取得しますが、 彼らはオンラインで利用可能となり、 291 00:12:49,675 --> 00:12:52,420 私はあなたにそれらをメールでお知らせいたします クラスの後右。 292 00:12:52,420 --> 00:12:54,140 その他のご質問は? 293 00:12:54,140 --> 00:13:01,330 >> だからもう一度、配列は不足のため、ボックスです 複数保持する良い言葉、 294 00:13:01,330 --> 00:13:06,420 あるデータ型の要素、およびそれらは同じく メモリ内の互いに隣接しています。 295 00:13:06,420 --> 00:13:11,370 どうすることができますので、再び、これは 配列の2つのタイプを作成します。 296 00:13:11,370 --> 00:13:15,090 >> あなたはとあなたの配列を作りましたので、後 その最初の行 - int型のスコア、ブラケット 297 00:13:15,090 --> 00:13:17,430 3、近くにブラケット - あなた それを初期化したい。 298 00:13:17,430 --> 00:13:19,050 あなたは、そこにいくつかの値を載せていきたいと思います。 299 00:13:19,050 --> 00:13:24,660 そして、これはあなたがいくつかの値を入れる方法です そこに、ただindiceを選択し、 300 00:13:24,660 --> 00:13:25,670 番号を書いて。 301 00:13:25,670 --> 00:13:27,130 Let 'sは、ボード上で、これを描く。 302 00:13:27,130 --> 00:13:28,270 誰もが見ることができますか? 303 00:13:28,270 --> 00:13:29,030 誰もが見ることができます。 304 00:13:29,030 --> 00:13:30,790 甘い。 305 00:13:30,790 --> 00:13:36,550 >> だから私のことになるだろう アレイは、スコアと呼ばれる。 306 00:13:36,550 --> 00:13:37,730 あなたが見ることができるように、それはサイズ3です。 307 00:13:37,730 --> 00:13:39,210 そこに3つのボックスがあります。 308 00:13:39,210 --> 00:13:43,120 それぞれが何を収めることができます データ型の種類? 309 00:13:43,120 --> 00:13:43,790 >> STUDENT:整数。 310 00:13:43,790 --> 00:13:45,250 >> JASONハーシュホーン:整数 この1インチ 311 00:13:45,250 --> 00:13:48,790 私たちは、int型のスコア、そして最初の単語を書いた に起こっているデータ型です 312 00:13:48,790 --> 00:13:50,910 その配列内のボックスに行く。 313 00:13:50,910 --> 00:13:52,160 だから私は、次の3つを収めることができます。 314 00:13:52,160 --> 00:13:54,880 315 00:13:54,880 --> 00:13:57,000 なぜ私はゼロを持っている そこにボード上の? 316 00:13:57,000 --> 00:13:59,240 なぜそれがスコアにゼロが1に等しいと言うのでしょうか? 317 00:13:59,240 --> 00:14:02,090 318 00:14:02,090 --> 00:14:03,180 自分の名前を思い出させる。 319 00:14:03,180 --> 00:14:03,470 >> 学生:クルト。 320 00:14:03,470 --> 00:14:04,070 >> JASONハーシュホーン:クルト。 321 00:14:04,070 --> 00:14:04,480 >> 学生:はい。 322 00:14:04,480 --> 00:14:04,920 >> JASONハーシュホーン:なぜ? 323 00:14:04,920 --> 00:14:07,230 >> 学生:最初のインデックスであるため ゼロ、我々はゼロからカウントを開始します。 324 00:14:07,230 --> 00:14:08,480 >> JASONハーシュホーン:だから我々は開始 ゼロからカウント。 325 00:14:08,480 --> 00:14:09,580 それはまさにそうです。 326 00:14:09,580 --> 00:14:12,340 これは混乱の一部と意志旅行です 特にあなたがいるときまで、 327 00:14:12,340 --> 00:14:14,900 配列の反復処理しようとすると、 その私たちが少しでやる。 328 00:14:14,900 --> 00:14:15,980 我々はゼロからカウントを開始します。 329 00:14:15,980 --> 00:14:19,170 だから私は、最初に参照したい場合は、 ボックスには、それが箱1ではありません。 330 00:14:19,170 --> 00:14:22,290 残念ながら、箱ゼロだ。 331 00:14:22,290 --> 00:14:26,460 もう一つは箱一つであり、この中で 場合、3つ目のボックス2です。 332 00:14:26,460 --> 00:14:28,700 >> 箱3はどうですか? 333 00:14:28,700 --> 00:14:30,670 ボックス3はどこですか? 334 00:14:30,670 --> 00:14:34,750 または私はスコア、ブラケットを行いたい場合 3、近くにブラケット、それは何ですか? 335 00:14:34,750 --> 00:14:37,650 336 00:14:37,650 --> 00:14:39,760 だから、ヌル文字を言った。 337 00:14:39,760 --> 00:14:41,600 他の任意の考えですか? 338 00:14:41,600 --> 00:14:44,590 スコアブラケット3ブラケットとは何ですか? 339 00:14:44,590 --> 00:14:48,045 >> 学生:それは本当に存在しないため、 あなただけのスコアとして定義 340 00:14:48,045 --> 00:14:49,370 ブラケット3。 341 00:14:49,370 --> 00:14:51,400 >> JASONハーシュホーン:だからあなたが言う それは実際には存在しません。 342 00:14:51,400 --> 00:14:54,230 我々が扱っているいくつかのケースでは、 文字列は、一般的に我々は、nullを出してあげる 343 00:14:54,230 --> 00:14:54,790 末尾の文字。 344 00:14:54,790 --> 00:14:56,100 私たちは、第二にそれに取得します。 345 00:14:56,100 --> 00:15:01,020 しかし、この場合には、そこ 何番目のボックスはここではありません。 346 00:15:01,020 --> 00:15:06,390 したがって、任意の配列の最後のボックス サイズから1を引いた値です。 347 00:15:06,390 --> 00:15:11,310 我々は、サイズnの配列を持っているのであれば、 最初のボックスがゼロであり、最後の1つは 348 00:15:11,310 --> 00:15:12,700 nはマイナス1で。 349 00:15:12,700 --> 00:15:14,970 そして、この場合には存在しない。 350 00:15:14,970 --> 00:15:17,970 ここで何かがある メモリが、それは我々のものではありません。 351 00:15:17,970 --> 00:15:18,460 我々はそれを所有していない。 352 00:15:18,460 --> 00:15:19,570 我々はそれを求めていませんでした。 353 00:15:19,570 --> 00:15:22,606 我々はそれにアクセスしようとするのであれば、我々はどのよ ビットで行う、我々はおそらく、するつもりだ 354 00:15:22,606 --> 00:15:24,970 トラブルに巻き込まれる。 355 00:15:24,970 --> 00:15:29,180 >> このケースでは、私は自分の初期化しています 3つの変数を持つ配列。 356 00:15:29,180 --> 00:15:36,195 我々は2つ​​の、ボックスゼロ1つを入れている 内箱1、箱2に3。 357 00:15:36,195 --> 00:15:39,280 誰もが何か質問がありますか 配列を初期化するでしょうか? 358 00:15:39,280 --> 00:15:44,540 359 00:15:44,540 --> 00:15:46,970 >> だから、我々はちょうど今、この上を越えて行った。 360 00:15:46,970 --> 00:15:52,725 スコアは、ブラケット3、閉じ括弧、 それは存在しません。 361 00:15:52,725 --> 00:15:58,130 我々は、ゼロ、コンピュータ科学でインデックスしている 従って我々はゼロからカウントを開始します。 362 00:15:58,130 --> 00:16:01,860 私達に利用できる最後のボックスには、それがある 3番目のボックスが、ボックスと呼ばれています 363 00:16:01,860 --> 00:16:03,110 ナンバー2。 364 00:16:03,110 --> 00:16:05,790 365 00:16:05,790 --> 00:16:09,710 >> 以下にダウン、これは代替手段です 配列を初期化する方法。 366 00:16:09,710 --> 00:16:13,410 だから代わりの一つ上のアレイを作成する 最初のボックスを充填ライン、、その後 367 00:16:13,410 --> 00:16:17,070 二箱、次に3番目のボックス 1つの行でそれをすべて行うことができます。 368 00:16:17,070 --> 00:16:19,040 だから、その行で、両方の配列。 369 00:16:19,040 --> 00:16:23,460 これは、同じ正確な配列を作成します 私たちは右ここで作成し、それ 370 00:16:23,460 --> 00:16:24,710 たった1行でそれはありません。 371 00:16:24,710 --> 00:16:29,740 372 00:16:29,740 --> 00:16:31,360 >> 今我々は我々の配列を作成しました。 373 00:16:31,360 --> 00:16:34,100 通常、一度あなたは、配列を作成 かどうか、それを使って何かをやってみたい 374 00:16:34,100 --> 00:16:38,430 それを埋めるか、それのものを引き出すことだ し、それらを画面上でプリントアウト。 375 00:16:38,430 --> 00:16:42,270 このケースでは、我々は我々を通過しています 我々は上で初期化スコア·アレイ、 376 00:16:42,270 --> 00:16:44,740 ここまで灰色の最初の行。 377 00:16:44,740 --> 00:16:49,600 そして二行目に、我々は開始 配列を反復。 378 00:16:49,600 --> 00:16:52,640 誰についてのご質問はありますか forループの構造? 379 00:16:52,640 --> 00:16:55,250 380 00:16:55,250 --> 00:16:56,400 >> だから、これはforループです。 381 00:16:56,400 --> 00:16:59,530 私たちは、初期条件を持っているし、次に その後、私たちの最終的な条件、私たち 382 00:16:59,530 --> 00:17:01,160 、私は、それぞれのループを反復する。 383 00:17:01,160 --> 00:17:05,579 そして、この中に中括弧で ループは、私が実行した場合に何が起こるか 384 00:17:05,579 --> 00:17:06,290 このプログラムは? 385 00:17:06,290 --> 00:17:10,410 誰もが我々が得るなるか教えてもらえますか? 386 00:17:10,410 --> 00:17:11,589 [? Matu? ?] 387 00:17:11,589 --> 00:17:13,819 >> MATU:すべての項目を印刷 各ライン上。 388 00:17:13,819 --> 00:17:14,900 それは、それぞれのスコアを印刷します 別の行に。 389 00:17:14,900 --> 00:17:16,300 >> JASONハーシュホーン:正確にどのような それは印刷でしょうか? 390 00:17:16,300 --> 00:17:19,790 >> 学生:それは、1を印刷します 次に2、次に3。 391 00:17:19,790 --> 00:17:20,235 >> JASONハーシュホーン:その通り。 392 00:17:20,235 --> 00:17:23,490 次に、1つ、二つ、プリントだろ 3、別の行にそれぞれ、理由 393 00:17:23,490 --> 00:17:27,810 我々は、配列を通過していては、よ printfは、それが第二の見 394 00:17:27,810 --> 00:17:29,275 声明、スコアI。 395 00:17:29,275 --> 00:17:32,880 だから、私たちのための貫通最初のラウンドで ループは、私たちがしていることを意味し、ゼロに等しい 396 00:17:32,880 --> 00:17:34,640 スコアゼロで値を取得する - 397 00:17:34,640 --> 00:17:36,900 我々はに戻った場合、これ 我々の図は、一つである - 398 00:17:36,900 --> 00:17:38,630 とに記入 - 399 00:17:38,630 --> 00:17:39,700 OH、Cは言う。 400 00:17:39,700 --> 00:17:41,680 それは%dであるべきである。 401 00:17:41,680 --> 00:17:43,970 私は少しでそれを修正するとき 私の手から君たちへの。 402 00:17:43,970 --> 00:17:48,670 しかし、我々はそれように整数を提示している 、ここではない%cは%dであるべきである。 403 00:17:48,670 --> 00:17:50,340 の%Cとは何ですか? 404 00:17:50,340 --> 00:17:50,790 >> STUDENT:文字。 405 00:17:50,790 --> 00:17:52,680 >> JASONハーシュホーン:文字、まさに。 406 00:17:52,680 --> 00:17:53,690 もう一つは何ですか? 407 00:17:53,690 --> 00:17:56,260 あなたがのために%dを行うにはしたくない場合 整数には、他に何を行うことができますか? 408 00:17:56,260 --> 00:17:57,000 >> 学生:私は。 409 00:17:57,000 --> 00:17:59,180 >> JASONハーシュホーン:正確に%I、。 410 00:17:59,180 --> 00:18:01,660 だから反復についてのご質問 配列を? 411 00:18:01,660 --> 00:18:05,500 412 00:18:05,500 --> 00:18:07,800 我々はこれを行う場合、だから何が起こりますか? 413 00:18:07,800 --> 00:18:10,290 で行うのではなく、私はより小さい 3、私たちは、私が小さいか 414 00:18:10,290 --> 00:18:11,390 以上、三等しい。 415 00:18:11,390 --> 00:18:13,420 我々は、このコードを実行するとどうなりますか? 416 00:18:13,420 --> 00:18:17,510 417 00:18:17,510 --> 00:18:18,940 はい、アニー? 418 00:18:18,940 --> 00:18:22,030 >> STUDENT:彼らはプリントアウトするつもりだ 四行目で奇妙なもの。 419 00:18:22,030 --> 00:18:23,850 >> JASONハーシュホーン:だからあなたが言ったが、それです。 上に奇妙なものをプリントアウトするつもり 420 00:18:23,850 --> 00:18:24,390 四行目? 421 00:18:24,390 --> 00:18:25,750 誰もが答えを持っていますか 彼女の質問に? 422 00:18:25,750 --> 00:18:28,940 423 00:18:28,940 --> 00:18:33,160 だから、オッズはその時です 私たちは、に行く - 424 00:18:33,160 --> 00:18:36,700 従って私達のための貫通4回戦で ループ、ただアニー、あなたが思ったように、 425 00:18:36,700 --> 00:18:39,430 それはどのスコアブラケット3、になるでしょう 我々はすでにいない考え出した 426 00:18:39,430 --> 00:18:41,990 存在しており、我々は試してみるつもりだ し、それを印刷しているアクセス 427 00:18:41,990 --> 00:18:43,350 て、それをいくつかの方法を使用しています。 428 00:18:43,350 --> 00:18:46,060 コンピュータは、おそらくなるよう 私たちに怒る。 429 00:18:46,060 --> 00:18:46,760 あなたは正確に正しいです。 430 00:18:46,760 --> 00:18:48,830 >> それは完全にプログラムを終了することがあります。 431 00:18:48,830 --> 00:18:52,222 それは何かをプリントアウトかもしれません 本当に奇妙。 432 00:18:52,222 --> 00:18:53,420 あなたは確かに言うことはできません。 433 00:18:53,420 --> 00:18:56,210 オッズは、それはおそらくで怒るでしょうです あなたとだけですぐに終了します。 434 00:18:56,210 --> 00:19:00,100 >> しかし、これはあなたが持っているだろう一般的な間違いです あなたは、一つだけでオフにしているところ 435 00:19:00,100 --> 00:19:05,110 最後は、これは意志バグです あなたのコーディング全体を苦しめる。 436 00:19:05,110 --> 00:19:09,350 437 00:19:09,350 --> 00:19:14,150 私がやりたい一つの方法は、単に上にある ホワイトボード、各繰り返しを経る 438 00:19:14,150 --> 00:19:18,190 参照するには手でまたは紙に、ループの 何が起こった後、あなたです 439 00:19:18,190 --> 00:19:20,440 一般的に実現する、いや待て、私はすべきでない 未満に行ってきましたか 440 00:19:20,440 --> 00:19:20,870 3に等しい。 441 00:19:20,870 --> 00:19:24,730 私はある、2で停止しているはず あなたの条件が小さければ何が起こる 442 00:19:24,730 --> 00:19:26,206 3より。 443 00:19:26,206 --> 00:19:29,120 これまでに何か質問? 444 00:19:29,120 --> 00:19:31,010 甘い。 445 00:19:31,010 --> 00:19:33,360 >> だから、開いているすべてのコンピュータを持っている。 446 00:19:33,360 --> 00:19:36,760 私たちはあなたを与えるつもり二から三 そのプログラムを書くための分 447 00:19:36,760 --> 00:19:40,460 1は整数の配列を作成します 5経由して、各プリントアウト 448 00:19:40,460 --> 00:19:41,720 新しい行に整数。 449 00:19:41,720 --> 00:19:44,330 450 00:19:44,330 --> 00:19:46,000 とご質問があれば、 あなたの手を上げる。 451 00:19:46,000 --> 00:19:48,140 私は手に入れるのはうれしい。 452 00:19:48,140 --> 00:19:50,630 私が言ったように、の、3つを取りましょう 分、これを書くため。 453 00:19:50,630 --> 00:20:41,300 454 00:20:41,300 --> 00:20:45,110 私が行けば誰もOKです 新しいウィンドウこれを閉める? 455 00:20:45,110 --> 00:22:13,420 456 00:22:13,420 --> 00:22:15,520 >> あなたはチャンスを持っていない場合はごめんなさい 終了するが、我々はそれをやろうとしている 457 00:22:15,520 --> 00:22:17,310 一緒に今。 458 00:22:17,310 --> 00:22:23,640 だからアップする画面に、私が#含まれている cs50.hは、#stdio.hに含まれています。 459 00:22:23,640 --> 00:22:26,090 誰かが私に何を伝えることができます これらの2行は何? 460 00:22:26,090 --> 00:22:32,250 461 00:22:32,250 --> 00:22:33,155 マイケル? 462 00:22:33,155 --> 00:22:40,030 >> 学生:彼らは、ライブラリを含める CS50が作られ、スティーブが持っていることを 463 00:22:40,030 --> 00:22:44,210 あなたに使用するために保存 あなたの人生が容易になります。 464 00:22:44,210 --> 00:22:46,820 >> JASONハーシュホーン:だからあなたは、彼らが言った ライブラリは、その一つを含むCS50 465 00:22:46,820 --> 00:22:51,230 cs50.h、作られた、とある1 ただ標準付属しています 466 00:22:51,230 --> 00:22:53,510 Cパッケージ、stdio.hの。 467 00:22:53,510 --> 00:22:54,890 あなたは、どういう意味ですか ライブラリは、しかし? 468 00:22:54,890 --> 00:22:55,770 あなたは、もう少し具体的なことはできますか? 469 00:22:55,770 --> 00:23:01,180 >> 学生:それはそうすることができていることになります 持っているために、特定のコードワードを使用 470 00:23:01,180 --> 00:23:05,710 移動することなく起こるの機能 と関数c自分で作る。 471 00:23:05,710 --> 00:23:08,730 >> JASONハーシュホーン:することができます 私の例を与える? 472 00:23:08,730 --> 00:23:11,160 >> 学生:printfのように あなたが使用できるものです。 473 00:23:11,160 --> 00:23:11,860 >> JASONハーシュホーン:Printfは。 474 00:23:11,860 --> 00:23:14,680 だから、printfはそれらの一つであると述べた を有するのではなく、機能 475 00:23:14,680 --> 00:23:19,840 自分でprintfを書いて、printf関数である stdio.hで実際に含まれているので、 476 00:23:19,840 --> 00:23:22,010 ただそれを使用して、と仮定することができ それが動作すること。 477 00:23:22,010 --> 00:23:28,270 stdio.hで、そのファイルを開いた場合、 それは含んでいるでしょうどのようにprintf関数 478 00:23:28,270 --> 00:23:31,620 作品は、printfのためのコードのすべて? 479 00:23:31,620 --> 00:23:33,105 なぜあなたはあなたの頭を振っていますか? 480 00:23:33,105 --> 00:23:35,710 >> STUDENT:ためヘッダファイルだけ 関数宣言が含まれています。 481 00:23:35,710 --> 00:23:36,400 >> JASONハーシュホーン:まったく正しい。 482 00:23:36,400 --> 00:23:39,680 ヘッダファイルは、ちょうど含む 関数の宣言。 483 00:23:39,680 --> 00:23:42,950 だから基本的に、あなたがこれをコンパイルするときに、 我々がやるメイクカウント、ヒット 484 00:23:42,950 --> 00:23:48,070 第二は、コンパイラが知っている場合 あなたはprintfを使用、printfの存在。 485 00:23:48,070 --> 00:23:49,370 それはどこかで定義されているために起こっている。 486 00:23:49,370 --> 00:23:51,200 それはあなたがそれを使用するための問題ではない。 487 00:23:51,200 --> 00:23:55,490 そして、後に、それが含まれるよ 実際に含まれているものとゼロ 488 00:23:55,490 --> 00:23:58,360 printf関数の実装と あなたのコードでそれらをマージします。 489 00:23:58,360 --> 00:24:01,935 あなたどのようにそれが含まれていることを確認しない 文字列を取得する、と言うためのものとゼロ? 490 00:24:01,935 --> 00:24:05,670 491 00:24:05,670 --> 00:24:07,210 >> 学生:文字列がcs50.h.にあるゲット 492 00:24:07,210 --> 00:24:07,830 >> JASONハーシュホーン:右。 493 00:24:07,830 --> 00:24:11,110 だから文字列が存在し得ると言うことを、 関数の宣言。 494 00:24:11,110 --> 00:24:15,410 しかし、その後1と0、バイナリ 実際に含むファイル 495 00:24:15,410 --> 00:24:17,370 GET文字列の実装? 496 00:24:17,370 --> 00:24:19,310 あなたは確信しているどのように作るのですか あなたのプログラムを使って行く? 497 00:24:19,310 --> 00:24:23,220 >> 学生は:リンカに渡す コマンドライン引数。 498 00:24:23,220 --> 00:24:25,430 >> JASONハーシュホーンは:リンカを渡す コマンドライン引数である。 499 00:24:25,430 --> 00:24:26,700 どのようにそれを行うのですか? 500 00:24:26,700 --> 00:24:29,730 >> 学生:それはクラングでは、-lラインだ 501 00:24:29,730 --> 00:24:30,480 >> JASONハーシュホーン:まったく正しい。 502 00:24:30,480 --> 00:24:32,900 あなたは正しい、CS50-lと言う? 503 00:24:32,900 --> 00:24:34,940 それは、1と0が含まれています。 504 00:24:34,940 --> 00:24:36,460 >> 学生:でも作るん そのあなたのために、右? 505 00:24:36,460 --> 00:24:37,010 >> JASONハーシュホーン:その通り。 506 00:24:37,010 --> 00:24:40,390 メイクはあなたのためにそれを行いますが、最終的には、 あなたが作る、または持っていません 507 00:24:40,390 --> 00:24:43,220 あなたが作る作る必要があるでしょう 自分で、だそう 508 00:24:43,220 --> 00:24:43,940 覚えておくことは良いこと。 509 00:24:43,940 --> 00:24:47,350 あなたは、これらのいずれかを使用するつもりだった場合 、だけでなく、あなたは、他のライブラリを持っていない 510 00:24:47,350 --> 00:24:49,490 書くために#includeおよび 次にライブラリ。 511 00:24:49,490 --> 00:24:51,420 また、それをインチにリンクする必要があります 512 00:24:51,420 --> 00:24:54,480 そして、それらの二つのことが異なっています。 -L CS50は異なります 513 00:24:54,480 --> 00:24:59,260 #cs50.h.を含むより 514 00:24:59,260 --> 00:25:02,870 >> その後、我々はint型メインボイド中括弧を持って、 そして今、我々はコードになるだろう 515 00:25:02,870 --> 00:25:03,590 メイン内部。 516 00:25:03,590 --> 00:25:07,090 私がここに持っている最初の行はコメントです 配列を作成し、言うこと 517 00:25:07,090 --> 00:25:08,820 整数1と5を通して。 518 00:25:08,820 --> 00:25:12,600 何私説明する良い言葉は何ですか ただ、画面上に今がある 519 00:25:12,600 --> 00:25:14,170 メイン内側にコメント? 520 00:25:14,170 --> 00:25:15,722 我々は何をすること呼ぶのですか? 521 00:25:15,722 --> 00:25:16,820 >> 学生:擬似コード。 522 00:25:16,820 --> 00:25:17,840 >> JASONハーシュホーン:擬似コード。 523 00:25:17,840 --> 00:25:18,420 ジェフリー、ありがとうございます。 524 00:25:18,420 --> 00:25:19,540 それはまったく正しいです。 525 00:25:19,540 --> 00:25:20,005 擬似コード。 526 00:25:20,005 --> 00:25:22,854 君たち前擬似コードを見たことがありますか? 527 00:25:22,854 --> 00:25:28,340 あなたが使用した場合、あなたの手を上げる 問題の前に擬似コードは、1を設定します。 528 00:25:28,340 --> 00:25:29,400 あなたの約半分。 529 00:25:29,400 --> 00:25:32,700 >> 私は非常に使用することをお勧めします に問題を打破するための擬似コード 530 00:25:32,700 --> 00:25:35,210 ピースをかみ切るために、より簡単に、より小さい。 531 00:25:35,210 --> 00:25:38,630 また、擬似コードを実行する場合は、 既に大部分はあなたの意見を持っている 532 00:25:38,630 --> 00:25:40,760 に建てられたので、あなたがする必要はありません 戻って把握しようとする 533 00:25:40,760 --> 00:25:42,450 あなたは何をやっていた。 534 00:25:42,450 --> 00:25:44,730 だから、誰かが私にこの最初の行を与えることができます 整数1を持つ配列を作成する 535 00:25:44,730 --> 00:25:45,980 5スルー? 536 00:25:45,980 --> 00:25:48,700 537 00:25:48,700 --> 00:25:49,130 あなたは? 538 00:25:49,130 --> 00:25:53,350 >> 学生:Intのしてから呼び出すことができます その後どのような数、四角 539 00:25:53,350 --> 00:25:54,830 ブラケット5。 540 00:25:54,830 --> 00:25:57,820 >> JASONハーシュホーン:だからint型の数値、 角括弧5。 541 00:25:57,820 --> 00:25:59,160 >> 学生:等しく、 その後、中括弧。 542 00:25:59,160 --> 00:26:00,830 >> JASONハーシュホーン:等しい、 中括弧。 543 00:26:00,830 --> 00:26:01,830 >> STUDENT:One、二つ、三つ、四つ。 544 00:26:01,830 --> 00:26:05,566 >> JASONハーシュホーン:一、二、 3つ、4つ、5つ。 545 00:26:05,566 --> 00:26:07,390 >> 学生:そして、中括弧 その後セミコロン。 546 00:26:07,390 --> 00:26:09,240 >> JASONハーシュホーン:そしてカーリー ブレースとセミコロン。 547 00:26:09,240 --> 00:26:10,330 優秀。 548 00:26:10,330 --> 00:26:12,210 新しい行にそれぞれint型をプリントアウト。 549 00:26:12,210 --> 00:26:17,140 他の誰かが与えることができます 私にそのコード、してください? 550 00:26:17,140 --> 00:26:17,530 [? Matu? ?] 551 00:26:17,530 --> 00:26:18,560 どうぞ召しあがれ。 552 00:26:18,560 --> 00:26:20,440 >> 学生:について( 553 00:26:20,440 --> 00:26:21,750 >> JASONハーシュホーン:について( 554 00:26:21,750 --> 00:26:23,740 >> STUDENTます。int i = 0 555 00:26:23,740 --> 00:26:26,070 >> JASONハーシュます。int i = 0 556 00:26:26,070 --> 00:26:28,190 >> 学生:5未満セミコロン私。 557 00:26:28,190 --> 00:26:31,680 >> JASONハーシュホーン:セミコロン、 5未満私。 558 00:26:31,680 --> 00:26:33,600 >> 学生:セミコロン、I + +。 559 00:26:33,600 --> 00:26:35,140 >> JASONハーシュホーン:セミコロン、I + +。 560 00:26:35,140 --> 00:26:37,720 >> STUDENT:クローズ括弧、 次にブレースを開く。 561 00:26:37,720 --> 00:26:39,410 >> JASONハーシュホーン:クローズ括弧 二ブレース。 562 00:26:39,410 --> 00:26:40,510 括弧の内側? 563 00:26:40,510 --> 00:26:47,640 >> 学生:そして、printfの "%d個/ N" 564 00:26:47,640 --> 00:26:48,695 >> JASONハーシュホーン:申し訳ありませんが、保持します。 565 00:26:48,695 --> 00:26:52,330 printfの "%dは/ nは、引用符を閉じた。 566 00:26:52,330 --> 00:26:55,980 >> 学生:そして閉じ引用、 コンマ、カウント、ブラケットI。 567 00:26:55,980 --> 00:26:58,350 >> JASONハーシュホーン:カンマ、 カウント、ブラケットI。 568 00:26:58,350 --> 00:26:59,970 >> STUDENT:申し訳ありませんが、数字ブラケットI。 569 00:26:59,970 --> 00:27:01,416 >> JASONハーシュホーン:数字、ブラケットI。 570 00:27:01,416 --> 00:27:03,200 >> STUDENT:申し訳ありません。 571 00:27:03,200 --> 00:27:04,750 そして、括弧を閉じた セミコロン。 572 00:27:04,750 --> 00:27:07,156 >> JASONハーシュホーン:クローズ 括弧、セミコロン。 573 00:27:07,156 --> 00:27:08,680 私はそれを保存するつもりです。 574 00:27:08,680 --> 00:27:12,670 我々は、カウントを作るつもりだ。 575 00:27:12,670 --> 00:27:14,742 そして、どのように私は、カウントを実行しますか? 576 00:27:14,742 --> 00:27:16,470 >> 学生:バックスラッシュ。 577 00:27:16,470 --> 00:27:17,180 >> 学生:ドットがスラッシュ - 578 00:27:17,180 --> 00:27:18,050 >> JASONハーシュホーン:。/カウント、まさに。 579 00:27:18,050 --> 00:27:19,380 ありがとう。 。/カウント。 580 00:27:19,380 --> 00:27:21,060 一つ、二つ、三つ、四つ、 新しい行に5。 581 00:27:21,060 --> 00:27:22,110 それが働いたように見えます。 582 00:27:22,110 --> 00:27:23,200 はい、ノア? 583 00:27:23,200 --> 00:27:26,660 >> STUDENT:また、以下を行うことができ 4に等しいようなiがより小さい 584 00:27:26,660 --> 00:27:27,630 または4に等しい? 585 00:27:27,630 --> 00:27:31,190 レスをすることにどんな利点がある 単なる5、または別の方法 586 00:27:31,190 --> 00:27:31,610 それを書く? 587 00:27:31,610 --> 00:27:35,280 >> JASONハーシュホーン:だから質問はあなたです 私は以下である行っている可能性が 588 00:27:35,280 --> 00:27:37,450 4の代わりに等しい iが5未満である。 589 00:27:37,450 --> 00:27:38,935 それは同じように働いているでしょうか? 590 00:27:38,935 --> 00:27:39,760 >> 学生:それはすべき。 591 00:27:39,760 --> 00:27:39,860 >> JASONハーシュホーン:はい。 592 00:27:39,860 --> 00:27:41,660 これは全く同じように機能するだろう。 593 00:27:41,660 --> 00:27:44,780 文体、それは一般的により小さいですが、 そして、あなたは時秒で表示されます 594 00:27:44,780 --> 00:27:48,160 私たちは、あなたが何かを文字列に使用することができない あなたが見てきた、strlen関数と呼ばれる 595 00:27:48,160 --> 00:27:50,380 前に、長さを取得する 文字列の。 596 00:27:50,380 --> 00:27:54,090 そして、あなたは以下を行うことはできません またはstrlenは等しい。 597 00:27:54,090 --> 00:27:56,500 あなたは、以下を行うことができ 等しいstrlenはマイナス1。 598 00:27:56,500 --> 00:27:59,260 だから、にだけよりよいです strlenは未満を行う。 599 00:27:59,260 --> 00:28:00,240 はい? 600 00:28:00,240 --> 00:28:03,270 >> STUDENT:そして実際にクイズ、やる 我々は我々のコメントを提供する必要が 601 00:28:03,270 --> 00:28:04,620 コー​​ドだけでなく? 602 00:28:04,620 --> 00:28:06,130 >> JASONハーシュホーン:質問 クイズで、あなたに行うた 603 00:28:06,130 --> 00:28:07,760 コメントを提供する必要がありますか? 604 00:28:07,760 --> 00:28:12,050 だから私たちは時クイズについて詳しく説明します 彼らは出てくるが、一般的に、良い 605 00:28:12,050 --> 00:28:14,530 あなたがしている時に経験則です コー​​ドを書いて、コメントを提供します。 606 00:28:14,530 --> 00:28:18,130 あなたは間違ったコードが、取得する場合 右のコメントには、いくつかを得るかもしれない 607 00:28:18,130 --> 00:28:22,280 私が採点された場合は、両方の私からの信用 あなたの問題セットをオンまたはクイズに。 608 00:28:22,280 --> 00:28:24,660 だからコメントは常に 提供することが良い。 609 00:28:24,660 --> 00:28:25,040 甘い。 610 00:28:25,040 --> 00:28:25,460 カウント。 611 00:28:25,460 --> 00:28:26,720 素晴らしい仕事。 612 00:28:26,720 --> 00:28:28,570 のは、上に移動しましょう​​。 613 00:28:28,570 --> 00:28:29,920 >> ストリングス。 614 00:28:29,920 --> 00:28:30,630 ストリングス。 615 00:28:30,630 --> 00:28:31,730 私たちは、講義中に前にこれを見てきました。 616 00:28:31,730 --> 00:28:33,390 これは、私の心を吹いたときに私 最初にこれを見つけました。 617 00:28:33,390 --> 00:28:37,240 それはおそらく誰のを爆破しませんでした ここで気にしますが、それはOKです。 618 00:28:37,240 --> 00:28:41,260 >> 文字列は文字の配列であり、 先ほど言ったように、彼らは、で終わる 619 00:28:41,260 --> 00:28:45,710 ヌルターミネータ、どの この/ 0文字です。 620 00:28:45,710 --> 00:28:47,740 私たちは、上の文字列を描画するつもりなら ボードには、我々はここでそれを上に描画します。 621 00:28:47,740 --> 00:28:53,080 622 00:28:53,080 --> 00:28:56,420 だから、この文字列はどのくらいですか? 623 00:28:56,420 --> 00:28:56,680 申し訳ありません。 624 00:28:56,680 --> 00:28:57,660 この文字列はどのくらいですか? 625 00:28:57,660 --> 00:28:57,910 >> 学生:[聞こえない]。 626 00:28:57,910 --> 00:28:59,010 >> JASONハーシュホーン:四? 627 00:28:59,010 --> 00:28:59,880 なぜそれは4です? 628 00:28:59,880 --> 00:29:02,240 >> 学生:第五のスポットがあるため ヌル文字です。 629 00:29:02,240 --> 00:29:04,070 >> JASONハーシュホーン:だから五スポット ヌル文字です。 630 00:29:04,070 --> 00:29:07,130 私が上ではstrlenを実行していたのであれば これは、それは私に4を与えるだろう。 631 00:29:07,130 --> 00:29:07,850 正しい。 632 00:29:07,850 --> 00:29:11,640 と配列は、しかし、私がした場合 この配列を初期化し、どのように多くのスペース 633 00:29:11,640 --> 00:29:13,444 私はのために聞いているでしょうか? 634 00:29:13,444 --> 00:29:13,821 >> 学生:ファイブ。 635 00:29:13,821 --> 00:29:14,200 >> JASONハーシュホーン:5。 636 00:29:14,200 --> 00:29:17,650 私は5をお願いしなければならないでしょうが、私はすることができます ここだけで4文字を入れて 637 00:29:17,650 --> 00:29:19,750 私はそのヌルを配置する必要がありますので、 端にターミネータ。 638 00:29:19,750 --> 00:29:25,260 だから私たちは "OHAI"で書こうとしていて、 末尾にヌルターミネータを置く。 639 00:29:25,260 --> 00:29:31,820 640 00:29:31,820 --> 00:29:34,940 私たちは、これが文字列であると言うでしょう sがこれに相当します。 641 00:29:34,940 --> 00:29:36,610 Sブラケットゼロとは何ですか? 642 00:29:36,610 --> 00:29:40,210 643 00:29:40,210 --> 00:29:41,550 Sブラケットゼロ、アニー? 644 00:29:41,550 --> 00:29:41,950 >> 学生:O. 645 00:29:41,950 --> 00:29:45,400 >> JASONハーシュホーン:O、まさに。 Sブラケット1? 646 00:29:45,400 --> 00:29:48,200 Sブラケット5? 647 00:29:48,200 --> 00:29:52,670 648 00:29:52,670 --> 00:29:53,955 Sブラケット5? 649 00:29:53,955 --> 00:29:54,740 >> 学生:存在しません。 650 00:29:54,740 --> 00:29:55,040 >> JASONハーシュホーン:存在しません。 651 00:29:55,040 --> 00:29:57,050 まったく正しい。 652 00:29:57,050 --> 00:29:57,940 クール。 653 00:29:57,940 --> 00:30:03,120 理解についてのご質問 文字の配列として文字列? 654 00:30:03,120 --> 00:30:03,870 [OK]を、その後。 655 00:30:03,870 --> 00:30:05,440 君たちのためにもう一つのプログラム。 656 00:30:05,440 --> 00:30:09,190 ユーザーに確認するプログラムを書きなさい 文字列のために、各プリントアウト 657 00:30:09,190 --> 00:30:11,880 新しい行の文字。 658 00:30:11,880 --> 00:30:14,160 それでは、書き込みに3分かかりましょう このプログラムは、次に我々はそれをコーディングします 659 00:30:14,160 --> 00:30:15,410 グループとして。 660 00:30:15,410 --> 00:31:04,730 661 00:31:04,730 --> 00:31:04,830 >> 申し訳ありません。 662 00:31:04,830 --> 00:31:06,470 あなたがこれを参照してくださいする必要がありましたか? 663 00:31:06,470 --> 00:31:07,410 >> 学生:いいえ。 664 00:31:07,410 --> 00:31:08,660 >> JASONハーシュホーン:OK。 665 00:31:08,660 --> 00:31:36,390 666 00:31:36,390 --> 00:31:40,605 Let 'sは、これをコーディングするために、1つ以上の分を取る あるいは少なくともそれを始める。 667 00:31:40,605 --> 00:32:13,900 668 00:32:13,900 --> 00:32:17,020 >> だから、働き続けることができますが、私は行くよ それを通過し起動します。 669 00:32:17,020 --> 00:32:22,560 だから前にように、私は画面上に持っている ##cs50.hは、stdio.hにを含んであります。 670 00:32:22,560 --> 00:32:24,020 メイン、voidをint型。 671 00:32:24,020 --> 00:32:28,880 メインの中括弧の中では、私が持っている 2つのコメント、擬似コード。 672 00:32:28,880 --> 00:32:30,980 一つは、ユーザから文字列を求めるで​​す。 673 00:32:30,980 --> 00:32:33,900 第二は、各プリントアウトです 新しい行の文字。 674 00:32:33,900 --> 00:32:39,780 だからアンナは、あなたが求める私を与えることができます ユーザから文字列のために? 675 00:32:39,780 --> 00:32:41,970 >> 学生:Printfは。 676 00:32:41,970 --> 00:32:42,720 >> JASONハーシュホーン:Printfは? 677 00:32:42,720 --> 00:32:45,050 >> 学生:はい。 678 00:32:45,050 --> 00:32:46,165 ( 679 00:32:46,165 --> 00:32:47,610 >> JASONハーシュホーン:( 680 00:32:47,610 --> 00:32:49,300 >> 学生: "私に文字列を与える。 681 00:32:49,300 --> 00:32:52,380 >> JASONハーシュ: "与える 私STR - おっと - 682 00:32:52,380 --> 00:32:53,710 文字列。 683 00:32:53,710 --> 00:32:59,980 >> 学生:N / A ")セミコロン。 684 00:32:59,980 --> 00:33:02,300 >> JASONハーシュホーン:文字列を終了し、 閉じ括弧、セミコロン。 685 00:33:02,300 --> 00:33:03,550 >> 学生:はい。 686 00:33:03,550 --> 00:33:09,080 そして次の行、列 S =文字列を取得します。 687 00:33:09,080 --> 00:33:11,240 >> JASONハーシュホーン:文字列 S =文字列を取得します。 688 00:33:11,240 --> 00:33:11,665 >> 学生:はい。 689 00:33:11,665 --> 00:33:13,080 そして、() 690 00:33:13,080 --> 00:33:14,365 >> JASONハーシュ:() 691 00:33:14,365 --> 00:33:14,720 >> 学生:セミコロン。 692 00:33:14,720 --> 00:33:15,540 >> JASONハーシュホーン:セミコロン。 693 00:33:15,540 --> 00:33:16,890 ファンタスティック。 694 00:33:16,890 --> 00:33:19,000 だから私は、文字列を取得するつもりだと 私はそれを何に保存するつもり? 695 00:33:19,000 --> 00:33:21,830 変数とは何と呼ばれています あなたが作成した? 696 00:33:21,830 --> 00:33:23,290 >> 学生:文字列s。 697 00:33:23,290 --> 00:33:24,580 >> JASONハーシュホーン:変数 Sと呼ばれています。 698 00:33:24,580 --> 00:33:25,700 これは、文字列型です。 699 00:33:25,700 --> 00:33:27,200 まさに。 700 00:33:27,200 --> 00:33:30,080 私たちはプリントアウトされたい次の事 新しい行の各文字。 701 00:33:30,080 --> 00:33:31,710 誰が私にそのコードを与えることができますか? 702 00:33:31,710 --> 00:33:32,110 [聞こえない]? 703 00:33:32,110 --> 00:33:33,000 あなたは私にそれを与えることはできますか? 704 00:33:33,000 --> 00:33:33,580 >> 学生:確かに。 705 00:33:33,580 --> 00:33:35,420 >> JASONハーシュホーン:それをしましょう​​。 706 00:33:35,420 --> 00:33:36,080 そしてごめんなさい。 707 00:33:36,080 --> 00:33:38,896 私はあなたが言うことを繰り返すことが好きではありません あなたはそれが右に取得しているので、私 708 00:33:38,896 --> 00:33:42,100 ので、それを繰り返す必要があり、そのときに これを転写、彼らはすべてを得ることができます 709 00:33:42,100 --> 00:33:44,870 書き起こしのテキスト外。 710 00:33:44,870 --> 00:33:47,180 だから、ただ話を続けることができます。 711 00:33:47,180 --> 00:33:48,590 残念ながら、私は持っている あなたにそれを言うために。 712 00:33:48,590 --> 00:33:49,510 すみません、しかし - 713 00:33:49,510 --> 00:33:50,610 >> 学生:大丈夫です。 714 00:33:50,610 --> 00:33:53,010 int型のi = 0のときのために 715 00:33:53,010 --> 00:33:54,170 >> JASONハーシュます。int i = 0の場合 716 00:33:54,170 --> 00:33:56,740 >> 学生:私は未満 - 717 00:33:56,740 --> 00:33:58,206 >> JASONハーシュホーン:セミコロン。 718 00:33:58,206 --> 00:34:00,650 >> 学生:この前に、我々は置くことができます 変数はint型の名前の長さを取得するので、? 719 00:34:00,650 --> 00:34:01,870 >> JASONハーシュホーン:ああ、あなたはしないでください セミコロンを入れたい? 720 00:34:01,870 --> 00:34:02,310 OK。 721 00:34:02,310 --> 00:34:05,120 だから、ゼロの後に何をすべきかをしたいですか? 722 00:34:05,120 --> 00:34:09,340 >> 学生:私が取得したい Sの文字列の長さと 723 00:34:09,340 --> 00:34:10,410 変数にすることを設定していますか? 724 00:34:10,410 --> 00:34:11,760 >> JASONハーシュホーン:OK、 ので、私はそれをどのように行うのですか? 725 00:34:11,760 --> 00:34:17,636 >> 学生:だからint型の長さを行う= 726 00:34:17,636 --> 00:34:20,010 >> JASONハーシュホーン:Intの長さ= 727 00:34:20,010 --> 00:34:22,230 >> STUDENT:S-T-R-L-E-N。 728 00:34:22,230 --> 00:34:24,260 >> JASONハーシュホーン:S-T-R-L-E-N - 729 00:34:24,260 --> 00:34:25,380 >> 学生:のS。 730 00:34:25,380 --> 00:34:25,790 ブラケット。 731 00:34:25,790 --> 00:34:27,920 >> JASONハーシュ:(複数可)。 732 00:34:27,920 --> 00:34:33,040 >> 学生:そして私はあなたがしなければならないと思います 2つのintの間にセミコロンを置く。 733 00:34:33,040 --> 00:34:34,590 >> JASONハーシュホーン:セミコロン ゼロの後に? 734 00:34:34,590 --> 00:34:35,260 >> 学生:うん。 735 00:34:35,260 --> 00:34:40,670 それからその後にセミコロンを入れて、 あなたは長さよりも、私は少ないと言う。 736 00:34:40,670 --> 00:34:43,250 私は長さよりも小さい、その 変数です。 737 00:34:43,250 --> 00:34:44,590 >> 学生:そしてセミコロン。 738 00:34:44,590 --> 00:34:45,790 >> JASONハーシュホーン:セミコロン。 739 00:34:45,790 --> 00:34:46,290 >> 学生:I + +。 740 00:34:46,290 --> 00:34:46,909 >> JASONハーシュホーン:I + +。 741 00:34:46,909 --> 00:34:47,530 私たちのためのループがあります。 742 00:34:47,530 --> 00:34:48,860 OK、forループの内側。 743 00:34:48,860 --> 00:34:51,670 >> STUDENT:そしてその後のprintf行う。 744 00:34:51,670 --> 00:34:53,340 >> JASONハーシュホーン:Printfは。 745 00:34:53,340 --> 00:34:53,889 >> 学生:ブラケット。 746 00:34:53,889 --> 00:34:55,130 >> JASONハーシュホーン:括弧、引用符。 747 00:34:55,130 --> 00:34:59,930 >> 学生:括弧、引用符、%C / N。 748 00:34:59,930 --> 00:35:00,760 >> JASONハーシュホーン:%C、OK。 749 00:35:00,760 --> 00:35:01,670 >> 学生:/ nである。 750 00:35:01,670 --> 00:35:03,470 >> JASONハーシュホーン:/ nである。 751 00:35:03,470 --> 00:35:04,410 >> STUDENT:クローズ符。 752 00:35:04,410 --> 00:35:05,270 >> JASONハーシュホーン:クローズ符。 753 00:35:05,270 --> 00:35:05,810 >> STUDENT:カンマ。 754 00:35:05,810 --> 00:35:06,860 >> JASONハーシュホーン:カンマ。 755 00:35:06,860 --> 00:35:07,800 >> 学生:S. 756 00:35:07,800 --> 00:35:08,070 >> JASONハーシュホーン:S. 757 00:35:08,070 --> 00:35:08,690 >> 学生:ブラケットI。 758 00:35:08,690 --> 00:35:10,230 >> JASONハーシュホーン:ブラケットI。 759 00:35:10,230 --> 00:35:11,520 >> 学生:そして閉じ括弧。 760 00:35:11,520 --> 00:35:12,540 >> JASONハーシュホーン:クローズ括弧。 761 00:35:12,540 --> 00:35:13,660 >> 学生:そしてセミコロン。 762 00:35:13,660 --> 00:35:13,770 >> JASONハーシュホーン:セミコロン。 763 00:35:13,770 --> 00:35:14,380 ファンタスティック。 764 00:35:14,380 --> 00:35:16,890 だから、これを保存してみましょう。 765 00:35:16,890 --> 00:35:19,770 スペルを確認します。 766 00:35:19,770 --> 00:35:20,040 ああ。 767 00:35:20,040 --> 00:35:22,275 私は、エラーのカップルを持っている。 768 00:35:22,275 --> 00:35:33,120 11行目の最初のエラー、それが言う、 発現を期待し、それが与えている 769 00:35:33,120 --> 00:35:36,910 私にエラー秒その int型は、エラーがあります。 770 00:35:36,910 --> 00:35:38,430 そこの周りにいくつかのエラーが発生しました。 771 00:35:38,430 --> 00:35:41,060 誰もがそれが何であるか、エラーを知っていますか? 772 00:35:41,060 --> 00:35:41,640 クルト? 773 00:35:41,640 --> 00:35:44,108 >> 学生:私はそれがすることになっていると思う カンマではなくセミコロンである。 774 00:35:44,108 --> 00:35:46,010 >> JASONハーシュホーン:OK、カンマ セミコロンの代わり。 775 00:35:46,010 --> 00:35:47,340 だから、すべての我々は修正する必要があるということです? 776 00:35:47,340 --> 00:35:47,655 >> 学生:いいえ。 777 00:35:47,655 --> 00:35:48,930 >> JASONハーシュホーン:他に何 我々は修正する必要がありますか? 778 00:35:48,930 --> 00:35:50,920 >> 学生:私たちは、string.hでを含める必要があります。 779 00:35:50,920 --> 00:35:51,680 >> JASONハーシュホーン:インクルードstring.hで。 780 00:35:51,680 --> 00:35:53,730 どこでそれを含めることが必要なのですか? 781 00:35:53,730 --> 00:35:57,085 >> 学生:あなたは含めている同じ場所 他のものは、右 782 00:35:57,085 --> 00:35:59,560 後は、stdio.hに含まれています。 783 00:35:59,560 --> 00:36:01,610 >> JASONハーシュホーン:これは実行されるかどうかを確認してみましょう 一般的には、私が好きなので最初 784 00:36:01,610 --> 00:36:06,360 最初に一つのことを修正し、実行する それは、その後、我々は得るエラーを参照してください。 785 00:36:06,360 --> 00:36:11,620 だから我々は、端末をクリアするつもりだ コントロールNで、呪文を作るのですかみましょう。 786 00:36:11,620 --> 00:36:15,190 787 00:36:15,190 --> 00:36:18,770 だから、11行目に別のエラー。 788 00:36:18,770 --> 00:36:20,540 セミコロンを期待した。 789 00:36:20,540 --> 00:36:22,640 と私はまだ取得しています この行のエラー。 790 00:36:22,640 --> 00:36:25,270 だから、私にそれを言って、エラーを与えていない 、strlenのが何であるかを理解していない 791 00:36:25,270 --> 00:36:28,980 しかし、それは私にこの上のエラーを与えている ラインなので、ほかに何か間違っている? 792 00:36:28,980 --> 00:36:29,690 マーク? 793 00:36:29,690 --> 00:36:30,940 マーカス。 794 00:36:30,940 --> 00:36:32,570 >> 学生:あなたが削除する必要がありますか 第二のint宣言? 795 00:36:32,570 --> 00:36:34,990 >> JASONハーシュホーン:削除 第二int型。 796 00:36:34,990 --> 00:36:35,710 これを試してみましょう。 797 00:36:35,710 --> 00:36:37,600 さて、端末をオフにします。 798 00:36:37,600 --> 00:36:40,130 スペルを確認します。 799 00:36:40,130 --> 00:36:40,490 エラーが発生しました。 800 00:36:40,490 --> 00:36:42,890 暗黙的に宣言するライブラリ 関数strlenは。 801 00:36:42,890 --> 00:36:44,270 だから今我々は、そのエラーが表示されません。 802 00:36:44,270 --> 00:36:45,760 我々は含まれるように何が必要ですか? 803 00:36:45,760 --> 00:36:46,660 >> 学生:string.hで。 804 00:36:46,660 --> 00:36:51,880 >> JASONハーシュホーン:インクルードstring.hで、 我々は#上部にstring.hで含まないよ 805 00:36:51,880 --> 00:36:52,920 画面の。 806 00:36:52,920 --> 00:36:55,450 保存してみましょう、スペルを確認します。 807 00:36:55,450 --> 00:36:56,970 今コンパイル。 808 00:36:56,970 --> 00:37:01,970 だからもう一度、物事は私たちに必要な 私たちのためのループ時に12行を覚えて 809 00:37:01,970 --> 00:37:08,010 我々はそれを設定しているデータ型はint i = 0のとき、 長= strlenは(複数可)。 810 00:37:08,010 --> 00:37:09,350 >> これは素晴らしい戦略です。 811 00:37:09,350 --> 00:37:12,590 このスタイルは、素晴らしいです これのデザインは素晴らしいです。 812 00:37:12,590 --> 00:37:15,620 我々は、後でそれらの理由に入ることができ だけ呼び出す必要がありますが、この方法 813 00:37:15,620 --> 00:37:19,040 strlenのかつての代わりに一つ一つの 時間は、ループを介して実行。 814 00:37:19,040 --> 00:37:22,255 ただし、そこにカンマを使用する必要があります と再度int型を必要としません。 815 00:37:22,255 --> 00:37:24,180 あなたはそれらの両方を宣言している場合 一緒に変数に、 816 00:37:24,180 --> 00:37:26,850 再びint型は必要ありません。 817 00:37:26,850 --> 00:37:29,820 そしてあなたは、strlen関数を使用するつもりなら これは、別のライブラリです 818 00:37:29,820 --> 00:37:33,560 この関数は、に含まれていない stdio.hにまたはcs50.h、メイク 819 00:37:33,560 --> 00:37:35,310 必ずあなたはstring.hであります。 820 00:37:35,310 --> 00:37:35,900 クルト? 821 00:37:35,900 --> 00:37:39,085 >> STUDENT:それでは、あなたがする必要がない場合 型の長さがあること、何んと言う 822 00:37:39,085 --> 00:37:40,290 それがintである必要があります意味ですか? 823 00:37:40,290 --> 00:37:41,930 あなたは、2つの異なるを持つことができませんでした そこにタイプ? 824 00:37:41,930 --> 00:37:43,290 >> JASONハーシュホーン:あなたができるように 2つの異なるタイプがある。 825 00:37:43,290 --> 00:37:45,730 長さは、しかし、ここではintです。 826 00:37:45,730 --> 00:37:48,590 それはコンマだから長さはintです その後同じこと。 827 00:37:48,590 --> 00:37:50,460 >> STUDENT:だからそれは起こっていることを前提としています 最初のものと同じになるように? 828 00:37:50,460 --> 00:37:52,423 >> JASONハーシュホーン:その通り。 829 00:37:52,423 --> 00:37:54,970 我々は今、これをやろうとしてますが、いない 上の2つの変数を含むことができる 830 00:37:54,970 --> 00:37:57,080 あるデータ型を使用して同じ行。 831 00:37:57,080 --> 00:38:01,415 yが作成することになりそうint型のx、 二つの変数。 832 00:38:01,415 --> 00:38:05,830 833 00:38:05,830 --> 00:38:10,770 我々はそれをすれば、それが与えるのでint型のx、y、 私は、未使用の変数xとyのため 834 00:38:10,770 --> 00:38:12,020 我々はそれらを使用しないでください。 835 00:38:12,020 --> 00:38:17,950 836 00:38:17,950 --> 00:38:21,650 単になる前にだから、voidを入れて 派手なトリックを使用しない場合 837 00:38:21,650 --> 00:38:22,810 それを使用するか、。 838 00:38:22,810 --> 00:38:26,300 あなたが見るようにしかし、私はxとyを作成 カンマと同じ行に。 839 00:38:26,300 --> 00:38:28,450 それは2つの整数を作成いる すぐそこ。 840 00:38:28,450 --> 00:38:31,560 作成するには、yesだから、完全に可能 同じ行に二つのこと 841 00:38:31,560 --> 00:38:33,720 カンマで区切られた。 842 00:38:33,720 --> 00:38:35,470 しかし、それらを取り除くましょう。 843 00:38:35,470 --> 00:38:36,370 >> だから呪文はそこだ。 844 00:38:36,370 --> 00:38:39,200 私たちのためにそれをコーディングするためにみんなありがとうございます。 845 00:38:39,200 --> 00:38:43,040 それはもう一回作ってみよう、それを実行する。 846 00:38:43,040 --> 00:38:44,580 私の文字列を与えます。 847 00:38:44,580 --> 00:38:45,580 【聞こえない]、あなたはそれのほとんどをやった。 848 00:38:45,580 --> 00:38:47,910 文字列とは何ですか? 849 00:38:47,910 --> 00:38:48,250 >> 学生:こんにちは。 850 00:38:48,250 --> 00:38:50,110 >> JASONハーシュホーン:こんにちは。 851 00:38:50,110 --> 00:38:52,810 H-E-L-L-O、1行の各文字。 852 00:38:52,810 --> 00:38:53,700 大きく見ます。 853 00:38:53,700 --> 00:38:54,750 のは再びそれを実行してみましょう。 854 00:38:54,750 --> 00:38:56,050 常にチェックするつもり コー​​ナーケースのために。 855 00:38:56,050 --> 00:38:57,750 チェックするのは良いコーナーケースは何ですか? 856 00:38:57,750 --> 00:39:00,250 857 00:39:00,250 --> 00:39:00,890 >> 学生:数字? 858 00:39:00,890 --> 00:39:02,240 >> JASONハーシュホーン:数値。 859 00:39:02,240 --> 00:39:06,580 だから私は1に置くことにしましょう​​、そしてそれは1を出力します。 860 00:39:06,580 --> 00:39:08,970 それはとても、手紙を求めていない それは数字の仕事のように思える。 861 00:39:08,970 --> 00:39:09,890 チェックするのは良いコーナーケース。 862 00:39:09,890 --> 00:39:11,740 別の良いコーナーは何ですか チェックする場合? 863 00:39:11,740 --> 00:39:12,420 >> 学生:空白の文字列。 864 00:39:12,420 --> 00:39:12,910 >> JASONハーシュホーン:フム? 865 00:39:12,910 --> 00:39:13,880 >> 学生:空の文字列のように。 866 00:39:13,880 --> 00:39:14,400 >> JASONハーシュホーン:空の文字列。 867 00:39:14,400 --> 00:39:16,730 それでは、何も入れないようにしましょう​​。 868 00:39:16,730 --> 00:39:18,660 そして、何が出て印刷される? 869 00:39:18,660 --> 00:39:19,090 >> 学生:何もないです。 870 00:39:19,090 --> 00:39:19,870 >> JASONハーシュホーン:何もない。 871 00:39:19,870 --> 00:39:20,555 それが動作するように思える。 872 00:39:20,555 --> 00:39:23,790 あなたはより多くのコーナーケースを試すこともできますが、 一般に数字、異なるデータである 873 00:39:23,790 --> 00:39:26,160 しようとする偉大なだけでなく、何もありません。 874 00:39:26,160 --> 00:39:29,180 何も、ゼロ、ネガは常にありません 偉大なことはあなたを試してみて、ものに 875 00:39:29,180 --> 00:39:33,140 テストする必要があり、物事は確かに我々はテストします のために、50を確認するためにテストします。 876 00:39:33,140 --> 00:39:34,720 spell.cについてのご質問? 877 00:39:34,720 --> 00:39:37,752 878 00:39:37,752 --> 00:39:39,310 >> OK、後頭部してみましょう。 879 00:39:39,310 --> 00:39:42,420 私はもう一つのプログラムを持っている 君たちが書き込むために。 880 00:39:42,420 --> 00:39:44,700 それはstudents.cと呼ばれています。 881 00:39:44,700 --> 00:39:49,020 これはのためにユーザーに要求するプログラムです 5名、その後ランダムに選択 882 00:39:49,020 --> 00:39:51,600 と名のいずれかを出力します。 883 00:39:51,600 --> 00:39:54,840 このプログラムは、もう少しです 我々が書いた最後の二つよりも関与、 884 00:39:54,840 --> 00:39:58,080 なぜ我々はに5分かかりません 個別にそれをコーディングした後、我々はよ 885 00:39:58,080 --> 00:40:00,130 グループとしてそれをコーディングします。 886 00:40:00,130 --> 00:40:03,795 >> このプログラムはまた、いくつかのものを含んで あなたがそうだとすれば、前に見​​ていない可能性があります 887 00:40:03,795 --> 00:40:06,390 あなたはどのように、疑問を持っていない 私はあなたの手を上げ、それを行う。 888 00:40:06,390 --> 00:40:08,530 私が来て、あなたを指します 右方向に移動する。 889 00:40:08,530 --> 00:40:10,820 しかし、我々はまた、それをやっているこのため いくつかを紹介するための良い方法になります 890 00:40:10,820 --> 00:40:12,070 トリッキーなトピック。 891 00:40:12,070 --> 00:44:14,600 892 00:44:14,600 --> 00:44:15,560 >> だから、右に動作? 893 00:44:15,560 --> 00:44:17,580 >> 学生:うん。 894 00:44:17,580 --> 00:44:19,180 >> JASONハーシュホーン:あなたが回すたびに 行うための問題を設定すると、そこの多くの方法 895 00:44:19,180 --> 00:44:20,790 それが、一部はもっとある 他よりもエレガント。 896 00:44:20,790 --> 00:44:29,000 897 00:44:29,000 --> 00:44:31,110 私たちが入ってダイブしましょう 898 00:44:31,110 --> 00:44:32,880 #includeをcs50.h. 899 00:44:32,880 --> 00:44:34,250 #stdio.hに含まれています。 900 00:44:34,250 --> 00:44:37,240 int型メインボイド中括弧。 901 00:44:37,240 --> 00:44:39,430 中括弧の内部では、 私は2つのコメントがあります。 902 00:44:39,430 --> 00:44:41,500 ですが、尋ねる最初のもの 5名のユーザ。 903 00:44:41,500 --> 00:44:46,580 もう一つは、ランダムに選択され と名のいずれかをプリントアウト。 904 00:44:46,580 --> 00:44:50,250 だから最初のいずれかの操作を行いましょう、頼む 5名のユーザ。 905 00:44:50,250 --> 00:44:53,730 誰が5名のユーザーを求めている とどのようにそれを行うために私を伝えることができますか? 906 00:44:53,730 --> 00:44:56,760 907 00:44:56,760 --> 00:44:58,570 2つだけの人々が最初の部分をやった。 908 00:44:58,570 --> 00:45:00,150 3人が最初の部分をやった。 909 00:45:00,150 --> 00:45:00,670 四、五。 910 00:45:00,670 --> 00:45:03,140 トム、あなたはそれをどのように行うのですか? 911 00:45:03,140 --> 00:45:09,940 >> 学生:あなたは、文字列を宣言します その後名前、ブラケット5。 912 00:45:09,940 --> 00:45:12,070 >> JASONハーシュホーン:文字列 ブラケット5名前を付けます。 913 00:45:12,070 --> 00:45:15,350 だから、この行が何をやっている、 文字列名ブラケット5? 914 00:45:15,350 --> 00:45:17,800 >> 学生:あなたは宣言する 文字列の配列。 915 00:45:17,800 --> 00:45:19,000 >> JASONハーシュホーン:これは 文字列の配列。 916 00:45:19,000 --> 00:45:21,590 どのように多くの文字列しようとしている ここに収まるように? 917 00:45:21,590 --> 00:45:22,010 >> 学生:ファイブ。 918 00:45:22,010 --> 00:45:22,320 >> JASONハーシュホーン:5。 919 00:45:22,320 --> 00:45:22,660 優秀。 920 00:45:22,660 --> 00:45:26,360 我々は、それの名前を呼び出すためになるだろう 我々は、複数のものを取得するつもりだ。 921 00:45:26,360 --> 00:45:27,790 [OK]を、次の? 922 00:45:27,790 --> 00:45:29,270 >> その後、そして、あなた:STUDENT forループを持っている - 923 00:45:29,270 --> 00:45:30,060 >> JASONハーシュホーン:Forループ。 924 00:45:30,060 --> 00:45:33,035 >> 学生: - iは= 0。 925 00:45:33,035 --> 00:45:37,040 >> JASONハーシュホーン:するfor(int i = 0のとき。 926 00:45:37,040 --> 00:45:38,270 >> 学生:セミコロン。 927 00:45:38,270 --> 00:45:38,880 >> JASONハーシュホーン:セミコロン。 928 00:45:38,880 --> 00:45:39,790 >> 学生:私は5未満。 929 00:45:39,790 --> 00:45:41,310 >> JASONハーシュホーン:私5未満。 930 00:45:41,310 --> 00:45:42,230 >> 学生:セミコロン。 931 00:45:42,230 --> 00:45:42,560 >> JASONハーシュホーン:セミコロン。 932 00:45:42,560 --> 00:45:43,380 >> 学生:I + +。 933 00:45:43,380 --> 00:45:46,050 >> JASONハーシュホーン:I + +。 934 00:45:46,050 --> 00:45:47,100 >> 学生:そして閉じ括弧。 935 00:45:47,100 --> 00:45:48,600 >> JASONハーシュホーン:クローズ括弧、 その後、いくつかの中括弧。 936 00:45:48,600 --> 00:45:50,050 中括弧内の? 937 00:45:50,050 --> 00:45:51,423 >> STUDENT:そしてその後のprintf。 938 00:45:51,423 --> 00:45:52,535 >> JASONハーシュホーン:Printfは。 939 00:45:52,535 --> 00:45:56,200 >> STUDENT:オープン括弧、名%d。 940 00:45:56,200 --> 00:45:57,090 >> JASONハーシュホーン:申し訳ありません? 941 00:45:57,090 --> 00:45:57,660 >> STUDENT:名前。 942 00:45:57,660 --> 00:45:58,200 >> JASONハーシュホーン:名前。 943 00:45:58,200 --> 00:46:01,700 >> 学生:そして、スペース、およびその後は%d。 944 00:46:01,700 --> 00:46:02,950 >> JASONハーシュホーン:名前、スペース、%dは。 945 00:46:02,950 --> 00:46:05,630 946 00:46:05,630 --> 00:46:10,820 >> 学生:そして/ n、および閉じ。 947 00:46:10,820 --> 00:46:15,070 >> JASONハーシュホーン:だから名前、スペース、 %dは/ nは、括弧を閉じた。 948 00:46:15,070 --> 00:46:17,730 >> STUDENT:カンマ、I + 1。 949 00:46:17,730 --> 00:46:19,390 ごめんなさい。 950 00:46:19,390 --> 00:46:21,040 クローズド引用し、次にコンマ、I +1。 951 00:46:21,040 --> 00:46:24,400 >> JASONハーシュホーン:クローズ 引用符、コンマ、I +1。 952 00:46:24,400 --> 00:46:25,850 >> 学生:はい。 953 00:46:25,850 --> 00:46:27,650 そして、次の行 - 954 00:46:27,650 --> 00:46:29,400 >> JASONハーシュホーン:I + 1。 955 00:46:29,400 --> 00:46:31,600 >> 学生:はい。 956 00:46:31,600 --> 00:46:36,440 そして、次のスライド 名ブラケットIです。 957 00:46:36,440 --> 00:46:39,000 >> JASONハーシュホーン:次の行 名ブラケットIです。 958 00:46:39,000 --> 00:46:41,360 >> 学生:=文字列を取得します。 959 00:46:41,360 --> 00:46:43,460 >> JASONハーシュホーン:=取得する - 960 00:46:43,460 --> 00:46:44,510 資本G-E-T - 961 00:46:44,510 --> 00:46:45,530 文字列。 962 00:46:45,530 --> 00:46:47,800 あら、ごめんなさい。 963 00:46:47,800 --> 00:46:49,050 >> STUDENT:オープン、閉じ括弧 その後 - 964 00:46:49,050 --> 00:46:50,940 >> JASONハーシュホーン:オープンは、括弧を閉じた。 965 00:46:50,940 --> 00:46:51,030 >> 学生:セミコロン。 966 00:46:51,030 --> 00:46:52,500 >> JASONハーシュホーン:セミコロン。 967 00:46:52,500 --> 00:46:57,545 [OK]を、ので、の配列を初期化する 文字列、名前、その後は通過 968 00:46:57,545 --> 00:47:02,720 forループ、および5回は、いくつかをプリントアウト 保管後、ユーザーにプロンプ​​トを表示し、 969 00:47:02,720 --> 00:47:03,360 5弦。 970 00:47:03,360 --> 00:47:08,090 誰もがいずれかを持っていますか これの調整? 971 00:47:08,090 --> 00:47:10,030 トムは、私は思うみんな あなたと同意。 972 00:47:10,030 --> 00:47:10,880 かなりよさそうだ。 973 00:47:10,880 --> 00:47:11,660 OK。 974 00:47:11,660 --> 00:47:14,830 なぜあなたは、しかし、私の1をしましたか? 975 00:47:14,830 --> 00:47:18,000 >> 学生:私は意味がありません であるが、それはそのように私は+1する 976 00:47:18,000 --> 00:47:19,700 名前1は、5つの名前を付けます。 977 00:47:19,700 --> 00:47:21,930 それ以外の場合は、名前になり 4名前を付けるためにゼロ。 978 00:47:21,930 --> 00:47:24,400 >> JASONハーシュホーン:だからあなたは私+1しました そうでなければならない理由 979 00:47:24,400 --> 00:47:27,060 4を通してゼロプリントアウトので それは、コンピュータがどのように考えるかですが、人間 980 00:47:27,060 --> 00:47:28,530 本当にそのように読んでいない。 981 00:47:28,530 --> 00:47:30,190 それはまた別のものです あなたが遭遇するでしょう。 982 00:47:30,190 --> 00:47:33,210 時には、あなたが何かをプリントアウトするとき ユーザーに、あなたはそれを確認したいと思う 983 00:47:33,210 --> 00:47:35,733 少しきれいに、とやって この場合は+1 iがある 984 00:47:35,733 --> 00:47:37,430 それをきれいにする方法。 985 00:47:37,430 --> 00:47:41,380 >> 私はまた、5倍、文字列名を参照してください 5ですが、iが5未満です。 986 00:47:41,380 --> 00:47:42,430 あなたは5を持ってどこに私は知っている。 987 00:47:42,430 --> 00:47:44,890 あなたは私が言ってから、それを得た あなた5名。 988 00:47:44,890 --> 00:47:49,000 しかし、我々は、コードを作りたい場合 もう少し堅牢な、一つのこと、私たち 989 00:47:49,000 --> 00:47:53,110 行うことができ、int型の外で、ここにある 我々は、このような何かを行うことができます 990 00:47:53,110 --> 00:47:57,070 #defineを、我々はNAMES 5を行うことができます。 991 00:47:57,070 --> 00:48:01,580 992 00:48:01,580 --> 00:48:05,390 >> だから基本的には、どこに私が資本を書く N、資本A、資本M、資本E、 993 00:48:05,390 --> 00:48:08,890 キャピタルS、その文字列は、それが置き換えられます コー​​ド内の5でその。 994 00:48:08,890 --> 00:48:11,530 995 00:48:11,530 --> 00:48:13,445 それとも、それを呼び出すみましょう - 私たちはよ ちょうどそれNUMBER呼ぶ。 996 00:48:13,445 --> 00:48:17,190 だから私は、すべてのキャップを定義しています 5する番号。 997 00:48:17,190 --> 00:48:22,830 >> だから今、私は、5番を持ってどこ すべて大文字のNUMBERでそれを置き換えることができます。 998 00:48:22,830 --> 00:48:26,880 そして今、私は番号を変更したい場合は、 名で、私はすべてを行う必要がある 999 00:48:26,880 --> 00:48:31,350 私が持っているこの1行、4行目、 #、5番を定義する10に変更し、 1000 00:48:31,350 --> 00:48:34,340 またはその4に変更します。 1001 00:48:34,340 --> 00:48:37,400 コー​​ドが長くなるときは、わからない すべての場所を覚えて行く 1002 00:48:37,400 --> 00:48:41,630 あなたが望むどのように多くの名前入れ、中 1を欠場するしないあなたのためのオーダー、これは 1003 00:48:41,630 --> 00:48:45,490 何かを見つけるために、それを行うには良い方法 トップアップしてから、ちょうどそのフレーズを使用 1004 00:48:45,490 --> 00:48:46,400 どこでもあなたのコード全体。 1005 00:48:46,400 --> 00:48:46,780 マーカス? 1006 00:48:46,780 --> 00:48:49,780 >> STUDENT:その文体好ましい グローバル定義より 1007 00:48:49,780 --> 00:48:51,270 定数N? 1008 00:48:51,270 --> 00:48:53,760 >> JASONハーシュホーン:だからそれがある 文体グローバルより好ま 1009 00:48:53,760 --> 00:48:54,980 定数Nを定義する? 1010 00:48:54,980 --> 00:48:59,036 だからあなたができたと言っている 行う、int型の数= 5? 1011 00:48:59,036 --> 00:49:01,300 >> 学生:彼らは子音を持っていますか C言語でない、または? 1012 00:49:01,300 --> 00:49:02,720 >> JASONハーシュホーン:または定数 - 同等である。 1013 00:49:02,720 --> 00:49:04,275 だから、ただ言っている グローバル変数? 1014 00:49:04,275 --> 00:49:04,990 >> 学生:うん。 1015 00:49:04,990 --> 00:49:08,670 >> JASONハーシュホーン:だから文体、 1右は必ずしもありません 1016 00:49:08,670 --> 00:49:12,050 答えが、それらの両方が優れている ただ、これらのランダムを投げるより 1017 00:49:12,050 --> 00:49:12,960 あなたのコード全体の数字。 1018 00:49:12,960 --> 00:49:14,650 我々はそれらのマジックナンバーと呼ぶ。 1019 00:49:14,650 --> 00:49:16,450 私はあなたのコードを見たり、とき 誰もがそれを読んで、それら 1020 00:49:16,450 --> 00:49:18,790 ただこれらの乱数をしたくない それは意味をなさない。 1021 00:49:18,790 --> 00:49:22,420 一般的には偶数の26、 アルファベットの文字の数は、 1022 00:49:22,420 --> 00:49:28,870 それはトップアップALPHABETを定義する方が良いでしょう と、その文字列の数字26を保存 1023 00:49:28,870 --> 00:49:29,550 理にかなっている場合。 1024 00:49:29,550 --> 00:49:33,210 >> - または問題上の1つではなく、設定し 再び、我々はにこれについて話をしなかった 1025 00:49:33,210 --> 00:49:37,020 時間ではなく、ただの投げ どこでも25または10では、次のことができます 1026 00:49:37,020 --> 00:49:41,860 QUARTERとして番号25または10として保存 DIME、およびそのための、それが容易になります 1027 00:49:41,860 --> 00:49:44,140 誰がにコードを読んだ あなたは、その番号を選んだ理由を理解しています。 1028 00:49:44,140 --> 00:49:46,540 そしてまた、あなたのため、あなたがこれまでにしたい場合 コー​​ドを更新、それは少しになります 1029 00:49:46,540 --> 00:49:47,290 より堅牢。 1030 00:49:47,290 --> 00:49:48,070 うん? 1031 00:49:48,070 --> 00:49:50,830 >> 学生:このコードはまたつもりです 後の私たちのために利用できるようにするには? 1032 00:49:50,830 --> 00:49:52,453 >> JASONハーシュホーン:これらのコードのすべて 我々は一緒に書かれている 1033 00:49:52,453 --> 00:49:54,620 あなたに電子メールで送信されようとし 男と利用できる。 1034 00:49:54,620 --> 00:49:55,740 はい。 1035 00:49:55,740 --> 00:49:58,040 だから5つの名前をユーザーに尋ねる。 1036 00:49:58,040 --> 00:50:00,280 ランダムに選択して印刷 名前の一つ。 1037 00:50:00,280 --> 00:50:00,940 誰がこの行をやった? 1038 00:50:00,940 --> 00:50:02,230 これは、ここでトリッキーなラインです。 1039 00:50:02,230 --> 00:50:02,450 申し訳ありませんが、トム。 1040 00:50:02,450 --> 00:50:05,510 あなたは本当に良い仕事をしたが、 これは少しトリッキーです。 1041 00:50:05,510 --> 00:50:06,600 マーカスは、先に行く。 1042 00:50:06,600 --> 00:50:10,180 >> STUDENT:まあまず、あなたがしようとしている stdlib.hをと構造体はTIME.Hを含める必要が 1043 00:50:10,180 --> 00:50:13,200 >> JASONハーシュホーン:だからで言っている 上部には、さらに2つのライブラリが含まれています。 1044 00:50:13,200 --> 00:50:18,830 あなたは私がS-T-D-L-I-Bを含めたい ドットH、標準ライブラリ、そして何 1045 00:50:18,830 --> 00:50:19,760 もう一つでしたか? 1046 00:50:19,760 --> 00:50:21,010 >> 学生:この構造体はTIME.H 1047 00:50:21,010 --> 00:50:25,130 1048 00:50:25,130 --> 00:50:27,840 >> JASONハーシュホーン:#は、この構造体はTIME.H 1049 00:50:27,840 --> 00:50:29,470 したがって、これらは、2つ以上のライブラリです。 1050 00:50:29,470 --> 00:50:31,790 私は、我々が使用してすることになるだろう今と仮定 これらに含まれている機能 1051 00:50:31,790 --> 00:50:34,240 あなたが必要とされる理由である2、 それらを含むように? 1052 00:50:34,240 --> 00:50:36,980 >> STUDENT:それでは、最初にあなたがいる srand関数を書きたいつもり。 1053 00:50:36,980 --> 00:50:38,770 >> JASONハーシュホーン:srand関数。 1054 00:50:38,770 --> 00:50:42,070 >> 学生:(時間(0) 1055 00:50:42,070 --> 00:50:42,700 >> JASONハーシュホーン:申し訳ありません。 1056 00:50:42,700 --> 00:50:45,580 srand関数(時間( 1057 00:50:45,580 --> 00:50:46,890 >> 学生:0。 1058 00:50:46,890 --> 00:50:47,230 >> JASONハーシュホーン:0。 1059 00:50:47,230 --> 00:50:49,990 >> 学生:))、セミコロン。 1060 00:50:49,990 --> 00:50:51,320 >> JASONハーシュホーン:別の閉じ括弧? 1061 00:50:51,320 --> 00:50:51,650 セミコロン。 1062 00:50:51,650 --> 00:50:53,610 私はただ交換するつもり NULLではあなたのゼロ。 1063 00:50:53,610 --> 00:50:55,980 それは同じ事をやるだろうが、 一般的には、どの、NULLが表示されます 1064 00:50:55,980 --> 00:50:57,720 我々はこれについて話します 番目の行。 1065 00:50:57,720 --> 00:50:58,580 >> 学生:文体良い? 1066 00:50:58,580 --> 00:51:02,240 >> JASONハーシュホーン:一般的に、人々 右NULLですが、同じこと。 1067 00:51:02,240 --> 00:51:05,010 >> 学生:そしてint型名。 1068 00:51:05,010 --> 00:51:06,490 >> JASONハーシュホーン:Intの名前。 1069 00:51:06,490 --> 00:51:07,280 >> 学生:= 1070 00:51:07,280 --> 00:51:07,780 >> JASONハーシュホーン:= 1071 00:51:07,780 --> 00:51:08,580 >> 学生:ランド。 1072 00:51:08,580 --> 00:51:09,340 >> JASONハーシュホーン:ランド。 1073 00:51:09,340 --> 00:51:10,420 >> 学生:() 1074 00:51:10,420 --> 00:51:11,500 >> JASONハーシュ:() 1075 00:51:11,500 --> 00:51:12,850 >> 学生:モジュロ番号。 1076 00:51:12,850 --> 00:51:14,310 >> JASONハーシュホーン:モジュロは何ですか? 1077 00:51:14,310 --> 00:51:14,970 文字? 1078 00:51:14,970 --> 00:51:16,000 パーセント文字? 1079 00:51:16,000 --> 00:51:17,790 >> 学生:パーセント文字。 1080 00:51:17,790 --> 00:51:19,521 あなたが一番上の定義したモジュロNUMBER。 1081 00:51:19,521 --> 00:51:22,030 >> JASONハーシュ:モジュロNUMBER。 1082 00:51:22,030 --> 00:51:24,052 >> 学生:そしてセミコロン。 1083 00:51:24,052 --> 00:51:24,660 >> JASONハーシュホーン:セミコロン。 1084 00:51:24,660 --> 00:51:27,820 >> 学生:そして新しい行、printfの。 1085 00:51:27,820 --> 00:51:28,460 >> JASONハーシュホーン:Printfは。 1086 00:51:28,460 --> 00:51:29,730 >> 学生:( 1087 00:51:29,730 --> 00:51:30,620 >> JASONハーシュホーン:( 1088 00:51:30,620 --> 00:51:31,650 >> 学生: " 1089 00:51:31,650 --> 00:51:32,630 >> JASONハーシュ: " 1090 00:51:32,630 --> 00:51:35,320 >> 学生:%S / N 1091 00:51:35,320 --> 00:51:37,220 >> JASONハーシュホーン:%S / N 1092 00:51:37,220 --> 00:51:38,420 >> 学生: " 1093 00:51:38,420 --> 00:51:40,640 >> JASONハーシュホーン:%S / N " 1094 00:51:40,640 --> 00:51:43,540 >> STUDENT:カンマ、スペース名。 1095 00:51:43,540 --> 00:51:44,350 >> JASONハーシュホーン:スペース - 1096 00:51:44,350 --> 00:51:46,300 >> 学生:ああ、私は、推測何 我々はそれをここに呼んでたのか? 1097 00:51:46,300 --> 00:51:48,640 >> JASONハーシュホーン:我々はそれの名前と呼ばれる。 1098 00:51:48,640 --> 00:51:52,360 >> STUDENT:オープンブラケット、名前。 1099 00:51:52,360 --> 00:51:55,090 >> JASONハーシュホーン:オープンブラケット、名前。 1100 00:51:55,090 --> 00:51:55,850 >> STUDENT:クローズブラケット。 1101 00:51:55,850 --> 00:51:56,490 >> JASONハーシュホーン:クローズブラケット。 1102 00:51:56,490 --> 00:51:57,460 >> 学生:) 1103 00:51:57,460 --> 00:51:58,800 >> JASONハーシュ:) 1104 00:51:58,800 --> 00:51:59,440 >> 学生:セミコロン。 1105 00:51:59,440 --> 00:52:00,410 >> JASONハーシュホーン:セミコロン。 1106 00:52:00,410 --> 00:52:01,500 OK、のは保存しましょう​​。 1107 00:52:01,500 --> 00:52:04,410 このコードを作ってみましょう。 1108 00:52:04,410 --> 00:52:06,365 学生。 1109 00:52:06,365 --> 00:52:07,100 このコードを実行してみましょう。 1110 00:52:07,100 --> 00:52:08,480 学生。 1111 00:52:08,480 --> 00:52:11,630 ではない。/学生。 。/学生。 1112 00:52:11,630 --> 00:52:12,870 名前1。 1113 00:52:12,870 --> 00:52:15,490 私たちは、ダビデに言うよ。 1114 00:52:15,490 --> 00:52:18,070 名前2、RJ。 1115 00:52:18,070 --> 00:52:20,561 名前3、ロブ。 1116 00:52:20,561 --> 00:52:22,490 名前4、ルーカス。 1117 00:52:22,490 --> 00:52:26,060 名前5、ジョセフ。 1118 00:52:26,060 --> 00:52:28,850 そして、それは再びジョセフを出力します。 1119 00:52:28,850 --> 00:52:31,730 >> だから私は再びこれを実行してみましょう。 1120 00:52:31,730 --> 00:52:32,460 私は同じ名前をやってみましょう。 1121 00:52:32,460 --> 00:52:39,760 デビッド、RJ、ロブ、ルーカス、ジョセフ。 1122 00:52:39,760 --> 00:52:41,070 そしてそれはデビッドの私にこの時間を与えた。 1123 00:52:41,070 --> 00:52:43,030 だから私は同じ事をした、それが与えた 私別物、それだ 1124 00:52:43,030 --> 00:52:45,410 なぜなら、もちろん、我々は求めている ランダムな名前のために。 1125 00:52:45,410 --> 00:52:50,950 だから私は私が放浪のオフに基づいて、考える 部屋の周りに、そのほとんどの人々 1126 00:52:50,950 --> 00:52:55,960 おそらく、最初の部分の権利を得た その配列を設定した後、取得 1127 00:52:55,960 --> 00:52:56,430 すべての名前。 1128 00:52:56,430 --> 00:52:59,320 私は16を通ってライン10について話している。 1129 00:52:59,320 --> 00:53:02,150 しかし、21行目18がおそらく あなたが前に見ていないいくつかのもの、 1130 00:53:02,150 --> 00:53:03,750 それでは、それらを通過することができます。 1131 00:53:03,750 --> 00:53:10,390 >> この行は、srand関数時間NULL 本質的に - 1132 00:53:10,390 --> 00:53:14,300 申し訳ありませんが、のがダウンスキップせ 行、ランド()。 1133 00:53:14,300 --> 00:53:17,320 つまり、あなたに乱数を与えます ランダムな整数。 1134 00:53:17,320 --> 00:53:19,630 そして、あなたは男ランドをヒットした場合、どの あなた方の多くはなかった - 1135 00:53:19,630 --> 00:53:21,530 M-A-N空間R-A-N-D - 1136 00:53:21,530 --> 00:53:25,910 このような端末で、M-A-N スペースR-A-N-D、Enterキーを押してください。 1137 00:53:25,910 --> 00:53:30,490 あなたは、マニュアルに出てくるであろうと そのランドを読み取ることができるだろう 1138 00:53:30,490 --> 00:53:34,260 コマンド出力は、NUM擬似ランダムバイト 乱数を播種した後 1139 00:53:34,260 --> 00:53:35,510 一度ジェネレータ。 1140 00:53:35,510 --> 00:53:38,450 1141 00:53:38,450 --> 00:53:39,700 >> だから説明だ。 1142 00:53:39,700 --> 00:53:43,860 1143 00:53:43,860 --> 00:53:46,800 つまり、ランドが何をするかである与える あなた乱数 1144 00:53:46,800 --> 00:53:48,610 あなたはその関数を呼び出します。 1145 00:53:48,610 --> 00:53:53,140 残念なことに、それは本当にランダムではありません あなただけランダム呼び出した場合理由 1146 00:53:53,140 --> 00:53:55,970 それをいくつかの種子を得ることなく、いくつかの 出発点は、常に選択する 1147 00:53:55,970 --> 00:53:59,100 同一それは、式を使用して 次のいずれかを決定する。 1148 00:53:59,100 --> 00:54:01,730 あなたはランドを呼び出すのであれば、それだけでよ あなたに同じことを与える。 1149 00:54:01,730 --> 00:54:02,610 これは非常に予測可能になります。 1150 00:54:02,610 --> 00:54:03,790 これは、実際にはランダムではありません。 1151 00:54:03,790 --> 00:54:09,610 >> それでは、私たちが行う必要がある、マーカスの一人当たりの 私への命令は、種子のランドだった 1152 00:54:09,610 --> 00:54:13,810 何か他のもので、それは何であるか srand関数はありません。 1153 00:54:13,810 --> 00:54:18,055 もう少し何かそれは種·ランド 同じものよりもランダム、と 1154 00:54:18,055 --> 00:54:23,360 彼は、時間がNULLでそれを播種ている 単に慣例により、現在、ある 1155 00:54:23,360 --> 00:54:24,650 秒単位の時間。 1156 00:54:24,650 --> 00:54:29,790 >> だから、誰もがないと仮定しています 正確でコードを実行するつもり 1157 00:54:29,790 --> 00:54:33,620 同じ第二は、ので、それは安全な賭けだ タイムNULLは異なることになるだろう 1158 00:54:33,620 --> 00:54:35,250 たびに、このコードが実行されます。 1159 00:54:35,250 --> 00:54:39,020 こうして、srand関数はシードランドという安全な賭け 何か違うごとで 1160 00:54:39,020 --> 00:54:39,990 単一の時間。 1161 00:54:39,990 --> 00:54:44,110 だから私たちが欲しい慣例による 乱数は、我々は、この行を書き込む 1162 00:54:44,110 --> 00:54:50,540 srand関数時間NULL、私たちに多くを与えるために よりランダムシード、そして我々は実行する 1163 00:54:50,540 --> 00:54:52,080 私たちに乱数を与えランド、。 1164 00:54:52,080 --> 00:54:52,840 うん? 1165 00:54:52,840 --> 00:54:54,140 >> 学生:あなたは何を言うことができます あなたは、種子によって意味ですか? 1166 00:54:54,140 --> 00:54:55,630 >> JASONハーシュホーン:種子のように - 1167 00:54:55,630 --> 00:54:58,730 そうランドは、いくつかの番号を選択しようとしている そしてそれは、いくつかを使用するように起こっている 1168 00:54:58,730 --> 00:55:00,060 そこを取得するための式。 1169 00:55:00,060 --> 00:55:03,250 だから、何かを始めるために起こっている その後基づいて何かにそれを回す 1170 00:55:03,250 --> 00:55:03,890 その式のオフ。 1171 00:55:03,890 --> 00:55:06,090 あなたは常にそれを同じものを与えれば、 それは常ににそれを回すために起こっている 1172 00:55:06,090 --> 00:55:06,790 同じこと。 1173 00:55:06,790 --> 00:55:08,450 その最初のものだから それは種子である与える。 1174 00:55:08,450 --> 00:55:10,880 だから、あなたはそれに何かを与えたい から始めることが異なるので、それ 1175 00:55:10,880 --> 00:55:12,610 別の何かにそれを向けるだろう。 1176 00:55:12,610 --> 00:55:15,840 >> そして最後に、20行目、 この%が呼び出され 1177 00:55:15,840 --> 00:55:17,470 モジュロ、と混乱しています。 1178 00:55:17,470 --> 00:55:19,850 それが少しあるものだ あなたが本当にしないことを、ここでは異なる 1179 00:55:19,850 --> 00:55:22,240 現実の数学を持っている。 1180 00:55:22,240 --> 00:55:27,430 しかし、本質的に、あなたは巨人を取るとき 数とは、C言語で分けるのか 1181 00:55:27,430 --> 00:55:29,482 残りの部分になりますか? 1182 00:55:29,482 --> 00:55:30,510 >> 学生:それは切り捨てられます。 1183 00:55:30,510 --> 00:55:31,220 >> JASONハーシュホーン:それは切り捨てられます。 1184 00:55:31,220 --> 00:55:35,200 だから、3で割った20は何ですか? 1185 00:55:35,200 --> 00:55:37,950 それはに何を返しません あなた、3で割った20。 1186 00:55:37,950 --> 00:55:39,260 申し訳ありませんが、10を3で割ったもの。 1187 00:55:39,260 --> 00:55:41,062 それはあなたに何を返すのでしょうか? 1188 00:55:41,062 --> 00:55:41,540 >> 学生:[聞こえない]。 1189 00:55:41,540 --> 00:55:45,170 >> JASONハーシュホーン:ちょうど3で割った10 3を返し、しない3余り1。 1190 00:55:45,170 --> 00:55:51,490 どのようなので、10を法と3に戻り ただ残りは、1です。 1191 00:55:51,490 --> 00:55:54,020 あなたは、10分割されたのか知りたいと思ったのであれば 3は、実際にあったことで、だろう 1192 00:55:54,020 --> 00:55:58,950 3で割って10を行うには、あなたの3を取得したい その後、10モジュロ3を行うだろう、と 1193 00:55:58,950 --> 00:55:59,860 あなたは1点を得ると思います。 1194 00:55:59,860 --> 00:56:04,630 だから、10が分かれていることを実現したい 3で3、残り1です。 1195 00:56:04,630 --> 00:56:07,990 >> そして、このラインで、ランドは次のようになります。 任意の整数、本質的に。 1196 00:56:07,990 --> 00:56:12,660 モジュロが言っているように、で割り この場合は5になっている番号。 1197 00:56:12,660 --> 00:56:16,420 そして、あなたは今までに数で除算した場合、 整数は常に未満でなければならない 1198 00:56:16,420 --> 00:56:17,590 その数。 1199 00:56:17,590 --> 00:56:22,200 だから、5番で割っている場合、 残りは常にあることを行っている 1200 00:56:22,200 --> 00:56:23,396 ゼロから4。 1201 00:56:23,396 --> 00:56:25,520 それは数学が出てどのように動作するかだけだ。 1202 00:56:25,520 --> 00:56:29,700 >> だから、小さいことでmoduloed多数 数は常に戻ります 1203 00:56:29,700 --> 00:56:33,530 残り、常にいくつかを返します 数あなた未満の番号 1204 00:56:33,530 --> 00:56:34,693 で割った値。 1205 00:56:34,693 --> 00:56:37,920 誰についてのご質問はありますか モジュロ、それは非常に来るので、 1206 00:56:37,920 --> 00:56:41,450 非常に便利なので、私は確認したい 誰もがそれを理解している? 1207 00:56:41,450 --> 00:56:43,710 クール。 1208 00:56:43,710 --> 00:56:46,000 そして我々は、このプログラムが働いたことを見た。 1209 00:56:46,000 --> 00:56:50,280 OK、上を移動する。 1210 00:56:50,280 --> 00:56:52,970 >> だから次の、我々は入るつもり 機能、そして私達は行くつもりです 1211 00:56:52,970 --> 00:56:55,580 このようなものの残りの部分を通してかなり すぐに私が取得したいので、 1212 00:56:55,580 --> 00:56:57,150 コマンドライン引数。 1213 00:56:57,150 --> 00:57:00,330 そう関数は、本質的に あなたが見てきたように、ブラックボックス。 1214 00:57:00,330 --> 00:57:04,290 彼らは、と呼ばれるパラメータで物事を取る 彼らはどちらか、彼らに何かをする 1215 00:57:04,290 --> 00:57:06,990 それらを変更したり、いくつかの副作用を作成する そして最後に、彼らが吐く 1216 00:57:06,990 --> 00:57:09,530 何か外、 戻り値。 1217 00:57:09,530 --> 00:57:12,495 誰もが私に一つの理由を与えることができます なぜ我々は関数を使うのでしょうか? 1218 00:57:12,495 --> 00:57:15,870 1219 00:57:15,870 --> 00:57:16,360 誰? 1220 00:57:16,360 --> 00:57:19,360 我々は関数を使用したい理由の一つ? 1221 00:57:19,360 --> 00:57:21,280 誰ですか? 1222 00:57:21,280 --> 00:57:22,700 私は両手を見た。 1223 00:57:22,700 --> 00:57:23,590 正当な理由は何ですか? 1224 00:57:23,590 --> 00:57:24,930 マーカス? 1225 00:57:24,930 --> 00:57:27,730 >> 学生:あなたは、同じを呼び出す必要がある場合 コー​​ドを複数回の塊。 1226 00:57:27,730 --> 00:57:29,150 >> JASONハーシュホーン:OK、あなたが必要な場合 同一のチャンクを呼び出します 1227 00:57:29,150 --> 00:57:30,040 複数回コーディングします。 1228 00:57:30,040 --> 00:57:32,470 ジェフは、あなたが別の理由を持っているのですか? 1229 00:57:32,470 --> 00:57:34,230 >> STUDENT:ちょうどよう あなたは以下のコードを記述することができます。 1230 00:57:34,230 --> 00:57:35,070 >> JASONハーシュホーン:あなたは以下のコードを記述することができます。 1231 00:57:35,070 --> 00:57:35,320 右。 1232 00:57:35,320 --> 00:57:38,720 - あなたが何かをたくさん行いたい場合 1233 00:57:38,720 --> 00:57:41,720 以前のコードでは、私は可能性があります 文字列を5回取得書かれていますが、 1234 00:57:41,720 --> 00:57:44,620 ループは、それがよりよいと見えるために あなたは以下のコードを記述する必要があります。 1235 00:57:44,620 --> 00:57:45,760 関数は同様の考えである。 1236 00:57:45,760 --> 00:57:48,720 私は、同じことをたくさんしたい場合 関数に移動して呼び出すこと 1237 00:57:48,720 --> 00:57:49,610 たびに機能します。 1238 00:57:49,610 --> 00:57:51,190 それはあなたのためにそのことを行います。 1239 00:57:51,190 --> 00:57:53,740 それが大きな理由だ 関数を使用する。 1240 00:57:53,740 --> 00:57:54,870 >> だから関数の解剖。 1241 00:57:54,870 --> 00:57:56,670 この関数は、一般意志 このように見える。 1242 00:57:56,670 --> 00:57:59,280 それは、戻り値の型から始めましょう その後、名前を取得します。 1243 00:57:59,280 --> 00:58:02,935 それはそうでない場合、引数を取るよ パラメータとして、そして内側に知ら 1244 00:58:02,935 --> 00:58:05,290 それらの中括弧は、よ あなたのコードを記述します。 1245 00:58:05,290 --> 00:58:07,150 >> 私たちは、一つの関数をたくさん見てきました。 1246 00:58:07,150 --> 00:58:09,160 それがメインです。 1247 00:58:09,160 --> 00:58:13,820 ここに主な重畳さ その解剖私が以前持っていた。 1248 00:58:13,820 --> 00:58:15,525 右ここでint型は何を意味するのでしょうか? 1249 00:58:15,525 --> 00:58:18,534 1250 00:58:18,534 --> 00:58:19,450 int型とは何を意味するのでしょうか? 1251 00:58:19,450 --> 00:58:21,026 私はint型のmain書くとき(無効)。 1252 00:58:21,026 --> 00:58:21,740 >> 学生:戻り値の型? 1253 00:58:21,740 --> 00:58:22,350 >> JASONハーシュホーン:申し訳ありません? 1254 00:58:22,350 --> 00:58:23,170 >> 学生:戻り値の型。 1255 00:58:23,170 --> 00:58:24,820 >> JASONハーシュホーン:INTがある 正確に右のタイプを返す。 1256 00:58:24,820 --> 00:58:25,870 mainはintを返します。 1257 00:58:25,870 --> 00:58:28,678 メインは何ですか? 1258 00:58:28,678 --> 00:58:29,510 >> 学生:関数名。 1259 00:58:29,510 --> 00:58:30,800 >> JASONハーシュホーン:メインです 関数の名前。 1260 00:58:30,800 --> 00:58:31,510 まったく正しい。 1261 00:58:31,510 --> 00:58:31,840 ボイド? 1262 00:58:31,840 --> 00:58:33,190 括弧内の無効とは何ですか? 1263 00:58:33,190 --> 00:58:36,650 1264 00:58:36,650 --> 00:58:42,030 >> 学生:それはかからない 任意の外部値。 1265 00:58:42,030 --> 00:58:42,930 >> JASONハーシュホーン:だから無効 - 1266 00:58:42,930 --> 00:58:43,240 右。 1267 00:58:43,240 --> 00:58:45,940 括弧の中では、我々は置く パラメータまたは引数 1268 00:58:45,940 --> 00:58:48,480 この関数は、何が起こって、取り ブラックボックスの内部。 1269 00:58:48,480 --> 00:58:50,760 あなたがvoidを書くとき、あなたは言っている これはインチ何も取りません 1270 00:58:50,760 --> 00:58:53,802 だからint型の主なボイドが主のことを意味し インチは何も取っていない 1271 00:58:53,802 --> 00:58:56,950 >> 中括弧の中では、我々はいくつかを持って コー​​ド、そして我々は終わりを参照してください 1272 00:58:56,950 --> 00:58:57,640 ゼロを返す。 1273 00:58:57,640 --> 00:59:01,220 原点復帰とは何を意味するのでしょうか? 1274 00:59:01,220 --> 00:59:02,470 さて、私たちは戻り値の型について話しました。 1275 00:59:02,470 --> 00:59:03,780 mainはint型を返す必要があります。 1276 00:59:03,780 --> 00:59:04,960 つまり、この行が何をするかだ。 1277 00:59:04,960 --> 00:59:07,330 これは、int型、ゼロを返します。 1278 00:59:07,330 --> 00:59:13,600 >> もちろん、我々は多くのことを見ていない プログラミングで私たちは、で行うので、 1279 00:59:13,600 --> 00:59:16,070 我々はマシンとコンパイラ 我々は、最近あなたを使用 1280 00:59:16,070 --> 00:59:16,990 その行を必要としません。 1281 00:59:16,990 --> 00:59:20,070 主は、それが知っていることは十分特殊です あなたがメインの終わりに達したときに、単に 1282 00:59:20,070 --> 00:59:22,060 すべてがうまくいった場合は、ゼロを返します。 1283 00:59:22,060 --> 00:59:25,560 実際には、何かがうまくいかない場合、 メインは、しばしば別のを返します 1284 00:59:25,560 --> 00:59:28,500 その何かを意味する数値 あなたのプログラムに間違っていた。 1285 00:59:28,500 --> 00:59:32,470 >> だから、一般的には、コードを見たとき、あなた リターンゼロを書くが、それは良いことだしないでください 1286 00:59:32,470 --> 00:59:34,770 それは背後に起こっていることを知って あなたが書くたびなぜならシーン 1287 00:59:34,770 --> 00:59:36,370 機能別の種類の、 あなたがする必要があるとしている 1288 00:59:36,370 --> 00:59:37,400 リターンラインが含まれています。 1289 00:59:37,400 --> 00:59:39,710 あなたが言っているなら、私はするつもりです int型を返す、その必要はあり 1290 00:59:39,710 --> 00:59:41,250 何かを返す書き込む。 1291 00:59:41,250 --> 00:59:45,160 あなたはここで無効とまで言うなら の開始、無効メインボイド 1292 00:59:45,160 --> 00:59:48,670 の例では、それは戻っていない 何でも - ボイド何を意味する - 1293 00:59:48,670 --> 00:59:50,320 ので、その戻りラインを必要としません。 1294 00:59:50,320 --> 00:59:53,610 しかし、あなたは今までにない何かを書く 戻り値の型のために無効には、以下のものが必要です 1295 00:59:53,610 --> 00:59:55,950 リターンとあなたは言う行 そこに何かを配置する必要があります 1296 00:59:55,950 --> 00:59:57,650 それは型に一致。 1297 00:59:57,650 --> 00:59:58,900 それについてのご質問? 1298 00:59:58,900 --> 01:00:03,110 1299 01:00:03,110 --> 01:00:04,680 甘い。 1300 01:00:04,680 --> 01:00:05,930 >> スコープ。 1301 01:00:05,930 --> 01:00:07,360 これは、我々がしたものです 同様に触れた。 1302 01:00:07,360 --> 01:00:10,720 すべての変数は、我々が知っているように、い 一定の範囲と、その基本的な 1303 01:00:10,720 --> 01:00:14,160 どこで変数の話 かもしれない、または参照されない場合があります。 1304 01:00:14,160 --> 01:00:16,310 そして、私は何が起こるかと言いたい 中括弧にとどまり 1305 01:00:16,310 --> 01:00:18,000 中括弧内。 1306 01:00:18,000 --> 01:00:21,490 だから例えば、、我々は、このコードを見れば 私たちは、グローバル変数を定義している 1307 01:00:21,490 --> 01:00:24,510 mainの外で、int型A、 ここまでトップに。 1308 01:00:24,510 --> 01:00:27,380 私たちは、別のものを呼んでいる 内側のメインをint型。 1309 01:00:27,380 --> 01:00:29,760 我々はいくつかのより多くの中括弧があり、 我々は別のint型Aを呼んでいる。 1310 01:00:29,760 --> 01:00:31,690 >> 我々は3つのコードでを持っている。 1311 01:00:31,690 --> 01:00:32,550 これらは同じものではありません。 1312 01:00:32,550 --> 01:00:34,880 私は3つの異なる変数を作成しました。 1313 01:00:34,880 --> 01:00:39,370 次に、これらの内側の中括弧の内側 ブレース、私は= 4と言う。 1314 01:00:39,370 --> 01:00:44,130 について話していることである、 最初のもの、もう一つ、 1315 01:00:44,130 --> 01:00:47,045 または第三の1? 1316 01:00:47,045 --> 01:00:47,920 >> 学生:第三の1。 1317 01:00:47,920 --> 01:00:49,320 >> JASONハーシュホーン:それは話している 第三の約一。 1318 01:00:49,320 --> 01:00:52,850 それらのすべてのは、実際にすることができます この特定のの話 1319 01:00:52,850 --> 01:00:58,660 インスタンスその範囲はすべて行くので これらの最も内側の中括弧に。 1320 01:00:58,660 --> 01:01:02,360 しかし、あなたが物事を呼び出すときに同じ 名前は、隠しと呼ばれる何かがあります。 1321 01:01:02,360 --> 01:01:09,670 だから、唯一の対処または修正したり、使用 最新の変数、または1つの 1322 01:01:09,670 --> 01:01:11,090 あなたに最も近い。 1323 01:01:11,090 --> 01:01:14,760 だからここの内側に、この第三のAは、最も近い そのライン、= 4、へので 1324 01:01:14,760 --> 01:01:16,550 第三の1に影響を与えます。 1325 01:01:16,550 --> 01:01:19,890 そして最後の行であり、= 2、 第二に、そのことについて話して、最初に、 1326 01:01:19,890 --> 01:01:20,805 またはサード? 1327 01:01:20,805 --> 01:01:22,530 >> 学生:セカンド。 1328 01:01:22,530 --> 01:01:24,430 >> JASONハーシュホーン:それは話している 第二Aについて。 1329 01:01:24,430 --> 01:01:27,970 もちろん、第三のに最も近い コー​​ド内のそれが、サード 1330 01:01:27,970 --> 01:01:30,200 外には存在しません それらの中括弧。 1331 01:01:30,200 --> 01:01:32,650 たら、その閉じ括弧を取得 、それが、それがなくなっているように中括弧だ 1332 01:01:32,650 --> 01:01:33,570 本質的に。 1333 01:01:33,570 --> 01:01:36,150 だから、残っている2つだけはそれらである 最初の二つ、そしてもちろん、今 1334 01:01:36,150 --> 01:01:37,960 それが第二の1に最も近いだ。 1335 01:01:37,960 --> 01:01:39,410 >> だからに良いことだ スコープについては覚えています。 1336 01:01:39,410 --> 01:01:42,900 たとえば、私は、あなたが遭遇したと確信している DO WHILEループでこれ。 1337 01:01:42,900 --> 01:01:46,680 あなたは、変数の内部を初期化した場合 ループしながら行うと、あなたはしてみてください 1338 01:01:46,680 --> 01:01:50,360 おそらく、それを外でアクセス このようないくつかの警告を得た 1339 01:01:50,360 --> 01:01:51,680 変数が存在しません。 1340 01:01:51,680 --> 01:01:54,370 つまり、スコープのアイデアのためだ 物事は唯一存在していること 1341 01:01:54,370 --> 01:01:55,320 それらの中括弧内の。 1342 01:01:55,320 --> 01:01:59,320 中括弧は、巨大な抱擁そのようなものです あなたのコードに与えている、もう一つです 1343 01:01:59,320 --> 01:02:01,380 それについて考えるための方法。 1344 01:02:01,380 --> 01:02:05,280 >> だから、これは何か、別の関数である コー​​ド、hellofunction.cにあなたがみんなのために。 1345 01:02:05,280 --> 01:02:08,240 私たちは、今のところそれをスキップするつもりだが、 これは私があなたに奨励するものです 1346 01:02:08,240 --> 01:02:09,740 自分で実践しています。 1347 01:02:09,740 --> 01:02:12,510 メインの呼び出しでプログラムを書く プリントアウトする別の関数 1348 01:02:12,510 --> 01:02:13,750 ユーザーへの挨拶。 1349 01:02:13,750 --> 01:02:17,750 それは本質的にこ​​んにちは世界を取っている とにそのprintfの抽象化 1350 01:02:17,750 --> 01:02:18,680 別の関数。 1351 01:02:18,680 --> 01:02:22,360 しかし、我々は今、その権利を行うつもりはない 我々は多くの時間を持っていないため 1352 01:02:22,360 --> 01:02:23,350 私が言っていたように残しました。 1353 01:02:23,350 --> 01:02:26,250 >> だから、関数の宣言。 1354 01:02:26,250 --> 01:02:28,080 我々としても前にこれを見てきました。 1355 01:02:28,080 --> 01:02:31,180 あなたは、別の関数を書きたい場合 あなたは、コンピュータが知っている必要があり、 1356 01:02:31,180 --> 01:02:32,600 主は、それが存在することを知っている。 1357 01:02:32,600 --> 01:02:37,140 だから我々は上記のメインである何、私たちは、書き込み 戻り型、名前、および 1358 01:02:37,140 --> 01:02:42,970 パラメータは、その後下方にメイン、 ダウンここで、我々は実際には、その行をコピー 1359 01:02:42,970 --> 01:02:45,080 その後、実際のコードを記述します。 1360 01:02:45,080 --> 01:02:50,990 したがって、このようにして、関数を呼び出す場合 上部のメインに、主は知っている 1361 01:02:50,990 --> 01:02:54,650 私だったらこんにちはとは、例えば、存在し こんにちは呼び出し、それがに見えるように 1362 01:02:54,650 --> 01:02:56,710 以下に実装ダウン。 1363 01:02:56,710 --> 01:02:59,680 私はこれが含まれていない場合はどうなりますか 一番上のラインアップ、無効こんにちは(無効)? 1364 01:02:59,680 --> 01:03:03,820 1365 01:03:03,820 --> 01:03:06,560 >> 私は、この行を含めない場合 そしてメインの呼び出しはこんにちは、私は私 1366 01:03:06,560 --> 01:03:07,640 エラーを取得するつもり。 1367 01:03:07,640 --> 01:03:10,090 私はので、エラーを取得するつもりだ コンパイラは知らない 1368 01:03:10,090 --> 01:03:13,070 このことは存在していること。 1369 01:03:13,070 --> 01:03:16,680 これは、なぜ私たちに似ています #インクルードんcs50.h. 1370 01:03:16,680 --> 01:03:21,390 本質cs50.hは何をやっている そこに文字列を取得し入れている。 1371 01:03:21,390 --> 01:03:23,120 それはそこにint型を取得入れている。 1372 01:03:23,120 --> 01:03:26,570 それは、それらの機能の全てを入れている アップ主の前になるようにプロトタイプ時 1373 01:03:26,570 --> 01:03:29,900 あなたは主にそれらを呼び出す、主は知っている これらのものは存在していること。 1374 01:03:29,900 --> 01:03:31,630 それはのもの。hファイルは何をすべきか。 1375 01:03:31,630 --> 01:03:33,850 そしてあなた自身を作るつもりなら この関数は、あなたが確認するんだ 1376 01:03:33,850 --> 01:03:36,690 あなたは、そこにそのプロトタイプを置く。 1377 01:03:36,690 --> 01:03:38,380 これまでについてのご質問? 1378 01:03:38,380 --> 01:03:41,630 1379 01:03:41,630 --> 01:03:42,490 >> コマンドライン引数。 1380 01:03:42,490 --> 01:03:44,780 これは、我々が終了しようとしているものです で、その後うまくいけば、我々はよ 1381 01:03:44,780 --> 01:03:46,180 一部PSETに絞る。 1382 01:03:46,180 --> 01:03:48,700 我々は絞ることができるでしょうかどうかは知りません その時間のために、しかし、 1383 01:03:48,700 --> 01:03:51,560 ここにいる皆さんと、そしてあなたなら みんなビットの後、私たちは言いたい 1384 01:03:51,560 --> 01:03:54,290 外にその上に行くことができます。 1385 01:03:54,290 --> 01:03:56,020 しかし、我々はで終了するつもりだ コマンドライン引数 1386 01:03:56,020 --> 01:03:58,510 最後の15分間。 1387 01:03:58,510 --> 01:03:59,930 私たちは目を覚まし、マイケル? 1388 01:03:59,930 --> 01:04:01,180 あなたが目を覚ましている? 1389 01:04:01,180 --> 01:04:01,660 グッド。 1390 01:04:01,660 --> 01:04:03,760 あなたが寝ているかどうかは知りません であなたの目を閉じた。 1391 01:04:03,760 --> 01:04:05,800 これはトリッキーになります。 1392 01:04:05,800 --> 01:04:07,180 >> コマンドライン引数。 1393 01:04:07,180 --> 01:04:10,430 それらは情報を渡すための方法の1つです プログラムに。 1394 01:04:10,430 --> 01:04:12,780 結局、我々は他の人に遭遇するでしょう。 1395 01:04:12,780 --> 01:04:15,600 しかし、本質的に、我々は停止するつもりだ 我々がしたい場合は、int型メイン(ボイド)を書き込む 1396 01:04:15,600 --> 01:04:16,720 いくつかのコマンドライン引数を取る。 1397 01:04:16,720 --> 01:04:19,850 私たちはこの事を書こうとしている int型のmain(int型のargc、と呼ばれる 1398 01:04:19,850 --> 01:04:22,430 文字列ARGV、カッコ。 1399 01:04:22,430 --> 01:04:23,710 それが混乱しています。 1400 01:04:23,710 --> 01:04:26,070 それはされていない文字がたくさんだ 人間英語ので、我々はするつもりだ 1401 01:04:26,070 --> 01:04:27,680 今、それらを解凍します。 1402 01:04:27,680 --> 01:04:30,450 >> ARGCは引数countの略 - 1403 01:04:30,450 --> 01:04:32,600 そしてもう一度、これらすべての意志の オンラインで利用できるように - 1404 01:04:32,600 --> 01:04:34,280 それは引数の数です。 1405 01:04:34,280 --> 01:04:37,940 ARGVは引数ベクトルを表し、 それらは、引数そのものです。 1406 01:04:37,940 --> 01:04:38,830 これは、文字列の配列です。 1407 01:04:38,830 --> 01:04:40,880 私たちは、実際に配列を見てきました 今日の前の文字列。 1408 01:04:40,880 --> 01:04:44,390 我々は最後の1つを作成しました 私たちは、コード化されたプログラム。 1409 01:04:44,390 --> 01:04:45,720 >> だからここでの例です。 1410 01:04:45,720 --> 01:04:50,230 私が書く。/ OHAI CS50セクション 私のコマンドラインで。 1411 01:04:50,230 --> 01:04:54,090 この場合のargcは3に等しい。 1412 01:04:54,090 --> 01:05:01,170 ARGVブラケット0 OHAI、ARGVブラケット1です CS50で、argvはブラケット2はセクションです。 1413 01:05:01,170 --> 01:05:05,160 再び、ARGCは、引数の数です と旅あなたを少しへ 1414 01:05:05,160 --> 01:05:08,710 ビットは、我々は常に名を数える 最初の引数として関数。 1415 01:05:08,710 --> 01:05:12,350 したがって、この場合には、3つある 引数は、関数の名前 1416 01:05:12,350 --> 01:05:14,590 私が入って入力した後、これら二つ 1417 01:05:14,590 --> 01:05:18,900 >> 次に、我々はそれらを保存するつもりだ ARGVで引数自身。 1418 01:05:18,900 --> 01:05:22,690 そして再び、我々は前に見たように、我々がした この最後のプログラムの中で私たちは、コード化された。 1419 01:05:22,690 --> 01:05:27,110 あなたの配列を移動することができます ARGVとそれらの文字列を取得します。 1420 01:05:27,110 --> 01:05:28,830 それは我々がやったこと、本質的だ 私たちの最後のプログラムの終わり。 1421 01:05:28,830 --> 01:05:33,190 我々は、ランダムな名前を選んだ後、に行ってきました 名ブラケット何と印刷 1422 01:05:33,190 --> 01:05:34,580 そこにある文字列から。 1423 01:05:34,580 --> 01:05:39,870 1424 01:05:39,870 --> 01:05:43,670 >> 一つのアレイの上に、なぜなら 文字列自体はとして、配列です 1425 01:05:43,670 --> 01:05:46,320 の話には、配列を持つことができます 配列の、どのです 1426 01:05:46,320 --> 01:05:48,530 本質的に何ARGVです。 1427 01:05:48,530 --> 01:05:51,370 あなたが考えることができる一つの方法 これは、行と列である。 1428 01:05:51,370 --> 01:05:54,750 私は今それを描くことができます。 1429 01:05:54,750 --> 01:05:57,370 だからARGV - 1430 01:05:57,370 --> 01:05:58,630 それは消去はない。 1431 01:05:58,630 --> 01:05:59,880 のがOHAI下描きましょう。 1432 01:05:59,880 --> 01:06:09,320 1433 01:06:09,320 --> 01:06:12,490 >> だから私は、OHAI CS50セクションに書いた場合、 私は切り捨てるつもりだ 1434 01:06:12,490 --> 01:06:14,520 この例のセクション。 1435 01:06:14,520 --> 01:06:29,026 しかし、本質的に、私の多次元 配列、OHAI CS50、 1436 01:06:29,026 --> 01:06:32,200 私たちは、宗派をやろうとしている。 1437 01:06:32,200 --> 01:06:34,610 だからここに、私がアクセスすることができます - 1438 01:06:34,610 --> 01:06:40,930 1439 01:06:40,930 --> 01:06:45,710 - 私はちょうどARGVに1つ番号を与えれば 1440 01:06:45,710 --> 01:06:46,390 これは間違っている。 1441 01:06:46,390 --> 01:06:49,020 この図では何が悪いのでしょうか? 1442 01:06:49,020 --> 01:06:49,690 >> 学生:ゼロから始まります。 1443 01:06:49,690 --> 01:06:50,350 >> JASONハーシュホーン:それはすべき ゼロで始まる。 1444 01:06:50,350 --> 01:06:52,940 私はおそらく、また、それを回転させる必要がありますが、 私はすでにそれを上に描かれたので、私はよ 1445 01:06:52,940 --> 01:06:54,120 今のところそこにそれを残すつもり。 1446 01:06:54,120 --> 01:06:55,160 しかし、それはゼロから始まります。 1447 01:06:55,160 --> 01:06:56,410 そう。 1448 01:06:56,410 --> 01:06:58,980 1449 01:06:58,980 --> 01:07:00,120 これが小さければごめんなさい。 1450 01:07:00,120 --> 01:07:01,370 君たちには、種類のを見ることはできますか? 1451 01:07:01,370 --> 01:07:03,620 1452 01:07:03,620 --> 01:07:06,670 だから私は、argvの0をすれば、私はよ OHAIのすべてを取得。 1453 01:07:06,670 --> 01:07:08,555 私はARGV 1を行う場合、私はCS50のすべてを取得します。 1454 01:07:08,555 --> 01:07:10,720 私はARGV 2を行う場合、私は、宗派のすべてを取得します。 1455 01:07:10,720 --> 01:07:13,370 >> しかし、今、我々が言ったように、文字列 配列自体はされています。 1456 01:07:13,370 --> 01:07:19,740 それでは、私ができることは、私はこれを扱うことができますです 多次元配列のように、私 1457 01:07:19,740 --> 01:07:24,190 の線に沿って何かを行うことができます ちょうど私を与えargvを0、0、 1458 01:07:24,190 --> 01:07:25,400 文字0。 1459 01:07:25,400 --> 01:07:28,760 私だけの時間を与えARGV 0、1、。 1460 01:07:28,760 --> 01:07:33,960 ちょうど私を与えARGV 1、3、 ダウンここCS50でこの0。 1461 01:07:33,960 --> 01:07:37,690 >> だから理由文字列自身 配列があり、我々は入れている 1462 01:07:37,690 --> 01:07:38,540 別の配列でその。 1463 01:07:38,540 --> 01:07:42,850 我々は今、配列の配列を持って、私たち 私たちの最初の配列のインデックスとができます 1464 01:07:42,850 --> 01:07:44,840 その後、私たちの二番目の配列へのインデックス。 1465 01:07:44,840 --> 01:07:48,650 あなたが期待するようにと、私たちはそれを行うこと ただ二人を置くことによって - 1466 01:07:48,650 --> 01:07:51,760 私達はちょうど角括弧を行う 互いのすぐ隣。 1467 01:07:51,760 --> 01:07:58,930 したがって、この例では、argvは1であり、CS50 argvは1、2は、我々が言ったように、わずか5です。 1468 01:07:58,930 --> 01:08:02,120 誰についてのご質問はありますか 多次元配列? 1469 01:08:02,120 --> 01:08:05,090 1470 01:08:05,090 --> 01:08:06,380 君たちは素晴らしいしている。 1471 01:08:06,380 --> 01:08:07,750 甘い。 1472 01:08:07,750 --> 01:08:11,980 >> だから私たちは、ここに別のプログラムを持っている そしてこれは我々がしている最終的なものです 1473 01:08:11,980 --> 01:08:13,690 今何をするつもり。 1474 01:08:13,690 --> 01:08:18,160 だから私は、あなたがプログラムを書きたいこと ユーザーのフルネーム、2とのみを取り 1475 01:08:18,160 --> 01:08:21,649 2つのコマンドライン引数、そして最後に、 に挨拶をプリントアウト 1476 01:08:21,649 --> 01:08:24,180 彼らの最初の名前が含まれていたユーザー。 1477 01:08:24,180 --> 01:08:27,800 なぜあなたは、3つまたは​​4つを取ることはありません これを行うには、その後、我々は行くよ分 1478 01:08:27,800 --> 01:08:29,870 グループとしてそれは上、および 次に我々は包むでしょ? 1479 01:08:29,870 --> 01:09:44,189 1480 01:09:44,189 --> 01:09:48,084 >> そして再び、ここで、私たちが言うときに実行 記述ごとユーザのフルネーム 1481 01:09:48,084 --> 01:09:54,473 この問題のため、コマンドでなければなりません ライン引数は、使用していない文字列を取得します。 1482 01:09:54,473 --> 01:09:55,450 ええ、マーカス? 1483 01:09:55,450 --> 01:09:58,260 >> 学生:だから、2つのコマンドを言う ライン引数があり、それに加えて、 1484 01:09:58,260 --> 01:10:00,000 。/実行、または - 1485 01:10:00,000 --> 01:10:02,980 >> JASONハーシュホーン:良い質問。 1486 01:10:02,980 --> 01:10:05,995 。/ラン、3名を含む、か コマンドライン引数。 1487 01:10:05,995 --> 01:10:08,550 1488 01:10:08,550 --> 01:10:11,320 またはで、。/パーソナライズ含む それだから、この場合、 1489 01:10:11,320 --> 01:10:12,360 このファイルの名前。 1490 01:10:12,360 --> 01:10:13,300 だからARGCは3になります。 1491 01:10:13,300 --> 01:10:19,480 しかし、私は2つだけ引数を望む プログラムに与えられた。 1492 01:10:19,480 --> 01:10:20,400 私はそれを指定する必要があります。 1493 01:10:20,400 --> 01:10:23,380 私は投稿する前に、私はその変化を作ります これらと君たちにそれらを送る。 1494 01:10:23,380 --> 01:10:32,747 1495 01:10:32,747 --> 01:10:34,740 >> 学生:どのような場合 ミドルネームを持っている? 1496 01:10:34,740 --> 01:10:36,800 >> JASONハーシュホーン:あなたが真ん中を持っている場合 名前、あなたは運の尽きだ。 1497 01:10:36,800 --> 01:10:38,050 ごめんなさい。 1498 01:10:38,050 --> 01:10:40,320 1499 01:10:40,320 --> 01:10:43,744 またはあなたが唯一のシャキーラで行く場合には、 あなたは幸運のうちにもいる。 1500 01:10:43,744 --> 01:10:55,672 1501 01:10:55,672 --> 01:10:56,425 うん? 1502 01:10:56,425 --> 01:11:00,760 >> 学生:だから人々が持っていない cs50.h、彼らはARGVを定義しない 1503 01:11:00,760 --> 01:11:03,450 charの星ARGVとして? 1504 01:11:03,450 --> 01:11:05,160 またはそれはまだ文字列ARGVと呼ばれています? 1505 01:11:05,160 --> 01:11:07,430 >> JASONハーシュホーン:はい。 1506 01:11:07,430 --> 01:11:10,480 だから文字列には、再び、我々は何の上にマスク まさにそこに起こっている。 1507 01:11:10,480 --> 01:11:14,040 多分アンパックするつもりだ 水曜日に、すぐ。 1508 01:11:14,040 --> 01:11:16,380 それは補助輪のようなものだ。 1509 01:11:16,380 --> 01:11:18,370 本質的に、それはだから 同じこと。 1510 01:11:18,370 --> 01:11:37,040 1511 01:11:37,040 --> 01:11:42,560 >> それでは、プログラムに別の分を取りましょう これは、その後、我々は上に行きます 1512 01:11:42,560 --> 01:11:45,130 グループとして、その後 私が言ったように、包む。 1513 01:11:45,130 --> 01:11:47,770 そして私は、彼らはまだ余分なお菓子だと思う そう君たちはうまく取る必要があります 1514 01:11:47,770 --> 01:11:49,790 そのこと、またはご利用ください。 1515 01:11:49,790 --> 01:12:20,380 1516 01:12:20,380 --> 01:12:22,560 >> あなたはまだ書いて申し訳ありませんがあれば、 しかし、私はでダイビングをしたいと私たち 1517 01:12:22,560 --> 01:12:24,010 それを一緒に終了することができます。 1518 01:12:24,010 --> 01:12:30,470 だから私は、#includeを、で書かれています cs50.hは、#stdio.hに含まれています。 1519 01:12:30,470 --> 01:12:33,970 int型メイン(ボイド)、中括弧、中括弧 3行の内側に中括弧、 1520 01:12:33,970 --> 01:12:38,760 擬似コードは、ユーザーのフルネームを取る、 2と2つしかコマンドライン 1521 01:12:38,760 --> 01:12:42,670 引数への挨拶をプリントアウト 彼らの最初の名前が含まれていたユーザー。 1522 01:12:42,670 --> 01:12:45,810 >> 最初の1だから、取る ユーザーのフルネーム。 1523 01:12:45,810 --> 01:12:47,290 誰が私が取ることができます ユーザのフルネーム? 1524 01:12:47,290 --> 01:12:50,882 1525 01:12:50,882 --> 01:12:52,780 私はその部分をどのよ​​うに行うのですか? 1526 01:12:52,780 --> 01:12:57,685 1527 01:12:57,685 --> 01:12:59,500 君たちは、その最初の部分をしましたか? 1528 01:12:59,500 --> 01:13:02,587 1529 01:13:02,587 --> 01:13:03,894 ユーザーのフルネームを取る。 1530 01:13:03,894 --> 01:13:05,860 まあ、それは一つのコマンドラインの 引数は、私は何を書くべき? 1531 01:13:05,860 --> 01:13:09,624 私について何を変更する必要があります 私の関数の宣言? 1532 01:13:09,624 --> 01:13:11,140 >> 学生:あなたはしたくない それはもう無効になります。 1533 01:13:11,140 --> 01:13:11,410 >> JASONハーシュホーン:その通り。 1534 01:13:11,410 --> 01:13:12,385 私はそれを無効にしたくない。 1535 01:13:12,385 --> 01:13:13,630 私は、それは何をしたいのですか? 1536 01:13:13,630 --> 01:13:14,650 >> STUDENTます:int argcは。 1537 01:13:14,650 --> 01:13:15,720 >> JASONハーシュます:int argcは。 1538 01:13:15,720 --> 01:13:17,430 >> 学生:文字列argvを。 1539 01:13:17,430 --> 01:13:19,055 >> JASONハーシュホーン:弦楽ARGV。 1540 01:13:19,055 --> 01:13:19,705 >> 学生:ブラケット、ブラケット。 1541 01:13:19,705 --> 01:13:20,070 >> JASONハーシュホーン:ブラケット、ブラケット。 1542 01:13:20,070 --> 01:13:21,780 それはまさにそうだ、それはだ 実際にどのように私は取得するつもりです 1543 01:13:21,780 --> 01:13:22,820 ユーザーのフルネーム。 1544 01:13:22,820 --> 01:13:24,070 彼らはそこにそれを置くつもりです。 1545 01:13:24,070 --> 01:13:27,720 1546 01:13:27,720 --> 01:13:28,780 だから1が行われている。 1547 01:13:28,780 --> 01:13:30,780 だから今、私は2と2つだけにしたい コマンドライン引数。 1548 01:13:30,780 --> 01:13:35,065 ノアだから、私ができる一つの方法は何ですか コマンドの数をチェック 1549 01:13:35,065 --> 01:13:36,315 ライン引数が私が持っている? 1550 01:13:36,315 --> 01:13:39,676 1551 01:13:39,676 --> 01:13:40,725 >> 学生:あなたは、if文を実行します。 1552 01:13:40,725 --> 01:13:42,270 >> JASONハーシュホーン:もし 声明、まさに。 1553 01:13:42,270 --> 01:13:44,830 私は条件として何をしたいですか? 1554 01:13:44,830 --> 01:13:48,370 >> 学生:3より大きいのargc場合。 1555 01:13:48,370 --> 01:13:52,485 >> JASONハーシュホーン:もしargcは 3よりも大きい。 1556 01:13:52,485 --> 01:13:58,430 3以上のargcが大きい場合は、私は何をすればよいですか? 1557 01:13:58,430 --> 01:13:59,400 >> STUDENT:リターン1。 1558 01:13:59,400 --> 01:14:01,856 >> JASONハーシュホーン:リターン1。 1559 01:14:01,856 --> 01:14:04,050 それは私が持っていることを確認します 2と2つだけ? 1560 01:14:04,050 --> 01:14:07,280 1561 01:14:07,280 --> 01:14:07,820 >> 学生:いいえ。 1562 01:14:07,820 --> 01:14:13,110 ARGCがより大きい場合 2よりも3と少ない。 1563 01:14:13,110 --> 01:14:17,770 >> JASONハーシュホーン:ARGCが大きい場合 3とARGCが2未満であるより。 1564 01:14:17,770 --> 01:14:21,540 私だけでこれを書くことができます一つの方法は何ですか 1行又はそれを使用せずに 1565 01:14:21,540 --> 01:14:23,890 とブール演算子? 1566 01:14:23,890 --> 01:14:25,942 >> 学生:それは2に等しくありません。 1567 01:14:25,942 --> 01:14:28,790 >> JASONハーシュホーン:もしargcは 2に等しくない。 1568 01:14:28,790 --> 01:14:29,260 まさに。 1569 01:14:29,260 --> 01:14:34,890 だから、argcは2と等しくない場合、その 私は、このプログラムを与える、 1570 01:14:34,890 --> 01:14:37,250 パーソナライズされた、私はそれを実行したとき、および それはどのように多くの私を与える 1571 01:14:37,250 --> 01:14:38,740 コマンドライン引数? 1572 01:14:38,740 --> 01:14:42,110 どのくらい私はのためにチェックします? 1573 01:14:42,110 --> 01:14:42,370 >> 申し訳ありません。 1574 01:14:42,370 --> 01:14:43,400 私はことを言い換えるてみましょう。 1575 01:14:43,400 --> 01:14:46,620 ARGCは= 2、どのように多くのものがなかった場合 ユーザーは、ラインに書くのか? 1576 01:14:46,620 --> 01:14:47,500 >> 学生:One。 1577 01:14:47,500 --> 01:14:49,120 >> JASONハーシュホーン:ちょうど1。 1578 01:14:49,120 --> 01:14:50,430 だから前に、あなたは、右のノアでした。 1579 01:14:50,430 --> 01:14:52,192 私は実際にそこに置くには何が必要ですか? 1580 01:14:52,192 --> 01:14:53,640 >> 学生:3に等しい。 1581 01:14:53,640 --> 01:14:55,970 >> JASONハーシュホーン:ARGC 等しい3しません。 1582 01:14:55,970 --> 01:15:00,250 私が欲しいので、私は3に等しくなるようにしたい パーソナライズされたプラス他の二つ。 1583 01:15:00,250 --> 01:15:02,560 だから、argcは表示されない場合は等しい3、リターン1。 1584 01:15:02,560 --> 01:15:04,475 なぜあなたは1を返すと言ったのですか? 1585 01:15:04,475 --> 01:15:06,180 >> 学生:そのため、 それは間違っていることを意味します。 1586 01:15:06,180 --> 01:15:08,420 >> JASONハーシュホーン:それは間違っていることを意味し、 とどのようなことが何になるだろう? 1587 01:15:08,420 --> 01:15:10,360 >> 学生:再促すユーザ。 1588 01:15:10,360 --> 01:15:11,940 >> JASONハーシュホーン:それはやめるために起こっている このプログラムは、ので、それは実行する必要があります 1589 01:15:11,940 --> 01:15:14,520 再び、私たちは何も持っていない ここで再び彼らのためにお願いします。 1590 01:15:14,520 --> 01:15:14,840 私はそのために要求していない。 1591 01:15:14,840 --> 01:15:15,990 だからまさにそうです。 1592 01:15:15,990 --> 01:15:17,680 ただ、プログラムを終了し1を返します。 1593 01:15:17,680 --> 01:15:18,520 素晴らしい。 1594 01:15:18,520 --> 01:15:21,600 >> とユーザーに挨拶をプリントアウト それは彼らの最初の名前が含まれています。 1595 01:15:21,600 --> 01:15:24,010 どのように私はそれを行うことができますか? 1596 01:15:24,010 --> 01:15:25,990 アンナ? 1597 01:15:25,990 --> 01:15:26,580 >> 学生:Printfは。 1598 01:15:26,580 --> 01:15:27,785 >> JASONハーシュホーン:Printfは。 1599 01:15:27,785 --> 01:15:28,640 >> 学生:( " 1600 01:15:28,640 --> 01:15:30,460 >> JASONハーシュホーン:( 1601 01:15:30,460 --> 01:15:31,600 >> 学生: "こんにちは 1602 01:15:31,600 --> 01:15:33,210 >> JASONハーシュ: "こんにちは 1603 01:15:33,210 --> 01:15:34,800 >> 学生:%sは 1604 01:15:34,800 --> 01:15:37,230 >> JASONハーシュホーン:%sは 1605 01:15:37,230 --> 01:15:38,840 >> 学生:N / 1606 01:15:38,840 --> 01:15:41,030 >> JASONハーシュホーン:N / 1607 01:15:41,030 --> 01:15:43,120 >> 学生: "、 1608 01:15:43,120 --> 01:15:45,130 >> JASONハーシュ: "、 1609 01:15:45,130 --> 01:15:46,620 >> 学生:ARGV 1610 01:15:46,620 --> 01:15:47,080 >> JASONハーシュホーン:申し訳ありません? 1611 01:15:47,080 --> 01:15:47,750 >> 学生:ARGV 1612 01:15:47,750 --> 01:15:48,840 >> JASONハーシュホーン:ARGV 1613 01:15:48,840 --> 01:15:50,190 >> 学生:角括弧1。 1614 01:15:50,190 --> 01:15:51,230 >> JASONハーシュホーン:角括弧? 1615 01:15:51,230 --> 01:15:51,870 >> 学生:1。 1616 01:15:51,870 --> 01:15:54,050 >> JASONハーシュホーン:1。 1617 01:15:54,050 --> 01:15:55,850 >> STUDENT:そして)セミコロン。 1618 01:15:55,850 --> 01:15:58,290 >> JASONハーシュ:)セミコロン。 1619 01:15:58,290 --> 01:16:00,250 私たちはこれを実行してみましょう。 1620 01:16:00,250 --> 01:16:03,730 パーソナライズされたことを確認します。 1621 01:16:03,730 --> 01:16:06,392 。/パーソナライズされた。 1622 01:16:06,392 --> 01:16:07,420 それだけで終了します。 1623 01:16:07,420 --> 01:16:10,390 それはなぜ辞めたのですか? 1624 01:16:10,390 --> 01:16:11,310 >> 学生:あなたは、任意の引数を入れていない。 1625 01:16:11,310 --> 01:16:12,560 >> JASONハーシュホーン:私はしませんでした 任意の引数をインチ置く 1626 01:16:12,560 --> 01:16:16,360 1627 01:16:16,360 --> 01:16:16,920 大きく見ます。 1628 01:16:16,920 --> 01:16:18,130 君たちはそれを釘付け。 1629 01:16:18,130 --> 01:16:22,420 だから、もう一度、あなたはARGVに入ったと 初めのargcでチェック。 1630 01:16:22,420 --> 01:16:24,390 これらは、2つの重要である 覚えておくべきもの。 1631 01:16:24,390 --> 01:16:29,250 だから私たちの前に私たちの最後の2分間で 残し、我々はPSET 2を得ることはありませんが、 1632 01:16:29,250 --> 01:16:33,585 あなたが後に滞在したい場合、私は言ったように 10分間、私は彼が行くことが幸せでしょう 1633 01:16:33,585 --> 01:16:35,710 あなたとオーバーみんなロジック これらの問題はセットの。 1634 01:16:35,710 --> 01:16:37,930 我々は今日をカバーするためにたくさん持っていた ので、私は彼らに取得できませんでした。 1635 01:16:37,930 --> 01:16:39,820 一般的に、私は、含めたい その終わりに。 1636 01:16:39,820 --> 01:16:42,150 だから、あなたの周り固執したい場合は、 10分間固執。 1637 01:16:42,150 --> 01:16:42,990 我々はそれをするつもりだ。 1638 01:16:42,990 --> 01:16:46,250 >> その後、私が冒頭で述べたように、 PSET 0と1は、私たちのことを買ってあげる 1639 01:16:46,250 --> 01:16:48,040 あなたのように戻ってフィードバック できるだけ早く。 1640 01:16:48,040 --> 01:16:51,260 目標は、PSETつのフィードバックを得ることです コメントパーツ、 1641 01:16:51,260 --> 01:16:52,850 PSET 2の前に起因している。 1642 01:16:52,850 --> 01:16:56,730 あなたには、いくつかのミスをしたのであれば、または 文体、物事は、良いかもしれない 1643 01:16:56,730 --> 01:17:01,330 あなたはその情報を持っていますので、あなた PSET二つに同じことを行うことはありません。 1644 01:17:01,330 --> 01:17:06,140 そして将来的には、すべてを取得します あなたのPSETのフィードバックやコメント 1645 01:17:06,140 --> 01:17:08,190 次のいずれかによるものです背中前。 1646 01:17:08,190 --> 01:17:12,695 >> 最後に、私は別のに入れなかった場合 フィードバック用のプラグ。 1647 01:17:12,695 --> 01:17:13,935 これはあなたの最初のセクションである。 1648 01:17:13,935 --> 01:17:15,920 それは私の最初のセクションだった 今年教え。 1649 01:17:15,920 --> 01:17:16,930 そこに行く。 1650 01:17:16,930 --> 01:17:19,800 、良い面と悪いものを、お書きください。 と私が作ってそれを使用します 1651 01:17:19,800 --> 01:17:21,320 良いセクション次回。 1652 01:17:21,320 --> 01:17:24,870 そして、あなたが必要な場合は、もう一度、最後の 何か、私に知らせてください。 1653 01:17:24,870 --> 01:17:26,410 私はあなたたちを助けることよりも幸せです。 1654 01:17:26,410 --> 01:17:28,420 あなただけのお菓子をしたい場合は、I 余分なお菓子を持っています。 1655 01:17:28,420 --> 01:17:29,800 私はあなたにそれを持って幸せだ。 1656 01:17:29,800 --> 01:17:31,190 >> これは驚くべき当然になるだろう。 1657 01:17:31,190 --> 01:17:34,900 これが私のお気に入りの一つであり、そうでない場合 もちろん、私は私の全体の生活の中で撮影した、 1658 01:17:34,900 --> 01:17:37,220 と私はそれがあることになることを願っています あなたのために素晴らしい。 1659 01:17:37,220 --> 01:17:40,090 だから私は私の力のすべてをやってみたい それはあなたのためにその素晴らしいようにします。 1660 01:17:40,090 --> 01:17:46,590 私は、あなたがしている場合、電子メールを送信するつもりです 私のセクション内またはノア、そして 1661 01:17:46,590 --> 01:17:50,310 の各々と試してみて、スケジュールになるだろう あなたはみんなの上で確認するための時間を 1662 01:17:50,310 --> 01:17:53,820 数週間は、私は得ることができます あなたのCSの背景が何であるかの感覚、 1663 01:17:53,820 --> 01:17:58,170 そしてそれはまた、これらの私が合わせるのに役立ちます より良いあなたのニーズに合わせてセクション。 1664 01:17:58,170 --> 01:17:59,740 だから、それは私が並んで持っているものだ。 1665 01:17:59,740 --> 01:18:02,260 繰り返しますが、私は外でお会いしましょう あなたがそこになりたい場合。 1666 01:18:02,260 --> 01:18:03,700 これは二つの節一週間でした。 1667 01:18:03,700 --> 01:18:04,950 そんなにみんなありがとう。 1668 01:18:04,950 --> 01:18:09,067