Upgrade to Pro — share decks privately, control downloads, hide ads and more …

基礎情報処理演習 (3)PADその2

基礎情報処理演習 (3)PADその2

自然言語処理研究室

September 27, 2013
Tweet

More Decks by 自然言語処理研究室

Other Decks in Programming

Transcript

  1. 配列 配列とは一列に並んだ「箱」である。 • 箱の一つ一つは変数と同じ働きをする。 • それぞれの箱には数字を一つだけ入れることができる。 • 配列も、必要なだけ作ってよい。 配列の呼び方 •

    配列全体で一つの名前をつける。 • 個々の箱(要素)には、配列の何番目という呼び方 をする。ただし、0番目から数えるところが違う。 長岡技術科学大学 電気系 基礎情報処理演習 2
  2. 繰り返し(範囲) 範囲を指定した繰り返しを行う。例えば、 (a) 回数が決まっている場合(例:10回何かしたい) (b) 変数の値を変動させたい場合(例: p を20~40にしたい) このような場合に使う。 ここで、(a)

    のように単に10回何かしたい場合も、変数を 変化させることで繰り返しを行う。例えば、 変数 w (変数名は何でもいい) を 1~10 (101~110でも何でもいい)に変化させる という操作で繰り返しを行う。 長岡技術科学大学 電気系 基礎情報処理演習 4
  3. a ← 1 ~ 10 "こんにちは" どの変数を (変数名は何でもよい) いくつからいくつまで 減少方向(例:10~1)にはできない

    何をする (処理は一つとは限ら ない。複数ある場合は 下に続ける) 長岡技術科学大学 電気系 基礎情報処理演習 5 書き方(例1)
  4. a ← 1 ~ 10 変数の値を使って何かしたい場合 繰り返し変数 a の値を 表示させている

    長岡技術科学大学 電気系 基礎情報処理演習 7 書き方(例3) "a回目の数字は p です!" p
  5. i ← 1 ~ 5 S ← S + i

    S ← 0 S S を初期化 i を 1,2,3,4,5で繰り返して S に S+i を代入 S を出力 長岡技術科学大学 電気系 基礎情報処理演習 8 書き方(例4)
  6. 繰り返し(前判定) 繰り返し(後判定) 長岡技術科学大学 電気系 基礎情報処理演習 9 どちらも、ある条件を満たす間はずっと繰り返す。 繰り返す回数を指定するのではなく、 それ以外の変数の値(例: k

    が 0 かどうか)によって 繰り返しを続けるかどうかを決める。 これを繰り返し1回ごとに毎回判断する。 前判定と後判定は非常によく似ているが 使われ方が少し違う。次のスライドを参照。
  7. a > 0 "あと a 回" (動作説明) a ← 10

    a > 0 をチェックしてOK "あと10 回" a が 9 になる(a ← a – 1) a > 0 をチェックしてOK "あと9 回" a が 8 になる(a ← a – 1) … a > 0 をチェックしてOK "あと1 回" a が 0 になる(a ← a – 1) a > 0 をチェックしてNG (プログラム終了) 長岡技術科学大学 電気系 基礎情報処理演習 10 書き方(例1:カウントダウン) a ← a - 1 a ← 10
  8. a > 4 a > 4 長岡技術科学大学 電気系 基礎情報処理演習 11

    まず a > 4 をチェックして、正しければ右の処理を実行する。 条件によっては、右の処理が1回も実行されない。 まず右の処理を1回実行し、その後 a > 4 をチェックする。 どんな条件でも右の処理が最低1回は実行される。 前判定と後判定の違い どちらがいいという問題ではなく、場合によって使い分ける。
  9. i < 5 S ← S + i S ←

    0 S i ← i + 1 i < 5 i 継続条件 (もしこうなら右の処理を行う) ① ② 長岡技術科学大学 電気系 基礎情報処理演習 12 書き方(例2)
  10. i < 5 S ← S + i S ←

    0 S i ← i + 1 i < 5 i ① ② 条件のチェックよりも 処理を先に行う 長岡技術科学大学 電気系 基礎情報処理演習 13 書き方(例3) 例2と例3は同じ動作をしますか? それとも何か違いが出てきますか?