Datenstrukturen < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 13:57 So 29.03.2009 | Autor: | lisa11 |
Aufgabe | Datei-Anhang
Es soll ein Rechteck durch eine Algebra beschrieben werden. Wir betrachten Rechtecke, die sich in einembestimmetn Bereich befinden. Ein Rechteck wird festgelegt durch
1. Position innerhalb des Bereichs und
2. Dimension, d.h Höhe und Länge
Die Postion des Rechtecks wird definiert als Position des linken unteren Eckpunkts und wird durch zwei ganzzahlige Koordinaten angegeben. Höhe und Länge sind ebenfalls ganze Zahlen. |
Mein Ansatz:
algebra rechteck
sorts: pos, rechteck ,int, dim
ops : new---------------------> rechteck
create: int* int * dim-----> pos
pos: int*int---------> pos
height: rechteck---------> int
length: rechteck----------------> int
move to: int--------------> pos
resize: rechteck*int*int------------>rechteck
scale: int*dim-----------> int
perimeter: dim*dim---------> int
area: dim*dim----------->int
sets:
rechteck:=F(pos*dim)
pos1,pos2 = [mm] F(Z^2)={(int,int)elem. Z^2, px,py,p1,p2 elem.Z}
[/mm]
dim= F(Z)={int elem Z),h,h1,h2 elem Z, l,l1,l2,
elem Z, x elem int}
functions
new(pos, dim) = ((0,0),0,0)
create(pos,dim) = (px,py)h1,l1))
position(py) = (py)
height(pos,dim) = ((px,py),h1))
lenght(pos,dim) = (px,py),l1))
move -to(px,py) = (px +pos1,py + pos2))
move-by(px,py)= (px + pos1,py + pos1)
resize(px,py,h,l) = ((px,py),h2,l2))
scale(h1,l1),h,l,x) = (h1*x,l1*x)
perimeter(h1,l1),h,l) = (2*h1,2*l1)
area((l1,h1)h,l)) = (h1*l1)
kann ich dies so lösen oder hat es Fehler drinnen?
Dateianhänge: Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 07:37 Mo 30.03.2009 | Autor: | lisa11 |
es wäre schön wenn sich jemand dies ansehen würde und ein kommentar abgeben würde danke
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 10:37 Mo 30.03.2009 | Autor: | userzwo |
hallo,
die position soll durch linken unteren eckpunkt des rechteckes beschrieben werden durch zwei ganzzahlige werte.
ich bin mir nicht ganz sicher aber
du hast bei
position(py) = py
und py beschreibt doch nur einen punkt oder, sollte da dimension mit angegeben werden?
alos sowas wie
position(py) = py,dim
gruß userzwo
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 10:47 Mo 30.03.2009 | Autor: | lisa11 |
also ich würde sagen
position(pos, dim) := (px,py)
oder liege ich daneben...
Position wird durch 2 ganzzahlige Koordinaten angegeben
steht in der Aufgabe
wie sieht der Rest aus du hast dich nicht dazu geäussert
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 07:34 Di 31.03.2009 | Autor: | lisa11 |
es wäre gut wenn sich jemand das ansehen würde nochmals und auf richtigkeit überprüfen weil ich mir nicht sicher bin danke
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 Mi 01.04.2009 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:47 Sa 04.04.2009 | Autor: | lisa11 |
ich würde mich freuen wenn sich jemand meinen Lösungsvorschlag ansehen würde.
grusslisa
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 07:58 So 05.04.2009 | Autor: | lisa11 |
Welche Fehler hat meine Lösung noch ?
Würde sich jemand das dies bite ansehen.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:42 Mo 06.04.2009 | Autor: | lisa11 |
wieso ist keiner herum der sich die Aufgabe ansehen möchte?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:00 Mi 08.04.2009 | Autor: | lisa11 |
würde sich das bitte jemand ansehen
|
|
|
|
|
Nach Aufgabenstellung wird ein Rechteck festgelegt durch seine Position und seine Dimension d.h. Höhe und Länge.
Also gibt es die Sorten Rechteck, Position(ist ein Punkt (x,y)), Höhe und Länge welche ganzzahlig sind also Integer und für scalar braucht es noch eine reele Zahl.
Aus diesen Überlegungen ergibt sich für mich folgender Ansatz.
algebra rechteck
sorts rechteck, punkt, integer, real
opts
new [mm] \to [/mm] rechteck
create punkt [mm] \times [/mm] integer [mm] \times [/mm] integer [mm] \to [/mm] rechteck
postion rechteck [mm] \to [/mm] punkt
height rechteck [mm] \to [/mm] integer
length rechteck [mm] \to [/mm] integer
move_to rechteck [mm] \times [/mm] punkt [mm] \to [/mm] rechteck
move_by rechteck [mm] \times [/mm] punkt [mm] \to [/mm] rechteck
resize rechteck [mm] \times [/mm] integer [mm] \times [/mm] integer [mm] \to [/mm] rechteck
scale rechteck [mm] \times [/mm] real [mm] \to [/mm] rechteck
perimeter rechteck [mm] \to [/mm] integer
area rechteck [mm] \to [/mm] integer
sets
[mm] rechteck(punkt\times\IZ^2)=\{((x,y),h,l)|(x,y)\in punkt,h,l\in\IZ\}
[/mm]
[mm] punkt=F(\IZ^2)=\{(x,y)|x,y\in\IZ\}
[/mm]
[mm] (dx,dy)\in punkt,dh,dl\inZ,s\in\IR
[/mm]
functions
new [mm] \to [/mm] ((0,0),0,0)
create ((x,y),h,l) [mm] \to [/mm] ((x,y),h,l)
postion (rechteck) [mm] \to [/mm] (x,y)
height (rechteck) [mm] \to [/mm] h
length (rechteck) [mm] \to [/mm] l
move_to (rechteck,(dx,dy)) [mm] \to [/mm] ((dx,dy),h,l)
move_by (rechteck,(dx,dy)) [mm] \to [/mm] ((x+dx,y+dy),h,l)
resize (rechteck,dh,dl) [mm] \to [/mm] ((x,y),dh,dl)
scale (rechteck,s) [mm] \to [/mm] ((x,y),round(h*s),round(l*s))
perimeter (rechteck) [mm] \to [/mm] 2*(abs(h)+abs(l))
area (rechteck) [mm] \to [/mm] abs(h*l)
end rechteck
Nach der Aufgabenstellung denke ich sollte die Algebra so ungefähr aussehen.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:36 So 12.04.2009 | Autor: | lisa11 |
vielen Dank jetzt sehe ich erst das ich das Skalar vergessen hatte meine Lösung ist aber ähnlich
|
|
|
|