基礎プログラミングa 第6回 (10/31)

(Basic Programing)

0 はじめに

前回の要約

前回の積み残し

e) 振動させるプログラム

これまでの例題について

別ページに解答例を示す

1 Scala言語の基本

1.0 関数呼出での、値の受け渡し

1.1 変数


値が不変の変数

val変数 変数 仮引数 代入

val a=1          // 右図のように、代入ができる
val b="abc"

変数と定数

値が変化する変数
var x : Double   // この書き方(初期値なし)が使えるケースは例外的
var x = 1.0
...
x = 2.0          // 後から値を変更することができる(val変数では禁止事項)

再代入

1.2 条件分岐(2)

2分岐 if_1 ===» if_2

2分岐する if文 または if式:

if ( n > 0 ) {
    // 条件を満たした時の処理 (括弧内の式の値が 真 true yes)
} else {
    // 条件を満たさない時の処理 (括弧内の式の値が 偽 false no)
}

四分岐

比較の等号

文法について補足
  1. (再掲):
    数値の比較の時に使う(数学で一般的に使われる)等号は、
    プログラミングの際は == の二文字で1つの演算子(比較演算子)で表現する(右図)。
  2. if による条件分岐の構文は殆どのプログラミング言語で用意されている。
    ただし、以下のような点で、言語によってばらつきがある
  3. 少し古い言語(CやJava)では変数や関数の宣言の際に、型名 変数名(や関数名)の順に指定していたが、
    最近の潮流としては、キーワード 名前 型指定 の順であることが多い。
    文法(旧) 文法(新)

1.3 値を返す関数

値を返す関数

// 単純な記法
def abc={ 計算式 }

// 或いは、返す値の型を指定する書き方もある(こちらの方が一般的)
def someStr: String={ "abc" }

// 勿論、引数のある関数も値を返すことができる
def sine(x: Double) : Double = { 式 }

値を返す関数の使用例: 値を返す関数

def rancol={ // 色をランダムに生成する
    color(random(256),
          random(256),
          random(256)) 
}			// この関数が返す値の型を確認されたし
clear
repeat(30) {
    setPenColor(rancol)
    forward(100)
    left(162)
}

この結果、関数と変数は似たものになる。
関数と変数 数値関数の例 関数の値

なお、数値関数の主要なものも、Scalaでは math.sqrt(), math.abs(), math.pow() などの形で用意されている。


1.4 実習にあたって

1.5 例題:成績判定プログラム

成績判定

補足:

def hantei(p:Int) :String ={
    
}
    
val p=readInt("点数:")
println("成績:"+hantei(p))
課題

ーーー

以下は次回にまわします

2 再帰関数の応用(2)

再帰の停止

c) 再帰を使った数値計算

d) 複数の再帰呼び出し

プログラム例

なるべく丸写しをせず自分で考えるところは考えるように。