कॉमट्रान

From Vigyanwiki
Revision as of 16:08, 25 July 2023 by Manidh (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
कॉमट्रान
Developerबॉब बेमर
पहली प्रस्तुतिTemplate:आरंभ करने की तिथि
Influenced by
FLOW-MATIC
Influenced
कोबोल

कॉमट्रान (कमर्शियल ट्रांसलेटर) आईबीएम में विकसित प्रारंभिक प्रोग्रामिंग भाषा है। इसका उद्देश्य वैज्ञानिक प्रोग्रामिंग भाषा फोरट्रान (फ़ॉर्मूला अनुवादक) के समकक्ष व्यावसायिक प्रोग्रामिंग था। इस प्रकार इसने कोबोल भाषा के अग्रदूतों में से के रूप में कार्य किया। वर्ष 1957 में बॉब बेमर द्वारा विकसित, यह भाषा प्रोग्रामिंग भाषा तत्व को प्रदर्शित करने वाली पहली भाषा थी जिसे पिक्चर क्लॉज के रूप में जाना जाता है।

COBOL में योगदान

कॉमट्रान के अनेक तत्वों को कोबोल में सम्मिलित किया गया:

  • चित्र खंड.
  • पैराग्राफिंग: कोड को पैराग्राफ में विभाजित करना (लाइन ब्रेक महत्वपूर्ण नहीं है)।
  • पैराग्राफ नाम. पैराग्राफों और जंप्स को नाम निर्दिष्ट करना (GO TO's) अनुच्छेद नाम के लिए हैं, किसी पंक्ति संख्या के लिए नहीं।
  • AT ENDफ़ाइल इनपुट संचालन पर खंड।
  • आलंकारिक स्थिरांक HIGH-VALUE.
  • संख्यात्मक मान पास करना (RETURN-CODE) प्रोग्राम से बाहर निकलने पर (पद्धतिकॉल) ऑपरेटिंग पद्धतिपर वापस आ जाता है।

चित्र खंड

एक चित्र खंड तत्व परिभाषित करता है कि आउटपुट के लिए किसी विशेष डेटा आइटम को कैसे स्वरूपित किया जाना चाहिए। इस प्रकार इसमें अक्षरों और अंकों की श्रृंखला होती है। यह रीड और राइट स्टेटमेंट में देखे गए फोरट्रान प्रारूप विनिर्देशक या सी जैसी अधिक आधुनिक भाषाओं में देखी जाने वाली फ़ॉर्मेटिंग स्ट्रिंग के समान है। यह कोबोल का महत्वपूर्ण हिस्सा बन गया।

नमूना कार्यक्रम

यह नमूना कॉमट्रान प्रोग्राम है, जो पेरोल गणना करता है।[1]

 01001 *कार्यप्रणाली
 
 01002 CALL (EMPLOYEE.NUMBER)  EMPLOYNO,
 01003      (BONDEDUCTION)     BONDEDUCT,
 01004      (BONDENOMINATION)  BONDENOM,
 01005      (BONDACCUMULATION) BONDACCUM,
 01006      (INSURANCE.PREM)   INSPREM,
 01007      (RETIREMENT.PREM)  RETPREM,
 01008      (DEPARTMENT.TOTAL) DPT.
 
 01009 प्रारंभ. सभी फ़ाइलें खोलें.
 
 01010 GET.MASTER. GET MASTER, AT END DO END.OF.MASTERS.
 
 01011 GET.DETAIL. GET DETAIL, AT END GO TO END.OF.DETAILS.
 
 01012 COMPARE.EMPLOYEE.NUMBERS. GO TO COMPUTE.PAY WHEN DETAIL EMPLOYNO
 01013       IS EQUAL TO MASTER EMPLOYNO, LOW.DETAIL WHEN DETAIL
 01014       EMPLOYNO IS LESS THAN MASTER EMPLOYNO.
 
 01015 HIGH.DETAIL. MOVE 'M' TO MASTER ERRORCODE, FILE MASTER IN
 01016       ERROR.FILE.
 
 01017         GET MASTER, AT END DO END.OF.MASTERS.
 
 01018         GO TO COMPARE.EMPLOYEE.NUMBERS.
 
 02001 LOW.DETAIL. MOVE 'D' TO DETAIL ERRORCODE, FILE DETAIL IN
 02002        ERROR.FILE.
 
 02003          GO TO GET.DETAIL.
 
 02004 END.OF.MASTERS. IF DETAIL EMPLOYNO = HIGH.VALUE THEN GO TO
 02005         END.OF.RUN OTHERWISE SET MASTER EMPLOYNO = HIGH.VALUE.
 
 02006 END.OF.DETAILS. IF MASTEREMPLOYNO = HIGH.VALUE THEN GO TO
 02007         END.OF.RUN OTHERWISE SET DETAIL EMPLOYNO = HIGH.VALUE, GO
 02008         TO COMPARE.EMPLOYEE.NUMBERS.
 
 02009 END.OF.RUN. MOVE CORRESPONDING GRAND.TOTAL TO PAYRECORD, FILE
 02010        PAYRECORD, CLOSE ALL FILES.
 02011          STOP 1234.
 
 02012 COMPUTE.PAY. IF DETAIL HOURS IS GREATER THAN 40 THEN SET DETAIL
 02013        GROSS = (DETAIL HOURS - 40) * MASTER RATE * 1.5.
 
 02014        SET DETAIL GROSS = DETAIL GROSS + MASTER RATE * 40, DO
 02015      FICA.ROUTINE, DO WITHHOLDING.TAX.ROUTINE.
 
 02016        IF MASTER BONDEDUCT IS NOT EQUAL TO ZERO THEN DO
 02017      BOND.ROUTINE.
 
 02018        DO SEARCH FOR INDEX = 1(1)12.
 
 02019 NET. SET PAYRECORD NETPAY = DETAIL GROSS - विस्तृत फ़िका - विवरण
 02020        WHT -विस्तृत सेवानिवृत्ति - विस्तृत बीमा - विवरण
 02021        बॉन्डेडडक्ट.

संदर्भ

  1. See the example on page 87 of the IBM F28-8043 Commercial Translator General Reference Manual, June 1960 (pdf, 8.2M)

अग्रिम पठन

  • आईबीएम के प्रारंभिक कंप्यूटर, चार्ल्स बाशे, लाइल जॉनसन, जॉन पामर और एमर्सन पुघ द्वारा, 1986, एमआईटी प्रेस, ISBN 0-262-02225-7.

बाहरी संबंध