Używam robota Fenuc Karel do przydzielenia klasy, która używa odmiany Pascala, jednak nasz robot jest w latach 1991-1993, zanim dodali losowe(). Czy ktoś wie, jak uzyskać losową liczbę na starej implementacji systemu Pascal? Zauważ, że ze względu na nazwy zmiennych wieku nie może być więcej niż 8 znaków, a liczby nie mogą zliczyć 255Losowa liczba w roku 1991 Pascal
Odpowiedz
Jeśli jest to wersja paslandu borland, możesz użyć bloków asm { … }
, które pozwoliłyby uzyskać wartość z RTC, który jest wystarczająco przypadkowy dla wielu celów i celów. Biorąc pod uwagę zmienną losową:
asm {
xor ax, ax;
int 1ah;
mv random, al;
}
Daje to ostatnie 8 bitów wartości zegara czasu rzeczywistego.
Oprócz tego można szukać generowania liczb pseudolosowych na starych komputerach, np. C64; chociaż będziesz musiał przenieść kod na paskal.
Aktualizacja: Wygląda na to, Fanuc Karel (mam nadzieję, że to jest) ma rutynę GET_TIME, chociaż nie jestem pewien, co to oznacza.
Bycie FENUC KAREL i odmiana funkcji paskowych nie są obsługiwane i zamiast tego używają procedur. Jest bardzo mało predefiniowanych procedur i nie jestem świadomy tego, który może uzyskać aktualny zegar. Jeśli znasz rutynę, aby uzyskać zegar w FENUC KAREL, byłaby to idealna metoda. – HDeffo
Bycie dos nie jest powodem, dla którego nie ma Losowego. Jeśli chcesz lepszej odpowiedzi, podaj dokładną implementację. Wiele będzie miało niestandardowe wersje. W totalnej sytuacji awaryjnej możesz użyć implementacji Free Passcala Mersenne Twister. –
Już stwierdziłem, która wersja pascala jest tak blisko, jak tylko mogę dostać, to 1991-1993 KAREL, która jest odmianą pascala stworzoną przez FANUC do użytku w ich robotach przemysłowych. Nie ma losowych jako predefiniowana rutyna. – HDeffo