Entwickeln Sie das Dienstprogramm TOP10, welches innerhalb eines bestimmten Verzeichnis diejenigen zehn Verzeichnisse ermittelt, deren Dateien inklusive der Dateien aller Unterverzeichnisse den meisten Speicherplatz belegen. Das zu untersuchende Verzeichnis wird TOP10 per Parameter übergeben. Fehlt dieser Parameter, geht TOP10 vom aktuellen Verzeichnis aus. Die Ausgabe pro "Top10"-Verzeichnis enthält :
Zwecks Erkennung des Verarbeitungsfortschritts soll das aktuell zu bearbeitende Verzeichnis angezeigt werden. Der dem Durchsuchen des Verzeichnisbaums zugrundeliegende Algorithmus muß eine beliebige Verzeichnistiefe (zumindest theoretisch, denn praktisch wird die Rekursion durch die Stackgröße begrenzt) und eine beliebige Anzahl von Einträgen pro Verzeichnis zulassen.
Eine Musterlösung des Dienstprogramms TOP10 liegt im EXE-Format unter der URL ftp://stud.fh-wedel.de/pub/Handout/SOFTWARE/ASS/PTL/top10.exe vor. Die nachfolgenden Screenshots vom 25.01.2000 im RZ1 mögen die Aufgabenstellung verdeutlichen :
C:\WORK>TOP10 M:\ SOFTWARE 95.563.068 **************************************** ELK_TECH 88.652.615 ************************************* MEDIE~@# 69.376.388 ***************************** SEMINAR 56.808.638 ************************ UMWELT 51.313.841 ********************* MATHE 28.956.238 ************ WIRTSCH 27.226.128 *********** TECHN~48 22.178.514 ********* PHYSIK 18.791.222 ******** DIG_KOM 12.978.034 ***** |
C:\WORK>TOP10 Q:\ MSOFFICE 139.775.781 **************************************** MSAPPS 12.734.147 **** NETSCAPE 7.998.203 ** |
C:\WORK>TOP10 V:\ APPS 174.832.235 **************************************** COMPILER 73.455.711 ***************** TOOLS 19.472.325 **** |
C:\WORK>TOP10 V:\APPS ACAD 138.732.007 **************************************** SPSS 28.666.935 ******** B&P 3.914.619 * TDOT 2.383.791 * GPSSH 760.436 FLW 329.366 OMP 43.127 |
C:\WORK>TOP10 V:\COMPILER GCC2 26.271.362 **************************************** GCC 17.346.220 ************************** TC 9.535.328 *************** PROZPROG 4.740.501 ******* TASM 4.506.875 ******* TP6 3.012.064 ***** PASCOS 2.824.505 **** MPZ.DOC 2.251.716 *** SWIPL 1.045.747 ** MPZ 971.117 * |
C:\WORK>TOP10 V:\TOOLS GSVIEW16 5.167.494 **************************************** UTIL 2.989.227 *********************** SCAN 2.336.533 ****************** DCC 2.335.129 ****************** CTSI 1.515.604 ************ F-PROT 1.278.058 ********** PACKER 1.151.505 ********* DISPLAY 1.034.784 ******** TBAV 883.951 ******* NCSATCP 606.302 ***** |
C:\WORK>TOP10 W:\ OFFICE97 495.470.033 **************************************** SAP 269.214.330 ********************** AUTOCAD 193.703.235 **************** DEVST~FD 176.058.596 ************** OFFICE51 142.065.803 *********** OFFICE50 124.764.983 ********** OBSOLETE 74.865.314 ****** MSIMEV_8 36.975.678 *** GNUWIN32 33.873.013 *** SWING~#4.3 27.819.550 ** |
Im Sourcecode des Dienstprogramms TOP10 sollen die Möglichkeiten der Code- und Datenstrukturierung durch Module, Segmente und Prozeduren sowie Parameterübergaben an Unterprogramme und lokale Variablen in Unterprogrammen ausgenutzt werden. Zur Ablage der Parameter und lokalen Variablen bietet sich der Stack an (vgl. Techniken von Borland TurboPascal).
Zur weiteren Information dienen insbesondere folgende Quellen :
In dieser Seminaraufgabe sind vordefinierte Module oder Makros nicht erwünscht; davon ausgenommen sind selbstverständlich alle während der Bearbeitung dieser Seminaraufgabe erstellten Module und Makros sowie alle während der Vorlesung besprochenen Beipielprogramme.
Als Zielkonfiguration für das Dienstprogramm TOP10 ist ein Personalcomputer (PC) gemäß Intel-Architektur (>= 8086) unter Microsoft DOS (>= Version 5.0) gefordert. Die Lauffähigkeit auf den Win98-PC´s im RZ5 sowie auf den WinNT-PC´s in den RZ´s 1, 2 und 3 muß gewährleistet sein.
Spätester Abgabetermin für die Seminaraufgabe ist der 26.06.2000. Für verspätete Abgaben gilt folgende Regelung : Pro Tag Verspätung (incl. Sonnabende und Sonntage) werden pauschal 5% der erreichbaren Punktzahl abgezogen (z.B. erreichbare Punktzahl = 100, erreichte Punktzahl = 80, Abgabe am 28.06.2000 (d.h. zwei Tage zu spät) => bewertete Punktzahl = 70).
Im Rahmen der Seminaraufgaben WS96/97 bis SS98 wurde ein "Newsletter-Service" angeboten. Dieses Angebot wurde ab der Seminaraufgabe WS98/99 durch eine Diskussion in der Newsgroup ptl.ia auf dem News-Server news.fh-wedel.de ersetzt.
Ansprechpartner : Birger Wolter