|
Życie Wieczne
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Piotr-246
Gość
|
Wysłany: Pią 12:59, 08 Sty 2021 Temat postu: Pomiar czasu QuickBasic |
|
|
Programik do pomiaru liczby powtorzeń pętli w ciągu 1 sekundy za pomocą zegara systemowego:
SCREEN 13
COLOR 15
petla:
ulamek = ulamek + 1
se$ = MID$(TIME$, 7, 2)
se = VAL(se$)
IF se <> ses THEN licz = licz + 1: ses = se: PRINT "Czas:"; licz; " Powtorzen:"; ulamek: ulamek = 0
k$ = INKEY$
IF k$ = "" THEN GOTO petla
IF k$ = CHR$(27) THEN END
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Piotr-246
Gość
|
Wysłany: Pią 13:17, 08 Sty 2021 Temat postu: |
|
|
Programik do odczytu czasu z komórki pamięci o adresie 1132
SCREEN 13
COLOR 15
DEF SEG = 0
zeruj:
POKE 1132, 0: REM wyzerowanie
petla:
zpamieci = PEEK(1132)
PRINT zpamieci;
k$ = INKEY$
IF k$ = "" THEN GOTO petla
IF k$ = CHR$(27) THEN END
GOTO zeruj
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Piotr-256
Gość
|
Wysłany: Pią 13:24, 08 Sty 2021 Temat postu: |
|
|
Komórka o adresie 1132 pokazuje czas systemowy z dokładnością 18.2 razy na sekundę. Potem są kolejne komórki czasu i daty.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Piotr-246
Gość
|
Wysłany: Pią 16:05, 08 Sty 2021 Temat postu: |
|
|
Programik, który oblicza czas wykonania pętli pustej.
Przy 10 próbach, pętla FOR została wykonana 3400 razy w ciągu około 1 taktu (komórki 1132)
----------------------------------------------------------
SCREEN 13
COLOR 15
DEF SEG = 0
POKE 1132, 0: rem zerowanie
FOR x = 1 TO 10
a = PEEK(1132)
FOR i = 1 TO 3400: NEXT i
b = PEEK(1132)
PRINT a; b, b - a
NEXT x
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Piotr-246
Gość
|
Wysłany: Pią 19:23, 08 Sty 2021 Temat postu: |
|
|
Programik pokazujący, że wyświetlenie 10 tysięcy linii 40 znakowych w (trybie Screen 13) zajmuje 126 taktów (komórki 1132)
SCREEN 13
CLS
COLOR 15
DEF SEG = 0
zeruj:
POKE 1132, 0: REM wyzerowanie
t0 = PEEK(1132)
FOR i = 1 TO 10000: PRINT "0123456789012345678901234567890123456789": NEXT i
t1 = PEEK(1132)
PRINT t0; t1, t1 - t0
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Piotr-246
Gość
|
Wysłany: Pią 21:07, 08 Sty 2021 Temat postu: |
|
|
Ciąg znaków przeniesiony do A$ wpisuje się w mniejszym przedziale czasu - 116 taktów (komórki 1132)
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Piotr-246
Gość
|
Wysłany: Sob 13:03, 09 Sty 2021 Temat postu: |
|
|
Ciekawy programik do przeliczenia współczynnika między ilością sekund wyznaczoną przez funkcję TIME$ a ilością zliczeń komórki 1132.
Po upływie 2237 sekund (tyle starczyło cierpliwości) zsumowana liczba "cyknięć" komórki 1132 wyniosła 40703.
Co daje w przelicznik 18.19535
Widać, że z upływem czasu przelicznik ten stabilizował się wokół liczb 18.19 lub 18.2
Ostatecznie, na ekranie pozostało kilka liczb z przedziału 18.19446 - 18.19535
----------------------------
DEF SEG = 0
petla:
pomoc$ = MID$(TIME$, 7, 2)
sekunda = VAL(pomoc$)
komorka = PEEK(1132)
IF ses <> sekunda THEN liczsek = liczsek + 1
ses = sekunda
IF kos <> komorka THEN liczkom = liczkom + 1
kos = komorka
PRINT liczsek, liczkom, liczkom / liczsek
key$ = INKEY$: IF key$ <> "" THEN END
GOTO petla
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Piotr-246
Gość
|
Wysłany: Sob 13:43, 09 Sty 2021 Temat postu: |
|
|
Nieco inna wersja programu może pokazać obliczenia co 10 sekund:
sek: 60
peek: 1068
wsp: 17.8
sek: 100
peek: 1796
wsp: 17.96
sek: 200
peek: 3617
wsp: 18.085
|
|
Powrót do góry |
|
|
|