• ベストアンサー

COBOLのイニシャライズとバリュー句について

k_o_r_o_c_h_a_nの回答

  • ベストアンサー
回答No.2

正しい答えは・・ INITIALIZEを行う前の状態は、4。 INITIALIZEを行うことで、0(ゼロ)になる。

komata1222
質問者

お礼

回答ありがとうございます。 あくまでもvalue句は最初だけなのですね。

関連するQ&A

  • COBOLのINITIALIZEにあたるもの

    配列や変数を初期化する際、 COBOLだとINITIALIZE文でクリア出来ますが、 VBのそれにあたるのは無いでしょうか? もし無ければ、他の方法があれば(特に配列を 1回でクリア出来る方法)、書き込みをお願い致します。

  • COBOL

    COBOLから.NETへ移す作業をしております。 以下の点で詰まりました。 1、pic X(03) COLUMN 7. このうち、COLUMNは何をしているのでしょうか? 調べてもわかりませんでした。 2、 MOVE ZEROとイニシャライズの違いについて MOVE R-TBL TO ZEROとINITIALIZE R-TBL 実際に何が違うのでしょうか? R-TBL内にname pic X(08)という変数と number pic 9(2)という変数があったとすると ZEROの方は name⇒"00000000" で number⇒0 INITHLIZEの方は name⇒""  で number ⇒ 0 でしょうか? 3、HIGH-VALUEについて HIGH-VALUEが取りうる最大値を表すことはわかりました。 VBでもC#でもchar.MAXVALUEみたいに取れます。 name pic X(10)にHIGH-VALUEを入れるとすると.NETで実現しようとすると string name = char.MAXVALUEとなります。 これを 01 R-TBL. 02 box PIC 9(5). 02 id PIC 9(5). に代入したいのですがうまく出来ません。 どうすればよいのでしょうか?

  • COBOLとCの変数定義

    いつもお世話になってます。 今回は、COBOLとC言語の変数定義の事で質問させていただきます。 以下のCOBOLの変数定義をC言語で記述するとどのようになるでしょうか? 01 wkarea. 05 wk-code. pic s9(03) comp. 05 wk-err-code. 10 filler. pic x(01) value '0'. 10 wk-err-code-9 pic 9(05) 412. 05 wk-err-mdl. 10 filler pic x(01) value '0'. 10 wk-err-mdl-9 pic 9(40) value space. 05 wk-e-code 10 filler pic x(01) value 'A'. 10 filler pic x(01) value 'B'. 10 wl-id pic x(02). 10 wk-no pic 9(03) value xero 10 wk-level pic x(01) value low-value. ちょっと手間かも分かりませんが、どなたか詳しい方いらっしゃいましたら、お答え頂けると有難いです。 よろしくお願いします。 .

  • COBOLについて

    COBOL初心者なのですが。 COBOLで 01 A.   03 B PIC 9(02).   03 C PIC X(02). MOVE  SPACE  TO  A. とした時、基本項目であるBには何が入っているのでしょうか? 数字項目にSPACEというのはありえないですよね。 どなたかわかる方、教えていただけませんか?

  • COBOLのHIGH-VALUEについて質問!

    仕事で現行のシステムがCOBOLのプログラムを触る機会が出来たのですが COBOLを触った事がないので教えて下さい!>< ファイル読み込み後の処理でHIGH-VALUEを使って比較をしているのですが HIGH-VALUEが何を示しているのかがいまいちわかりません ↓↓↓プログラム一部↓↓↓ READA.    READ LINE AT END GO TO ENDA.    IF KUBUN = HIGH-VALUE GO TO READA. ↑↑↑↑↑↑↑↑↑↑↑↑↑ IFでHIGH-VALUEと比較しているKUBUNの属性はXです。 よろしくお願いします><

  • COBOLのCOUNTER

    COBOL初心者です。 COBOL97を使用しています。 人数を入力して、入力した人数の得点を入力、 入力した得点の平均、合計、最大、最小を表示するプログラムを作成しています。 PERFORM文とCOUNTERの指定方法がよくわかりません。 COUNTERは数字でなければならないのでしょうか? どのようにプログラムを書いてよいかわかりません・・・・ どなたかお助け下さい。 お願いします。 01 VAL. 02 VAL PIC 9(4). 01 MAX-VAL PIC 9(4) VALUE ZERO. 01 MIN-VAL PIC 9(4). 01 TOTAL-VAL PIC 9(4). 01 AVERAGE-VAL PIC 9(4). 01 COUNTER PIC 9(1). 01 PEOPLE PIC 9(15). 01 MAX-Disp PIC Z(3)9. 01 TOTAL-Disp PIC Z(3)9. 01 AVERAGE-Disp PIC Z(3)9. 01 MIN-Disp PIC Z(3)9. 01 得点 PIC 9(4). PROCEDURE DIVISION. DISPLAY "人数を入力してください". ACCEPT PEOPLE. DISPLAY PEOPLE "人です". DISPLAY "テストの得点を入力してください". PERFORM TEST BEFORE VARYING COUNTER FROM 1 BY 1 UNTIL COUNTER > PEOPLE

  • COBOLの変数

    COBOLの勉強をしているのですが、下記の記述がありました。 たとえば、-1000を代入する場合、 PIC 99999.なら、00100になる PIC ZZZZZ.なら、 10000になる とありました。 なぜ、桁がずれているかわかりません。 予想では PIC 99999.なら、01000になる PIC ZZZZZ.なら、 1000になる なのですが、間違えなんですよね? どなたか、理由を教えてください。 よろしくお願い致します。

  • COBOL等でのHIGH_VALUEについて

    いつもいろいろ教えていただきありがとうございます。 先日職場で仕様書に「HIGH_VALUE」という単語がでてきました。 ネットで調べましたがCOBOL由来の技法ということまでしかわかりませんでした。 C言語のソースもありましたが構文的には読めたのですが なにをしているかは理解できませんでした。 どうか教えてください。 また、この技法は汎用機で使われた技法で 現在使うには注意が必要だという記述がありました。 この点についてもご教示いただけたら幸いです。

  • COBOL数値転記の仕様

    このたび、まったくの未経験のCOBOLをやることになりました。 で、数値データの表し方になんやかやとやたら方法があるようなのですが、それらを互いに「転記」したときに、どういう結果になるものか、皆目わからないんです(環境はCOBOL85でWindows上での開発です)。 テクニックとしては基本だと思うのですが、それでいてどこにも説明されていな~い!フリーのCOBOLツールは見つけてきましたが、使い方が???なもので…。  たとえば、  01 X1 PIC XX (数値が入ってるとします)  01 N1 PIC 99  01 D1 PIC 99 COMP  01 B1 PIC 1(16) BIT な場合、X1とN1は直接  MOVE N1 TO X1 などとやってもデータは失われないと思うんですが、他の形式での操作は(桁あふれとか無視して)ちゃんと転記できるのでしょうか。 いま特に、D1からX1へというパターンが多いです。1バイトの2進データを、数値の文字列として使おう、というんです。いわば、1バイトを3バイトに展開してやるんです。何も考えずに書けば、  01 D2 PIC 9(4) COMP VALUE 97  01 X2 PIC X(3)  MOVE D2 TO X2 でしょうけど、たぶん'a△△'になるだけのような気がします…。  それとも、  01 N2 PIC 9(4)  MOVE D2 TO N2  MOVE N2 TO X2 などとやっていけたりするのでしょうか。 いったいどうなるのでしょう、いろいろ書いちゃいましたけど、各々の転記の仕組みを教えてください。 また、COBOLの(お堅い規格を書き写しただけでない)解説のサイトなどあれば、ご紹介いただけますでしょうか。

  • COBOLでのBIT操作

    質問です。 COBOL(COBOL85)でBITを扱うことはできるのでしょうか? 例えば、PL/IではBIT属性があり DCL xxx BIT(n) のような定義ができますが、 COBOLでは、BIT属性の定義ができるのでしょうか? また、合わせてCOBOL2002(?)では、 上記のようなことができるのでしょうか? COBOL2002のマニュアル本で、 xxx PIC 1(m) BIT(n) の定義文をみたことがありますが。。。