Programmieren - alles kontrollieren 4.937 Themen, 20.628 Beiträge

TP -> Geburtstag -> Schülerproblem

SCHNICO / 4 Antworten / Flachansicht Nickles

Hallo,


wir haben heut in Informatik die aufgabe bekommen ein Programm zu schreiben welches nach Eingabe von Geburtsjahr, Geburtsmonat und Geburtstag errechenen soll an welchem Tag das gewesen ist. (z.B. Montag)


meine Idee war es diese Zeit einfach auszählen zu lassen aber dies war meinem Herrn Lehrer nicht schön genug. Das einzigste was er sagen konnte war das wir mit trunc und mod arbeiten sollen. Jedoch kann ich nic´hts mit dem Befehl trunc anfangen geschweigedenn sagt mir auch die Hilfefunktion von TP rechtwenig darüber. Wer könnte mir da helfen? Nett wäre es wenn jemand ein Bsp.-Prog hat in dem man sich mal die Funktion von Trunc anschauen könnte. Oder mir einen Tipp geben könnte auf welchem Wege sich das Prob noch lösen lässt.


Danke im Voraus

bei Antwort benachrichtigen
Dreamforger SCHNICO „TP -> Geburtstag -> Schülerproblem“
Optionen

Die differenz in Tagen, von heute bis zum Geburtstag nimmst du modulo 7 das ist dann die Anzahl der relativ vergangenen Wochentage. Mit trunc kannst du das auch lösen indem du die Tage durch 7 Teilst, das Ergebniss 'trunc'st und wieder mit 7 multiplizierst. Jetzt noch die differenz der beiden Werte und du hast eine modulo operation durchgeführt. Also

mod( x, b) := x - trunc(x/b)*b;

bei negativem x ist teilweise auch das Ergebniss des modulo negativ.

Lange Rede kurzer Sinn: ob dein 1.1.0000 := Montag hinhaut weis ich nicht, ich nehms jetzt mal an.
x:=Anzahl der Tage seit 1.1.0000
t:=mod(x,7)

t ist also der 'relative Tag' t=0 ->Montag t=1 ->Dienstag ... t=6 ->Sonntag
lässt sich richtig gut in einem Array als Index verwenden.

bei Antwort benachrichtigen