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:

  1. Erfassen einer Liste von Meßpunkten (x,y),
  2. Berechnung des kubischen Splines,
  3. Darstellung der Daten auf dem Bildschirm in grafischer Form.
Zu 1:
Legen Sie die Informationen in einem eventuell globalen Feld geeignet ab und halten Sie n variabel (Eine dynamische Speicherverwaltung ist nicht notwendig!)
Zu 2:
Nehmen Sie die Beispiele auf S.624 und 625 und dimensionieren Sie die Felder geeignet. Passen Sie auch die Datentypen auf double an!
Zu 3:
Dies ist der neue Teil und der kompilizierteste Teil der Aufgabe. Berücksichtigen Sie folgende Punkte: Der Bildschirm hat eine diskrete Auflösung von 640x480 Punkten (Abfragbar mit den Funktionen: getmaxx() und getmaxy(), so daß Sie eine Koordinatentransformation vornehmen müssen. Bestimmen Sie dazu die jeweils maximalen Koordinaten und passen Sie die Transformation an. (Genaueres kommt in der Vorlesung am 1.4. 96). Zum Zeichnen rufen Sie dann 640 mal die Funktion eval() (S.625) auf und bestimmen nach Koordinatentransformation den zugehörigen y-Wert und zeichen die Kurve.

Grafik unter Borland-C:

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 */


FH-Köln zurück zurück vor WWW-Wais whois mail Hilfe
Seite zuletzt aktualisiert am 21.04.1996 von Matthias Groß.
Diese Seite ist Teil des WWW-Dienstes der FH-Köln, Germany.