Download presentation
Presentation is loading. Please wait.
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分まで。 課題をやってみてどんなことを考えたかを考察して、メール本文に付けてください。
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.