CIIS / Page 7
Projekt Hochschule
Algorithmus
VERSION NO 3 - vom 26.10.95
statische Vorgaben :
____________________
I. (Datenbank I)
Hochschul-Struktur : ( teilw. statische Vorgaben)
1) Fachbereich
2) Studiengang
3) Fachrichtung ( Spezialisierung )
4) Semester (wenn genug Studenten, dann eršeffne Zug, min. 8)
5) Zuege (wenn mehr als 30 Studenten, dann neuer Zug, verteile
Studenten auf eršffnete ZŸge)
6) Studien-Verordnung : (an ZŸge angehŠngt, feste Regeln)
zu jedem Fach (falls nštig) spezielle Angeben Ÿber
benštigte Raumausstattung (z.B. Rechner)
( gemeint sind die Lehrplaene fuer die einzelnen Semester )
II. (Datenbank II)
Studenten : (Neben-Regel)
(+ feste Regeln aus Studienordnung)
Immatrikulationen bzw. voraussichtliche Studentenzahl
. pro Studiengang (Fachrichtung)
. pro Spezialisierungsrichtung
. pro Semester
III. (Datenbank III)
Hochschuleigenes Raumkontingent :
RAEUME :
Raumnummer
Groesse (Stuehle)
Verwendungszweck ( Vorlesungsraum universal, Vorlesungsraum Physik,
Vorlesungsraum Computer, Physiklabor,
E-Technik-Labor, Computerkabinett UNIX,
Computerkabinett NOVELL )
AUSTATTUNG (TAFEL, OH, RECHNER ETC.)
Software-Ausstattung ( nur Computer-Kabinette ! ) ( variabel halten ... ! )
Standort / Gebaeude
Verwalter ( [ Fachbereich ???? ] - Fachbereich)
verfŸgbar ( j/n )
IV. (Datenbank IV)
Dozentenkontingent
DOZENTEN :
Status ... ( Gastleser, Angestellt, Teilzeit )
zugehoerig zum Fachbereich ... ( 1, 2, 3, ... , 8 )
Verfuegbarkeit ( wann ist er/sie verfuegbar ? - Wochentag, Einheit/Uhrzeit))
Fachgebiet ( Einsatzmoeglichkeiten in einzelnen Faechern; mit Prioritaeten ! )
Name, Anschrift, Tel
--------------------------------------------------------------------------------
INPUT:
kurzfristige Aenderungswuensche:
. kurzfristige Auswirkung ( Zeitspanne )
OUTPUT:
. StundenplŠne ( -> Datenbank V)
(FB.Semester.Zug.Tag.Stunde.Fach)
. Raumnutzungsplaene ( -> Datenbank VI)
(Raum.Wochentag.Unterrichtseinheit.FB.Zug.Dozent)
. Dozentenplaene ( -> Datenbank VII)
(Dozent.TAg.Stunde.Ort.Fach.Raum)
FŸr DB I - DB V :
. Suchmasken
. Eingabemasken
Entwurf Algorithmus No3 30.10.95
fuer jeden Fachbereich (fb = 1 to n) do
fuer jeden Studiengang (sg = 1 to n) do
fuer jedes Semester (se = 1 to n) do
fuer jede Fachrichtung (fr = 1 to n) do
(Unschaerfe! Fachrichtung splittet sich erst spŠt)
nehme Anzahl eingeschriebener Studenten StAnz[fr]
ZugAnz = int((StAnz[fr] / 30) +1)
(Anzahl der zu eroeffnenden ZŸge)
StdAnz[fr,z] pro Zug = (StAnz[fr] / ZugAnz[fr])
(Aufteilug nur in Integer!)
fuer jeden Zug (zu = 1 to ZugAnz) do
fŸr jede Vorlesung aus Studienplan
suche passenden Dozenten (Fachbereich, Fachrichtung)
if kein Dozent gefunden then Meldung an Fachbereich
end if
do
suche ersten (zeitlich) passende Einheit der Woche
(passend fŸr den Doz.)
while (gefundene Einheit im Dozentenplan noch frei OR Woche zu Ende)
if keine freie Einheit (im Dozentenplan) gefunden then PROBLEM :-)
else
do
suche Raum, der den Anforderungen genŸgt
(StŸhle, Ausstattung)
[vermeide gro§e rŠumliche SprŸnge zwischen den Einheiten]
while (Raum an dem Tag/Einheit noch nicht belegt OR
alle RŠume durchsucht)
if kein freier Raum gefunden then
do
suche Raum in anderen Fachbereichen, der den Anforderungen
genŸgt
[vermeide gro§e rŠumliche SprŸnge zwischen den Einheiten]
while (Raum an dem Tag/Einheit noch nicht belegt OR alle RŠume durchsucht)
if auch in anderen FB«s kein freier Raum gefunden then PROBLEM
else
Nachricht an den anderen Fachbereich
Eintrag DB Stundenplan
Eintrag DB Dozentenplan (sehr unschšn dieses Doppelte!)
Eintrag DB Raumplan
end if
else
Eintrag DB Stundenplan
Eintrag DB Dozentenplan
Eintrag DB Raumplan
end if
end if
end do
end do
end do
end do
end do
end do
S3498@fb1.fhtw-berlin.de; Ch. Steckmann,created: 17/95, modified:17/95