|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 27808 (0x6ca0) Notes: Mikados TextFile, Mikados_K Names: »SKAT85«
└─⟦fe8d363bb⟧ Bits:30004640 EASY-Skat 1985 (MIKADOS) └─ ⟦this⟧ »SKAT85«
0010 INTEGER X,PR,Y,F8,FE,G,T0,T1,T2,T3,T4,O,W 0015 CLEAR 0020 STATUS,G1,B7,B8,U2,F0,F7,T,TKB,TKH,B3,C0,BD6,C6,F0,F7,OV,HS:=0 0025 AKT,SKG,D6,HFORMUE,BFORMUE,B6,HC3,BC3,HATP,BATP,GSLUT,FSLUT,F1,F2:=0 0030 T0,T1,T2,T3,T4,O:=0 0035 DIM A1$(29) OF 29,A(29),H(23),K(23),LI$ OF 80,QT$ OF 80,S$ OF 80 0040 DIM FIL$ OF 15,PIL$ OF 45,SP$ OF 40,REV$ OF 80,ADR$ OF 80,HKL$ OF 38 0045 DIM BKL$ OF 38,NU$ OF 9 0050 LI$:="";PIL$:="";SP$:="";NU$:="#########";W:=100;GEMAFR:=O 0055 REV$:="Revisor Kaja Jensen" 0060 ADR$:="Lysholmvej 14, 2650 Hvidovre, (01)784852" 0065 FOR X:=1 TO 78 DO 0070 LI$:=LI$+"-";PIL$:=PIL$+".";SP$:=SP$+" " 0075 NEXT X 0080 F8,T4,G:=O;T2:=2 0085 FIL$:="dde:skatsys" 0090 OPEN FIL$,R 0095 GET FIL$:SYS 0100 CLOSE FIL$ 0105 IF SYS=1 THEN 0110 OPEN FIL$,W 0115 SYS:=O 0120 PUT FIL$:SYS 0125 CLOSE FIL$ 0130 FIL$:="dde:hskvar" 0135 OPEN FIL$,R 0140 FOR X:=1 TO 29 DO 0145 GET FIL$:A(X) 0150 IF X<24 THEN GET FIL$:H(X),K(X) 0155 NEXT X 0160 GET FIL$:F8,T1,T2,T4 0165 CLOSE FIL$ 0170 FIL$:="dde:fvar" 0175 OPEN FIL$,R 0180 GET FIL$:PR,C4,HD6,C9,B0,T1,TKH,F6,F1 0185 GET FIL$:F9,P1,P7,P8,P9,T0,B2,B1,B9 0190 GET FIL$:T2,C6,BD6,C0,B3,E6,F2,T3,TKB 0195 GET FIL$:F0,F7,SKG,AKT,D6,GSLUT 0200 GET FIL$:HFORMUE,BFORMUE,HATP,BATP,G,FSLUT 0205 GET FIL$:HKL$,BKL$ 0210 CLOSE FIL$ 0215 EXEC FORTSÆT 0220 ELSE 0225 PRINT TAB(29);">>> EASY - SKAT <<<" 0230 FIL$:="DDE:skatvejl" 0235 OPEN FIL$,R 0240 EXEC LFIL 0245 EXEC RETURN 0250 ENDIF 0255 X:=O 0260 OPEN "dde:skatart",R 0265 REPEAT 0270 X:=X+1 0275 GET "dde:skatart":A1$(X) 0280 UNTIL STATUS("dde:skatart")=19 OR STATUS("dde:skatart")>O OR X=29 0285 CLOSE 0290 E1:=28;F3:=64000;F4:=70999;F5:=1985;P1:=111300;P2:=182600 0295 P3:=22700;P4:=20300;P5:=43900;P6:=24000;P0:=3.5;PA0:=2 0300 U1:=.9;U2:=1229200;M1:=112700 0305 REPEAT 0310 REPEAT 0315 START: 0320 E8,E9,E6,C5,B9,AR,BD1,BD2,BDA2,BD3,BD4,BD5,BD6,E4,E7,E5,D8,E2:=O 0325 IF T4=1 THEN T2:=1 0330 IF F8<>1 THEN EXEC NULSTIL2 0335 IF F8=1 THEN EXEC SÆTATILH 0340 REPEAT 0345 REPEAT 0350 FE:=O;QT$:=" HOVEPERSONEN ";A(24):=HFORMUE 0355 EXEC INDKOMST 0360 HFORMUE:=B6;A(24):=O 0365 EXEC FEJLMED 0370 EXEC FEJL 0375 UNTIL FE<>1 0380 F6:=A(12);F9:=A(11)*(30/W) 0385 EXEC SÆTHTILA 0390 EXEC REGN1 0395 IF G<>1 THEN 0400 PRINT "Er hovedpersonen tilkendt enke-, folke- eller invalidepension," 0405 PRINT "dvs. har ret til personfradrag som pensionist"; 0410 EXEC SVAR 0415 T1:=O 0420 IF S$="j" THEN 0425 T1:=2 0430 PRINT "Er hovedpersonen fyldt 67 år ved indkomstårets begyndelse"; 0435 EXEC SVAR 0440 IF S$="j" THEN T1:=1 0445 ENDIF 0450 ENDIF 0455 IF T1=1 THEN 0460 IF G=1 THEN ATP:=HATP 0465 EXEC INDATP 0470 HC3:=C3+C5;HATP:=ATP 0475 ENDIF 0480 B0:=A(1);B1:=C1;B2:=C2;C4:=C7;PR:=O;C3:=O 0485 IF T1=1 THEN C3:=HC3 0490 EXEC SKATIND 0495 PRINT 0500 PRINT "Ønskes rettelser til ovenstående"; 0505 EXEC SVAR 0510 CLEAR 0515 UNTIL S$="n" 0520 IF G<>1 THEN 0525 PRINT "Skal der foretages beregning af en ægtefælle (gift kvinde)"; 0530 EXEC SVAR 0535 EXEC NULSTIL2 0540 T2:=O 0545 IF S$="j" THEN 0550 PRINT "Har ægtefællerne været gift hele kalenderåret"; 0555 EXEC SVAR 0560 T2:=2;T4:=O 0565 IF S$="j" THEN T2:=1;T4:=1 0570 IF F8=1 THEN EXEC SÆTATILK 0575 ENDIF 0580 ELSE 0585 IF T2<>O THEN 0590 EXEC NULSTIL2 0595 IF F8=1 THEN EXEC SÆTATILK 0600 ENDIF 0605 ENDIF 0610 IF T2<>O THEN 0615 REPEAT 0620 REPEAT 0625 FE:=O;QT$:=" DEN GIFTE KVINDE ";A(24):=BFORMUE 0630 EXEC INDKOMST 0635 BFORMUE:=B6;A(24):=O 0640 EXEC FEJLMED 0645 EXEC FEJL 0650 UNTIL FE<>1 0655 F7:=A(12);F0:=A(11)*(30/W) 0660 EXEC SÆTKTILA 0665 EXEC REGN1 0670 EXEC TTEST 0675 EXEC FEJL 0680 IF FE=1 THEN 0685 FE:=O;F8:=1 0690 GO TO START 0695 ENDIF 0700 IF G<>1 THEN 0705 PRINT "Er den gifte kvinde tilkendt enke-, folke- eller invalidepension" 0710 PRINT "dvs. har ret til personfradrag som pensionist"; 0715 EXEC SVAR 0720 T3:=O 0725 IF S$="j" THEN 0730 T3:=2 0735 PRINT "Er den gifte kvinde fyldt 67 år ved indkomstårets begyndelse"; 0740 EXEC SVAR 0745 IF S$="j" THEN T3:=1 0750 ENDIF 0755 ENDIF 0760 IF T3=1 THEN 0765 IF G=1 THEN ATP:=BATP 0770 EXEC INDATP 0775 BC3:=C3+C5;BATP:=ATP 0780 ENDIF 0785 B3:=A(1);B4:=C1;B5:=C2;C6:=C7;PR:=O 0790 IF C6<O THEN C6:=O 0795 C3:=O 0800 IF T3=1 THEN C3:=BC3 0805 EXEC SKATIND 0810 PRINT 0815 PRINT "Ønskes rettelser til ovenstående"; 0820 EXEC SVAR 0825 CLEAR 0830 UNTIL S$="n" 0835 ENDIF 0840 IF C4<O THEN C4:=O 0845 IF T2=O THEN EXEC FORMUE 0850 IF T2<>O THEN EXEC ÆFORMUE 0855 IF G<>1 THEN 0860 INPUT "Skriv kommuneskatteprocent: ":P7 0865 PRINT LI$ 0870 INPUT "Skriv den amtskommunale skatteprocent: ":P8 0875 PRINT LI$ 0880 INPUT "Skriv kirkeskatteprocenten: ":P9 0885 PRINT LI$ 0890 PRINT "Ønskes klientens navn anvendt i opgørelsen i stedet for HOVED"; 0895 PRINT "PERSONEN og GIFT" 0900 PRINT "KVINDE"; 0905 EXEC SVAR 0910 HKL$:="HOVEDPERSONEN";BKL$:="DEN GIFTE KVINDE" 0915 IF S$="j" THEN 0920 INPUT "Skriv hovedpersonens navn ":HKL$ 0925 IF T2<>O THEN INPUT "Skriv den gifte kvindes navn ":BKL$ 0930 PRINT LI$ 0935 ENDIF 0940 ENDIF 0945 IF T2=1 THEN EXEC REGN3 0950 IF T2<>1 THEN 0955 EXEC REGN4 0960 IF T2=2 THEN EXEC REGN5 0965 ELSE 0970 EXEC REGN6 0975 ENDIF 0980 EXEC REGN7 0985 IF T2=O AND B7>U2+99 THEN EXEC REGN8 0990 IF T4=1 AND B7+B8>U2+99 THEN EXEC REGN9 0995 IF T2=2 AND T4=O AND B7>U2+99 THEN 1000 EXEC REGN8 1005 HB9:=B9;HB7:=B7 1010 ENDIF 1015 IF T2=2 AND T4=O AND B8>U2+99 THEN 1020 B7:=B8 1025 EXEC REGN8 1030 E6:=B9;B9:=HB9;B7:=HB7 1035 ENDIF 1040 PRINT "Ønskes der print af beregningerne"; 1045 EXEC SVAR 1050 PR:=O 1055 IF S$="j" THEN PR:=1 1060 FOR Y:=1 TO PR+1 DO 1065 IF Y=2 THEN OUTPUT "P" 1070 EXEC SIDESKIFT 1075 EXEC SÆTATILH 1080 QT$:="INDKOMSTOPGØRELSE FOR "+HKL$+":" 1085 C3:=O 1090 IF T1=1 THEN C3:=HC3 1095 C1:=B1;C2:=B2;B6:=HFORMUE 1100 EXEC SKATIND 1105 EXEC SKIFT 1110 EXEC REGN10 1115 EXEC SKAT 1120 EXEC INDSKAT 1125 FS:=B9 1130 EXEC FSKAT 1135 EXEC SIDESKIFT 1140 IF T2<>O THEN 1145 EXEC SÆTATILK 1150 QT$:="INDKOMSTOPGØRELSE FOR "+BKL$+":" 1155 C3:=O 1160 IF T3=1 THEN C3:=BC3 1165 C1:=B4;C2:=B5;B6:=BFORMUE 1170 EXEC SKATIND 1175 EXEC SKIFT 1180 EXEC REGN22 1185 EXEC SKAT 1190 EXEC INDSKAT 1195 FS:=E6 1200 EXEC FSKAT 1205 EXEC SIDESKIFT 1210 ENDIF 1215 EXEC SKATPRO 1220 EXEC SKIFT 1225 NEXT Y 1230 OUTPUT "T" 1235 PRINT LI$ 1240 PRINT "Ønskes beregning af forskudsregistrering, d.v.s skattekort "; 1245 PRINT "m.v."; 1250 EXEC SVAR 1255 IF S$="j" THEN 1260 PRINT "*** VENT **** FORSKUDSREGISTREINGS PROGRAMMET INDLÆSES ***" 1265 EXEC PROGRAMSKIFT 1270 CHAIN "dde:forsk85" 1275 ENDIF 1280 PRINT "Ønskes årsopgørelse udskrevet"; 1285 EXEC SVAR 1290 IF S$="j" THEN 1295 PRINT "*** VENT **** ÅRSOPGØRELSES PROGRAMMET INDLÆSES ***" 1300 EXEC PROGRAMSKIFT 1305 CHAIN "DDE:ÅRSOP85" 1310 ENDIF 1315 EXEC FORTSÆT 1320 UNTIL F8<>1 1325 T2:=2;T4:=O;GSLUT,HFORMUE,BFORMUE:=O 1330 UNTIL 1<>1 1335 PROC PROGRAMSKIFT 1340 FIL$:="dde:fvar" 1345 OPEN FIL$,W 1350 PUT FIL$:PR,C4,HD6,C9,B0,T1,TKH,F6,F1 1355 PUT FIL$:F9,P1,P7,P8,P9,T0,B2,B1,B9 1360 PUT FIL$:T2,C6,BD6,C0,B3,E6,F2,T3,TKB 1365 PUT FIL$:F0,F7,SKG,AKT,D6,GSLUT 1370 PUT FIL$:HFORMUE,BFORMUE,HATP,BATP,G,FSLUT 1375 PUT FIL$:HKL$,BKL$ 1380 CLOSE FIL$ 1385 FIL$:="dde:hskvar" 1390 OPEN FIL$,W 1395 FOR X:=1 TO 29 DO 1400 PUT FIL$:A(X) 1405 IF X<24 THEN PUT FIL$:H(X),K(X) 1410 NEXT X 1415 PUT FIL$:F8,T1,T2,T4 1420 CLOSE FIL$ 1425 ENDPROC PROGRAMSKIFT 1430 PROC FORTSÆT 1435 CLEAR 1440 PRINT "*** BEREGNINGEN ER GENNEMFØRT *** Ønskes de indtastede" 1445 PRINT "indkomster/fradrag bevaret til en ny beregning"; 1450 EXEC SVAR 1455 G,F8:=O;FSLUT:=O 1460 IF S$="j" THEN 1465 F8:=1;FSLUT:=1 1470 PRINT "Ønskes alle andre forudsætninger for beregningerne bevaret"; 1475 EXEC SVAR 1480 IF S$="j" THEN G:=1 1485 ENDIF 1490 ENDPROC FORTSÆT 1495 PROC REGN20 1500 HD1:=D1;HD2:=D2;HDA2:=DA2;HD3:=D3;HD4:=D4;HD5:=D5;HD6:=D6 1505 ENDPROC REGN20 1510 PROC REGN10 1515 D1:=HD1;D2:=HD2;DA2:=HDA2;D3:=HD3;D4:=HD4;D5:=HD5;D6:=HD6 1520 ENDPROC REGN10 1525 PROC REGN21 1530 BD1:=D1;BD2:=D2;BDA2:=DA2;BD3:=D3;BD4:=D4;BD5:=D5;BD6:=D6 1535 ENDPROC REGN21 1540 PROC REGN22 1545 D1:=BD1;D2:=BD2;DA2:=BDA2;D3:=BD3;D4:=BD4;D5:=BD5;D6:=BD6 1550 ENDPROC REGN22 1555 PROC LFIL 1560 REPEAT 1565 GET FIL$:S$ 1570 IF STATUS(FIL$)=O THEN PRINT S$ 1575 UNTIL STATUS(FIL$)=19 1580 CLOSE FIL$ 1585 ENDPROC LFIL 1590 PROC SKÆRM 1595 A1$(24):="24. FORMUE "+PIL$(1:18) 1600 FOR X:=1 TO 12 DO 1605 PRINT A1$(X); 1610 IF A(X)<>O THEN PRINT USING NU$:A(X); 1615 PRINT TAB(42);A1$(X+12); 1620 IF A(X+12)<>O THEN PRINT USING NU$:A(X+12); 1625 PRINT 1630 NEXT X 1635 ENDPROC SKÆRM 1640 PROC INDKOMST 1645 CLEAR 1650 PRINT TAB(29);">>> EASY - SKAT <<<" 1655 PRINT TAB(20);"*** INDDATERING TIL ";QT$;" ***" 1660 PRINT "Nr. Indkomst";TAB(33);"Beløb";TAB(42);"Nr. Fradrag";TAB(74); 1665 PRINT "Beløb" 1670 PRINT 1675 EXEC SKÆRM 1680 REPEAT 1685 REPEAT 1690 B6:=A(24) 1695 CURSOR 1,20 1700 INPUT "Skriv nummer på indkomst/fradrag (1 til 24, 0 for slut) ----> ":N 1705 IF N>24 THEN PRINT "*** Nummeret skal være fra 1 til 24 ***";CHR$(7) 1710 UNTIL N<25 1715 IF N=2 OR N=8 OR N=18 OR N=19 THEN 1720 EXEC WIN 1725 ELSE 1730 IF N<>O THEN 1735 PRINT "Skriv beløbets størelse "+LI$(1:36)+">"; 1740 INPUT " ":A(N) 1745 IF N=11 THEN 1750 A(12):=INT(A(11)*25/W) 1755 CURSOR 30,16 1760 PRINT USING NU$:A(12) 1765 ENDIF 1770 ENDIF 1775 ENDIF 1780 CURSOR 1,17 1785 FOR X:=1 TO 12 DO 1790 PRINT SP$; 1795 NEXT X 1800 IF N<>O THEN 1805 IF N>12 THEN CURSOR 71,N-8 1810 IF N<=12 THEN CURSOR 30,N+4 1815 IF A(N)<>O THEN 1820 PRINT USING NU$:A(N) 1825 ELSE 1830 PRINT SP$(1:9) 1835 ENDIF 1840 ENDIF 1845 UNTIL N=O 1850 CLEAR 1855 ENDPROC INDKOMST 1860 PROC REGN1 1865 C1:=A(1)+A(2)+A(4)-A(5)-A(7)+A(6)+A(9)+A(10)-A(14)-A(18)+A(15)-A(16) 1870 C1:=C1+A(17)-A(22)-A(23) 1875 C2:=A(3)+A(5)+A(7)-A(9)+A(12)+A(11)-A(15)-A(13)-A(17)-A(19)-A(20)-A(21) 1880 C2:=C2+A(22)+A(8);C7:=C1+C2 1885 ENDPROC REGN1 1890 PROC INDATP 1895 C3:=A(8)-A(9)-A(21)+A(22) 1900 IF C3<O THEN C3:=O 1905 IF G<>1 THEN 1910 PRINT "Skriv størrelsen på modtaget ATP-beløb til brug for " 1915 INPUT "rentenedslag (evt, 0): ":ATP 1920 PRINT LI$ 1925 ENDIF 1930 C3:=C3+ATP;C3:=C3*30/W 1935 IF C3>3500 THEN C3:=3500 1940 IF C7>F3+99 THEN C3:=C3-((INT(C7/W)*W)-F3)/2 1945 IF C3<O THEN C3:=O 1950 C3:=INT(C3+.9);C5:=O 1955 IF C3>A(8)-A(9) THEN C5:=C3-A(8)+A(9) 1960 C3:=C3-C5;C2:=C2-C3;C1:=C1-C5;C7:=C1+C2 1965 ENDPROC INDATP 1970 PROC FEJLMED 1975 FE:=O 1980 PRINT "FEJLMEDDELELSER:" 1985 IF A(9)>A(8) THEN EXEC FEJL1(1) 1990 IF A(5)>A(4) THEN EXEC FEJL1(2) 1995 IF A(7)>A(6) THEN EXEC FEJL1(3) 2000 IF A(15)>A(14) THEN EXEC FEJL1(4) 2005 IF A(17)>A(16) THEN EXEC FEJL1(5) 2010 IF A(23)>A(6)*50/W THEN EXEC FEJL1(6) 2015 IF A(23)>M1 THEN 2020 FE:=1 2025 PRINT "Medarbejdende ægtefællefradrag er for stor. Må højst udgøre";M1; 2030 PRINT "." 2035 PRINT 2040 ENDIF 2045 IF A(12)>A(11)*25/W THEN EXEC FEJL1(7) 2050 IF A(22)>A(21) THEN EXEC FEJL1(8) 2055 IF (A(9)>O OR A(22)>O) AND A(4)-A(5)=O AND A(6)-A(7)=O THEN 2060 IF A(14)-A(15)=O AND A(16)-A(17)=O THEN EXEC FEJL1(9) 2065 ENDIF 2070 ENDPROC FEJLMED 2075 PROC FEJL1(Æ) 2080 FIL$:="dde:skfejl";FE:=1 2085 OPEN FIL$,R 2090 FOR Ø:=1 TO 9 DO 2095 FOR Q:=1 TO 4 DO 2100 GET FIL$:S$ 2105 IF LEN(S$)>2 AND Æ=Ø AND STATUS(FIL$)<19 THEN PRINT S$ 2110 NEXT Q 2115 NEXT Ø 2120 CLOSE FIL$ 2125 ENDPROC FEJL1 2130 PROC FEJL 2135 IF FE=O THEN 2140 PRINT "Ingen åbenbare fejl fundet." 2145 PRINT LI$ 2150 ELSE 2155 PRINT "Skal der foretages rettelser"; 2160 EXEC SVAR 2165 IF S$="n" THEN FE:=O 2170 PRINT LI$ 2175 ENDIF 2180 ENDPROC FEJL 2185 PROC TTEST 2190 PRINT "TOTALTEST:" 2195 IF A(23)<>H(10) OR A(10)<>H(23) THEN 2200 FE:=1 2205 PRINT "Medarbejdende ægtefælleindkomst er ikke lig med medarbejdende " 2210 PRINT "ægtefællefradrag." 2215 PRINT 2220 ENDIF 2225 IF C4>O AND C7<O THEN FIL$:="dde:skatfejb";FE:=1 2230 IF C4<O AND C7>O THEN FIL$:="dde:skatfejh";FE:=1 2235 IF FIL$(9:3)="fej" AND FE=1 THEN 2240 OPEN FIL$,R 2245 EXEC LFIL 2250 QT$:="Det negative beløb udgør ";QB:=C7 2255 EXEC LSKRIV2 2260 PRINT 2265 ENDIF 2270 ENDPROC TTEST 2275 PROC NULSTIL2 2280 FOR X:=1 TO 23 DO 2285 A(X):=O 2290 NEXT X 2295 ENDPROC NULSTIL2 2300 PROC SÆTATILH 2305 FOR X:=1 TO 23 DO 2310 A(X):=H(X) 2315 NEXT X 2320 ENDPROC SÆTATILH 2325 PROC SÆTATILK 2330 FOR X:=1 TO 23 DO 2335 A(X):=K(X) 2340 NEXT X 2345 ENDPROC SÆTATILK 2350 PROC SÆTHTILA 2355 FOR X:=1 TO 23 DO 2360 H(X):=A(X) 2365 NEXT X 2370 ENDPROC SÆTHTILA 2375 PROC SÆTKTILA 2380 FOR X:=1 TO 23 DO 2385 K(X):=A(X) 2390 NEXT X 2395 ENDPROC SÆTKTILA 2400 PROC SKATIND 2405 S$:=NU$+" KR." 2410 EXEC LSKRIV3 2415 PRINT 2420 C7,C7IK,C7FR:=O 2425 FOR X:=1 TO 12 DO 2430 PRINT A1$(X,5:25); 2435 IF A(X)<>O THEN PRINT USING S$:A(X); 2440 IF X<12 THEN 2445 PRINT TAB(41);A1$(X+12,5:25); 2450 IF A(X+12)<>O THEN PRINT USING S$:A(X+12); 2455 ELSE 2460 IF C3>O THEN 2465 PRINT TAB(41);"RENTEINDTÆGTSNEDSLAG ...."; 2470 PRINT USING S$:C3; 2475 ENDIF 2480 ENDIF 2485 PRINT 2490 NEXT X 2495 FOR X:=1 TO 23 DO 2500 IF X<>5 AND X<>7 AND X<>9 AND X<>15 AND X<>17 AND X<>22 THEN 2505 IF X<=12 THEN C7IK:=C7IK+A(X) 2510 IF X>12 THEN C7FR:=C7FR+A(X) 2515 ENDIF 2520 NEXT X 2525 QT$:=SP$(1:25)+LI$(1:12)+SP$(1:29)+LI$(1:12) 2530 EXEC LSKRIV3 2535 PRINT "INDKOMST IALT ";PIL$(1:11); 2540 PRINT USING S$:C7IK; 2545 PRINT TAB(41);"FRADRAG IALT ";PIL$(1:12); 2550 PRINT USING S$:C7FR 2555 QT$:=SP$(1:25)+"============"+SP$(1:29)+"============" 2560 EXEC LSKRIV3 2565 PRINT 2570 PRINT "ARBEJDSINDKOMST ";PIL$(1:9); 2575 PRINT USING S$:C1; 2580 PRINT TAB(41);"FORMUEINDKOMST ";PIL$(1:10); 2585 PRINT USING S$:C2 2590 C7:=C1+C2 2595 PRINT "SKATTEPLIGTIG INDKOMST ";PIL$(1:42); 2600 PRINT USING S$:C7 2605 PRINT "SKATTEPLIGTIG FORMUE ";PIL$(1:44); 2610 PRINT USING S$:B6 2615 ENDPROC SKATIND 2620 PROC FORMUE 2625 B7:=HFORMUE 2630 IF B7<U2+99 THEN B7:=O 2635 ENDPROC FORMUE 2640 PROC ÆFORMUE 2645 B7:=HFORMUE;B8:=BFORMUE 2650 IF T4=1 AND B7+B8<U2+99 THEN B7:=O;B8:=O 2655 IF T4=O AND B7<U2+99 THEN B7:=O 2660 IF T4=O AND B8<U2+99 THEN B8:=O 2665 ENDPROC ÆFORMUE 2670 PROC REGN3 2675 IF B1<O THEN B2:=B2+B1;B1:=O 2680 IF B4<O THEN B5:=B5+B4;B4:=O 2685 IF B1=B4 THEN 2690 IF B2=>B5 THEN T0:=1 2695 IF B2<B5 THEN T0:=2 2700 ELSE 2705 IF B1>B4 THEN 2710 T0:=1 2715 IF B5<O AND ABS(B5)>C4 THEN EXEC REGN23 2720 ELSE 2725 T0:=2 2730 IF B2<O AND ABS(B2)>C6 THEN EXEC REGN24 2735 ENDIF 2740 ENDIF 2745 IF (T0=1 AND ABS(B5)<=1000) OR (T0=2 AND ABS(B2)<=1000) THEN T2:=2 2750 ENDPROC REGN3 2755 PROC REGN23 2760 E4:=B5+C4;B5:=B5-E4;B4:=B4+E4 2765 ENDPROC REGN23 2770 PROC REGN24 2775 E4:=B2+C6;B2:=B2-E4;B1:=B1+E4 2780 ENDPROC REGN24 2785 PROC REGN25 2790 C7:=INT(C7/W)*W 2795 IF C7<=P1 OR C7<=P2 THEN 2800 D1:=C7*16/W*U1 2805 IF C7>P1 THEN D1:=((C7-P1)*32/W*U1)+(P1*16/W*U1) 2810 ELSE 2815 D1:=((C7-P2)*44/W*U1)+((P2-P1)*32/W*U1)+(P1*16/W*U1) 2820 IF P7+P8>E1 THEN D1:=D1-((C7-P2)*(P7+P8-E1)/W) 2825 ENDIF 2830 ENDPROC REGN25 2835 PROC REGN26 2840 D2:=C7*P0/W 2845 ENDPROC REGN26 2850 PROC REGN27 2855 DA2:=C7*PA0/W 2860 ENDPROC REGN27 2865 PROC REGN28 2870 D3:=C7*P7/W 2875 ENDPROC REGN28 2880 PROC REGN29 2885 D4:=C7*P8/W 2890 ENDPROC REGN29 2895 PROC REGN30 2900 D5:=C7*P9/W 2905 ENDPROC REGN30 2910 PROC REGN31 2915 D0:=D1+D2+DA2+D3+D4+D5 2920 ENDPROC REGN31 2925 PROC REGN32 2930 D1:=D1-(C8*16/W*U1) 2935 ENDPROC REGN32 2940 PROC REGN33 2945 D2:=D2-(C8*P0/W);D2AFR:=D2-INT(D2);D2:=INT(D2) 2950 ENDPROC REGN33 2955 PROC REGN34 2960 DA2:=DA2-(C8*PA0/W);D2AFR:=DA2-INT(DA2);DA2:=INT(DA2) 2965 ENDPROC REGN34 2970 PROC REGN35 2975 D3:=D3-(C8*P7/W) 2980 ENDPROC REGN35 2985 PROC REGN36 2990 D4:=D4-(C8*P8/W) 2995 ENDPROC REGN36 3000 PROC REGN37 3005 D5:=D5-(C8*P9/W) 3010 ENDPROC REGN37 3015 PROC REGN38 3020 D6:=D1+D2+DA2+D3+D4+D5 3025 ENDPROC REGN38 3030 PROC REGN6 3035 C7:=(INT(C6/W)*W)+B2 3040 IF T0=1 THEN C7:=(INT(C4/W)*W)+B5 3045 D8:=C7 3050 EXEC REGN25 3055 E2:=D1;C7:=C6 3060 IF T0=1 THEN C7:=C4 3065 EXEC REGN25 3070 E2:=E2-D1 3075 EXEC REGN51 3080 IF T0=1 THEN 3085 EXEC KIRKE 3090 ELSE 3095 EXEC GKIRKE 3100 ENDIF 3105 D5:=O 3110 IF (T0=1 AND TKH=1) OR (T0=2 AND TKB=1) THEN EXEC REGN30 3115 EXEC REGN31 3120 EXEC REGN39 3125 EXEC REGN50 3130 IF T0=1 THEN 3135 EXEC REGN20 3140 C9:=D0;D7:=D6;C7:=INT(B5/W)*W 3145 ELSE 3150 EXEC REGN21 3155 C0:=D0;D9:=D6;C7:=INT(B2/W)*W 3160 ENDIF 3165 EXEC REGN51 3170 IF T0=1 THEN 3175 EXEC GKIRKE 3180 ELSE 3185 EXEC KIRKE 3190 ENDIF 3195 D5:=O 3200 IF (T0=2 AND TKH=1) OR (T0=1 AND TKB=1) THEN EXEC REGN30 3205 C7:=B1 3210 IF T0=1 THEN C7:=B4 3215 EXEC REGN25 3220 AR:=D1;D1:=D1+E2;E8:=D2 3225 EXEC REGN26 3230 AR:=AR+D2;D2:=D2+E8;E8:=DA2 3235 EXEC REGN27 3240 AR:=AR+DA2;DA2:=DA2+E8;E8:=D3 3245 EXEC REGN28 3250 AR:=AR+D3;D3:=D3+E8;E8:=D4 3255 EXEC REGN29 3260 AR:=AR+D4;D4:=D4+E8 3265 IF D5<>O THEN 3270 E8:=D5 3275 EXEC REGN30 3280 AR:=AR+D5;D5:=D5+E8 3285 ENDIF 3290 E8:=O 3295 EXEC REGN31 3300 EXEC REGN42 3305 EXEC REGN32 3310 EXEC REGN33 3315 GEMAFR:=D2AFR 3320 EXEC REGN34 3325 GEMAFR:=GEMAFR+D2AFR 3330 EXEC REGN40 3335 EXEC REGN35 3340 EXEC REGN36 3345 IF D5>O THEN 3350 EXEC REGN37 3355 ELSE 3360 IF C8>C7 THEN D5:=D5-((C8-C7)*P9/W) 3365 ENDIF 3370 EXEC REGN38 3375 IF T0=1 THEN 3380 EXEC REGN21 3385 C0:=D0;D9:=D6 3390 ELSE 3395 EXEC REGN20 3400 C9:=D0;D7:=D6 3405 ENDIF 3410 ENDPROC REGN6 3415 PROC KIRKE 3420 IF G<>1 THEN 3425 PRINT "Er hovedpersonen medlem af folkekirken"; 3430 EXEC SVAR 3435 TKH:=O 3440 IF S$="j" THEN TKH:=1 3445 ENDIF 3450 ENDPROC KIRKE 3455 PROC GKIRKE 3460 IF G<>1 THEN 3465 PRINT "Er den gifte kvinde medlem af folkekirken"; 3470 EXEC SVAR 3475 TKB:=O 3480 IF S$="j" THEN TKB:=1 3485 ENDIF 3490 ENDPROC GKIRKE 3495 PROC REGN39 3500 C8:=P3 3505 IF T0=1 AND T1<>O THEN C8:=P6 3510 IF T0=2 AND T3<>O THEN C8:=P6 3515 ENDPROC REGN39 3520 PROC REGN40 3525 IF C8=P3 THEN C8:=P4 3530 ENDPROC REGN40 3535 PROC REGN42 3540 C8:=P3 3545 IF T0=1 AND T3<>O THEN C8:=P6 3550 IF T0=2 AND T1<>O THEN C8:=P6 3555 ENDPROC REGN42 3560 PROC REGN4 3565 C7:=C4 3570 EXEC REGN25 3575 EXEC REGN51 3580 EXEC KIRKE 3585 D5:=O 3590 IF TKH=1 THEN EXEC REGN30 3595 EXEC REGN31 3600 IF T2=O AND T1<>O THEN C8:=P5 3605 IF T2=2 AND T1<>O THEN C8:=P6 3610 IF T1=O THEN C8:=P3 3615 EXEC REGN50 3620 EXEC REGN20 3625 C9:=D0;D7:=D6 3630 ENDPROC REGN4 3635 PROC REGN5 3640 C7:=C6 3645 EXEC REGN25 3650 EXEC REGN51 3655 EXEC GKIRKE 3660 D5:=O 3665 IF TKB=1 THEN EXEC REGN30 3670 EXEC REGN31 3675 C8:=P6 3680 IF T3=O THEN C8:=P3 3685 EXEC REGN50 3690 EXEC REGN21 3695 C0:=D0;D9:=D6 3700 ENDPROC REGN5 3705 PROC REGN7 3710 IF HD1+HD2+HDA2<0 AND HD3+HD4+HD5>0 THEN EXEC MSSIKS 3715 IF T2=O THEN 3720 HD6:=HD1+HD2+HDA2+HD3+HD4+HD5 3725 IF HD6<=O THEN HD1:=O;HD2:=O;HDA2:=O;HD3:=O;HD4:=O;HD5:=O;HD6:=O 3730 ELSE 3735 IF HD1+HD2+HDA2<0 AND HD3+HD4+HD5>0 THEN EXEC MSSIKS1 3740 IF HD1<O THEN 3745 BD1:=BD1+HD1;HD1:=O 3750 IF BD1<O THEN BD1:=O 3755 ENDIF 3760 IF HD2<O THEN 3765 BD2:=BD2+HD2;HD2:=O 3770 IF BD2<O THEN BD2:=O 3775 ENDIF 3780 IF HDA2<O THEN 3785 BDA2:=BDA2+HDA2;HDA2:=O 3790 IF BDA2<O THEN BDA2:=O 3795 ENDIF 3800 IF HD3<O THEN 3805 BD3:=BD3+HD3;HD3:=O 3810 IF BD3<O THEN BD3:=O 3815 ENDIF 3820 IF HD4<O THEN 3825 BD4:=BD4+HD4;HD4:=O 3830 IF BD4<O THEN BD4:=O 3835 ENDIF 3840 IF HD5<O THEN 3845 BD5:=BD5+HD5;HD5:=O 3850 IF BD5<O THEN BD5:=O 3855 ENDIF 3860 IF BD1<O THEN 3865 HD1:=HD1+BD1;BD1:=O 3870 IF HD1<O THEN HD1:=O 3875 ENDIF 3880 IF BD2<O THEN 3885 HD2:=HD2+BD2;BD2:=O 3890 IF HD2<O THEN HD2:=O 3895 ENDIF 3900 IF BDA2<O THEN 3905 HDA2:=HDA2+BDA2;BDA2:=O 3910 IF HDA2<O THEN HDA2:=O 3915 ENDIF 3920 IF BD3<O THEN 3925 HD3:=HD3+BD3;BD3:=O 3930 IF HD3<O THEN HD3:=O 3935 ENDIF 3940 IF BD4<O THEN 3945 HD4:=HD4+BD4;BD4:=O 3950 IF HD4<O THEN HD4:=O 3955 ENDIF 3960 IF BD5<O THEN 3965 HD5:=HD5+BD5;BD5:=O 3970 IF HD5<O THEN HD5:=O 3975 ENDIF 3980 HD6:=HD1+HD2+HDA2+HD3+HD4+HD5;BD6:=BD1+BD2+BDA2+BD3+BD4+BD5 3985 ENDIF 3990 ENDPROC REGN7 3995 PROC MSSIKS 4000 F4:=ABS(HD1+HD2+HDA2) 4005 IF F4>HD3+HD4+HD5 THEN F4:=HD3+HD4+HD5 4010 HD3:=HD3-(F4/(P7+P8+P9)*P7);HD4:=HD4-(F4/(P7+P8+P9)*P8) 4015 HD5:=HD5-(F4/(P7+P8+P9)*P9);D1:=HD1;D2:=HD2;DA2:=HDA2 4020 HD1:=HD1+(F4/(D1+D2+DA2)*D1);HD2:=HD2+(F4/(D1+D2+DA2)*D2) 4025 HDA2:=HDA2+(F4/(D1+D2+DA2)*DA2) 4030 ENDPROC MSSIKS 4035 PROC MSSIKS1 4040 F4:=ABS(BD1+BD2+BDA2) 4045 IF F4>BD3+BD4+BD5 THEN F4:=BD3+BD4+BD5 4050 BD3:=BD3-(F4/(P7+P8+P9)*P7);BD4:=BD4-(F4/(P7+P8+P9)*P8) 4055 BD5:=BD5-(F4/(P7+P8+P9)*P9);D1:=BD1;D2:=BD2;DA2:=BDA2 4060 BD1:=BD1+(F4/(D1+D2+DA2)*D1);BD2:=BD2+(F4/(D1+D2+DA2)*D2) 4065 BDA2:=BDA2+(F4/(D1+D2+DA2)*DA2) 4070 ENDPROC MSSIKS1 4075 PROC REGN43 4080 IF T0=1 AND B4<C8 THEN E9:=(((INT(B4/W)*W)-C8)*((16*U1)+P0+PA0)/W) 4085 IF T0=1 AND C4<C8 THEN E8:=(((INT(C4/W)*W)-C8)*((16*U1)+P0+PA0)/W) 4090 IF T0=2 AND B1<C8 THEN E8:=(((INT(B1/W)*W)-C8)*((16*U1)+P0+PA0)/W) 4095 IF T0=2 AND C6<C8 THEN E9:=(((INT(C6/W)*W)-C8)*((16*U1)+P0+PA0)/W) 4100 ENDPROC REGN43 4105 PROC REGN44 4110 IF T0=1 AND B4<C8 THEN E9:=E9+((((INT(B4/W)*W)-C8)*(P7+P8))/W) 4115 IF T0=1 AND C4<C8 THEN E8:=E8+((((INT(C4/W)*W)-C8)*(P7+P8))/W) 4120 IF T0=2 AND B1<C8 THEN E8:=E8+((((INT(B1/W)*W)-C8)*(P7+P8))/W) 4125 IF T0=2 AND C6<C8 THEN E9:=E9+((((INT(C6/W)*W)-C8)*(P7+P8))/W) 4130 ENDPROC REGN44 4135 PROC REGN8 4140 B9:=O;B7:=INT(B7/W)*W;B9:=(B7-U2)*22/1000 4145 IF D6-D5+B9>C4*78/W THEN 4150 E5:=(D6-D5+B9)-(C4*78/W) 4155 IF E5<=B9*60/W THEN 4160 B9:=B9-E5 4165 ELSE 4170 E5:=E5-(B9*60/W);B9:=B9-(B9*60/W) 4175 D1:=D1-E5 4180 IF D1<0 THEN D1:=0 4185 EXEC REGN38 4190 EXEC REGN7 4195 ENDIF 4200 ENDIF 4205 ENDPROC REGN8 4210 PROC REGN9 4215 IF B7<O THEN B7:=O 4220 IF B8<O THEN B8:=O 4225 B6:=B7+B8;B6:=INT(B6/W)*W;E7:=(B6-U2)*22/1000 4230 IF B7>O THEN B9:=E7/B6*B7 4235 IF B8>O THEN E6:=E7/B6*B8 4240 IF T2=2 AND (T0=1 OR T0=2) THEN 4245 IF T0=1 THEN D8:=C4 4250 IF T0=2 THEN D8:=C6 4255 D0:=O 4260 ELSE 4265 IF T0=1 THEN 4270 C7:=B5 4275 ELSE 4280 C7:=B2 4285 ENDIF 4290 D0:=(INT(C7/W)*W)*((P0+PA0+P7+P8)/W);D0:=D0+E2 4295 ENDIF 4300 IF E8<O THEN D0:=D0+E8 4305 IF E9<O THEN D0:=D0+E9 4310 IF T0=1 AND E8=>O THEN D0:=D0+HD6-HD5+GEMAFR 4315 IF C0<0 THEN D0:=D0-C0 4320 IF T0=2 AND E9=>O THEN D0:=D0+BD6-BD5+GEMAFR 4325 IF C9<0 THEN D0:=D0-C9 4330 D0:=D0+E7 4335 IF D0<=D8*78/W THEN EXIT 4340 E5:=D0-(D8*78/W) 4345 IF E5<=E7*60/W THEN 4350 B9:=B9-(E5/B6*B7);E6:=E6-(E5/B6*B8) 4355 ELSE 4360 D0:=E7*60/W;E5:=E5-D0;B9:=B9-(D0/B6*B7);E6:=E6-(D0/B6*B8) 4365 EXEC REGN10 4370 D1:=D1-(E5/B6*B7) 4375 EXEC REGN38 4380 D7:=D6 4385 EXEC REGN20 4390 EXEC REGN22 4395 D1:=D1-(E5/B6*B8) 4400 EXEC REGN38 4405 D9:=D6 4410 EXEC REGN21 4415 EXEC REGN7 4420 ENDIF 4425 ENDPROC REGN9 4430 PROC SKAT 4435 QT$:="SKATTEBEREGNING:" 4440 EXEC LSKRIV3 4445 PRINT 4450 QT$:="STATSSKAT "+PIL$(1:24);QB:=D1 4455 EXEC LSKRIV2 4460 QT$:="FOLKEPENSIONSBIDRAG "+PIL$(1:14);QB:=D2 4465 EXEC LSKRIV2 4470 QT$:="DAGPENGEFONDBIDRAG "+PIL$(1:15);QB:=DA2 4475 EXEC LSKRIV2 4480 QT$:="KOMMUNESKAT "+PIL$(1:22);QB:=D3 4485 EXEC LSKRIV2 4490 QT$:="AMTSKOMMUNAL INDKOMSTSKAT "+PIL$(1:8);QB:=D4 4495 EXEC LSKRIV2 4500 IF D5>O THEN 4505 QT$:="KIRKESKAT "+PIL$(1:24);QB:=D5 4510 EXEC LSKRIV2 4515 ENDIF 4520 ENDPROC SKAT 4525 PROC INDSKAT 4530 QT$:=SP$(1:34)+LI$(1:16) 4535 EXEC LSKRIV3 4540 QT$:="INDKOMSTSKAT IALT "+PIL$(1:16);QB:=D6 4545 EXEC LSKRIV2 4550 ENDPROC INDSKAT 4555 PROC FSKAT 4560 IF FS>O THEN 4565 QT$:="FORMUESKAT "+PIL$(1:23);QB:=FS 4570 EXEC LSKRIV2 4575 QT$:=SP$(1:34)+LI$(1:16) 4580 EXEC LSKRIV3 4585 QT$:="*** TOTALSKAT "+PIL$(1:20);QB:=D6+FS 4590 EXEC LSKRIV2 4595 ENDIF 4600 QT$:=SP$(1:34)+"================" 4605 EXEC LSKRIV3 4610 ENDPROC FSKAT 4615 PROC SKATPRO 4620 QT$:="Kommuneskatteprocent ";QB:=P7 4625 EXEC LSKRIV4 4630 QT$:="Amtskommunal skatteprocent ";QB:=P8 4635 EXEC LSKRIV4 4640 QT$:="Kirkeskatteprocent ";QB:=P9 4645 EXEC LSKRIV4 4650 IF T1<>O THEN 4655 QT$:="Hovedpersonen er beregnet med personfradrag som pensionist." 4660 EXEC LSKRIV3 4665 ENDIF 4670 IF T3<>O THEN 4675 QT$:="Den gifte kvinde er beregnet med personfradrag som pensionist." 4680 EXEC LSKRIV3 4685 ENDIF 4690 IF T4=1 THEN 4695 QT$:="Beregningerne er sket efter reglerne om ligedeling ægtefæller." 4700 EXEC LSKRIV3 4705 ENDIF 4710 ENDPROC SKATPRO 4715 PROC LSKRIV2 4720 PRINT USING QT$+"#########.## KR.":QB 4725 ENDPROC LSKRIV2 4730 PROC LSKRIV1 4735 PRINT USING QT$+"######### KR.":QB 4740 ENDPROC LSKRIV1 4745 PROC LSKRIV4 4750 PRINT USING QT$+"#######.# PCT.":QB 4755 ENDPROC LSKRIV4 4760 PROC SVAR 4765 REPEAT 4770 INPUT "? (j/n) ":S$ 4775 IF S$="N" THEN S$:="n" 4780 IF S$="J" THEN S$:="j" 4785 IF S$="q" OR S$="Q" THEN END 4790 UNTIL S$="j" OR S$="n" 4795 PRINT LI$ 4800 ENDPROC SVAR 4805 PROC LSKRIV 4810 PRINT 4815 ENDPROC LSKRIV 4820 PROC LSKRIV3 4825 PRINT QT$ 4830 ENDPROC LSKRIV3 4835 PROC REGN50 4840 EXEC REGN32 4845 EXEC REGN33 4850 EXEC REGN34 4855 IF C8=P3 THEN C8:=P4 4860 EXEC REGN35 4865 EXEC REGN36 4870 IF D5>O THEN 4875 EXEC REGN37 4880 ELSE 4885 IF C8>C7 THEN D5:=D5-((C8-C7)*P9/W) 4890 ENDIF 4895 EXEC REGN38 4900 ENDPROC REGN50 4905 PROC REGN51 4910 EXEC REGN26 4915 EXEC REGN27 4920 EXEC REGN28 4925 EXEC REGN29 4930 ENDPROC REGN51 4935 PROC RETURN 4940 S$:="-" 4945 PRINT 4950 PRINT TAB(65); 4955 EDIT "TRYK -RETURN":S$ 4960 ENDPROC RETURN 4965 PROC SKIFT 4970 IF Y=1 THEN 4975 EXEC RETURN 4980 CLEAR 4985 ELSE 4990 FOR X:=1 TO 5 DO 4995 PRINT 5000 NEXT X 5005 ENDIF 5010 ENDPROC SKIFT 5015 PROC SIDESKIFT 5020 IF Y=2 THEN 5025 PRINT CHR$(12) 5030 PRINT REV$ 5035 PRINT ADR$ 5040 ENDIF 5045 EXEC SKIFT 5050 ENDPROC SIDESKIFT 5055 PROC WIN 5060 CURSOR 1,20 5065 PRINT SP$+SP$ 5070 X:=3;P:=O;A(N):=O;FIL$:="DDE:INDKOM" 5075 OPEN FIL$,R 5080 IF N=18 THEN X:=6;P:=6 5085 IF N=8 THEN P:=3 5090 IF N=19 THEN P:=12 5095 CURSOR 1,23-X 5100 FOR Y:=1 TO P+X DO 5105 GET FIL$:S$ 5110 IF Y>P THEN 5115 PRINT S$ 5120 ENDIF 5125 NEXT Y 5130 FOR Y:=1 TO X DO 5135 CURSOR 65,22-X+Y 5140 INPUT B 5145 A(N):=A(N)+B 5150 NEXT Y 5155 CLOSE FIL$ 5160 ENDPROC WIN