2 Übungen | |
→ | 2.7 Übung 6 |
Theorie |
Aufgabe 1: Kreisberechnung |
Aufgabe 2: Dreiecksfläche |
Aufgabe 3: Felder von Strukturen, SVG-Grafik |
Machen Sie sich mit der Aufteilung von Quelltexten auf mehrere Module vertraut, siehe Mehrere Quelltext-Module.
Variieren Sie das Beispiel ex018 aus Mehrere Quelltext-Module so, dass mit der Kennziffer 3 eine Kreisflächenberechnung erfolgt.
/** Kreis: Abfrage des Radius, Berechnung des Flaecheninhaltes. @return 1 bei Erfolg, 0 bei Fehlern. */ static int kreis(void) { /* HIER MUESSEN SIE TAETIG WERDEN! */ }aufgerufen werden.
/** Flaecheninhalt eines Kreises berechnen. @param radius Kreis-Radius. @return Flaecheninhalt (nichtnegativ) bei Erfolg, -1.0 bei Fehler. */ double hsm_et_geom_kreis_flache(double radius);hinzu.
Variieren Sie die Quelltexte des Projektes ex018 so, dass mit der Kennziffer 4 eine Dreiecksflächenberechnung erfolgt.
static int dreieck(void) { /* HIER MUESSEN SIE TAETIG WERDEN! */ }aufgerufen werden.
/** Flaecheninhalt eines Dreiecks berechnen. @param a Seitenlaenge a. @param b Seitenlaenge b. @param c Seitenlaenge c. @return Positiver Flaecheninhalt fuer gueltiges Dreieck, negativer Wert -1.0 fuer ungueltiges Rechteck. */ double hsm_et_geom_dreieck_flaeche(double a, double b, double c);hinzu.
Hinweis: Für gültige Dreiecke kann der Flächeninhalt nach der Formel
berechnet werden.
Zum Test können Sie u.a. folgende Zahlenwerte verwenden:
a | b | c | A |
---|---|---|---|
3 | 4 | 5 | 6 |
3 | 3 | 3 | 3,8971 |
3 | 4 | 6 | 5,3327 |
Das Beispiel ex075.c ist eine Erweiterung des Beispieles ex057.c
aus Übung 5. Auch hier soll wieder ermittelt werden, wieviele
Linien vollständig im Rechteck bzw. auf dessen Rand liegen. Das
heißt, die Linien sollen keinen Punkt außerhalb des Rechteckes
aufweisen.
Zusammen mit dem Modul ex075.c müssen auch he-svg.c und he-error.c
als Quelltexte im Projekt verwendet werden.
Das Programm legt eine Datei C:\Temp\ex057.svg an. Diese können Sie
in einem Webbrowser (Mozilla Firefox oder Internet Explorer)
öffnen. Die Grafik zeigt das Rechteck und die Linien. Linien, die
Ihr Programm als vollständig innerhalb des Rechteckes liegend
ansieht, werden grün dargestellt. Alle anderen Linien werden rot
gezeichnet.
Falls die Funktionen für die innerhalb/außerhalb-Erkennung
funktionieren, sollte die Grafik aussehen, wie im Beispiel