コロックル(おそらくプロトコル)の双方向フローチャートについて、以下のような構成で作成すると良いと思います。
【クライアント側のフロー】
1. 開始
2. 合図を出す(サーバーに信号送信)
3. 25秒動作開始
4. タイマー開始(25秒カウント)
5. 25秒経過を待つ
6. 25秒経過後、休憩開始(5秒)
7. 5秒休憩完了
8. サーバーからの通知を受信待ち
9. 終了
【サーバー側のフロー】
1. 開始
2. クライアントからの合図を待つ
3. 合図受信?
- NO: 2に戻る
- YES: 次へ
4. タイマー開始(25秒測定)
5. 25秒経過判定
6. 休憩時間タイマー開始(5秒)
7. 5秒経過判定
8. 合計30秒経過を確認
9. クライアントに通知送信
10. 終了
【双方向の通信ポイント】
• クライアント→サーバー:合図信号
• サーバー→クライアント:30秒経過後の通知
【プログラム例(Python風の疑似コード)】python
# クライアント側
class Client:
def start():
send_signal_to_server() # 合図送信
timer_25_seconds() # 25秒タイマー
rest_5_seconds() # 5秒休憩
wait_for_notification() # サーバーからの通知待ち
# サーバー側
class Server:
def start():
while True:
if receive_signal_from_client(): # 合図受信待ち
break
timer_25_seconds() # 25秒測定
timer_5_seconds() # 5秒測定
send_notification_to_client() # 通知送信
【フローチャート作成のコツ】
1. クライアントとサーバーを左右に分けて描く
2. 矢印で通信の方向を示す
3. 判断記号(菱形)で条件分岐を表現
4. タイマー処理は長方形で表現
【重要なポイント】
• サーバーはクライアントの合図を受け取ってからタイマー開始
• サーバーのタイマーは25秒+5秒=30秒を測定
• 30秒後にサーバーがクライアントに通知
• 双方向通信なので、両方向の矢印を必ず描く
この構成でフローチャートを描けば、宿題の要件を満たせるはずです。頼張ってください!