• ベストアンサー

COBOLのAT

ACCEPTやDISPLAYでATの後ろに数字があるのですが、どのように使っているのかわかりません。 何を指している数字なのでしょうか? 指定するときのルールなどを教えてください。 また、どのようなケースで使用するのでしょうか? よろしくお願い致します。

質問者が選んだベストアンサー

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

提示されたサイトを見ました。 他の方の回答にもあるように、古い特定メーカーのオフコンなどを対象としたものであり、COBOLの標準仕様準拠でないし、かなり古いCOBOLの機能の説明が多いです。 もし、情報処理技術者試験などの対策なら、このサイトは利用しない方がいいでしょう。

goouser20
質問者

お礼

ありがとうございました。 質問してよかったです。 助かりました。

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

その他の回答 (4)

回答No.4

#3さんの回答通りでしょう。 画面制御は各社のオリジナルが多いですから。 行桁の指定なんて、解像度が一定のモニターで、固定行・固定桁じゃないと使えません。まったく一般的では無い訳です。 勉強でしたら、個人が書いてるサイトよりも、まずは書籍などでリファレンスを勉強した方が良いでしょう。

goouser20
質問者

お礼

ありがとうございました。 一般的でないなら問題なしです。 助かりました。

全文を見る
すると、全ての回答が全文表示されます。
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.3

http://www.aufheben.info/kouza/beginner/kouza_cobol.html を見てみましたが、画面上のどの位置にDISPLAYするか、ACCEPTで入力する位置をどこにするかという指定のようですね。 おそらく、オフコン(昔の小型コンピュータ)用の専用端末の画面制御システムを組み込んだ独自機能だと思います。 COBOL言語を学ぶ上では気にしないでおきましょう。 このページを書いた人はそのオフコンメーカーの独自機能だということに気づいてないみたいですね。

goouser20
質問者

お礼

ありがとうございました。 気にしないことにします。 助かりました。

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

どこのメーカーの何というCOBOLですか? 具体的に、どのような記述ですか? ACCEPTではFROM、DISPLAYではUPONを使うのが普通で、ATは聞いたことがありません。 ただ、オブジェクト指向などへの対応で実装されたかも知れないし、独自機能として持っている場合も否定できないので、上記を明示してください。

goouser20
質問者

補足

サイトで勉強しています。 http://www.aufheben.info/kouza/beginner/kouza_cobol.html ACCEPT 変数 AT 位置.の説明がありましたが、理解できませんでした。 もう少し調べると、教えてGooに、下記のコードが見つかりましたので一般的に使用されているのかと思いました。 あまり使用されないのでしょうか? http://oshiete1.goo.ne.jp/qa3024973.html 01 1月 PIC 9(8). 01 2月 PIC 9(8). 01 3月 PIC 9(8). 01 4月 PIC 9(8). 01 5月 PIC 9(8). 01 6月 PIC 9(8). 01 半年合計 PIC 9(9). 01 表示半年合計 PIC Z(9)9. 01 1月割合 PIC Z(2)9.99. 01 2月割合 PIC Z(2)9.99. 01 3月割合 PIC Z(2)9.99. 01 4月割合 PIC Z(2)9.99. 01 5月割合 PIC Z(2)9.99. 01 6月割合 PIC Z(2)9.99. PROCEDURE DIVISION. DISPLAY "各月の売上高を入力してください。" AT 0505. DISPLAY "1月の売上高" AT 0705. ACCEPT 1月 AT 0718. DISPLAY "2月の売上高" AT 0805. ACCEPT 2月 AT 0818. DISPLAY "3月の売上高" AT 0905. ACCEPT 3月 AT 0918. DISPLAY "4月の売上高" AT 1005. ACCEPT 4月 AT 1018. DISPLAY "5月の売上高" AT 1105. ACCEPT 5月 AT 1118. DISPLAY "6月の売上高" AT 1205. ACCEPT 6月 AT 1218. COMPUTE 半年合計 = 1月 + 2月 + 3月 + 4月 + 5月 + 6月. MOVE 半年合計 TO 表示半年合計. DISPLAY "合計売上高は" AT 1405. DISPLAY 表示半年合計 AT 1428. DISPLAY "円です。" AT 1436. COMPUTE 1月割合 = 100.00 * (1月 / 半年合計). COMPUTE 2月割合 = 100.00 * (2月 / 半年合計). COMPUTE 3月割合 = 100.00 * (3月 / 半年合計). COMPUTE 4月割合 = 100.00 * (4月 / 半年合計). COMPUTE 5月割合 = 100.00 * (5月 / 半年合計). COMPUTE 6月割合 = 100.00 * (6月 / 半年合計). DISPLAY "半年間の売上高に対する各月の割合は" AT 1605. DISPLAY "1月:" AT 1905. DISPLAY 1月割合 AT 1912. DISPLAY "%" AT 1918. DISPLAY "2月:" AT 2005. DISPLAY 2月割合 AT 2012. DISPLAY "%" AT 2018. DISPLAY "3月:" AT 2105. DISPLAY 3月割合 AT 2112. DISPLAY "%" AT 2118. DISPLAY "4月:" AT 2205. DISPLAY 4月割合 AT 2212. DISPLAY "%" AT 2218. DISPLAY "5月:" AT 2305. DISPLAY 5月割合 AT 2312. DISPLAY "%" AT 2318. DISPLAY "6月:" AT 2405. DISPLAY 6月割合 AT 2412. DISPLAY "%" AT 2418. STOP RUN.

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

accept文やdisplay文の構文にはatは無いと記憶しているのですが。 その1文をそのまま書いてもらえませんか? 一意名などは別名に加工して頂いても構いませんが。

goouser20
質問者

補足

chukenkenkouさんへの補足と一致してしまいますが、 コードは下記のようなものです。 DISPLAY "各月の売上高を入力してください。" AT 0505. ACCEPT 1月 AT 0718. よろしくお願い致します。

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

関連するQ&A

  • COBOL わかりません。。。

    質問を書き直しました。テキストを読めば読むほどわからなくなります。 どなたか教えてくださいませんか?。。。 1月~6月の売上高の合計と、 半年の売上高の合計に対する各月の割合を表示するプログラムを作成しろという課題が出たのですが、実行してみたら合計の数字が違うのです。。。。 WORKING-STORAGE以下を貼り付けました。 01 1月 PIC 9(8). 01 2月 PIC 9(8). 01 3月 PIC 9(8). 01 4月 PIC 9(8). 01 5月 PIC 9(8). 01 6月 PIC 9(8). 01 半年合計 PIC 9(9). 01 表示半年合計 PIC Z(9)9. 01 1月割合 PIC Z(2)9.99. 01 2月割合 PIC Z(2)9.99. 01 3月割合 PIC Z(2)9.99. 01 4月割合 PIC Z(2)9.99. 01 5月割合 PIC Z(2)9.99. 01 6月割合 PIC Z(2)9.99. PROCEDURE DIVISION. DISPLAY "各月の売上高を入力してください。" AT 0505. DISPLAY "1月の売上高" AT 0705. ACCEPT 1月 AT 0718. DISPLAY "2月の売上高" AT 0805. ACCEPT 2月 AT 0818. DISPLAY "3月の売上高" AT 0905. ACCEPT 3月 AT 0918. DISPLAY "4月の売上高" AT 1005. ACCEPT 4月 AT 1018. DISPLAY "5月の売上高" AT 1105. ACCEPT 5月 AT 1118. DISPLAY "6月の売上高" AT 1205. ACCEPT 6月 AT 1218. COMPUTE 半年合計 = 1月 + 2月 + 3月 + 4月 + 5月 + 6月. MOVE 半年合計 TO 表示半年合計. DISPLAY "合計売上高は" AT 1405. DISPLAY 表示半年合計 AT 1428. DISPLAY "円です。" AT 1436. COMPUTE 1月割合 = 100.00 * (1月 / 半年合計). COMPUTE 2月割合 = 100.00 * (2月 / 半年合計). COMPUTE 3月割合 = 100.00 * (3月 / 半年合計). COMPUTE 4月割合 = 100.00 * (4月 / 半年合計). COMPUTE 5月割合 = 100.00 * (5月 / 半年合計). COMPUTE 6月割合 = 100.00 * (6月 / 半年合計). DISPLAY "半年間の売上高に対する各月の割合は" AT 1605. DISPLAY "1月:" AT 1905. DISPLAY 1月割合 AT 1912. DISPLAY "%" AT 1918. DISPLAY "2月:" AT 2005. DISPLAY 2月割合 AT 2012. DISPLAY "%" AT 2018. DISPLAY "3月:" AT 2105. DISPLAY 3月割合 AT 2112. DISPLAY "%" AT 2118. DISPLAY "4月:" AT 2205. DISPLAY 4月割合 AT 2212. DISPLAY "%" AT 2218. DISPLAY "5月:" AT 2305. DISPLAY 5月割合 AT 2312. DISPLAY "%" AT 2318. DISPLAY "6月:" AT 2405. DISPLAY 6月割合 AT 2412. DISPLAY "%" AT 2418. STOP RUN. 実行結果 例えば、1月 00000100       ・       ・       ・     6月 00000100 と各月すべて100と入力したら、合計は6円です。という具合に実行結果が出ます。 どのように直せばよいでしょうか?

  • COBOL

    以下のソースに「指定外の数値です。」になったらプログラムを終了するにしたいのです。ソースを教えてください。 IDENTIFICATION DIVISION. PROGRAM-ID. TEST-001. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 W-NUM PIC 9(3). 88 NUM-RANGE VALUE 128 129 130 . PROCEDURE DIVISION. MAIN. DISPLAY "開始(START)". DISPLAY "3桁の数値を入力してください" ACCEPT W-NUM. IF NUM-RANGE THEN DISPLAY "指定の数値です。" ELSE DISPLAY "指定外の数値です。" END-IF. STOP RUN.

  • 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

    こんにちわ、IT企業の新卒ではありませんが研修生です。 COBOLの勉強をしています。以下の内容についてご質問させていただきます。 (1)データフォーマットがOCCURS(300 TIMES)のデータ項目に40 TIMESデータを格納し、 41個目には改行コード(ODOA)が入っているプログラムがあるのですが、 実際に41個目をdisplayで見てみると空白が入っていました。ファイルの方には確かに改行コードがちゃんと入っています。 これはどうしてこうなるのでしょうか? (2)SEARCHに関して SEARCH TBL AT END 処理1 というようなプログラムがあります。 TBLは 01 TBL 02 DATA OCCURES 100 INDEXED BY NO     03・・・ 03・・・ というようなフォーマットになってます。 このときAT ENDというのは例えば(1)のときのようなデータとしては 100TIMES入れれるが、40TIMESしか格納しない場合は41個目にAT ENDになるのでしょうか? それとも100回全部入れ終わった時のみAT ENDになるのでしょうか? お手数ですが以上よろしくお願い致します。

  • AT フルード

    「キャッスル オート フルード スペシャル」を「キャッスル オート フルード D-II」指定のAT車に使用可能でしょうか?ご存知の方、どうかよろしくお願いします。

  • ATコマンドについて

    Win2000Proを使用しています。 指定時間で休止モード、さらに指定時間で再開(起動)を自動的に行わせようとしています。 休止モードへはフリーのソフトを使用し指定時間での休止 モードへの動作テストもOKです。 休止モードから指定時間に再開させるためには、タスクスケジューラかATコマンドで行えるようですが、具体的に 記述されているサイト又は方法をご存知でしたらご教授よろしくお願いします。

  • EPSON-AT951のビデオカード

    EPSON-AT951を使用しています デジタルTV(フルHD)をディスプレイと兼用で使用したい のですがオンボードのチップでは画素数が非対応です。 また、EPSONでは経験がないとかで回答がもらえませんでした!。 PCIタイプでEPSON-AT951にビデオカードを取り付けて 正常に動いているものがあればどなたか教えてください。 お願いします!

  • COBOL初心者です

    COBOL初心者です。 1月~6月の売上高の合計と、 半年の売上高の合計に対する各月の割合を表示するプログラムを作成しろという課題が出たのですが、実行してみたら合計の数字が違うのです。。。。 01 1月 PIC 9(8). 01 2月 PIC 9(8). 01 3月 PIC 9(8). 01 4月 PIC 9(8). 01 5月 PIC 9(8). 01 6月 PIC 9(8). 01 半年合計 PIC 9(9). 01 表示半年合計 PIC Z(9)9. 01 1月割合 PIC Z(2)9.99. 01 2月割合 PIC Z(2)9.99. 01 3月割合 PIC Z(2)9.99. 01 4月割合 PIC Z(2)9.99. 01 5月割合 PIC Z(2)9.99. 01 6月割合 PIC Z(2)9.99. ・  ・  ・ 合計を求めるCOMPUTE文  COMPUTE 半年合計 = 1月 + 2月 + 3月 + 4月 + 5月 + 6月. MOVE 半年合計 TO 表示半年合計. DISPLAY "合計売上高は" AT 1405. DISPLAY 表示半年合計 AT 1428. DISPLAY "円です。" AT 1436.  ・  ・  ・ 割合を求めるCOMPUTE文。 COMPUTE 1月割合 = (1月 / 半年合計) * 100. COMPUTE 2月割合 = (2月 / 半年合計) * 100. COMPUTE 3月割合 = (3月 / 半年合計) * 100. COMPUTE 4月割合 = (4月 / 半年合計) * 100. COMPUTE 5月割合 = (5月 / 半年合計) * 100. COMPUTE 6月割合 = (6月 / 半年合計) * 100. 実行結果 例えば、1月 00000100 ・  ・  ・  6月 00000100 と各月すべて100と入力したら、合計は6円です。という具合に実行結果が出ます。 どのように直せばよいでしょうか?

  • ATコマンドのDELETEについて

    VBの画面であるプログラムの起動する曜日や時間を指定させ、それをATコマンドで設定するプログラムを作成しています。現在、作成したプログラムによって生成されるATコマンドは下記のようなものです。 AT /DELETE /yes AT 05:59 /INTERACTIVE /EVERY:09 dir ここでDELETEにIDを指定していないので他にスケジュールが設定されているものは全て削除されてしまいます。今回作成したプログラムによって作成されたスケジュールのみ削除し、新たにスケジュールを設定するにはどうしたらいいのでしょうか?またIDを指定してそのスケジュールを更新することはできるのでしょうか? よろしくお願いします。 使用OS:Windows2000 VB:Ver6.0

  • AT故障に対する準備は?

    2000年式BMWのE39に乗っています。現在走行7万キロですが、まだまだこの先も(後6年くらい)乗り続けるつもりです。 そこで伺いたいのですが、いずれ必ず訪れるであろうATの故障に対する準備を皆さんはどのように考えているのでしょうか。故障が発覚し、直後に動かなくなるケースもあるようです。 例えばそうなった場合は、予めATを修理してくれるショップを調べておき、すぐに連絡してレッカー移動…といった程度でしょうか? また、AT修理で名高いショップがありましたら、教えていただければ幸いです。よろしくお願いします。

このQ&Aのポイント
  • ブラザーのMFC-L3770CDWでのスキャン設定を本体から変更する方法を教えてください。
  • iPrint&Scanの「本体からのスキャン設定」でサーチャブルPDFに設定しているが、解像度やファイル形式を変更できない。
  • 「設定変更」ボタンを押しても「両面スキャン」の設定しか変更できない。解像度やファイル形式の変更方法を教えてください。
回答を見る

専門家に質問してみよう