home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
M.u.C.S. Disc 2000
/
MUCS2000.iso
/
sigisoft
/
bruch
/
bruch.lst
next >
Wrap
File List
|
1987-04-21
|
8KB
|
344 lines
IF XBIOS(4)<>2
ALERT 3,"Dieses Programm|läuft leider nur|auf einen sw|Monitor",1,"Schade",d%
END
ENDIF
VOID XBIOS(33,4)
ON ERROR GOSUB fehler
HIDEM
@titel
@inhalt
@auswahl
PROCEDURE titel
' *******************************************
DEFFILL 1,2,3
PBOX 20,20,620,60
LINE 30,10,630,10
LINE 30,10,20,20
LINE 630,10,620,20
LINE 630,10,630,50
LINE 630,50,620,60
DEFTEXT 16,5,1,32
TEXT 27,52," »»» Siegfried's Bruchrechnen I ««« "
' *****************************************
PBOX 460,100,610,300
LINE 470,90,620,90
LINE 460,100,470,90
LINE 610,100,620,90
LINE 620,90,620,290
LINE 610,300,620,290
' *****************************************
PBOX 20,330,620,380
LINE 630,320,630,370
LINE 30,320,630,320
LINE 30,320,20,330
LINE 630,320,620,330
LINE 630,370,620,380
' *****************************************
PBOX 30,100,400,300
LINE 410,90,410,290
LINE 40,90,410,90
LINE 40,90,30,100
LINE 410,90,400,100
LINE 410,290,400,300
' **************** FILL ********************+
DEFFILL 1,2,6
FILL 30,19
FILL 35,99
FILL 580,99
FILL 35,322
DEFFILL 1,2,7
FILL 625,30
FILL 402,102
FILL 611,105
FILL 622,335
PRINT CHR$(27)+"p";
PRINT AT(5,22);" >>> Public Domain Version Nr. 009 <<< "
PRINT CHR$(27)+"q";
PRINT AT(5,23);" >>> ╜ 1989 by Siegfried Hübner, Obere Vorstadt 21, 8812 Windsbach <<< "
PRINT AT(59,8);" Dieses Programm "
PRINT AT(59,9);" ist frei kopier-"
PRINT AT(59,10);" bar und sollte "
PRINT AT(59,11);" so oft wie mög- "
PRINT AT(59,12);" lich weiter- "
PRINT AT(59,13);" kopiert werden. "
PRINT AT(59,15);" Dieses Programm "
PRINT AT(59,16);" wurde in GFA "
PRINT AT(59,17);" Basic V 2.0 "
PRINT AT(59,18);" geschrieben. "
RETURN
PROCEDURE inhalt
PRINT AT(6,8);STRING$(44,32)
PRINT AT(6,9);" ";CHR$(27)+"p";" A ";CHR$(27);"q";" = Addition "
PRINT AT(6,10);STRING$(44,32)
PRINT AT(6,11);" ";CHR$(27)+"p";" S ";CHR$(27);"q";" = Subtraktion "
PRINT AT(6,12);STRING$(44,32)
PRINT AT(6,13);" ";CHR$(27)+"p";" M ";CHR$(27);"q";" = Multiplikation "
PRINT AT(6,14);STRING$(44,32)
PRINT AT(6,15);" ";CHR$(27)+"p";" D ";CHR$(27);"q";" = Division "
PRINT AT(6,16);STRING$(44,32)
PRINT AT(6,17);" ";CHR$(27)+"p";" E ";CHR$(27);"q";" = Programmende "
PRINT AT(6,18);STRING$(44,32)
RETURN
PROCEDURE auswahl
DO
a$=INKEY$
a$=UPPER$(a$)
IF a$="A"
GOSUB addition
ENDIF
IF a$="S"
GOSUB subtraktion
ENDIF
IF a$="M"
GOSUB multiplikation
ENDIF
IF a$="D"
GOSUB division
ENDIF
IF a$="E"
ALERT 3,"Wollen Sie dieses|Programm verlassen ?",2,"Ja|Nein",d%
IF d%=1
END
ENDIF
ENDIF
GOSUB inhalt
LOOP
RETURN
PROCEDURE arbeit
DEFFILL 1,2,3
PBOX 30,100,400,300
LINE 410,90,410,290
LINE 40,90,410,90
LINE 40,90,30,100
LINE 410,90,400,100
LINE 410,290,400,300
RETURN
PROCEDURE addition
GOSUB arbeit
PRINT CHR$(27)+"p";
PRINT AT(6,8);" >>>>> Addition von Brüchen <<<<< "
PRINT CHR$(27)+"q";
IF w$="J"
GOSUB alt1
ELSE
GOSUB neu1
ENDIF
PRINT CHR$(27)+"p";" + = ";CHR$(27)+"q";
IF w$="J"
GOSUB alt2
ELSE
GOSUB neu2
ENDIF
PRINT AT(20,10);" Z2 ";
FORM INPUT 7,z3$
z3=VAL(z3$)
PRINT AT(20,12);" N2 ";
FORM INPUT 7,z4$
z4=VAL(z4$)
PRINT AT(34,10);
z5=(z1*z4)+(z3*z2)
IF z2=z4
z5=z1+z3
ENDIF
PRINT USING "################",z5
PRINT AT(34,12);
z6=(z2*z4)
IF z2=z4
z6=z2
ENDIF
PRINT USING "################",z6
z7=z5/z6
PRINT AT(6,14);" Dezimalzahl davon =";
PRINT USING "############.###",z7
PRINT CHR$(27)+"p";
PRINT AT(6,16);" Wollen Sie mit diesem Bruch "
PRINT AT(6,17);" weiterrechnen. (J/N) ? "
PRINT CHR$(27)+"q";
PRINT AT(40,17);
FORM INPUT 1,w$
w$=UPPER$(w$)
IF w$="J"
GOSUB arbeit
GOSUB inhalt
ENDIF
IF w$="N"
GOSUB arbeit
GOSUB inhalt
ENDIF
RETURN
PROCEDURE subtraktion
GOSUB arbeit
PRINT CHR$(27)+"p";
PRINT AT(6,8);" >>>>> Subtraktion von Brüchen <<<<< "
PRINT CHR$(27)+"q";
IF w$="J"
GOSUB alt1
ELSE
GOSUB neu1
ENDIF
PRINT CHR$(27)+"p";" - = ";CHR$(27)+"q";
IF w$="J"
GOSUB alt2
ELSE
GOSUB neu2
ENDIF
PRINT AT(20,10);" Z2 ";
FORM INPUT 7,z3$
z3=VAL(z3$)
PRINT AT(20,12);" N2 ";
FORM INPUT 7,z4$
z4=VAL(z4$)
PRINT AT(34,10);
z5=(z1*z4)-(z3*z2)
IF z2=z4
z5=z1-z3
ENDIF
PRINT USING "################",z5
PRINT AT(34,12);
z6=(z2*z4)
IF z2=z4
z6=z2
ENDIF
PRINT USING "################",z6
z7=z5/z6
PRINT AT(6,14);" Dezimalzahl davon =";
PRINT USING "############.###",z7
PRINT CHR$(27)+"p";
PRINT AT(6,16);" Wollen Sie mit diesem Bruch "
PRINT AT(6,17);" weiterrechnen. (J/N) ? "
PRINT CHR$(27)+"q";
PRINT AT(40,17);
FORM INPUT 1,w$
w$=UPPER$(w$)
IF w$="J"
GOSUB arbeit
GOSUB inhalt
ENDIF
IF w$="N"
GOSUB arbeit
GOSUB inhalt
ENDIF
RETURN
PROCEDURE multiplikation
GOSUB arbeit
PRINT CHR$(27)+"p";
PRINT AT(6,8);" >>>>> Multiplikation von Brüchen <<<<< "
PRINT CHR$(27)+"q";
IF w$="J"
GOSUB alt1
ELSE
GOSUB neu1
ENDIF
PRINT CHR$(27)+"p";" * = ";CHR$(27)+"q";
IF w$="J"
GOSUB alt2
ELSE
GOSUB neu2
ENDIF
PRINT AT(20,10);" Z2 ";
FORM INPUT 7,z3$
z3=VAL(z3$)
PRINT AT(20,12);" N2 ";
FORM INPUT 7,z4$
z4=VAL(z4$)
PRINT AT(34,10);
z5=(z1*z3)
PRINT USING "################",z5
PRINT AT(34,12);
z6=(z2*z4)
PRINT USING "################",z6
z7=z5/z6
PRINT AT(6,14);" Dezimalzahl davon =";
PRINT USING "############.###",z7
PRINT CHR$(27)+"p";
PRINT AT(6,16);" Wollen Sie mit diesem Bruch "
PRINT AT(6,17);" weiterrechnen. (J/N) ? "
PRINT CHR$(27)+"q";
PRINT AT(40,17);
FORM INPUT 1,w$
w$=UPPER$(w$)
IF w$="J"
GOSUB arbeit
GOSUB inhalt
ENDIF
IF w$="N"
GOSUB arbeit
GOSUB inhalt
ENDIF
RETURN
PROCEDURE division
GOSUB arbeit
PRINT CHR$(27)+"p";
PRINT AT(6,8);" >>>>> Division von Brüchen <<<<< "
PRINT CHR$(27)+"q";
IF w$="J"
GOSUB alt1
ELSE
GOSUB neu1
ENDIF
PRINT CHR$(27)+"p";" : = ";CHR$(27)+"q";
IF w$="J"
GOSUB alt2
ELSE
GOSUB neu2
ENDIF
PRINT AT(20,10);" Z2 ";
FORM INPUT 7,z3$
z3=VAL(z3$)
PRINT AT(20,12);" N2 ";
FORM INPUT 7,z4$
z4=VAL(z4$)
PRINT AT(34,10);
z5=(z1/z3)
PRINT USING "############.###",z5
PRINT AT(34,12);
z6=(z2/z4)
PRINT USING "############.###",z6
z7=z5/z6
PRINT AT(6,14);" Dezimalzahl davon =";
PRINT USING "############.###",z7
PRINT CHR$(27)+"p";
PRINT AT(6,16);" Wollen Sie mit diesem Bruch "
PRINT AT(6,17);" weiterrechnen. (J/N) ? "
PRINT CHR$(27)+"q";
PRINT AT(40,17);
FORM INPUT 1,w$
w$=UPPER$(w$)
IF w$="J"
GOSUB arbeit
GOSUB inhalt
ENDIF
IF w$="N"
GOSUB arbeit
GOSUB inhalt
ENDIF
RETURN
PROCEDURE neu1
PRINT AT(6,10);" Z1 ";
FORM INPUT 7,z1$
z1=VAL(z1$)
PRINT AT(6,11);
RETURN
PROCEDURE neu2
PRINT AT(6,12);" N1 ";
FORM INPUT 7,z2$
z2=VAL(z2$)
RETURN
PROCEDURE alt1
PRINT AT(6,10);" Z1 ";
er=z5
PRINT USING "#######",er
PRINT AT(6,11);
z1=er
RETURN
PROCEDURE alt2
PRINT AT(6,12);" N1 ";
er1=z6
PRINT USING "#######",er1
z2=er1
RETURN
PROCEDURE fehler
ALERT 3,"Bediener - Fehler|Division durch null|oder anderer Fehler",1,">> OK <<",d%
RUN
RETURN