Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

If an experiment works, something has gone wrong.


computers / comp.sys.unisys / Re: Cobol random number generator

SubjectAuthor
* Cobol random number generatorshantheri shenoy
`- Cobol random number generatorBill Gunshannon

1
Re: Cobol random number generator

<dbef2769-f02d-45fb-96e2-e302a11dc46bn@googlegroups.com>

  copy mid

https://news.novabbs.org/computers/article-flat.php?id=680&group=comp.sys.unisys#680

  copy link   Newsgroups: comp.sys.unisys
X-Received: by 2002:ae9:f212:0:b0:706:6f2b:f37a with SMTP id m18-20020ae9f212000000b007066f2bf37amr200655qkg.518.1674034770596;
Wed, 18 Jan 2023 01:39:30 -0800 (PST)
X-Received: by 2002:a05:6871:8506:b0:15f:178c:771f with SMTP id
sx6-20020a056871850600b0015f178c771fmr457992oab.43.1674034770186; Wed, 18 Jan
2023 01:39:30 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.sys.unisys
Date: Wed, 18 Jan 2023 01:39:30 -0800 (PST)
In-Reply-To: <2d412302-8cda-48c7-a9a2-0dfe8323e324@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=122.50.194.54; posting-account=XJUgWgoAAAAJUC08dYHV4-AuluwbGEEJ
NNTP-Posting-Host: 122.50.194.54
References: <a1344e9a.0307110951.29b5298c@posting.google.com> <2d412302-8cda-48c7-a9a2-0dfe8323e324@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <dbef2769-f02d-45fb-96e2-e302a11dc46bn@googlegroups.com>
Subject: Re: Cobol random number generator
From: bshantherishenoy777@gmail.com (shantheri shenoy)
Injection-Date: Wed, 18 Jan 2023 09:39:30 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 8287
 by: shantheri shenoy - Wed, 18 Jan 2023 09:39 UTC

On Sunday, February 22, 2015 at 12:30:12 PM UTC+5:30, dens...@gmail.com wrote:
> On Friday, July 11, 2003 at 12:51:41 PM UTC-5, Guy wrote:
> > Does anyone have a random number generator for Cobol that they would
> > be willing to share?
> I updated the code to fix some after midnight problems and other problems. Sorry for the first set of code. But have not found a way to delete it from forum.
> IDENTIFICATION DIVISION.
> PROGRAM-ID. RANDGEN as "ConsoleApplication2.RANDGEN".
> AUTHOR. Myron D Denson.
> DATE-COMPILED.
> * **************************************************************
> * SUBROUTINE TO GENERATE RANDOM NUMBERS THAT ARE GREATER THAN
> * ZERO AND LESS OR EQUAL TO THE RANDOM NUMBERS NEEDED WITH NO
> * DUPLICATIONS. (CALL "RANDGEN" USING RANDGEN-AREA.)
> *
> * CALLING PROGRAM MUST HAVE A COMPARABLE LINKAGE SECTION
> * AND SET 3 VARIABLES PRIOR TO THE FIRST CALL IN RANDGEN-AREA
> *
> * FORMULA CYCLES THROUGH EVERY NUMBER OF 2X2 ONLY ONCE.
> * RANDOM-NUMBERS FROM 1 TO RANDOM-NUMBERS-NEEDED ARE CREATED
> * AND PASSED BACK TO YOU.
> *
> * RULES TO USE RANDGEN:
> *
> * RANDOM-NUMBERS-NEEDED > ZERO
> *
> * COUNT-OF-ACCESSES MUST = ZERO FIRST TIME CALLED.
> *
> * RANDOM-NUMBER = ZERO, WILL BUILD A SEED FOR YOU
> * WHEN COUNT-OF-ACCESSES IS ALSO = 0
> *
> * RANDOM-NUMBER NOT = ZERO, WILL BE NEXT SEED FOR RANDGEN
> * (RANDOM-NUMBER MUST BE <= RANDOM-NUMBERS-NEEDED)
> *
> * YOU CAN PASS RANDGEN YOUR OWN RANDOM-NUMBER SEED
> * THE FIRST TIME YOU USE RANDGEN.
> *
> * BY PLACING A NUMBER IN RANDOM-NUMBER FIELD
> * THAT FOLLOWES THESE SIMPLE RULES:
> * IF COUNT-OF-ACCESSES = ZERO AND
> * RANDOM-NUMBER > ZERO AND
> * RANDOM-NUMBER <= RANDOM-NUMBERS-NEEDED
> *
> * YOU CAN LET RANDGEN BUILD A SEED FOR YOU
> *
> * THAT FOLLOWES THESE SIMPLE RULES:
> * IF COUNT-OF-ACCESSES = ZERO AND
> * RANDOM-NUMBER = ZERO AND
> * RANDOM-NUMBER-NEEDED > ZERO
> *
> * TO INSURING A DIFFERENT PATTERN OF RANDOM NUMBERS
> * A LOW-RANGE AND HIGH-RANGE IS USED TO BUILD
> * RANDOM NUMBERS.
> * COMPUTE LOW-RANGE =
> * ((SECONDS * HOURS * MINUTES * MS) / 3).
> * A HIGH-RANGE = RANDOM-NUMBERS-NEEDED + LOW-RANGE
> * AFTER RANDOM-NUMBER-BUILT IS CREATED
> * AND IS BETWEEN LOW AND HIGH RANGE
> * RANDUM-NUMBER = RANDOM-NUMBER-BUILT - LOW-RANGE
> *
> * **************************************************************
> ENVIRONMENT DIVISION.
> INPUT-OUTPUT SECTION.
> FILE-CONTROL.
> DATA DIVISION.
> FILE SECTION.
> WORKING-STORAGE SECTION.
> 01 WORK-AREA.
> 05 X2-POWER PIC 9 VALUE 2.
> 05 2X2 PIC 9(12) VALUE 2 COMP-3.
> 05 RANDOM-NUMBER-BUILT PIC 9(12) COMP.
> 05 FIRST-PART PIC 9(12) COMP.
> 05 WORKING-NUMBER PIC 9(12) COMP.
> 05 LOW-RANGE PIC 9(12) VALUE ZERO.
> 05 HIGH-RANGE PIC 9(12) VALUE ZERO.
> 05 YOU-PROVIDE-SEED PIC X VALUE SPACE.
> 05 RUN-AGAIN PIC X VALUE SPACE.
> 05 PAUSE-FOR-A-SECOND PIC X VALUE SPACE.
> 01 SEED-TIME.
> 05 HOURS PIC 99.
> 05 MINUTES PIC 99.
> 05 SECONDS PIC 99.
> 05 MS PIC 99.
> *
> * LINKAGE SECTION.
> * Not used during testing
> 01 RANDGEN-AREA.
> 05 COUNT-OF-ACCESSES PIC 9(12) VALUE ZERO.
> 05 RANDOM-NUMBERS-NEEDED PIC 9(12) VALUE ZERO.
> 05 RANDOM-NUMBER PIC 9(12) VALUE ZERO.
> 05 RANDOM-MSG PIC X(60) VALUE SPACE.
> *
> * PROCEDURE DIVISION USING RANDGEN-AREA.
> * Not used during testing
> *
> PROCEDURE DIVISION.
> 100-RANDGEN-EDIT-HOUSEKEEPING.
> MOVE SPACE TO RANDOM-MSG.
> IF RANDOM-NUMBERS-NEEDED = ZERO
> DISPLAY 'RANDOM-NUMBERS-NEEDED ' NO ADVANCING
> ACCEPT RANDOM-NUMBERS-NEEDED.
> IF RANDOM-NUMBERS-NEEDED NOT NUMERIC
> MOVE 'RANDOM-NUMBERS-NEEDED NOT NUMERIC' TO RANDOM-MSG
> GO TO 900-EXIT-RANDGEN.
> IF RANDOM-NUMBERS-NEEDED = ZERO
> MOVE 'RANDOM-NUMBERS-NEEDED = ZERO' TO RANDOM-MSG
> GO TO 900-EXIT-RANDGEN.
> IF COUNT-OF-ACCESSES NOT NUMERIC
> MOVE 'COUNT-OF-ACCESSES NOT NUMERIC' TO RANDOM-MSG
> GO TO 900-EXIT-RANDGEN.
> IF COUNT-OF-ACCESSES GREATER THAN RANDOM-NUMBERS-NEEDED
> MOVE 'COUNT-OF-ACCESSES > THAT RANDOM-NUMBERS-NEEDED' TO RANDOM-MSG
> GO TO 900-EXIT-RANDGEN.
> IF YOU-PROVIDE-SEED = SPACE AND RANDOM-NUMBER = ZERO
> DISPLAY 'DO YOU WANT TO PROVIDE SEED Y OR N: '
> NO ADVANCING
> ACCEPT YOU-PROVIDE-SEED.
> IF RANDOM-NUMBER = ZERO AND
> (YOU-PROVIDE-SEED = 'Y' OR 'y')
> DISPLAY 'ENTER SEED ' NO ADVANCING
> ACCEPT RANDOM-NUMBER.
> IF RANDOM-NUMBER NOT NUMERIC
> MOVE 'RANDOM-NUMBER NOT NUMERIC' TO RANDOM-MSG
> GO TO 900-EXIT-RANDGEN.
> 200-RANDGEN-DATA-HOUSEKEEPING.
> MOVE FUNCTION CURRENT-DATE (9:8) TO SEED-TIME.
> IF COUNT-OF-ACCESSES = ZERO
> COMPUTE LOW-RANGE =
> ((SECONDS + HOURS + MINUTES + MS) * 1753).
> COMPUTE RANDOM-NUMBER-BUILT = RANDOM-NUMBER + LOW-RANGE.
> COMPUTE HIGH-RANGE = RANDOM-NUMBERS-NEEDED + LOW-RANGE.
> MOVE X2-POWER TO 2X2.
> 300-SET-2X2-DIVISOR.
> IF 2X2 < (HIGH-RANGE + 1)
> COMPUTE 2X2 = 2X2 * X2-POWER
> GO TO 300-SET-2X2-DIVISOR.
> * *********************************************************
> * IF FIRST TIME THROUGH AND YOU WANT TO BUILD A SEED. *
> * *********************************************************
> IF COUNT-OF-ACCESSES = ZERO AND RANDOM-NUMBER = ZERO
> COMPUTE RANDOM-NUMBER-BUILT =
> ((SECONDS + HOURS + MINUTES + MS) + HIGH-RANGE).
> IF COUNT-OF-ACCESSES = ZERO
> DISPLAY 'SEED TIME ' SEED-TIME
> ' RANDOM-NUMBER-BUILT ' RANDOM-NUMBER-BUILT
> ' LOW-RANGE ' LOW-RANGE.
> * *********************************************
> * END OF BUILDING A SEED IF YOU WANTED TO *
> * *********************************************
> * ***************************************************
> * THIS PROCESS IS WHERE THE RANDOM-NUMBER IS BUILT *
> * ***************************************************
> 400-RANDGEN-FORMULA.
> COMPUTE FIRST-PART = (5 * RANDOM-NUMBER-BUILT) + 7.
> DIVIDE FIRST-PART BY 2X2 GIVING WORKING-NUMBER
> REMAINDER RANDOM-NUMBER-BUILT.
> IF RANDOM-NUMBER-BUILT > LOW-RANGE AND
> RANDOM-NUMBER-BUILT < (HIGH-RANGE + 1)
> GO TO 600-RANDGEN-CLEANUP.
> GO TO 400-RANDGEN-FORMULA.
> * *********************************************
> * GOOD RANDOM NUMBER HAS BEEN BUILT *
> * *********************************************
> 600-RANDGEN-CLEANUP.
> ADD 1 TO COUNT-OF-ACCESSES.
> COMPUTE RANDOM-NUMBER =
> RANDOM-NUMBER-BUILT - LOW-RANGE.
> * *******************************************************
> * THE NEXT 3 LINE OF CODE ARE FOR TESTING ON CONSOLE *
> * *******************************************************
> DISPLAY RANDOM-NUMBER.
> IF COUNT-OF-ACCESSES < RANDOM-NUMBERS-NEEDED
> GO TO 100-RANDGEN-EDIT-HOUSEKEEPING.
> 900-EXIT-RANDGEN.
> IF RANDOM-MSG NOT = SPACE
> DISPLAY 'RANDOM-MSG: ' RANDOM-MSG.
> MOVE ZERO TO COUNT-OF-ACCESSES RANDOM-NUMBERS-NEEDED RANDOM-NUMBER.
> MOVE SPACE TO YOU-PROVIDE-SEED RUN-AGAIN.
> DISPLAY 'RUN AGAIN Y OR N '
> NO ADVANCING.
> ACCEPT RUN-AGAIN.
> IF (RUN-AGAIN = 'Y' OR 'y')
> GO TO 100-RANDGEN-EDIT-HOUSEKEEPING.
> ACCEPT PAUSE-FOR-A-SECOND.
> GOBACK.
sir could pls explain the program

Re: Cobol random number generator

<k2qbauFab38U1@mid.individual.net>

  copy mid

https://news.novabbs.org/computers/article-flat.php?id=681&group=comp.sys.unisys#681

  copy link   Newsgroups: comp.sys.unisys
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: bill.gunshannon@gmail.com (Bill Gunshannon)
Newsgroups: comp.sys.unisys
Subject: Re: Cobol random number generator
Date: Wed, 18 Jan 2023 08:42:53 -0500
Lines: 11
Message-ID: <k2qbauFab38U1@mid.individual.net>
References: <a1344e9a.0307110951.29b5298c@posting.google.com>
<2d412302-8cda-48c7-a9a2-0dfe8323e324@googlegroups.com>
<dbef2769-f02d-45fb-96e2-e302a11dc46bn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: individual.net bh6mMpL3jDVx6Q6VIFcCnQvl9EYu4gQrROyIdEbBJajujsBz9p
Cancel-Lock: sha1:/F9MOnpxjfGUaU/A5zkOv1X3ysE=
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.4.2
Content-Language: en-US
In-Reply-To: <dbef2769-f02d-45fb-96e2-e302a11dc46bn@googlegroups.com>
 by: Bill Gunshannon - Wed, 18 Jan 2023 13:42 UTC

On 1/18/23 04:39, shantheri shenoy wrote:
> * SUBROUTINE TO GENERATE RANDOM NUMBERS THAT ARE GREATER THAN
> * ZERO AND LESS OR EQUAL TO THE RANDOM NUMBERS NEEDED WITH NO
> * DUPLICATIONS. (CALL "RANDGEN" USING RANDGEN-AREA.)

With this as a requirement the numbers can not be random. True
random numbers can duplicate. In fact, a duplicate is just as
random as a non-duplicate and just as possible.

bill

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor