>> [音楽再生]
DAVIDマラン：みなさん、こんにちは。
これは、CS50のスーパーセクションです。
割り当てられたセクションはしません 別の週に開始します。
だから、今日、私はここにいますよwith--
>> MARIA：マリア。
DAVIDマラン：実際--to 問題を見てみましょう
1、コースの設定 材料の最初の数週間、
あなたはCS50のIDEに慣れる、ビット Linuxでは、のオペレーティングシステムの
IDE上で実行されているだけでなく、 移行のいくつかを見て
スクラッチからCのリーディングへ 問題まで1を設定します。
>> だから、難しい話は抜きにして、 問題で、次のいずれかを設定します
あなたがすることになるだろう CS50 IDEに導入します
このWebベースのプログラミングで 私たちは順番に使用する環境
プログラムを作成します。
それは非常に見えるように設計されています 典型的なコンピュータを思わせます
オペレーティングシステムを実行しています Linuxのと呼ばれるシステム。
しかし、それは、いわゆるクラウドでです、 どのクラスの全員を意味
実際に彼または彼女を持つことができます 自分のアカウントと同様に、それを使用しています。
>> だから、あなたのほとんどは、おそらく使用したことがありません 前またはおそらくLinux環境
でもコマンドライン環境。
また、コマンドライン 環境が異なっています。
これは、すべてのテキストです。
これは、すべてのキーボードコマンドです。
そして、それはマウス操作、アイコンなしません、 何の対話の窓なし、メニュー。
それは純粋にテキストです。
したがって、最初に、それ種類 ステップのように感じています
後方洗練の点から好ましいです。
しかし、それは多くなってしまいます より強力な、確かに、
最終的には、コンピュータ科学者のために。
>> それでは、見てみましょう。
ここで私はこれを介して、CS50.ioで午前 あなたはCS50 IDEにログインすることができます。
そして、多くのスクラッチのように、あります この画面には3つの主要分野。
そのように左側に、我々は 何がファイルブラウザになります。
そして、このフォルダはであります 今空である上、
私はすべてを処分したので、私の スーパーセクションの前にファイル。
そしてそれはどこに私たちがよです 私たちが書くCファイルを保存します。
右上に、私たちはどこの場所を持っています 私たちのすべてのコードが書かれた取得するつもりです。
そして実際、私はこのプラスをクリックすると、この 私は新しいファイルを選択できるようになるだろう。
そして、ここで私は、またはCのコードを書き始めることができ、 本当に、他の言語の任意の数。
>> そして、一番下にある場合は、それ jharvard @ ide50--とあなたと言っています
少し何かを言います different--これは何と呼ばれていましたか？
ターミナルウィンドウを開きます。
うん。
だから、ターミナルウィンドウがあります いわゆるコマンドライン
あなたが対話できるするためのインタフェース 基盤となるオペレーティングシステムと。
そして今のところ、我々はするつもりです this--はほとんど利用して
ただで見て、コンパイルします 私たちが見るのエラーメッセージ、
私たちのプログラムを実行します。
しかし、最終的に、我々はつもりです 同様に、そんなに多くすることができません。
そしてあなたも、ソフトウェアをインストールすることができます そして、ワークスペースの管理
CS50 IDE内で、同様に。
しかし、いくつかの他の時間の詳細。
>> それでは、先に行くと書いてみましょう ちょうど非常に簡単なプログラム
のウォームアップを通過します おそらくあるのhello.c、
私たちが書くことができる最も簡単なプログラム。
私はすでに新しいタブを開きました。
私は先に行くつもりだと 標準io.h.含ま言います
そして、メイン（ボイド）int型。
そして、printfの（ "こんにちは、世界" バックスラッシュnは、近くの引用、
近い括弧、セミコロン。
>> 大丈夫。
だから今、私のウィンドウが無題で気づきます。
だから私は非常に迅速に行きますよ ファイルに上がるために、保存してください。
そして、それはすることが重要です 私は「こんにちは。」これを呼び出していません
だから、非常によくある間違い、 特に問題には、次のいずれかを設定します
誤ってちょうどあなたを呼び出すことです プログラム「水」や「貪欲」や「マリオ」
または「クレジット」など。
しかし、あなたが実際にしたいです あなたはファイル拡張子を持っていることを確認
これは、唯一の方法であるため、 コンパイラと、コードエディタ
あなたがいることを知っています 実際にはCのコードを書きます。
だから私は先に行くし、[保存]をクリックしてみましょう。
>> そして今、あまりにも、何CS50 IDE 私たちのために行っていることもあるのです
構文はすべてを強調しました。
だから、すべてが非常にカラフル作られています。
との全体の目的 それが機能していません。
それはに私の目を描画するだけです 概念的に異なる部分
このプログラムの。
それでは、先に行くと、これをコンパイルしてみましょう。
そして、私はこれをコンパイルすることができます いくつかの方法です。
そして、1週間で、 私たちがやった古い学校の道
それは文字通りでした コマンドline--「打ち鳴らすのhello.cの。」
そして私は、Enterキーを押します。
そして、何も起こらないようで ターミナルウィンドウに表示されます。
しかし、どのようなIDEで変化したのか？
ここで、再び、IDEはちょうど意味 統合開発環境。
これは、というのがファンシーな方法です この統合開発
ソフトウェアを開発するための環境を提供します。
それでは、UIに変更しましたか？
あなたは何に気づきました それは、マリア違いますの？
>> マリア：私は何かに気づきました ここまでIDE50フォルダの下に。
>> DAVIDマラン：うん。
だからここまでだけではなく、 我々が持っている "のhello.cを。」
また、ある "、a.outの"を持っています プログラムのダムの名前のようなもの。
しかし、確かに、それはのデフォルト名です あなたは自分のコードをコンパイルするプログラム
コンパイラを教えていません 出力にどのファイル。
だから私はこれを実行したい場合、私は compiler--に伝える必要があります
か、私のようにする必要があり 私のワークスペースを伝えます
呼ばれるプログラムを実行したい」のa.outを。」
入力します。
そして、こんにちは」あり 世界。 "今" ./ "。
実際に重要です。
いっても普通は我々 コマンドの名前を書き、
とき、それはあなたがしたプログラムです 書かれて、あなたは "./"を言いたいん
それが明示的にLinuxを伝えるため、 あなたはと呼ばれるプログラムを実行すること
この中の「のa.out」、ドット 私は現在よこのディレクトリを意味
であることを起こるで、 「a.outの、ワークスペースと呼ばれます。
私が今言っている場合ので、「a.outの、」と入力し、 私は、コマンドa.outを「ない取得するつもりです
「なぜならcomputer--発見 私が発明したため、「a.outの。」
それはcomputer--が付属していませんでした どこにあるかを知ることはありません、
それが正しいのにもかかわらず、 私の鼻の下で、いわば。
OK。
だから我々は、これを変更することができます 「こんにちは-o打ち鳴らすのhello.c。」であります
そして、私は入力してヒットした場合、どのようなプログラム これは私のために出力するように起こっていますか？
ファイルの名前は何ですか？
うん、戻りました。
そのとおり。 "こんにちは。"
だから、「こんにちは」になるだろう プログラムの名前
我々が使用してきたので、いわゆる ちょうどであるコマンドライン引数、
の動作を変更する方法 実際に出力するコンパイラ
特定のファイル名。
そして実際、私がズームインするとき、 うち、ここまで見て、
今私は、 "a.outの"だけでなく、を持っており、 同様に「hello.cの "だけでなく、「こんにちは」。
だから今私は、 "./hello、「入力を行うことができます。
そして、 "こんにちは、世界。」あります
しかしlastly--この 今大会になります
我々は全体で使用します 学期、typically--
あなたも、単に言うことができるである「ハローを作ります。」
そして実際、それはアップだと言っています 日付にはすでに存在しているため。
私が先に行くとして、削除してみましょう rmコマンドは、両方の "a.outの」 -
そして、言う「通常のファイルa.outを削除？ "
そのちょうどあなたが、していることを意味 あなたはそれを削除してもよろしいですか？
私はそう言うつもりです。
そして私は削除するつもりです 「こんにちは」ではなく「hello.cの。」
私は、明示的に "はい"と言うつもりです しかし、「Y」は同様に、十分なものです。
>> 私ならばそして今気付きます 、ls--れ、リコールを入力
それがすべて一覧表示されますlist--意味 私のフォルダ内のファイルの。
そして実際、私がズームインするとき、 アウトと左上を見て、
それは何だことを確認します このフォルダ内に、偶数
それがここまでIDE50と名付けていても そして、ではないワークスペースは、それだけで「hello.cの。」です
だから今ダウンここで、私の場合 入力して「こんにちは、作る「ん、
今、私ははるかに長いコマンドを参照してくださいが、 起こっているのより洗練されたコマンド
来て週に有用であること。
そして今、私は「./hello。」と言うことができます
>> それでは、クイックツアーを見てみましょう いくつかの他のLinuxコマンド。
なぜ私たちはステップを取ることはありません 背中と実際にそれ以上のCを見て
一般的に、スクラッチからの移行 Cに、その後表情で結論
最初の問題で Cに設定したすべての権利。
だから私は先に行くつもりだし、ちょうどきれいな コントロール-Lだけで自分のワークスペースアップ
きちんとした画面を維持します。
しかし、それは何の機能を持っていません そうでなければ影響。
>> 私たちが見てきたことを思い出してください 今いくつかのコマンド。
だから我々は、一般的にあなた打ち鳴らすを、見てきました もう手動で実行する必要はありません。
我々は、代わりにメイクを使用します。
しかし、我々はまた示している、LSを見ました 私のディレクトリ内のファイルのリスト。
そして今、なぜthere-- 2がありますされています 今ファイル、「こんにちは」と「hello.cの。」
なぜスターやがあります 「こんにちは」の後にアスタリスク？
それがベースの、何を意味しました 私たちは週1で見たものに？
どう思いますか？
星は何を意味するのでしょうか？
>> マリア：「こんにちは」プログラムFor--？
DAVIDマラン：「こんにちは*」。
うん。
そうそう？
ああ、実行可能。
そのとおり。
だから、ということを意味 「こんにちは」の実行可能です。
だから確かに、それが理由です 私は「./hello」を行うことができます
大丈夫。
だから私はここで他に何ができますか？
まあ、それは私ができる判明します また、ディレクトリを作成します。
だから私は先に行くと作成することができ、 例えば、「PSET1 "ディレクトリ。
そして、問題セットの仕様 あなたは正確にこれを行う必要があります、
だから、今日は覚えておく必要はありません。
しかし、 "は、mkdir PSET1は「そうです 影響はありませんします。
しかし、再び、エラーメッセージありません 一般的には良いことです。
だから私は、ああnow--今の "ls"と入力した場合 私はと呼ばれる実行可能ファイルを持っています
いわゆる「ハロー、「Cファイル」のhello.c。」
そして、最後のスラッシュにそう 話す、これがディレクトリであることを意味します。
>> だから確かに、今私はそれを開きたいです。
そして、私は次のようにそれをダブルクリックしないでください GUI、グラフィカルな環境インチ
私の代わりに「CDのPSET1を。」と言います
入力します。
面白いものは何も持っていないようにみえ 私の小さなプロンプトを除いて起こりました
here--これは思い出させるのリナックスの方法です 私はどこに私は、だから何のフォルダは、開かれています。
それはちょうど、明示的に私に言っています グラフィカルとは対照的です。
私が入力した場合と、「lsと、「なぜ私は別のものを見ています すぐにプロンプ​​ト、あなたは思いますか、
私はPSET1の内容を一覧表示するとき？
MARIA：あなたはおそらくありません そこには何も持っています。
DAVIDマラン：うん。
それでは、私たちは明らかに持っていません そこには何も作成
私はディレクトリを作成したので。
今、私はのためのfile--を作成したい場合 例えば、私は、新しいファイルを作成することができます。
そして私は、に行くことができます 保存してとして保存し、
以下のように、「mario.c "あなたがやっている場合 PSET 1の標準版。
そして、すべてのMacまたはPCのような、ちょうど フォルダ "PSET1を選択し、保存します。
そして今、ファイルは空です。
しかし、ここでは第二のために再度ズームインしてみましょう。
のがここでのlsを実行してみましょう。
今、私たちは「mario.c」を参照してください。
>> だから、他のいくつかのコマンドがあります time--上で念頭に置いて価値があります
明確な、またはControl-Lは、私がきたものです 打撃されました。 MKDIR我々は見てきました。
RM我々があるだけでなく、見てきました 削除するか、ファイルを削除します。
あなたがalso--でき用心、あなたが見れば オンラインチュートリアルでは、あなたは-rf RMます
のが非常に一般的な方法です それで何かを持っているフォルダを削除します。
ただ、超慎重に、スーパーです。
-rfを再帰的意味します それが何であれ、削除
あなたは、削除しようとしています そして、強制的に削除します。
それが付いたフォルダだのであれば、再帰的な手段 フォルダのフォルダのフォルダ、
それらのすべてを削除します。
そして、強制的にいなくても行うことを意味 はい私に尋ねるか、いや、私は確信していますか？
だから、の超危険な方法です 迅速なものの多くを削除します。
しかしbeware--あまりにも頻繁に勇敢を行います 学生誤って言う、削除、PSET
例えば1、。
>> MARIA：そして、ちょうど彼らの場合 -r行う、彼らが行っています
すべての単一のファイルについて、それらを依頼します。
>> DAVIDマラン：あり 適度に迷惑。
>> マリア：ええ。
>> DAVIDマラン：だからそれが理由です 私たちの多く、自己が含まれ、
-rf使用しての習慣にしています。
しかし、それは危険です。
だから、買い手はご用心します。
そして、MVは一種のです 興味深いことに命名。
だから、これは移動コマンドです、 これは少し奇妙な感じ
あなたは確かにそれを使用することができますので、 ある場所から別の場所にファイルを移動します。
例えば、私が台無しにしたとします。
私が作成したとし PSET用の新しいファイル。
そして、私はとしてそれを保存」greedy.c。」
しかし、私は誤ってそれを保存するとし IDE50--で非常に私のワークスペース自体に
そして、ではないPSET1インチ
>> あなたは、左上の多くを見ることができます。
「greedy.cは。」あります
そして、いくつかのソリューションがあります。
そこで一つは、私が使用することができます スーパーユーザーフレンドリーな方法
ちょうどドラッグしてドロップします。
そして、それは実際に希望 この問題を解決します。
しかし、今日、私たちは見しようとしています もっと難解だが強力な方法
これを行います。
だから、私はPSET1に「LS」を見てみましょう。
そして、私は唯一の "mario.c」を参照してください。
私が先に行くと、やってみましょう "CD .."。
だからCDは再び変更ディレクトリです。
".."しかし、何を意味しますか？
前回私が言った「CD PSET1に入るPSET1」。
私は "CD .."と言うときに、私は何をやっていますか？
後方。
うん。
>> だから、いわゆる親になるだろう。
同様に、1レベル上を行きます フォルダの外に出ました。
だから入力してください。
そして実際、それが何をしたかに見えます。
それだけではなく、ワークスペースに私を移動しました ワークスペースにあるPSET1、へ。
そして今、私は「LS」と入力した場合、 ものの全体の束があります。
「greedy.c」があるで。
だから今私は、文字通りにMVを使用してみましょう PSET1に "greedy.c」に移動。
だからLinuxの多くのコマンド まさにこのように動作します。
彼らは、引数を取りませんまたはそれらは1を取ります 引数またはそれらは2つのコマンドラインを取ります
引数など。
この場合には、です 文字通り何をしています
それはsuccinctly--いえ、言います PSET1にgreedy.c移動。
入力します。
何も起こらないようで。
私は再びlsコマンドを実行した場合でも、貪欲がなくなっています。
そして、私は「CDのPSET1」を行うと、入力し、 LSは再び、今では適切な場所にあります。
さておき、のためかのように いくつかは、特にreason--
あなたが断続している場合 ネットワークの接続性
またはあなたの周り歩いています あなたのラップトップの蓋付きのキャンパス
閉じられた後、それを開きます もう一度とワークスペース
やや同期、大したことないからと思われます。
ちょうどあなたのブラウザをリロード 窓、それはする必要があります
再同期するように左側 ファイルブラウザが正確に見えます
ターミナルウィンドウのように。
心配しません。
疑わしい場合には、そのように、ページをリロード 限り、あなたはすでにファイルを保存してきたように。
OK。
だから、mvはまた、ファイルの名前を変更するために使用することができます。
そしてのは、見てみましょう ここで、この最後のコマンド。
だからsuppose--これがあります スーパー共通の、あまりにも、早い段階で。
一部の学生は時々ファイルを作成します 呼ばれる、のは、別の何say--てみましょうか？
「WATER.C。」のように
だから私はちょうどのために、叫びますよ すべて大文字でない理由はなく、。
しかし、これではありません ファイルの正しい名前
私たちの問題は、設定だけの理由であれば 仕様は言いませんでした
すべて大文字のファイルを保存し、「WATER.C。」
その代わりに、私たちは期待して 小文字で「water.c」。
そして、実際には、これは 問題check50ため、
あなたが行っているプログラム 問題での出会いを求めています
自動テスト1を設定 あなたのコードの正しさ
それができない場合は大声で叫ぶために起こっています すべて小文字で「water.c "を見つけます。
>> だから私はこの問題を解決する必要があります。
するので、多くの異なる方法 この、そのうちの最初の操作を行います
Controlキーを押しながらクリックまたは右クリックすることであろう ファイル名だけ名前の変更]を変更します。
それを行うには全く罰金。
しかし、再び、今日、してみましょう それは少し手の込んだ行います。
のが変更にMVを使用してみましょう 「WATER.C "" water.c。」
だから、また、最初の引数を使用することができます 第二引数に名前を変更します
二番目の引数はでない、ある場合 事実、フォルダまたはディレクトリ名。
>> 大丈夫。
そして最後に、私はではほとんどtrick--です 現時点では私のワークスペースディレクトリ。
私はPSET一つに取得したい場合は、 私は確かに「CDのPSET1」を入力することができます
しかし、それは「PSET1」を入力するので、面倒ですか 長いファイル名やディレクトリ名
まだ。
だから、非常に多くの場合、Linuxでは、どのような あなたが行うことができ、「PSE」を入力し始めるです
ちょうど、Tabを押し、退屈としましょう コンピュータがあなたのためにそれを把握します。
その習慣を身に取得するスーパー便利。
あなたが持っている場合にのみキャッチです 複数のファイルやフォルダを開始
文字 "P"を持ちますか 「PS、 "あなたが持っている可能性があります
前に数より多くを入力します コンピュータが何をすべきかを知っています。
>> マリア：私たちはショートカットが好き。
>> DAVIDマラン：この意志 あなたに多くの時間を節約できます。
そしてまた、私たちは、講義であなたを言ったように 上下、歴史の中で上にスクロールすることができ、
最近実行された見つけるために、 コマンド、および。
大丈夫。
だから今、私たちの注意を元に戻すましょう 簡単なプログラム、こんにちは世界へ。
だから我々は、まさにこのことをまとめました。
そして今、なぜ私たちが取ることはありません データ型を見て
そして、し、いくつかの移行 Cにスクラッチ対応するブロック
MARIA：素晴らしいです。
だから今、あなたが開始したこと C言語でプログラムを書いて、
我々は話を開始するつもりです データ型と変数について。
そのあなたので、いくつかのデータ型 今始まる知りたいでしょう
あるものです 青色で強調しました。
だから我々は、最初にint型を持っています これは整数を示します。
そして、それはあなたのように、整数を保持しています 場合がありますのでguessed-- 1、2、3、
任意の他の整数 あなたが考えることができます。
>> DAVIDマラン：そして、陰性。
>> MARIA：そしてまたネガティブなもの、うん。
そして0。
その後、我々は、フロートを持っています 浮動小数点数です。
だから、すべての実数です それは、小数点を持っています。
だから5.0、5.2、さらにより 小数点以下の桁、
同様に、また、ネガティブなもの。
その後、我々は文字で文字を持っています。
だから私たちはについて話だと思います この講演で、今日。
しかし、我々は、example-- Aの文字を、持っています charとして保存することができ、B、C--。
しかし、その後、私たちはより多くのシンボルを持っています それは、charとして格納することができます。
そして、それらは、ASCIIとして保存されます。
>> そして、我々は、ブール値を持っています、 これはブール値です。
そして、それらがTrueに評価したり、 それぞれFalseまたは1と0。
DAVIDマラン：そしてそのリコール ブール値CS50ライブラリから来ています。
だから、それがに組み込まれていません Cが、それは超便利です
真と偽の概念を持っています。
とにもかかわらず、あなた 楽しい事実をthink--可能性があります。
ブール値は、技術的にどのように多くのビットを必要とし、 本当に、偽対真表現しますか？
あなたはどのように多くのビットだと思います あなたが最大限に、必要でしょうか？
うん、ただ一つ。
だから、Cことが判明 あなただけの1ビットを与えることはできません。
測定の最小単位 あなたは8です得ることができます。
だから、彼らはあなたがしている少し無駄です 全体バイト、または8ビットを使用して、
TrueまたはFalseを表します。
しかし、それは、それはちょうど方法です CS50ライブラリでC言語で実装されています。
マリア：私たちはしていて、その後のもの 広くについて話をするつもりはありません
右ダブルnow--、 それは大きなフロートのためです。
ロングロングとショート 整数のもあります。
DAVIDマラン：確かに。
PSET 1のハッカー版では、 私たちは実際に長い、長い使用しています。
しかし、標準版のために、 それは必要ありません。
MARIA：クール。
OK。
だから、あるべきですoperators-- これらのほとんどは、おそらくお馴染み。
加えて、+。減算、 - 。
乗算のために、我々は*を持っています。
そうではない私たちが通常使用し、X。
部門は、我々は、バックスラッシュを持っています。
そして、モジュロは、私たちの最後のオペレータであります 私たちは今の話をしようとしています。
それは私たちがすることができ、オペレータの 除算の余りをとります。
我々は4％を持っている場合は2、4分割されたので 2で0の残りと2です。
だから、4％2が0です。
4％3は1です。
あなたが推測している可能性として4〜5％は、4です。
これらの全てを使用する場合に覚え PEMDAS規則を使用する事業者。
>> DAVIDマラン：あなたのであれば、明確にするために 4％2の操作を行い、なぜ正確に、その0のですか？
>> MARIA：4で割ったので 2 0 2で、余り。
だから、剰余は私たちのように、その残りを与えます 除算の結果に反対しました。
DAVIDマラン：そして実際、 私たちは、この便利を見つけることができますどのような
以下のためのいくつかの問題で、それはあります それは、必ずしも1ではありません
あなたが持っているしたい場合 自分自身を制限する効果
番号の範囲に 何かを通じ0のような、
あなたの周りラップする剰余を使用することができます 以前の20億様より
または40億価値こと 私たちは、講義での話をしました。
>> マリア：ええ。
とにも私達はかもしれない「貪欲」です。
DAVIDマラン：はい、で 問題は、同様に、1を設定します。
マリア：ええ、素晴らしいです。
DAVIDマラン：良いヒント。
MARIA：申し訳ありません。
ブールはそうexpressions-- ブール演算子の場合、
我々はについてのすべての話をしようとしています これらのことから、あなたはここを参照してください。
だから今、私たちは2を持っています 等号はイコールにリストされています。
だから、それらは、比較のためのものです。
これまでのところ、私たちは、1つは等号を見てきました。
我々が割り当てたときです 変数に値。
だから我々は、その後、int型のn = 5見てきた場合 私たちは、変数nに5を割り当てました。
しかし、我々はのために==を使用する場合 比較は、我々があれば、n個の== 5を確認することができます。
N == 5あれば、それは本当です。
>> だからブール演算子 基本的に、私たちを許可し、
ブールを評価します TrueまたはFalseに表現。
だから私たちが持っているequals--ありません 感嘆符とequals。
だから我々はまた、Nかどうかを確認できました 等しくない5--のでN！= 5。
より小さいか等しい、より少ないです、 より大きいか等しい、より大きい、
し、我々は論理を持っています ANDと論理OR。
そして、それらは、私たちを評価することを可能にします 一緒に複数のブール式
基本的には一緒に来て 1全体のブール式。
私たちは番号を検索したいのであれば、言います それは、5よりも大きいが、15未満
同時に、我々が使用します nがあるかどうかを確認するために、論理AND演算子
5より大きい&& nは15未満です。
DAVIDマラン：そしてここで、 あまりにも、それは本当に簡単です
早い段階での偶然 単に1つのアンパサンドを使用します
または単一の垂直バー。
そして、うまくいけば、コンパイラは、意志 なぜなら、彼らは実際にあなたに叫びます
非常に異なった意味を持ちます。
好奇心旺盛な人のために、彼らがしています ビット単位の演算のために使用さ
個々のビットで動作します。
しかし、あなたはここではそれらのペアをしたいです。
そして、超重要なことです 最初の1、等号、
等価演算子としては、これは 代入演算子に反対しました。
>> MARIA：そして垂直バーがあります 削除と復帰の間に位置します。
DAVIDマラン：はい。
典型的なUSキーボードで。
>> MARIA：うん。
それでは、右にジャンプしましょう 条件文。
スクラッチでは、あなたがきました すでに見た、おそらく、
あなたができるようにするif文 何かが真であるならば、チェック
何か他のことをします。
だから、と思っているかもしれません あなたのスプライトがあるかどうかを確認してください
他のいくつかのスプライトに触れます または画面の境界線。
それから、あなたがしたかったかもしれません ゲームを終了するか、他の何かをします。
そのための構文そう 「IF（条件）」です。
だからあなたのスプライトが何かに触れている場合、 その後、中括弧の中にあるん。
>> その後、我々は、if-else文を持っています。
そうでなければ、私たちが何かを行うことができます 私たちの条件の場合
冒頭でチェックすることは真実ではありません。
スプライトが触れているのであれば ボーダー何かを行う他、これを行います。
だから、そうでない場合は、他の何かをします。
その後、我々は、このために、短い例があります。
もしそうであれば（military_time <12）、我々 printfのしたい "おはよう！"
それ以外の我々はするつもりです printfの "こんばんは！"
基本的な例。
>> DAVIDマラン：良いです。
>> MARIA：クール。
だから今、私たちはswitch文を持っています。
一般缶内のステートメントを切り替えます 私たちは同じことの多くを行うことができ
私たちは話をしたこと if文で約。
例えば、今私たちが持っています switch文の一般的な形式
それは、私たちが取ることができます Nと呼ばれる変数
そして、多くのと比較 ここで異なる値、
constant1、constant2と呼ばれています。
我々はより多くを有することができます。
そして、それらのケースと呼ばれます。
>> だから我々は、スイッチを持っている場合 statement--この作品
のみintegers--のために我々が持っています Nです。この場合の変数。
変数nがある場合 私たちは、constant1に等しいです
コー​​ドのいくつかのスニペットを実行します または私たちがやりたい何か。
そして、我々は壊れます。
だから、ブレークがあることを意味 switchステートメント
場合実行を停止します nが、constant1に等しいです。
して、あなたのプログラムは続行されます。
それは外に終了します switch文とそれ'LL
何かをし続けます。
>> しかし、nが等しくない場合 その後constant1、constant2用ケース
チェックされます。
だから、nが、その他のconstant2に等しい場合 コー​​ドのスニペットが実行されます。
そして、それは破りますよ それはそれと等しい場合。
そして、我々はないalso--持つことができます 必ず、デフォルトのケースをthough--、
nが等しくない場合に起こるであろう あなたがリストされているのいずれかの場合。
そして、デフォルトの場合には、我々も 必ずしもブレークを必要としません
switch文は知ってますので、 それはデフォルトの後に終了する必要があること
その場合はケース。
>> DAVIDマラン：しかし文体、 私たちは常にそこにそれを置きます。
>> マリア：ええ。
>> DAVIDマラン：うん。
だから始め場合は特に、 特にうち少ない場合
快適な、私は個人的でしょう ちょうどIFSにこだわるお勧めします
およびIFS-よそとのif-else-IF-よそ などの場合のみ
彼らは少しだから より簡単。
これは素敵な最適化である、または 時には審美的にそれ
コー​​ドをより読みやすくなります。
そして、実際には、おそらく 我々は問題を参照してくださいよ半ば学期
それだけで良く見える場所を設定 そして、簡単に人間が読むには
switchステートメントを使用します。
しかし、心配しないでください あまりにも早くこれにしがみつきます。
>> マリア：ええ。
あなたは、if文がたくさんある場合は、 それだけで非常に読みやすいではないかもしれません。
それは非常に高速ではないかもしれません あなたはそれを通過するため。
そうすることができますステートメントを切り替えます 同様に、非常に便利です。
そしてまた、ないremember--ません そこにブレークを置くことを忘れています。
>> DAVIDマラン：これを覚えていません。
>> MARIA：あなたが落ちる可能性があるため 別のケースから。
それでは、そのような場合を言わせconstant1 その中にbreak文がありませんでした。
その後、我々はを通じて落ちる可能性があります 内側ケースconstant2。
そして、我々は場合に行うにはしたくありません 我々はすでにケースに達したconstant1
それは、nに等しいです。
>> 従って、例えば、我々は変数を持っている場合 クラス番号が含まれているN、
私たちはどのようなことを見てみたいです nが50に等しい場合、クラスは、is--
我々は、CS50は「印刷するつもりです コンピュータサイエンスI.の概要」
その後、我々は破るつもりです。
以上です。
しかし、nが等しい場合 51に、我々が行っています
CS51は、はじめにある「印刷します コンピュータサイエンスIIへ。 "
その後、再び、我々は破るつもりです。
しかし、その後、我々はすべて、61、124を置きます あなたが考えるかもしれない他の数、
またはプログラムは行っていません それを認識する。
だから、申し訳ありませんが、私は "、と言うだろう そのクラスに精通していません。」
そして、それは破るために起こっています。
DAVIDマラン：だから、本当に見ることができます ここならば、もしそうでなければ、他のアイデア。
それはのためだけ別の構文です まったく同じ考えを表現します。
>> マリア：その通り。
今、私たちは私たちの三元の演算子を持っています。
だから三項演算子は持っています 3人は、条件をparts--
場合何か その条件が真です、
して、何かを行うには その条件がfalseである場合。
だから、基本的には、参照してください。 ここではその構文。
私たちは、疑問符を持っており、 その後the--私たちはこれを呼ぶのですか？
DAVIDマラン：コロン。
MARIA：コロン。
ありがとう。
ごめんなさい。
それでは、私たちの例を見てみましょう 我々はthis--感を作ることができるかどうかを確認
class_numの== 50。
そこでここでは==私たちのブール演算子を参照してください それは変数class_numを比較
50。
だからclass_num店整数。
そして、その整数の場合 その後、我々はしている、50に等しいです
保存しようとして「デビッド・マラン」 文字列の教授の内部。
クラス番号がない場合 同じ50、「ないデビッド・マラン」
教授になるだろう。
>> DAVIDマラン：ありがとうございます。
そして、これはと等価と思われます あなたは一目見ただけで、何を、と思いますか？
>> マリア：私にはそれはそう if-elseステートメントのような。
>> DAVIDマラン：うん。
実際に、これが一種であります きれいな1ライナーの、
そう実現するために、話すこと 正確ロジックのif-else
しかし、1つのステップですべてをやっ。
>> マリア：その通り。
うん。
その場合-else文かもしれません 多くのスペースを取ります。
彼らはあまりにも長いかもしれません このような単純なもの。
だから、これは非常にすることができます 簡潔で非常に素晴らしいです。
だから今、私たちは見に行っています 何度も何度も何かを実行し、
そうするためにチェック 複数回の調整
して、何かをし続けます その条件が真である間。
だから、これは私たちをもたらします うまくしばらくループへ。
>> 左側には、我々が持っています 私たちの最初のwhileループ。
何かが真である間そこで、 何度も何度も何かをします。
だから、私たちのことに気づくようにしてください 条件は、ここで一番上に検証されます。
我々は呼んで私たちの第二loop--と一方 DO-しばらくは、私たちが何かをloop--こと、
その後、我々は条件をチェック。
そして、その状態であれば 真であり続け、
我々は戻って、再びことを行います。
だから、主な違いはどこにあります 条件がチェックされます。
そしてコードはなることはありませんあり 条件がない場合に実行
whileループと真。
DO-一方で一方 ループ、我々はコードを持って
それは、常に少なくとも1回実行されます。
そして、しばらく条件 真であり続け、
我々は戻って、内側に再び繰り返すことができます。
では、なぜあなたは私たちが使用することになると思います whileループオーバーDO-whil​​eループ？
右。
だから我々は、プロンプトを表示したい場合 入力のいくつかの並べ替えのためのユーザ、
私たちはそれらを聞いてみたい場合 自分の名前を入力し、
我々は、少なくとも一回、それらをお願いしたいと思います。
そして彼らは、入力しない場合 その名前、私たちではありません
再びそれらを求めるつもり 我々はすでにそれを知っているので。
しかし、彼らは入力しない場合 その名前、またはそれらは、もし
何かを入力します。 明らかではない名前、
我々はまだ続けたいです 自分の名前のためにそれらを求めます。
>> DAVIDマラン：そして講演で、私たちはいずれかを持っていました 取得正の整数で、このような
たとえば、には何もありません あなたも持っていないので、最初に確認してください
int型を頂いております。
だから我々はthis--をしたいです user--からint型を取得します
おそらく、それをチェックし、 何度も何度も何度も。
>> マリア：その通り。
loops-- OKの場合。
ループのために私たちはほとんど行うことができことができます まったく同じこと、同様に。
それは実際にまったく同じことです。
だから、何もありません あなたは、forループを使ってできること
あなたがことができないであろうこと 一方、ループを実行します。
しかし、ループに少し見えるかもしれません もう少し構文的に複雑
彼らが持っているので、 三つの部分内部のもの
直前でした 一方、ループと条件。
そのあなたの海だから最初の部分、 左端、我々が持っている "int型ドワーフ= 0"
だから、これはどこにある我々 私たちの変数を初期化します。
>> その後、我々は、セミコロンを持っています "ドワーフ<7"
だから、これはどこに出ています 状態は実際にあります。
だから、我々が持っているであろうものです しばらくだけ入れloop--
「ドワーフが7. <ながら "
ここでは、それはに行きます 私たちのforループの真ん中。
だから「dwaves <7 "
そして、私たちの最後の部分は「ドワーフ++」であります これは私達が私達の変数を更新場所です。
だから、重要なこと 実現するためには、このことです
ループのためにこれを通過しようとしています 7回と7回実行。
だから我々は7を持っています ドワーフは、彼らがすべてです
私はここにいるよ」、と言うつもり あなたを助けるために、白雪姫 "
彼らは準備ができているので、 白雪姫を支援します。
>> ループは、我々が行っているだろうがと 初期化と更新
ない状態の内部には、再び、しかし、 前またはwhileループ内のいずれか
ていることを確認するためにwe--理由 私たちは常にそれらの部品が必要です。
だから我々は持っていることを確認します 彼らは、我々はまだそれらを追加しましたでしょう
だけでは括弧の中、上。
>> DAVIDマラン：だから、それはlike--見えます 講義では、例えば、
私はほとんど常に、のように、私を使用して、 nと、かなり退屈な変数。
あなたがより多くを使用することができますように見えます 巧みあまりにも、変数の命名。
>> マリア：ええ、それは実際には非常にうれしいです もう少し説明的な変数を使用します
他の誰かがいる場合は特に理由 あなたのcode--を読ん多分あなたはしている年生
またはあなたが協力している場合 somebody--と
あなたは、ことを確認する彼ら 何をやっている理解しています。
>> OK。
だから、これは非常にfunky--ものです ループの内側のforループ。
我々は前にこれを見てきた場合、私は知りません。
おそらくありません。
しかし、我々は実際にthis--を持つことができます だからではなく、ループのループ。
だから、誰もが多分歩くことをしたいん 私ここで何が起こっているのかを介して？
DAVIDマラン：私は刺しを取りますよ。
MARIA：クール。
DAVIDマラン：OK。
だから、私たちはものを印刷したいですspoiler-- それは、右下の隅にです
そこ。
>> MARIA：右。
ええ、ええ。
>> DAVIDマラン：だから我々はちょうどました そこのサンプル出力を置きます。
だから私はから推測することができます あなたがしている最上位のループ
行を反復処理 最も外側のループ、いわば。
そして、あなたは反復処理しています 最も内側のループの列。
そして直感的に、この うまくいけば、理にかなっている必要があります
理由の性質によって、 私たちが見てきたすべてのプログラム
である前に、printfの、 私たちが使用している機能、最終的には、
ものを印刷する機能を持っています ラインによって、本質的に行。
同様に、一度あなたが出力されました 新しい行は、あります
何も戻って倍増しないし、何かを印刷 少なくとも、画面の方が高いです
このようなprintf関数を使用していません。
>> だからその点で、それはなります 意味、その最も外側のループ
行を参照する必要があります 各指定した行のため、
あなたがしたいとしています その後、XXXXXをプリントアウトし、
次の行、XXXXXに移動します。
だから、行が最初に来ます。
そして、それぞれの中 行は、あなたが列を印刷します。
あなたはそれを行うにしようとした場合 反対、それはおそらくないだろう
あなたが意図したとおり出てきます。
>> マリア：ええ。
私達はちょうどに戻ることができませんでした printf関数と前の行。
>> DAVIDマラン：そして、何が面白いです スコープについて今日のチャットあたり、
実際に、行がint型であるということです それは、一番上のループ内で宣言です。
しかし、それはまだであることがわかり 内側に、いわば、
その中括弧 直後、
それは技術的にはないにもかかわらず、 それらの中括弧内。
だから行がためにスコープ内にあります コー​​ドのスニペットの全体、
ループの外側の内側の両方 そして、ループの内側の内部。
しかし、対照的に、ここで 列は、スコープ内にありますか？
変数の列？
うん、内部のみのループインチ
我々はアクセスしないので、それは大丈夫です それにその中括弧の外。
私たちはすべてが新しいプリントアウトです そこに非常に最後の行。
実際にはOKであるように。
>> だから、これは効果があり、それは、のように見えます 3行4列をしています。
>> MARIA：右。
したがって、最初の我々の最初の行を通過します。
そして、ちょうど私たちの最初の行に、我々が行います 最初の行の内側の4つの列。
だから我々は、4つのXのをプリントアウト。
そして、我々は、以来、forループを抜けることができます 我々はすでに4のXのをプリントアウトしてきました。
そして、私たちは新しい行を印刷します。
そして、我々が通過します さらに2つの行の同じプロセス
3の合計を行います。
>> DAVIDマラン：そしてそれはです注目に値します フォントのちょうどアーティファクト、事実
そのサンプル出力 そんなに背が高いようで、
より多くのがありますかのように 列よりも行。
しかし、それは単にXためです それは幅よりも背が高いです。
つまり、そこに起こっているものすべてです プラス線の間の空白。
>> MARIA：右。
クール。
DAVIDマラン：すべての権利。
だから、問題を簡単に見ると、1を設定し、 任意の質問をお受けしてから、休会？
大丈夫。
そこで問題に3つがあり、いずれかを設定します 主要な課題、最終的に。
しかし、最初に、あなたが見つけることができます 問題が設定されていること
多くのと同様の仕様、 psetこの秋には、あなたを歩くしようとしています
いくつかのウォームアップ演習を通じて、 いくつかのリソースをあなたに指摘
あなたがよく、または可能性があること すでに見ていません。
例えば、CS50 ショートパンツのスイートを持っています、
短いビデオこれは、 ないこのとは異なりますが、その
非常に話題ですspecific-- 多分5分、
ループの長さは10分以上 条件にまたはアルゴリズムに
以降の詳細 高度なトピックだけでなく。
そして、我々は一般的に埋め込みます 問題にそれら
セットの学生ように 持つリソースを持っています
持っているかもしれない材料を確認します すでに講義やセクションに出てきます。
しかし、この方法は、それはより集中です 自分の指先で、より。
>> また、問題に埋め込む傾向があります ウォークスルーと呼ばれるものを設定します。
だから、ほとんどすべて私が行う例 講義では、ここではステージ上で、私たちも
カメラで撮影しました より遅いを進め、
私がより親密なウォークスルーについて そのコードの私のラップトップ、行ごと
クラスでは、私たちはしばしばだろうとそう 何かまたは誰か流し読み
と差し挟むます 質問に答えます。
しかし、それは必ずしもシンクしません。 聴衆の中に皆のためです。
だから、コードのウォークスルーを見つけることができます 例のほとんどのために
あなたように、私たちは講義でここで行うこと 自分のペースでそれを介して歩くことができます
巻き戻しや早送りまたは あなたが好きな場合は、完全にスキップ。
>> 多くの場合、いくつかあります ウォームアップの質問こと
の並べ替えをお願いします この材料を強化
あなたが前に快適だということを確認してください あなたはPSETの残りの部分を続行します。
そして、もちろん、 PSET自体があります。
そして、ものの一つ 我々は非常に慎重に
CS50に行うには、ほとんどすべてのつまらないです または知的つまらないです
機械的なステップその あなたは何をする必要がある場合があり
ほとんどの場合、非常によく文書化されています。
用語の過程で、我々はよ より多くの修辞的な質問をし始めます
以下のように、このまたはそれを行う方法を覚えていますか？
しかし、一般的に、あなたは見つけることができます 問題セットはあなたを得ること
力学を通じ 何かのように
面白い、知的挑戦 最終的にあなたに生徒を残しています。
>> ことで、Zamyla、我々へ 講演で、今日を参照し続け、
私たちの長年のスタッフのひとつです また、ウォークスルーを保持しているメンバー
マリオのよう​​な特定のpsetの問題に 今年水ではないものの、貪欲。
そして、それは、それらの中です ウォークスルーその彼女は、多くの場合、
ためのヒントやコツを提供しています あなたに言って、決して進まないようにする方法
正確に何をすべきかが、 条件のようrather--、
あなたが与えwill--場合、少なくとも そのようなアイデアのカップルはそれは、あなた次第です
最終的に、決定します どのようにそれらにアプローチします。
>> MARIA：ソートの高レベルのような 何のロジックの理解
私たちは何をするあなたを求めています。
>> DAVIDマラン：その通り。
そして、実際には、Zamylaの ウォークスルーを意味しています
頻繁に答えるために 質問を
私は場合は特に、始めたん これらの長い仕様は、
すべてのテキストを指定して、少し手ごわいです そして彼らはそれらを持っているイメージ。
>> あなたが見つけることができます、だからwater.c あなたはそれを完了した後、
実際に比較的簡単です。
絶対にたくさんあり​​ます あなたが強打に行くの
しようと壁にあなたの頭 それはコンパイルていない理由を把握します
または、なぜそれが正しく実行されていません。
しかし、あなたが終わったら、 それにしたら
任意のと格闘いくつかの時間を費やし あなたが持っている可能性があるバグの、
あなたはそれがだことがわかります 非常に短いプログラムです。
それはほんの数で行うことができます コー​​ドの行は、ほとんどの
我々は、次の場合、すでに講義でここに見てきました あなたは右のビルディングブロックを組み立てます。
>> そして、私たちが示唆するように ここで、それは頼むために起こっています
あなたはどのように多くの分を指定します 誰かがキャンパス内にシャワーを浴びています。
我々は問題で指定 水の流量を設定します
以下のような、中、低流量シャワー 多くのとなりのサインフェルドクリップのような頭、
昨日見ましたか その反対。
そしてあなただけの持っています 数学のビットを行うには、
伝えるためにCを用いた演算をreally-- 私たちの水をどのように多くの、おおよそ、ボトル
私たちがしている場合には同等です n個分のシャワーを浴びています。
>> さて、mario.cでは、これが起こっています 少し長めのプログラムとすることができます。
それはまだ、この長くなることはないだろう。
わずか数行water.cよりも長いです。
しかし、それはチャンスになるだろう 古い学校マリオを再現します
スーパーマリオのピラミッド 兄弟またはいくつかの後続の。
それはきれいに見えるようにするつもりはないです またはそこにそれと同じくらいカラフル。
私たちはほんの少しハッシュタグを使用するつもりです 私たちは、画面上にここに持っているように
ASCIIテキストを使用。
しかし、それは同じ考えを近似します。
そして、それはなるだろう 一目見ただけでそれを行使
ただかなりsimple--ようです 簡単なピラミッドを印刷します。
しかし、カップルの特徴があります ここで興味深いこと。
の右端ことに注意してください ピラミッドは、実際には幅2を持っています。
だから、同じ2があります 高列、その
それが少し必要になります 作るために思考のビット
あなたは正確に正しいことを得ることを確認 ただ完全に傾斜したに反対
ライン。
だから、コーナーケースのビットです しかし、実際のゲームと一致します。
>> そしてそれはまた、最初は非自明です ホワイトスペースを印刷する方法を一目。
だから私は見たとき サンプル出力here--
それはspec--でもこれだけです 長方形のようなルックスの種類、
しかし、対角 矩形は、切り落とされ​​ています
そして、それはちょうど空白は、いわばです。
そしてそう頻繁に尋ね 質問はここにも、常に、
どのように私は、ハッシュタグを移動します 右にオーバー？
またはどのように私は空白を印刷できますか？
そして、それは実際に簡単です ほとんどの学生が考えるより。
右？
あなただけのことで、視覚的にそれを近似することができます 一度か二度、スペースバーを打ちます
3回。
>> だからにもかかわらず、printf関数とほぼたち 常に文字列または整数を印刷
またはhello "のような単語、 世界 "や単語の一連の、
あなたはまた、単に印刷することができます 引用符、スペース、引用終わり。
そして、それは実際に得られます あなたそこにホワイトスペース。
だから、心の中でそれを維持し、 これを考え過ぎるしないでください。
あなたは本当にする必要があります 行によって行毎に決め、
ないあなたの例とは異なり、 それらの前に、どのように多くの瞬間
列が空白であるべきであり、 どのようにそれらの多くは、ハッシュタグでなければなりません。
それは少し時間がかかりますが、それはです ある種の最終的な論理パズル。
>> マリア：ええ。
しかし、行ごとに行くのロジック ここで非常に有用であることが起こっています。
DAVIDマラン：うん。
私は、サンプルコードでは、あなたもgave--思います それは完全なプログラムではありませんでしたが。
あなたはまだint型とメイン必要 ボイドとの#include stdio.hに、
講義から多くのもの。
しかし、ビルディングブロック そこにあるように見えます。
そして、最後に何かあり もう少しのアルゴリズム。
だから、いつでもあなたのことが判明 CVSや任意のコンビニエンスストアに行きます
そして、誰かがあなたを手で 変化としてレジ法案やコイン、
それは彼ら、人間ことが判明し、 彼らはそれを知っているか否かを問わず、
おそらく何を使用しています 貪欲アルゴリズムと呼ばれます、
それによってあなたが負っている場合、たとえば、$ 21 変化何らかの理由理由
あなたは非常に安価なものを買って CVSでの非常に大きな手形で、
かどうかは本当に迷惑になります レジ係はあなたに21枚のシングルを与えたか、悪化
まだ、硬貨の全体の多く。
むしろ、合理的な人は何ですか おそらく何をするつもりは、彼らがつもりです
$ 20-、次に$ 1札などをつかむために その場合の手あなただけの2法案。
MARIA：だから彼らは最小限にするために探しています 彼らはあなたに戻って与える変更。
DAVIDマラン：その通り。
そして、同様にコインと同じ契約。
あなたが負っている場合は、$ 0.50と言います うまくいけば、あなたは50ペニーを望んでいません。
代わりに2たい たとえば四半期、。
さて、これは仮定しません レジ係があることを
そのすべての宗派の十分な 彼または彼女はあなたを与えたいと思うかもしれません。
しかし、我々はあなたが負うことになります 問題のように多くの。
そして目標は、最終的にあります Cコードで貪欲なアルゴリズムを実装します。
したがって、ユーザーが許可され どのくらいで入力します
変更は、彼または彼女は、ドルを負っています セント、浮動小数点のいくつかの種類
おそらく値。
そして、あなたが数学を行うことがあり、 よく、アルゴリズムを見つけ出します、
私はどのように多くのコインを与えることができます あなたはあなたを与えるために、最小限
変化の正確な量。
しかしがあるように起こっています ここではいくつかのトリッキーな部分は、右？
全体があります同様に 不正確の問題。
マリア：その通り。
だから、浮動小数点 値が不正確を持っています。
我々は、今日の講義でこのことについて話しましたか？
>> DAVIDマラン：私たちはやりました 講義の最後の時間。
私たちは、不正確について話しました。
そして、あなたはユーザーをだますする必要はありません 彼または彼女が負っているどのくらいの変化。
だからウォークスルーで 問題は、仕様を設定し、
のように、最終的には、いくつかの考えを与えます あなたはそれらの不正確さを軽減する方法
エラー、潜在的に。
それはのために、確かに、回避可能です 私たちが話している入力。
そして、実際には、pennies-- 多分私達はZamylaに延期しますよ、
私はそこのトリックのために、と思います。
だから最終的に、あなたが見つけることができます 問題の進行今週、
かなり小さいの最初、 次いで中、少し大きいです。
それらのすべては、建物を使用 先週からのブロック、
このスーパーセクションから、 問題セットの仕様
無数のリソースであなたを置きます。
しかし、まだ、すべての苦労であれば、 特に少ない快適なものの中
事前の背景と、 営業時間に来て
月曜日と火曜日にと 水曜日と木曜日。
経由で議論CS50に行きます もちろんのウェブサイト、
これを介して、あなたはチャットすることができます スタッフやクラスメートと。
>> しかし、最終的に、私は思います 最高のアドバイスはただ早期開始されます。
それはあなたのクラスのようなものではありません 水曜日にのpsetを開始する必要があります
夜、または悪化木曜日の夜。
>> マリア：私の最高のアドバイスがあります 月曜日までに開始されているします。
DAVIDマラン：月曜日。
だから、無already--開始していない場合。
しかし、たとえそうでない場合は月曜日、その後火曜日。
より良い早く。
そして、それは理由です コー​​スは、非常に多くの後半の日を持っています
あなたのビットを与えるために 心理的な圧力
以前の開始が、まだできるようにします 物事は時間がかかるときのものが滑ります
あなたが予想よりも。
>> MARIA：そして、あなたはを利用したいです あなたができる限りの営業時間は、あまりにも。
>> DAVIDマラン：ご質問？
大丈夫。
さて、なぜ私たちはここに延期ませんか？