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

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

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

自然言語処理研究室

September 20, 2013
Tweet

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

Other Decks in Programming

Transcript

  1. PAD PAD (Problem Analysis Diagram) とは、アルゴリズムを 図に表現したものである。 以下のような記号を使う。 処理 入力

    分岐 繰り返し まとめ処理 出力 右に伸びるタイプ 下に続くタイプ 長岡技術科学大学 電気系 基礎情報処理演習 7
  2. 2 1 18 17 4 11 16 3 14 5

    10 15 13 12 6 8 9 7 図1 PADの特徴 アルゴリズムの全体像を つかみやすい。 右に行くほど細かい処理になる 処理が細かくなってゆく 処理が進んでいく 長岡技術科学大学 電気系 基礎情報処理演習 8
  3. 変数への代入 変数の中に数字を入れることを代入と呼ぶ。 例えば、a という変数に 3 を代入する時は a ← 3 と書く(3

    → a とは決して書かないので注意)。 長岡技術科学大学 電気系 基礎情報処理演習 11
  4. 値の追加 すでに入っている値に追加することができる。 例えば、 a ← a + 2 とすると、現在入っている a

    の値に 2 が追加される。 長岡技術科学大学 電気系 基礎情報処理演習 12
  5. wa ← a + b a, b wa 図2 例 : 二つの数の和を計算するアルゴリズム

    二つの数を入力して、a と b に代入 和を計算して wa に代入する wa を画面に出力する 長岡技術科学大学 電気系 基礎情報処理演習 16
  6. Yesの場合 (条件が正しい場合)の処理 Noの場合 (条件が正しくない場合) の処理 a > b 条件を書く。 aよりbが小さい

    などと言葉で書いてもよい (曖昧でなければ) “a が大きい" “a が大きくはない" 長岡技術科学大学 電気系 基礎情報処理演習 18 書き方
  7. x > 0 かつ y < 0 注意:  分岐は必ず2つに分かれるとは限らない。 Yes

    だけの場合(図3)は Noの部分に何も書かない。 “x と y は 異符号" 図3 もしxが正の数で yが負の数ならば "xとyは異符号"と出力 そうでなければ何もしない 長岡技術科学大学 電気系 基礎情報処理演習 19
  8. x > 0 x ←x * (-1) x 図4 そうでなければ

    (= x が正の数でなければ) (= x が0か負の数ならば) x を -1 倍する。 もし x が0より大きい(正の数)ならば 何もしない xを出力する 長岡技術科学大学 電気系 基礎情報処理演習 20 さらに、Noだけの場合(図4)もある。
  9. w < 20 “110円" w < 50 “540円" “270円" “200円"

    w < 100 それ以外 図5 Wが20未満なら"110円"、 Wが50未満なら"200円"、 Wが100未満なら"270円"、 それ以外なら"540円"と出力 たくさん分岐する場合もある(多重分岐)。 例 : 郵便料金の計算 長岡技術科学大学 電気系 基礎情報処理演習 21