• 締切済み

COBOLを勉強しています。

1~4の意味が分からないのですが、よかったら何を意味しているのかを教えてください。 ********************************************************* 1.COMPUTE P-COUNT = P-COUNT + 1. 2.MOVE MIDASHI1 TO TAN1-REC. 3.WRITE TAN1-REC AFTER 4. 4.COMPUTE L-COUNT = L-COUNT + 52 ********************************************************* ◆補足 P-COUNT:ページカウンタ TAN1-REC:出力レコード L-COUNT:行カウンタ

みんなの回答

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.2

1.ページカウンタを+1する 2.見出しデータを出力レコード(バッファ)にセット 3.4行改行した後に、出力レコードの内容を印字 4.行カウンタ+52 行カウンタは改ページの有無判定に使用します。 明細行を印字する毎に行カウンタを追加していって、 印字可能行数を越えたら改ページ、またはカウンタを 減らしていって0以下になったら改ページとします。

noname#72829
質問者

お礼

とても参考になりました。 特に3番が分からなかったので助かりました。

全文を見る
すると、全ての回答が全文表示されます。
  • x1va
  • ベストアンサー率26% (802/3006)
回答No.1

それぞれの行の意味は以下のようになります。 1.P-COUNTに1を加算 2.MIDASHI1の内容を丸ごとTAN1-RECに送る 3.TAN1-RECの内容を4行空けて印刷 4.L-COUNTに52を加算 1と2を何のために行っているのかはその4行だけではわかりません。変数名から何となく想像はできますが、質問に書いておられないであろう他の処理でどのように扱っているのか分からないと断言できません。

noname#72829
質問者

お礼

ありがとうがざいます。 とても参考になりました。 特に3番が自分でもいまいちわかっていませんでした。

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

関連するQ&A

  • COBOL FILLER

    COBOLのFILLER項目の出力を質問させていただきます。 質問1 OUT1-FILE. 01 OUT-REC  02 FILLER PIC X(10). このファイルを何もせず WRITE で出力した場合は空ファイルが出力されますか?それとも"0000000000"が出力されますか? 質問2 またこのファイルをINITHILIZEした後WRITEでファイル出力したら何が出力されますか? 質問3 このファイルをMOVE ZERO TO OUT-REC した後WRITEでファイル出力したら何が出力されますか?

  • COBOLプログラム2

    このプログラムは売り上げファイルを読み、最初に見出し印刷し、1レコード1行で印刷し、最後に数量、金額の合計を印刷するプログラムです。 どこが間違ってるでしょうか。教えてください。 PROCEDURE__DIVISION. HAJIME. ___OPEN INPUT IN-F OUTPUT OU-F . ___MOVE SHOHIN-CODE TO SHOHIN. ___MOVE SURYOU TO SURYOU. ___MOVE DENPYO-NO TO DENPYO-NO. ___MOVE KINGAKU-W TO KINGAKU. ___WRITE OU-R FROM MIDASHI. NX.__READ IN-F AT END GO TO OWARI. ___MOVE SPACE TO OU-R. ___MOVE CORRESPONDING IN-R TO MEISAI. ___COMPUTER KINGAKU-L=SURYOU OF IN-R*TANKA OF IN-R. ___MOVE KINGAKU-L TO KINGAKU. ___WRITE OU-R FROM MEISAI. ___COMPUTER SURYOU-W=SURYOU-W+SURYOU. ___COMPUTER KINGAKU-W=KINGAKU-W+KINGAKU. ___GO TO NX. OWARI. ___MOVE SURYOU-W TO G-SURYOU. ___MOVE KINGAKU-W TO G-KINGAKU. ___WRITE OU-R FROM GOKEI. ___CLOSE IN-F OU-F. ___STOP RUN.

  • COBOLのプログラム

    IDENTIFICATION DIVISION. PROGRAM-ID. KADAI1. AUTHOR. KYU99 ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. WIN-PC. OBJECT-COMPUTER. MSR-3. INPUT-OUTPUT SECTION. FILE-CONTROL. ====SELECT IN-F ASSIGN TO "DEMO.TXT". ====SELECT OU-F ASSIGN TO "MEISAI.TXT". DATA DIVISION. FILE SECTION. FD ( 1 ) BLOCK 10 RECORDS ====LABEL RECORD STANDARD ====DATA RECORD IN-R. 01==IN-R PICTURE X(122). FD==OU-F LABEL RECORD OMITTED ====DATA RECORD OU-R. 01 ( 2 ) PICTURE X(122). WORKING-STORAGE SECTION. 01 KAIGA PICTURE X(122). PROCEDURE DIVISION. ====OPEN INPUT IN-F OUTPUT ( 3 ). ( 4 ). READ IN-F AT END GO TO ( 5 ). ====MOVE SPACE TO OU-R. ====MOVE IN-R TO KAIGA. ====WRITE ( 6 ) FROM KAIGA AFTER O. ====GO TO ( 7 ). OWARI. CLOSE ( 8 ) OU-F. ====STOP RUN. これは、学校の課題です。さっぱりわからないのでここで質問しました。 括弧にはいるものを教えてください。ヒントだけでもいいのでよろしくお願いします。=は無視してください。

  • COBOL 1:1のマッチングについて

    こんばんは。プログラム作成が行き詰ってしまったので、 アドバイス頂けると幸いです。 要件:マスタから名前を検索する 出力番号、名前、合計点の3つ 【マスタファイル】 生徒番号  名前 (数字3桁) (全角6文字)   ・       ・   ・       ・   ・       ・ 【トランザクションファイル】 生徒番号   合計点 (数字3桁)  (数字3桁)   ・       ・    ・       ・ 【出力ファイル】 生徒番号 氏名 合計点 001 ○○  □□ DATA DIVISION. FILE SECTION. FD INFILEM. 01 INRECM. 05 IM-ID PIC X(03). 05 IM-NAME PIC X(12). FD INFILET. 01 INRECT. 05 IT-ID PIC X(03). 05 IT-GOUKEI PIC 9(03). FD OUTFILE. 01 OUTREC. 05 O-ID PIC X(03). 05 O-NAME PIC X(12). 05 O-GOUKEI PIC ZZ9. WORKING-STORAGE SECTION. 01 WM-ID PIC X(03). 01 WT-ID PIC X(03). 01 W-GOUKEI PIC 9(03). PROCEDURE DIVISION. PERFORM MAE-SHORI THRU MAE-SHORI-EXIT PERFORM SHU-SHORI THRU SHU-SHORI-EXIT UNTIL WM-ID = HIGH-VALUE AND WT-ID = HIGH-VALUE PERFORM ATO-SHORI THRU ATO-SHORI-EXIT STOP RUN. MAE-SHORI. OPEN INPUT INFILEM INFILET OUTPUT OUTFILE MOVE SPACE TO WM-ID MOVE SPACE TO WT-ID READ INFILEM AT END MOVE HIGH-VALUE TO WM-ID END-READ IF WM-ID NOT = HIGH-VALUE THEN MOVE IM-ID TO WM-ID END-IF READ INFILET AT END MOVE HIGH-VALUE TO WT-ID END-READ IF WT-ID NOT = HIGH-VALUE THEN MOVE IT-ID TO WT-ID END-IF. MAE-SHORI-EXIT. EXIT. SHU-SHORI. IF WM-ID = WT-ID THEN PERFORM KOUSHIN THRU KOUSHIN-EXIT ELSE IF WM-ID < WT-ID THEN PERFORM SHUTURYOKU THRU SHUTURYOKU-EXIT ELSE PERFORM ERRORS THRU ERRORS-EXIT END-IF END-IF. SHU-SHORI-EXIT. EXIT. KOUSHIN. MOVE IT-GOUKEI TO W-GOUKEI MOVE IM-ID TO O-ID MOVE IM-NAME TO O-NAME MOVE W-GOUKEI TO O-GOUKEI WRITE OUTREC READ INFILEM AT END MOVE HIGH-VALUE TO WM-ID END-READ IF WM-ID NOT = HIGH-VALUE THEN MOVE IM-ID TO WM-ID END-IF READ INFILET AT END MOVE HIGH-VALUE TO WT-ID END-READ IF WT-ID NOT = HIGH-VALUE THEN MOVE IT-ID TO WT-ID END-IF. KOUSHIN-EXIT. EXIT. SHUTURYOKU. MOVE IM-ID TO O-ID MOVE IM-NAME TO O-NAME MOVE W-GOUKEI TO O-GOUKEI WRITE OUTREC READ INFILEM AT END MOVE HIGH-VALUE TO WM-ID END-READ IF WM-ID NOT = HIGH-VALUE THEN MOVE IM-ID TO WM-ID END-IF. SHUTURYOKU-EXIT. EXIT. ERRORS. DISPLAY "** ERROR ** IM-ID=" IM-ID " IT-ID=" IT-ID READ INFILET AT END MOVE HIGH-VALUE TO WT-ID END-READ IF WT-ID NOT = HIGH-VALUE THEN MOVE IT-ID TO WT-ID END-IF. ERRORS-EXIT. EXIT. ATO-SHORI. CLOSE INFILEM INFILET OUTFILE. ATO-SHORI-EXIT. EXIT. 上記のソースで実行すると 番号 名前 2桁の謎の数字が1レコードとしてでてきてしまいます。 詳しい方、ご教示くださいませ。

  • gifcatで生成された画像にリンクを貼りたい

    自分用にカウンターcgiを作っています[ファイル名count.cgi] gifcat.plで連結して表示されたカウンター画像に リンクを自動で付けたいです。 (カウンター画像をクリックすると指定されたページにいけるようにしたい) count.cgiの出力部分は 1行目 print "Content-type: image/gif\n\n"; 2行目 print &gifcat'gifcat(@numimg); ですが、2行目に細工して 1行目 print "Content-type: image/gif\n\n"; 2行目 print <a href=http://XXX.jp> &gifcat'gifcat(@numimg) テスト</a>; としてもうまく行かないです。 皆さんお手数ですが、良い解決方法があれば教えてください。 宜しくお願いします。

    • ベストアンサー
    • CGI
  • アクセスカウンターFlashを6秒遅れで表示する方法

    こんばんわ。 質問がありまして投稿致します。 タイトル通りなのですが思い通りに出来ずご指摘お願いできませんでしょうか? 以下の内容で表示しようと思っております。  1.10秒遅れでFlashを表示(JavaScriptを利用)  2.表示するFlashはアクセスカウンター  3.Flashはループせず一度の表示のみ  4.InternetExplorerとFirefoxで表示可 [public_html]  |  +index.html  |  +counter04.swf  |  +[cgi-bin]    |    +count.cgi    |    +count.txt    ※[ ]はフォルダ 上記を読み込むため、ソースを以下のようにしました。 ----------------------------------------------------------------------- <HTML> <HEAD> <meta http-equiv=Content-Type content="text/html; charset=SHIFT_JIS"> <TITLE>counter04</TITLE> </HEAD> <BODY bgcolor="#00000"> <script type="text/javascript"> setTimeout('f()',6000); function f() { document.write('<P align="center">'); document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="100" HEIGHT="30" id="counter04" ALIGN="">'); document.write('<PARAM NAME=movie VALUE="./counter04.swf?s_url=./cgi-bin/count.cgi&r_flg=true&l_time=2000&nc=0xC0C0C0">'); document.write('<PARAM NAME=quality VALUE=high>'); document.write('<PARAM NAME=loop VALUE=false>'); document.write('<PARAM NAME=bgcolor VALUE=#000000>'); document.write('<EMBED src="./counter04.swf?s_url=./cgi-bin/count.cgi&r_flg=true&l_time=2000&nc=0xC0C0C0" quality=high bgcolor=#000000 WIDTH="100" HEIGHT="30" NAME="counter04" ALIGN="" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>'); document.write('</OBJECT>'); document.write('</P>'); } </script> </BODY> </HTML> ----------------------------------------------------------------------- 実際に実行すると、黒い背景のまま特に画面にアクセスカウンターは表示されません。 尚、java系をはずすとアクセスカウンターは表示されます。 ただし外した状態ですと、NowLoading...を表示し、ループします。 どの点が悪いのかご指摘頂けますと大変嬉しいです。 長文大変申し訳ありません。 お分かりになる方がいらっしゃいましたらどうぞ宜しくお願い致します。

    • ベストアンサー
    • HTML
  • cobolプログラムをCSV出力しても空白に...

    2度目の質問です。 宜しくお願いします。 COBOLを勉強し始めて間もないのですが、プログラムを何とか参考書を見ながら書いており、 エラーが出なくなったのですが、CSVファイルで出力しても空白になってしまい、原因がわからず困惑しております。 以下、プログラムを記載します。 何が原因がわかる方おりましたらアドバイスをいただけると幸いです。 IDENTIFICATION DIVISION. PROGRAM-ID. REI-01. ENVIRONMENT DIVISION. CONFIGURATION SECTION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT INFILE ASSIGN TO "C:\COBOL\kamokuUT2.txt" ORGANIZATION LINE SEQUENTIAL. SELECT OUTFILE ASSIGN TO "C:\COBOL\UT2.csv" ORGANIZATION LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD INFILE. 01 INREC. 02 I-NUMBER PIC 9(2). 02 I-NAME PIC X(20). 02 I-KAMOKU-SYURUI PIC 9(3). 02 I-KAMOKU-TEN PIC X(3). FD OUTFILE. 01 OUTREC PIC X(32). 01 W-MIDASHI. 02 W-ID PIC X(8) VALUE "社員番号". 02 W-COMMA PIC X(1) VALUE ",". 02 W-NAME PIC X(4) VALUE "名前". 02 W-COMMA PIC X(1) VALUE ",". 02 W-KAMOKU PIC X(4) VALUE "科目". 02 W-COMMA PIC X(1) VALUE ",". 02 W-TEN PIC X(4) VALUE "点数". 02 W-COMMA PIC X(1) VALUE ",". 01 W-MEISAI. 02 O-NUMBER PIC 9(2). 02 O-COMMA PIC X(1) VALUE ",". 02 O-NAME PIC X(20). 02 O-COMMA PIC X(1) VALUE ",". 02 O-KAMOKU-SYURUI PIC 9(3). 02 O-COMMA PIC X(1) VALUE ",". 02 O-KAMOKU-TEN PIC X(3). 02 O-COMMA PIC X(1) VALUE ",". WORKING-STORAGE SECTION. 77 W-FLAG PIC X(1). PROCEDURE DIVISION. PERFORM MAE-SHORI THRU MAE-SHORI-EXIT PERFORM SHU-SHORI THRU SHU-SHORI-EXIT UNTIL W-FLAG = "1" PERFORM ATO-SHORI THRU ATO-SHORI-EXIT STOP RUN. MAE-SHORI. OPEN INPUT INFILE OUTPUT OUTFILE MOVE "0" TO W-FLAG READ INFILE AT END MOVE "1" TO W-FLAG END-READ. MAE-SHORI-EXIT. EXIT. SHU-SHORI. WRITE OUTREC FROM W-MIDASHI. IF I-KAMOKU-TEN >= 70 THEN MOVE I-NUMBER TO O-NUMBER MOVE I-NAME TO O-NAME MOVE I-KAMOKU-SYURUI TO O-KAMOKU-SYURUI MOVE I-KAMOKU-TEN TO O-KAMOKU-TEN WRITE OUTREC FROM W-MEISAI ELSE CONTINUE END-IF. READ INFILE AT END MOVE "1" TO W-FLAG END-READ. SHU-SHORI-EXIT. EXIT. ATO-SHORI. CLOSE INFILE OUTFILE. ATO-SHORI-EXIT. EXIT. 【出力ファイル.csv】の完成系ですが、 ________________ 社員番号 名前 科目 点数 01 ○○ 010 073   ・     ・   ・    ・   ・     ・   ・    ・ ________________ 【入力ファイル.txt】はこのような形です。 ________________ 01あああああいいいいい010070 ________________ ※入力ファイルの得点が70点以上のファイルのみ出力したいのですが・・・ 長文になってしまいましたが宜しくお願いします。

  • 素数判定プログラム

    JavaScriptで素数を出力するプログラムを書いてみました。 最大値を15万程度にすると、「IEの動作を遅くしています」というメッセージが出ます。 もう少し高速で効率が良く、最大値を多くするにはどのように改良すると良いでしょうか? 最終的に、指定した値から○個の素数を出力する と言うプログラムにしたいと思っています。 例)100から10個 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, function prime() { document.form.tbox2.value = ""; var i;var l;var count = 0; var NUM = 100000; p = new Array(NUM); for(i=0;i<NUM;i++)p[i]=1; p[0]=0; for(i=2;i<=NUM/2;i++){ for(l=2;l*i<=NUM;l++){ if(p[l*i-1] == 1) p[l*i-1] = 0; } } for(j=min;count<pie;j++){ if(p[j-1] == 1){ document.form.tbox.value += j; document.form.tbox.value += ", "; } } }

  • ACCESS SQLのINSERTについて

    TBLというテーブルにINSERT文を使用して1行レコードを追加したいです。TBLテーブルのカラムAにはシステム日付を、カラムBには別テーブルのselect count(*)の実行結果を挿入したいのですがうまくいきません。何か良い方法はございませんでしょうか? INSERT INTO カウンタ統計 ( [DATE], USER_COUNT ) VALUES (date(), (SELECT COUNT(*) FROM hiplus_HW_USER)); ※日付は問題なく挿入できるのですがSELECT文の結果が挿入できない状況です。宜しくお願いします.

  • 初歩的なアクセスカウンタ作成で

    perlを学びはじめて間もない初心者です。よろしくお願いします。 書籍を参考にしながらperlを学んでいます。書籍の中のアクセスカウンタを作ってみるという部分で、下記のスクリプトを書き試してみたのですが、アクセスカウンタが加算されません。1のままとなっています。 何が問題であるのか全く見当がつかないのですが、まず何からチェックして行けばよいのでしょうか? アドバイスやご教授をいただけたらと思います。 よろしくお願いします。 それから環境は、http://www.futomi.com/lecture/macosx/index.html​ を元にMacOS X での Apache サーバーでのローカルでテスト環境 で試し低ます。 # カウントファイルの読み込み open(IN, "<./count.dat"); $count = <IN>; close(IN); ++$count; # カウントファイルの書き込み open(OUT, ">./count.dat"); print OUT $count; close(OUT); # サーバー出力 print <<END; Content-type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head><title>あくせすかうんたー</title></head> <body> <p>あなたは……$count番目の訪問者です。</p> </body> </html> END

    • ベストアンサー
    • CGI