ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 01:30

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
 記事の件名: Sqr()関数に問題あり
投稿記事Posted: 2009年10月02日(金) 23:23 
Sqr()関数に問題があります.
しかも,C:\Program Files\ActiveBasic 5.0\ablib\src\basic\function.sbp内のソースコードの修正が反映されない様で簡単には対応できません.

以下のソースをVer.4.20でコンパイルすると正しく動作しますが,5.0ではInfinityと表示されてしまうものが現れます.

Dim i As Long
Dim x As Double, y As Double
Dim s As String
s=""
For i=1 To 20
x=0.5*i
y=Sqr(x)
s=s+"Sqr("+Str(x)+")="+Str$(y)+Chr$(13)
Next
MessageBox(0,s,"Sqr()のテスト",MB_OK)

私見ですが, 標準的な関数に関してもソースコードの修正が有効な方が使い勝手が良い様に感じます.

次バージョンで反映いただければ幸いです.


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2009年10月04日(日) 23:55 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
報告ありがとうございます。
失礼ですが、バージョンはいくつでしょうか。公開されている中で一番新しい5.0 CP3で私が実行したところ、Infinityとなるものはありませんでした。
コード:
---------------------------
Sqr()のテスト
---------------------------
Sqr(0.5)=0.707106781186547
Sqr(1)=1
Sqr(1.5)=1.22474487139159
Sqr(2)=1.41421356237309
Sqr(2.5)=1.58113883008419
Sqr(3)=1.73205080756888
Sqr(3.5)=1.87082869338697
Sqr(4)=2
Sqr(4.5)=2.12132034355964
Sqr(5)=2.23606797749979
Sqr(5.5)=2.34520787991171
Sqr(6)=2.44948974278318
Sqr(6.5)=2.54950975679639
Sqr(7)=2.64575131106459
Sqr(7.5)=2.73861278752583
Sqr(8)=2.82842712474619
Sqr(8.5)=2.91547594742265
Sqr(9)=3
Sqr(9.5)=3.08220700148449
Sqr(10)=3.16227766016838

---------------------------
OK   
---------------------------
標準関数のソースの変更が反映されないことについてですが、これはコンパイル時間短縮のため予めコンパイルしたファイルを利用するようになったためです。将来的には、標準ライブラリのソースコードを修正したときに、それを反映する方法をきちんとアナウンスするようになるかもしれません。しばらくお待ちください。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2009年10月04日(日) 23:59 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
申し訳ありません。一番新しいのはCP5でしたね。たしかにInfinityだらけでした。まだ公開されていない最新版では問題なく動作しますので、次の公開版までお待ちください……。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[14人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean