44 lines
931 B
Plaintext
44 lines
931 B
Plaintext
PROGRAM "Euclidean rhythm"
|
|
VERSION "0.0001"
|
|
IMPORT "xma"
|
|
|
|
DECLARE FUNCTION Entry ()
|
|
DECLARE FUNCTION Euler (paso)
|
|
|
|
FUNCTION Entry ()
|
|
PRINT "Time ";
|
|
tiempo! = 0.0
|
|
DO WHILE tiempo! <= 100.1
|
|
PRINT FORMAT$ ("#######", tiempo!);
|
|
tiempo! = tiempo! + 10.0
|
|
LOOP
|
|
PRINT
|
|
|
|
PRINT "Dif eq ";
|
|
tiempo! = 0.0
|
|
DO WHILE tiempo! <= 100.1
|
|
temperatura! = 20.0 + (100.0 - 20.0) * EXP(-0.07 * tiempo!)
|
|
PRINT FORMAT$ ("####.##", temperatura!);
|
|
tiempo! = tiempo! + 10.0
|
|
LOOP
|
|
PRINT
|
|
|
|
Euler(2)
|
|
Euler(5)
|
|
Euler(10)
|
|
END FUNCTION
|
|
|
|
FUNCTION Euler (paso)
|
|
tiempo! = 0
|
|
temperatura! = 100.0
|
|
PRINT FORMAT$ ("Step ## ", paso);
|
|
|
|
DO WHILE tiempo! <= 100
|
|
IF (tiempo! MOD 10) = 0 THEN PRINT FORMAT$ ("####.##", temperatura!);
|
|
temperatura! = temperatura! + SINGLE(paso) * (-0.07 * (temperatura! - 20.0))
|
|
tiempo! = tiempo! + paso
|
|
LOOP
|
|
PRINT
|
|
END FUNCTION
|
|
END PROGRAM
|