COBOLなら、オレに聞け!<2>

このエントリーをはてなブックマークに追加
880878:04/05/16 21:32
(さらに続き)
03 PIC X(45) VALUE "サンテミリオン(R.)           2210".
03 PIC X(45) VALUE "グラーブ                 1270".
03 PIC X(45) VALUE "ソーテルヌ                2920".

01 TBL REDEFINES TBL-CNST.
03 TB OCCURS 25.
* *** 商品名 ***
05 TBNM PIC X(40).
* *** 金額 ***
05 TBKN PIC X(5).
PROCEDURE DIVISION.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 25
IF TBKN(I) < TBKN(I+1)
THEN K = TB(I)
TB(I) = TB(I+1)
TB(I+1) = K
END-IF
END-PERFORM
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 11
DISPLAY J"." DISPLAY TB(J)
END-PERFORM
STOP RUN.
>>878
とりあえず、ぜんぜんだめ。

色々だめすぎて涙が出るくらいだめ。
IFの所とか
883881:04/05/16 22:12

・データの型について再学習
・ソートについて再学習
・つくったソースを頭で動かす練習

かな。まずは。

たぶん、cobolがはじめての言語なんだよね?
社会人一年生です。
汎用系のCOBOLをやることになりました。

とりあえず、
・用語が分からない。
・略語が分からない。
・方言(COBOL風な表現)が分からない。
な状況で困ってます。

今までの言語経験は主にCで、ある程度触ったものとしてC++、Java等です。
COBOLだけならまだしも端末操作やらJCLやらも学ばないといけないということで
正直いっぱいいっぱいです。

先人方、学習方法のアドバイスをいただけないでしょうか?

っていうかC++やらオブジェクト指向本を買いあさって、よーしパパC++マスターになっちゃうぞー
と意気込んでたところに上司からCOBOLやれとの指示があったので正直鬱っす…。

COBOLを馬鹿にするつもりは全くないですが、処理系によって全然違うんですよね?
PICTURE句とかですら。
全然枯れてねーじゃんと突っ込みたいっす。

まずはgcc-cobolでも入れてトライアンドエラーかなーと思ってるんですが、
これも汎用系と全然違ったりするんでしょうか?
885881:04/05/16 22:29
>>884
gcc-cobolかぁ。基本を勉強するにはいいと思うよ。
ただ、文字コードが汎用とオープン系では違うから
そこは気にしたほうがいいかもね。

用語がわからなかったら正直に聞いたほうがいいぞ。
知ったかぶると後で困るときあるしな。多少嫌な顔
されてもどんどん聞け。

端末操作やjclはすぐに慣れるよ。
>>884
ありがとうございます。

> ただ、文字コードが汎用とオープン系では違うから

あ〜、そうですね。
ちょうど先日その事実を知って、愕然としたところです。
何にショックだったのかってのはちょっと言い表しにくいんですけど、そこまで違っちゃうと
自分の今までの経験を生かせるところってほとんど無いのかな…って。

> 用語がわからなかったら正直に聞いたほうがいいぞ。
> 知ったかぶると後で困るときあるしな。多少嫌な顔
> されてもどんどん聞け。

そうします。
ほんとにそうします。
早くいろんな事を聞きやすい先輩を見つけないとなあ。

> 端末操作やjclはすぐに慣れるよ。

励みになります。ありがとう。
早く実際に触ってみたいんですが、まだID貰えてないんです。
というかコーディングまで端末でってのもカルチャーショックでした。

やっぱり本を買おうかなあ。
会社の教育資料は微妙なのばっかりなんだよな…。
>886
>自分の今までの経験を生かせるところってほとんど無いのかな…って。

その程度の経験はあってもなくても同じ。
学生のプログラムと仕事のプログラムじゃまるで違う。

本当に生かせる経験なら、言語の違いなんぞ関係ない。

あと、PCでコーディングしてアップロードくらいはできるのじゃないか。
PC用コンパイラが高いから買ってないのかね。
あるいは開発環境までFTP禁止とか?
888881:04/05/16 23:56
>>887
はいどうも。

> あと、PCでコーディングしてアップロードくらいはできるのじゃないか。

バッチならぎりぎりできるかもしれないけどね。
あ、タイプだけならどんなんでもできるか。

> PC用コンパイラが高いから買ってないのかね。
> あるいは開発環境までFTP禁止とか?

PC用のコンパイラ買ってもってるの?
あんまりわけのわからん中途半端な煽りはやめたらどうでしょう?

>>886
>>887みたいなのになったらあかんよ。
>888
漏れのプロジェクトはMicroFocusのコンパイラがクライアントに入ってるぞ。
>884
COBOLだって、普通の処理系は規格には沿ってるだろ。
拡張部分はそれぞれ。それはCでもC++でも一緒でしょ。

これまでAlgol系の言語しか知らなかったなら、別の系統の言語もいいんじゃないの。
COBOLの次は関数型にでも挑戦してみるとよろし。

JCLとかCOBOLどうこうとかいう瑣末な事でなく、
メインフレームのアーキテクチャを学ぶといい。
>>886
ひとつだけ・・・
聞きやすい先輩を見つけるってのはどうかね?
仕事の場合聞きづらくても聞かなきゃならないことも多いよ。
聞きやすい先輩ではなく、きちんとした答えをしてくれる先輩を
状況に応じて選べるようになったほうが良いですよ。

人当たりが良いばっかりでトンチンカンな答えや、知ったかぶりを
する人もいますからね。
わからないときはわからないとハッキリ言うタイプの人や、一緒に
調べようといってくれる人がいいと思います。

こういうことは別にCOBOLがどうこうってこととは関係ありませんが
892デフォルトの名無しさん:04/05/18 00:43
COBOL関連書籍のご案内
(2003年11月現在)
http://www.cobol.gr.jp/knowledge/book.html
893デフォルトの名無しさん:04/05/21 18:16
初心者へ
http://www.jbooksrv.yamato.jp.ibm.com/cgi-bin/master!request=menu!parms=!xu=SK888002/Books?Collection=/home/ftp/pub/service/SK888002/books&BKCTITLE=MVS+Collection+Kit
COBOLでもJCLでもIBM汎用機のことならここ↑
IBM以外の環境でも役立つはず。
COBOL懐かしいねぇ。
平成5年に作ったシステム今でも稼動しているから、嬉しい。
30年以上前のシステムも余裕で動いてますが・・・
896コボ歴1年強:04/05/22 19:43
ココで質問して良いのか判りませんが・・・
凄く基本的なことでハマってます。
S9(11) COMP3で定義してある入力項目を
普通のS9(11)にMOVEさせたら1番最後の桁が英語になってしまいました。

入力値S9(11)COMP3 +2222222222
を単純MOVE
出力値S9(11) 222222222B

になってしまいました。
BはHEXでC2なので、S9の符号Cが入ってしまったと考えて良いと思います。
…これの対処法(出力値を正常に表示させたい)をご教授下さい…
周りの人間には聞きづらいもので…
897デフォルトの名無しさん:04/05/22 22:36
>>896
表示って何?
データセットを直接開いた時に「2」と表示させるのは無理だよ。
898デフォルトの名無しさん:04/05/22 23:51
COBOLじゃないが、NECのIDL2って
今でも使われていますか?。

コンパイルするとオブジェクトがCOBOL85なんですけど。
>>896
S9(11).
というデータタイプはゾーン10進数です。
ゾーン10進数は最終桁の上位4ビットに符号を持っています。
したがって897さんがおっしゃるとおりファイルを直接見る場合
上位4ビットの符号と下位4ビットを組み合わせたコードの文字
が見えてしまいます。

これはCOBOLに限らずゾーン10進数という型のデータに共通
します。

プリント等をする場合にBと表示されるのは、文字タイプで定義
されている項目をを使用されているせいでは?

DISPLAYでの表示ではそのままでも最終桁の表示はBのように
なってしまうので、ZZZZZ9のように定義した表示用項目に転送
しないとダメだったように記憶しています。(このへんは利用して
いるものによって違うかもしれません)
900デフォルトの名無しさん:04/05/23 12:32
バッチしかやったことないんですけど、
オンラインってどんなことやってるの?

バッチだとJCLサブミットして、上から下へプログラムが流れて終わり、みたいな。
901コボ歴1年強:04/05/23 13:12
896です。
レスありがとうございます。
補足&再質問です。

入力ファイルの項目がS9(11)COMP3で
出力ファイルの項目がS9(11)のケースです。
それで出力ファイルの結果を見ると最終桁に英語が入ってしまうんです。
(例・2222を入れると222B、4444を入れると444D)

それを解決するには一回ZZZZZZZZZZ9タイプのワークにMOVEして、
そのワークを出力ファイルにMOVEさせれば良いということなのでしょうか?
転送命令と編集方法のテストプログラムでも作って、理解を深めることを実機でやってみればいいのにねぇ。
903デフォルトの名無しさん:04/05/23 14:25
1年強もやっててそれかよ・・・
>>901
そうじゃなくって・・・
ゾーン10進数の上位4ビットは符号なんだよ。
正の数ならC、負の数ならDというように。
で、下位4ビットに数値が入るわけ。
だからデータを文字タイプで表示した場合には
正の数は1はA2はB3はC・・・・のように見えてしまうんだよ。
つまりデータのタイプがそういうものなのでどうしようもない。

COBOL以前に2進化10進数の勉強をしてください。

http://ja.wikipedia.org/wiki/2%E9%80%B2%E5%8C%9610%E9%80%B2%E6%95%B0
>900
IMSとかCICSのプログラミングガイドでも見れば解るかも
>>900
>バッチだとJCLサブミットして、上から下へプログラムが流れて終わり
そういうイメージだと、端末からデータを受け取って上から下にプログラムが
流れて結果を端末に返して終わり。
907デフォルトの名無しさん:04/05/23 23:25
cobol初心者です。C++、Java系をやっていました。
業務が会計システム担当なのでcobolを学習中ですが、
copy句という言葉がでてきました。
「copy句」とは何を指すのでしょうか?
>>907
#includeみたいなもん
909デフォルトの名無しさん:04/05/24 14:26
COPY文 (ひよこグミ【サルでもできるCOBOL入門】)

http://mypage.naver.co.jp/rodman/cobol/dic/a_copy.html
COBOLで乱数を発生させたいんですけどどうやれば実現できますか?
911881:04/05/25 17:50
>>910
乱数発生させればいいじゃん。
プログラマー適性検査で、ボロボロだったのに
COBOLプログラマーで採用されてしまいますた。
ぼくは、この先、生きてイケますか?(-。-)y-゜゜゜
>>912
プログラマー適性なんてそんなに気にしなくても良い会社なんじゃないの?
最初はプログラマー経験、数年後は事務屋さん系のSE
それを求められているなら採用されんじゃないのかな?

人の才能なんて何がきっかけで芽生えるかわからないよ。
画一的な試験の結果をどうとらえるかは人それぞれ(統計的には当たる事が
多いんだろうけど)
統計データに基づく安全策をとるか、無視するかよ〜く考えて進路を選んでください
若いうちなら選択が誤っていてもやり直すチャンスもあります。
914デフォルトの名無しさん:04/05/26 17:39
【JaviteDefuser】COBOL550万行をJavaで再構築へ (プログラマー@2ch掲示板)

http://pc5.2ch.net/test/read.cgi/prog/1085530374/l50
915デフォルトの名無しさん:04/05/26 21:46
COBOLの開発現場は、新しい水が流れ込まなくなった溜池のような場所。
でもCOBOL屋って、そういう状況でも疑問を持たない人が多いんだ。
>>915
技術よりも業務知識を要求されるシステムが多いからね。
技術云々を重視するようなシステムはCOBOLで作られてないし。

素人でもすんなりプログラムが作れるという意味では、他の言語
を利用したシステムより一歩進んだ環境といえなくも無いと思う。
その代わり糞のようなプログラムも多いけど。
cobolはAS400 クライアントマネージャにかぎる
それ以外のcobolはだめ
918デフォルトの名無しさん:04/05/29 00:21
技術云々抜かしてる奴にとっての技術って、
所詮どっかのメーカーが作ったソフトを使いこなす「技能」だろ?
技能ってのはトヨタの熟練工みたいなのを言う。
>918のようなへぼプログラマなど足元にも及ばぬような次元の話なのだよ。

技術ってのは訓練により誰にでもできるようになるものだ。
920デフォルトの名無しさん:04/05/29 01:38
>>919
とんちんかんで話になりません。特殊学級の人は消えてください。
で、結局、プログラマ適性検査って、Cobolに関してはあまり関係ないのですか?
プログラマ適性検査は、けっこう当たるものなんですか?
>>921
関係はあるよ。
論理的な思考ができるかどうかとか。
でも、そういうのはプログラマに限った話ではないよね。

で、COBOLを使っている職場ではむしろ事務の話とか
営業の話とかがわかる人間のほうが評価されやすいと思うよ。
COBOLは誰でも使えるという意味ですぐれている。
コンピューターのことなど全然理解していなくてもさらっと使えます。
(キチンと使っているかは別として)
素人が使うにはVBAよりも使いやすいかも。

仕事なんて訓練次第でそこそこのレベルには到達できるよ。
どんな職種でもその訓練をしてくれるような企業に入るかどうか
(特に最初の3年ぐらい)で将来の方向が決まるんじゃないかな?

教育のゆとりの無い会社はダメだね。いいことばっかり言ってて
実際はダメな会社がいっぱいあるよ。そういう会社にひっからかない
ように会社を選ぶことが大事だね。
923デフォルトの名無しさん:04/05/29 18:13
ORCA統計オープンソースコミュニティーML (開設日: 2004/05/29)

http://www.freeml.com/ctrl/html/MLInfoForm/[email protected]
>>920 おかわいそうに・・・sageもおぼえられないなんて
>>922
なるほど・・・。

>教育のゆとりの無い会社はダメだね。
これをしてくれる余裕がある会社って、あまり求人が出てないような
気がするのですが、気のせいでしょうか?
926デフォルトの名無しさん:04/05/30 01:14
>>925
当たり前だよ。
そんな余裕のある優良企業が、
どこの馬の骨か分からない馬鹿を
簡単に採用するわけないじゃん。
そういうところに新卒で就職できなかった時点で終わってんの。
927デフォルトの名無しさん:04/05/30 01:20
a
>>926
なるほどなぁ。でも、オレ、バカでも中途採用されたけどな。
まぁ、人柄で入れることもあるのですよ。
>>928
余裕のある企業だったんだろ。
いいところ見つけたな。