第4回講義資料

コンピュータと論理A
第4回 2015年4月29日
Blocklyによるプログラミング
(2)条件分岐
1
今回の授業内容
•
•
•
•
復習
条件分岐とは
迷路パズルでは
プログラムを作ってみる
2
復習
2015/04/22
3
「Blockly Games: 迷路」を
クリック
4
迷路の問6
2015/04/22
プログラムの基本:条件(分岐)と繰り返し
繰り返し(「~まで繰り返す」)
条件(分岐)(「もし~なら・・・する」)
6
条件分岐とは
7
条件分岐
もし・・・・であれば処理1を行う
・・・・には条件(式)がはいる
入力
条件式
処理1
例:迷路問題6
もし左に進めるならば左を向く
8
条件分岐
9
条件分岐
もし・・・・であれば処理1を、そうでなければ処理2を行う
処理1
選択
処理2
例:迷路問題9
もしまっすぐ進めるならばまっすぐ進む、
そうでなければ(それ以外では)左を向く
10
Blockly Codeでは
11
条件分岐の例
・変数xが正の値なら
プログラムの流れ
・xの値が2とします(例)
・xの値が正の値なら“正
の数です”と表示する
→
“正の数です”と表示
数字を入力するには
・変数xの値をキーボードから入力する
プログラムで書いてみよう
0.前のスライドのプログラムを作成
1.Variablesから「set item▼ to □」を選択
2.itemをxに変更
3.Textから「prompt for text▼ with message “
4.「set x▼ to □」 の□につなげる
5.Textをnumberに変更
6.“ ”に「数字を入力してください」
”」を選択
条件分岐の例
・aが2なら
・そうでないときは
→
→
xに1を代入
xに3を代入
流れ
aに値が入る
yes
aが2かどうかを判断
aが2ならxに1を代入
選択
no
そうでないならxに3を代入
Xの値を表示
14
プログラムで書くと
・aが2なら
・そうでないときは
→
→
xに1を代入
xに3を代入
流れ
プログラム
ここ
15
プログラムの完成例
16
=以外も覚えよう
記号
説明
=
等しい
≠
等しくない
<
小さい
≤
小さいか等しい
>
大きい
≥
大きいか等しい
プログラムを変更してみよう
・aが2より大きいなら → xに1を代入
・そうでないときは
→ xに3を代入
17
迷路の問8
2015/04/22
else if で多方向分岐する
たとえば
◆年齢が12歳以上:「500円」
◆ 年齢が6歳以上12歳未満:「250円」
◆ 年齢が6歳未満:「0円」
年齢入力
Yes
大人料金
12歳以上
Yes
子供料金
No
6歳以上
No
無料
19
プログラムでは
1.年齢を入力し、変数ageに代入する
2.Logicからifを選択
3.ifに「else ifを追加」し、「else」も追加
20
プログラムでは
4.ifのところに条件(12歳以上なら)を追加
5.doのところで変数xに500を代入
6.else ifのところに条件(6歳以上なら)を追加
7.doのところで変数xに250を代入
8.elseのところで変数xに0を代入
9.printでxの値を出力
21
論理演算子1:「~かつ~の場合・・・」
2つ以上の条件を満たす場合の処理
(例1)
・aが2より大きく10より小さいなら
・そうでないときは
→ xに1を代入
→ xに3を代入
プログラム例
22
論理演算子2:「~または~の場合・・・」
複数条件のうちのひとつ以上を満たす場合の処理
「and」のところを「or」に変更
(例2)
・aが2より小さいか10より大きいなら →
・そうでないときは
→
xに1を代入
xに3を代入
プログラム
23
プログラムを作ってみよう1
問題
・年齢(変数age)を入力して、チケットの金額(変数y)
を表示するプログラムを作成しなさい
・設定 大人(≧18):6900円、中人(12~17):6000円、
小人(4~11):4500円、シニア(65~):6200円、3歳以
下は無料
24
結果例
入力例1
出力
入力例2
出力
25
プログラムを作ってみよう2
問題
・数字をふたつの入力して、変数a,bとする。aがbで割
り切れれば、「aはbの倍数である」と表示し、割り切れ
なければ「aはbの倍数ではありません」と表示するプロ
グラムを作成しよう
ヒント
・割ったときのあまりの計算は「Math」のなかから選択
してみよう
・割ったときのあまりを変数cにいれ、その値が0か否
かで条件分岐させましょう
26
結果例
入力1
入力2
出力
27
プログラムを作ってみよう3
問題
・数学と国語の点数を入力し、変数suとkoとする。数学
に点数と国語の点数が両方とも60点以上なら「合格」と
表示し、それ以外は「不合格」と表示するプログラムを
作成しましょう
28
結果例
入力1
入力2
出力
29
時間が余った人は
• 迷路問題をやってみよう
• 迷路問題が終わったら、Pondに挑戦してみよう
(途中から条件分岐を使います)
Pondに挑戦するときはここをクリック
30