-
Notifications
You must be signed in to change notification settings - Fork 0
/
Suggested Flow Chart.txt
87 lines (50 loc) · 2 KB
/
Suggested Flow Chart.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
def place(start, end):
for (start <= k <= end)
if student doesn't already have a class during that block
if course is offered during that block and class is not full
# only deals with linear AND inside the time table
if course is linear and k != 8
if same block other semester is free in the student's time table
put student in the class
put the class in both blocks for the student's time table
else
continue (go to next block)
else
put student in the class and the class in the student's time table
return True (to go to next student)
elif more classes of this course can be made
if course is linear and k != 8
if same block other semester is free in the student's time table
create a new class for this course during this block
add the course to the student's time table in this block and same block other semester
add the student to the class
add the course to the master time table for the same block both semesters
else
continue (go to next block)
else
create a new class for this course during this block
add the course to the student's time table
add the student to the class
add the course to the master time table
return True (to go to next student)
return False
def main():
for each course at MD
for each student
for each request
if course == request
if the course is a prerequisite for another course that they have
for block from S2 A to S2 D
if place(4,7):
break
if the course needs a prerequisite from the requests
for block from S1 A to S1 D
if place(0,3)
break
if course is outside the time table
block = outside
if place(8,8)
break
if place(0,7)
break
break