DataMuseum.dk

Presents historical artifacts from the history of:

Q1 computer

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Q1 computer

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦0af8a30f5⟧ Q1_Text, reclen=79

    Length: 9243 (0x241b)
    Types: Q1_Text, reclen=79
    Notes: q1file
    Names: »GENLEDA«

Derivation

└─⟦934333717⟧ Bits:30008597 DDMQ1-0029_Demonstration_Disk_SOURCE_Single_Density_Sept_77
    └─⟦this⟧ »GENLEDA« 

Text

PAGE:  PROCEDURE(LINE);                                                        
       DCL   LINE   BINARY;                                                    
       PUT SKIP (LINE);   RETURN;   END;                                       
DCL    1 TRAN,                                                                 
       2 ACCT BINARY,   2 YEAR(13)BINARY,   2 MONTH(13)BINARY,                 
       2 DAY(13)BINARY,   2 V#(13)BINARY,   2 V#1(13)BINARY,                   
       2 AMT(13)FLOAT(9),   2 DES(13)CHAR (18);                                
DCL    TRANFL FILE;                                                            
DCL    AC CHAR (1),   B CHAR (1),    C CHAR (1),                               
       D CHAR (1),   E CHAR (1),   FF CHAR (1);                                
DCL    REM FLOAT (3),   VOU FLOAT (8),   VO FLOAT (8),   VO1 FLOAT (8),        
       STOREV CHAR (8),VCH CHAR (8),B1 CHAR (1),                               
       B50 CHAR(50)INIT('                                                  '), 
       C11 CHAR (11) INIT ('-----------'),                                     
       B10 CHAR (10) INIT ('          '),     DR# CHAR (6),                    
       CR# CHAR (6),   N# CHAR (6),   A$ FLOAT (9),   AA$ FLOAT (9),           
       DDES CHAR (19),   ND FLOAT (4),   SAVD FLOAT (4),   SAVC FLOAT (4),     
       VN BINARY,   VM BINARY,   DD BINARY,   MM BINARY,                       
       YY BINARY,   X CHAR (3),    Y CHAR(1), DRTL FLOAT(11), CRTL FLOAT(11);  
SEEOF: PROCEDURE(FL);                                                          
       DCL FL(1) BINARY;                                                       
       FL(1)=FL(6); RETURN; END;                                               
CHECK: PROCEDURE(A1); DCL A1 CHAR(1), Q FLOAT(1);                              
       A1=(AC);      Q=2;                                                      
       GET LIST(B,C,D,E,FF);                                                   
       REM=((A1*6)+(B*5)+(C*4)+(D*3)+(E*2)+FF);                                
       PUT FILE(DISPLAY) LIST(A1,B,C,D,E,FF);                                  
RS:    IF REM<7 THEN GO TO REMAIN; REM=REM-7; GO TO RS;                        
REMAIN: IF REM¬=0 THEN GOTO CAD; Q=1;                                          
RT:    N#=A1ööBööCööDööEööFF;                                                  
       X=DööE;   ND=B*5+X;    ND=ND+1;                                         
CAD:   RETURN(Q);END;                                                          
       OPEN TRANFL;      READ FILE (TRANFL) INTO (TRAN);                       
       IF ACCT¬=0 THEN GO TO ST;                                               
       IF SUBSTR(DES(1),1,8)¬='  TRANFL' THEN GOTO ST;                         
       SWITCH=0; ND=0;  III=0;       DRTL=0;  CRTL=0;                          
ASK:   PUT FILE (DISPLAY) SKIP LIST ('DATE (DAY MONTH YEAR): ');               
       GET SKIP LIST (DD,MM,YY);                                               
       IF DD>31 ö MM>12 THEN GOTO ASK;                                         
       DAY(2)=DD;   MONTH(2)=MM;   YEAR(2)=YY;                                 
       REWRITE FILE (TRANFL) FROM (TRAN);                                      
       PUT SKIP EDIT(B50) (A(51))('  A B C INT''L LTD.,')(A(21));              
       PUT SKIP(3) EDIT (B50) (A(51)) (' TRANSACTION JOURNAL')(A(22));         
       PN=2;   PUT SKIP(PN);                                                   
       PUT SKIP EDIT (B10)(A(11)) ('VOUCHER#')(A(9)) (B10)(A(11));             
       PUT EDIT ('DESCRIPTION        ')(A(20))(B10)(A(11));                    
       PUT EDIT (C11)(A(12))('DEBIT')(A(6))(C11)(A(12));                       
       PUT EDIT (B10)(A(11))   (C11) (A(12));                                  
       PUT EDIT ('CREDIT')(A(7));                                              
       PUT EDIT (C11)(A(11));               PUT SKIP(3);                       
AGA:   PUT FILE(DISPLAY) SKIP EDIT (' ')(A(37))('DEBIT ACCOUNT NO')(A(17))     
       (':')(A(20))('CREDIT ACCOUNT NO:')(A(37))('AMOUNT')(A(17))(':')(A(20))  
       ('DESCRIPTION')(A(17))(':')(A(131))('VOUCHER NO')(A(17))(':')(A(2));    
AAG:   GET SKIP LIST (STOREV);                                                 
       IF SUBSTR(STOREV,1,3)='END' THEN GOTO TOT;                              
       IF VERIFY(STOREV,'0123456789 ')=0 ö STOREV='        ' THEN GOTO AAG;    
       VOU=STOREV;   VN=0;   VM=VOU; PUT FILE(DISPLAY) EDIT(VOU)(P'99999999')  
       (' ')(A(10));      IF VOU<250 THEN GOTO NEXT;                           
       VO=VOU/250;     REM=VO;  VO1=VO;                                        
       IF REM¬=0 THEN VO1=VO1+1;                                               
       VO1=250-(VO1*250-VOU);     VO=VO-REM;                                   
       IF VO1=250 THEN VO1=0;    VN=VO;    VM=VO1;                             
NEXT:  STOREV=VOU;    VCH='0'ööVCH; L=INDEX(STOREV,' ');                       
       M=8-L;   SUBSTR(VCH,M,L)=STOREV; GOTO DRCR;                             
DRA:   PUT FILE(DISPLAY) SKIP EDIT (' ')(A(111))('CREDIT ACCOUNT NO:')(A(37))  
       ('AMOUNT')(A(17))(':')(A(20))('DESCRIPTION')(A(17))(':')(A(94))         
       ('VOUCHER NO')(A(17))(':')(A(2))(VOU)(P'99999999')(' ')(A(10))          
       ('DEBIT ACCOUNT NO')(A(17))(':')(A(2));                                 
       PUT FILE(DISPLAY) LIST (AC,B,C,D,E,FF,'-WRONG A/C #');                  
DRCR:  PUT FILE (DISPLAY) LIST ('DEBIT ACCOUNT NO : ');                        
       GET SKIP LIST(AC); IF AC=' ' THEN GOTO CR;                              
       IF CHECK(AC)¬=1 THEN GO TO DRA; PUT FILE(DISPLAY) EDIT (' ')(A(12));    
       SAVD=ND;  MDX=X;  X=BööC;   NDX=X;  DR#=N#; GOTO CR;                    
CRA:   PUT FILE(DISPLAY) SKIP EDIT (' ')(A(148))('AMOUNT')(A(17))(':')(A(20))  
       ('DESCRIPTION')(A(17))(':')(A(94))('VOUCHER NO')(A(17))(':')(A(2))      
       (VOU)(P'99999999',X(10))('DEBIT ACCOUNT NO')(A(17))(':')(A(2))(N#)      
 (A(18))('CREDIT ACCOUNT NO:')(A(19));                                         
       PUT FILE(DISPLAY) LIST (AC,B,C,D,E,FF,'-WRONG A/C #');                  
CR:    PUT FILE(DISPLAY) LIST('CREDIT ACCOUNT NO: ');                          
       GET SKIP LIST(B1);IF B1=' ' THEN GOTO AMD;AC=B1;                        
       IF CHECK(AC)¬=1 THEN GOTO CRA;   PUT FILE(DISPLAY) EDIT(' ')(A(12));    
       SAVC=ND;   MCX=X;   X=BööC;   NCX=X;   CR#=N#;                          
AMD:   PUT FILE (DISPLAY) EDIT ('AMOUNT')(A(17))(':')(A(2)); GET SKIP LIST(A$);
       PUT FILE(DISPLAY) EDIT(A$)(P'$$$$$$$$9V.99')(' ')(A(6))('DESCRIPTION')  
       (A(17))(':')(A(2));  GET SKIP LIST(DDES);                               
       IF SUBSTR(DDES,1,2)='AG' THEN GOTO AGA;  AA$=A$; CRTL=CRTL+AA$;         
       DRTL=DRTL+A$; VO1=STOREV;                                               
       PUT EDIT (B10)(A(11))(VO1)(P'99999999') (B10)(A(11));                   
       PUT LIST (SUBSTR(DDES,1,18));   PUT EDIT (B10)(A(14));                  
       IF SWITCH=0 THEN PUT EDIT (DR#)(A(7)) (B10)(A(10));                     
       PUT EDIT (A$)(P'ZZZZZZZZ9V.99');                                        
       PUT EDIT (B10)(A(12));                                                  
       IF SUBSTR(B1,1,1)=' 'THEN GOTO PCR;                                     
       PUT EDIT (CR#)(A(7)) (B10)(A(11));                                      
       PUT EDIT (AA$)(P'ZZZZZZZZ9V.99');                                       
PCR:   PUT SKIP;                                                               
       IF SWITCH=0 THEN DO I=1 TO 1;                                           
       III=SAVD-1;   UNSPEC (TRANFL)=III;                                      
       READ FILE (TRANFL) INTO (TRAN);                                         
       DES(DAY(1))=DDES;   AMT(DAY(1))=A$;                                     
       DAY(DAY(1))=DD;   MONTH(DAY(1))=MM;   YEAR(DAY(1))=YY;                  
       V#(DAY(1))=VN;   V#1(DAY(1))=VM;                                        
       DAY(1)=DAY(1)+1;   MONTH(1)=MONTH(1)+1;                                 
       REWRITE FILE(TRANFL) FROM(TRAN);                                        
       END;                                                                    
       IF SUBSTR(B1,1,1)=' ' THEN GOTO AGA;                                    
       III=SAVC-1;  UNSPEC (TRANFL)=III;                                       
       READ FILE (TRANFL) INTO (TRAN);                                         
       DES(DAY(1))=DDES;   AMT(DAY(1))=AA$-AA$*2;                              
       DAY(DAY(1))=DD;   MONTH(DAY(1))=MM;   YEAR(DAY(1))=YY;                  
       V#(DAY(1))=VN;   V#1(DAY(1))=VM;                                        
       DAY(1)=DAY(1)+1;   MONTH(1)=MONTH(1)+1;                                 
       REWRITE FILE (TRANFL) FROM (TRAN);                                      
       GOTO AGA;                                                               
TOT:   PUT SKIP(3) EDIT (' ')(A(32))('TOTAL:')(A(47))(DRTL)(P'ZZZZZZZZ9V.99')  
      (' ')(A(30))(CRTL)(P'ZZZZZZZZ9V.99');  PUT SKIP(50);                     
ST:    END;