Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/COBOL/verschiedene-Autoren/Cobug/   (Columbo Version 0.7©)  Datei vom 4.1.2008 mit Größe 1 kB image not shown  

Quelle  random.cob   Sprache: Cobol

 
        IDENTIFICATION DIVISION.
        PROGRAM-ID. GETTINGSTARTED.
        AUTHOR.
      * Aus COBUG von CB am 3.7.2007
        ENVIRONMENT DIVISION.
        input-output section.
        file-control.
          select f assign to file-f.
        DATA DIVISION.
        file section.
         fd f
         record contains 120 characters
        data record is random-rec
        label record is omitted.
        01 random-rec.
          05 i pic x(8).
        WORKING-STORAGE SECTION.
         01 account-rec.
           05 i pic x(8).
         01 RANDOM-NUM-GENERATER-FIELDS. 
          03 MULTIPLIER PIC 9(05) VALUE 16807. 
          03 MODULUS PIC 9(10) VALUE 2147483646. 
          03 QUOTIENT PIC 9(06) VALUE 127736. 
          03 REMDER PIC 9(04) VALUE 2836. 
          03 LO-NUM PIC 9(06) VALUE ZEROES. 
          03 HI-NUM PIC 9(06) VALUE ZEROES. 
          03 SEED PIC S9(10) VALUE ZEROES. 
          03 UNIFORM PIC 9V99 VALUE ZEROES. 
          03 RANDOM-NUMBER PIC 9(03) VALUE ZEROES. 
        LINKAGE SECTION.
         77 random-cnt pic 9(4).
         77 ws-mm      pic 9(4).
         77 ws-dd      pic 9(4).
         77 ws-yy      pic 9(4).
         77 ws-hr      pic 9(4).
         77 ws-min     pic 9(4).
         77 ws-sec     pic 9(4).
         77 ws-hun      pic 9(4).
       PROCEDURE DIVISION using random-cnt ws-mm ws-dd 
                          ws-yy  ws-hr ws-min ws-sec ws-hun.
        COMPUTE SEED = ((WS-MM * WS-DD * WS-YY) + 
           (WS-HR * WS-MIN * WS-SEC * WS-HUN) + 1). 
        DIVIDE SEED BY QUOTIENT GIVING HI-NUM REMAINDER LO-NUM 
        COMPUTE SEED = (MULTIPLIER * LO-NUM) - (MULTIPLIER * HI-NUM) 
        IF SEED < 1 
        ADD MODULUS TO SEED 
        END-IF 
        COMPUTE UNIFORM = (SEED / MODULUS) 
        COMPUTE RANDOM-NUMBER = (UNIFORM * 100). 
      *****ONLY TAKE 2% OF THE INPUT RECORDS**** 
       IF RANDOM-NUMBER < 2 
       WRITE RANDOM-REC FROM ACCOUNT-REC 
       ADD 1 TO RANDOM-CNT 
       END-IF

Messung V0.5
C=94 H=95 G=94

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.