m104

Werbung
Datenstrukturen und Datentypen
Lernziele:
- Einfache und strukturierte Datentypen kennen.
- Die OVAL-Methode zur Lösung von
mathematischen Problemen einsetzen können
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
1
Datentypen
Abstrakte Datentypen (Abstrakte Rechenstrukturen) 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.
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
2
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}
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
3
Einfache Standardtypen
in 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)
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
4
integer
Elemente:
aus einer Teilmenge der Menge der
ganzen Zahlen
Operationen: +, -, *, div, mod
(div ist die Ganzzahldivision, mod
liefert den Rest bei der Ganzzahldivision)
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
5
boolean
Elemente:
true, false
Operationen: NOT, AND, OR
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
6
char
Elemente:
aus einer Menge Schrift- und
Steuerzeichen,
kein allgemeingültiger Standard,
meist ASCII
Operationen: Es sind keine Operatoren definiert.
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
7
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.
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
8
Vergleichsoperatoren
Für alle Standardtypen kann man die
Vergleichsoperatoren verwenden:
=, <, >, <=, >=, <>
mit dem Ergebnistypen BOOLEAN
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
9
Weitere einfache Datentypen
Aufzählungstyp: z.B.
Wochentag = (Montag, Dienstag, Mittwoch,
Donnerstag, Freitag, Samstag, Sonntag);
Ausschnittstyp: z.B.
Werktage = Montag .. Freitag;
Zahlenbereich = 1 .. 10;
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
10
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
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
11
Aufgabe und Lösung
Welchem Standard-Datentyp kann man folgende
Werte zuordnen?
a)
b)
c)
d)
k
5.6E2
3,1456
0
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
e)
f)
g)
h)
-4E-2
.1E3
31456e-4
Pi
12
Aufgabe und Lösung
Welchem Standard-Datentyp kann man folgende
Werte zuordnen?
a)
b)
c)
d)
k
5.6E2
3,1456
0
char
real
integer
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
e)
f)
g)
h)
-4E-2
.1E3
31456e-4
Pi
real
real
real
-
13
Aufgabe
Entwerfen Sie eine geeignete Datenstruktur, um
Bücher in einen Katalog eintragen zu können.
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
14
Aufgabe
Entwerfen Sie eine geeignete Datenstruktur, um
Bücher in einen Katalog eintragen zu können.
Autor
Titel
Verlag
Ort
Jahr
ISBN-Nr.
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
string
string
string
string
integer
string
15
Die OVAL-Methode
Modell
Objekte
Variable und Konstanten
Aussagen
Lösung
Validierung
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
16
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 vorbeifährt.
Mit welcher Bremsbeschleunigung muss das Auto
gebremst werden?
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
17
Zeichnung
A
v1
v2
P
s
sR
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
sB
18
Modell
Die Kinematik stellt Bewegungsgleichungen für die
gleichmässig beschleunigte und die unbeschleunigte
Bewegung zur Verfügung:
a 2
s  t  v0t  s0
2
v  at  v0
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
19
Objekte
O1: Bewegung während
der Reaktionszeit
O2: Bremsbewegung
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
sR  v1t
a 2
sB  t  v1t  s0
2
vB  at  v1
20
Variable und Konstante
Name
sR
v1
tR
sB
a
tB
s0
vB
s
Bedeutung
Reaktionsweg
Anfangsgeschwindigkeit
Reaktionszeit
Bremsweg
Bremsbeschleunigung
Bremszeit
Wegvorgabe
Zielgeschwindigkeit
Gesamtstrecke
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Typ
rational
rational
rational
rational
rational
rational
rational
rational
rational
Bereich/Wert
>0
100km/h
0.5s
>0
<0
>0
0
60km/h
150m
21
Aussagen
• Der Gesamtweg ist gleich
der Summe aus Reaktionsweg und Bremsweg
• Modell
Reaktionsbewegung
• Modell
Bremsbewegung
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
s sR  sB
sR  v1t R
a 2
sB  t B  v1t B
2
vB  at B  v1
22
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}
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
23
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.
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
24
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 Quadratzentimeterpreis 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 Volumsinhalt 1000 cm3 sein soll.
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
25
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  r 
OberflächeF  M  2G
2
VolumenV  r h
2
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
26
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
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
27
Variable und Konstante
Name
r
h
G
M
V
p
GP
Bedeutung
Radius
Hš
he
Grundflš
che
Mantel
Volumen
Preis pro cm^2 Mantelflš
che
Geamtpreis
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
Typ
real
real
real
real
real
real
real
Bereich/Wert
>0
>0
>0
>0
1000
0.002
1
28
Aussagen
• Das Volumen wird aus r
und h berechnet.
• Die Grundfläche ist r2π.
• Der Mantel ist 2rπh.
• Der Gesamtpreis ist gleich
Preis der Grundflächen
und Preis für den Mantel.
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
V  r 2h
G  r 2
M  2rh
GP  2 G 2 p  M  p
29
Lösung (mit Maple)
>
restart:Digits:=3:
V:=1000:p:=0.0014:GP:=1:
# Gleichungssystem
G1:=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ösung
L:=solve({G1,G2,G3,G4},{r,h,G,M});
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
30
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.
(C) 1999-2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz
31
Herunterladen