abwiki @ ウィキ (ActiveBasic非公式wiki)内検索 / 「計算」で検索した結果

検索 :
  • 計算ゲーム
    ...int "計算ゲーム"*LLPrint "1 足し算"Print "2 引き算"Print "3 掛け算"Print "4 割り算"Input iseikai = 0Select Case iCase 1Gosub *TASIZANCase 2Gosub *HIKIZANCase 3Gosub *KAKEZANCase 4Gosub *WARIZANEnd SelectPrint "正解率=";seikai * 100 / 10; "%"Input "続けますか?(y/N)";qqIf qq="y" Or qq="Y" Then *LLEnd*TASIZANFor q=1 To 10a ...
  • DCT(離散コサイン変換)
    ...ンパクトで実数のみで計算ができることから実装しやすく、 JPEGやMPEGなどの動画、MP3などの音声圧縮などに多く用いられている。 MMXなどで計算することも可能で、コーデックのDCTがMMX/SSEに対応している場合は、 PentiumMMXなどのCPUでもMPEG1動画を容易に再生することができた。 離散コサイン変換(DCT)は時間変動する波形を周波数成分に変換し、逆離散コサイン変換 (InverseDCT)は、周波数成分の分布から時間波形を再構成する。 時間波形を周波数変換する場合は、フーリエ級数の考え方に従い、さまざまな周波数の 振動波形(DCTの場合はCos関数)にたいして源信号との間で積分し、その後に周波数成分を 得ている。 通常、DCTと言う場合はDCT-2の式を意味し、IDCTがDCT-3の式を表す。下記のDCTはDCT-2となり、 DCT...
  • AB実力テスト
    ...入力し三角形の面積を計算し表示するプログラムを作れ 問3 変数a,b,c,をそれぞれ入力し、大きい順に表示するプログラムを作れ 問4 aの平方根を求めるには、まず√aの近似値x0を考えて次の式に従って計算する。 x = 0.5 * (x0 + a / x0) これで得られたxはx0よりも√aの近似値になっている。xをx0に代入しこの計算を繰り返せばさらに近い値が求まる。 aを入力させ√aを計算し表示するプログラムを作れ 問5 n,mを整数としkを配列とする。初期値としてmより小さいk[0]を与え次の計算を繰り返すことで乱数を得られる。 k[i+1] = (n * k[i]) mod m 乱数を100個作り表示するプログラムを作れ 問6 文字列s2の中の任意の文字に等しい文字をs1から除去する関数squeezse(s1, s2)を作れ 問7 モンテカルロ法によって円...
  • Exp
    ...説明 |指数関数を計算します。 戻り値 |この関数は、のe^number という計算を行います。e の値は約 2.718282 です。 参照 |Log
  • 32ビット
    ...数のこと。 一度の計算で0-2^32までの大きさを扱うことができ、 もし16ビットの値だったら1回で2回分の計算ができるってこと。 64ビットCPUをもったIA64とかN64とかあるけど、 今のところ32ビットがやや優勢。 AB作者の山本さんは64ビットへの関心が強かったらしい。 開発者として新しい機能、とかは挑戦したいものだろう しかしABユーザーが使いこなせるわけなかった。
  • ここまでのまとめ
    ...。 平方根の計算プログラムを作ってみよう #N88BASIC 関数。aの平方根を求める Function sqrt(a As Double) As Double Dim x0 As Double Dim d As Double If a 0 Then 入力が負の時は-1を返す。 sqrt = -1 Exit Function End If d = 0.00000001 差の幅 sqrt = a/2 近似値 Do x0 = sqrt sqrt = 0.5*(x0+(a/x0)) Loop While Abs(sqrt-x0) d 計算結果の幅が小さくなるまで繰り返す End Function Dim x As Double Input x Print sqrt(x)
  • 変数宣言どうやるの?
    ...が打ち込んだデータを計算したり、計算結果を記憶することができる。 宣言 宣言とは、今から変数を使いますよっていう意思表示のこと。 ABでは変数にも用途に応じた幾つかの種類があってはじめのうちは大変。でもすぐなれる。 変数名をvaname、型名をtypenameとすると その変数の宣言は次のようになる。 Dim vaname As typename 変数名には(英文字|アンダーバー)(英文字|数字|アンダーバー)*が使える。勿論、予約語は使えないよ。 スペースが使えたり256文字より長い変数名だとコンパイラが調子狂ったりするけど気にしたら負け。 型名についてくわしくは基本型を参照のこと。 Dim a As Long'Long型(整数)の変数aを宣言Dim b As Double'実数型の変数bを宣言a=300b...
  • 出力
    計算結果を表示すること。
  • Tan
    ... 説明 |正接の計算。 戻り値 |正接。 参照 |
  • pow
    ...説明 |xのy乗を計算します。 戻り値 |同上 参照 |ipow
  • CPU
    コンプータの計算を行うところ。 速い、ものが好まれる。 ABは中途半端なので、逆アセンブルも標準ではできず、 最適化を施すにはやりにくーい。
  • ipow
    ...説明 |xのn乗を計算します。 戻り値 |同上 参照 |pow
  • Sqr
    ... |指定値の平方根の計算。 戻り値 |number=0なら0、0より大きければ平方根、0未満なら-1が返る。 参照 |
  • ステップ3 「プロシージャ呼び出し、プロシージャ作成」
    ...上乗せした税込価格を計算するプロシージャを作成し、呼び出してみまひょ。 Dim value1 As Long Dim value2 As Long Dim buffer As String Function GetPrice(a As Long) As Long GetPrice=a+a*0.05 End Function value1=100 value2=GetPrice(value1) buffer="定価\"+Str$(value1)+"、税込み価格\"+Str$(value2) MessageBox(0,buffer,"税金の計算",MB_OK) GetPriceとゆうプロシージャをFunction命令で定義していまんねん。変数aとゆうパラメータを持ち、税込み価格が戻り値にセットされておるのがわかる...
  • Cos
    ...(number))を計算します。 戻り値 |余弦値 参照 |Sin,Tan
  • コンピュータ
    電子計算機とも呼ばれる。 データを入手力したり、それを演算したり、保存もできる偉い子。 文句もあまり言わないが、たまに不機嫌になる。 人間と違って怒ったときは真っ青になることもある。 コンピュータを意のままに操る人をプログラマ、 そうでない人をインプッターという。
  • 双曲線関数
    ...ているが、定義式通り計算すると0近傍で桁落ちが生じる。そのため0近傍のsinh(x)、tanh(x)では級数展開を用いて計算する。 #N88BASICConst EPS5 = 0.001' DBL_EPSILON の 1/5 乗程度Function my_sinh(x As Double) As Double' sinh(x)Dim t As DoubleIf Abs(x) EPS5 Thent = Exp(x)my_sinh = (t - 1 / t) / 2Elsemy_sinh = x * (1 + x * x / 6)End IfEnd FunctionFunction my_cosh(x As Double) As Double' cosh(x)Dim t As Doublet = Exp(x)my_cosh = (t + 1 / t...
  • 指数関数
    ...で、指数関数の逆数を計算することによりx 0の計算に直す。 収束を早めるため、x=t+k*ln(x), -ln(x)/2 x ln(x)/2 となるtとkを求め、Exp(x)=Exp(t)*2^kとする。 このほかに、連分数を使って求める方法もある。 ActiveBasicでは級数展開を用いたアルゴリズムでExp関数が用意されている。 #N88BASICConst LOG2 = 0.6931471805599453094172321214581765680755'log_e(2)Function lldexp(x As Double, k As Integer) As DoubleDim w As DoubleIf k = 0 Thenw = 2Elsew = 0.5k = -kEnd IfWhile kIf k And 1 Then x = x...
  • AB以外の開発環境
    ...。インタプリタ。行列計算やデジマル10進モードは数値計算向き。 なでしこ |日本語プログラム言語では最強。というより国産の言語では最強。 Slim de Can(スリムドカン) |マシン語ベースのWindows開発環境。 Hot Soup Processor (ホットスーププロセッサ) |BASIC風スクリプト言語システム。 有料のもの RunBASIC |Webで動くBASIC。無料バージョンがある。RunBASICの使い方 Intel C++ Compiler |世界最強のコンパイラ。リンカはVCのを使う 参考 C言語への移行
  • ステップ2 「If文、For文、その他のプログラム制御命令」
    ...応…) ある計算を、任意の回数だけ繰り返して行うのがFor文の役目や。 For カウンタ変数=初期値 To 終値 [Step 増分] ループ内部のプログラム... Next "Step 増分" を省略すると、増分に1がセットされまんねん。試しに、For文を利用して1+2+3+...+10の計算を行ってみまんねん。 Dim i As Long Dim sum As Long Dim buffer As String For i=1 To 10 sum=sum+i Next buffer="1+2+3+...+10=" + Str$(sum) MessageBox(0,buffer,"For文のテスト",MB_OK) このプログラムでは、"sum=sum+1" ちう...
  • Gotoのメリットとデメリット
    ...リング完全となるので計算機上表現できるあらゆるコードを書ける。(Java等はgotoが無く、テンプレートやGenerics等がないとチューリング完全ではないらしいので、本質的に表現できない形式が存在する事になる。Javaゲームがつまらない原因の可能性がある) デメリット 極端にGotoを嫌う人に叩かれる 一般に読みにくいコードになる 後藤さんが好き 一般的にgotoを使いすぎるとコンパイラの最適化効率が落ちる。
  • 文字列に保存された数式を計算する
    DLLライブラリをだうんろーど http //www.vector.co.jp/soft/win95/prog/se136814.html #consoleDeclare Function Kaiseki cdecl Lib "epmath" (mojiretu As BytePtr, err As WordPtr) As DoubleDeclare Function Kaiseki_VB Lib "epmath" Alias "_Kaiseki_VB@8" (mojiretu As BytePtr, err As WordPtr) As DoubleDim bstr(31) As ByteDim i As Wordlstrcpy(bstr,"1+2*5")print Kaiseki(bstr,VarP...
  • Bernoulli(ベルヌーイ)数
    ...tion'計算機イプシロン(1 + eps =1 を満たさない最小の正の値)Const SGL_EPSILON = 2.2204460492503e-16Const DBL_EPSILON = 2.2204460492503e-16Const N = 40Dim i As IntegerDim n As IntegerDim q As DoubleDim b1 As DoubleDim b2 As DoubleDim d As DoubleDim t[N + 1] As Doubleq = 1t[1] = 1For n = 2 To NFor i = 1 To n - 1t[i - 1] = i * t[i]Next it[n - 1] = 0For i = n To 2 Step -1t[i] = t[i] + t[i - 2]Next iIf (n mod 2) = 0...
  • ビギナー
    ...するように 愚かな計算して何を守るの? 僕らは生きているか? 明日も生きていたいか? わかったふりして 知ったかぶりで 夢も久しぶり そう 僕らは生きているか? 命無駄にしてないか? 脈を打つ鼓動を今 感じろ! Stand up! Together! 生まれた日 思い出せ! 誰もがBeginner! Stand up! Right away! 初めから 簡単に 上手くは行かねえ Stand up! Together! 最初に戻ればいい もいちどBeginner! Stand up! Right away! 開き直って 開き直って どうにかなるさ 古いページは破り捨てろ さあ 始めようぜ! We can be reborn all the time 僕らは夢見てるか? 未来を信じているか? 怖いもの知らず 身の程知ら...
  • 応用
    ... じゃんけんゲーム 計算ゲーム ギャルゲーをつくろう テトリスをつくろう その他 ABのヘルプを充実させよう! AB2.62でウインドウ表示命令を使う 過去wiki HTTPの初歩 マウスキャプチャー ウィンドウのサブクラス化(1) リストビュー(3) リストボックス コンボボックス ボタン類 エディットボックス(1)
  • C言語への移行
    ...整数 int ホスト計算機の自然な整数サイズ float 単精度浮動小数点 double 倍精度浮動小数点 short/long修飾子 short int ≦ int ≦ long int short int は short と記述可能 long int は long と記述可能 long doubleは拡張精度浮動小数点数。 型の前にsignedを付けると(明示的に)符号あり、unsignedなら符号なしになる 構文 変数宣言 AB Dim 変数名 As 型 Dim a As Long Dim x As Byte Dim a[10] As Single Dim q As *DWord C 型 変数名; long a; unsigned char x; float a[11];//ABの配列は0から指定した値まで。Cの場合は指定した個数の配列 unsig...
  • 正規分布累積関数
    EXCELの同名関数と同じ動作をします。ただし計算精度は多少劣ります。 Normsdistは、絶対誤差10進で約6桁。Normsinvは、解をもう1回Normsdistで元に戻した 時点の誤差が絶対誤差10進で約6桁。したがって、単精度関数としてもいいけど、 32bitCPUで単精度というのはあまり意味ないので仕様上は倍精度関数扱いとします。 Normsdistが有効6桁では足りないというなら、ラプラス シェントンの連分数を使えば 有効桁をもっと増やすことは可能。(EXCELの最新Verはこうやってる。)統計で使う場合、 そもそも有効6桁も必要な場合ってあるんか? よって、有効6桁あれば良しとします。 Normsinv関数の引数の範囲は0≦P≦1ですが、リミットチェックしてエラー処理はしていません。 本来、こういうのをサボると使い物にならない(EXCELは、ちゃんとやっ...
  • BASIC
    ...製品の殆どにおいて表計算やワープロなどのソフトウエアのユーザー拡張機能をBASICで 記述することが出来る様に改良がされている。 Cの特徴であるgotoを使わない構造化スタイルに適応できず、Cユーザーへ過剰なコンプレックスを抱いているユーザーが多い。 おもなBASICの使い手として 愛生会 の院長が有名。
  • ステップ32 「アナログ時計を作る」
    ...、短針、長針の長さを計算 If rc.right rc.bottom Then Length_Second=rc.bottom/2-2 Else Length_Second=rc.right/2-2 End If Length_Minute=Length_Second Length_Hour=Length_Minute*0.70 '短針 If st.wHour=12 Then st.wHour=0 hPen=CreatePen(PS_SOLID,5,RGB(255,100,0)) hOldPen=SelectObject(hDC,hPen) pos.x=CenterPos.x+Length_Hour*Sin(st.wHour*PAI/6+st.wMinute*PAI/360) po...
  • C
    ...コンピュータから大型計算機まで、数多くの種類のコンピュータで動作するプログラミング言語の 一つとなっている。 C言語は、その後、1980-1990年代にオブジェクト指向というプログラミングパラダイムを含む、 C++、またはObjective-Cという、合い異なる二つの処理系に発展し、C++は巨大なライブラリを 含む言語仕様となっていった。 一般的には、C++が多く利用される【要出典】。Objective-CはApple社の製品で利用されているが、 これはMacOSXが、元はNeXT社のOSに基づいておりNeXTはObjective-Cで記述されていた為。それらの 特徴的なオブジェクト指向の設計が引き継がれ、Apple社製品ではObjective-Cが使われている。 iPhoneやiPad等のソフトウエアはObjective-Cで記述されている。 (一部...
  • ステップ9 「ビットマップビューワを作る」
    ...プの高さ、幅を取得、計算した後、ウィンドウ サイズをビットマップのサイズに変更します。 いったんメモリ デバイス コンテキスト内にビットマップを展開し、BitBlt関数でビットマップを描画します。 最後に、利用したデバイス コンテキスト、オブジェクト(ビットマップ)を破棄して終わりです。 この一連の動作が、再描画要求が出されるたびに行われることになります。再描画要求というと、ちょっとピンとこないかもしれませんが、他のウィンドウに隠れている、画面の外にはみ出しているときなどに、ウィンドウを移動したり、最前面に表示したりすると、隠れていた部分に対して再描画が要求されることになります。また、「開く」メニューのイベント プロシージャからInvalidateRect関数が呼び出されたときも、このイベントが実行されます。 Sub MainWnd_Paint(hDC As Lo...
  • データベースとは?
    ...。 なぜなら、数値計算をする場合に数学の概念が必要な様に、業務の本質的な作業内容を知らないと、 何をデータベース化するのか明確に判らないからだ。 これはトランプで遊んだ事がなければ、PCやゲーム機上でカードゲームを作ることは出来ないのと 全く同じで、トランプゲームの面白さがわからないとソフトウエアを作れない。 古い時代の管理方法は、現在でも重要だ。なぜならそれは電子化されていても、いなくとも それは業務の本質であり、業務の本質を知らないと、何を電子化すると効率的なのか、何を 電子化してはならないのか、どの作業が電子化可能で、何を電子化するべきなのか、が 分からないからだ。 本質を知らないなら、幾らUMLのコラボレーション図を書いても意味が無い。コンピュータの 知識だけでも意味が無い。 今現在、全ての業務は既に電子化されてしまっているので、業務の本質的な内容...
  • ファイルを扱う
    ...でファイルサイズから計算する、ファイルヘッダのファイルサイズを 参照しデータ読み取り範囲を指定やらなんやらする。 もう一つの方法は、ReadFile()のバッファへ格納した値の戻り値を見て、0が現れたらEOFと 判断する事。 ReadFile()はバイナリファイル、テキストファイルを区別せん。 バイナリファイルも扱うことが出来るちゅうわけや。バイナリファイルを扱う場合はAPIを使うとええ。 BASIC互換のファイル関数はバイナリを扱うことはややこしい. CreateFile(),ReadFile()の構造体の引数をNULLにする場合はByVal 0、またはByVal NULLを指定。 CreateFile(ReadFile) ファイルを開きデータを読む場合はAPIの、CreateFile関数でファイルを開きファイルハンドルをうぇる。 その後にRe...
  • マルチスレッド
    ...だが、場合によっては計算を主とする関数でも発生する可能性はある。 正しい結果が得られないという事になる。 複数のスレッドを実行しても問題ないように設計されている関数やライブラリを、スレッドセーフである、と言う。 abに含まれる関数やライブラリはスレッドセーフを保証している訳ではないので、もしスレッド内でabの関数を 同時実行しようとすると問題が生じる可能性がある。その場合は適切に競合を回避する排他制御を 実装する(クリティカルセクション)か、スレッドセーフであるCランタイムライブラリを用いる必要があるかもしれない。 Cランタイムを利用する場合は、Win32APIのCreateThreadではなく、_beginthreadexを用いる必要がある。(AB4以前の場合) CreateThreadではCランタイムに対応していない為、例外が発生する可能性がある。 な...
  • 最適化
    ...適化手法 ループ内で計算結果が変わらないものは外に出す ループ回数を減らす 分岐を減らす 並列化 SIMD Cでコードを書いてDLにする。 #include emmintrin.h enum {ADD=0,SUB,MUL };void _stdcall simd(int *r0, int *r1, int mode){__m128i m[2];m[0] = _mm_loadu_si128((__m128i*)r0);m[1] = _mm_loadu_si128((__m128i*)r1);switch (mode) {default break;case ADD m[0] = _mm_add_epi32(m[0], m[1]);break;case SUB m[0] = _mm_sub_epi32(m[0], m[1]);break;case MUL m[0] = _mm_...
  • ステップ28 「メモリ監視ツールを作る②(設定をレジストリに保存)」
    ... 新しい座標を計算 x=((OwnerRect.right-OwnerRect.left)-(DlgRect.right-DlgRect.left))/2 + OwnerRect.left y=((OwnerRect.bottom-OwnerRect.top)-(DlgRect.bottom-DlgRect.top))/2 + OwnerRect.top 位置を変更 SetWindowPos(hDlg,NULL,x,y,0,0,SWP_NOSIZE) End Sub ----------------------------------ここまで---------------------------------- ↑OptionDlg.sbpの先頭部分のコーディングです。SetDlgCenter関数には、指定したウィンドウを...
  • ステップ18 「RPGのマップ移動機能を作る③」
    ...込みと、チップ位置の計算などが追加されています。 Sub DrawCharacter(CharTipX As Long, CharTipY As Long, MiddleOffsetX As Double, MiddleOffsetY As Double) Dim hMaskDC As DWord Dim hMaskBmp As DWord Dim hTempDC As DWord Dim hTempBmp As DWord Dim x As Long, y As Long 'マップデータをコピー BitBlt(hMemDC,0,0,MAX_MAPX*MAPCHIP_PIXEL,MAX_MAPY*MAPCHIP_PIXEL,hMapDC,0,0,SRCCOPY) 'マスク用画像を作成 hMaskDC=Cre...
  • オブジェクト指向入門
    ...トルのように、現実の計算をする場合、スカラ変数を複数利用する よりも、あるまとまった数値としたほうが都合がええわけや。 二次元ベクトルを考えるとき、既存のBASIC言語には備わっておらへん変数型やけど、 type vector x as double y as double end type なんやらとするやろ、"ワイ(俺)"変数型が作れるちゅうワケや。このようなtype/end typeを使う変数定義は 構造体と呼ぶ。 使うときは、 dim p1 as vector p1.x=100 p1.y=120 等とする。 これらと同じ発想で、関数やメソッドについても同じレベルで扱えるとうれしおます。 構造体に関数やプロシージャを含めるゆう事。 大体において、そういった独自の変数型には、その型に対応するメソッドや関数が必要やから...
  • @wiki全体から「計算」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索