SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
基礎情報処理演習
      PAD その2

        山本 和英
    長岡技術科学大学 電気系


1               長岡技術科学大学 電気系 基礎情報処理演習
配列
    配列とは一列に並んだ「箱」である。
    ●
        箱の一つ一つは変数と同じ働きをする。
    ●
        それぞれの箱には数字を一つだけ入れることができる。
    ●
        配列も、必要なだけ作ってよい。


    配列の呼び方
    ●
        配列全体で一つの名前をつける。
    ●
        個々の箱(要素)には、配列の何番目という呼び方をする。
         ただし、0番目から数えるところが違う。


2                             長岡技術科学大学 電気系 基礎情報処理演習
配列の例




3      長岡技術科学大学 電気系 基礎情報処理演習
繰り返し(範囲)



    範囲を指定した繰り返しを行う。例えば、

    (a) 回数が決まっている場合(例:10回何かしたい)
    (b) ある変数の値を変動させたい場合(例: p を20~40にしたい)

    このような場合に使う。

    ここで、(a) のように単に10回何かしたい場合も、変数を
    変化させることで繰り返しを行う。例えば、

    変数 w (変数名は何でもいい) を
    1~10 (101~110でも何でもいい)に変化させる

    という操作で繰り返しを行う。

4                              長岡技術科学大学 電気系 基礎情報処理演習
書き方(例1)
                     何をする
                     (処理は一つとは限ら
                     ない。複数ある場合は
    どの変数を            下に続ける)
    (変数名は何でもよい)


        a ← 1 ~ 10   "こんにちは"



          いくつからいくつまで
          減少方向(例:10~1)にはできない


5                         長岡技術科学大学 電気系 基礎情報処理演習
書き方(例2)


    a ← 5 ~ 14   "こんにちは"



    単に同じ処理を10回繰り返すだけなら
    変化させる数字は
    (右の数字が左の数字+9になっていれば)
    何でもよい




6                      長岡技術科学大学 電気系 基礎情報処理演習
書き方(例3)
    変数の値を使って何かしたい場合


         a ← 1 ~ 10    p



                      "a回目の数字は p です!"


     繰り返し変数 a の値を
     表示させている


7                            長岡技術科学大学 電気系 基礎情報処理演習
書き方(例4)


            S を初期化
    S←0

    i←1~5         S←S+i


    S                i を 1,2,3,4,5で繰り返して
          S を出力
                     S に S+i を代入




8                          長岡技術科学大学 電気系 基礎情報処理演習
繰り返し(前判定)


    繰り返し(後判定)


     どちらも、ある条件を満たす間はずっと繰り返す。

     繰り返す回数を指定するのではなく、
     それ以外の変数の値(例: k が 0 かどうか)によって
     繰り返しを続けるかどうかを決める。
     これを繰り返し1回ごとに毎回判断する。

     前判定と後判定は非常によく似ているが
     使われ方が少し違う。次のスライドを参照。

9                             長岡技術科学大学 電気系 基礎情報処理演習
書き方(例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                                長岡技術科学大学 電気系 基礎情報処理演習
前判定と後判定の違い

      a>4

     まず a > 4 をチェックして、正しければ右の処理を実行する。
     条件によっては、右の処理が1回も実行されない。


      a>4


     まず右の処理を1回実行し、その後 a > 4 をチェックする。
     どんな条件でも右の処理が最低1回は実行される。

どちらがいいという問題ではなく、場合によって使い分ける。
11                            長岡技術科学大学 電気系 基礎情報処理演習
書き方(例2)                継続条件
                       (もしこうなら右の処理を行う)

     i

                           i<5
     S←0
                            ①       ②

         i<5   S←S+i


     S         i←i+1




12                           長岡技術科学大学 電気系 基礎情報処理演習
書き方(例3)                 条件のチェックよりも
                        処理を先に行う
       i
                          i<5

      S←0
                           ②       ①
       i<5   S←S+i


       S     i←i+1




     例2と例3は同じ動作をしますか?
     それとも何か違いが出てきますか?

13                         長岡技術科学大学 電気系 基礎情報処理演習

Weitere ähnliche Inhalte

Was ist angesagt? (7)

AtCoder Regular Contest 021 解説
AtCoder Regular Contest 021 解説AtCoder Regular Contest 021 解説
AtCoder Regular Contest 021 解説
 
AtCoder Beginner Contest 014 解説
AtCoder Beginner Contest 014 解説AtCoder Beginner Contest 014 解説
AtCoder Beginner Contest 014 解説
 
Ikeph 2-20140730
Ikeph 2-20140730Ikeph 2-20140730
Ikeph 2-20140730
 
Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法Rで学ぶ逆変換(逆関数)法
Rで学ぶ逆変換(逆関数)法
 
ナンプレ解析ツール
ナンプレ解析ツールナンプレ解析ツール
ナンプレ解析ツール
 
VBAで数値計算 09 掃き出し法
VBAで数値計算 09 掃き出し法VBAで数値計算 09 掃き出し法
VBAで数値計算 09 掃き出し法
 
Binary indexed tree
Binary indexed treeBinary indexed tree
Binary indexed tree
 

Mehr von 長岡技術科学大学 自然言語処理研究室

Mehr von 長岡技術科学大学 自然言語処理研究室 (20)

小学生の読解支援に向けた複数の換言知識を併用した語彙平易化と評価
小学生の読解支援に向けた複数の換言知識を併用した語彙平易化と評価小学生の読解支援に向けた複数の換言知識を併用した語彙平易化と評価
小学生の読解支援に向けた複数の換言知識を併用した語彙平易化と評価
 
小学生の読解支援に向けた語釈文から語彙的換言を選択する手法
小学生の読解支援に向けた語釈文から語彙的換言を選択する手法小学生の読解支援に向けた語釈文から語彙的換言を選択する手法
小学生の読解支援に向けた語釈文から語彙的換言を選択する手法
 
Selecting Proper Lexical Paraphrase for Children
Selecting Proper Lexical Paraphrase for ChildrenSelecting Proper Lexical Paraphrase for Children
Selecting Proper Lexical Paraphrase for Children
 
Automatic Selection of Predicates for Common Sense Knowledge Expression
Automatic Selection of Predicates for Common Sense Knowledge ExpressionAutomatic Selection of Predicates for Common Sense Knowledge Expression
Automatic Selection of Predicates for Common Sense Knowledge Expression
 
用言等換言辞書を用いた換言結果の考察
用言等換言辞書を用いた換言結果の考察用言等換言辞書を用いた換言結果の考察
用言等換言辞書を用いた換言結果の考察
 
用言等換言辞書の構築
用言等換言辞書の構築用言等換言辞書の構築
用言等換言辞書の構築
 
質問意図によるQAサイト質問文の自動分類
質問意図によるQAサイト質問文の自動分類質問意図によるQAサイト質問文の自動分類
質問意図によるQAサイト質問文の自動分類
 
役所からの公的文書に対する「やさしい日本語」への変換システムの構築
役所からの公的文書に対する「やさしい日本語」への変換システムの構築役所からの公的文書に対する「やさしい日本語」への変換システムの構築
役所からの公的文書に対する「やさしい日本語」への変換システムの構築
 
対訳コーパスから生成したワードグラフによる部分的機械翻訳
対訳コーパスから生成したワードグラフによる部分的機械翻訳対訳コーパスから生成したワードグラフによる部分的機械翻訳
対訳コーパスから生成したワードグラフによる部分的機械翻訳
 
用言等換言辞書を人手で作りました
用言等換言辞書を人手で作りました用言等換言辞書を人手で作りました
用言等換言辞書を人手で作りました
 
文字列の出現頻度情報を用いた分かち書き単位の自動取得
文字列の出現頻度情報を用いた分かち書き単位の自動取得文字列の出現頻度情報を用いた分かち書き単位の自動取得
文字列の出現頻度情報を用いた分かち書き単位の自動取得
 
「やさしい日本語」変換システムの試作
「やさしい日本語」変換システムの試作「やさしい日本語」変換システムの試作
「やさしい日本語」変換システムの試作
 
常識表現となり得る用言の自動選定の検討
常識表現となり得る用言の自動選定の検討常識表現となり得る用言の自動選定の検討
常識表現となり得る用言の自動選定の検討
 
動詞意味類型の曖昧性解消に向けた格フレーム情報との関連調査
動詞意味類型の曖昧性解消に向けた格フレーム情報との関連調査動詞意味類型の曖昧性解消に向けた格フレーム情報との関連調査
動詞意味類型の曖昧性解消に向けた格フレーム情報との関連調査
 
二格深層格の定量的分析
二格深層格の定量的分析二格深層格の定量的分析
二格深層格の定量的分析
 
大規模常識知識ベース構築のための常識表現の自動獲得
大規模常識知識ベース構築のための常識表現の自動獲得大規模常識知識ベース構築のための常識表現の自動獲得
大規模常識知識ベース構築のための常識表現の自動獲得
 
文脈の多様性に基づく名詞換言の提案
文脈の多様性に基づく名詞換言の提案文脈の多様性に基づく名詞換言の提案
文脈の多様性に基づく名詞換言の提案
 
保険関連文書を対象とした文章校正支援のための変換誤り検出
保険関連文書を対象とした文章校正支援のための変換誤り検出保険関連文書を対象とした文章校正支援のための変換誤り検出
保険関連文書を対象とした文章校正支援のための変換誤り検出
 
Developing User-friendly and Customizable Text Analyzer
Developing User-friendly and Customizable Text AnalyzerDeveloping User-friendly and Customizable Text Analyzer
Developing User-friendly and Customizable Text Analyzer
 
普通名詞換言辞書の構築
普通名詞換言辞書の構築普通名詞換言辞書の構築
普通名詞換言辞書の構築
 

Pad入門その2

  • 1. 基礎情報処理演習 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 長岡技術科学大学 電気系 基礎情報処理演習