|
|
DataMuseum.dkPresents historical artifacts from the history of: Q1 computer |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Q1 computer Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 9243 (0x241b)
Types: Q1_Text, reclen=79
Notes: q1file
Names: »GENLEDA«
└─⟦934333717⟧ Bits:30008597 DDMQ1-0029_Demonstration_Disk_SOURCE_Single_Density_Sept_77
└─⟦this⟧ »GENLEDA«
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;