PRINT "Dur, moll vagy egyenlo hangkozu?" eleje: z$ = INKEY$ IF z$ = "d" OR z$ = "D" THEN z$ = "dur": GOTO kezd1 IF z$ = "m" OR z$ = "M" THEN z$ = "moll": GOTO kezd2 IF z$ = "e" OR z$ = "E" THEN z$ = "moll": GOTO kezd3 GOTO eleje DEFDBL A, F, V kezd1: a(1) = 9 / 8 a(2) = 10 / 9 a(3) = 16 / 15 a(4) = 9 / 8 a(5) = 10 / 9 a(6) = 9 / 8 valto = 16 / 15 hang$(0) = "C" hang$(1) = "D" hang$(2) = "E" hang$(3) = "F" hang$(4) = "G" hang$(5) = "A" hang$(6) = "H" GOTO zenel kezd2: a(1) = 9 / 8 a(2) = 16 / 15 a(3) = 10 / 9 a(4) = 9 / 8 a(5) = 16 / 15 a(6) = 9 / 8 valto = 10 / 9 hang$(0) = "C" hang$(1) = "D" hang$(2) = "Esz" hang$(3) = "F" hang$(4) = "G" hang$(5) = "Asz" hang$(6) = "B" GOTO zenel kezd3: a(1) = 2 ^ (1 / 7) a(2) = a(1) a(3) = a(1) a(4) = a(1) a(5) = a(1) a(6) = a(1) valto = a(1) hang$(0) = "1" hang$(1) = "2" hang$(2) = "3" hang$(3) = "4" hang$(4) = "5" hang$(5) = "6" hang$(6) = "7" zenel: p = .5 f = 528 beker: s$ = INKEY$ SOUND f, 1 IF s$ <> "2" AND s$ <> "8" THEN GOTO beker IF s$ = "2" THEN irany = -1 IF s$ = "8" THEN irany = 1 IF f > 30000 AND irany = 1 THEN irany = 0: GOTO beker IF f < 38 AND irany = -1 THEN irany = 0: GOTO beker beallit: p = p + irany IF p = 7.5 THEN p = .5: arany = valto: GOTO sipol IF p = -.5 THEN p = 6.5: arany = 1 / valto: GOTO sipol arany = a(p - irany / 2) ^ irany sipol: f = f * arany PRINT hang$(INT(p)), INT(f) irany = 0 GOTO beker