1 (C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz Datenstrukturen und Datentypen...
-
Upload
huncberct-kentner -
Category
Documents
-
view
106 -
download
1
Transcript of 1 (C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz Datenstrukturen und Datentypen...
1(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Datenstrukturen und Datentypen
Lernziele:
- Einfache und strukturierte Datentypen kennen.
- Die OVAL-Methode zur Lösung von mathematischen Problemen einsetzen können
2(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Datentypen
Abstrakte Datentypen (Abstrakte Rechen-strukturen) stellen die Zugriffssicht für eine Sorte oder eine Menge von Sorten dar.
Sie definieren die Operationen mit ihren Funktionalitäten und den geforderten Eigenschaften für eine Sorte.
3(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Beispiele für einfache Datentypen
Form = {Rechteck,Quadrat,Ellipse,Kreis}
Farbe = {rot,grün,blau}
Geschlecht = {männlich,weiblich}
Wochentag = {Montag,Dienstag,Mittwoch,Donnerstag, Freitag,Samstag,Sonntag}
Fahrzeug = {Zug,Bus,Auto,Schiff,Flugzeug}
4(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Einfache Standardtypenin der Informatik
integer (eine Teilmenge der ganzen Zahlen)
boolean (true,false)
char (Menge der Schriftzeichen z.B. gemäss ASCII)
real (eine Teilmenge der reellen Zahlen)
5(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
integer
Elemente: aus einer Teilmenge der Menge der ganzen Zahlen
Operationen: +, -, *, div, mod
(div ist die Ganzzahldivision, mod liefert den Rest bei der Ganzzahl-division)
6(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
boolean
Elemente: true, false
Operationen: NOT, AND, OR
7(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
char
Elemente: aus einer Menge Schrift- und Steuerzeichen,kein allgemeingültiger Standard,meist ASCII
Operationen: Es sind keine Operatoren definiert.
8(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
real
Elemente: aus einer Teilmenge der Menge der reellen Zahlen.Darstellung mit Mantisse und Exponent (z.B. 2.75343 E-12)
Operationen: +, -, *, /Achtung: Bei Ueberlauf wird die Zahl abgeschnitten.
9(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Vergleichsoperatoren
Für alle Standardtypen kann man die Vergleichsoperatoren verwenden:
=, <, >, <=, >=, <>
mit dem Ergebnistypen BOOLEAN
10(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Weitere einfache Datentypen
Aufzählungstyp: z.B.Wochentag = (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag);
Ausschnittstyp: z.B.Werktage = Montag .. Freitag;Zahlenbereich = 1 .. 10;
11(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Strukturierte Datentypen
array Vektor, Matrix
string Zeichenkette
record Verbund, z.B. für die Aufnahme einer Adresse (Name,Vorname,Strasse,PLZ,Ort)
set Zur Angabe von Mengen
12(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Aufgabe und Lösung
Welchem Standard-Datentyp kann man folgende Werte zuordnen?
a) kb) 5.6E2c) 3,1456d) 0
e) -4E-2f) .1E3g) 31456e-4h) Pi
13(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Aufgabe und Lösung
Welchem Standard-Datentyp kann man folgende Werte zuordnen?
a) k charb) 5.6E2 realc) 3,1456 -d) 0 integer
e) -4E-2 realf) .1E3 realg) 31456e-4 realh) Pi -
14(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Aufgabe
Entwerfen Sie eine geeignete Datenstruktur, um Bücher in einen Katalog eintragen zu können.
15(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Aufgabe
Entwerfen Sie eine geeignete Datenstruktur, um Bücher in einen Katalog eintragen zu können.
Autor stringTitel stringVerlag stringOrt stringJahr integerISBN-Nr. string
16(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Modell
Objekte
Variable und Konstanten
Aussagen
Lösung
Validierung
Die OVAL-Methode
17(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Ein Beispiel aus der Physik
Ein Auto fährt mit 100 km/h. Der Autofahrer sieht nun 150 m weiter vorne eine Polizeikontrolle und bremst nach einer Reaktionszeit von 0.5 s ab, sodass das Auto beim Kontrollpunkt mit 60 km/h vorbei-fährt.
Mit welcher Bremsbeschleunigung muss das Auto gebremst werden?
18(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Zeichnung
A
P
v2v1
s
sR sB
19(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Modell
Die Kinematik stellt Bewegungsgleichungen für die gleichmässig beschleunigte und die unbeschleunigte Bewegung zur Verfügung:
0
002
2vatv
stvta
s
+=
++=
20(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Objekte
O1: Bewegung während der Reaktionszeit
O2: Bremsbewegung
tvsR 1=
1
012
2vatv
stvta
s
B
B
+=
++=
21(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Variable und KonstanteName Bedeutung Typ Bereich/WertsR Reaktionsweg rational >0v1 Anfangsgeschwindigkeit rational 100km/htR Reaktionszeit rational 0.5ssB Bremsweg rational >0a Bremsbeschleunigung rational <0tB Bremszeit rational >0s0 Wegvorgabe rational 0vB Zielgeschwindigkeit rational 60km/hs Gesamtstrecke rational 150m
22(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Aussagen
• Der Gesamtweg ist gleich der Summe aus Reaktions-weg und Bremsweg
• Modell Reaktionsbewegung
• Modell Bremsbewegung
s=sR +sB
sR =v1tR
sB =a2
tB2 +v1tB
vB =atB +v1
4 Gleichungen/4 Variable
23(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Lösung (mit Maple)
> s:=150:v1:=100/3.6:vB:=60/3.6:tR:=0.5:
gleichung1:=s=sR+sB;
gleichung2:=sR=v1*tR;
gleichung3:=sB=a/2*tB^2+v1*tB;
gleichung4:=vB=a*tB+v1;
L:=solve({gleichung1,gleichung2,gleichung3, gleichung4},{sR,sB,a,tB});
L := {sB = 136., tB = 6.12, a = -1.81, sR = 13.9}
24(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Validierung
L := [{sB = 136., tB = 6.12, a = -1.81, sR = 13.9}]
Die Lösung ist eindeutig.
Die Beschleunigung ist tatsächlich negativ.
Mit einem Betrag von 1.81 m/s2 ist die Beschleunigung beim Bremsen auch noch erträglich.
25(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Aufgabe
Es sollen zylindrische Konservendosen aus Metall produziert werden. Bekannt sind die Produktionskosten pro cm2 Mantelfläche, sie betragen Fr. 0.0014. Für die Herstellung der Grundflächen ist mit dem doppelten Quadratzentimeter-preis wie für den Mantel zu rechnen, weil die Grundflächen noch durch eine Wellpresse durch müssen.Der Gesamtpreis für die Herstellung einer Konservendose wird mit Fr. 1.- vorge-geben. Bestimmen Sie die Produktionsmasse (Radius der Grundfläche und Höhe) einer Dose, wenn der Volums-inhalt 1000 cm3 sein soll.
26(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Modell
Die Stereometrie gibt Beziehungen zwischen Radius der Grundfläche, Höhe, Volumen und Oberfläche des Zylinders an.
Mantel M =2rπh
Grundfläche G =r2π
Oberfläche F =M +2G
Volumen V =r2πh
27(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Objekte
O1: Konservendose [r, h]
Das Objekt Konservendose ist mit Radius r und Höhe h voll charakterisiert und damit gegeben. Volumen, Mantel und Oberfläche und auch der Gesamtpreis können damit berechnet werden
28(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Variable und Konstante
Name Bedeutung Typ Bereich/Wertr Radius real >0h Höhe real >0G Grundfläche real >0M Mantel real >0V Volumen real 1000p Preis pro cm^2 Mantelfläche real 0.002GP Geamtpreis real 1
29(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Aussagen
• Das Volumen wird aus r und h berechnet.
• Die Grundfläche ist r2π.
• Der Mantel ist 2rπh.
• Der Gesamtpreis ist gleichPreis der Grundflächen und Preis für den Mantel.
4 Gleichungen/4 Variable
V =r2πh
G =r2π
M =2rπh
GP =2⋅G ⋅2p+M ⋅ p
30(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Lösung (mit Maple)
> restart:Digits:=3:V:=1000:p:=0.0014:GP:=1:# GleichungssystemG1:=V=r^2*Pi*h;G2:=G=r^2*Pi;G3:=M=2*r*Pi*h;G4:=GP=2*G*2*p+M*p;# LösungL:=solve({G1,G2,G3,G4},{r,h,G,M});
L := {sB = 136., tB = 6.12, a = -1.81, sR = 13.9}
31(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Validierung
L := {M = -231., G = 236., h = 4.23, r = -8.67},{h = 23.6, M = 545., G = 42.3, r = 3.67},{r = 5.00, G = 78.6, M = 400., h = 12.7}
Mögliche Lösungen sind die 2. und die 3. Lösung. Die erste fällt aus, weil r nicht negativ sein darf.
Mir gefällt die 3. Lösung besser, weil ich das Verhältnis zwischen Durchmesser und Höhe besser finde.