Presentation is loading. Please wait.

Presentation is loading. Please wait.

情報教育論 第9回 仮定文の仕組み 政策・メディア研究科 岡田 健.

Similar presentations


Presentation on theme: "情報教育論 第9回 仮定文の仕組み 政策・メディア研究科 岡田 健."— Presentation transcript:

1 情報教育論 第9回 仮定文の仕組み 政策・メディア研究科 岡田 健

2 新しい言霊環境を ダウンロードしてください
Kotodama_Install exe Mac環境の方は 前回の環境をアンインストールした後に、今回の環境をインストールしてください

3 本日の学習目標 仮定文を見て,処理の流れを説明することが出来る 真偽値が取りうる値を説明できる
比較式や論理式を見て,それを真偽値に変換することが出来る 目的に応じて仮定条件を記述できる ある目的が与えられたときに,適切に仮定文を用いてプログラムが書ける

4 仮定文はどんな時に使う? 入力により 処理を変えたい 入力 処理 出力

5 仮定文はどんな時に使う? ユーザの入力により、処理内容を変えたい場合 ※-------------------- ※挨拶するプログラム
変数を定義して、名前を入力とする。 ※時間を尋ねる 「現在の時間を入力してください。」を出力する。 「1:朝 2:昼 3:夜」を出力する。 入力を整数で受け取り、入力に書き込む。 ※挨拶する もし入力が1ならば{  「おはよう」を出力する。 }をして、入力が2ならば{  「こんにちは。」を出力する。 }をして、入力が3ならば{  「こんばんは。」を出力する。 }をする。 ユーザの入力により、処理内容を変えたい場合

6 ユーザ入力を受け付けるには? 以下のように書く 記法は以下の通り。 入力を型として受け取り、変数に書き込む。
入力を整数として受け取り、入力に書き込む。 入力を文字列として受け取り、名前に書き込む。 入力を型として受け取り、変数に書き込む。 型 は「整数」か「文字列」が入ります。

7 処理の分岐を書くには 以下のように書く 記法は以下の通り もし入力が1ならば{ ・・・ }をする。 もし条件 ならば{ 処理 }をする。
   ・・・ }をする。 もし条件 ならば{   処理 }をする。 「もし」の部分は「もしも」と書いても良いし、省略してもいい。 「ならば」の部分は「なら」と書いても良い。

8 処理の分岐の流れ 条件が成立したら、処理を実行する 条件 成立 不成立 処理

9 不成立の時の処理を書くには 以下のように書く 記法は以下の通り もし入力が1ならば{ ・・・ }をして、そうでないならば{ }をする。
   ・・・ }をして、そうでないならば{ }をする。 もし条件 ならば{   処理 }をして、そうでないならば{ }をする。

10 処理の分岐の流れ 条件が成立したら、処理を実行する 条件 不成立 成立 処理 処理

11 さらに複雑な分岐を書くには 以下のように書く もし入力が1ならば{ ・・・ }をして、もし入力が2ならば{ }をして、そうでないならば{
   ・・・ }をして、もし入力が2ならば{ }をして、そうでないならば{ }をする。

12 処理の分岐の流れ 条件 条件が成立したら、処理を実行する 不成立 成立 条件 処理 不成立 成立 処理 処理

13 条件をどうやって表現する? 条件は真偽値として記述する 以下は全て真偽値を表している 真 偽 A=0 A≠B A<D A≧E A<C A≦F
A>0かつA>B A>0あるいはA>B

14 真偽値をどうやって記述する? 真偽値は以下の3通りで記述できる 真偽値定数 比較式 論理式

15 条件を比較式として書くには? 以下のように書く 記法は以下の通り 時間=1 距離>10 角度≦90 値>値 値<値 値≧値 値≦値 値=値
値≠値 大なり 小なり 大なり等号 小なり等号 等号 不等号 >(全角) >(半角) <(全角) <(半角) ≧(全角) >=(半角)>=(全角) ≦(全角) <=(半角)<=(全角) =(全角) ==(全角)=(半角)==(半角) ≠(全角) !=(半角)!=(全角) 記法 使用できる記号

16 条件を文として書くには? 以下のように書く 記法は以下の通り 時間=1でない ※時間≠1である、と同じ意味 距離>10である
時間=1でない ※時間≠1である、と同じ意味 距離>10である 角度≦90でない ※角度>90である、と同じ意味 比較式である 比較式でない 肯定 否定 記法

17 条件式を使ったプログラム (西暦和暦変換)
変数を定義して、名前を「西暦」とする。 ※西暦を入力する 「和暦を求めます。」を出力する。 「西暦を入力してください。」を出力する。 入力を整数で受け取り、西暦に書き込む。 ※和暦を求める 西暦>1988であるならば{   「今年は平成」を改行無しで出力する。   西暦-1988を改行無しで出力する。   「年です。」を出力する。 }をする。 変数名 西暦 2004 西暦>1988である  ↓ 2004>1988である      ↓      真

18 試しに条件式を出力してみよう 1>0を出力する。 3=1を出力する。 1≠3を出力する。 4≦4を出力する。 4<4を出力する。
変数を定義して、名前を「西暦」とする。 西暦に2000を書き込む。 西暦>1988を出力する。

19 論理式を書くには? 以下のように書く 記法は以下の通り x>0、かつx<100 x>0である、あるいはy>100 比較式かつ比較式
比較式あるいは比較式 論理積 論理和 記法 比較式を文として書く場合、活用しても良い   x>0であり、かつ・・・   x>0で、かつ・・・

20 論理式を使ったプログラム例 (金と銀の斧)
変数を定義して、名前を選択肢Aとする。 変数を定義して、名前を選択肢Bとする。 「金のオノと銀のオノがあります。」を出力する。 「この金のオノは,あなたのものですか? はい→1 いいえ→2」を出力する。 入力を整数で受け取り、選択肢Aに書き込む。 「この銀のオノは,あなたのものですか? はい→1 いいえ→2」を出力する。 入力を整数で受け取り、選択肢Bに書き込む。 選択肢Aが1でかつ選択肢Bが1ならば{ 「あなたはウソツキですね」を出力する。 }をする。

21 課題1 課題2 和暦西暦変換のプログラムを、明治・大正・昭和にも対応させてください
金の斧銀の斧のプログラムを、正直者に対する処理も追加して完成させてください

22 課題3 発展課題 相性判断のプログラム(前回HCPで設計してもらいました)を、プログラムで書いてください
肉屋のレシートのプログラム(前回HCPで設計してもらいました)を、プログラムで書いてください

23 課題提出について 課題1~3及び発展課題を、出来るところまでやってみてください。
宛先は サブジェクトは半角で「report09」です。 〆切は12月17日(金)23時59分まで。 課題をやってみてどんなことを考えたかを考察して、メール本文に付けてください。


Download ppt "情報教育論 第9回 仮定文の仕組み 政策・メディア研究科 岡田 健."

Similar presentations


Ads by Google