Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dojo 20240430 COBOL on Z

YasuIchikawa
April 30, 2024
200

Dojo 20240430 COBOL on Z

YasuIchikawa

April 30, 2024
Tweet

Transcript

  1. ໨࣍ • ࣗݾ঺հ • ϝΠϯϑϨʔϜͱ͸ • $0#0-ͱ͸ • $0#0-ͷॻ͖ํ •

    0QFO.BJOGSBNF1SPKFDUͰ$0#0-Λֶ΅͏ • ४උ • $0#0-Λ࣮ߦͯ͠ΈΔ; • $0#0-Λॻ͍ͯΈΔ; • ϦϯΫू • 2"
  2. ࣗݾ঺հ ࢯ໊ ࢢ઒ହٱ *5ۀքྺ ೥໨ ৬ྺ *#. ΧελϚʔαΫηεϚωʔδϟʔ ҏ౻஧έʔϒϧγεςϜ ςΫχΧϧαϙʔτ

    .JDSPTPGU ςΫχΧϧΞΧ΢ϯτϚωʔδϟʔ ೔ཱιϑτ΢ΣΞΤϯδχΞϦϯά ςΫχΧϧαϙʔτ౳ ܦݧͷ͋Δ੡඼ *#.੡඼ɺ.JDSPTPGU੡඼ɺө૾ؔ࿈ػثɺετϨʔδ౳ झຯ υϥΠϒ ԰ࠜແ͠ ͱকع؍ઓ
  3. $0#0-ͷॻ͖ํᶃ  ͭͷ෦ʹ෼͚ͯॻ͘  هड़͢ΔҐஔΛकΔ 1 2 3 4 5

    6 7 8 9 1011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 ⼀連番号 標 識 A領域 B領域 ⾒出し領域 各⾏を識別す る番号を記述 標 識 コードを 記述する ⼿続き部の処理の書き始めとして使⽤する事が多い プログラムでは使 ⽤しない ⾒出し IDENTIFICATION DIVISION プログラム識別名を記述 (必須) 環境 ENVIRONMENT DIVISION コンピュータの環境や⼊出⼒ファイルを記述 データ DATA DIVISION 変数、引数、データ、型などを記述 ⼿続き PROCEDURE DIVISION 実際の処理部分のコードを記述 (必須)
  4. $0#0-ͷॻ͖ํᶄ  ୅දతͳจ๏ͷྫ 代⼊ MOVE "Captain COBOL" TO WHO. 標準出⼒

    DISPLAY 'HELLO WORLD!'. 算術演算 ADD 1 TO PGM-COUNT. SUBTRACT 1 FROM NUM1 GIVING NUM2. MUTIPLY NUM1 BY 100 GIVING NUM2. DEVIDE NUM1 BY 100 GIVING NUM2. COMPUTE TOTALMIN = HOURS * 60. ⽂字列演算 STRING TEXT1 'HELLO WORLD!' INTO RESULT. ⽇付演算 MOVE FUNCTION CURRENT-DATE to TODAY. 繰り返し PERFORM 100 TIMES ADD 1 TO COUNT END-PERFORM. 条件分岐 IF A > B THEN MOVE "Aが⼤きいです。" TO RESULT ELSE MOVE "Aが⼤きくありません。" TO RESULT END-IF.
  5. ४උᶃ 0QFO.BJOGSBNF1SPKFDUͷ*%औಘ IUUQTXXXJCNDPNFWFOUTXXFBTUNUNDPCPMWTDPEFOTGFOSPMMBMM PQFOGPSN $0#0-1SPHSBNNJOHXJUI74$PEF -BCT$POGJSNBUJPO 8FMDPNFUPUIF$0#0-1SPHSBNNJOHXJUI74$PEF -BCTTZTUFN 1MFBTFSFBEUIJTFNBJMDBSFGVMMZBTJU DPOUBJOTBMMUIFJOGPSNBUJPOZPVOFFESFHBSEJOHZPVSBDDFTTUPUIFTZTUFN

    3FHJTUSBUJPO*OGPSNBUJPO :PVSQFSTPOBM.BJOGSBNF*%JT;; *1BEESFTTGPS74$PEF FYUFOTJPO1PSU *1BEESFTTGPS5/1PSU *1BEESFTTGPS*%[1PSU 1MFBTFOPUF :PVSBTTJHOFEJEXJMMCFWBMJEGPSBQFSJPEPGEBZT GSPNUPEBZ *GZPVEPOPUBDDFTTZPVSBDDPVOUXJUIJOEBZT PGSFDFJWJOHUIJTFNBJM ZPVSJEXJMMCFEFMFUFE (FUQBTTXPSE 6TFUIF!;JI@$0#0- BQQ BDDFTTJOTUSVDUJPOTCFMPX UPHFUZPVSQBTTXPSE0ODFZPVIBWFUIFBQQ HFOFSBUFEQBTTXPSEZPVDBOBDDFTTUIFTZTUFNVTJOHUIF74$PEF ;08&JOUFSGBDF 2VFTUJPOTBOE)FMQ 8FBSFVTJOH4MBDLGPSTZTUFNBDDFTTRVFTUJPOTBOEQBTTXPSEJTTVFT $MJDLUIJTMJOLIUUQTTMBDLPQFONBJOGSBNFQSPKFDUPSH UPBEEZPVSTFMGUPUIF0QFO.BJOGSBNF1SPKFDU 4MBDLXPSLTQBDF8JUIJOUIJTXPSLTQBDF BEEUIFDPCPMQSPHSBNNJOHDPVSTF DIBOOFM 6TFUIFTFMGTFSWJDFBQQMJDBUJPOUPHFUJOJUJBMQBTTXPSEBOESFTFUQBTTXPSE 'SPNXJUIJOUIFDPCPMQSPHSBNNJOHDPVSTF4MBDLDIBOOFM TFOEB%JSFDU.FTTBHF %. UPUIF ;JI@$0#0- CPU CZUZQJOHEN!;JI@$0#0- &OUFSZPVS.BJOGSBNF*%  GPMMPXFECZUIFFNBJMZPVVTFEUPSFHJTUFSGPSUIF$0#0-DPVSTF ;; NBJM!BESFTTKQ *GUIFFNBJMNBUDIFTBWBMJE*%JOUIFSFHJTUSBUJPO%# UIFOQBTTXPSEJTSFTFU 6TFUIFQBTTXPSEQSPWJEFECZ;JI@$0#0- UPMPHJO "MMPUIFSDPVSTFSFMBUFEJTTVFT 1MFBTFDPOUJOVFUPVTFUIF0QFO.BJOGSBNF1SPKFDU$0#0-DPVSTF *TTVFTCPBSE4MBDLDIBOOFM )BWF'VOJOUIJTKPVSOFZXJUI$0#0- 4JODFSFMZ  $0#0-$PVSTF5FBN ᶅ4VCNJU ᶃԼهͷ*#.αΠτ΁ΞΫηε ᶄΞΧ΢ϯτ৘ใΛೖྗ ᶆ*%ͱΞΫηεઌ৘ใͷϝʔϧ͕ಧ͘
  6. ४උᶈ 74$PEF͔Β*#.;؀ڥ΁઀ଓ ᶃ;ΞΠίϯΛΫϦοΫͯ͠ ;PXF &YQMPSFSΛબ୒ ᶄ%"5"4&54ԣͷʴΛ ΫϦοΫͯ͠઀ଓΛ௥Ճ ᶅ$SFBUFBOFXDPOOFDUJPOUP[04ΛΫϦοΫ ᶆ೚ҙͷϓϩϑΝΠϧ໊Λೖྗ ᶇϓϩϑΝΠϧλΠϓͰ[PTNGΛબ୒

    ᶈϝʔϧͰҊ಺͞Εͨɺ74$PEF༻*1ΞυϨε ͱϙʔτ൪߸Λ࢖༻ͯ͠63-Λೖྗ ᶉϝʔϧͰҊ಺͞Εͨɺ*%ͱύεϫʔυΛೖྗ ᶊূ໌ॻؔ࿈෦෼ͷΈ'BMTFΛબ୒͠ɺͦͷଞ ͷઃఆ͸͢΂ͯطఆͷ··&OUFSͰਐΊΔ
  7. $0#0-Λॻ͍ͯΈΔ;ᶃ Λճ଍ͯ͠Έͨ $0#0- +BWB ίʔυ *%&/5*'*$"5*0/%*7*4*0/ 130(3".*%)&--0 %"5"%*7*4*0/ 803,*/(4503"(&4&$5*0/ 5FO1*$

     7  7"-6& 5PUBM1*$  7  7"-6& 130$&%63&%*7*4*0/ 1&3'03. 5*.&4 "%% 5FO50 5PUBM %*41-": )&--0803-%5PUBM &/%1&3'03. (0#"$, QVCMJDDMBTT)&--0\ QVCMJDTUBUJDWPJENBJO 4USJOH<>BSHT \ EPVCMF5FO EPVCMF5PUBM GPS JOU J J J \ 5PUBM 5FO 4ZTUFNPVUQSJOUMO )&--0803-% 5PUBM  ^ ^ ^ ݁Ռ )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-% )&--0803-%
  8. $0#0-Λॻ͍ͯΈΔ;ᶄ ͔Βԯ·ͰͷฏํࠜΛ଍ͯ࣌ؒ͠ΛଌͬͯΈͨ $0#0- +BWB ίʔυ *%&/5*'*$"5*0/%*7*4*0/ 130(3".*%)&--0 %"5"%*7*4*0/ 803,*/(4503"(&4&$5*0/ $PVOUFS1*$

     7"-6& 5PUBM1*$  7  7"-6& 4RVBSF3PPU3FTVMU 1*$  7   50%":1*$9   50%":1*$9   130$&%63&%*7*4*0/ %*41-": )&--0803-% ` .07&'6/$5*0/$633&/5%"5&5050%": %*41-": 50%": 1&3'03. 6/5*- $PVOUFS $0.165& 4RVBSF3PPU3FTVMU '6/$5*0/4235 $PVOUFS "%% 4RVBSF3PPU3FTVMU 50 5PUBM "%% 50 $PVOUFS &/%1&3'03. .07&'6/$5*0/$633&/5%"5&5050%": %*41-": 50%": %*41-": 5PUBM (0#"$, JNQPSUKBWBVUJM%BUF QVCMJDDMBTT)FMMP8PSME\ QVCMJDTUBUJDWPJENBJO 4USJOH<>BSHT \ 4ZTUFNPVUQSJOUMO )&--0803-%   MPOHTUBSU5JNF 4ZTUFNDVSSFOU5JNF.JMMJT  EPVCMFUPUBM GPS JOUDPVOUFSDPVOUFSDPVOUFS \ EPVCMFTRVBSF3PPU3FTVMU .BUITRSU DPVOUFS  UPUBM TRVBSF3PPU3FTVMU ^ MPOHFOE5JNF 4ZTUFNDVSSFOU5JNF.JMMJT  4ZTUFNPVUQSJOUMO 5PUBM UPUBM  MPOHFMBQTFE5JNF FOE5JNF  TUBSU5JNF 4ZTUFNPVUQSJOUMO &MBQTFE5JNF  EPVCMF FMBQTFE5JNF  TFDPOET  ^ ^ ݁Ռ )&--0803-%    ඵ )&--0803-% 5PUBM& &MBQTFE5JNFTFDPOET
  9. 2"