出番が少ない「MULTIPLY文」はCOBOL言語の乗算処理です | 用語辞典

COBOL(コボル)言語の予約語MULTIPLYを使った乗算処理とは

辞典・辞書-MULTIPLY-イメージ

COBOL(コボル)言語のMULTIPLY文とは?

MULTIPLY(英語)は、日本語に訳すると「(数と数を)かける」という意味です。

COBOL(コボル)言語のMULTIPLY文は、単純な乗算計算をします。

MULTIPLY文の形式:MULTIPLY 乗算する値 BY 乗算対象項目

MULTIPLY文は、乗算する値と乗算対象項目をかけて、結果を乗算対象項目に格納します。

■書式

 MULTIPLY 乗算する値 BY乗算対象項目 [乗算対象項目2…].

■構文規則

 <乗算する値>

  乗算対象項目にかける値を数値データ項目や数値定数で記述します。

 <乗算対象項目>

  乗算する値とかける値を数値データ項目で記述します。

 <[乗算対象項目2…]>

  乗算する値とかける値を数値データ項目で記述します。乗算対象項目2…は、省略可能で、かつ複数記述することができます。

■使用例

実際にMULTIPLY文を使用したプログラム例をご紹介します。

辞典・辞書-MULTIPLY-使用例

このプログラムは、コンソールに入力を促すメッセージを表示し、数字の0から9までの1文字を2回入力させ、その2つの値を乗算した結果を表示するプログラムです。また、0から9以外が入力されるとエラーメッセージを表示します。

コンソールからの入力エリアが英数字データ項目のため、53行目と54行目で、MULTIPLY文で記述可能な数値データ項目に、コンソールから入力された値を設定し、55行目のMULTIPLY文で乗算をしています。

■実行結果

はじめに入力を促すメッセージが表示されます。

辞典・辞書-MULTIPLY-実行結果

数字の3と6を入力してみます。

辞典・辞書-MULTIPLY-入力例

演算結果が表示され、プログラムが終了しました。

MULTIPLY文のCOBOL(コボル)言語における基本事項やルールについて

MULTIPLY文は、乗算する値と乗算対象項目をかけて、結果を乗算対象項目に格納します。演算対象項目は複数記述することができるので、1つの値をいくつものデータ項目にかける場合に便利な機能です。

COBOL(コボル)言語のMULTIPLY文を使うときの注意点

MULTIPLY文では、乗算対象項目に結果が格納されるので、乗算対象項目の値が変わってしまうことに注意してください。

MULTIPLY文を使ったCOBOL(コボル)プログラムの活用方法

MULTIPLY文では、GIVING句を使うと、AかけるBの結果をCに格納するというように、演算対象項目の値を変化させずに、演算結果を他のデータ項目に格納することができます。

では、「COBOL(コボル)言語のMULTIPLY文とは?」でご紹介したサンプルプログラムを、演算結果を格納するデータ項目を追加し、演算対象項目の値を変化させずに、演算結果を格納するデータ項目に格納するように変更してみましょう。

変更箇所は、赤のマーカー部分です。

   
  1. ******************************************************************
  2. * Author:
  3. * Date:
  4. * Purpose:
  5. * Tectonics: cobc
  6. ******************************************************************
  7. IDENTIFICATION DIVISION.
  8. PROGRAM-ID. MULTIPLY-SUMPLE2.
  9. DATA DIVISION.
  10. FILE SECTION.
  11. WORKING-STORAGE SECTION.
  12. 01 WORKING-AREA.
  13. * コンソール入力バッファ
  14. 03 CONSOLE-INPUT1 PIC X(1).
  15. 03 CONSOLE-INPUT2 PIC X(1).
  16. * 演算用ワーク
  17. 03 WK1 PIC 9(2).
  18. 03 WK2 PIC 9(2).
  19. 03 WK3 PIC 9(2).
  20. * 表示エリア
  21. 03 DSP_BUF PIC X(128).
  22.  
  23. PROCEDURE DIVISION.
  24. *-------------------------------------------
  25. * 主手続
  26. *-------------------------------------------
  27. MAIN-PROCEDURE.
  28. * コンソール入力エリアの初期化
  29. MOVE SPACE TO CONSOLE-INPUT1.
  30. MOVE SPACE TO CONSOLE-INPUT2.
  31.  
  32. *乗算する値の入力
  33. EXEC-DISPLAY-INPUT-PROC1.
  34. * コンソール表示&入力
  35. DISPLAY "数値を1桁で力してください".
  36. ACCEPT CONSOLE-INPUT1 FROM CONSOLE.
  37. IF (CONSOLE-INPUT1 < 0) OR
  38. (CONSOLE-INPUT1 > 9) THEN
  39. DISPLAY "入力項目に誤りがあります"
  40. GO TO EXEC-DISPLAY-INPUT-PROC1
  41. END-IF.
  42.  
  43. *乗算対象項目の入力
  44. EXEC-DISPLAY-INPUT-PROC2.
  45. DISPLAY "数値を1桁で力してください".
  46. ACCEPT CONSOLE-INPUT2 FROM CONSOLE.
  47. IF (CONSOLE-INPUT2 < 0) OR
  48. (CONSOLE-INPUT2 > 9) THEN
  49. DISPLAY "入力項目に誤りがあります"
  50. GO TO EXEC-DISPLAY-INPUT-PROC2
  51. END-IF.
  52.  
  53. * 演算と演算結果表示
  54. MOVE CONSOLE-INPUT1 TO WK1.
  55. MOVE CONSOLE-INPUT2 TO WK2.
  56. MULTIPLY WK1 BY WK2 GIVING WK3.
  57.  
  58. STRING CONSOLE-INPUT1 "×" CONSOLE-INPUT2 "=" WK3
  59. DELIMITED BY SPACE
  60. INTO DSP_BUF.
  61. DISPLAY DSP_BUF.
  62.  
  63. END-PROC.
  64. STOP RUN.
  65. END PROGRAM MULTIPLY-SUMPLE2.

■実行結果

はじめに入力を促すメッセージが表示されます。

辞典・辞書-MULTIPLY-実行結果

数字の3と6を入力してみます。

辞典・辞書-MULTIPLY-入力例

「COBOL(コボル)言語のMULTIPLY文とは?」でご紹介したサンプルプログラムと全く同じように演算結果が表示され、プログラムが終了しました。

MULTIPLY文は単純な乗算処理ですが、COBOLのプログラムでは加算のADDと同じくらいの頻度で使用されていますので、ぜひ覚えておきましょう。

この記事を読んだ人は、こちらの記事も読んでいます

あなたのCOBOL技術を活かしませんか?

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

|  基礎  |  応用  |  勉強  |  試験 |  辞書  |

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門