10 PRINT "Signalizujte každý úder mezerníkem, jinak stiskněte F6 pro nové měření a F8 pro spočtení tempa." 20 L=-1: A=0: N=0: REM Inicializuj proměnné. 21 REM L = poslední čas úderu, A = průměrný interval mezi údery, N = čítač zaznamenaných úderů 100 X=0: REM Inicializuj čítače nečinnosti. 110 K$=KEY$: IF K$="" THEN X=X+1 ELSE 130 111 REM Sejmi vstup z klávesnice. Pokud vstup není, zvyš čítač nečinnosti, jinak jdi k jeho vyhodnocení. 120 IF X>3000 THEN 10 ELSE 110 121 REM Pokud čítač nečinnosti dosáhl 3000, jdi k úvodní nápovědě, jinak se vrať ke snímání vstupu. 130 K=ASC(K$): REM Převeď znak na vstupu na jeho číselnou reprezentaci. 140 IF K=8 THEN PRINT "Nové měření.": GOTO 20 141 REM Pokud je na vstupu Backspace (F6), oznam nové měření a jdi k inicializaci. 150 IF K=13 THEN GOSUB 300: REM Pokud je na vstupu Enter (F8), odskoč k oznámení tempa. 160 IF K=32 THEn GOSUB 200: REM Pokud je na vstupu mezera, odskoč k zaznamenání úderu. 170 GOTO 110: REM Jdi zpět na snímání vstupu. 200 T=INP(144)/100+INP(145)*3600+INP(146)*60+INP(147) 201 REM Načti data ze systémových hodin, vypočti a poznamenej si aktuální denní čas. 202 REM Nejdříve je nutno číst setiny vteřiny, aby se data na portech obnovila. 210 IF L<0 THEN L=T: RETURN 211 REM Pokud jde o první úder, zaznamenej ho do posledního času úderu a vrať se. 220 if T<L THEN T=T+86400 221 REM Pokud čas posledního úderu byl před půlnocí, přičti k aktuálnímu času celý den. 222 REM Toto je nutné, aby bylo možné vypočíst interval. 230 A=(A*N+T-L)/(N+1): REM Zpřesni průměrnou délku intervalu mezi údery podle posledního intervalu. 240 N=N+1: L=T: RETURN: REM Zvyš čítač úderů, zaznamenej poslední čas úderu a vrať se. 300 IF N<2 THEN PRINT "Musí být zaznamenány alespoň dva údery.": RETURN 301 REM Pokud nejsou zaznamenány alespoň dva údery, oznam to a vrať se. 310 B=60/A: C=INT(B): REM Vypočítej tempo a poznamenej si celočíselnou část. 320 IF (B-C)>=0.5 THEN C=C+1 321 REM Pokud desetinná část je větší než 0,5, tak zvyš celočíselnou část o 1, tedy zaokrouhli. 330 PRINT C;" BPM": END: REM Oznam vypočtené tempo v úderech za minutu a skonči.