• 締切済み

COBOL計算式の中間ワークについて

今度「F」から「N」のマシンリプレースに伴い、業務アプリケーションを移行することになりました。言語はCOBOLでコードを移行することはできるのですが、COMPUTE命令等で計算していく過程で有効桁数や小数以下の桁数によって結果が変わってくることを懸念しています。どなたか、「F」と「N」の違い等についてご存知の方がいらっしゃいましたら教えてください。

みんなの回答

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.1

情報が圧倒的に足りません。 1.FとNではなんの事かわかりません 富士通とNECであろう事は想像できますが、【想像】で回答していいのか?と勘ぐってしまいます。 2.メーカー名が(仮に)特定できても機種がわからない メインフレームなのか、オフコンなのか。 同じオフコンでもシリーズによってアーキテクチャが違う場合があります。 同じシリーズでも機種(発売時期)によってアーキテクチャが変更されている場合もあります。 3.COMPUTE命令だけでは何が問題かわからない COMPUTEでどんなことをしたいのか不明です。 一般にCOBOLの演算はBCD演算なので有効制度はプログラムで決定します。 有効精度に問題が出るということはCOMPされていることが想像されますが、COMPの種類がわからないとどういう問題を心配されているのかがわかりません。 現時点でできる回答は「該当機種のアーキテクチャ解説書とCOBOLのマニュアルを読んで比べてください」しかありません。

katuy
質問者

お礼

回答ありがとうございます ご指摘(回答)内容は、ごもっともです。 こちらとしても機種情報や、実際のソースプログラムを入手する前に質問をしてしまい、申し訳ありませんでした。 一旦、締め切りをさせていただき、詳細情報を入手した段階で再度質問したいと思います。 ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • COBOL計算式の中間ワーク桁数について

    富士通オフコン:GP6700-1、OS:ASP Version V10 のCOBOL で 例えば、WORKING-STRAGE SECTION で 01 WORK-AREA. 03 A PIC S9(10)V9(03). 03 B PIC S9(10)V9(03). 03 C PIC S9(10)V9(03). 03 D PIC S9(10)V9(03). 03 E PIC S9(10)V9(03). 03 F PIC S9(10)V9(03). という項目があって COMPUTE E = ( A + B ) * C / D. COMPUTE F = A * B + C / D. を実行する場合、 (1) A + B の結果を格納する中間ワーク(1) (2) 中間ワーク(1) * C の結果を格納する中間ワーク(2) (3) A * B の結果を格納する中間ワーク(3) (4) C / D の結果を格納する中間ワーク(4) の4つはコンパイラが所定のルールに従って用意すると思います。 この中間ワーク(1)、(2)、(3)、(4)の属性/桁数をコンパイラが決定する際のルールを 教えて下さい。

  • AIXからRHEL6への移行

    現在H社のAIX(SJIS)のシステムをF社のRHEL6(SJIS)への移行を計画中です 業務アプリケーションは COBOL2002 データベースはORACLE 10GからORACLE11G その他HULFTやFTPも使っています 実際に移行した方、ありましたら想定する問題点と解決策 その他注意事項等ありましたらよろしくお願いします

  • Java初心者です。

    Java初心者です。 --------------- double f; m = 9; n = 2; f = m/n; System.out.printf("%5.1f\n",f); f = (double)m/n; System.out.printf("%5.1f\n",f); --------------- 上記のような記述で実行すると、 --------------- __4.0 __4.5 --------------- という実行結果が得られました。 %5.1f の 5の数字って全体の桁数を指すんですよね。 実行後、全体で4桁しかないように見えるのですが、もしかして小数点も桁数にカウントされるんでしょうか? それと、f = m/n 及び f = (double)m/n の違いが分かりません。 初めから f は doubleで宣言してあるのに、なぜ f = m/n では4.5にならないのでしょうか? 回答よろしくお願いしますm(_ _)m

    • ベストアンサー
    • Java
  • 数列の極限

    数列{an}の極限を求めよ。 nの桁数f(n)に対し、an=f(n)/log10 n (n>=2) このような問題があるのですが、模範解答では、 10^(f(n)-1)<=n<10^f(n)から f(n)-1<=log10 n<f(n)を経て 1<an<=1+1/log10 n という部分があります。 わからないのが、「f(n)-1<=log10 n<f(n)を経て 1<an<=1+1/log10 n」の過程です。 どう式変形をしても、僕の力では求められませんでした。 誰か教えてください。

  • Windows上の動作を記録できるツールについて

    お世話になっております。 掲題の件について、今回古いサーバをリプレースして新しいサーバへの移行を検討しております。 新しいサーバが導入後、1ヶ月間ほどテスト的に業務系システムを稼動し、問題ないことを確認後本番環境への移行を考えているのですが一点懸念事項が御座います。 いざ本番環境へ移行する際、旧環境の1か月分の差分データを新しい環境へ移行する必要がありますが、どのファイル・フォルダが差分データかこのままでは判別できないと考えております。 そこでファイル・フォルダの作成やファイル更新を検知し、ログとして保存しておけるツール等ありましたらお教え下さい。 以上、よろしくお願い致します。

  • コーディングについて。

    コーディングとは、コンピュータにコード入力する事を言います。 転じてプログラミングの意味で使われますが、プログラムコードを書くこと全般を言います。 プログラムコードはふつうソースコードと呼びます。 ソースコードとは普通はテキストファイルの形で保存されるコードのことです。 アセンブリ言語もテキストファイルに書き込んでゆきます。 マシン語は、基本的にはテキストファイルではなく、実行形式のバイナリファイルそのままをバイナリエディタや専用エディタで編集します。 C言語中のインラインアセンブラのように、そこにマクロ命令でマシン語を書き込む事も出来るには出来ます。 勿論、マクロアセンブラ(MASM)のようなアセンブリ言語でもマクロ命令でマシン語コードを記述出来ます。 大昔まで言えば、穿孔テープを使っていた頃のコンピュータなら、テープに穴を空ける作業もコーディングです。 穿孔テープは穴の有無を2進数で示していて、そこに必要に応じてチェックサムなどを付けたものですが、これは紛れもなくマシン語です。 これら全てを総じてコーディングと呼びます。 ですから、アセンブリ言語もマシン語もそれを書くことはコーディングです。 以下四つの質問に答えていただけると幸いです。 ①テキストファイルとは何でしょうか? ② マシン語は、基本的にはテキストファイルではなく、実行形式のバイナリファイルそのままをバイナリエディタや専用エディタで編集します。 C言語中のインラインアセンブラのように、そこにマクロ命令でマシン語を書き込む事も出来るには出来ます。 勿論、マクロアセンブラ(MASM)のようなアセンブリ言語でもマクロ命令でマシン語コードを記述出来ます。 ここの意味がわかりません。もう少し詳しく教えて頂きたいです。 ③チェックサムとは何でしょうか? よろしくお願いします。 と ④テキストは文字コードが割り当てられた、16進数でいう0x20~7f のものです。 マシンコードは8bitなら全部 0x00~oxff 全部の値があり得ます よろしくお願いできればと思います。

  • Webアプリでクライアントマシンの情報を取りたい

    こんにちは。初めてご質問させて頂きます。WEBアプリケーションをこれから開発しようとしているのですが、(Servlet&JSPで、スクリプト言語は未定です) 処理の過程でクライアントマシンのHDのボリュームシリアルと、シリアル番号を取得する必要があります。 経験が無いのでどうやって取ればよいのか(特にシリアル番号)困っている所です。ご存知の方いらっしゃいましたらお助け下さい。 よろしくお願い致します。

  • linux・FreeBSD上でのプログラムについて

    業務用プログラムをNEC-PC9821のMS-DOS上で制作するオヤジプログラマです。PC9821もカタログから消えたので、次期システム更新の為DOS/VにWindowsを載せVB・デルファイ・dBASE7などで開発・稼働させました。ところがOSのバグ・開発言語のバグ、サポートも無く、うんざりしていたら「日本はCPUもOSもアメリカの植民地になったのだから、欠陥品を押しつけられても文句が言えない」と言われ「なるほど」と理解しWindowsと縁を切りました。  そこでUNIX系OSなのですが、参考書を読むといきなり「電子メールの使い方」などが登場し、肝心の業務用アプリケーションの組み方に関する記述は有りません。いろいろ調べるとC言語は有るようなのですが、アプリは組めるでしょうか?、是非お教え下さい。 質問1.UNIX系OSにアプリ開発言語はありますか? 質問2.その開発言語にはグラフィック命令はありますか?、N88BASICで云うLINEとかBOXのようなものです。 希望の環境は、シングルタスク・フルスクリーンで良い。伝票画面の背景はグラフィックが必要でテキストだけではつらい。要するにN88BASICみたいなことができるでしょうか?、ということなんです。

  • プログラミングについて。

    コンピュータは電圧の高い(H)と低い(L)を2進数としてCPUがクロック信号の入力を受けて処理します。 2進数はそのままだと扱いづらいので、数値的に親和性のある2のn乗進数を使います。 一般にコンピュータは1オクテットを1バイト、1ワードとしています。 その時16進数2桁で1バイトとなることから16進数表記が使われています。 なので、極論で言えば16進数2桁ではなく256進数1桁でも良かったという事です。 実は、大抵のアセンブリ言語は2進数表記を扱えます(8進数も使えるかも)。 アセンブラは16進数でも2進数でもそのまま対応するマシン語に置き換えていくものです。 アセンブリ言語とマシン語は一体一で対応しているので、実行ファイルがあれば、逆アセンブルで完全なアセンブリコードを復元出来ます。 マクロアセンブラの場合はマクロ命令までは再現されませんが、ここでは関係無いので割愛します。 つまり、マシン語とアセンブリ言語は本質的に全く同じものです。 単に、人間に読みやすく見せているものアセンブリ言語です。 マシン語もアセンブリ言語も低水準言語です。 高水準言語とは、C言語などのコンパイルを必要とするものや、BASICやJavaScriptのようにインタープリタを必要とするもののことです。 こちらは、CPUが直接解釈できるマシン語とは全く違う人間の都合に合わせた表現でコーディングし、後からマシン語に変換する仕組みのものです。 人間に読みやいコードをマシン語に変換するので、関係は一体一ではありません。 つまりコンパイルやインタープリットすると元の情報(ソースコード)は失われます。 で、① インタープリタとインタープリットとは何でしょうか?教えていただけないでしょうか?すみません。 ② マクロアセンブラの場合はなぜマクロ命令が再現されないのでしょうか?教えていただけないでしょうか?すみません。 ③ 実行ファイルがあれば、逆アセンブルで完全なアセンブリコードを復元出来ます。とはどういう事でしょうか?つまり、実行ファイルというのは、プログラマーが書いたソースコードのことでしょうか?教えていただけないでしょうか?すみません。 教えていただけないでしょうか?すみません。

  • C言語について質問です。

    C言語について質問です。    問題:繰り返し命令と階乗の計算 カウンタ用変数nの値を1から10まで1ずつ変化させて、その値を階乗用変数Kiに順次、掛け算していき、10の階乗を求めよ。 ki=1×2×3×4×5×6・・・・・×9×10 <==10! また、1/n!は小数点以下10桁まで求めよ。 実行結果は    n                 n!             1/n!    1                 1             1、0000000000    2                 2             0、5000000000    3                 6             0、1666666667    4                24             0、0416666667    5               120             0、0083333333    6               720             0、0013888889    7              5040             0、0001984127    8             40320             0、0000248016    9            362880             0、0000027557   10           3628800             0、0000002756                            続行するには何かキーを押してください、、、、、、 上のように実行結果が出るようにプログラミングしたいのですがわからないので 分かる方よろしくお願いします。 ちなみに今まで習ってきたのは、if文、switch文、do文、while文、for文なんですがこのプログラミングは、for文でおねがいします。 長文失礼しました。

このQ&Aのポイント
  • おまかせPremiumを利用してパソコンの引越を行いたいが、インストールの実行画面にならず困っています。
  • Windows8.1~11のOSの引越を行いたい場合、おまかせPremiumを利用して購入した製品を使用しています。
  • おまかせPremiumを使って引越を行う際に、HKLaunch.exeではなくインストールの実行画面になってしまいます。どうすれば正常に引越ができるのでしょうか。
回答を見る