トップページ⇒tech
1001コメント415KB

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001おちこぼらーNGNG
何でも聞け!
0893デフォルトの名無しさんNGNG
>>892
確かに
何のためにいちいちDIVISIONなんてあるのかね?
Aマージン、Bマージンも何のために存在するんだろう?

初めてCOBOLソースをコンパイルしたときに書き始めのカラムでエラーでまくりだった
0894apholist ◆AuRHfPwE NGNG
>>888
MKEditor使うといいよ。
HPにCobol用の強調定義ファイルあるし。
7文字目?と80文字目?に縦線ひいたりすると
書きやすい。
0895デフォルトの名無しさんNGNG
>>888
お気に入りも何も、ASPENのエディタしか利用できない…
0896デフォルトの名無しさんNGNG
>>893
パンチカードでコーディングするためじゃ!
パンチカードは一枚で80文字が記録できるのじゃ。
うっかり、バラバラにすると目もあてられんのじゃ。w
一度つかってみ!w
0897デフォルトの名無しさんNGNG
>896
パンチカードといえば、昔、休日出勤で移行作業のとき、どうしてもパンチカードでデータを投入しなきゃならなくなり(本番JCLの変更など許されない)、パンチ機の使い方が分からず困っていたら、たまたま通りかかった某部長、
「え、分からないの?どれどれ」
あっという間に作ってくれました。
老人敬うべし。
0898デフォルトの名無しさんNGNG
>>895
スキー屋?
0899デフォルトの名無しさんNGNG
そりゃALPEN

てか、スキー屋って何?
0900896NGNG
>>897
それは貴重な体験をされたのぅ。
ここに居るほとんどは、パンチカードの実物など見たこと無いじゃろうからな。
そういうワシもパンチカードで仕事をしたことはないのじゃがな。
遙か昔、学校で実習につかっただけじゃ。
青春時代のちょっとした思いでじゃ。。。w
0901デフォルトの名無しさんNGNG
>>894
有難うございます!
こんなすばらしいソフトがフリーなんですね。

>ASPENのエディタしか利用できない…
ってのはどういう環境なのでしょうか?
0902デフォルトの名無しさんNGNG
>>896
Aマージンはそう思えるけどBマージンはそう思えないんだけど

>>901
日立のメインフレームを使ってて端末が昔ながらのボロPC(DOSで動いてる)
状況じゃないの

でもASPENはよくできてるよ
0903893NGNG
>902
作った本人じゃないので実際のところはわからんが、
LABELと命令が区別しやすいようにしてあるのじゃろう。

もう、うろ覚えなのじゃがパンチカードライターでTABキー使えば8桁分いどうする。
つまり1打鍵でAマージンの頭からBマージンの頭まで移動するのじゃ。
タイプライター文化のない我らには想像しにくいが、あれはあれで理にかなってるのじゃ。

なお、DIVISIONがある理由もパンチカードにあるとにらんどるぞ。
ちょっと理由を考えてみなされ。w
0904896NGNG
おぉ、コーディングミスじゃ、すまぬの。
名前欄
893×
896○
カードを差し替えておくれ
0905デフォルトの名無しさんNGNG
>>903
なるほどね
DIVISIONごとに使いまわせるってか
それどころか01レベルとかでも使いまわせるな

そんな理由だったら何故もっと早くSECTIONとか思いつかなかったのだろう?
0906デフォルトの名無しさんNGNG
符号付パック10進数をゾーン10進数に変換するロジックを描いてみたまえ。
ただし、IF分は使わないこと!
0907デフォルトの名無しさんNGNG
↑1232E とか 235D とかなってるのを 12325 とか -2352にするってことかな?
0908デフォルトの名無しさんNGNG
>>906
01 A PIC S9(5) COMP-3.
01 B PIC S9(5).

MOVE A TO B.
0909デフォルトの名無しさんNGNG
>>907
おいおい
0910906NGNG
>>908
それだと符合が反映されないでしょ
907さんが言ってるようなことをIF文なしでやって
0911デフォルトの名無しさんNGNG
>>910
符合は反映されますが・・・

そもそもパック10進数とゾーン10進数をご存知ですか?
0912デフォルトの名無しさんNGNG
>>906
S.?
0913デフォルトの名無しさんNGNG
反映されるよね?
0914デフォルトの名無しさんNGNG
906!あんたの考えたロジック書いてみてくれ。
0915906NGNG
>>911
では、Aに-354という数字が入っていたとしよう。
で、908のとおりにやってみてから
DISPLAY B
と書くとどういう結果が出ますか?
ちゃんと-354って表示されますか?されますか?されますか?されますか?されますか?されますか?されますか?されますか?されますか?されますか?
0916デフォルトの名無しさんNGNG
どーすんの?
0917デフォルトの名無しさんNGNG
>>915
されませんよ
ソレは最初の問いがおかしいのです
あなたが求めているのはピクチャー編集された文字列です
0918デフォルトの名無しさんNGNG
>>915
01 A PIC S9(5) COMP-3.
01 B.
  03 CPIC SSSS9

MOVE A TO C.
DISPLAY B.

で満足?
0919デフォルトの名無しさんNGNG
>>917
で、結局どうやんの?
0920デフォルトの名無しさんNGNG
>>919
俺に聞くなよゾーン10進数を知らない>>906に聞いてくれ
0921デフォルトの名無しさんNGNG
>>918
Sが1個足りなかったな
0922906NGNG
>>918
あい、満足でぇす・・・

01 A PIC S9(5) COMP-3.
01 B PIC ----9.

MOVE A TO B.
DISPLAY B.

でもいいんじゃない?
0923デフォルトの名無しさんNGNG
>>922
+符号が出ないよそれじゃあ
0924デフォルトの名無しさんNGNG
いまさらそんなことを言っては駄目です。
0925デフォルトの名無しさんNGNG
>>920
ゾーン十進数!!
懐かしい響きだ・・・・
0926デフォルトの名無しさんNGNG
906は反省汁!
0927デフォルトの名無しさんNGNG
祭りの会場はここですか?
0928デフォルトの名無しさんNGNG
>>922
言っとくけど
PIC ----9とかは文字列だからね!
0929デフォルトの名無しさんNGNG
>>918
DISPLAY C だとどうなるの?
0930906NGNG
>>922
-が一個足りなかったですね。

>>922
このとおりにやれば、+の場合は-符号は出ませんよ
0931デフォルトの名無しさんNGNG
>>929
正の数字なら+123
負の数字なら-123てなかんじ
0932デフォルトの名無しさんNGNG
>>929
失礼DISPLAY Cの場合ね
ちゃんと出るかな?正直自信ないわ
0933デフォルトの名無しさんNGNG
とりあえず>>906は2進化10進数を勉強しなおせや!
0934懲りずに906NGNG
では、ファイルをREADする度に番号を前に貼り付けた番号に+1したものを貼り付けてください。
ただし、連番は1〜12までで、12の次には1を貼り付けてください。
これもIF文なしで
0935デフォルトの名無しさんNGNG
>>934
貼り付けるって?
0936懲りずに906NGNG
1番最初に読んだファイルには1を貼り付けて、
次のファイルには2を・・・次は3・・・と貼り付けていって、
13番目のファイルには13ではなく1を貼り付ける感じで
0937懲りずに906NGNG
>>934
数字をMOVEしてください。
0938デフォルトの名無しさんNGNG
>>936
貼り付けるって?
全然意味わかんねーよ。貼り付けなんてできませんよ。


0939デフォルトの名無しさんNGNG
>1番最初に読んだファイル
1番最初に読んだレコードじゃねえのか?
0940デフォルトの名無しさんNGNG
>>936
ファイル、一体いくつアサインすんの?
0941懲りずに906NGNG
ごめんなさい、レコードです。
0942デフォルトの名無しさんNGNG
>>906
どっかの新人研修の宿題でもやらせてんじゃねえのか?
あほくさ
0943デフォルトの名無しさんNGNG
906はファイルとレコードの区別もつかないアホだと判明しました。
ふつー間違えて表現しませんよ。
0944デフォルトの名無しさんNGNG
>>943
パックとゾーンもわかってないしな
0945デフォルトの名無しさんNGNG
906晒しage
0946デフォルトの名無しさんNGNG
>>922
がロジックときたもんだ
ロジックはコンパイラが作ってんだろーが
0947デフォルトの名無しさんNGNG
>>946
「業務ロジックを記述...」とか一般的に言うけどね。
0948デフォルトの名無しさんNGNG
>>947
単純転送をロジックというのは初耳です
0949デフォルトの名無しさんNGNG
おおかた、
Aを貼り付ける数字(藁)とすると
BにAを12で割った余りを代入し、
BをAで割った値をAにかけてAに1を加える
ってとこだろ。
こんなん消防でもできるさ
0950デフォルトの名無しさんNGNG
>>948
「これはMOVE命令だからロジックと言わない」なんてことはしない。
いちいち区別して言い分けたりしないよ。
0951デフォルトの名無しさんNGNG
おーい、906!
次の問題「貼り付けろ」や!
0952デフォルトの名無しさんNGNG
>>949
いちおう、
>>934
の答えね。天才906様のニーズにこたえられているか
ドキドキものです。
0953デフォルトの名無しさんNGNG
反応ねぇな906
0954デフォルトの名無しさんNGNG
906は仕様の変更を要求してきマスタ(w
0955デフォルトの名無しさんNGNG
>>950
まあソレはそうだが
あんな1文をロジックとはなかなか・・・
一連の手続きとなって う〜ん
なんか違和感あるな
といいつつ>>908をかいた俺であった
0956デフォルトの名無しさんNGNG
でも、漏れの会社にも906みたいな奴いるんだよな・・・
0957デフォルトの名無しさんNGNG
906は新人
会社で出された宿題の答えをココでパクろうとしている
0958懲りずに906NGNG
A PIC X(9).

Aに入っているスペースをすべて0に置き換えるロジックを
描いてください。
0959デフォルトの名無しさんNGNG
>>955
SE,PGと話すときに
「ここのロジックが....」
と、複数行にわたるロジックの最も重要な一行のみを差して言うときもあるし
プログラムのたった1行で終わってる手続きを差して言うこともある。

こんなの使い分けるSE,PGを知らん。少なくともIBM,NEC,日立にはいない
0960デフォルトの名無しさんNGNG
>>958
はいはい、INSPECT使ってネ
0961デフォルトの名無しさんNGNG
>>958
A PIC X(9).
B PIC 9(9).

MOVE A TO B.

満足?

>>959
わかったよ悪かったな
0962デフォルトの名無しさんNGNG
>>958
くっさ〜
0963デフォルトの名無しさんNGNG
>>906
もう寝ろよ。
0964懲りずに906NGNG
>>961
データ例外で落ちますよ・・・
0965デフォルトの名無しさんNGNG
>>964
おちねえよ
COBOLのゾーン10進の取り扱い勉強せえよ
Pl/Iならコンパイルエラーだ
0966デフォルトの名無しさんNGNG
961も実務経験無しと判明しました。
0967デフォルトの名無しさんNGNG
>>966
お前も物を知らんのだな
COBOLではゾーン10進数の上位4ビットはサインなしの場合は無視されるんだよ
0968デフォルトの名無しさんNGNG
906と966は大馬鹿
0969デフォルトの名無しさんNGNG
>>958
だから、INSPECTを使うんだって、
配列を9個作って9回ループって
一文字ずつ判断して0を代入するなんて
”ロジック””描くんじゃ”ねぇぞ(藁)
0970デフォルトの名無しさんNGNG
>>969
それじゃ当たり前すぎてクイズにならない
0971デフォルトの名無しさんNGNG
>>961
データ例外で落ちるはずだが?
Xタイプから9タイプへ転記できるの?
0972懲りずに906NGNG
>>969

958はそれで正解。
0973デフォルトの名無しさんNGNG
>>972
969よ宿題をといてやった報酬はないのかね?
0974デフォルトの名無しさんNGNG
↑
969→906
0975デフォルトの名無しさんNGNG
次スレ用意せねば。
0976デフォルトの名無しさんNGNG
>>971
下位4ビットが数字なら大丈夫
'A'はX'C1'こらは'F1'に変換される
SPACEはX'40'なのでX'F0'に変換される
SPACEを符号なしゾーンにMOVEするとZEROになるのだよ

IF文でイコールと判定されるから要注意
COBOLをやるならこれくらい知っとけ
0977デフォルトの名無しさんNGNG
>>967
アフォ、英数字項目の1文字目の右4ビットがAからFまたは、
左4ビットが0から9のときには不正10進でデータ例外になる。
0978デフォルトの名無しさんNGNG
>>976
それって転記元データが制限されるジャンよ。
0979デフォルトの名無しさんNGNG
理論馬鹿>>976
0980デフォルトの名無しさんNGNG
>>977
今回の問題はSPACEをZEROに置換すると言う限定付なのだよ
0981デフォルトの名無しさんNGNG
>>979
クイズなんだぜ
0982デフォルトの名無しさんNGNG
>>980
だから実務経験ナインだろ?
0983デフォルトの名無しさんNGNG
>>979
実際にIF 〜 ZERO
って言う条件で新と判定されてトラブルを起こしたコードを見たこともあるぜ
0984デフォルトの名無しさんNGNG
もう正解出したジャン
漏れってもしかしたら天才だったのかなぁ・・・
あの難しいクイズを2つも解いたんだゼ!
0985デフォルトの名無しさんNGNG
>>982
お前こそ無いだろ
0986デフォルトの名無しさんNGNG
>>980
Xタイプがすべてスペースで埋まってるってどこに書いてる(w
「_AB______123__CD」とかいうデータは
「0AB00000012300CD」にするんだよ。
0987デフォルトの名無しさんNGNG
>>986
おお
よくみればすべてとは書いていなかった
スマソ
しかしクイズとしては俺の答えのようなものを求めているものと思ったのだ
重ねてスマソ
0988デフォルトの名無しさんNGNG
>>985
あはは
0989デフォルトの名無しさんNGNG
だから実務経験無いだろってかいたんだが....スマンな>>987
官公庁へ提出するデータはこのようなへんてこな処理が多い。
0990デフォルトの名無しさんNGNG
>>989
俺は金融系で働いてるよ
もちろん実務ではあんな馬鹿げたことはしない
SPACEをZEROに置換なんてよくやってるよ
チェックディジットを求めるために空白を埋めるとかね
0991デフォルトの名無しさんNGNG
>>987
ていうか、これってクイズにもなってないし
0992デフォルトの名無しさんNGNG
>>991
あたりまえの手法以外の答えを求めていると思ったんだよう
酔ってるんだよ
許してくれよう
レス数が950を超えています。1000を超えると書き込みができなくなります。