• 検索結果がありません。

2005/11/27 23:59 JST

ドキュメント内 8 II Δ N II p.1/83 (ページ 76-82)

提出方法

SOI のレポートシステムを用いて提出してください http://www.soi.wide.ad.jp/report/

Cricket Logo のソースプログラムをアップロードし

てください

注釈に自分の名前 ( 名字だけで OK) を書いてくだ

さいね

p ストップウォッチの状 o 態遷移図 ( ラップ付き )

0が表示 されている

計測された 時間が表示 されている

経過時間が 表示されて

いる

ラップタイム が表示されて

いる(1) ラップタイム が表示されて

いる(2)

ボタン

→開始,  0を表示

1/10秒

→更新,表示

1/10秒 スイッチa

→計測  時間表示

スイッチa

→計測停止 スイッチa

→計測再開

スイッチa

→計測再開 スイッチb

→0を表示 ボタン→停止

動いて いない

スイッチb

→表示 スイッチb

→計測時間表示

p ラップ機能付き

o when タスク

スイッチ待ち (ゼロ表示)

スイッチ待ち (結果表示)

スイッチ待ち (経過表示中)

スイッチ待ち (ラップタイム

表示中1) スイッチ待ち (ラップタイム

表示中2)

スイッチa

→計測開始

スイッチa

→計測停止

スイッチa

→計測停止 スイッチa

→計測開始

スイッチa

→計測開始 スイッチb

→リセット

スイッチb

→ラップタイム表示 スイッチb

→ラップタイム  クリア

スイッチb

→ラップタイム  クリア

・基本的にはスイッチを待つ

・計測中か区別が必要

・ラップタイムを表示しているか  区別が必要

・計測中はrunタスクに時間を

 測ってもらう

すべての状態をひとつのwhenで表し、

変数で区別します

p ラップ機能付き

o run タスク

タイマリセット 待ち

(計測停止中)

タイマ待ち (計測中) タイマ待ち (計測停止中)

タイマ

→タイマリセット,  ラップタイム表示中

 でなければ経過表示

タイマ

計測停止

→時計リセット

タイマ リセット (計測開始)

・基本的にはタイマを待つ

・whenタスクに割り込まれることがある

・タイマリセット待ちは、なくても動作する

timer>100を待つ、ひとつの

waituntilで表し、変数で区別します timer<100を待つ、ひとつの

waituntilで表します

やってみよう

ラップ機能を付けよう

変数

lap

がラップタイムを表すようにします

lap

0

なら、ラップタイムは計測されていないものとします

10 1

秒毎の処理では、ラップタイムを表示中かどうかを判定する必要があります

次の手続きを追加するとよいでしょう

(

スイッチ

b

押下への対処

) processLap (

ラップタイムの記録と解除

)

計測中

clearWatch (

ラップタイム/計測の解除

)

計測停止中

今日のメニュー

はじめに

前回のおさらい : 例外とマルチタスク処理・状態遷移図 練習問題 : 情熱のボサノヴァ・ロボ

課題レビュー

徹底演習 : ストップウォッチを作る 課題の出題

実習

ドキュメント内 8 II Δ N II p.1/83 (ページ 76-82)

関連したドキュメント