コンピュータプログラミング  13回目

末広ページへ このコーナーの目次へ

このページは、岐阜大 工学部 応用精密化学生命工学科97年度後期の授業です。

 


授業の案内(1月29日) 13回目

本日のテーマ

 キーボード練習

 エクセル95 VBA入門 2回目

主な内容

1 キーボード練習

2 プログラムの入力

3 Whileの使い方、組み込みの関数

教室:新実習室(前の建物の東)

本日のチェックシート

□ エクセルにプログラムの記述ができる。
   [挿入]-[マクロ]-[モジュール]で入力画面
 半角で入力(注意:漢字モードでの入力したものは全角文字といいます)

注意 このページから、コピーして張り付けるときは、スペースが全角のときがあるので、注意すること。半角のスペースに直して使用してください。また、プログラムを入力するときの空白に全角文字の空白を間違っていることがあるので、注意すること。

Sub jyanken()
 Randomize
 n = InputBox("私はジョジョ、私とジャンケンしましょう あなたは、0:しない 1:グウ 2:チョキ 3:パー")

 Do While n <> 0
   'コンピュータの出す手
  r = Rnd() '0から1までの小数の乱数
  Cells(1, 3) = r
  j = Int((r * 3) + 1) '1から3を乱数で作っている
  If j = 1 Then
   jmoji = "グー"
  End If

  If j = 2 Then
   jmoji = "チョキ"
  End If
  If j = 3 Then
   jmoji = "パー"
  End If

  Cells(1, 2) = jmoji

  '人間の出す手
  If n = 1 Then
   nmoji = "グー"
  End If
  If n = 2 Then
   nmoji = "チョキ"
  End If

  If n = 3 Then
   nmoji = "パー"
  End If

  Cells(2, 2) = nmoji

  '判定

  If j = 1 Then
   If n = 1 Then
    MsgBox ("引き分け")
   End If
   If n = 2 Then
    MsgBox ("あなたの負け")
   End If
   If n = 3 Then
    MsgBox ("あなたの勝ち")
   End If
  End If

  If j = 2 Then
   If n = 1 Then
    MsgBox ("引き分け")
   End If
   If n = 2 Then
    MsgBox ("あなたの負け")
   End If
   If n = 3 Then
    MsgBox ("あなたの勝ち")
   End If
  End If

  If j = 3 Then
   If n = 1 Then
    MsgBox ("引き分け")
   End If
   If n = 2 Then
    MsgBox ("あなたの負け")
   End If
   If n = 3 Then
    MsgBox ("あなたの勝ち")
   End If
  End If

  n = InputBox("私はジョジョ、私とジャンケンしましょう あなたは、0:しない 1:グウ 2:チョキ 3:パー")

 Loop

End Sub

□ シートを切り替えることができる。

□ コマンドボタンを張り付けることができる。
 [表示]-[ツールバー]-[フォーム]で、コマンドボタンなどの道具類を表示
 コマンドボタンを張り付ける。
 マクロ名を選択する。

□ コマンドボタンを実行できる。

□ While文の役割が理解できる?

□ 組み込み関数を使える?
  ヘルプで調べる。

課題

 今日のプログラムを修正して、ジョジョがグー以外のときも正しく判定する。

ヒント

 部分的に修正すればいい。プログラムの構造を読みとること。

 


spage@yscon.co.jp

末広ホームへ このコーナの目次へ