全商情報処理検定の2級プログラミングのCOBOLを勉強しています。模擬問題を多く解いているのですが全く理解することができません・・・。最初に何かを初期化するのは分かるんですが、何を初期化すればよいのでしょうか?また、PERFORM文がありますが何を繰り返さなければならないのか分からないんです。初期化・PERFORMにしてもどこを見れば良いのでしょうか?やっぱり入力形式・出力形式・処理条件を見て判断するのでしょうか?
質問を押し付けるみたいになって申し訳ないんですが、分かる方いらっしゃいましたら教えてくれないでしょうか。お願いします。
No.7ベストアンサー
- 回答日時:
このままでは話が進まないので、下のホームページを参考にしてみて!
PERFORMの説明や、情報処理の過去問題が参考になるはずです。過去問で分からないところがあれば聞いてください。
参考URL:http://www16.plala.or.jp/hiyokogumi/
No.4
- 回答日時:
申請件数を集計するのなら
レコードの中に権利名などが入っているのなら、その権利名が変わるまでPERFORMで繰り返し集計するのかな?
処理条件はどんなものでしたか?
この回答への補足
処理条件
1.入力データを読み、工業所有権に関するデータのみ印字する。
2.権利コード、工業所有権の権利名はそれぞれ第3図のようなテーブルCOD-T、KEN-Tに記憶されている。
この間にCOD-TとKEN-Tのテーブルの図があります。
3.格権利別の申請件数、申請件数合計は第4図のテーブルSU-Tに集計する。工業所有権には4種類あり、工業所有権以外の権利は「その他の権利」に集計する。なお、すべてのテーブルは添字で対応している。
この間にSU-Tのテーブルの図があります。
4.入力データが終了したら、権利名と申請件数をを印字する。最後に、申請件数合計を印字し、処理を終わる。
5.データにエラーはないものとする。
という処理条件です。
No.3
- 回答日時:
COBOLも実際に稼動するコンピュータメーカーやバージョンによって
細かいところは変わってきます。
ただ、初期化に関してはやっておく方が無難です。
WORKING-STORAGE SECTIONで定義した項目(変数)やファイルへの出力に
使用するレコードの項目は実際に使用する前に初期化しておくべきです。
これは、プログラムの実行時にコンピュータ上ではその項目用に領域を
確保するだけで、その領域にどのような値が入っているか保証されない
場合があるためです。
そのため、プログラム中で明示的にスペースやゼロで初期化おくということです。
PERFORMに関しては、変数の値を変化させながら繰り返し同じ手続きを行う場合や、
ロジックの何箇所かで同じ手続きを行う場合に長々と同じ命令を繰り返し
記述するより、1回記述するだけでそれをPERFORMで呼び出す方が効率的で
見やすいし、メンテナンスもしやすいというメリットがあります。
No.2
- 回答日時:
変数や配列は最初に初期化したほうがいいです。
PERFORMは色々な使いかがあります。
もう少し具体的に、どんな問題をしましたか?
この回答への補足
一連のプログラムが書かれていて、たいていの問題はPROCEDUREからSTOP RUN.まで書かれています。そしてそのプログラムの流れの中で5つ空白があってそこに入れるプログラムを記入するんです。
例:実際の問題) ある企業の製品開発課では、社員の研究による工業所有権等の申請に関して、権利別に申請件数を集計している。第1図の申請データを読み、処理条件にしたがって第2図のような工業所有権等申請一覧表を印字するプログラムの空欄をうめなさい。
という問題文があって第1図(入力形式)、第2図(出力形式)、処理条件(処理条件と第3図や第4図としてテーブルがある)の3つが問題文といっしょにあります。
※参考(↑の問題:実教出版情報処理検定試験模擬問題第2回)
どうでしょうか??
No.1
- 回答日時:
COBOLを書けないけど修正程度はやってます。
^^;DataDivisionでフィールド定義掛けます。わざわざ初期化なんてしないよ。フィールドタイプがXならブランク9ならゼロが再しょっから充当されています。
あえてPerfomで初期化するとしたらワークフィルドですね。たとえば集計値をため込むフィールドなら小計を出力したらクリアします。それを見やすくするためにその場に書かないでサブルーチンに飛ばして記述するとか。。。
目的・条件・結果、を良く把握してプログラムを見れば、知らないプログラム言語でも読解は出来るハズはので頑張って下さい。
この回答への補足
お答えありがとうございます。しかし、フィールドタイプやサブルーチン?という言葉もそうなんですが、そういうところまではいってない範囲なんです。全商の2級なんで高校生ぐらいのレベルです・・・。
学校でもまず初期化をするよう言われているんです。ひとつの参考として受け取っておきます。本当にありがとうございます。COBOLを実際に書いている人いませんか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数の値が勝手に変化する原因
-
C言語です 整数nを入力すると 1...
-
Tiny Basicのプログラムで。。
-
COBOL
-
Fortran "実引数の型が仮引数の...
-
Matlabについて質問2
-
C言語全体の考え方が不明です
-
JCLの基本について教えてください
-
C言語のプログラムについてです...
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
正しい五十音順について
-
VBAで仕様書は書きますか?
-
ホームページビルダーで料金の...
-
65536は2の何乗なのでしょうか?
-
VBAにてメール作成した際、一部...
-
フローチャートで。
-
Google カレンダーの商用利用
-
diffのアルゴリズムについて詳...
-
計算量の少ないn乗根の求め方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数の値が勝手に変化する原因
-
JCLの基本について教えてください
-
Sublime Text 3でのFortranプロ...
-
【JAVA】数字をひし形に出力す...
-
360度を超える角度
-
ProC 固定SQLでNULLってどう表...
-
COBOLのピリオド
-
Fortran90についての質問です。
-
3つの整数のうち奇数のみを表示...
-
main関数終了時のreturnの意味は?
-
fortran if文
-
fortranについて
-
4桁の数値を逆に表示されるプ...
-
3次関数を作るプログラム
-
PICのプログラムでsrandを使う...
-
整数格子点を列挙するプログラム
-
ロトカ=ヴォルテラ方程式 をC...
-
Fortran90のプログラムについて
-
Segmentation fault
-
Fortran "実引数の型が仮引数の...
おすすめ情報