2015-01-29 6 views
5

Ich bin ein Fenuc Karel Roboter für eine Klassenzuordnung läuft, die eine Variation von Pascal verwendet jedoch unsere Roboter ist von 1991 bis 1993, bevor sie zufällig hinzugefügt(). Kann jemand eine zufällige Zahl auf einer alten DOS-Implementierung von Pascal erhalten? Bitte beachten Sie, wegen der Alter Variablennamen können nicht mehr als 8 Zeichen und Zahlen können nicht mehr als 255Zufallszahl im Jahre 1991 Pascal

+0

Dos sein ist kein Grund, nicht zufällig zu haben. Wenn Sie eine bessere Antwort wünschen, geben Sie Ihre genaue Implementierung an. Viele werden nicht standardisierte Versionen haben. In einem totalen Notfall können Sie die Mersenne Twister-Implementierung von Free Pascal verwenden. –

+0

Ich habe bereits angegeben, welche Version von Pascal es ist so nah wie ich kann Sie ist 1991-1993 KAREL, die eine Variation von Pascal von FANUC für den Einsatz in ihrer Industrie Roboter erstellt wurde. Es hat keine zufällige als vordefinierte Routine. – HDeffo

Antwort

1

Wenn es eine borland pascal Version ist, können Sie asm { … } Blöcke verwenden, die Ihnen erlauben würde, einen Wert zu erhalten von der RTC, die für viele Absichten und Zwecke ausreichend zufällig ist. Gegeben eine Variable random:

asm { 
    xor ax, ax; 
    int 1ah; 
    mv random, al; 
} 

Dies würde Ihnen die letzten 8 Bit der Echtzeituhr Wert geben.

von Apart, dass Sie für Pseudo-Zufallsgenerator auf alten Maschinen aussehen könnte, z.B. C64; obwohl Sie den Code nach Pascal portieren müssten.

Update: Es scheint, Fanuc Karel (Ich hoffe, dies ist) eine GET_TIME Routine, obwohl ich nicht sicher bin, was das zurückgibt.

+0

FENUC KAREL und eine Variation von Pascal-Funktionen werden nicht unterstützt und stattdessen Routinen verwendet. Es gibt sehr wenige vordefinierte Routinen und mir ist nicht bewusst, dass man die aktuelle Uhr bekommen kann. Wenn Sie eine Routine kennen, um die Uhr in FENUC KAREL zu bekommen, wäre dies eine perfekte Methode. – HDeffo