Prof. Dr. Franz Schweiggert -- Sektion Angewandte
Informationsverarbeitung -- 15. Dezember 1998
Dr. Andreas Borchert Blatt 9
Ingo Melzer
[c]
Allgemeine Informatik I (WS 1998/99)
Abgabetermin 13. Januar 1999
m[i][j]
die Länge des Weges von i nach j
enthält) und dann nach folgendem Algorithmus einen Weg sucht. Die
Rentiere sind auf Punkt 1 geparkt, daher beginnt die Reise dort und sie
sollte an diesem Punkt auch wieder aufhören. Nachdem Santa ein
Geschenk verteilt hat (was er an jedem Punkt genau einmal macht),
möchte er schnell wieder eines verschenken. Daher wählt er
immer den nächstgelegenen Ort, den er noch nicht besucht hat.
Gibt es mehrere solche Orte, so wird der Ort mit der niedrigsten Nummer
gewählt, da liebe Kinder kleinere Zahlen haben.
MODULE timediff; FROM Calendar IMPORT CurrentTime, ConvertTime, ConvertDate, Calendarday, Date, Day, Daytime, Month; FROM InOut IMPORT ReadCard, WriteInt, WriteCard, WriteLn, WriteString; VAR date: Date; daytime: Daytime; today, future: Calendarday; tmp: CARDINAL; PROCEDURE calcdays(today, future: Calendarday):INTEGER; (* Add some lines here *) END calcdays; BEGIN ConvertTime(CurrentTime(), date, daytime); ConvertDate(date, today); WriteString("Bitte Tag eingeben: "); ReadCard(tmp); future.day := tmp; WriteString("Bitte Monat eingeben: "); ReadCard(tmp); future.month := tmp; WriteString("Bitte Jahr eingeben: "); ReadCard(future.year); WriteString("Heute ist: "); WriteCard(today.day,0); WriteCard(today.month,3); WriteCard(today.year,5); WriteString(" Von heute bis zu Ihrem Wunschtag sind es nur "); WriteInt(calcdays(today, future), 0); WriteString(" Tage"); WriteLn; END timediff.