1 00:00:00,000 --> 00:00:07,070 [Powered by Google Translate] [♪ブンブン♪] 2 00:00:07,070 --> 00:00:10,380 だから私は、画面上に持っているものを紹介したい。 3 00:00:10,380 --> 00:00:12,710 それは我々が夏の間に開発されたツールの一つだ。 4 00:00:12,710 --> 00:00:15,530 それは、CS50スペース​​と呼ばれています 5 00:00:15,530 --> 00:00:18,860 そしてそれは私たちの共同コーディングアプリケーションだ 6 00:00:18,860 --> 00:00:20,180 私たちはセクションで使用しようとしている。 7 00:00:20,180 --> 00:00:22,470 それはかなりクールだ。 8 00:00:22,470 --> 00:00:26,040 あなたのうちのどれかはまだCS50ランを見たことがありますか? 9 00:00:26,040 --> 00:00:29,760 私は別のタブでそれをプルアップしましょう​​。 10 00:00:29,760 --> 00:00:33,440 Run.cs50.net 11 00:00:33,440 --> 00:00:36,230 そう 12 00:00:36,230 --> 00:00:39,700 あなたはrun.cs50.netに行けば、 13 00:00:39,700 --> 00:00:43,030 あなたは、これが使用しているブラウザの方法であることがわかります 14 00:00:43,030 --> 00:00:45,940 実際にコード - 、Cコードを書く 15 00:00:45,940 --> 00:00:47,460 その後、それを実行 16 00:00:47,460 --> 00:00:50,960 ので、それは両方の、あなたへの出力を返した後、それを実行し、それをコンパイル 17 00:00:50,960 --> 00:00:53,350 ので、これは実験するクールな方法の一種である 18 00:00:53,350 --> 00:00:56,060 ダビデは講義で上行くことコードの一部も 19 00:00:56,060 --> 00:00:58,640 そして我々は、問題のセットであなたにに与える 20 00:00:58,640 --> 00:01:01,900 実際にアプライアンスを起動する必要がなくなります。 21 00:01:01,900 --> 00:01:04,489 >> だからスペースが何をすることは別物だ 22 00:01:04,489 --> 00:01:07,450 私は、このタブに切り替える場合は、 23 00:01:07,450 --> 00:01:11,580 あなたがここに見られるようなスペースは、CS50実行です 24 00:01:11,580 --> 00:01:15,380 しかし、我々は上にスクロールして、窓の向こう側を見れば、 25 00:01:15,380 --> 00:01:18,130 あなたは、私はこのスペースでの唯一の人だ右を参照してください。 26 00:01:18,130 --> 00:01:21,030 しかし、私は何をするつもりだと、君たちは私と一緒にこの空間を参加するようお願いしている 27 00:01:21,030 --> 00:01:24,590 そして我々はすべて、同じ小さなウィンドウを開いてコードを取得します 28 00:01:24,590 --> 00:01:26,070 、お互いにコードを共有 29 00:01:26,070 --> 00:01:28,900 そして我々のコードとの違いについて話しています。 30 00:01:28,900 --> 00:01:31,530 だから、クールなもののようなものだ - 31 00:01:31,530 --> 00:01:35,770 最上部で右ここにこのリンクを訪問するので、もし参加する 32 00:01:35,770 --> 00:01:38,980 私が強調したこと、 33 00:01:38,980 --> 00:01:53,860 あなただけapps.cs50.net/spaces/vqcspSnOを入力することができます。 34 00:01:53,860 --> 00:01:56,610 >> オフを開始するので、すべての権利、 35 00:01:56,610 --> 00:01:59,720 私はあなたにこのツアーの少しを与えるつもりだ。 36 00:01:59,720 --> 00:02:01,720 我々は、最初はそれをいくつかの愚かな小さなコーディングを行うつもりだ 37 00:02:01,720 --> 00:02:06,200 ちょうどので、みんながちょっとそれはどのようなものかの感触を得ることを、 38 00:02:06,200 --> 00:02:09,000 しかし、私がやった - 39 00:02:09,000 --> 00:02:11,830 または私は右ここで何しようとしてだが - 40 00:02:11,830 --> 00:02:13,480 私は、私がここで書いたコードを取るつもりだ 41 00:02:13,480 --> 00:02:15,800 あなたが今見るようになると、空です。 42 00:02:15,800 --> 00:02:17,090 それは何もしません。 43 00:02:17,090 --> 00:02:21,080 それはちょうどボイラープレートコードだが、我々はそれを呼ぶことにします。 44 00:02:21,080 --> 00:02:23,820 コメントを行うことがほとんどである。 45 00:02:23,820 --> 00:02:27,850 私はこの[保存]ボタンを押すことで、それを保存するつもりです。 46 00:02:27,850 --> 00:02:30,190 そして、どのような行いは、それである 47 00:02:30,190 --> 00:02:34,400 ここでは簡単にそれを強調 - リビジョンがある緑色のボックスを保存しておくこと、 48 00:02:34,400 --> 00:02:37,570 そして今、あなたは、宇宙で私のために検索した場合 49 00:02:37,570 --> 00:02:40,340 あなたは、私の名前をクリック 50 00:02:40,340 --> 00:02:43,370 あなたは、私は右ここにこの改正を持っていることがわかります、 51 00:02:43,370 --> 00:02:45,490 そしてあなたは、そのリビジョンをクリックすると、 52 00:02:45,490 --> 00:02:48,240 それはあまりにも、あなたのスペースにそのコードをロードします。 53 00:02:50,510 --> 00:02:54,160 >> だから誰もが自分のスペースにそのコードをロードした? 54 00:02:54,160 --> 00:02:57,810 すべての権利は​​、あなたがまだ持っていない場合は、先に行くとそれを行う、 55 00:02:57,810 --> 00:03:01,120 そして私はあなたたちがセクションを実行するには、この少しに何をしたいのか 56 00:03:01,120 --> 00:03:05,940 、自分自身についてのprintfを使用してちょっと書いている 57 00:03:05,940 --> 00:03:08,310 ので、例えば私のように記述します 58 00:03:08,310 --> 00:03:12,270 のprintf( "私の名前はネイトである"); 59 00:03:15,140 --> 00:03:17,700 そして私は書くだろう 60 00:03:17,700 --> 00:03:21,660 "私は2009年に卒業 61 00:03:21,660 --> 00:03:24,440 スタンフォードから " 62 00:03:26,050 --> 00:03:28,390 と私は聞いてみたい 63 00:03:28,390 --> 00:03:30,270 あなたは、学校で何年です 64 00:03:30,270 --> 00:03:33,910 あなたは大学やビジネススクールにいるかどうか 65 00:03:33,910 --> 00:03:36,130 または別のハーバード学校、 66 00:03:36,130 --> 00:03:39,200 それがまだ知られていた場合、あなたは何を勉強している; 67 00:03:39,200 --> 00:03:41,290 それが知られていない場合、それは完全にクールだ。 68 00:03:41,290 --> 00:03:45,170 私は2年生の後半になるまで、私は決心した。 69 00:03:46,910 --> 00:03:49,210 その後私も知っているのが大好きだ 70 00:03:49,210 --> 00:03:51,610 あなたが私に教えたりしたいクレイジー何 71 00:03:51,610 --> 00:03:54,790 クラスまたはちょうど何かについての何か。 72 00:03:56,930 --> 00:04:00,370 あなたがそのあなたの少しのprintfで書き込みが終わったら、 73 00:04:00,370 --> 00:04:03,480 あなたは、リビジョンを保存するか、むしろあげるなら 74 00:04:03,480 --> 00:04:06,080 最初に、それを実行できることを確認 75 00:04:06,080 --> 00:04:10,640 そしてそれはあなたがそれをプリントアウトしたいかを正確に出力している、 76 00:04:14,050 --> 00:04:16,399 その後あなたが先に行くと、そのリビジョンを保存した場合 77 00:04:16,399 --> 00:04:21,600 リビジョンSaveボタン、こっちに、この最初の小さな男を使用して、 78 00:04:24,080 --> 00:04:27,340 そして我々はちょっと通過すると少し導入をそのようにするつもりだ。 79 00:04:27,340 --> 00:04:30,150 だから、あなただけは、再生ボタンを押さなければならないはず 80 00:04:30,150 --> 00:04:32,550 左上にここにいる次第ですが、 81 00:04:32,550 --> 00:04:35,340 左上に、この再生ボタンができるようになるので 82 00:04:35,340 --> 00:04:39,050 それがコンパイルされ、実行されるところ、弊社のサーバーにコードを送る。 83 00:04:40,600 --> 00:04:43,300 だから、このことについてちょっとクレイジーは何ですよ 84 00:04:43,300 --> 00:04:46,550 このコードは、実際にコンピュータ上で実行されていません。 85 00:04:46,550 --> 00:04:49,290 それは実際にインターネットを介して送信されている。 86 00:04:49,290 --> 00:04:51,240 >> それはどのようにシャーロット、起こっているのでしょうか? 87 00:04:51,240 --> 00:04:54,810 私>> - 大丈夫。 - 私は - 私はだと思う 88 00:04:54,810 --> 00:04:57,330 それを保存する問題を抱えて 89 00:04:57,330 --> 00:05:00,530 それができるようなサーバーで - 私はプログラムを実行することができます。 90 00:05:02,090 --> 00:05:05,780 そして、私はそれを実行しようとすると、エラーがあることを述べています。 91 00:05:05,780 --> 00:05:08,850 もうそこにはないウイルスのように宣言。 92 00:05:08,850 --> 00:05:11,860 ああ、見てみましょう、あなたは再び保存を打つことができる? 93 00:05:11,860 --> 00:05:13,770 私は、画面上でそれを参照してください。 94 00:05:13,770 --> 00:05:15,120 >>は右、大丈夫、だからそれは私が持っているものだ。 95 00:05:15,120 --> 00:05:19,430 それは私がそれを実行することはできませんなぜ、私は知らない。 96 00:05:22,990 --> 00:05:24,990 大丈夫、あ、ごめん。 97 00:05:27,930 --> 00:05:31,220 それに働いていなかったもの - 何が間違っていた - なぜあなたは説明できますか? 98 00:05:31,220 --> 00:05:34,760 >>ええ、私は変数がまだある最後の行があったことを見なかったので、 99 00:05:34,760 --> 00:05:37,700 私はそれがそこにあることのために意図しなかったと宣言していなかったこと。 100 00:05:37,700 --> 00:05:38,730 うん、完璧! 101 00:05:38,730 --> 00:05:40,390 私はそれを保存した場合>>さて、私はそれが動作するはずだと思う。 102 00:05:40,390 --> 00:05:42,970 今、あなたはそれを保存したこと、それが動作し、素晴らしい。 103 00:05:42,970 --> 00:05:44,570 >> そんなわけで、私たちは通過するように - 104 00:05:44,570 --> 00:05:46,690 ので、何が起こっていた、 105 00:05:46,690 --> 00:05:49,130 私はちょうどカメラのためにこれを繰り返すつもりです。 106 00:05:49,130 --> 00:05:51,760 何が起こっていたことだったこの変数s 107 00:05:51,760 --> 00:05:54,310 後に残っていた - 私はあなたには、いくつかの他のものを削除したと仮定 108 00:05:54,310 --> 00:05:56,670 あなたは、のように宣言された場所 109 00:05:56,670 --> 00:05:59,560 ので、これは物事をオフに投げていたし、それを実行せませんでした。 110 00:05:59,560 --> 00:06:02,540 だから、これは私たちがセクションでやりたいものを正確になります 111 00:06:02,540 --> 00:06:05,690 、人々が異なる複数のコードを書いて試してみるさ 112 00:06:05,690 --> 00:06:08,490 それをコンパイルして、働くか、しないかを見る 113 00:06:08,490 --> 00:06:10,730 これらはつまずくポイントであるため、その後ちょっと、これらの事について話している 114 00:06:10,730 --> 00:06:12,850 私はまだ遭遇し、 115 00:06:12,850 --> 00:06:15,470 それでも私は - 私は愚かなもののすべての時間の多くを行う、 116 00:06:15,470 --> 00:06:17,820 それが動作しない理由を、私は知りませんが、 117 00:06:17,820 --> 00:06:22,960 それでは、シャーロットのリビジョン3をプルアップしてみましょう、 118 00:06:23,980 --> 00:06:25,380 そして我々はそれを実行することになるでしょう。 119 00:06:25,380 --> 00:06:28,950 >> だから私は今、私はここで彼女のコードを持っていること、実行したときに、 120 00:06:28,950 --> 00:06:31,450 私は、[実行]ボタンを押して、ズームすることができます 121 00:06:31,450 --> 00:06:33,680 アップロードし、それを構築し、それを実行する 122 00:06:33,680 --> 00:06:36,980 私はスクロールダウンする場合、それは、正常に実行された、と言う 123 00:06:36,980 --> 00:06:39,440 シャーロットは、アダムスハウスでの後輩で見 124 00:06:39,440 --> 00:06:42,720 心理学、経済学の二次、素晴らしい。 125 00:06:42,720 --> 00:06:44,310 あなたに会えてよかった! 126 00:06:44,310 --> 00:06:46,550 恐ろしい。 127 00:06:46,550 --> 00:06:49,670 さて、上を移動する、のはダニエルに行こう 128 00:06:49,670 --> 00:06:52,710 、リビジョン3に行く 129 00:06:52,710 --> 00:06:54,180 コンパイル、実行。 130 00:06:54,180 --> 00:06:56,680 なぜあなたは、自分自身について私たちにダニエルを少し教えてみませんか? 131 00:06:56,680 --> 00:06:59,380 >>私ダンコール。 132 00:06:59,380 --> 00:07:01,920 私はあなたたちの向かいにビジネススクールに行こう、 133 00:07:01,920 --> 00:07:05,020 と私は、ここの前に海兵隊にいた 134 00:07:05,020 --> 00:07:08,020 これがええので、私にすべての新機能です。 135 00:07:08,020 --> 00:07:11,060 気を悪くしないでください、私は30だと私はこのようなもののいずれかを知らない。 136 00:07:11,060 --> 00:07:13,800 素晴らしい、感謝、ダン! 137 00:07:13,800 --> 00:07:17,300 すべての権利、私たちは別のダニエルを得た。 138 00:07:17,300 --> 00:07:20,930 あなたはダニエルで行く - あなたは、ダニエルが自分自身を紹介します? 139 00:07:20,930 --> 00:07:22,260 >> >>確かに、私はダニエルです。 140 00:07:22,260 --> 00:07:24,330 私は今、マザー二年生だ。 141 00:07:24,330 --> 00:07:25,840 私は政府に集中している、 142 00:07:25,840 --> 00:07:28,760 私はクラスの素晴らしいレビューを聞いたので、私はCS50を取ると思った 143 00:07:28,760 --> 00:07:30,750 と私は前にCSを試したことがない。 144 00:07:30,750 --> 00:07:34,680 ここで下にスクロールして、このことを示す - クール。 145 00:07:36,330 --> 00:07:39,090 ジャレド、上を移動する。 146 00:07:39,090 --> 00:07:41,990 調子はどうですか 147 00:07:41,990 --> 00:07:43,430 >>良い、お元気ですか? 148 00:07:43,430 --> 00:07:47,520 あなたが見ることができるように、私は、エリオットの後輩哲学コンセントレータよ 149 00:07:47,520 --> 00:07:50,260 もともと南カリフォルニアから、 150 00:07:50,260 --> 00:07:53,100 私はそれの論理が好きなので、私は、CS50を取るに興味がある 151 00:07:53,100 --> 00:07:57,420 そのように、コンピュータ上で物事を行うには本当にクールなようだ。 152 00:07:57,420 --> 00:07:59,570 恐ろしい;南カリフォルニアにあなたはどこから来るのか? 153 00:07:59,570 --> 00:08:02,340 から約1時間>> [聞こえない]、小都市[聞こえない]。 154 00:08:02,340 --> 00:08:04,850 ああ、うん、私の父はレッドランズからだ。 155 00:08:04,850 --> 00:08:07,060 クールなもの。 156 00:08:07,060 --> 00:08:12,130 >> すべての権利は​​、ジミー、それがどのように起こっている、ジミー? 157 00:08:12,130 --> 00:08:15,130 >>良い、お元気ですか? 158 00:08:15,130 --> 00:08:16,040 かなりよくやって! 159 00:08:16,040 --> 00:08:17,710 あなた自身について教えてください。 160 00:08:17,710 --> 00:08:20,840 >>私は一年生だし、私は私が専攻してるか全くわからない 161 00:08:20,840 --> 00:08:22,820 しかし、私はちょっと経済に傾いている。 162 00:08:22,820 --> 00:08:25,680 ダニエルのように私の前に、私は、CSをやったことがないが、それはちょっとクールに聞こえる。 163 00:08:25,680 --> 00:08:28,120 私はシカゴ出身だ。 164 00:08:28,120 --> 00:08:31,640 恐ろしい。だからここに彼のプリントアウトをチェックアウト。 165 00:08:31,640 --> 00:08:34,630 あなたが予想通り私がお聞きしたかった、これはプリントアウトしたのですか? 166 00:08:34,630 --> 00:08:37,650 >>いいえ、私は新しい行を印刷し忘れていました。 167 00:08:37,650 --> 00:08:41,270 私は実際に私が私のことを書いていたことを忘れてしまったとき 168 00:08:41,270 --> 00:08:43,090 初めて、あまりにも。 169 00:08:43,090 --> 00:08:46,330 これは、手動でそれらを置くことを覚えておくことが痛みのようなものだ。 170 00:08:46,330 --> 00:08:50,560 それだけで、それはあなたが何を望むかを知っているなら、それはいいだろうと思う。 171 00:08:50,560 --> 00:08:53,630 >> さて、ケリー。 172 00:08:53,630 --> 00:08:56,050 うわー、私たちは2ケリーズを持って、2ダニエルズ、ケリーズ2。 173 00:08:56,050 --> 00:09:00,490 だからケリー - あなたはケリー漣で行くのですか? 174 00:09:00,490 --> 00:09:03,870 さて、素晴らしい。 175 00:09:03,870 --> 00:09:07,270 またはケリーは、私は意味。 176 00:09:07,270 --> 00:09:10,260 の>>そうそう、私はケリーだ。 177 00:09:10,260 --> 00:09:12,930 私はPfoho 2年生だ。 178 00:09:12,930 --> 00:09:17,000 私は、私はまだ私の集中力を宣言するための7週間を持っていることを今日メールをもらった 179 00:09:17,000 --> 00:09:20,940 ので、私はそれを考えないようにしようとしている、 180 00:09:20,940 --> 00:09:24,090 と私は実行している、とCraisins、ベーキングが好きです。 181 00:09:24,090 --> 00:09:29,110 私は、CSのほとんどの経験を持っていない; 182 00:09:29,110 --> 00:09:32,700 私は本当に若かったとき、私は、Webサイトを構築するために自分自身を教えた 183 00:09:32,700 --> 00:09:35,750 しかし、私はおそらく多くの時間自分が間違って教えたと思います。 184 00:09:35,750 --> 00:09:39,260 うまくいけば、私はもう少し学びます 185 00:09:39,260 --> 00:09:41,450 と - ええ。 186 00:09:41,450 --> 00:09:44,100 >> 素晴らしい、よく、ありがとうございました。 187 00:09:44,100 --> 00:09:47,190 のは、他のケリーに行こう; 188 00:09:47,190 --> 00:09:48,880 私は何も持っていない - あなたはここで何かを言いましたか? 189 00:09:48,880 --> 00:09:51,880 >> [聞こえない] 190 00:09:51,880 --> 00:09:56,180 言った通りだろ。 191 00:09:56,180 --> 00:09:58,120 甘い! 192 00:09:58,120 --> 00:10:01,400 >>すべての権利、私はケリーだ。 193 00:10:01,400 --> 00:10:03,980 私は最初の年の大学院生です。 194 00:10:03,980 --> 00:10:05,560 私は心、脳、そして教育を専攻しています。 195 00:10:05,560 --> 00:10:07,940 私は2008年にフランクリン&マーシャル大学で卒業 196 00:10:07,940 --> 00:10:10,840 心理学と社会学を専攻と 197 00:10:10,840 --> 00:10:13,120 とフランス語でマイナー。 198 00:10:13,120 --> 00:10:15,330 私はCS50を取っている 199 00:10:15,330 --> 00:10:18,080 私は、神経科学の博士号を得ることに興味があるため 200 00:10:18,080 --> 00:10:21,220 と私はこのように私は、使用されている技術を理解するのに役立ちます感じる。 201 00:10:21,220 --> 00:10:23,150 恐ろしい。 202 00:10:26,980 --> 00:10:29,390 ミカエラ、上を移動する。 203 00:10:29,390 --> 00:10:31,640 その正しい発音は何ですか? 204 00:10:31,640 --> 00:10:32,990 さて、素晴らしい。 205 00:10:32,990 --> 00:10:34,640 >> >>私はMikhailaよ。 206 00:10:34,640 --> 00:10:36,870 私は、カークランドハウス2年生だ 207 00:10:36,870 --> 00:10:39,950 と私は機械工学の集中している。 208 00:10:39,950 --> 00:10:43,180 私はこの夏、自転車を構築し、サイクリングを本当に好きだ。 209 00:10:43,180 --> 00:10:46,140 私は、実際には、CSを取っている 210 00:10:46,140 --> 00:10:48,350 濃度の要件として、 211 00:10:48,350 --> 00:10:52,550 しかし、あなたが知っている、私はそれはまだエンジニアリングクラスのクールなものだと思います。 212 00:10:52,550 --> 00:10:55,150 素晴らしい - あなたがこの夏に自転車を構築しました? 213 00:10:55,150 --> 00:10:56,730 >>うん。 214 00:10:56,730 --> 00:10:58,900 うわー、フレームとすべてのことが好きですか? 215 00:10:58,900 --> 00:11:00,120 >>ええと、ウーン(肯定)。 216 00:11:00,120 --> 00:11:01,530 うわー、それは本当にクールだ。 217 00:11:01,530 --> 00:11:06,370 >> [聞き取れないオフカメラチャット] 218 00:11:06,370 --> 00:11:10,000 [笑い] 219 00:11:12,640 --> 00:11:14,200 うん、それはとても久しぶりだ。 220 00:11:14,200 --> 00:11:16,730 あなたが権利を知っていることはない? 221 00:11:16,730 --> 00:11:19,420 まあ、クール、よく感謝、Mikhaila。 222 00:11:19,420 --> 00:11:21,390 >> すべての権利は​​、ミッシー。 223 00:11:21,390 --> 00:11:23,280 >>私の名前はミッシー、私は一年生だけど、 224 00:11:23,280 --> 00:11:25,500 ので、私は何も知らないことですよ! 225 00:11:25,500 --> 00:11:29,180 私は、天体物理学に専念したい。 226 00:11:29,180 --> 00:11:31,220 CS50で、 227 00:11:31,220 --> 00:11:33,350 間違いなく助けになるだろうような気がします。 228 00:11:33,350 --> 00:11:37,750 私についての奇妙な事実は、私は全国的に認定された消防士じゃないですよね。 229 00:11:37,750 --> 00:11:39,960 ワウ! 230 00:11:39,960 --> 00:11:42,440 それはどのように起こるのですか? 231 00:11:42,440 --> 00:11:45,570 >>私はアカデミーに出席 232 00:11:45,570 --> 00:11:49,000 と週の多くのために地獄を経験した 233 00:11:49,000 --> 00:11:51,200 と私の認証を得た。 234 00:11:51,200 --> 00:11:54,090 うわー、おめでとう! 235 00:11:54,090 --> 00:11:57,280 それは確かなことは、大したことはありません。 236 00:11:57,280 --> 00:11:59,070 さて、今、私たちは私をやる。 237 00:11:59,070 --> 00:12:01,290 私は行の次の一人です。 238 00:12:01,290 --> 00:12:04,510 - 私 -​​ それを実行します。 239 00:12:04,510 --> 00:12:07,580 >> だから私の名前はネイトです。 240 00:12:07,580 --> 00:12:11,160 私はスタンフォード大学の2009年のクラスだった。 241 00:12:11,160 --> 00:12:13,840 私は、主要なシンボリックシステムだった 242 00:12:13,840 --> 00:12:17,370 これは、ここに心、脳、行動濃度に類似している 243 00:12:17,370 --> 00:12:19,300 それはのミックスのようなものだ 244 00:12:19,300 --> 00:12:22,350 計算機科学、言語学、心理学、哲学。 245 00:12:22,350 --> 00:12:26,600 一種の - ええ、奇妙なものの多くが、それは偉大だった、 246 00:12:26,600 --> 00:12:29,880 そして私も、そこにコンピュータサイエンスの修士をしました。 247 00:12:29,880 --> 00:12:33,250 だから私は今年ハーバード大学に新たなんだ。 248 00:12:33,250 --> 00:12:35,750 私は本当に教師になると思った。 249 00:12:35,750 --> 00:12:39,860 私はスタンフォードTA-るコンピュータサイエンスのクラスでの最後の4年間を過ごした 250 00:12:39,860 --> 00:12:43,370 そしてダビデは、私が上に来るように 251 00:12:43,370 --> 00:12:45,550 と私は、CS50を手伝ってやること 252 00:12:45,550 --> 00:12:47,890 ので、私はこのフルタイムを行う、私は大学院ではない。 253 00:12:47,890 --> 00:12:50,330 それは楽しかっただ。 254 00:12:50,330 --> 00:12:53,130 うまくいけば、それは楽しみであり続けるだろう、私はそれを確信しています。 255 00:12:53,130 --> 00:12:56,040 >> すべての権利、サム。 256 00:13:01,910 --> 00:13:05,470 >>私の名前はサムであり、私は大学二年生だけど、法律で具体的に。 257 00:13:05,470 --> 00:13:10,110 私の専攻は、おそらく、科学の歴史である、と二VESます 258 00:13:10,110 --> 00:13:13,240 そして私の好きな​​色は黄色です。 259 00:13:18,790 --> 00:13:21,100 いいえ判決または何かを渡す必要はありませんが、それは良い色です! 260 00:13:21,100 --> 00:13:24,780 とステラ。 261 00:13:24,780 --> 00:13:26,980 >>こんにちは、私はステラだ、私はグレーの新入生だ。 262 00:13:26,980 --> 00:13:30,070 私は、私はまだに集中してきたものか見当もつかない 263 00:13:30,070 --> 00:13:32,500 そうCS50は、ランダムだけの種類だった 264 00:13:32,500 --> 00:13:34,220 これは面白いです。 265 00:13:34,220 --> 00:13:36,080 楽しい事実、ジミーは、私の最初のハーバード大学の友人だった 266 00:13:36,080 --> 00:13:38,360 我々は、シカゴから両方だから。 267 00:13:38,360 --> 00:13:42,450 クール、グレース - 本当に素晴らしいものになるはずだよね? 268 00:13:42,450 --> 00:13:45,220 >>私は[聞こえない]と思った。 269 00:13:45,220 --> 00:13:46,690 ああ、うん。 270 00:13:46,690 --> 00:13:51,210 [聞き取れない/オフカメラチャット] 271 00:13:51,210 --> 00:13:54,420 さて、私は今でもまだ勉強中、勉強しています。 272 00:13:54,420 --> 00:13:57,800 >> だから我々はここで興味深いのようなものだ何か他のものを持っている。 273 00:13:59,600 --> 00:14:02,870 ええ、私は思ったんだけど、あなたはここで何が起こっているのアイデアを持っているのですか? 274 00:14:02,870 --> 00:14:05,890 あなたはこれをどう解釈するか知っていますか? 275 00:14:05,890 --> 00:14:13,340 >>私はすべての単一の行の後にセミコロンを置くことになっていた。 276 00:14:13,340 --> 00:14:16,370 それは痛みのようなものだ。 277 00:14:16,370 --> 00:14:19,100 時には、それらのセミコロンは、追跡する本当の痛みをすることができます。 278 00:14:19,100 --> 00:14:21,420 だから、結局その 279 00:14:21,420 --> 00:14:22,820 我々は今年に使っている特別なプログラム 280 00:14:22,820 --> 00:14:26,670 私達のCコードをコンパイルすると、Clangの呼ばれ 281 00:14:26,670 --> 00:14:29,460 我々は今年Clangのを使用し始めている理由 - 282 00:14:29,460 --> 00:14:32,030 我々は過去に、そのプログラムを使用していないので; 283 00:14:32,030 --> 00:14:35,710 私たちは本当に人気があり、GCCと呼ばれる別のものを使用しました - 284 00:14:35,710 --> 00:14:38,420 Clangのは、実際にあなたに意味をなさないエラーメッセージを与える。 285 00:14:38,420 --> 00:14:41,420 この1つは、 "予想 ';'式の後"と書かれており、 286 00:14:41,420 --> 00:14:45,260 と言っても、あなたがセミコロンを必要とした後、式を指示します。 287 00:14:45,260 --> 00:14:47,830 だから、それを修正している? 288 00:14:47,830 --> 00:14:48,930 たった今>>うん、。 289 00:14:48,930 --> 00:14:52,040 素晴らしい、私が知っていると我々はそれをプルアップします、そして我々はそれを実行することになるでしょうしましょう​​。 290 00:14:52,040 --> 00:14:55,830 しかし、ええ、これらのセミコロンを置くことは痛みの種類です。 291 00:14:55,830 --> 00:14:59,580 私はそれを修正しました>>ので、私はそれが動作するはずだと思う。 292 00:14:59,580 --> 00:15:02,760 素晴らしい - リビジョン3。 293 00:15:02,760 --> 00:15:05,250 それはそれのように見えます。 294 00:15:05,250 --> 00:15:08,580 だから今我々はそれを実行する場合、すべての権利、、 295 00:15:08,580 --> 00:15:11,020 そこに行く。 296 00:15:11,020 --> 00:15:13,830 クールなもの。 297 00:15:13,830 --> 00:15:15,340 >> かしこまりました。 298 00:15:15,340 --> 00:15:18,230 そうすることをやってくれてありがとう。 299 00:15:18,230 --> 00:15:20,210 それはあなたたちを満たすために素晴らしいことだ。 300 00:15:20,210 --> 00:15:22,880 我々がやるつもりだ何が今、次の少しを費やしている 301 00:15:22,880 --> 00:15:24,740 セクションの問題にちょっとダイビング 302 00:15:24,740 --> 00:15:27,550 今週から設定問題から来ている 303 00:15:27,550 --> 00:15:29,920 そして我々はセクションのほとんどのためのことをやる 304 00:15:29,920 --> 00:15:32,110 任期の残りのために、 305 00:15:32,110 --> 00:15:35,580 それから私達は、20分ほど最後の15を保存します 306 00:15:35,580 --> 00:15:38,490 問題について話をするために自分自身を設定する 307 00:15:38,490 --> 00:15:41,420 その後、クラスに関する一般的にちょうど他の質問がある。 308 00:15:43,380 --> 00:15:45,670 それは私たちが本当にしたいが何を言った 309 00:15:45,670 --> 00:15:49,390 みんなが参加しているされている 310 00:15:49,390 --> 00:15:51,500 Spacesのものを使用して、 311 00:15:51,500 --> 00:15:53,500 、提案で投げ、コードで投げる 312 00:15:53,500 --> 00:15:56,500 物事はこの休憩を好きなときにとの話 313 00:15:56,500 --> 00:15:58,360 それとも、これらはそのものですので、動作しません 314 00:15:58,360 --> 00:16:00,870 私が出会った知っている 315 00:16:00,870 --> 00:16:03,180 私は、コーディングを始めたとき、 316 00:16:03,180 --> 00:16:05,490 そして時には本当にちょっとイライラだった 317 00:16:05,490 --> 00:16:08,690 それは午前2のようなものだ場合、あなたの問題のセットが原因である前にあるので、 318 00:16:08,690 --> 00:16:11,330 そう - ちょうど開示について、 319 00:16:11,330 --> 00:16:14,590 私は大学2年生になるまで、私はプログラミングを開始できませんでした。 320 00:16:14,590 --> 00:16:17,360 それは、この奇妙な、未知のもののようなものだった 321 00:16:17,360 --> 00:16:20,360 私はちょっとクールだったと聞いている 322 00:16:20,360 --> 00:16:23,590 そして私もそれはお尻の本当の痛みかもしれないと聞い 323 00:16:23,590 --> 00:16:27,610 セミコロンを欠場、それが働いてからプログラムを保つ唯一のエラーだ場合 324 00:16:27,610 --> 00:16:30,890 と寝るからあなたを保つ、 325 00:16:30,890 --> 00:16:32,650 ので、間違いなく、 326 00:16:32,650 --> 00:16:34,020 あなたはそのような質問がある場合は、 327 00:16:34,020 --> 00:16:37,060 あなたがそのような懸念がある場合、私に知らせて、 328 00:16:37,060 --> 00:16:40,050 私はこの皆さんのために良い経験をするようにしたいので。 329 00:16:40,050 --> 00:16:44,620 >> だから、あなたたちはすべての問題がまだ設定ダウンロードした? 330 00:16:44,620 --> 00:16:47,160 それがどこにあるかちょっと知っていますか?オーケー。 331 00:16:47,160 --> 00:16:51,490 だから我々は、私がこのアカウントにそれを持っていないため、cs50.netに行くよ 332 00:16:51,490 --> 00:16:54,110 、問題セットをプルアップ 333 00:16:54,110 --> 00:16:57,940 問題セット2をプルアップし、我々は今日、標準版を見てみましょう。 334 00:16:57,940 --> 00:17:01,190 我々はここで仕様をプルアップします。 335 00:17:02,640 --> 00:17:04,420 下にスクロールします。 336 00:17:06,790 --> 00:17:11,109 だから我々は質問のこのセクションを見て開始するつもりだ。 337 00:17:14,069 --> 00:17:16,710 君たちはまだこれらのパンツを見たことがありますか? 338 00:17:16,710 --> 00:17:18,329 オーケー。 339 00:17:18,329 --> 00:17:21,329 だから、ループ上のショートパンツがありますが、 340 00:17:21,329 --> 00:17:24,700 これらはトミー、ヘッドティーチングフェローのいずれかによって行われます。 341 00:17:24,700 --> 00:17:27,230 スコープ上の1つは、そこ 342 00:17:27,230 --> 00:17:30,530 私はデイビッドという名前の別のティーチング·フェローによって行わ信じる 343 00:17:30,530 --> 00:17:33,400 その後シーザー暗号上の1つにはダビデによって行われます。 344 00:17:33,400 --> 00:17:35,550 彼らはかなりクールだ。 345 00:17:35,550 --> 00:17:37,770 君たちは今のところ彼らのパンツを見ている? 346 00:17:37,770 --> 00:17:39,270 彼らはされてHow've? 347 00:17:39,270 --> 00:17:41,490 参考になりましたか?さて、知っておくとよい。 348 00:17:41,490 --> 00:17:44,210 そうでないなら、あなたはそのように言うことができます。 349 00:17:46,290 --> 00:17:49,870 しかし、あなたが実行する前に、 350 00:17:49,870 --> 00:17:52,600 あなたたちは、これらの質問を見てきました 351 00:17:52,600 --> 00:17:55,430 すべてでは? 352 00:17:55,430 --> 00:17:57,480 >> これについて少しお話しましょう​​。 353 00:17:57,480 --> 00:18:00,600 だから我々は数週間かけて導入しました 354 00:18:00,600 --> 00:18:02,480 講義で 355 00:18:02,480 --> 00:18:04,910 異なるループの数。 356 00:18:04,910 --> 00:18:06,140 forループは、あり 357 00:18:06,140 --> 00:18:09,570 whileループした後、do-whil​​eループ、 358 00:18:09,570 --> 00:18:13,100 と講義の中で、我々はについて多くのことを話をしてきた 359 00:18:13,100 --> 00:18:16,010 これらのループはすべてアール方法 360 00:18:16,010 --> 00:18:18,320 いろんな意味でかなり類似し、 361 00:18:18,320 --> 00:18:21,210 そしてあなたは、whileループと同じものの多くを行うことができます 362 00:18:21,210 --> 00:18:23,260 あなたがのためにループを持つことができます。 363 00:18:23,260 --> 00:18:26,300 あなただけの変数とそのようなものの正しい組み合わせを使用の種類があります。 364 00:18:26,300 --> 00:18:28,680 など本当に 365 00:18:28,680 --> 00:18:31,200 ループのすべての間に本当の違いはということです 366 00:18:31,200 --> 00:18:33,620 時には彼らはもっと便利だ 367 00:18:33,620 --> 00:18:36,930 別の時に比べて、一度にそれらを使用する。 368 00:18:36,930 --> 00:18:39,340 >> ですから、例えば、 369 00:18:39,340 --> 00:18:42,260 whileループ、do-whil​​eループとは異なる。 370 00:18:42,260 --> 00:18:45,680 彼らはときに良いのハンドルを持っているように、誰もが感じていない 371 00:18:45,680 --> 00:18:48,650 do-whil​​eループは、より 372 00:18:48,650 --> 00:18:50,990 有用またはどのような違いは何ですか? 373 00:18:50,990 --> 00:18:53,410 >>私は差がdo-whil​​eループだと思う 374 00:18:53,410 --> 00:18:56,960 実行 - 私は専門用語が全くわからない、 375 00:18:56,960 --> 00:18:59,750 しかし、ループ内の一連の機能。 376 00:18:59,750 --> 00:19:02,020 自動的に - それは、少なくともその実行を行います 377 00:19:02,020 --> 00:19:05,390 それは条件をチェック、またはwhileループは場合にのみ、それを実行する前に、 378 00:19:05,390 --> 00:19:08,290 それは継続的に実行 - の条件が満たされているかどうか。 379 00:19:08,290 --> 00:19:11,010 ええ、それは意味をなさないのでしょうか? 380 00:19:11,010 --> 00:19:14,200 >> のは、コードを少し見てみましょう。 381 00:19:14,200 --> 00:19:16,930 だから、質問を繰り返す 382 00:19:16,930 --> 00:19:19,230 または答えではなく、; 383 00:19:19,230 --> 00:19:22,050 答えはということでした 384 00:19:22,050 --> 00:19:25,850 whileループはどうかを調べますif条件 385 00:19:25,850 --> 00:19:27,440 あなたが満たされている、指定した 386 00:19:27,440 --> 00:19:31,320 それが初めてループ本体を実行する前に、 387 00:19:31,320 --> 00:19:35,000 一方、do-whil​​eループは自動的にループの本体が実行され、 388 00:19:35,000 --> 00:19:38,450 我々はそれと呼んでいます - それは奇妙な専門用語だが、 389 00:19:38,450 --> 00:19:41,460 しかし、私が今まで意味をなさない何かを言うならば、私に知らせて - 390 00:19:41,460 --> 00:19:45,360 ループ本体は、中括弧の間に置かれているものです。 391 00:19:45,360 --> 00:19:47,840 とdo-whil​​eループで、 392 00:19:47,840 --> 00:19:50,220 その体は、少なくとも1回実行取得 393 00:19:50,220 --> 00:19:54,460 それはそれぞれの連続した​​時間を実行する前に、次に条件が確認されます。 394 00:19:54,460 --> 00:19:56,580 >> だから、実際、サム、 395 00:19:56,580 --> 00:20:00,820 あなたは、単純にwhileループを書く気にしない 396 00:20:00,820 --> 00:20:02,840 Spacesで? 397 00:20:02,840 --> 00:20:05,600 >>どのようにあなたのようにソートする 398 00:20:05,600 --> 00:20:07,060 新しいを作る...? 399 00:20:07,060 --> 00:20:09,220 私はちょうどあなたがそこに持っているものは何でも削除できます。 400 00:20:09,220 --> 00:20:11,300 うん、ちょうどそれをクリアしてください。 401 00:20:11,300 --> 00:20:14,510 >>まあ、私は私がこれを持っていると信じて - 402 00:20:14,510 --> 00:20:16,640 その1あなたはしばらくの間、したいですか、またはしたいです...? 403 00:20:16,640 --> 00:20:19,350 真ながらうん、ただ、何かをプリントアウトできます。 404 00:20:21,050 --> 00:20:23,140 と見てみましょう。 405 00:20:23,140 --> 00:20:25,850 アレクサンダーは、私たちはあなたを紹介しまし決して実現。 406 00:20:25,850 --> 00:20:27,510 大丈夫です>>ああ、。 407 00:20:27,510 --> 00:20:30,760 あなたはいけない - あなたは私たちのために、do-whil​​eループをコーディングすることができますか? 408 00:20:30,760 --> 00:20:32,520 >>ええ、私は試してみます。 409 00:20:32,520 --> 00:20:34,370 すべての権利は​​、我々だけで、画面上にこれらをプルアップします 410 00:20:34,370 --> 00:20:38,240 に、どのような種類の違いが何であるかにハンドルを持つように。 411 00:20:38,240 --> 00:20:41,280 >> だからここでは、サムが済んだものだ。 412 00:20:41,280 --> 00:20:44,460 彼は私と呼ばれる整数を持っている 413 00:20:44,460 --> 00:20:47,480 彼は17に初期化されていること。 414 00:20:47,480 --> 00:20:51,570 それから彼は言っているが、(int型私= 17) 415 00:20:51,570 --> 00:20:54,230 のprintf( "私の名前はサムです。"); 416 00:20:54,230 --> 00:20:57,300 我々は、このコードを実行するとどうなるでしょうか。 417 00:20:57,300 --> 00:21:00,340 エラーがあり、エラーは何を言っているか? 418 00:21:00,340 --> 00:21:02,890 のは、それをプルアップし、それについてお話しましょう​​。 419 00:21:02,890 --> 00:21:05,040 エラーが発生しました、それは言う。 420 00:21:05,040 --> 00:21:07,400 のが下にスクロールしてみましょう。 421 00:21:07,400 --> 00:21:09,460 だから、それは私たちにこのエラーが発生しました、そして、それは言った 422 00:21:09,460 --> 00:21:12,690 "ねえ、私は表現を期待していた。" 423 00:21:12,690 --> 00:21:16,180 それはちょっと不可解だ。 424 00:21:19,160 --> 00:21:23,140 ええ、これを正確に - そして再び、 425 00:21:23,140 --> 00:21:27,140 私達はちょうど第二に流行るだろうと別の小さなバグがあるでしょう。 426 00:21:27,140 --> 00:21:31,800 しかし、これは奇妙な用語物事のそれらの種類の別の1つです 427 00:21:31,800 --> 00:21:36,150 ので、このint型私= 17 428 00:21:36,150 --> 00:21:39,290 式ではありません。 429 00:21:39,290 --> 00:21:41,220 それはやっているように見えるそれは何だです 430 00:21:41,220 --> 00:21:43,410 私と呼ばれる整数を宣言する 431 00:21:43,410 --> 00:21:45,540 と17に等しくなるように設定 432 00:21:45,540 --> 00:21:48,780 というか、私と呼ばれるintに17を置く。 433 00:21:50,560 --> 00:21:53,350 そして、それは意味をなさない 434 00:21:53,350 --> 00:21:55,790 このwhileループのコンテキストインチ 435 00:21:55,790 --> 00:21:58,190 これから見るように、それは、意味をなさない 436 00:21:58,190 --> 00:22:01,250 forループの文脈では、ループ宣言を始めないので、 437 00:22:01,250 --> 00:22:05,800 int型のために私が何かに等しいことと 438 00:22:05,800 --> 00:22:07,830 延々と続く。 439 00:22:07,830 --> 00:22:09,500 >> それで、あなたはやった - 440 00:22:09,500 --> 00:22:12,630 何か、すべての権利を修正。 441 00:22:12,630 --> 00:22:15,270 ここに行く、素晴らしい。 442 00:22:15,270 --> 00:22:17,920 だから今、物事が少し違って見える。 443 00:22:17,920 --> 00:22:19,030 物事のカップルが変更されました。 444 00:22:19,030 --> 00:22:21,300 あなたは物事を変更したのか教えていただけますか? 445 00:22:21,300 --> 00:22:24,950 >>私はintを取り出したので、代わりの割り当ての[聞こえない]宣言はありません。 446 00:22:24,950 --> 00:22:28,770 1等号の後に、私は2つの等​​号、等しい意味を置く。 447 00:22:28,770 --> 00:22:30,560 恐ろしい。 448 00:22:30,560 --> 00:22:33,320 ええ、そう、サムは何をしたか、彼はintを取り出した 449 00:22:33,320 --> 00:22:35,770 それは、以前ここにあった 450 00:22:35,770 --> 00:22:39,340 ので、私はちょうどこの見れば - これは以前あったものですが、それがintと述べ、 451 00:22:39,340 --> 00:22:41,970 これは、それを宣言していた - 私たちは、型を取り出した。 452 00:22:41,970 --> 00:22:44,710 int型、char型、文字列、短いが、あります 453 00:22:44,710 --> 00:22:47,380 それらは、タイプと呼ばれています。 454 00:22:47,380 --> 00:22:49,510 だから、型を取り出した 455 00:22:49,510 --> 00:22:51,580 その後以前に、 456 00:22:51,580 --> 00:22:54,190 彼はただのシングルは、等号をしていた 457 00:22:54,190 --> 00:22:57,300 と、彼の言ったことはこのことについては問題であった 458 00:22:57,300 --> 00:22:59,580 あなたが持っているときに1が、等号 459 00:22:59,580 --> 00:23:01,780 それは代入演算子です。 460 00:23:01,780 --> 00:23:04,930 それは2つのことが等しいかどうかをテストしていない。 461 00:23:04,930 --> 00:23:07,920 それは実際に何かに等しい何かを設定することだ。 462 00:23:07,920 --> 00:23:11,110 我々は、変数iに17番をつけて。 463 00:23:11,110 --> 00:23:13,850 だから、比較のようなものを行うには、 464 00:23:13,850 --> 00:23:16,430 あなたは二重に等しいを使用する必要があり、 465 00:23:16,430 --> 00:23:19,640 これは奇妙なことの一種である 466 00:23:19,640 --> 00:23:22,760 が、かなり一般的なエラーです。 467 00:23:23,980 --> 00:23:27,830 あなたが気にしないならそれでもうひとつは、私は、指摘しておきます 468 00:23:27,830 --> 00:23:30,610 それはである 469 00:23:30,610 --> 00:23:33,210 int型のmainでここに我々の関数、 470 00:23:33,210 --> 00:23:36,740 あなたは私たちの関数の本体がわかり 471 00:23:36,740 --> 00:23:39,810 左側からオフセットされている 472 00:23:39,810 --> 00:23:42,400 4つのスペースまたはタブで。 473 00:23:42,400 --> 00:23:44,730 我々はこれを行う理由 474 00:23:44,730 --> 00:23:47,000 ちょうど、読みやすくするためです。 475 00:23:47,000 --> 00:23:51,620 ここでサムのwhileループで見てわかるように、 476 00:23:51,620 --> 00:23:53,120 彼は、まったくインデントしませんでした 477 00:23:53,120 --> 00:23:55,390 それはコードの機能には影響しません。 478 00:23:55,390 --> 00:23:57,860 それはまさに同じように動作します。 479 00:23:57,860 --> 00:24:00,950 >> ですから、例えば、我々はトップに出てくる場合は、ここ 480 00:24:00,950 --> 00:24:02,680 そして、それを構築していきます、私たちの再生ボタンを押す 481 00:24:02,680 --> 00:24:04,470 それは、それを実行することになるでしょう 482 00:24:04,470 --> 00:24:06,700 そして何が起こるだろう? 483 00:24:06,700 --> 00:24:08,360 なぜそれがまだ実行中で言っていますか? 484 00:24:08,360 --> 00:24:10,560 それはハイテク繰り返し続けるのだから。>> 485 00:24:10,560 --> 00:24:12,900 正確に、そしてなぜそれがハイテク繰り返し続けるのですか? 486 00:24:12,900 --> 00:24:15,850 >>は整数では変化しないので、それは常に17です。 487 00:24:15,850 --> 00:24:18,030 うん、まさに、そう 488 00:24:18,030 --> 00:24:20,970 した後、見てみましょう - もう一度お名前を思い出させる? 489 00:24:20,970 --> 00:24:24,020 ジミー。だからジミーは言わ 490 00:24:24,020 --> 00:24:27,340 これは何度も繰り返し続けハイテク理由 491 00:24:27,340 --> 00:24:30,510 この条件が常に真であるためです。 492 00:24:30,510 --> 00:24:33,270 我々は、iの値を変更することはありません。 493 00:24:33,270 --> 00:24:36,170 私たちは、その変数に格納されているものの内容を変更することはありません。 494 00:24:36,170 --> 00:24:39,180 だから、この時点で我々は、このエラーが発生したこと 495 00:24:39,180 --> 00:24:42,170 あなたのプログラムは、あまりにも多くの出力を生成 496 00:24:42,170 --> 00:24:45,100 そして我々はここで何が起こっているのかを見下ろして見一種のスクロールすると、 497 00:24:45,100 --> 00:24:49,160 あなたはそれを介してすべての道やあ、やあ、やあ、やあ、やあ、やあ、やあであることがわかります。 498 00:24:49,160 --> 00:24:51,200 恐ろしい。 499 00:24:51,200 --> 00:24:53,750 >> 原点に戻ってのとても親切 500 00:24:53,750 --> 00:24:57,020 ことは、ここでインデントを持つ 501 00:24:57,020 --> 00:25:00,110 whileループの本体には何も影響を及ぼさなかった。 502 00:25:00,110 --> 00:25:03,050 プログラムはまだうまく走った。 503 00:25:03,050 --> 00:25:06,790 一般的に良いスタイルのための - 504 00:25:06,790 --> 00:25:10,210 そしてこれは私達があなたの問題セットで探しているものです - 505 00:25:10,210 --> 00:25:13,930 私たちは、あなたが行うことができます4つのスペースで、このインデントを設定するように依頼する 506 00:25:13,930 --> 00:25:16,440 ただTABキーを押すことにより、 507 00:25:16,440 --> 00:25:18,860 または手動で4つのスペースに身を入れていました。 508 00:25:21,880 --> 00:25:25,050 涼しい、大丈夫そうの前に戻って見てみましょう 509 00:25:25,050 --> 00:25:30,460 アレキサンダーのは、do-whil​​e。 510 00:25:30,460 --> 00:25:32,980 >>ただちょっと少し問題が。 511 00:25:32,980 --> 00:25:34,390 さて、井戸のはそれを介して動作することができます。 512 00:25:34,390 --> 00:25:36,400 そのクールなのですか? 513 00:25:36,400 --> 00:25:37,430 >>うん。 514 00:25:37,430 --> 00:25:39,200 >> わかりましたので、ここに私達は行く。 515 00:25:39,200 --> 00:25:41,010 これはアレキサンダーが書いたコードです。 516 00:25:41,010 --> 00:25:43,410 あなたはアレックスで行くのですか - 大丈夫。 517 00:25:43,410 --> 00:25:46,380 だからここにアレックスが書いたコードは次のとおりです。 518 00:25:46,380 --> 00:25:50,500 そこで、我々は、右ここにメインの私たちの宣言を持っている 519 00:25:50,500 --> 00:25:54,410 それから私達はこの整数変数iと呼ばれるんだ 520 00:25:54,410 --> 00:25:57,320 右ここで宣言されている。 521 00:25:57,320 --> 00:26:01,060 我々は、do文を持っている 522 00:26:01,060 --> 00:26:04,600 し、これらの括弧と再び身体、 523 00:26:04,600 --> 00:26:06,520 ので、これはこれは、do-whil​​eの本体である - 524 00:26:06,520 --> 00:26:09,210 それが読みやすいので、私はこれにズームインましょう - 525 00:26:09,210 --> 00:26:12,730 そしてボディに、私たちは、 "これは本体である"印刷しようとしている 526 00:26:12,730 --> 00:26:14,300 i + +は、 527 00:26:14,300 --> 00:26:17,710 ので、私の内容をインクリメントし、これを行う 528 00:26:17,710 --> 00:26:19,470 iが3であることを取得するまで、 529 00:26:19,470 --> 00:26:22,440 その後、我々のプログラムは終了します。 530 00:26:22,440 --> 00:26:24,680 >> 我々はこのプログラムを実行するとどうなるでしょうか。 531 00:26:24,680 --> 00:26:27,580 >>私は識別子を期待した。 532 00:26:27,580 --> 00:26:32,070 わかりましたので、構築、実行、エラーが発生します。 533 00:26:32,070 --> 00:26:34,820 何が起こりますか? 534 00:26:34,820 --> 00:26:37,060 我々はここで下にスクロールし、 535 00:26:37,060 --> 00:26:40,260 我々は、このやや不可解なものを探してもらう 536 00:26:40,260 --> 00:26:43,930 トップレベルの宣言の後にセミコロンを期待した。 537 00:26:43,930 --> 00:26:46,620 これはちょっと奇妙だ。 538 00:26:46,620 --> 00:26:50,990 誰もが何が起こっているかもしれないという考えを持っていますか? 539 00:26:53,080 --> 00:26:54,640 ちょっと奇妙な、うん。 540 00:26:54,640 --> 00:26:57,640 >> [聞こえない]括弧の外で宣言することが? 541 00:26:57,640 --> 00:27:03,480 括弧を使用する場合、適用しないようにしていますか? 542 00:27:03,480 --> 00:27:07,390 そこで彼は、その括弧の外でこの男を宣言? 543 00:27:09,670 --> 00:27:12,240 ああ、これらの人 - 中カッコ? 544 00:27:12,240 --> 00:27:13,850 >>うん。 545 00:27:13,850 --> 00:27:15,310 ええ、その通りです。 546 00:27:15,310 --> 00:27:17,120 だから、結局その 547 00:27:17,120 --> 00:27:21,550 あなたは、実際にこのように右ここに変数を宣言することはできません。 548 00:27:23,750 --> 00:27:26,690 あなたは何をやろうとされている可能性がありました - 549 00:27:26,690 --> 00:27:30,110 そこからそれを切り取る - 550 00:27:30,110 --> 00:27:34,330 次のいずれかを右ここで、中括弧内にそれを置くことができます 551 00:27:34,330 --> 00:27:37,400 または別の代替 552 00:27:37,400 --> 00:27:40,350 それが完全に外に置くことです。 553 00:27:42,480 --> 00:27:46,610 ので、これらの - あなたが実際に宣言を置く場所に応じて、 554 00:27:46,610 --> 00:27:48,550 その整数変数の、 555 00:27:48,550 --> 00:27:53,540 あなたは2つの非常に異なる種類の変数を取得することができます。 556 00:27:53,540 --> 00:27:55,100 それがメインの外だとき、 557 00:27:55,100 --> 00:27:58,240 それは我々がグローバル変数と呼んでいるものです。 558 00:27:58,240 --> 00:28:00,070 これは、任意の関数の範囲外だ - 559 00:28:00,070 --> 00:28:03,420 それは、関数内ではない - 560 00:28:03,420 --> 00:28:07,050 私たちは主の中にそれを入れた場合、一方、 561 00:28:07,050 --> 00:28:10,000 右ここに好き、それは、ローカル変数と呼ばれています 562 00:28:10,000 --> 00:28:13,830 それがメインのスコープ内にローカルだから。 563 00:28:13,830 --> 00:28:16,720 そして、我々は違いが何であるかについて、もう少しお話しましょう 564 00:28:16,720 --> 00:28:20,970 2つのタイプの間で、なぜあなたは、異なる種類の変数を使用し、 565 00:28:20,970 --> 00:28:23,040 しかし今のところ、 566 00:28:23,040 --> 00:28:25,070 あなただけの、すべての変数をローカルに保持することができます 567 00:28:25,070 --> 00:28:28,320 我々は、グローバル変数を特に必要としないためです。 568 00:28:28,320 --> 00:28:31,390 >> わかりましたので、それはすぐそこに一つのことだ。 569 00:28:31,390 --> 00:28:34,680 再びこれを実行してみましょう、何が起こるか見てください。 570 00:28:37,420 --> 00:28:40,270 別のエラーを取得し、実行します。 571 00:28:40,270 --> 00:28:43,320 少しズームで、私たちは何を得るのですか? 572 00:28:45,110 --> 00:28:50,000 私たちはしばらく/した後で、この予想括弧を取得します。 573 00:28:53,660 --> 00:28:55,260 何が起こっているの任意のアイデア?ダン? 574 00:28:55,260 --> 00:28:58,880 >>その後しばらく括弧その後です - 575 00:28:58,880 --> 00:29:01,990 あなたはint型を再宣言する必要がある場合、私は知らないが、 576 00:29:01,990 --> 00:29:04,980 しかし、(I <3)やってます。 577 00:29:04,980 --> 00:29:06,930 まさに、うん。 578 00:29:06,930 --> 00:29:08,830 だから、ダンはまったく正しいということが判明した。 579 00:29:08,830 --> 00:29:11,230 我々は再びここでは、この型を配置する必要はありません。 580 00:29:11,230 --> 00:29:14,440 我々はその代わりにタイプを殺すことができる 581 00:29:14,440 --> 00:29:17,220 というだけのことを行う。 582 00:29:19,270 --> 00:29:21,640 かしこまりました。 583 00:29:21,640 --> 00:29:24,950 私は、戻ってズームアウトもう一回それを試してみます。 584 00:29:26,360 --> 00:29:29,580 それを見て、それは成功したが実行されます。 585 00:29:29,580 --> 00:29:33,260 我々はスクロールダウンすると、3回プリントアウト "これは本体である"。 586 00:29:33,260 --> 00:29:35,820 これはかなり甘いです。 587 00:29:35,820 --> 00:29:38,670 まあみんな、よくやった、やった。 588 00:29:38,670 --> 00:29:41,080 よくやった。 589 00:29:41,080 --> 00:29:43,250 これは、これまでどのようにして起こっているの? 590 00:29:43,250 --> 00:29:46,200 まともなペース? 591 00:29:46,200 --> 00:29:49,200 さて、涼しい。 592 00:29:49,200 --> 00:29:52,590 >> だから、元の質問に戻っての我々は一種のように、 593 00:29:52,590 --> 00:29:55,430 我々 - そして今、私たちは違いを見れば、 594 00:29:55,430 --> 00:29:58,240 あなたは、このdo-whil​​eループでそれを参照してください。 595 00:29:58,240 --> 00:30:00,030 条件が最後にくる。 596 00:30:00,030 --> 00:30:02,530 コンピュータがプログラムを読み込んよう 597 00:30:02,530 --> 00:30:06,050 Cプログラムでは、この順番に種類の実行されるので、 598 00:30:06,050 --> 00:30:09,450 彼らは文字通りメインの最初の行で始まる場合には、 599 00:30:09,450 --> 00:30:13,450 その後、6行目、7行目、8行目、9行目を実行 600 00:30:13,450 --> 00:30:16,150 10行目、11行目、 601 00:30:16,150 --> 00:30:18,440 右ここで一番上にあるすべてのこのようなもの 602 00:30:18,440 --> 00:30:20,020 一度だけ実行しようとしている 603 00:30:20,020 --> 00:30:23,350 我々はこれまで見てこの条件をテストする前に、 604 00:30:23,350 --> 00:30:26,240 かどうか私は - またはiの内容は、むしろ - 605 00:30:26,240 --> 00:30:29,750 数3未満である。 606 00:30:29,750 --> 00:30:33,300 そして、かつて私たちは、12行目を取得する場合にのみ 607 00:30:33,300 --> 00:30:36,260 iの内容が3未満である 608 00:30:36,260 --> 00:30:39,150 私たちは実際に、7行目に戻ってジャンプアップか 609 00:30:39,150 --> 00:30:41,140 その後、プロセスを繰り返す 610 00:30:41,140 --> 00:30:44,620 それから私達は何度も何度も条件をテストします。 611 00:30:44,620 --> 00:30:47,440 >> だから我々はこれを対比することができます 612 00:30:47,440 --> 00:30:50,240 付き - バックアウトズーム、 613 00:30:50,240 --> 00:30:56,500 、サムズバージョンまでスクロールダウンします 614 00:30:56,500 --> 00:31:00,760 我々は、それはもはや無限ループのないように、少し変更され、これを見ているつもりだ - 615 00:31:00,760 --> 00:31:03,570 我々はどこにズームインした場合、 616 00:31:03,570 --> 00:31:06,300 我々は、このプログラムの実行時にあることがわかり 617 00:31:06,300 --> 00:31:09,120 それは、最初のint iを宣言するために起こっている 618 00:31:09,120 --> 00:31:12,030 0になるiの内容を設定する 619 00:31:12,030 --> 00:31:15,820 そして、次に、それは、最初のwhileループの条件を打つ 620 00:31:15,820 --> 00:31:19,210 ので、この場合、この体、こののprintf( "こんにちは")とi + + 621 00:31:19,210 --> 00:31:21,630 ても実行されません 622 00:31:21,630 --> 00:31:24,310 私は実際よりも2以下である場合を除きます。 623 00:31:24,310 --> 00:31:26,750 iが3であれば、例えば、 624 00:31:26,750 --> 00:31:28,840 我々はここでこの権利を設定した場合 625 00:31:28,840 --> 00:31:32,160 4に等しい - または私は3を言ったので、私は、3をやる - 626 00:31:32,160 --> 00:31:34,890 その後、それを実行 627 00:31:34,890 --> 00:31:38,320 それは、それは全く問題なく動作します、構築します 628 00:31:38,320 --> 00:31:40,530 それは実際に、何も表示しません 629 00:31:40,530 --> 00:31:43,030 それが最初のケースのためにそのテストを失敗したため。 630 00:31:44,780 --> 00:31:47,530 だからクラスでは、我々の種類のは、これらがなぜdo-whil​​eループの話 631 00:31:47,530 --> 00:31:49,800 時には便利です 632 00:31:49,800 --> 00:31:53,140 そしてなぜ我々はそれがwhileループとは対照的に使用することになります。 633 00:31:53,140 --> 00:31:56,450 >> があります - あなたたちが何か提案はありますか 634 00:31:56,450 --> 00:31:59,090 のためのなぜdo-whil​​eループはより便利になるのでしょうか? 635 00:31:59,090 --> 00:32:02,560 まあ>>、私はこれは、do-whil​​eと思うあなたは、ユーザー入力が必要な場合はループがあり、 636 00:32:02,560 --> 00:32:05,020 その方法は、あなたはそれらを聞かせすることができますので、 637 00:32:05,020 --> 00:32:07,780 一度に何かを置く、それは正しいのであれば、 638 00:32:07,780 --> 00:32:09,300 我々は、プログラムの残りの部分に移動することができます 639 00:32:09,300 --> 00:32:11,250 それが正しくない場合しかし、その後、ユーザーにプロンプ​​トを表示し続け 640 00:32:11,250 --> 00:32:13,250 あなたは正しい入力を置くまで。 641 00:32:13,250 --> 00:32:14,260 うん、正確に - 正確に、 642 00:32:14,260 --> 00:32:16,840 そうdo-whil​​eループは便利です 643 00:32:16,840 --> 00:32:18,930 ユーザ入力のプロンプト時に理由 644 00:32:18,930 --> 00:32:23,000 あなたが実際にそれを確認することができます前に、ユーザーの入力を取得する必要があるためです。 645 00:32:23,000 --> 00:32:27,330 だからPSET 1では、PSET 2では、 646 00:32:27,330 --> 00:32:29,650 あなたは、ユーザー入力のために多くを求めているところ、 647 00:32:29,650 --> 00:32:31,200 それは使用するために便利なことだ 648 00:32:31,200 --> 00:32:33,740 として単純なwhileループに反対した。 649 00:32:33,740 --> 00:32:36,780 あなたは、whileループを使用している場合は、同じことを行うことができます - 650 00:32:36,780 --> 00:32:38,750 あなたは、whileループと同じことを行うことができます 651 00:32:38,750 --> 00:32:40,580 あなたは、do-whil​​eループで行うように。 652 00:32:40,580 --> 00:32:43,380 あなただけの種類のこの重複プロセスを持っている必要があります 653 00:32:43,380 --> 00:32:47,010 あなたは、最初の入力を取得し、あなたのwhileループを始めるところ。 654 00:32:47,010 --> 00:32:49,800 一方、do-whil​​eループは、一度だけ、それを記述する必要があります 655 00:32:49,800 --> 00:32:52,430 そしてそれは多くのクリーナーです。 656 00:32:52,430 --> 00:32:54,650 >> かしこまりました。 657 00:32:55,970 --> 00:32:57,330 何か質問? 658 00:32:59,350 --> 00:33:01,380 理にかなって? 659 00:33:01,380 --> 00:33:06,200 復帰>> 0 - ただストールのようなものだか、それである - ? 660 00:33:06,200 --> 00:33:08,960 ええ、そう私たちすることができます - 661 00:33:08,960 --> 00:33:11,960 まあ、我々はもう少し後で、これを取り上げる 662 00:33:11,960 --> 00:33:13,290 それがあることが判明 663 00:33:13,290 --> 00:33:15,720 我々は置いたこのリターン0 664 00:33:15,720 --> 00:33:19,090 主なすべての時間の終わりに - 665 00:33:19,090 --> 00:33:21,980 あなたはちょっとだけ私たちが行うものとしてそれを取ることができる 666 00:33:21,980 --> 00:33:24,930 当分の間。 667 00:33:24,930 --> 00:33:28,860 我々は機能と話をし始めました 668 00:33:28,860 --> 00:33:31,600 種の最後の週の終わりにしてから、再度今週 669 00:33:31,600 --> 00:33:33,550 つまり機能 670 00:33:33,550 --> 00:33:37,680 括弧の中にこれらの事された入力を取ります。 671 00:33:37,680 --> 00:33:41,690 これらは2つの入力、当社引数またはパラメータであり、 672 00:33:41,690 --> 00:33:44,540 何彼らはまた、私たちのメイン関数に呼ばれている、 673 00:33:44,540 --> 00:33:48,510 してから、関数は、次の出力を生成する 674 00:33:48,510 --> 00:33:51,290 その我々が戻り値を呼び出します。 675 00:33:51,290 --> 00:33:56,260 そしてメインの場合の戻り値は、このデータ型はintです 676 00:33:56,260 --> 00:33:58,320 この整数は、 677 00:33:58,320 --> 00:34:01,160 とすると、関数を教えて方法は、 "ねえ、これが何であるか、出力 678 00:34:01,160 --> 00:34:05,840 であることを行っている、リターン ""この言葉を使用することです " 679 00:34:05,840 --> 00:34:07,960 そのキーワードは、むしろ、 680 00:34:07,960 --> 00:34:11,000 そして、メイン0を返す 681 00:34:11,000 --> 00:34:13,389 またはメイン出力0 682 00:34:13,389 --> 00:34:15,139 Cプログラムでは標準です 683 00:34:15,139 --> 00:34:18,110 その主な手段から0を返すので、 684 00:34:18,110 --> 00:34:21,600 "ねえ、私のプログラムだけで罰金で実行すべてを。" 685 00:34:21,600 --> 00:34:24,639 我々は、0以外の値を入れた場合、 686 00:34:24,639 --> 00:34:27,440 1と同様に、例えば、 687 00:34:27,440 --> 00:34:31,080 このプログラムを実行した人は誰でも伝えるために使われていること 688 00:34:31,080 --> 00:34:33,540 その何かが間違っていた。 689 00:34:35,739 --> 00:34:39,989 だから我々はもっと学期以上のものに巻き込まれるように、 690 00:34:39,989 --> 00:34:42,670 あなたは今まで言ってする必要があるしている場合、 691 00:34:42,670 --> 00:34:46,650 "おっと、あなたが知っている、何かが、このプログラムで間違っていた" 692 00:34:46,650 --> 00:34:49,409 むしろ私のプログラムのクラッシュを持つのではなく、私は通知したい 693 00:34:49,409 --> 00:34:52,310 何かが間違っていたことを私のプログラムのランナー、 694 00:34:52,310 --> 00:34:54,530 あなたは、戻り値を使用することができます 695 00:34:54,530 --> 00:34:57,230 我々はそれを呼び出すように、それは0ではありません。 696 00:35:00,180 --> 00:35:02,240 >> だから我々はそのもう少し説明しましょう 697 00:35:02,240 --> 00:35:05,480 かつて我々は、関数に入る。 698 00:35:05,480 --> 00:35:09,030 その種のは理にかなって? 699 00:35:09,030 --> 00:35:11,240 オーケー。 700 00:35:11,240 --> 00:35:13,530 関数は奇妙なの一種である - 701 00:35:13,530 --> 00:35:17,270 私は、数学の背景の多くを持っている人々のためだと思う 702 00:35:17,270 --> 00:35:20,100 それは、もう少し簡単に来る 703 00:35:20,100 --> 00:35:22,540 あなたは、もう少し抽象的な数学のバックグラウンドを持っている場合は特に 704 00:35:22,540 --> 00:35:24,240 そしてあなたは、関数の話に慣れている 705 00:35:24,240 --> 00:35:27,370 ともののすべてのその種。 706 00:35:28,590 --> 00:35:30,610 しかし、我々は試してみて、それらをカバーしたいと思います 707 00:35:30,610 --> 00:35:33,280 彼らが出てくるような、素敵な、ゆっくりと進みます。 708 00:35:34,730 --> 00:35:37,870 同様に、この全体のint argcは、 709 00:35:37,870 --> 00:35:41,090 char *型のargv []、 710 00:35:41,090 --> 00:35:44,960 今のために、あなたもそのようにボイラープレートを取ることができます。 711 00:35:46,650 --> 00:35:49,050 私たちは、講義の中でそれらを少しカバーするようになり始めました 712 00:35:49,050 --> 00:35:53,060 我々は、コマンドライン上でプログラムに渡される引数について話すとき、 713 00:35:53,060 --> 00:35:55,700 しかし、あなたの問題セットは、あなたのプログラムで、 714 00:35:55,700 --> 00:35:58,760 それだけではvoidを書いて、それをシンプルに保つことは全く問題ありません。 715 00:35:58,760 --> 00:36:01,490 そして、何この空白が意味することは、その 716 00:36:01,490 --> 00:36:04,630 "ねえ、メインはどんな入力を受け入れるつもりはない。 717 00:36:04,630 --> 00:36:07,440 これはちょうど私達が実行するだけつもりだプログラムです。 718 00:36:07,440 --> 00:36:09,320 我々はそれを余計な情報を与えるつもりはない 719 00:36:09,320 --> 00:36:12,420 たびに、我々は実行して起動します。 " 720 00:36:14,730 --> 00:36:16,600 だから今のところは、これを行うことができます。 721 00:36:16,600 --> 00:36:19,710 あなたもさえリターン0を省略することができます 722 00:36:19,710 --> 00:36:22,650 あなたのプログラムの終わりに、彼らはうまく実行することになるでしょう、 723 00:36:22,650 --> 00:36:26,150 しかし、私はちょうどそれをインチに保管することをお勧め 724 00:36:26,150 --> 00:36:28,320 数週間で、私たちは、どのような種類のに始めましょう 725 00:36:28,320 --> 00:36:31,340 カバーを少し引いて、についての詳細を理解する 726 00:36:31,340 --> 00:36:34,380 すべてのこれらの異なる小さな可動部分。 727 00:36:34,380 --> 00:36:38,160 >> よし、今度はここに私たちの第二の問題についてお話ししましょう​​。 728 00:36:38,160 --> 00:36:43,190 だから、 "定義されていない識別子です"とは、通常何を示していますか 729 00:36:43,190 --> 00:36:46,040 Clangのによって出力された場合はどうなりますか? 730 00:36:46,040 --> 00:36:49,290 私たちは今日、すでに見ているかもしれないと思う。 731 00:36:51,170 --> 00:36:54,370 誰かが、それが何を意味するかの要約を与えることができますか? 732 00:36:54,370 --> 00:36:57,680 ケリーズの1 - ケリー、見てみましょう。 733 00:37:02,580 --> 00:37:05,300 だから>> - 734 00:37:05,300 --> 00:37:07,080 うん、何をしない - 735 00:37:07,080 --> 00:37:10,140 >>ときに私が思うに、のように、変数を宣言し、それを使用しようとしないでください。 736 00:37:10,140 --> 00:37:13,310 うん、まさに、その通りです。 737 00:37:13,310 --> 00:37:15,250 あなたは今までにこの出力を見るのであれば 738 00:37:15,250 --> 00:37:17,690 あなたがしようとするプログラムをコンパイルするときに、 739 00:37:17,690 --> 00:37:19,470 ケリーは言ったと同じように、 740 00:37:19,470 --> 00:37:24,210 それは、あなたが宣言していない変数を使用することを意味 741 00:37:24,210 --> 00:37:28,460 ので、私は私達のスペースに戻ると、 742 00:37:28,460 --> 00:37:31,150 そして、私のような何かを 743 00:37:31,150 --> 00:37:34,800 printfの( 744 00:37:34,800 --> 00:37:38,260 "こんにちは%s")を 745 00:37:40,070 --> 00:37:42,440 その%sにしようと塗​​りつぶし 746 00:37:42,440 --> 00:37:45,640 変数s、私はどこにも宣言されていないことと 747 00:37:45,640 --> 00:37:48,330 と私は、それを実行しよう 748 00:37:48,330 --> 00:37:51,330 あなたは、私は右ここでは、この一番下に降りるかが表示されます: 749 00:37:51,330 --> 00:37:54,010 "宣言されていない識別子 's'の使用"; 750 00:37:54,010 --> 00:37:57,710 それはちょうどあなたがあなたの変数を宣言していないことを意味します。 751 00:37:57,710 --> 00:38:00,750 同じことが起こる場合 752 00:38:00,750 --> 00:38:05,240 あなたは、xを持っていて、それの7を試してみて、保存 753 00:38:05,240 --> 00:38:08,720 と私はXを宣言していない 754 00:38:08,720 --> 00:38:10,200 私は同じエラーを取得する: 755 00:38:10,200 --> 00:38:13,480 "宣言されていない識別子 'x'の使用"。 756 00:38:16,390 --> 00:38:18,250 >> すべての権利は​​、 757 00:38:18,250 --> 00:38:21,720 シーザー暗号ので、非常に安全であることではない、 758 00:38:21,720 --> 00:38:24,590 私は、あなたたちは理由を理解するのは、この短い、種を見てもらおう 759 00:38:24,590 --> 00:38:27,590 うまくいけば、今週の問題をやった後に設定 760 00:38:27,590 --> 00:38:29,270 あなたが実際にシーザー暗号を書き込む場所は、もう少し理解してもらえるだろ 761 00:38:29,270 --> 00:38:32,600 - それは安全かつセキュアであることを意味するものについて 762 00:38:36,180 --> 00:38:38,960 または安全ではありません、私は推測する - 安全では若干異なります。 763 00:38:40,560 --> 00:38:43,140 他のことは、我々は、これらの他の質問をここに持っていた 764 00:38:43,140 --> 00:38:45,470 関数について 765 00:38:45,470 --> 00:38:47,330 とどのような関数であり、 766 00:38:47,330 --> 00:38:52,820 我々は戻り値について話したとき、我々は、その種の話を簡潔に。 767 00:38:52,820 --> 00:38:54,560 講義をしてきている誰かのために、 768 00:38:54,560 --> 00:38:57,790 あなたは今日の講義をされている誰がおさらいすることができますか? 769 00:38:57,790 --> 00:38:59,670 かしこまりました。 770 00:39:01,210 --> 00:39:04,320 見てみましょう。のは持ってみましょう - 誰かは、関数が何であるかを教えていただけますか? 771 00:39:04,320 --> 00:39:06,060 ケリー? 772 00:39:07,800 --> 00:39:11,260 >> >>あなたがのライブラリで書かれている時に何かを描く基本的に何か 773 00:39:11,260 --> 00:39:14,460 あそこより複雑な、そして、あなたはちょうどそれの短い形式を書き込む 774 00:39:14,460 --> 00:39:17,360 あなたが使用して、そのライブラリに戻って参照しているのように 775 00:39:17,360 --> 00:39:19,650 すべてのその長いコードと[聞こえない]。 776 00:39:19,650 --> 00:39:22,680 うん、正確に、そして次にあなたたくはそれに何かを追加しますか? 777 00:39:22,680 --> 00:39:27,050 >>ええ、私はそれについての数学の式の概念に似たものだと思う 778 00:39:27,050 --> 00:39:30,130 あなただけの式を記述してから、中の変数を差し込むことができる場所 779 00:39:30,130 --> 00:39:32,660 そのの機能は[聞こえない]とは何か。 780 00:39:32,660 --> 00:39:35,390 >> ええ、そう、我々はここで答えのカップルを持っている 781 00:39:35,390 --> 00:39:38,080 それは両方の本当に良いと右です。 782 00:39:38,080 --> 00:39:43,040 どこかのライブラリで書かれているコードに存在述べられている 783 00:39:43,040 --> 00:39:45,390 それは、より複雑です 784 00:39:45,390 --> 00:39:47,130 次にそのコードに基づいて描くことができます 785 00:39:47,130 --> 00:39:50,480 そして実際にそれだけの短い形式を書き込むことによって、それを使用する - 786 00:39:50,480 --> 00:39:54,060 というか、その名前 - 787 00:39:54,060 --> 00:39:57,590 その後数学の数式に、この比較もある 788 00:39:57,590 --> 00:40:00,400 または物理学、もののすべてのそのような 789 00:40:00,400 --> 00:40:02,980 あなたは、次の式を持っている場所 790 00:40:02,980 --> 00:40:05,690 そしてその後にプラグインすることができ 791 00:40:05,690 --> 00:40:08,100 その式に変数 792 00:40:08,100 --> 00:40:11,130 その後、式の結果を得るために、 793 00:40:11,130 --> 00:40:14,580 二次方程式などのように、あなたはそれについて考える。 794 00:40:14,580 --> 00:40:17,690 について学ぶことを想像してみた場合ではなく、 795 00:40:17,690 --> 00:40:21,310 どんな二次方程式の解の公式は数学のクラスであり、 796 00:40:21,310 --> 00:40:24,610 ちょうどあなたのためにそれをやった少し電卓プログラムを持っていた。 797 00:40:24,610 --> 00:40:28,930 誰もが高校の数学の授業で電卓プログラムを使用しましたか? 798 00:40:28,930 --> 00:40:31,020 うん、物理のクラス? 799 00:40:31,020 --> 00:40:34,670 どこであなただけの、 "ねえ、二次方程式の根の公式を言うことができます。 800 00:40:34,670 --> 00:40:37,740 これらは、私が入力する変数です。 801 00:40:37,740 --> 00:40:40,250 今、私に答えを与える。 " 802 00:40:40,250 --> 00:40:42,170 つまり、関数が何であるかのようなものだ。 803 00:40:42,170 --> 00:40:44,850 それは私達にのための方法です 804 00:40:44,850 --> 00:40:47,720 小さな小さなサブプログラムのような書き込みの一種 805 00:40:47,720 --> 00:40:51,700 私たちの大きなプログラムの中で 806 00:40:51,700 --> 00:40:55,090 何度も何度もそれを上に使用し、 807 00:40:55,090 --> 00:40:58,380 ので、我々はコードをコピー&ペーストする必要がないこと、 808 00:40:58,380 --> 00:41:04,220 我々はそれを異なる入力を与え、様々な出力を得ることができ、 809 00:41:04,220 --> 00:41:07,090 それは超便利です 810 00:41:07,090 --> 00:41:11,420 状況に応じて異なるプログラムを記述しようとしているとき。 811 00:41:11,420 --> 00:41:14,580 >> 我々は何度も何度も繰り返し使用してきたように、例えば、関数 812 00:41:14,580 --> 00:41:17,310 コー​​ス全体のprintfです。 813 00:41:17,310 --> 00:41:19,680 printf関数自体は関数である 814 00:41:19,680 --> 00:41:23,360 そしてそれは、それは実際にはかなり長くて複雑だということが判明 815 00:41:23,360 --> 00:41:26,420 探して意地の悪い、書き込むように機能する。 816 00:41:26,420 --> 00:41:29,590 それが私たちには思えるようにのような単純な 817 00:41:29,590 --> 00:41:31,810 画面にコンテンツをプリントアウトし、 818 00:41:31,810 --> 00:41:34,820 我々はすべてちょうど今日セクションの冒頭にあることをしたので、 819 00:41:34,820 --> 00:41:36,870 それは、あなたが知っている、実際にだということが判明 820 00:41:36,870 --> 00:41:39,900 コー​​ドの数百行の良いカップル。 821 00:41:42,030 --> 00:41:45,620 それは、確かに、私が今まで書きたいというものではない 822 00:41:45,620 --> 00:41:47,480 しかし、我々は毎日それを使用して取得;それはクールのようなものだ、 823 00:41:47,480 --> 00:41:49,020 私たちは、お互いにそれを共有することを得る 824 00:41:49,020 --> 00:41:51,790 別のプログラムで、 825 00:41:51,790 --> 00:41:54,520 ので、我々はより多くのダイビングの関数になります。 826 00:41:54,520 --> 00:41:56,090 当分の間、私たちではない - 827 00:41:56,090 --> 00:41:59,150 私たちが書いてことになるだろう唯一の機能は、メインです。 828 00:41:59,150 --> 00:42:01,570 主自体が、また機能です 829 00:42:01,570 --> 00:42:04,270 そしてあなたは、それがその出力を持って見ることができます 830 00:42:04,270 --> 00:42:06,610 我々のように、その入力は、約話 831 00:42:06,610 --> 00:42:08,930 メインであり、その名前、。 832 00:42:08,930 --> 00:42:11,800 メインは、の一種である - そこに特殊な関数です。 833 00:42:11,800 --> 00:42:14,800 あなたのCプログラムでは、main関数が存在しなければならない 834 00:42:14,800 --> 00:42:17,900 ので、今のところ、我々は省略書面のようなものをしました 835 00:42:17,900 --> 00:42:21,400 プロトタイプ、またはの宣言は、メイン。 836 00:42:21,400 --> 00:42:23,050 私達はあなたにあることを与えてくれた 837 00:42:23,050 --> 00:42:25,650 そして我々は、ちょうどあなたが空白のようなものに記入しなければならなかった。 838 00:42:25,650 --> 00:42:29,120 >> だから>>第二の問題セットのために、我々はする必要はありません 839 00:42:29,120 --> 00:42:31,350 それは第二の機能で書くのか? 840 00:42:31,350 --> 00:42:34,200 私はそう信じていません。 841 00:42:34,200 --> 00:42:37,600 私はそれがここですべてだと信じています。 842 00:42:37,600 --> 00:42:41,710 ええ、そうシーザー暗号、 843 00:42:41,710 --> 00:42:45,000 あなたがする必要はありません、それは似ていない、 844 00:42:48,740 --> 00:42:53,150 とVigenere、どちらかでない、 845 00:42:53,150 --> 00:42:56,400 そう - そしてそれは結局あなたは今までに実際に記述する必要はありません 846 00:42:56,400 --> 00:42:58,250 機能、右か? 847 00:42:58,250 --> 00:43:01,950 あなたは、常にメイン内にすべてのコードを入れて呼び出すと、 848 00:43:01,950 --> 00:43:04,500 多くのプログラマはそれを行うこと。 849 00:43:04,500 --> 00:43:07,130 我々は上に移動すると、 850 00:43:07,130 --> 00:43:09,480 私たちは道としての機能を導入開始 851 00:43:09,480 --> 00:43:11,530 あなたのコードをクリーンアップするには、 852 00:43:11,530 --> 00:43:13,380 それはよりエレガントにするため、 853 00:43:13,380 --> 00:43:16,890 我々はループについて話したときのような種類の、 - の場合には、タスクを持っている 854 00:43:16,890 --> 00:43:20,400 どのように、時にはあなたが何度も何度も何度もやってみたい事がある、 855 00:43:20,400 --> 00:43:23,510 、あなたは素朴な方法のようなものを持っている - 856 00:43:23,510 --> 00:43:26,360 あるいは、我々はしばしば、 "わら人形"ソリューションを、呼んでいるもの 857 00:43:26,360 --> 00:43:29,390 ただコピーして何度も何度も上に貼り付けすることである - 858 00:43:29,390 --> 00:43:31,000 あなたはただコピーと貼り付け機能を使って同じことを行うことができます 859 00:43:31,000 --> 00:43:33,360 何度も何度も同じコードを、 860 00:43:33,360 --> 00:43:35,750 それはあなたのコードを肥大 - 861 00:43:35,750 --> 00:43:38,550 それは、最大本当に長いコードを作る終了 - 862 00:43:38,550 --> 00:43:41,550 そしてそれはまた、少し混乱取得 863 00:43:41,550 --> 00:43:43,470 そしてそれはあなたが好きなことができないことを意味します - 864 00:43:43,470 --> 00:43:45,250 あなたは今まで、別のプログラムで再度そのコードを使用したい場合は、 865 00:43:45,250 --> 00:43:48,610 あなたもそれを再度コピーして貼り付ける立ち往生、 866 00:43:48,610 --> 00:43:51,170 ので、我々が話をわかることの一つである 867 00:43:51,170 --> 00:43:54,960 あなたのプログラムの設計とスタイルの一種で、 868 00:43:54,960 --> 00:43:57,010 ので、それはこの種のことは理にかなっていたとき 869 00:43:57,010 --> 00:43:59,800 パッケージには、何か起動して別々の機能としてそれを置く、 870 00:43:59,800 --> 00:44:02,080 我々はあなたがそれを行うことを奨励、 871 00:44:02,080 --> 00:44:04,700 それはつまり、再び、何か 872 00:44:04,700 --> 00:44:07,790 厳格なルールはありません。 873 00:44:07,790 --> 00:44:11,540 私たちは、あなたが、この呼び出された関数を記述する必要がありますと言うことはめったにありません 874 00:44:12,870 --> 00:44:16,320 しかし、それはあなただけで時間をかけて開発するものの一つなのです 875 00:44:16,320 --> 00:44:19,470 あなたがより多くのプログラムを書いている。 876 00:44:21,940 --> 00:44:24,790 >> これ以上の質問は? 877 00:44:26,340 --> 00:44:30,610 わかりましたので、今してみましょう 878 00:44:30,610 --> 00:44:34,750 、右ここにこの男に戻って上がる 879 00:44:34,750 --> 00:44:37,800 ので、私は質問のこのセクションではまだだ。 880 00:44:37,800 --> 00:44:39,900 私たちは、これらすべての異なるものについて説明しました 881 00:44:39,900 --> 00:44:42,050 関数を作成する理由は、関数何だ、 882 00:44:42,050 --> 00:44:44,700 あなただけコピーして貼り付けることができたときに? 883 00:44:44,700 --> 00:44:47,700 うまくいけば、我々は関数を書くことは良いことであることを確信している。 884 00:44:47,700 --> 00:44:50,870 だから今、のはこのMySpaceのプログラムに移りましょう 885 00:44:50,870 --> 00:44:53,080 そして我々はこれをやって少し時間を費やすことになる。 886 00:44:54,600 --> 00:44:56,480 >> だから、見てみましょう 887 00:44:56,480 --> 00:45:00,230 私は誰かが私のためにこれを読んでいることを確認することができますか? 888 00:45:02,640 --> 00:45:04,660 レッツMikhailaを持っている - あなたは私たちのためにこれを読んだろうか? 889 00:45:07,660 --> 00:45:08,890 ときにMySpaceのあなたが戻って意味>> - 890 00:45:08,890 --> 00:45:10,920 戻るときにMySpaceはクールだった。 891 00:45:10,920 --> 00:45:12,070 MySpaceはクールだっ戻る>> " 892 00:45:12,070 --> 00:45:14,900 それはこのようなタイプにすべての怒りだった。 893 00:45:14,900 --> 00:45:17,320 多分それはまだですか?私は本当にわからない。 894 00:45:17,320 --> 00:45:19,990 いずれにせよ、CS50アプライアンスを使用して、 895 00:45:19,990 --> 00:45:22,600 CS50実行するか、またはCS50スペース​​、 896 00:45:22,600 --> 00:45:25,370 メッセージの入力をユーザーに要求するプログラムを書く 897 00:45:25,370 --> 00:45:29,350 その後、その最初の文字は大文字にメッセージを出力します 898 00:45:29,350 --> 00:45:31,800 交互ケース内の他のすべての文字で、 899 00:45:31,800 --> 00:45:34,010 次の出力例にあるように、 900 00:45:34,010 --> 00:45:37,060 前記太字テキストは、一部のユーザーの入力を表しています。 901 00:45:37,060 --> 00:45:39,800 簡単にするため、ユーザーと仮定するかもしれません 902 00:45:39,800 --> 00:45:42,810 入力のみ小文字とスペースでしょう。 903 00:45:42,810 --> 00:45:45,900 この問題を練習する機会を考えてみてください。 904 00:45:45,900 --> 00:45:48,640 あなたは、このプログラムを提出するよう求められることはありません。 " 905 00:45:48,640 --> 00:45:51,640 >> 素晴らしい、ありがとうございます。 906 00:45:51,640 --> 00:45:54,750 だからMikhailaが言ったように、 907 00:45:54,750 --> 00:45:58,850 我々は、あなたのコードをMySpacesプログラムを書こうとしている。 908 00:45:58,850 --> 00:46:02,230 だから君たちのいずれかはMySpace使用しましたか? 909 00:46:02,230 --> 00:46:04,100 あなたのうちのどれかは、MySpaceのアカウントを持っている? 910 00:46:04,100 --> 00:46:05,920 ああ、ええ、ええ! 911 00:46:05,920 --> 00:46:08,300 それはかなりクールだった。 912 00:46:08,300 --> 00:46:09,950 [笑い] 913 00:46:09,950 --> 00:46:12,060 私は知っている。 914 00:46:12,060 --> 00:46:14,500 自分をデート。 915 00:46:15,490 --> 00:46:18,300 だから我々がやろうとしているどのようなプログラムを書くことです 916 00:46:18,300 --> 00:46:21,110 通過する 917 00:46:21,110 --> 00:46:24,490 と最初の文字を大文字に 918 00:46:24,490 --> 00:46:27,140 その後、その後、すべての文字 - 919 00:46:27,140 --> 00:46:29,350 または他のすべての文字は、その後、私は申し訳ありません。 920 00:46:29,350 --> 00:46:32,910 >> だから - あなたは、この例で分かる 921 00:46:32,910 --> 00:46:35,260 これは、我々はプログラムを実行する方法です。 922 00:46:35,260 --> 00:46:38,780 ので、これはちょうど私達がa.outというプログラムを実行している "、と言っている。 923 00:46:41,490 --> 00:46:44,630 我々はそれを与えることになるだろうことを入力 924 00:46:44,630 --> 00:46:47,090 プロンプトが表示されようとしている。 925 00:46:47,090 --> 00:46:51,150 我々は、コマンドラインに入力を供給するつもりはない。 " 926 00:46:51,150 --> 00:46:54,100 あなたは、すべての講義に続いてきた場合 927 00:46:54,100 --> 00:46:56,710 とコマンドライン引数についての公聴会、 928 00:46:57,810 --> 00:47:00,080 ことは、これらのようなものだ - そのファンキーな構文 929 00:47:00,080 --> 00:47:04,530 主にint型のargc、すべてのもの、と入ってくる 930 00:47:04,530 --> 00:47:07,630 ので、ここで我々はそれを使用していない、我々は、のいずれかで対処していない。 931 00:47:09,400 --> 00:47:12,650 我々だけで、ユーザーによってこの型付きで得るつもりだ 932 00:47:12,650 --> 00:47:15,700 ファンキー総額が、その後この二行目 933 00:47:15,700 --> 00:47:18,550 私達が私達のプログラムが出力したいものです。 934 00:47:19,790 --> 00:47:22,860 >> だからではなくアプライアンスまたはRunを使用するよりも、我々はスペースを使用しますが、 935 00:47:22,860 --> 00:47:25,360 我々はスペースを持っているので、 936 00:47:25,360 --> 00:47:28,640 など皆さんが希望の場合 937 00:47:28,640 --> 00:47:32,380 、このような何かを探すために、コードを取得 938 00:47:32,380 --> 00:47:35,930 ので、私はこのリビジョンを保存するつもりです 939 00:47:35,930 --> 00:47:38,390 ちょうどので、あなたは正しいここでボイラープレートを持っている 940 00:47:38,390 --> 00:47:42,840 このように見えますが、int型のmain(void)を、その中に何もない。 941 00:47:44,480 --> 00:47:48,460 実際に、我々は何をしようとしていは我々だけですべて一緒にすべてを削除することもある。 942 00:47:48,460 --> 00:47:50,330 我々は、白紙の状態にしたい 943 00:47:50,330 --> 00:47:52,470 私たちがしているので、コードを書き始めるつもりはない。 944 00:47:52,470 --> 00:47:55,380 むしろ、我々はいくつかの擬似コードを書いてみるつもりだ 945 00:47:55,380 --> 00:47:58,580 これは本当にただ我々はコードではない何かを書こうとしていることを意味 946 00:47:58,580 --> 00:48:01,010 その種類の私たちが何をしたいのかを説明し、 947 00:48:01,010 --> 00:48:05,180 ダビデは、講義の最初の日に行ったちょっとのように、 948 00:48:05,180 --> 00:48:08,310 または私は彼が全体の靴下のデモを行った講義の二日目だったと推測します。 949 00:48:08,310 --> 00:48:10,990 君たちがいることを覚えている - 靴下を見て? 950 00:48:10,990 --> 00:48:13,300 ヨセフはそこに英語で入力するのは一種のアップだったのですか? 951 00:48:13,300 --> 00:48:16,300 だから我々は同じことを行うつもりだ。 952 00:48:16,300 --> 00:48:18,380 >> だから私は、擬似コードを書き始めるときに、 953 00:48:18,380 --> 00:48:22,640 私は入力があると何が起こっているかを調べることから始めたい。 954 00:48:22,640 --> 00:48:24,950 そして私は自分自身に、サンプルケースを与える、 955 00:48:24,950 --> 00:48:28,780 ので、 "アドオンをありがとう!"のような 956 00:48:35,030 --> 00:48:38,010 そして私はまた、私は出力になりたいものを書く 957 00:48:38,010 --> 00:48:42,210 このケースでは、このようなものどちらです。 958 00:48:53,790 --> 00:48:56,050 そして、そのような種類のは、私に考えること、のような、よい出発点を与える 959 00:48:56,050 --> 00:48:59,730 "さて、私は1行目を取りたい 960 00:48:59,730 --> 00:49:03,560 そして私は "、2行目にそれを変換したい 961 00:49:03,560 --> 00:49:06,570 そしてその種類は私の思考を誘導するのに役立ちます。 962 00:49:06,570 --> 00:49:09,990 これは、起動するには良い場所です。 963 00:49:09,990 --> 00:49:12,190 我々は先に進むちょっととしても、それについて考える別の方法 964 00:49:12,190 --> 00:49:15,020 あなたは自分のプログラムでこれを行うとと、にある 965 00:49:15,020 --> 00:49:18,530 この種のエッジケースが何であるかのようなのを考える? 966 00:49:18,530 --> 00:49:20,740 変なシナリオの種類は何ですか? 967 00:49:20,740 --> 00:49:23,660 我々が得るかもしれない奇妙な入力は何ですか? 968 00:49:23,660 --> 00:49:26,550 そして、それらの出力は何のように見えるでしょうか? 969 00:49:26,550 --> 00:49:29,670 例えば、一つの奇妙な入力 970 00:49:29,670 --> 00:49:33,200 、このいずれかになり 971 00:49:33,200 --> 00:49:35,630 絶対に何も、作成していません 972 00:49:35,630 --> 00:49:37,840 どのように我々は、そのような場合に出力する必要があります? 973 00:49:37,840 --> 00:49:40,530 我々はあまりにも、考えるようにしたいもの。 974 00:49:40,530 --> 00:49:44,450 >> だから質問のように、 975 00:49:44,450 --> 00:49:46,870 我々は、出力に何をしたいのでしょうか? 976 00:49:46,870 --> 00:49:50,740 我々はまったく入力を取得しない場合、我々のプログラムは何を出力すべきか? 977 00:49:53,740 --> 00:49:54,860 >>何が。 978 00:49:54,860 --> 00:49:57,340 何もない?素晴らしいですね。 979 00:49:57,340 --> 00:49:59,280 だから我々は我々が何かを書いていないことを確認したい 980 00:49:59,280 --> 00:50:01,500 我々は何もインチが得られない場合 981 00:50:01,500 --> 00:50:04,320 クール。オーケー。 982 00:50:04,320 --> 00:50:07,370 そう 983 00:50:07,370 --> 00:50:09,380 私は、私たちが通って行くように人々のカップルを呼ぶつもりです 984 00:50:09,380 --> 00:50:12,790 そしてちょうど一般的なアルゴリズムとは何か希望の種類を把握する 985 00:50:12,790 --> 00:50:15,250 そして我々はこの種一緒に通って作業を開始します。 986 00:50:16,240 --> 00:50:19,710 >> だから、見てみましょう。ミッシー。 987 00:50:19,710 --> 00:50:21,220 あなたは私たちが開始したいと思いますか? 988 00:50:21,220 --> 00:50:24,830 ここで開始するには良い場所であるもの 989 00:50:24,830 --> 00:50:27,900 我々は変換したい場合、たとえば、1行目 990 00:50:27,900 --> 00:50:29,440 2行目に? 991 00:50:29,440 --> 00:50:32,650 ちょうどあなたが何を考えているか、英語で、私に説明のようなものができますか? 992 00:50:32,650 --> 00:50:34,770 でもコードを心配しないでください。 993 00:50:34,770 --> 00:50:38,250 私はどうしたら>>まず最初になる 994 00:50:38,250 --> 00:50:41,170 あなたが欲しいものを伝えるために、ユーザーの直接の一種。 995 00:50:41,170 --> 00:50:44,730 わかりましたので、言う、 996 00:50:44,730 --> 00:50:47,450 "ねえ、ユーザ。私が欲しい 997 00:50:47,450 --> 00:50:50,560 文字列 " - 素晴らしい。 998 00:50:50,560 --> 00:50:52,990 それでは、これを書き留めましょう。 999 00:50:52,990 --> 00:50:56,140 文字列の入力をユーザーに求める。 1000 00:50:56,140 --> 00:50:59,270 それは良いスタートのように聞こえる。 1001 00:51:03,920 --> 00:51:06,460 かしこまりました。 1002 00:51:06,460 --> 00:51:09,750 のは、ケリーれんこの時間を聞いてみよう。 1003 00:51:09,750 --> 00:51:11,580 我々は、それから次のやりたいだろうか? 1004 00:51:11,580 --> 00:51:14,220 私たちの次のようなものは何ですか - ? 1005 00:51:14,220 --> 00:51:18,080 >>その入力を収集し、それを変数として格納します。 1006 00:51:18,080 --> 00:51:20,470 グレート。 1007 00:51:20,470 --> 00:51:24,280 だから、文字列を収集 1008 00:51:25,450 --> 00:51:27,880 変数に格納します。 1009 00:51:34,840 --> 00:51:36,460 だから我々はここで何をしたい何か特別なことはありますか? 1010 00:51:36,460 --> 00:51:39,700 我々は彼らの入力をチェックしたいですか 1011 00:51:39,700 --> 00:51:42,260 前に - ? 1012 00:51:42,260 --> 00:51:43,790 >>うん。 1013 00:51:43,790 --> 00:51:46,330 私たちは何のために確認するとよいでしょう? 1014 00:51:46,330 --> 00:51:48,980 >>さて、あなたは我々はそれが多数の場合は右側、チェックする必要はないと言った? 1015 00:51:48,980 --> 00:51:52,400 それは小文字だと仮定しますので、? 1016 00:51:52,400 --> 00:51:55,650 うん。 1017 00:51:56,380 --> 00:51:58,920 >> だから、ことが判明した - ええ。 1018 00:51:58,920 --> 00:52:01,850 だからgetStringでは、私たちに、文字列を返すことが保証されます。 1019 00:52:01,850 --> 00:52:05,050 それは私達、またはそのような何かに数値を返すことはないだろう。 1020 00:52:05,050 --> 00:52:09,140 しかし、その文字列内の数字文字があるかもしれません。 1021 00:52:09,140 --> 00:52:13,460 我々は総額をやったとして、それらは、我々は無視してかまいません。 1022 00:52:13,460 --> 00:52:16,620 しかし、空の文字列は、全く問題ありません 1023 00:52:16,620 --> 00:52:19,900 4行目と5日に右ここにケースので、 1024 00:52:19,900 --> 00:52:22,020 右ここで、何も入力がない、 1025 00:52:22,020 --> 00:52:25,190 と我々の出力としては何も入れないよ。 1026 00:52:25,190 --> 00:52:28,730 我々は、文字列中の何かがあることを確認することを心配する必要はありません 1027 00:52:28,730 --> 00:52:31,840 または文字列には、少なくとも4文字の長さであること; 1028 00:52:31,840 --> 00:52:34,190 何でも結構です。 1029 00:52:34,190 --> 00:52:38,270 ですから、これはあなたが書いたペニープログラム等で、例えば、対比される 1030 00:52:38,270 --> 00:52:42,340 どこにあなたが非負数を得ていたことを確認する必要がありましたが、 1031 00:52:42,340 --> 00:52:46,430 あなたは月の日数の正しい数を得ていたことを確認しなければならなかった。 1032 00:52:46,430 --> 00:52:49,630 そして、どのようにあなたたちはそれをやっている? 1033 00:52:49,630 --> 00:52:51,470 どのようにして、そのテストをするでしょうか? 1034 00:52:51,470 --> 00:52:54,090 それはあなたが使用するために、何を必要としたのですか? 1035 00:52:54,090 --> 00:52:55,650 >> do-whil​​eループ。 1036 00:52:55,650 --> 00:53:00,840 do-whil​​eループ、ループの他の種類も、ええ。 1037 00:53:02,190 --> 00:53:04,520 だから、それは我々が、この場合はループを使用する必要はありません判明 1038 00:53:04,520 --> 00:53:07,360 我々は素晴らしいの一種である文字列の入力を求めるプロンプトを表示しているとき。 1039 00:53:08,280 --> 00:53:10,620 >> すべての権利は​​、上に移動。 1040 00:53:12,410 --> 00:53:14,270 だから、ステラ。 1041 00:53:14,270 --> 00:53:17,530 あなたは私たちが次に何をすべきかについて少し教えていただけますか? 1042 00:53:17,530 --> 00:53:20,270 だから今我々は、文字列を持っている、我々はそれが変数に格納されているんだ; 1043 00:53:20,270 --> 00:53:23,360 我々は、文字列をどのように処理するかが必要なのでしょうか? 1044 00:53:26,790 --> 00:53:33,530 >>我々はする必要があります - 1045 00:53:33,530 --> 00:53:36,550 2を識別す​​る - 1046 00:53:36,550 --> 00:53:39,290 うん、ちょうどそれを英語で言う、それは素晴らしいです。 1047 00:53:39,290 --> 00:53:42,670 または、大文字 - >> [聞こえない]首都を識別します。 1048 00:53:44,420 --> 00:53:48,130 ええ、そうあなたはどれが大文字と小文字であるかを特定したい。 1049 00:53:50,020 --> 00:53:54,180 我々は、どれを特定するまで、我々はそれらを大文字または小文字にすることはできません。 1050 00:54:03,790 --> 00:54:06,350 だから我々はここでそれを置くことにしましょう​​。 1051 00:54:06,350 --> 00:54:10,210 >> だから、ただ、このプロセスを考える 1052 00:54:10,210 --> 00:54:13,200 どのように我々は、この識別を行うのですか? 1053 00:54:13,200 --> 00:54:15,050 あなたは、ダンを知っていますか? 1054 00:54:15,050 --> 00:54:18,120 私たちのようなもの - どのようなツールが我々のツールボックスから出て使用する必要があるだろう? 1055 00:54:18,120 --> 00:54:22,500 >>私は、配列または各ラインのように何らかの形でそれを置くところ 1056 00:54:22,500 --> 00:54:24,240 、独自の小さなボックスです。 1057 00:54:24,240 --> 00:54:27,240 し、そこからそれを大文字かどうか。 1058 00:54:27,240 --> 00:54:30,440 わかりましたので、我々が使用することができます一つのツールは配列です。 1059 00:54:30,440 --> 00:54:33,760 私たちは、文字列内を見なければなりません。 1060 00:54:33,760 --> 00:54:36,680 しかし、把握するために - 私たちは、文字を見なければならなかった。 1061 00:54:36,680 --> 00:54:40,890 >>だからあなたは、文字列の長さを見てんだ? 1062 00:54:40,890 --> 00:54:43,880 ええ、そうした文字列の長さを取得していることの一部。 1063 00:54:50,450 --> 00:54:54,150 単に好奇心から、私たちは文字列の長さを取得するには何を使うのですか? 1064 00:54:54,150 --> 00:54:58,080 strlenは>>? 1065 00:54:58,080 --> 00:55:02,870 strlenは、ええ、私たちは、これを "strlenを"と呼ぶ 1066 00:55:04,180 --> 00:55:08,620 ので、これらの文字列関数はすべて、strlenは、関数です。 1067 00:55:08,620 --> 00:55:10,670 私達はちょうど言うためにそれを使用できるので、それは、便利なスーパーです 1068 00:55:10,670 --> 00:55:13,430 strlenは、ねえ:以下、文字列だが、それがどれくらい長いか教えてください。 1069 00:55:13,430 --> 00:55:17,350 講義では、今日、ダビデは、strlenはどのように実装されるかについて、たくさん話をしました 1070 00:55:17,350 --> 00:55:20,370 何が実際に舞台裏で起こっている。 1071 00:55:20,370 --> 00:55:25,450 しかし、これは非常に超便利なものの一つです。 1072 00:55:25,450 --> 00:55:29,170 文字列ライブラリにある他のものがありますが、 1073 00:55:29,170 --> 00:55:34,690 このような "strcmpの"綴られているstrcmpの、など 1074 00:55:34,690 --> 00:55:38,010 そのお互いに文字列を比較するために使用されます。 1075 00:55:41,220 --> 00:55:45,020 他のものあなたは、strstrのように使用します 1076 00:55:45,020 --> 00:55:48,770 これは、サブストリングを見つけるなどに適しています。 1077 00:55:48,770 --> 00:55:53,380 ほとんどの部分については、それらはすべてstrで開始してから、何か他のことに進みます。 1078 00:55:53,380 --> 00:55:57,080 彼らは実際には文字列のようにそれらを綴るというようにしない理由 1079 00:55:57,080 --> 00:56:00,260 、Cの初期の頃が好きだから奥にある 1080 00:56:00,260 --> 00:56:04,100 人々は、最初の書き込みであった、すべてのことをするとき 1081 00:56:04,100 --> 00:56:07,580 彼らはあなたが使用できる文字数に制限がありました 1082 00:56:07,580 --> 00:56:09,950 関数名や変数名のために、 1083 00:56:09,950 --> 00:56:12,620 ので、すべてが超凝縮されたようなものです。 1084 00:56:12,620 --> 00:56:15,750 しかし、いつでもあなたは、strで始まる何かを参照してください、 1085 00:56:15,750 --> 00:56:18,600 それは一般的に、これは文字列とは何かを持っていることを意味します。 1086 00:56:20,990 --> 00:56:23,350 >> さて、あなたは、文字列の長さを取得するんだ 1087 00:56:23,350 --> 00:56:27,110 その後、我々は文字を使って何を行うのですか? 1088 00:56:27,110 --> 00:56:29,020 あなたは、サムを知っていますか? 1089 00:56:29,020 --> 00:56:32,410 私は全く分からない>>;私はそれを把握しようとしていた。 1090 00:56:32,410 --> 00:56:35,410 私は本当にわからない - 私にはいくつかの方法があったならばなあ - 1091 00:56:35,410 --> 00:56:38,990 私が言いたいのは、私は、我々はオッズで何かを行うことができるかもしれないと思うし、追いついたであろう 1092 00:56:38,990 --> 00:56:40,860 しかし私はそのような任意の関数を知っていません。 1093 00:56:40,860 --> 00:56:42,240 うん。 1094 00:56:43,160 --> 00:56:45,200 >>しかし、それ - それは必ずしも働いていないでしょう、 1095 00:56:45,200 --> 00:56:48,690 その後ためには、スペースがあることになるだろう - 1096 00:56:48,690 --> 00:56:51,130 あなたはどのようにするためのヒントを得るためにスペースがなければならないでしょう - 1097 00:56:51,130 --> 00:56:54,310 オーケー。 1098 00:56:54,310 --> 00:56:56,490 >>私は知らない - この時点で失われた - 私のようなものを。 1099 00:56:56,490 --> 00:56:58,120 ああ - いや、いや、いや、これらは良いポイントです。 1100 00:56:58,120 --> 00:57:00,420 だから我々は何をすべきかは、サムが言ったように、ある 1101 00:57:00,420 --> 00:57:02,970 私たちは、文字が奇数文字ですかを追跡する必要があります 1102 00:57:02,970 --> 00:57:05,540 、どれも文字です。 1103 00:57:06,650 --> 00:57:09,090 しかし、我々は、我々は見ているだけではないことを確かめたいと思う 1104 00:57:09,090 --> 00:57:12,110 奇数と偶数で 1105 00:57:12,110 --> 00:57:14,030 文字列内の添字、 1106 00:57:14,030 --> 00:57:17,660 むしろ、文字列内の奇数と偶数の文字を見て 1107 00:57:17,660 --> 00:57:20,190 従って私達はちょっとの間、この区別を持っている必要があります 1108 00:57:20,190 --> 00:57:25,190 手紙 - 実際に何のようにA、B、C、D、またはそうで、 1109 00:57:25,190 --> 00:57:29,090 とどのようなものと、それでも私たちの文字列内の文字はありません。 1110 00:57:29,090 --> 00:57:32,390 ここでたとえば、この感嘆符のように、文字ではありません 1111 00:57:32,390 --> 00:57:36,060 それはまだ私達の列の一部だ、それはまだシャア。 1112 00:57:36,060 --> 00:57:38,820 同様に、これらのスペースのすべて - 1113 00:57:38,820 --> 00:57:41,710 それは、空間を活用する権利を意味をなさないのですか? 1114 00:57:41,710 --> 00:57:46,160 だから我々は、我々は何らかの形でそれらをスキップしていることを確認したい 1115 00:57:46,160 --> 00:57:49,410 まだオッズを追跡して追いついた。 1116 00:57:50,900 --> 00:57:54,990 >> 我々のプログラミングツールボックスのとても親切の 1117 00:57:54,990 --> 00:57:57,270 これまでのところ、可能ならば、 1118 00:57:57,270 --> 00:58:01,310 我々は我々が話をしたことをいくつかの異なるツールを持っています。 1119 00:58:01,310 --> 00:58:04,640 だから1は、例えば、変数であり、 1120 00:58:04,640 --> 00:58:07,120 のように我々はここで話をしました。 1121 00:58:07,120 --> 00:58:10,730 我々はについて話したもう一つのツールは関数です。 1122 00:58:10,730 --> 00:58:15,800 だから我々はここで我々の擬似コードで変数についてまでお話ししてきました 1123 00:58:15,800 --> 00:58:19,760 どのように我々は文字列を格納するために使用するつもりです。 1124 00:58:19,760 --> 00:58:24,630 我々は、strlenのように、文字列の長さを取得する関数について説明しました。 1125 00:58:28,510 --> 00:58:31,170 我々は、他の何かについて話してきた、と我々はそれについて話をしました 1126 00:58:31,170 --> 00:58:34,850 ループ:前のセクションでたくさんの今日の。 1127 00:58:39,390 --> 00:58:42,030 >> 君たちはこのプログラムでループを使用することについてどう思いますか? 1128 00:58:42,030 --> 00:58:44,110 ジャレド、あなたはどう思いますか? 1129 00:58:47,150 --> 00:58:50,030 我々は、このプログラム内のループを使うのでしょうか? 1130 00:58:50,030 --> 00:58:52,500 >>おそらく、いや、あなたは複数回、それを通過する必要はありませんからではありません。 1131 00:58:52,500 --> 00:58:55,260 さて、あなたは複数回何を通過する必要はありませんか? 1132 00:58:55,260 --> 00:58:57,190 >>文字列全体。 1133 00:58:57,190 --> 00:59:00,660 右ので、一度、文字列全体を通過する必要はありません。 1134 00:59:00,660 --> 00:59:03,330 申し訳ありませんが、それは全く意味をなさなかった! 1135 00:59:03,330 --> 00:59:06,360 複数回文字列全体を通過する必要はありません。 1136 00:59:06,360 --> 00:59:08,660 オーケー。 1137 00:59:09,790 --> 00:59:11,920 どう思う? 1138 00:59:11,920 --> 00:59:14,110 私はそれがそれらを使用する方が良いことだと思う>> 1139 00:59:14,110 --> 00:59:16,640 ので、我々は中に生かすように行うことができます 1140 00:59:16,640 --> 00:59:19,750 それの場所は、[聞こえない]番号です。 1141 00:59:19,750 --> 00:59:22,940 偉大な、など何を生かす? 1142 00:59:22,940 --> 00:59:25,200 わかりましたので、我々はそれを言っている 1143 00:59:25,200 --> 00:59:28,130 我々がしたいので、ループを使用する必要があります 1144 00:59:28,130 --> 00:59:32,550 それは数字ではありませんしながら文字を大文字。 1145 00:59:35,130 --> 00:59:37,140 だから - 申し訳ありませんが、あなたが追加したいたのですか? 1146 00:59:37,140 --> 00:59:39,340 >>私はあなたが文字列を扱う方法ことを言おうとしていた 1147 00:59:39,340 --> 00:59:42,290 それ文字の[聞こえない]別[聞こえない]? 1148 00:59:42,290 --> 00:59:43,710 うん。 1149 00:59:43,710 --> 00:59:45,850 >>そして、我々に番号を割り当てることができます - 1150 00:59:45,850 --> 00:59:47,780 または文字列内の文字の位置に基づいて? 1151 00:59:47,780 --> 00:59:49,720 うん。 1152 00:59:49,720 --> 00:59:53,640 >>そして、それが偶数か奇数であるかどうかを識別し、文字自体を大文字にする 1153 00:59:53,640 --> 00:59:57,750 手紙の場所にありながら、[聞こえない] - 申し訳ありません。 1154 00:59:57,750 --> 01:00:00,150 グレート。 1155 01:00:00,150 --> 01:00:03,430 >> だから総集編。 1156 01:00:03,430 --> 01:00:05,840 あなたは再び自分の名前を思い出させることができます - 申し訳ありません - 私。 1157 01:00:05,840 --> 01:00:06,900 >>シャーロット。 1158 01:00:06,900 --> 01:00:08,490 シャーロット、大丈夫。 1159 01:00:08,490 --> 01:00:11,130 だからシャーロットは、何を言っている 1160 01:00:11,130 --> 01:00:14,950 完全に右である - おやっ、autoにこの同類が私にインデント - 1161 01:00:14,950 --> 01:00:17,770 つまり私たちは、文字列を見れば 1162 01:00:17,770 --> 01:00:19,160 上部のこの1など - 1163 01:00:19,160 --> 01:00:21,590 "追加してくれてありがとう" - 1164 01:00:21,590 --> 01:00:24,790 文字のシーケンスとして 1165 01:00:24,790 --> 01:00:29,010 、位置0である 1166 01:00:29,010 --> 01:00:32,260 hの位置は1です。 1167 01:00:32,260 --> 01:00:36,880 2であるし、我々は、5、4、3を得た; 1168 01:00:36,880 --> 01:00:40,830 スペースは6位になります。 1169 01:00:42,380 --> 01:00:45,300 一方、 - fの位置は何ですか? 1170 01:00:45,300 --> 01:00:47,610 7! 1171 01:00:47,610 --> 01:00:49,300 O? 8。 1172 01:00:49,300 --> 01:00:52,070 R? 9。 1173 01:00:52,070 --> 01:00:54,340 そして、我々は10を持っているし、私は本当にそれなしでそれを書くことはできません 1174 01:00:54,340 --> 01:00:57,430 ちょっと画面に乱雑を得る。 1175 01:00:57,430 --> 01:01:02,340 しかし、これは我々がメモリ内の文字列について話をすることができますどのように実際にある。 1176 01:01:02,340 --> 01:01:04,660 それが文字列である 1177 01:01:04,660 --> 01:01:07,920 、文字のシーケンスです 1178 01:01:07,920 --> 01:01:12,430 そして我々は、文字列内の個々の文字を参照するときに、 1179 01:01:12,430 --> 01:01:15,280 私たちはしばしば、その文字の位置を参照することによって、そうする 1180 01:01:15,280 --> 01:01:17,620 文字列内の、 1181 01:01:17,620 --> 01:01:19,910 私たちは9月の話というおそらく同じ方法 1182 01:01:19,910 --> 01:01:22,870 今年の9番目の月である 1183 01:01:22,870 --> 01:01:27,730 または月曜日が週の最初の日である。 1184 01:01:29,280 --> 01:01:33,070 だから、これは私たちへの道を提供しています 1185 01:01:33,070 --> 01:01:37,030 偶数奇数の対であるものを見つけ出す 1186 01:01:37,030 --> 01:01:39,540 あなたはここで見ることができるので、 1187 01:01:39,540 --> 01:01:43,640 我々は、このTでそれを一致した場合、 1188 01:01:46,310 --> 01:01:49,360 あなたが見ることができる資産計上されたもののすべて 1189 01:01:49,360 --> 01:01:53,040 、偶数位置にある 1190 01:01:53,040 --> 01:01:55,880 少なくとも最初の単語のために、 1191 01:01:55,880 --> 01:01:59,080 私たちはそのスペースを打った後、その後の事は、オフにスローされ 1192 01:01:59,080 --> 01:02:02,460 私たちは、手紙としてこのスペースをカウントしないので、 1193 01:02:02,460 --> 01:02:05,150 そうそれは我々が始めたかのようだ 1194 01:02:05,150 --> 01:02:08,930 と、0、1、2、3、4、5に行きました 1195 01:02:08,930 --> 01:02:12,600 スペース、6、7、8、スペース、 1196 01:02:12,600 --> 01:02:16,440 9日後、10、11、12、などなど。 1197 01:02:19,300 --> 01:02:22,910 >> 涼しいので、我々は間違いなくループのいくつかの並べ替えを使用したいと思うでしょう 1198 01:02:22,910 --> 01:02:27,760 今度は文字のそれぞれを上移動します。 1199 01:02:31,330 --> 01:02:34,580 だからこの時点で、 1200 01:02:36,490 --> 01:02:38,360 私たちはここで私たちの古い擬似コードに戻るでしょう。 1201 01:02:40,970 --> 01:02:42,650 もののこの識別の一環として、 1202 01:02:42,650 --> 01:02:45,350 、大文字で、どれは小文字です 1203 01:02:45,350 --> 01:02:48,340 我々は、ループのいくつかの種類でこれを行うにしたいと思う。 1204 01:02:51,080 --> 01:02:53,390 ループ、コロン。 1205 01:02:55,070 --> 01:03:01,220 何ループの一種、我々が持っているループの種類のうち、 1206 01:03:01,220 --> 01:03:03,670 この場合に使用すると良い一つのようです? 1207 01:03:03,670 --> 01:03:05,610 >>私はforループを考えていた。 1208 01:03:05,610 --> 01:03:07,500 そして、なぜあなたは、forループを考えているの? 1209 01:03:07,500 --> 01:03:10,000 それはゼロから始まり、>>ので 1210 01:03:10,000 --> 01:03:13,000 我々は、文字列の長さに達したとき、 1211 01:03:13,000 --> 01:03:16,170 その後することができ、各反復[聞こえない]は、あまりにも? 1212 01:03:16,170 --> 01:03:18,260 ええ、その通りです。 1213 01:03:18,260 --> 01:03:21,490 だから、ループの異なる選択肢のうち、 1214 01:03:21,490 --> 01:03:25,350 我々は、ループ、do-whil​​eループの中に、forループを持っています。 1215 01:03:25,350 --> 01:03:28,550 ループのために特に有用である 1216 01:03:28,550 --> 01:03:32,120 あなたが知りたい場合です 1217 01:03:32,120 --> 01:03:34,940 あなたがループ内にいる場所の種類、 1218 01:03:34,940 --> 01:03:38,520 ループは、これまでに何回実行されています。 1219 01:03:38,520 --> 01:03:42,490 まさに私たちがこのような状況で知りたいことをどっちが、 1220 01:03:42,490 --> 01:03:44,640 ケリーが言ったように、 1221 01:03:44,640 --> 01:03:47,400 我々は位置を知りたいとシャーロットの以前のコメントのオフに基づい 1222 01:03:47,400 --> 01:03:49,900 文字列内の文字の、 1223 01:03:49,900 --> 01:03:51,750 そしてループがちょうどそれを与えてくれるため、 1224 01:03:51,750 --> 01:03:54,680 なぜなら我々は文字列を振り返る種類で起動した場合、 1225 01:03:54,680 --> 01:03:57,140 我々は0時に私たちのためのループを開始した場合、 1226 01:03:57,140 --> 01:04:00,350 そして我々は、文字列全体の長さを通って上がる 1227 01:04:00,350 --> 01:04:04,740 次に我々は文字Tを関連付けることができます 1228 01:04:04,740 --> 01:04:08,110 ループのための私達に、0を、 1229 01:04:09,950 --> 01:04:13,080 ループのための私達の中では1などと文字H、 1230 01:04:13,080 --> 01:04:16,600 文字列の最後までのすべての道を行く。 1231 01:04:18,810 --> 01:04:21,890 >> だから、このほんの少しのコーディングを開始してみましょう 1232 01:04:21,890 --> 01:04:24,930 ちょうどので、あなたたちは、これがどのように見えるかの感触を得る。 1233 01:04:24,930 --> 01:04:27,980 私は、これを保存するつもりです 1234 01:04:27,980 --> 01:04:31,230 ので、我々は、ここで私たちの擬似コードを持っている 1235 01:04:33,490 --> 01:04:38,120 と私はすべてを削除するつもりです。 1236 01:04:38,120 --> 01:04:42,210 だから私は、白紙の状態を持っています。 1237 01:04:42,210 --> 01:04:45,910 私はint型のmain(void)を書くことから始めてやる 1238 01:04:45,910 --> 01:04:48,440 { 1239 01:04:48,440 --> 01:04:51,380 私は、リターン0を置くつもりだ 1240 01:04:51,380 --> 01:04:53,320 その後}。 1241 01:04:53,320 --> 01:04:56,130 だから、通常、私はプログラムに起動したときに、これは私がから始まるものです。 1242 01:04:56,130 --> 01:04:59,370 私はあなたたちがそれを持っているので、それを保存します。 1243 01:05:06,290 --> 01:05:08,440 だから我々は話を最初のものの一つだった 1244 01:05:08,440 --> 01:05:10,920 ユーザーからの入力を取得する 1245 01:05:10,920 --> 01:05:13,740 と文字列に格納します。 1246 01:05:13,740 --> 01:05:16,420 どのように我々は、ユーザからの入力を取得するのですか? 1247 01:05:16,420 --> 01:05:19,640 >>のGetStringメソッド。 1248 01:05:19,640 --> 01:05:21,870 GetStringメソッドは、すべての権利を留保します。 1249 01:05:23,150 --> 01:05:26,820 私は、getString()を入力しますので、もし 1250 01:05:26,820 --> 01:05:32,150 とセミコロン。 1251 01:05:32,150 --> 01:05:36,630 これを実行してみましょう、これは、まず第一に、実行するのだろうか? 1252 01:05:36,630 --> 01:05:38,430 そして、なぜこれが実行されません? 1253 01:05:38,430 --> 01:05:40,090 >>あなたは、変数を宣言する必要があります。 1254 01:05:40,090 --> 01:05:43,040 私は、変数を宣言する必要があります。オーケー。 1255 01:05:43,040 --> 01:05:45,700 >> だから私はそれをどのように行うのですか? 1256 01:05:45,700 --> 01:05:48,400 あなたはそれを共有し、何かを書いてもいいですか? 1257 01:05:48,400 --> 01:05:51,270 そして、我々はそれを引き出すことができます。 1258 01:05:51,270 --> 01:05:54,630 見てみましょう、ダン、右、大丈夫。 1259 01:05:54,630 --> 01:05:59,100 またはダニエル。コピーした文字列の入力で= getString()を。 1260 01:05:59,100 --> 01:06:01,340 恐ろしい。 1261 01:06:01,340 --> 01:06:02,890 これは実行するのだろうか? 1262 01:06:02,890 --> 01:06:05,210 それを試してみましょう。 1263 01:06:05,210 --> 01:06:08,890 ラン、アップロードのソースコード、建物を直撃し、エラーが発生しました。 1264 01:06:08,890 --> 01:06:11,040 オーケー。 1265 01:06:11,040 --> 01:06:14,950 だから、ここで起こっていただきました! 1266 01:06:14,950 --> 01:06:18,700 宣言されていない識別子 'string'の使用。 1267 01:06:18,700 --> 01:06:22,840 >>我々はライブラリをインクルードする必要がありますか? 1268 01:06:22,840 --> 01:06:25,130 ええ、そうダンのは、我々はライブラリをインクルードする必要があると述べた。 1269 01:06:25,130 --> 01:06:28,270 ステラは、あなたが言おうとしていたかということです?恐ろしい。 1270 01:06:29,450 --> 01:06:31,430 すごいですね、ステラだから、あなたはできます 1271 01:06:31,430 --> 01:06:34,800 ダニエルのスペースが不足し、このコードをコピーしますか? 1272 01:06:34,800 --> 01:06:37,580 あなたはダニエル·ローランド氣をクリックした場合、それをコピーし、 1273 01:06:37,580 --> 01:06:41,360 そしてその後は、includeの行を入れて、それを外に保存されます? 1274 01:06:46,580 --> 01:06:49,360 準備ができたら、私に教えてください。 1275 01:06:57,160 --> 01:06:59,490 だから、これは構文もファンキーの一種である含んでいる; 1276 01:06:59,490 --> 01:07:02,210 、そのハッシュタグのようにあり 1277 01:07:02,210 --> 01:07:05,760 そしてそこに含まれているし、これらの角括弧があります。 1278 01:07:12,490 --> 01:07:15,360 あなたは、これがどのように機能するかを覚えていますか、または私は右ここにこのコード上でそれを置くべきか? 1279 01:07:15,360 --> 01:07:17,850 >>私は良いです。 1280 01:07:17,850 --> 01:07:19,810 オーケー。 1281 01:07:19,810 --> 01:07:23,260 >>私はそれを印刷した - でも、私はどのライブラリがわかりませんでした。 1282 01:07:23,260 --> 01:07:25,570 ああ、大丈夫 - そう、そう、それはCS50ライブラリです。 1283 01:07:25,570 --> 01:07:27,660 >>ああ、私はstdioライブラリを置く。 1284 01:07:27,660 --> 01:07:30,950 >> ああ、それを得た - ええ、いや、that's - 1285 01:07:30,950 --> 01:07:34,380 ので、それは文字列が実際にCS50に特別である何かであることが判明した。 1286 01:07:36,590 --> 01:07:41,240 実際に本当の文字列型ではありません 1287 01:07:41,240 --> 01:07:45,000 右ここにいるので、文字列は、タイプの位置になっている - 1288 01:07:45,000 --> 01:07:49,140 我々は、文字列型の変数と呼ばれる入力を宣言している - 1289 01:07:49,140 --> 01:07:53,320 そして我々は、入力の内側に入れている 1290 01:07:53,320 --> 01:07:58,440 私たちに返される値:このGetStringメソッド関数呼び出しの出力。 1291 01:07:58,440 --> 01:08:02,910 あなたは、これを言うことができ、それが括弧を持っているので、printf関数とまったく同じように、関数呼び出しです 1292 01:08:02,910 --> 01:08:05,920 ただstrlenのように行います。 1293 01:08:05,920 --> 01:08:09,860 しかし、文字列は実際に本当のタイプではありません 1294 01:08:09,860 --> 01:08:11,760 C言語インチ 1295 01:08:11,760 --> 01:08:15,710 我々は、型にそれを作ってきたが、我々はそれが実際に何であるかについての詳細をお願いします 1296 01:08:15,710 --> 01:08:19,000 文字列を操作する方法があるので、C言語で; 1297 01:08:19,000 --> 01:08:22,479 我々はちょうどそれが少し立派に見えるようにする何かをやった。 1298 01:08:22,479 --> 01:08:25,240 >> だからここに私達は行く。 1299 01:08:25,240 --> 01:08:28,439 ここにステラのコードは次のとおりです。 1300 01:08:28,439 --> 01:08:32,470 これは、#含む持っている。 1301 01:08:32,470 --> 01:08:36,390 他の人は、ハッシュのようにこれを呼び出します、時にはやインクルード鋭い。 1302 01:08:36,390 --> 01:08:39,580 今、我々はそれを起動することができ、それを実行し、 1303 01:08:39,580 --> 01:08:43,649 そして我々はまだエラーを取得します。 1304 01:08:43,649 --> 01:08:46,290 何が起こっているかを見てみましょう。 1305 01:08:48,069 --> 01:08:50,569 "未使用の変数 '入力'。" 1306 01:08:50,569 --> 01:08:53,350 わかりましたので、それはクールだ、クールだ。 1307 01:08:53,350 --> 01:08:55,859 私は、それは本当にクールではない、という意味 1308 01:08:55,859 --> 01:08:57,930 我々は、エラーを取得して、それが実行されていないので、 1309 01:08:57,930 --> 01:09:00,410 しかしこれが何を言っていることはつまり 1310 01:09:00,410 --> 01:09:03,130 私たちは、理にかなっている、我々の変数を使用していない。 1311 01:09:03,130 --> 01:09:06,090 我々はそれを使って何かしようとしていない。 1312 01:09:07,819 --> 01:09:10,490 これはその方法です 1313 01:09:10,490 --> 01:09:14,170 Clangのは、私たちがただの変数を使用していないことを確認して助けようとしている 1314 01:09:14,170 --> 01:09:18,819 その後不注意で、それらの私たちの、以降のコードでは何か他のものを呼び出す 1315 01:09:18,819 --> 01:09:21,649 私たちはそのようなエラーを回避するために役立ちます。 1316 01:09:23,130 --> 01:09:28,810 >> すべての権利、私たちは、ユーザからの入力を持っている、 1317 01:09:28,810 --> 01:09:31,910 私たちは、それを変数に格納されている。 1318 01:09:31,910 --> 01:09:34,569 次のステップは、その後にあった 1319 01:09:34,569 --> 01:09:37,609 String内のすべての文字を見て起動 1320 01:09:37,609 --> 01:09:41,830 、どれが大文字でなければならないかを識別する 1321 01:09:41,830 --> 01:09:44,600 、どれが小文字であることになっている。 1322 01:09:44,600 --> 01:09:49,439 とケリーとシャーロットのように育て、 1323 01:09:49,439 --> 01:09:52,340 我々は、このforループを使ってください。 1324 01:09:52,340 --> 01:09:55,520 だから誰もがforループの構文を覚えていない 1325 01:09:55,520 --> 01:09:58,670 とだけ書くことで刺しを取るしたいと思います 1326 01:09:58,670 --> 01:10:03,170 forループの最初の行は、少しだけのために? 1327 01:10:05,740 --> 01:10:07,330 ケリーは、あなたたくそれを試してみる? 1328 01:10:07,330 --> 01:10:10,300 >>ええ、そう、まず初期化する必要があり、 1329 01:10:10,300 --> 01:10:13,170 ので、私は、i = 0を入れて、 1330 01:10:13,170 --> 01:10:15,390 そして私はi 01:10:18,570 それはあなたのスペースになっている - 私はそれをプルアップすることができますか? 1332 01:10:18,570 --> 01:10:21,330 >>ええ、私は少しを台無しにしますが、うん。 1333 01:10:21,330 --> 01:10:24,180 >> さて、のはそれをプルアップすることができます。 1334 01:10:24,180 --> 01:10:26,490 恐ろしい。 1335 01:10:26,490 --> 01:10:29,510 >>しかし、その後、あなたがそれを持っていた場合、私は知りませんでした - 1336 01:10:29,510 --> 01:10:32,180 うん、大丈夫。 1337 01:10:33,020 --> 01:10:36,030 だからここにはケリーのが得たものです:すぐにそれを見てみましょう。 1338 01:10:36,030 --> 01:10:40,290 だから彼女は、上部のCS50ライブラリが含まれている。 1339 01:10:40,290 --> 01:10:44,790 彼女は、上部に標準IOライブラリが含まれている 1340 01:10:45,550 --> 01:10:48,990 および標準IOは、printfのような関数を持っている 1341 01:10:48,990 --> 01:10:51,690 あなたがこれまでにprintfを使用したいので、もし、その行を必要としています。 1342 01:10:53,060 --> 01:10:56,140 そして彼女は、文字列ライブラリを含んでいた 1343 01:10:56,140 --> 01:10:58,200 我々が必要となる、 1344 01:10:58,200 --> 01:11:01,010 文字列ライブラリは、strlen関数を持っているので、 1345 01:11:01,010 --> 01:11:04,320 その我々は少しだけにして取得します。 1346 01:11:04,320 --> 01:11:07,560 だから我々はケリーがここで行われているかを見れば、 1347 01:11:07,560 --> 01:11:10,260 あなたは何をしたかによって私達を歩くことができますか? 1348 01:11:10,260 --> 01:11:13,600 >>ええ、そう - 私が言いたいのは、私は、エラーが発生しました - 1349 01:11:13,600 --> 01:11:15,380 うん、いや、it's - 1350 01:11:15,380 --> 01:11:18,580 >>は、だから、私は単に "文字列"を持った文字列を呼びたかった。 1351 01:11:18,580 --> 01:11:22,230 私は、文字列を出力したい 1352 01:11:22,230 --> 01:11:25,640 そして私 - 1353 01:11:27,450 --> 01:11:30,930 私は、各文字の配列のように文字列を設定するようにしたかった 1354 01:11:30,930 --> 01:11:33,170 異なっている[聞こえない]、右か? 1355 01:11:33,170 --> 01:11:38,080 そして私は位置0で開始したい 1356 01:11:38,080 --> 01:11:40,630 その後、すべての2つのスペース、 1357 01:11:40,630 --> 01:11:42,580 私は活用するつもりだったが、 1358 01:11:42,580 --> 01:11:45,680 ので、私はちょうど私がASCIIテーブルを見ていたので、23として、それを説明。 1359 01:11:45,680 --> 01:11:48,730 だから、それは私が考えていたものだ - 私はそれが右ではないと知っている。 1360 01:11:48,730 --> 01:11:50,920 >> それを得たので、これは素晴らしいスタートです。 1361 01:11:50,920 --> 01:11:54,120 私はフレームワークの多くはここの場所であると思います。 1362 01:11:54,120 --> 01:11:57,500 の1行ずつの種類を通過し、何が起こっているのか見てみましょう。 1363 01:11:57,500 --> 01:12:01,040 だから私はこれをやりたい方法は、単にコードをコンパイルすることによって開始され 1364 01:12:01,040 --> 01:12:04,300 コンパイラが私のコードで何が間違っているように私に教えさせる、 1365 01:12:04,300 --> 01:12:07,450 コンパイラは、コードと間違っているものを伝える時は本当に良いですので。 1366 01:12:09,790 --> 01:12:12,780 我々はそれを再生するのであれば、構築し、それが構築できません。 1367 01:12:12,780 --> 01:12:14,860 これは、エラーがあったと言う 1368 01:12:14,860 --> 01:12:17,320 ので、我々は下にスクロールして最初のエラーを見れば、 1369 01:12:17,320 --> 01:12:20,960 それは言いました - 1370 01:12:20,960 --> 01:12:22,040 私たちは、一番上までスクロールして戻る 1371 01:12:22,040 --> 01:12:26,070 我々は、下部には、ここダウン生成5エラーがあることがわかります。 1372 01:12:26,070 --> 01:12:30,180 おっと、それは本当にカットオフだ。 1373 01:12:31,810 --> 01:12:35,790 私はちょうども良くなることはないだろうと推測します。 1374 01:12:36,970 --> 01:12:38,500 >> ここに私達は行く。 1375 01:12:39,790 --> 01:12:42,530 だから、生成された合計5つのエラーがあります。 1376 01:12:42,530 --> 01:12:45,140 ここで私は、最初の2つのみが表示されます 1377 01:12:45,140 --> 01:12:49,100 ので、私は少しアップこれを移動し、一種のスクロールアップすることができます。 1378 01:12:49,100 --> 01:12:53,220 これは、コードをコンパイルするために実行されたコマンドです。 1379 01:12:53,220 --> 01:12:59,030 その後、最初のエラーはここにfile.cをしていた: 1380 01:12:59,030 --> 01:13:03,300 "'('を識別または予想"、そして、それはこのライン上にあった 1381 01:13:03,300 --> 01:13:06,680 ここで我々は、文字列= getString()を語った。 1382 01:13:07,660 --> 01:13:12,920 あなたは、それがfile.cでの8行目であったことをここに見ることができます 1383 01:13:12,920 --> 01:13:17,230 エラーだ - そして、私はこれは文字12であると信じています。 1384 01:13:17,230 --> 01:13:20,390 ケリー - それでは、8行目で間違ったんだ? 1385 01:13:20,390 --> 01:13:22,810 あなただけの手紙か何かのように、それを呼び出す必要があり>>、 1386 01:13:22,810 --> 01:13:24,400 文字列sか何かのような? 1387 01:13:24,400 --> 01:13:28,250 ええ、そう、それは、これらの特殊タイプ名が判明、 1388 01:13:28,250 --> 01:13:31,770 ように、文字列型、int型、char型、短い、 1389 01:13:31,770 --> 01:13:35,740 彼らは、すべての特別なキーワードだ 1390 01:13:35,740 --> 01:13:38,940 そして実際に、あなたの変数の名前としてそれらを使用することはできません。 1391 01:13:38,940 --> 01:13:41,430 コンパイラは、それを見て、と言うので、 1392 01:13:41,430 --> 01:13:43,680 "ああ、私は、タイプだと知っている" 1393 01:13:43,680 --> 01:13:46,530 ので、実際には、文字列と呼ばれる文字列変数を持つことができません 1394 01:13:46,530 --> 01:13:50,800 ように私はここで何をしようとしているが、これは動作しません。 1395 01:13:52,610 --> 01:13:58,250 しかし、その代わりに、我々はそれをsまたはstまたはstrのような何かを呼び出すことができます。 1396 01:13:58,250 --> 01:14:01,540 我々はまた、それがint呼び出すことができませんでした。 1397 01:14:01,540 --> 01:14:03,740 我々は、int型と呼ばれる文字列を持つことができません。 1398 01:14:03,740 --> 01:14:06,740 我々は、charと呼ばれる文字列を持つことができません。それらのどれも動作しません。 1399 01:14:06,740 --> 01:14:09,420 >> だから我々はちょうどとりあえずsを呼ぶことにします。 1400 01:14:10,630 --> 01:14:13,170 恐ろしい。 1401 01:14:13,170 --> 01:14:17,500 だから、次は何がこのラインで起こっているのでしょうか? 1402 01:14:21,390 --> 01:14:24,350 String - このラインはかなり良さそうに見える? 1403 01:14:24,350 --> 01:14:27,830 のはそれを実行してみましょう。別のtryそれを与えてみましょう。 1404 01:14:27,830 --> 01:14:30,360 わかりましたので、我々はまだエラーが出る。 1405 01:14:30,360 --> 01:14:32,080 今回は、4エラーにダウンしている。 1406 01:14:32,080 --> 01:14:34,350 だから我々はそのうちの一つを得た。 1407 01:14:34,350 --> 01:14:36,130 のは、上に移動しましょう​​。 1408 01:14:36,130 --> 01:14:38,890 "予期しないタイプ名 'string'は:予想表現、"はい? 1409 01:14:38,890 --> 01:14:41,780 私は、文字列に名前を付けるためにしようとしたためだ>>うん。 1410 01:14:41,780 --> 01:14:44,270 我々は今も修正を行かなければならないようにええ、そうに見える 1411 01:14:44,270 --> 01:14:46,560 文字列にこれらの参照のすべて。 1412 01:14:46,560 --> 01:14:50,070 あなたはここで文字列への参照は、ここ1、ここで一つは、そこを参照してくださいすることができます 1413 01:14:50,070 --> 01:14:53,440 ので、我々はsにこれらすべてを移動することができます。 1414 01:14:56,040 --> 01:15:00,930 グレート。さて、もう一度実行します。 1415 01:15:00,930 --> 01:15:03,260 建物は - 別のエラーが発生しました。 1416 01:15:03,260 --> 01:15:06,900 >> さて、今、私たちは、一つのエラーにダウンしている 1417 01:15:06,900 --> 01:15:11,090 そうます。int i = s、さらには角括弧。 1418 01:15:11,090 --> 01:15:14,880 それで、あなたは、あなたがここで何をしていたかについて、私たちにケリーを少しお話しすることができますか? 1419 01:15:14,880 --> 01:15:17,120 >>はい。 1420 01:15:17,120 --> 01:15:19,410 これは、10行目にあった。 1421 01:15:19,410 --> 01:15:22,760 私たちはすべてを必要に応じて>>私は知らない、 1422 01:15:22,760 --> 01:15:25,560 しかし、私は私がしようとしていたと思う - 1423 01:15:25,560 --> 01:15:27,580 あなたが一緒に従うことができますので、私はそれを保存します。 1424 01:15:27,580 --> 01:15:30,470 私はあったと思う>> 1425 01:15:30,470 --> 01:15:33,150 位置0で開始するように指示しようとしている 1426 01:15:33,150 --> 01:15:35,030 ループのための私の冒頭に、 1427 01:15:35,030 --> 01:15:38,370 ので、私は言っては不要だったかもしれないと思います。 1428 01:15:39,690 --> 01:15:41,350 だから要点をまとめると、 1429 01:15:41,350 --> 01:15:44,850 あなたは0の位置でこれを開始しようとしていた - あなたは、このことを言っていた 1430 01:15:44,850 --> 01:15:47,030 そしてこれを取得 - ええ、 1431 01:15:47,030 --> 01:15:50,460 あなたがコードを介して歩いていたとき、私は、あまりにも、早いと思います、 1432 01:15:50,460 --> 01:15:54,070 あなたは配列として文字列を扱うためにはどうしたらよいかということを話していた 1433 01:15:54,070 --> 01:15:57,440 ので、我々は個々の文字にアクセスすることができます。 1434 01:15:57,440 --> 01:16:00,660 私は、配列に文字列を変換しようとすると、あまりにも、ダン言及配列を考える。 1435 01:16:01,400 --> 01:16:03,300 >> それは、ボンネットの下のようなものを判明 1436 01:16:03,300 --> 01:16:06,060 文字列は、実際には、すでに配列として格納され 1437 01:16:06,060 --> 01:16:08,060 とは、配列のようにアクセスすることができ; 1438 01:16:08,060 --> 01:16:12,390 あなたがしなければならないことは、変換はありません。 1439 01:16:12,390 --> 01:16:15,770 文字列isn't - ので - 1440 01:16:15,770 --> 01:16:18,200 文字列は、実際には配列ではありません 1441 01:16:18,200 --> 01:16:21,940 すべての文字が格納されているため、しかし、あなたは、そういうものとしてそれにアクセスすることができます 1442 01:16:21,940 --> 01:16:25,160 右隣同士にメモリ内の1つ、 1443 01:16:25,160 --> 01:16:28,310 ので、文字列の最初の文字を取得したい場合、 1444 01:16:28,310 --> 01:16:31,910 それは、整数の配列の最初の整数を取得することと同じです。 1445 01:16:31,910 --> 01:16:35,010 だから、しばしば - we'll 1446 01:16:35,010 --> 01:16:36,360 2のように参照してください 1447 01:16:36,360 --> 01:16:38,590 ああ、文字列であるとして、配列であるとして、 1448 01:16:38,590 --> 01:16:40,830 それは実際にもかかわらず - 、非常に異なった事をすばらしいスタイル 1449 01:16:40,830 --> 01:16:43,410 しかし、あなたは非常に同じように扱うことができます。 1450 01:16:44,700 --> 01:16:47,400 だから、実際にはこのラインが判明 - 1451 01:16:47,400 --> 01:16:51,270 我々は、任意の変換を行う必要はありません 1452 01:16:51,270 --> 01:16:53,500 そして実際には、 1453 01:16:53,500 --> 01:16:56,790 これは実際には、有効な式ではありません 1454 01:16:56,790 --> 01:16:59,040 これは、コンパイラが私たちに言っているものです。 1455 01:16:59,040 --> 01:17:01,290 それは、ちょっと、それは表現を期待 "と言っている 1456 01:17:01,290 --> 01:17:04,610 と私がここに持っていると、表現ではない何かである。 " 1457 01:17:04,610 --> 01:17:07,310 配列を宣言するには、 1458 01:17:07,310 --> 01:17:11,780 あなたがする必要があるすべては、セミコロンを使ってこのようなものです 1459 01:17:11,780 --> 01:17:15,080 そして、あなたは、あなたがそれになりたいどのくらいの配列を教えて 1460 01:17:15,080 --> 01:17:18,370 5などのため、この10行目 1461 01:17:18,370 --> 01:17:23,880 その中の5つの整数iと呼ばれる配列を宣言します。 1462 01:17:23,880 --> 01:17:26,540 >> これは余談ですが、これはコードは必要ありません、 1463 01:17:26,540 --> 01:17:30,970 しかし、これは - これは、宣言がどのように見えるかのようなものです。 1464 01:17:30,970 --> 01:17:35,310 あなたはどのようにchar型>> iは[strlenは(S)]を使用していないだろう? 1465 01:17:35,310 --> 01:17:38,500 シャアI [strlenは(S)]? 1466 01:17:38,500 --> 01:17:41,500 >> char型iとし、ブラケットは、strlen(S)の内部。 1467 01:17:43,900 --> 01:17:47,710 ええ、そう、我々は可能性 - 1468 01:17:47,710 --> 01:17:49,460 我々は、これを行うことができます 1469 01:17:49,460 --> 01:17:52,160 これは宣言するだろう - これは何をしますか? 1470 01:17:52,160 --> 01:17:55,900 私はそれが配列を宣言するだろうと思う>> 1471 01:17:55,900 --> 01:18:01,780 のような - の - 1472 01:18:01,780 --> 01:18:04,540 ああ、あなたは私を必要としない - ああ、 1473 01:18:04,540 --> 01:18:06,420 ええ、あなたは間違いなく、私を必要としません。 1474 01:18:06,420 --> 01:18:10,250 あなたは文字の配列を宣言する 1475 01:18:10,250 --> 01:18:13,150 長さsの。 1476 01:18:14,680 --> 01:18:16,770 それで何サムズが言っていることです 1477 01:18:16,770 --> 01:18:20,660 この10行目 - 私たちはそれを切り分けることができますので、私はそれと他の部分との間にいくつかのスペースを入れてみましょう - 1478 01:18:20,660 --> 01:18:23,440 この10行目は、配列を宣言する 1479 01:18:23,440 --> 01:18:28,520 それらの価値がある文字は、strlen(s)の 1480 01:18:28,520 --> 01:18:32,270 しかし、我々は実際に、私が必要なのでしょうか 1481 01:18:32,270 --> 01:18:35,710 我々は配列に名前を付ける必要があるので、我々が必要とする理由は、私がある; 1482 01:18:35,710 --> 01:18:38,900 そうでなければ、我々はそれ以降のコードで配列を参照する方法を持っていないでしょう。 1483 01:18:38,900 --> 01:18:41,180 >> だからここにこの権利には、配列名です 1484 01:18:41,180 --> 01:18:43,420 と内側の長さです。 1485 01:18:43,420 --> 01:18:45,010 これは、私たちに配列を渡します 1486 01:18:45,010 --> 01:18:47,430 しかし、これは - 再び、これは宣言です。 1487 01:18:47,430 --> 01:18:50,380 それは代入ではありません、それは初期化ではありません。 1488 01:18:50,380 --> 01:18:52,330 我々はこのように、この配列を宣言した場合、 1489 01:18:52,330 --> 01:18:54,490 配列の内容には何も実際にはありません。 1490 01:18:54,490 --> 01:18:57,490 それはちょうどジャンクだ - そこにあるもの。 1491 01:18:57,490 --> 01:18:59,780 と同じように我々は言った、 1492 01:18:59,780 --> 01:19:01,340 我々は実際にも、この変換を実行する必要はありません 1493 01:19:01,340 --> 01:19:04,810 我々はすでに配列として文字列sを扱うことができるからです。 1494 01:19:06,750 --> 01:19:09,170 私たちは、時間に長いビットを実行している知っている 1495 01:19:09,170 --> 01:19:12,330 だけど、本当にすぐにこのforループに取得したい 1496 01:19:12,330 --> 01:19:14,850 と、配列内の個々の文字にアクセスする方法を示し 1497 01:19:14,850 --> 01:19:17,170 私たちの課題のための鍵だからです。 1498 01:19:17,170 --> 01:19:20,790 そして、我々は、あなたがそこから行こうよ。 1499 01:19:20,790 --> 01:19:24,610 >> だからここで、我々は、forループを持っている 1500 01:19:24,610 --> 01:19:28,310 それはほぼ良さそうに見える。 1501 01:19:28,310 --> 01:19:30,960 何が非常にほとんど存在しないのですか? 1502 01:19:30,960 --> 01:19:33,240 What's - このforループについてはかなり正しいことではないですか? 1503 01:19:33,240 --> 01:19:36,010 >>いいえ中カッコ? 1504 01:19:36,010 --> 01:19:38,420 1には中括弧ない。 1505 01:19:38,420 --> 01:19:42,580 ワナは、我々は、中括弧によるループの本体を持っていることを確認してください。 1506 01:19:42,580 --> 01:19:45,240 おっと、四角括弧ではない! 1507 01:19:45,240 --> 01:19:48,660 そして、我々はこのループを使って行う必要がある次のことは何ですか? 1508 01:19:48,660 --> 01:19:52,640 私はそれを試してみて、実行している場合は、 1509 01:19:52,640 --> 01:19:56,740 私が得ることがこのエラーをいただきました!? 1510 01:19:56,740 --> 01:20:00,990 私はすべてのこれらのエラーを取得する - 私はiを初期化する必要があります。 1511 01:20:00,990 --> 01:20:03,610 グレート。 1512 01:20:03,610 --> 01:20:05,770 だから、これはループになります - これはなかなかありません、 1513 01:20:05,770 --> 01:20:08,680 しかし、それは本当に近くなってきている。 1514 01:20:08,680 --> 01:20:11,260 このコードは、我々は今、実行することができ、 1515 01:20:11,260 --> 01:20:14,620 ビルドすると、エラーが引き続き発生します。 1516 01:20:17,960 --> 01:20:19,800 なぜそれがまだ文句を言っている、 1517 01:20:19,800 --> 01:20:22,030 表現を言って、未使用です 1518 01:20:22,030 --> 01:20:24,600 この行は何もしませんので、それはです。 1519 01:20:24,600 --> 01:20:27,620 我々はどこに保管していませんでした。我々は結果を保存しませんでした。 1520 01:20:27,620 --> 01:20:30,210 ここで、我々はこの結果を保存すべきか? 1521 01:20:30,210 --> 01:20:32,920 >> sまたはiの? 1522 01:20:32,920 --> 01:20:35,990 まさに、このファンキーな構文、 1523 01:20:35,990 --> 01:20:38,550 角かっこでこのs 1524 01:20:38,550 --> 01:20:41,500 sのi番目の文字にアクセスすることを意味します。 1525 01:20:41,500 --> 01:20:45,650 それは課題のために本当に重要なものになるだろう。 1526 01:20:45,650 --> 01:20:48,070 残念ながら、我々はここで停止する必要があるとしている、 1527 01:20:48,070 --> 01:20:50,550 セバスチャンセクションには、入って来ことができるように 1528 01:20:50,550 --> 01:20:53,980 しかし、私は外に滞在した後に満足していると、任意の質問をお受けします。 1529 01:20:53,980 --> 01:20:56,680 だから来て皆さんに感謝します。 1530 01:20:56,680 --> 01:20:59,730 これは、現在、構築、実行、アップロードしてください。 1531 01:21:01,570 --> 01:21:04,320 私たちは、 "hello"のような文字列を入力することができます 1532 01:21:06,570 --> 01:21:08,730 そしてそれは "QOX"を出力します。 1533 01:21:08,730 --> 01:21:11,030 [笑い] 1534 01:21:11,030 --> 01:21:14,640 >> だから、完全ではないですが、しかし移動、これらのループに向かって取得! 1535 01:21:14,640 --> 01:21:18,640 来てくれてありがとう、私は外になります。