Weitere ähnliche Inhalte Mehr von 長岡技術科学大学 自然言語処理研究室 (20) Pad入門その21. 基礎情報処理演習
PAD その2
山本 和英
長岡技術科学大学 電気系
1 長岡技術科学大学 電気系 基礎情報処理演習
2. 配列
配列とは一列に並んだ「箱」である。
●
箱の一つ一つは変数と同じ働きをする。
●
それぞれの箱には数字を一つだけ入れることができる。
●
配列も、必要なだけ作ってよい。
配列の呼び方
●
配列全体で一つの名前をつける。
●
個々の箱(要素)には、配列の何番目という呼び方をする。
ただし、0番目から数えるところが違う。
2 長岡技術科学大学 電気系 基礎情報処理演習
3. 配列の例
3 長岡技術科学大学 電気系 基礎情報処理演習
4. 繰り返し(範囲)
範囲を指定した繰り返しを行う。例えば、
(a) 回数が決まっている場合(例:10回何かしたい)
(b) ある変数の値を変動させたい場合(例: p を20~40にしたい)
このような場合に使う。
ここで、(a) のように単に10回何かしたい場合も、変数を
変化させることで繰り返しを行う。例えば、
変数 w (変数名は何でもいい) を
1~10 (101~110でも何でもいい)に変化させる
という操作で繰り返しを行う。
4 長岡技術科学大学 電気系 基礎情報処理演習
5. 書き方(例1)
何をする
(処理は一つとは限ら
ない。複数ある場合は
どの変数を 下に続ける)
(変数名は何でもよい)
a ← 1 ~ 10 "こんにちは"
いくつからいくつまで
減少方向(例:10~1)にはできない
5 長岡技術科学大学 電気系 基礎情報処理演習
6. 書き方(例2)
a ← 5 ~ 14 "こんにちは"
単に同じ処理を10回繰り返すだけなら
変化させる数字は
(右の数字が左の数字+9になっていれば)
何でもよい
6 長岡技術科学大学 電気系 基礎情報処理演習
7. 書き方(例3)
変数の値を使って何かしたい場合
a ← 1 ~ 10 p
"a回目の数字は p です!"
繰り返し変数 a の値を
表示させている
7 長岡技術科学大学 電気系 基礎情報処理演習
8. 書き方(例4)
S を初期化
S←0
i←1~5 S←S+i
S i を 1,2,3,4,5で繰り返して
S を出力
S に S+i を代入
8 長岡技術科学大学 電気系 基礎情報処理演習
9. 繰り返し(前判定)
繰り返し(後判定)
どちらも、ある条件を満たす間はずっと繰り返す。
繰り返す回数を指定するのではなく、
それ以外の変数の値(例: k が 0 かどうか)によって
繰り返しを続けるかどうかを決める。
これを繰り返し1回ごとに毎回判断する。
前判定と後判定は非常によく似ているが
使われ方が少し違う。次のスライドを参照。
9 長岡技術科学大学 電気系 基礎情報処理演習
10. 書き方(例1:カウントダウン)
(動作説明)
a ← 10
a > 0 をチェックしてOK
"あと10 回"
a ← 10 a が 9 になる(a ← a – 1)
a > 0 をチェックしてOK
"あと9 回"
a >0 "あと a 回" a が 8 になる(a ← a – 1)
…
a ← a-1 a > 0 をチェックしてOK
"あと1 回"
a が 0 になる(a ← a – 1)
a > 0 をチェックしてNG
(プログラム終了)
10 長岡技術科学大学 電気系 基礎情報処理演習
11. 前判定と後判定の違い
a>4
まず a > 4 をチェックして、正しければ右の処理を実行する。
条件によっては、右の処理が1回も実行されない。
a>4
まず右の処理を1回実行し、その後 a > 4 をチェックする。
どんな条件でも右の処理が最低1回は実行される。
どちらがいいという問題ではなく、場合によって使い分ける。
11 長岡技術科学大学 電気系 基礎情報処理演習
12. 書き方(例2) 継続条件
(もしこうなら右の処理を行う)
i
i<5
S←0
① ②
i<5 S←S+i
S i←i+1
12 長岡技術科学大学 電気系 基礎情報処理演習
13. 書き方(例3) 条件のチェックよりも
処理を先に行う
i
i<5
S←0
② ①
i<5 S←S+i
S i←i+1
例2と例3は同じ動作をしますか?
それとも何か違いが出てきますか?
13 長岡技術科学大学 電気系 基礎情報処理演習