2015-01-29 15 views
5

Sto eseguendo un robot Fenuc Karel per un compito di classe che utilizza una variazione di Pascal, tuttavia il nostro robot è del 1991-1993 prima che aggiungessero random(). Qualcuno sa come ottenere un numero casuale su una vecchia implementazione dos di Pascal? Si prega di notare a causa dei nomi delle variabili di età non può essere più di 8 caratteri e numeri non possono contare oltre 255Numero casuale nel 1991 Pascal

+0

Essere dos non è un motivo per non avere Casuale. Se vuoi una risposta migliore, specifica la tua esatta implementazione. Molti avranno verrions non standard. In caso di emergenza totale, è possibile utilizzare l'implementazione Mersenne Twister di Free Pascal. –

+0

Ho già indicato quale versione di pascal è il più vicino possibile che posso ottenere è il 1991-1993 KAREL, che è una variante di Pascal creata da FANUC per l'uso nei loro robot industriali. Non ha una routine casuale come predefinita. – HDeffo

risposta

1

Se si tratta di una versione pascal borland, è possibile utilizzare i blocchi asm { … }, che consentirebbe di ottenere un valore dal RTC, che è sufficientemente casuale per molti intenti e scopi. Data una variabile casuale:

Ciò fornirebbe l'ultimo 8 bit del valore di orologio in tempo reale.

Oltre a ciò, è possibile cercare la generazione di numeri pseudocasuali su macchine vecchie, ad es. C64; anche se dovresti portare il codice su pascal.

Aggiornamento: Sembra che Fanuc Karel (spero che sia così) ha una routine GET_TIME, anche se non sono sicuro di cosa ritorni.

+0

Essendo FENUC KAREL e una variazione delle funzioni pascal non sono supportati e invece utilizza le routine. Ci sono pochissime routine predefinite e non ne sono a conoscenza di una che può ottenere l'orologio corrente. Se si conosce una routine per ottenere l'orologio in FENUC KAREL questo sarebbe un metodo perfetto. – HDeffo