Thomas J.S.: oops -- zu früh abgeschickt

Beitrag lesen

Hallo Vedat,

Okay, ich hatte Perl-Kenntnisse vorausgesetzt.

was soll ich dazu sagen? ;-)
ich will nicht programmieren (auch wenn ich das in mancher hinsicht doch tue), sonst mach ich dann plözlich nichts anders als das.

Mit sub beginnen Unterprogramme.

ja, das ist mir klar.

Bei Perl muß man die übergegebenen Werte an die Variable weitergeben ... genau das macht Shift ...

aber shift nimmt doch den ersten wert aus einer liste und gibt ihn dan zurück ... nur welche liste haben wir hier?

Zum Algorithmus selbst:

Wir haben also die Zahl 991950865.
Wir fangen mit bei 1.1.1970 an und zählen die Jahre hoch... (für jedes Jahr 365 * 24 * 60 * 60 bzw. bei Schaltjahren 366 * 24 * 60 * 60)
bis kein Jahr mehr "reinpasst".

da muss du aber schon vorher wissen, welche bzw. wieviele schaltjahre es gab zwsichen 1970 und 'unserem' zeitpunkt, aber woher weisst du das?

----

Erst mal die Jahre hochzählen ...

while ($zaehler<$t) {
#was passiert hier:
$zaehler +=(365 * 24 * 60 * 60);

#hier ruft du dein sub 'sj' aus auf, aber was macht 1970 also ($jahr)? oder ist es einfach 1970x24x60x60 und die zahl dieser multiplikation jagst du durch 'sj' ?
$zaehler += (sj ($jahr) * 24 * 60 * 60);
$jahr++;
}
$jahr--;  #der Algorithmus oben schiesst um ein Jahr über :-)
$zaehler -=(365 * 24 * 60 * 60);
$zaehler -= (sj ($jahr) * 24 * 60 * 60);
----

wo genau passiert das, das hochzählen. das wäre für mich eher eine division als addition statt += also: $time % (365 * 24 * 60 * 60)
oder bin ich jetzt sehr auf dem holzweg?

Grüße
Thomas