情報教育論第5回

情報教育論第5回
変数について
政策・メディア研究科 岡田 健
前回の授業に関するコメント
エラーメッセージが分かりにくい
。の付け忘れに気付くのに時間がかかった
一辺の長さ歩進む?
100歩進む。
100だけ進む。
一辺の長さだけ進む。
90度右に曲がる。
90だけ右に曲がる。
角度だけ右に曲がる。
前回の授業に関するコメント
変数や繰返しがよく分からなかった
今回はもう一度『変数』について講義します。
『変数』の概念が理解しやすいように
文法も変えたので注意してください。
本日の学習目標
なぜ変数を使うのか、説明できる
宣言・代入・評価に伴う変数の変化を、
表を使って説明できる。
式の評価ができる。
変数を使ったプログラムが書ける
なぜ変数を使うのか?
※四角形を描く
100だけ進む。
90度右に曲がる。
100だけ進む。
90度右に曲がる。
100だけ進む。
90度右に曲がる。
100だけ進む。
90度右に曲がる。
四角形の大きさを変えたい
場合はどうするでしょうか。
解決策1:
エディタの置換機能で
100を200に置き換える
なぜ変数を使うのか?
※四角形を描く
90だけ進む。
90度右に曲がる。
90だけ進む。
90度右に曲がる。
90だけ進む。
90度右に曲がる。
90だけ進む。
90度右に曲がる。
解決策1をこのプログラムに
使うとどうなるでしょうか?
解決策2:
変数を使う
なぜ変数を使うのか?
※四角形を描く
90だけ進む。
90度右に曲がる。
90だけ進む。
90度右に曲がる。
90だけ進む。
90度右に曲がる。
90だけ進む。
90度右に曲がる。
変数を定義する。名前を「大きさ」とする。
大きさに90を書き込む。
※四角形を描く
大きさの値だけ進む。
90度右に曲がる。
大きさの値だけ進む。
90度右に曲がる。
大きさの値だけ進む。
90度右に曲がる。
大きさの値だけ進む。
90度右に曲がる。
ここを変えれば
四角形の大きさが変わる
宣言・代入・評価について
変数の働き
定義する 名前を付けて定義できる
書き込む 値を書き込める
読み出す 値を読み出せる
変数名
値
大きさ
100
変数を使ったプログラム
変数を定義する。名前を「大きさ」とする。
大きさに100を書き込む。
※四角形を描く
大きさの値だけ進む。
90度右に曲がる。
大きさの値だけ進む。
90度右に曲がる。
大きさの値だけ進む。
90度右に曲がる。
大きさの値だけ進む。
90度右に曲がる。
定義する
書き込む
読み出す
読み出す
読み出す
読み出す
変数名
値
大きさ
100
変数を定義するには?
以下のように書く。
変数を定義する。名前を「大きさ」とする。
記法は、以下の通り。
変数を定義する。名前を変数名とする。
これを「宣言文」または「変数宣言文」と呼ぶ
宣言文を実行すると・・・
変数を定義する。名前を「大きさ」とする。
変数名
大きさ
値
変数に値を書き込むには?
以下のように書く。
大きさに100を書き込む。
記法は以下の通り。
変数名に値を書き込む。
これを「代入文」と呼ぶ。
代入文を実行すると・・・
大きさに100を書き込む。
変数名
値
大きさ
100
変数から値を読み出すには?
以下のように書く。
大きさの値
記法は以下の通り。
変数名の値
実行時に変数の値に置き換えられる。
この置き換えを「評価」と呼ぶ。
評価が行われると・・・
大きさの値だけ進む。
100
だけ進む。
変数名
値
大きさ
100
用語の整理
定義する
変数の宣言
書き込む
変数への代入
読み出す
変数の評価
課題1:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
各行における表モデルを書いてくだ
さい。また7行目の評価の模様を図
示しなさい
変数を定義する。名前を「一辺の長さ」とする。
一辺の長さに100を書き込む。
変数を定義する。名前を「角度」とする。
変数名
角度に90を書き込む。
※四角形を描く
一辺の長さの値だけ進む。
角度の値だけ右に曲がる。
一辺の長さの値だけ進む。
角度の値だけ右に曲がる。
一辺の長さの値だけ進む。
角度の値だけ右に曲がる。
一辺の長さの値だけ進む。
角度の値だけ右に曲がる。
値
注意:
表モデルの記述は、宣言や代入
など変化するところだけで良い。
算術式の評価について
算術式の働き
計算する
計算(四則演算)する
算術式を使ったプログラム
※一人あたりの飲み代を
※計算するプログラム
変数を定義する。名前を「お会計」とする。
変数を定義する。名前を「人数」とする。
変数を定義する。名前を「飲み代」とする。
変数名
定義する
定義する
定義する
お会計に12000を書き込む。
人数に4を書き込む。
書き込む
書き込む
飲み代に、お会計の値を人数の値で
割った値を書き込む。
「飲み代は・・・」を出力する。
飲み代の値を出力する。
読み出す
読み出す
計算する
書き込む
読み出す
値
お会計
12000
人数
4
飲み代
3000
値や文字列を出力するには?
以下のように書く。
「こんにちは。」を出力する。
100を出力する。
飲み代の値を出力する。
記法は以下の通り。
値を出力する。
値には文字列や整数、変数や算術式が書
ける。
計算するには?
以下のように書く。
10に3を足した値
大きさの値から10を引いた値
飲み代の値を人数の値で割った値
記法は以下の通り。
値に値を足した値
値から値を引いた値
値に値を掛けた値
値を値で割った値
実行時には計算結果の値に置き換えられ
る。これを「算術式の評価」と呼ぶ。
算術式を評価すると・・・
以下の例は、算術式を評価して代入している
飲み代に、お会計の値を人数の値で割った値を書き込む。
飲み代に、12000を4で割った値を書き込む。
変数名
値
お会計
12000
人数
4
3000
飲み代
飲み代に、3000を書き込む。
数式のように算術式を記述するには?
以下のように書く。
10+3
大きさの値-10
飲み代の値÷人数の値
記法は以下の通り。
記法
足算
引算
掛算
割算
余算
値+値
値-値
値×値
値÷値
値%値
使用できる記号
+(全角)
-(全角)
×(全角)
÷(全角)
%(全角)
+(半角)
-(半角)
*(半角)*(全角)
/(半角)/(全角)
%(半角)
実行時には計算結果の値に置き換えられる。
これも「算術式の評価」と呼ぶ。
数式のような算術式を評価する
と・・・
以下の例は、算術式を評価して代入している
飲み代に、お会計の値÷人数の値を書き込む。
飲み代に、12000÷4を書き込む。
変数名
値
お会計
12000
人数
4
3000
飲み代
飲み代に、3000を書き込む。
課題2:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
各行における表モデルを書いてくだ
さい。また9行目の評価の模様を図
示しなさい
変数を定義する。名前を「半径」とする。
変数を定義する。名前を「円周率」とする。
変数を定義する。名前を「円の面積」とする。
変数名
値
半径に10を書き込む。
円周率に3を書き込む。
※円の面積を求めて出力する。
円の面積に、半径の値×半径の値×円周率の値を書き込む。
「円の面積は・・・」を出力する。
円の面積を出力する。
注意:
表モデルの記述は、宣言や代入
など変化するところだけで良い。
日本語と簡略表現
変数宣言を如何に分かりやすくするか?
int x;
整数型 x;
x(整数型)がある。
xがある。
xを定義する。
変数を定義する。名前をxとする。
日本語と簡略表現
代入と評価を如何に分かりやすくするか?
x=y;
xにyを代入する。
xにyを書き込む。
xにyの値を書き込む。
日本語と簡略表現
式の評価を如何に分かりやすくするか?
飲み代=お会計/人数;
飲み代に、お会計÷人数を書き込む。
飲み代に、お会計を人数で割った値を書き込む。
飲み代に、お会計の値を人数の値で割った値を書き込む。
課題3
ローレル指数を求めるプログラムがあります。
各行における表モデルを記述してください。
またローレル指数計算の評価の流れを記述し
て下さい。
ソースコードは以下のURLからダウンロードで
きます。
http://www.crew.sfc.keio.ac.jp/~turkey/rohrer.dama
ローレル指数を求めるプログラム
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
変数を定義する。名前を「身長」とする。
変数を定義する。名前を「体重」とする。
変数を定義する。名前を「ローレル指数」とする。
変数名
※身体情報を保存する。
身長に168を書き込む。
体重に55を書き込む。
※ローレル指数を表示する。
体重の値×10000000÷身長の値÷身長の値÷身長の値を、
ローレル指数に書き込む。
「ローレル指数は:」を出力する。
ローレル指数の値を出力する。
値
課題4
渦巻きを描くプログラムがあります。
変数の変化を、配布した表モデルノートに記述し
てください。
ソースコードは以下のURLから
取得しなさい
http://www.crew.sfc.keio.ac.jp/~turkey/Uzumaki.dama
課題5
「SFC」を描くプログラムがあります。
変数を使って書き直し、2倍の大きさの
「SFC」を描くプログラムにしなさい。
ソースコード
http://www.crew.sfc.keio.ac.jp/~turkey/SFC.dama
10歩
20歩
20歩
40歩
10歩 10歩 10歩
20歩 20歩 20歩
言霊環境のインストール
前回の言霊環境をアンインストール後、
インストールしてください。
http://www.crew.sfc.keio.ac.jp/~turkey/
Kotodama_Install20041108.exe
課題提出に関して
課題1~4は授業中に提出してください。
(出来たところまでで良いですよ)
課題5の提出先アドレスは以下です。
[email protected]
出来たところまでを添付ファイルで送ってくださ
い。
メール本文には授業の感想をお願いします。
サブジェクトは半角で report05 にして下さい
来週の準備
http://www.crew.sfc.keio.ac.jp
/projects/2004hcpviewer/
来週の授業までに
ダウンロード・インストールして下さい