トップ 履歴 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

TextForHSP03

*disclaimer
603051

[HSP]

03. 配列、繰り返し、データの記録と保存など


  • 各自の「10問クイズ」の課題をお互いに試す。

  • 感心した点と、改善するとよい点を、コメントする。
    • それぞれの人のプログラムのスレッドにコメントを「返信」する。

  10問作ってみての感想は?

  • 行数は何行?
  • 次は、20問作ってみようかな?

  03.1 配列



03.1.1 配列とは


  • 変数に複数のものを入れられるようにしたもの。
  • 番号付の箱をならべてひとまとめにしたイメージ。
  • 番号で要素を指定できる(0番から始まる点に注意)
  • 要素の数を調べる length(配列名)

03.1.2 配列を使ったプログラミングのコツ


  • 番号で対応付ける。1番の問題には1番の解答。
  • 真・偽を数字で表しておく。(1は真、0は偽)
  • ポイント:呈示内容と、処理部分をわけて書く。

  03.2 forを使った繰り返し

for 変数, はじめの数, 最終値, 増やす量
	処理を書く
next

  • i を0から10まで繰り返す。1ずつ増やす。
for i, 0, 10, 1 
	mes i
next
  • 0から9まで10個の数字が「メッセージ」出力される。
  • 「最終値」がややっこしいので注意。最終値は変数に入るけれど、命令は実行されない。
終値に達した時点で、繰り返しから抜けます(終値はループに含みません)。

  03.3 ifとelse で場合分け

if 条件 {
	すること
} else {
	その他の場合にすること
}

  03.4 計算(+ - * /): 整数と小数


  • デフォルトは整数
  • 小数まで扱うには、別途宣言する。double()
  • 整数にするには、int()
wariai = double(wariai) ; 割合を実数(小数も)で
maru = double(maru)
zenbu = double(zenbu)

wariai = (maru/zenbu) * 100 ; 小数点以下も含めて計算
wariai = int(wariai) ; 整数(小数点以下切捨て)に戻す
  • 四捨五入は、round()

  03.5 その他の注意点


  • 同じことを何度もするときは、サブルーチンにまとめること
  • 利用者にフィードバックを返すこと

  03.6 データの記録と保存:結果をファイルに記録する



03.6.1 使いやすくする改善ポイント


  • 問題番号も出るように
  • 条件に応じてメッセージを変える。
    • よくできました、がんばりましょう、もういちど
  • 背景を変えることで、場面の変化をユーザーに知らせる。
    • 変化には「意味」をもたせる
    • 注意:無意味な変化は混乱のもと

03.6.2 回答の記録:note系の命令群

notesel 変数
noteadd 記録内容
notesave "ファイル名"
  • notesel で事前に「記録ノート」を用意。
  • noteadd する度に「記録ノート」に一行ずつ記入されていく
  • 最後に、「記録ノート」を、ファイルとして保存する。
noteadd "正答率は"+wariai+"%でした"
notesave "log.txt"

  今日の課題


自分の「10問クイズ」を数を増やし、改良してください。

  1. 配列を使うこと
  2. 問題数を何問(11問以上)にしても、「処理部分」を変えなくてすむようにすること
  3. 使う人にとってわかりやすくすること
  4. 結果をファイルに保存できるようにすること


=> TextForHSP04