Einführendes Beispiel Diskrete Mathematik Vorlesung 1 Einführendes Beispiel
Übersicht Flurstück Flächeninhalt eines Polygons 1 Übersicht Flurstück Flächeninhalt eines Polygons Gaußsche Flächenformel Programmierung: Iteration, For-Schleife Pascal Java Speicherung der Punktkoordinaten Flurstücke eines Gebietes Redundanz Vermeidung der Redundanz Tabellen Objekte siehe Vorlesung „Geoinformation"
Flächeninhalt eine Polygons 2 Flächeninhalt eine Polygons (x3,y3) (x4,y4) F (x2,y2) (x5,y5) (x1,y1) A 1x
3 Gaußsche Flächenformel k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 2 S
S F = (xk - xk+1)(yk + yk+1) Iteration, For-Schleife 1 2 5 k = 1 BEGIN 4 Iteration, For-Schleife 2 k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 S (x4,y4) (x1,y1) (x5,y5) (x2,y2) (x3,y3) BEGIN { A 18x
S F = (xk - xk+1)(yk + yk+1) Iteration, For-Schleife 1 2 5 k = 1 { 4 Iteration, For-Schleife 2 k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 S (x3,y3) (x4,y4) (x2,y2) { (x5,y5) f := 0; f = 0; (x1,y1) A 18x
S S F = F = (xk - xk+1)(yk + yk+1) (xk - xk+1)(yk + yk+1) 4 Iteration, For-Schleife 2 k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 S 2 k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 S (x3,y3) (x4,y4) (x2,y2) { (x5,y5) f = 0; (x1,y1) for(k = 1; k <= 5; k++) FOR k:=1 TO 5 DO A 18x
S F = (xk - xk+1)(yk + yk+1) Iteration, For-Schleife 1 2 5 k = 1 { 4 Iteration, For-Schleife 2 k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 S (x3,y3) (x4,y4) (x2,y2) { (x5,y5) f = 0; (x1,y1) for(k = 1; k <= 5; k++) { BEGIN A 18x
S F = (xk - xk+1)(yk + yk+1) Iteration, For-Schleife 1 2 5 k = 1 { 4 Iteration, For-Schleife 2 k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 S (x3,y3) (x4,y4) (x2,y2) { (x5,y5) f = 0; (x1,y1) (x6,y6) for(k = 1; k <= 5; k++) { f = f + ((x[k] - x[k+1])*(y[k] + y[k+1])); f := f + ((x[k] - x[k+1])*(y[k] + y[k+1])); A 18x
f = f + ((x[k] - x[k+1])*(y[k] + y[k+1])); 4 Iteration, For-Schleife 2 k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 S (x3,y3) (x4,y4) (x2,y2) { (x5,y5) f = 0; (x1,y1) for(k = 1; k <= 5; k++) { f = f + ((x[k] - x[k+1])*(y[k] + y[k+1])); END } A 18x
f = f + ((x[k] - x[k+1])*(y[k] + y[k+1])); 4 Iteration, For-Schleife 2 k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 S (x3,y3) (x4,y4) (x2,y2) { (x5,y5) f = 0; (x1,y1) for(k = 1; k <= 5; k++) { f = f + ((x[k] - x[k+1])*(y[k] + y[k+1])); } flaeche = f/2; flaeche := f/2; A 18x
f = f + ((x[k] - x[k+1])*(y[k] + y[k+1])); 4 Iteration, For-Schleife 2 k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 S (x3,y3) (x4,y4) (x2,y2) { (x5,y5) f = 0; (x1,y1) for(k = 1; k <= 5; k++) { f = f + ((x[k] - x[k+1])*(y[k] + y[k+1])); } flaeche = f/2; } END A 18x
f = f + ((x[k] - x[k+1])*(y[k] + y[k+1])); 4 Iteration, For-Schleife 2 k = 1 5 (xk - xk+1)(yk + yk+1) F = 1 S (x3,y3) (x4,y4) (x2,y2) { (x5,y5) f = 0; (x1,y1) for(k = 1; k <= 5; k++) { f = f + ((x[k] - x[k+1])*(y[k] + y[k+1])); } flaeche = f/2; } A 18x
Speicherung der Punktkoordinaten 5 Speicherung der Punktkoordinaten A = [(x1,y1), ( x2,y2), ( x3,y3), (x4,y4), (x5,y5), (x6,y6)] (x3,y3) (x4,y4) A (x2,y2) (x5,y5) (x1,y1)
Speicherung der Punktkoordinaten 6 Speicherung der Punktkoordinaten P9 P8 A = [(x1,y1), ( x2,y2), ( x3,y3), (x4,y4), (x5,y5)] B P7 P6 P10 C P3 D P11 P4 D = [(x2,y2), ( x11,y11), ( x10,y10), (x9,y9), (x3,y3)] A P2 P5 P1
7 Redundanz Die Repräsentation von Polygonen durch Punktlisten A = [(x1,y1), ( x2,y2), ( x3,y3), (x4,y4), (x5,y5)] D = [(x2,y2), ( x11,y11), (x10,y10), ( x9,y9), (x3,y3)] eignet sich direkt für die Berechnung von Flächen speichert Punktkoordinaten redundant ab Nachteil: Platzbedarf (kleines Problem) fehleranfällig, denn die Koordinaten des gleichen Punktes treten an verschiedenen Stellen auf und können verschiedene Werte annehmen (großes Problem) Änderungen sind schwierig Alternative: eigene Punktetabelle und Verweis auf diese Tabelle
Vermeidung der Redundanz: Tabellen 8 Vermeidung der Redundanz: Tabellen Punktliste P1 2.0 0.0 P2 1.0 1.0 P3 7.0 3.0 P4 5.0 4.0 P5 5.0 1.0 P6 7.0 6.0 P7 5.0 6.0 P8 5.0 7.0 P9 3.0 7.0 P10 3.0 6.0 P11 0.0 3.0 P9 P8 B P7 P6 P10 C P3 D P11 P4 A Grundstücksliste A 1 2 3 4 5 B 3 9 8 7 C 4 3 7 6 D 2 11 10 9 3 P2 P5 P1
Vermeidung der Redundanz: Punkte als Objekte 9 Vermeidung der Redundanz: Punkte als Objekte -> Vorlesung „Geoinformation“
„Objektorientierung“ im 1. Semester 10 „Objektorientierung“ im 1. Semester Vorlesung „Diskrete Mathematik“ Modellierung von Objekten UML „Programmierung“ Implementierung von Objekten Java Diskrete Mathematik Verwendung von Objekten in Algorithmen