SS 1996 - Fachhochschule Köln
Fachbereich Nachrichtentechnik
Matthias Groß
Praktikum Datenverarbeitung - 1. Aufgabe
Abgabetermin für alle: Montag 29.04. 1996 im DV-Labor
Bei dieser Programmieraufgabe soll mathematisches Wissen und Grafik-Programmierung zusammengefaßt werden. Viele neue Probleme tauchen auf, aber alle lassen sich mit dem bisherigen Stoff und den beigegebenen Informationen lösen. Bitte lesen Sie sich die Aufgabenstellung und die Zusatzinformationen mit Beispielen genau durch und fangen Sie erst an zu programmieren, wenn Sie das Problem vollständig durchschaut haben. Gerade bei dieser Aufgabe ist eine vorherige Planung notwendig, um ein schönes Programm zu erhalten. Testen Sie die Grafikfunktionen vorher mit den Beispielen bei Borland-C. Fragen zum Praktikum können per E-Mail gestellt werden. Bitte richten Sie Ihre genau(!) ausformulierten Fragen an mich unter der Adresse gross@mi.uni-koeln.de. Es soll ein Programm zur Spline-Interpolation geschrieben werden, d.h. das Programm soll durch eine gegebene Anzahl von Punkten (x, y) eine gebogene Linie ziehen. Diese Aufgabe ist häufig anzutreffen bei der Meßwerterfassung und der anschließenden Auswertung.
Aufgaben des Programms:
Unter BC existiert eine komplette Unterstützung für Darstellung von Grafik unter DOS. Dieses Paket heißt BGI (Borland Graphics Interface) und wird durch Einbinden der Datei <graphics.h> aktiviert. Das Zeichnen erfolgt nach dem Öffnen des Grafikbildschirms. Nach Beenden des Zeichnens ist wieder in den Textmodus zu schalten. Das kurze Beispielprogramm soll die Handhabung erläutern:
int setgraph(void) /* Initialisiert das Grafiksystem */ { int graphdriver = DETECT, graphmode, errorcode; initgraph(&graphdriver, &graphmode, "c:\\run\\tcpp\\bgi") /* Der Pfad muß auf die BGI-Treiber zeigen (*.bgi) */ errorcode = graphresult(); return (errorcode != grOK); } ... if (setgraph()) { printf("Das Programm braucht EGA oder VGA-Grafik!"); exit(0); } maxx = getmaxx(); /* Maximale Grafikkoordinaten holen. */ maxy = getmaxy(); setcolor(WHITE); /* Mal-Farbe setzen */ line(0, 0, maxx, maxy); /* Diagonale über den Bildschirm ziehen */ putpixel(5,5,WHITE); /* Einen Punkt bei 5,5 setzen */ ... /* Weiter zeichnen */ getch(); closegraph(); /* Grafiksystem beenden */