Gruppenaufgaben
Gruppenaufgaben
Gruppenaufgaben
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Informatik Praktikum <strong>Gruppenaufgaben</strong> 4/26<br />
Aufgabe 5.2 Performance-Timer<br />
Schreiben Sie ein Programm PerfTime.exe, das als Stoppuhr für externe Prozesse dient. PerfTime<br />
soll bis zu 10 beliebige Programme starten können und die Zeit messen, die diese Programme<br />
brauchen bis sie beendet werden. Die zu vermessenden Programme sollen als Kommandozeilenparameter<br />
eingelesen werden. Benutzen Sie zum Aufrufen des externen Prozesses die C-<br />
Funktion spawnl() und geben Sie sinnvolle Meldungen im Fehlerfall aus.<br />
Nach Beendigung der Messung sollen folgende Informationen dargestellt werden:<br />
Programmname des gemessenen Prozesses mit lfd. Nummer<br />
Startzeit<br />
Stoppzeit<br />
Laufzeit (=Differenz der ersten beiden) in Millisekunden<br />
ID des gemessenen Prozesses<br />
Zusätzlich soll die Möglichkeit bestehen, die ermittelten Daten an ein Messprotokoll anzuhängen.<br />
Dazu ist der Name der Protokolldatei abzufragen und das Datum der Messung mit in der Datei<br />
abzulegen. Der Quelltext soll aus mehreren Modulen und Funktionen aufgebaut sein. Fangen Sie<br />
alle möglichen Fehlerquellen ab!<br />
Aufgabe 5.3 Hex/Dez-Binär-Umrechner<br />
Schreiben Sie ein Konsolenprogramm BinCalc.exe, das dezimale und hexadezimale Zahlen im<br />
Bereich von unsigned long int (32 Bit) im Binärformat ausgibt. Überlegen Sie sich dazu einen<br />
allgemeingültigen mathematischen Algorithmus.<br />
Die Eingabe der umzurechnenden Zahl erfolgt als Kommandozeilenparameter. Dabei gelten<br />
folgende Regeln: Zahl mit 0x am Anfang wird als hexadezimale Zahl interpretiert, Zahl ohne 0x am<br />
Anfang wird als dezimale Zahl interpretiert und Buchstaben werden als Pfad auf eine Datei<br />
gewertet, in der die Zahl steht.<br />
Die Ausgabe erfolgt bei Eingabe von Zahlen mit printf (auf der Kommandozeile) und bei einer<br />
Eingabe durch eine Datei mit einer Ausgabedatei, die denselben Namen hat wie die Eingabedatei,<br />
aber die Endung .bin trägt. Die Ausgabe soll aus Lesbarkeitsgründen in 8-Bit-Blöcke mit<br />
Leerzeichen unterteilt werden und mehrfarbig sein. Der Quelltext soll aus mehreren Modulen und<br />
Funktionen aufgebaut sein. Fangen Sie alle möglichen Fehlerquellen ab und prüfen Sie Ihre<br />
Ergebnisse z.B. mit http://trinler.de/de/service/technik/basis.html !