[音楽再生] DAVIDマラン:すべての権利。 お帰りなさい。 これは、CS50であり、これは 週に一つは、続く。 だから私たちが渡してきた理由の一つ のような技術の周り グーグルグラスは彼らが来るということです APIとして知られている何か、 アプリケーション·プログラミング·インターフェース。 そして、何この手段が持つということである 右のファイルと権利を持つ マニュアルには、あなたが実際に書くことができます これらのようにもデバイスのためのソフトウェア。 そして、我々に向かって心に持っているもの プロジェクト場合、学期の終わりには、ある Googleのガラスは、言うかもしれませんが関与 アピール、私たちは、私たちが何ができるかわかります いくつかにあなたをフックの観点 代替品のハードウェアだけでなく、 公的にアクセス可能なAPIにはことができるように 実際にソフトウェアの作成を開始 それは、同じGoogleのガラス上で実行されます。 私たちが演奏してきたこと、他の装置 我々はあるかもしれないと思った後半のと 学期の終わりに楽しいです ここで、この小さなもの。 これは、リープモーションと呼ばれ、あなたがいるものです 参照しようとしてすることは技術的に デバイス用の広告、それ この特定のものに話すん 装置が可能である。 そしてそれは、あまりにも、経由してAPIが付属しています あなたは、ソフトウェアを書き込むことができる な方法で自分のコンピュータを制御 かなりここでこの1分の映画が好きです。 [ビデオの再生] [ENDビデオ再生] だから今は、このデバイスははどうなる 少しUSBとして実施すること あなたに差し込むことができるコネクタ コンピュータが、私は驚かないだろう 長い間、我々はこれらの種類のを持って前にあれば パソコンの次のバッチで技術 とMacにはことができるように、確かに、 それとの対話に そのようなやり方。 実際に、私は、あまりにも、私がしたいのかを考えている 私は少しデモを引き上げ このソフトウェアに付属のプログラム。 だから私は少しセンサーを入れてきた 私のラップトップの正面にあります。 そして、あなたが見ることができるように、それが既に実現 私の手がそこにあること それを制御する。 そして、このすべてのアプリケーションがされません このようなトントン拍子ささいなこと。 しかし、あなたは、確かに、それを見ることができます 私はそこに5本の指を持っている。 我々はそれがすべての10を行うために得ることができる場合は、 あなたはきちんとしたピアノを想像することができます アプリケーションなど。 あなたは、クラスの後に出てくるしたいのであれば そのように、今日と遊び さて、あなたはに歓迎され。 学期の終わりに向けて、その上で非常に多くの。 だから、行政のカップル 発表。 一つは、今週の金曜日でセクションを行う cs60.net/sectionで正午。 そのURLは、コースの上にある ホームページにも。 その間には、しかし、スーパーセクション 今週の日曜日デビューする。 スーパーセクションは、一回限りのものです それは私たちに動作するようにいくつかの時間がかかるため どのセクションで、どこで誰がだから。 今度の日曜日だから、1があるだろう それらの少ない快適のためのセクション、 それらのために一つのセクション もっと快適に。 そして、あなたのものは、どこかで の間に行くことを歓迎します いずれかまたは両方またはどちら。 これらの両方が撮影される。 彼らはより大きな講堂になるでしょう セクションでは、通常はインチだろう しかし、ここでの目標は、を身につけることです 問題といくつかの快適さは、1を設定 CS50アプライアンスとC、A、これに あなたがあなたを見つける前であっても週末、 正式なセクションの割り当て。 つまり、あなたのTFとあなた小さく会う 約におけるsectionmatesのグループ 週の時間。 営業時間、その間、 が起こってきた。 または今夜それらを活用して行う ご希望の場合は明日の夜。 問題セット0が金曜日に起因している。 これは後でより日です 木曜日定期的な。 しかし、問題のセット1を使用すれば、表示されます それはいくつかのウォームアップが含まれていること あなた自身と演習 あなたを拡張することができます 金曜日の木曜日締め切り。 問題セット1は、一方、デビューする もちろんのウェブサイトこれが来るで 金曜日には、と丸くしたい場合 それは私は遅い時間に一回行ったように お部屋で金曜の夜。 だからcs50.net/applianceは場所です あなたはCS50アプライアンスを得ることができます 我々は月曜日に使用し始めた。 今日はもう少しそれを使います。 しかし、残りの部分は、問題は1を設定することを保証 仕様では、見ていきます あなたが必要とする正確にステップ それを起動して実行する。 だから、前のことをやって心配しないでください PSET 1あなたではなくではないと思います。 わかりました。 だから私たちは、ソースコードを月曜日に見て しかし新しいのコンテキストで プログラミング言語、すなわちC.およびC、 スクラッチとは違って、グラフィカルではありません。 それは、作品をパズルはない。 これは、より多くの英語のような構文です。 と必要な手順のカップルがあり 実際に書き込み、実行中 なぜならソース以外にC言語でプログラム、 このようなコードは、あなたが何かを必要とする コンパイラと呼ばれる。 と素人の観点から、どのような コンパイラは、私たちのためにするのでしょうか? うん。 学生:それはコードを変換 あなたには、0と1に書き込む。 DAVIDマラン:良い。 だから、コードを変換する 私たちは、0と1に書き込む。 それは、いわゆるソースコードに変換 オブジェクトコード、見えるそのうちの後者 このような小さなもの。 そしてそれはあなたのCPUの内部頭脳だ お使いのコンピュータ、理由の これらのコンピュータを作成した人々、 知っているこれらの配列 0と1の平均値。 多分それは、印刷を意味している。 多分それは追加を意味します。 多分それは減算を意味します。 多分それは、グラフィックを表示することを意味します。 ビットの定義済みのパターンがあります 世界が意味することを決定したことを 特定の物事。 しかし、このコースで、ほとんどの部分は、 私たちは、より高いレベルでうまくいく、と 付与されたために我々はそこに存在していることをみましょう することができますコンパイラのようなもの 私たちのソースコードを機能させる ように我々は意図。 我々は先週初めて書いたプログラムでは、そう そしてそのようにし、ポートに始まった Cこの過去に、話す 月曜日は、これだった。 グリーンフラッグがクリックすると、挨拶。 これは、もちろん、だっ スクラッチで書かれた。 と私は主張している同等の C言語でプログラムが少し見えた このような何か。 だから私は、我々は最初のものです、で何だろうと思っていたのか 最初は、見えるものは別にいじめてみましょう かなり難解なように確かに一見、 構文、しかし、あなたは気づいてから始めましょう 非常に迅速にパターン。 私たちが今日もやることは提供することです あなたのいくつかのためのメンタルモデルと 標準的な、いくつかの標準的な構文 プログラミングした。 そして、我々は実際に我々の手を取得します 同様にいくつかの例で汚れ。 だから、あなたのそれらのためのより快適な、 次のその今週実現し、 今週は非常によく見直しの少しかもしれません。 しかし、特にハッカー版 問題セット1に出る 金曜日にはもちろんのウェブサイトは、私は思います ユーザが入力さえもあなたはそれを見つけることができます 来週か2つ、上にいくつかの空白 あなたは今まで以上取得することから始めましょう 挑戦と遭遇 新しいと新しいもの。 だからみましょう離れて、このプログラムをいじめる 一度に数行。 一番上に、我々は何がある 技術的に呼ばれる プリプロセッサディレクティブ。 これはちょうど言うコードの行です ファイルの内容を含めるには、 - 標準のI / N、標準入力と呼ばれる または、申し訳ありませんが、標準I / O、標準 入力/出力、。H、内部 私自身のプログラムの。 だから、他の言葉で、私はこれを書いた場合 のような単純なテキストエディタを使用してプログラム geditの、より簡単な同等 Microsoft Wordのような、何か 命令は、#stdio.hのを含んで、ちょうどです コンパイラに伝えるつもり、つかむ そのほかのファイルの内容は、stdio.hに、 そしてここに貼り付けます。 さて、なぜ私は気にしますか? 我々は何を主張したのは、このファイルの中にある 保存されているstdio.hに、呼ばれる どこかに私のハードドライブ上、またはこれに 場合、どこかCS50アプライアンスで? 他の誰かが私のためにそこにそれを置く。 しかし、それには何ですか? ええ、そう、それはの宣言だ この関数は、printf関数と呼ばれる。 だから、printf関数のことを想起 ディスプレイの単語や文字や 私の入札の画面上の数字。 しかし、私はそれを書いていない。 CS50はそれを書いていない。 誰かが数年前にそれを書いた、そして、彼ら 本質的に私達にそれのためのレシピを与えた stdio.hに呼ばれるファイルに記録します。 だから、最初の行は、ちょうど私がアクセスすることができます その誰か機能へ の間で、数年前に書いた これはprintfのです。 さて、次の行で私を振っするつもりです 手元に、少なくとも来週まで。 しかし、今のところ、(ボイド)int型の主であることを知っている 本質的にこ​​れと同等の 黄色のパズルピース時 緑の旗はクリックしました。 世界は、数年前に、決めた場合 あなたは、プログラムを書いている Cと呼ばれる言語では、あなたが開始 ラインとプログラム それはそのように見えます。 ちょうど一週間の時間について、それは作ってあげる 感覚何int型は無効とは何か、である。 しかし、今のために、ただそれを考える この黄色のパズルのピースのように。 さて次は、我々は中括弧が続いている 別の近い中括弧によって、 いわば。 そして、私たちは、これらの全体が表示されます C言語でのプログラムと同様に、 JavaScriptとPHP。 そして、これらは単にカプセル化 コー​​ドの関連行。 本質的にオープン中括弧 と言い、ここでいくつかのコードが付属しています。 とある閉じ中括弧、 ただ、他の方向に傾斜 のためのそれの手段、 関連するコード。 したがって、この最初のジューシーな行 このプログラムは、printf関数、最後です 引用 - 引用終わり、こんにちは世界。 そして、私は事の間で呼ばれる 何前回符? だから、文字列です。 と文字列は単なる技術屋です のシーケンスのための用語 文字、単語、フレーズ。 さえ一文字でし 二重引用符で囲む。 しかし、それはゼロの系列だ 以上の文字。 バックスラッシュnを、しかし、見える 少し奇妙。 しかし、それは単に何かを意味し コンピュータに簡単。 バックスラッシュnは何ですか? 新しいライン。 だから、それはただの特別なシーケンスだ 世界が決めたことを文字 手段は、すぐそこに改行を入れて コンパイラは、実際に得られますので、 混乱して、通常は、あなたであれば、非常に 当然のことですが、間違って、単に 入れてEnterを押すと開始 あなたのコード内の新しい行。 あなたは、もう少しする必要がある バックスラッシュnの明示。 そして我々はそのような他のいくつかがあるがわかります 特殊文字のパターン。 例えば、あなたがあなたを聞かせしたい場合 、コーナーケースにさまよう心 私は印刷したいと仮定し ための画面上の二重引用符 何らかの理由で、それがあるように思えるでしょう 少し問題が、正しいかも? ので、私は二重引用符を置く場合 何のための "こんにちは、世界"の真ん中 理由は、なぜそれが見えるん 潜在的に問題? これは、文字列を分割します。 コンパイラはただのプログラムです。 コンパイラのようなプログラムは、ちょうど起こっている 下部にコードトップを読み取るため、 左から右へ。 その代わりに3つの二重引用符を見ている場合 2のために、それは知っていることはないだろう あなたは左側にそのことを意味している場合 文字列、またはするものでなければなりません 右、または全部。 それは曖昧だし、典型的なので、どのような コンパイラが行うのと同じフリークアウトされ、 とあなたにいくつかのエラーメッセージを与え、 あなたは問題に対処する。 だからバックスラッシュnは新しいを意味する与えられた 行、何が今、あなたの本能だろう 含めるしたい場合であることが開始 二重のような変則的な何か これ以外の場合、引用符で囲まれた内部を引用 文字列? バックスラッシュ二重引用符。 そして我々はこれを表示されます あまりにパターンの一種。 あなたは少し何かをしたい場合 奇妙な、あなたがそれを見つけることができます ソリューションは、多くの場合、パターンに従う とバックスラッシュ エスケープシーケンスを示している。 そして、それだけで何か特別なことを意味します 我々はに表現する必要があること 別の方法。 あなたが表現するにはどうすればよい場合と スラッシュ、まあ、我々はよ それに戻ってくる。 しかし答えは、あまりにも、実際には ビット明白。 それでは、現在いくつかの他のをご紹介しましょう プログラミングコンストラクト あなたは、スクラッチで見た。 あなたは、おそらく当然の撮影した すでにに飛び込んき既に場合 問題は、0を設定します。 しかしそれではC言語での構文を紹介させて これら以外の場合、かなり直感的なため アイデアは、そのうちの少なくともいくつか。 したがって、この条件の概念や 以前に我々に対し、支店、 見えたコードとそれを表現 スクラッチの左側のこのような - xがyより小さい場合には、そのように言う - 代わりに、今、Cで - 私が磨くせ 最も単純なケースでで - オープンであれば、我々は単に、言おうとしている 括弧は、何かが真である - ブール式は行くために起こっている 私は条件を言ったところ - 閉じ括弧は、その後何か それらの中括弧の内側。 だからここに、あまりにも、中括弧 スクラッチのような種類のものである U字型のパズルのピース。 これらの中括弧の内側に何でください。 このケースでは、スラッシュをスラッシュ。 そして、これが前方であることがわかる スラッシュ、バックスラッシュではない。 フォワード、スラッシュ、スラッシュ プログラムされた人のために 前に、ただ意味 - それだけのコメントだ。 コメント行ではない コー​​ドは、それ自体。 それはあなた、英語のラインだ 人間、自分自身にに書かれている 多分に、何かをすることを思い出さ に説明し、自分自身に説明 他の誰かが、あなたのコードが何をやっている。 それだけで説明するコメントです。 現在、もちろん、我々は、双方向を有することができる ただこれを行うことにより、道路の分岐点、 行って、道路の3ウェイフォーク この、そしてあなたがこれを続ける場合 パターンは、十字を有することができ、 道路の5ウェイ、6ウェイ·フォーク場合 あなたは、確かに、処理する必要が 多くの条件という。 そして、ここで並列に気づく - 、他の(条件)であれば、(条件)であれば と少しだつだけ 奇妙が最後であり、その ちょうどそのほかにある。 しかし、再び、これは、同一である 概念的には、私たちが何をやったかに すでに、さえ構文はするものの に慣れて少し時間がかかる。 さて、この例では、ある 他のいくつかの奇妙な構文。 我々は、再びprintfの開き括弧を参照してください、 と閉じ括弧。 との内部がある 引用符で囲まれた文字列。 文脈における括弧、 printf関数で、左に行く と右何の? 我々は、引用符で囲まれていることは何を記述しない より一般的に、文字列? だから、引数です。 いつでもあなたのような機能を持って printfは、その後開いた括弧と 近く括弧と内側の何か それ、それが文字列であるかどうか、または 整数、または何か他の、事で これらの括弧が呼び出される間 引数。 と引数は、単に影響を与える 関数の動作。 この場合、それはどのように非常に明らかだ。 X