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
risposta
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.
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
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. –
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