2019/09/27 [前回] ガイダンス A と同じ A の内容は既知とする コンピュータの技術は、ならった事は、次の時にそのまま利用しする => 全部習得していないと、次に進めない 私語厳禁 新しい内容 変数への「代入」 構文 : 変数名 = 式 式の計算した結果の値が、(その代入文を実行した後は)その変数の値となる 代入の性質 0. 変数は、宣言しただけでは、値が定まらない => 必ず、利用するまえに、代入をして値を定める(初期化)必要がある 1. 代入によって、変数の値が変化する => (間接的に、その変数を利用している命令の結果が変化する) 2. 代入には、前後関係があって 代入前 (元の値)と、代入後(新しい値) という「時間」の概念が導入される 3. 代入が行われると、元の値は、(その変数を経由して)参照する事ができなくなる 値の破壊 4. 代入文の式(右辺)に、これから代入する変数(左辺)を参照する事ができる => 変数の以前の値を利用して、変数の新しい値を計算する事になる => 計算の蓄積(計算結果の蓄積)になる 例 : それを繰り返せば、「総和(Σ)」の計算を行う (変数の)値の更新と、繰り返しが組み合わされたものが、総和 printf の書式機能の利用 [今回] 変数の更新(代入文の右辺の式の中に、左辺に変数を含める形の代入文) それを繰り返す事によって、すこしずつ、答えに近づけて、最終的に、 その答えを求めるとというアプローチ(考え方)に対応した表現 動的なアプローチ !! 数学では、「無限回」が許されるが、計算機では、「有限」である必要である必要があるので !! => (連続量ではなく..)離散量を利用して、「有限回」で終わらせるか !!あるいは !! => 有限回数で終わらせる代わりに、「誤差(答えとの少しの違い)」を許容する立場をとる必要がある while 構文 命令を繰り返すための(もう一つの:再帰でない)方法 繰り返す部分を {} でかこみ、その前に while(条件)を追加 条件には、繰り返し部分で値が変化する変数を利用する while 構文と再帰の関係 ともに、繰り返しを行うための仕組み while 構文を利用するには、代入文が必要 再帰を利用するには、引数付き関数の定義が必要 while 構文で記述された部分は、機械的に、再帰関数に書き換える事ができる # 逆も可能だが、簡単とは限らない scanf scan with format => いろいろなデータの入力に利用できる 通常は printf と対にして覚える !!! printf は、まちがっても、せいぜい、変な表示になるだけ !!! scanf は、間違えると、プログラムが異常停止するような不可解な振る舞いにつながる !!! => why : 今は説明しない