Rhetos
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 9 Ω


Basic256 Programme Diamantgräber


Quellcode


Basiswissen


Das untenstehende Programm kann direkt in Basic256 ausgeführt werden. Es simuliert die Kosten für Diamantgräber als progressive Kostenfunktion. Dabei spielen sowohl fixe wie auch variable Kosten eine Rolle. Gesucht ist der optimale Zeitpunkt, um von einem alten auf ein neues Diamantgräber-Claim zu wechseln.

Quellcode


# Basic256 Programme Diamantgräber
#
# Initialisierungen
#
z=0 # Zeit in Tagen seit Grabbeginn
d=20 # Simuationsdauer, so viele Tage werden berechnet
t=0 # Momentane Grabtiefe im aktuellen Claim
e = 10 # Erlös pro gegrabenen Meter
k = 0 # (Grenz)Kosten für den gerade zu grabenden Meter
c = 20 # Kosten für einen neuen Claim
w = 1 # Wechseltiefe, ab dieser Tiefe auf neuen Claim wechseln
a = 0 # aktueller Kontostand, man fängt mit 0 Dollar an
g = 0 # durchschnittlicher Gewinn pro Tag
#
Print "Du bist Diamantgräber in Süd-Afrika. Stelle dir vor, du kannst Claims von 100 Quadratmetern kaufen. Das ist ein 10 Meter langes Quadrat. Auf diesem Claim kannst du jetzt senkrecht so tief nach unten graben wie du willst. Alle Diamanten, die du findest, gehören dir. Die Arbeit ist schwer, aber es lohnt. Aber je tiefer du nach unten buddelst, desto mühsamer und aufwändiger wird alles. Irgendwann lohnt es sich vielleicht, den alten Claim aufzugeben und einen neuen anzufangen. Dieses Programm hilft, die richtige Tiefe zu finden, bei der du auf einen neuen Claim wechselst."
print
print "Jeder Meter, den du nach unten gräbst, kostet so viele Dollar, wie die Tiefe dann am Ende des Meters ist. Also: der erste Meter kostet einen Dollar, der zweite Meter kostet zwei Dollar, der achte Meter kostet acht Dollar."
#
print
Input "Weiter mit Enter", wegmich
cls
#
# Benutzereingaben
#
input "Wie viele Dollar Erlös machst du mit jedem Meter? ", e
input "Wie viele Dollar kostet ein neuer Claim? ", c
input "Ab welcher Tiefe soll auf einen neuen Claim gewechselt werden? ", w
cls
#
# Für den ersten Claim muss man gleich bezahlen
#
a = a-c
#
# Berechnungsschleife
#
for z = 1 to d
t=t+1
if t <= w then
a=a+e
k=t
a=a-k
#
print z; : print " Tage im Geschäft"
print t; : print " Meter Tiefe im Claim"
print a; : print " Dollar auf dem Konto"
print a/z; : print " Dollar durchschn. Gewinn pro Tag"
print
else
t=0
a=a-c
end if

# Abschluss der Berechnungsschleife
next z
#
# Programmende
#
end