Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10664 / 13644 ツリー ←次へ | 前へ→

【20536】プログラミングの説明について てぃん 04/12/11(土) 18:43 質問[未読]
【20557】Re:プログラミングの説明について IROC 04/12/12(日) 1:26 回答[未読]
【20566】Re:プログラミングの説明について ichinose 04/12/12(日) 11:46 回答[未読]

【20536】プログラミングの説明について
質問  てぃん  - 04/12/11(土) 18:43 -

引用なし
パスワード
   教えてください!大学でVBAのプログラミング
についての問題をだされたのですがまったくわかりません…。
「ユーグリッドの互除法を、2数を設定してマクロにより説明せよ。」
という問題と、
「倍精度で機械のエプシロンを出力するプログラムでセルのD54以降が
 0となる。この理由を述べよ」
という問題が出ました。わかる方教えていただけませんか?
よろしくお願いします。

【20557】Re:プログラミングの説明について
回答  IROC  - 04/12/12(日) 1:26 -

引用なし
パスワード
   この辺りが参考になると思います。

http://www.comm.musashi-tech.ac.jp/~arimoto/goat/jyouhouEnsyuu2000/ryo/Yugrid.c

http://web.fuip.fukuyama-u.ac.jp/kenkyu/ozeki/ozeki/pdf/paper.pdf

【20566】Re:プログラミングの説明について
回答  ichinose  - 04/12/12(日) 11:46 -

引用なし
パスワード
   ▼てぃん さん、IROCさん、こんにちは。

>教えてください!大学でVBAのプログラミング
>についての問題をだされたのですがまったくわかりません…。
>「ユーグリッドの互除法を、2数を設定してマクロにより説明せよ。」

2数を割り算した余りと割った数をまた割り算して・・・
余りが0になるまで繰り返す方法でしたよね?

'=========================================================
Sub main()
  Dim GDC As Long
  Dim a As Long
  Dim b As Long
  a = 19: b = 18
  GDC = get_GCD(a, b)
  MsgBox a & " と " & b & "の" & vbLf & _
      "最大公約数: " & GDC & vbLf & _
      "最小公倍数: " & a * b / GDC
End Sub
'================================================================
Function get_GCD(n1 As Long, n2 As Long) As Long
  Dim big As Long
  Dim smll As Long
  Dim amari As Long
  If n1 >= n2 Then
   big = n1
   smll = n2
  Else
   big = n2
   smll = n1
   End If
  get_GCD = 1
  Do While smll <> 0
   amari = big Mod smll
   If amari = 0 Then
    get_GCD = smll
    End If
   big = smll
   smll = amari
   Loop
End Function

コメントは付けませんから、考えてみて下さい。

>という問題と、
>「倍精度で機械のエプシロンを出力するプログラムでセルのD54以降が
> 0となる。この理由を述べよ」
こっちは、まるっきり知らないのであしからず・・・。

10664 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free