Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0"?>
- <st-source>
- <time-stamp>From VisualWorks® Personal Use Edition, 8.3 of 28 lipca 2017 on 11 listopada 2018 at 17:32:20</time-stamp>
- <component-created>
- <name>jpr</name> <type>package</type>
- </component-created><!-- Package jpr* -->
- <component-property>
- <name>jpr</name> <type>package</type>
- <property>comment</property> <value>'das'</value>
- </component-property>
- <class>
- <name>Wielokat</name>
- <environment>Smalltalk</environment>
- <super>Core.Object</super>
- <private>false</private>
- <indexed-type>none</indexed-type>
- <inst-vars>wierzcholki nazwa </inst-vars>
- <class-inst-vars></class-inst-vars>
- <imports></imports>
- <category>JezykiProgramowania</category>
- <attributes>
- <package>jpr</package>
- </attributes>
- </class>
- <class>
- <name>Kwadrat</name>
- <environment>Smalltalk</environment>
- <super>Wielokat</super>
- <private>false</private>
- <indexed-type>none</indexed-type>
- <inst-vars></inst-vars>
- <class-inst-vars></class-inst-vars>
- <imports></imports>
- <category>JezykiProgramowania</category>
- <attributes>
- <package>jpr</package>
- </attributes>
- </class>
- <class>
- <name>TrojkatProstokatny</name>
- <environment>Smalltalk</environment>
- <super>Wielokat</super>
- <private>false</private>
- <indexed-type>none</indexed-type>
- <inst-vars></inst-vars>
- <class-inst-vars></class-inst-vars>
- <imports></imports>
- <category>JezykiProgramowania</category>
- <attributes>
- <package>jpr</package>
- </attributes>
- </class>
- <methods>
- <class-id>Wielokat</class-id> <category>accessing</category>
- <body package="jpr" selector="nazwa:">nazwa: nowa_nazwa
- "ustawia nowa nazwe wielokata"
- nazwa:=nowa_nazwa</body>
- <body package="jpr" selector="nazwa">nazwa
- "podaje nazwe wielokata"
- ^nazwa</body>
- </methods>
- <methods>
- <class-id>Wielokat</class-id> <category>actions</category>
- <body package="jpr" selector="drukuj">drukuj
- "wypisz wierzcholki wielokata"
- Transcript show: 'Pole: '.
- Transcript show: self pole printString;cr.
- Transcript show: 'Wierzcholki: ';cr.
- wierzcholki do: [:wierzcholek|
- Transcript show: 'x: '.
- Transcript show: wierzcholek x printString.
- Transcript show: ' y: '.
- Transcript show: wierzcholek y printString;cr.]</body>
- </methods>
- <methods>
- <class-id>Wielokat</class-id> <category>initialize-release</category>
- <body package="jpr" selector="initialize:name:">initialize: liczbaWierzcholkow name: nowaNazwa
- "konstruktor obiektu - wielokata"
- nazwa:=nowaNazwa.
- wierzcholki:=Array new: liczbaWierzcholkow.
- wierzcholki at: 1 put: 0@0.</body>
- </methods>
- <methods>
- <class-id>Kwadrat</class-id> <category>actions</category>
- <body package="jpr" selector="obrot">obrot
- "obrot o 90 stopni"
- | x y index |
- index:=1.
- wierzcholki do: [:wierzcholek|
- x:= wierzcholek y.
- y:= 0-(wierzcholek x).
- wierzcholki at: index put: x@y.
- index:= index + 1.
- ]</body>
- <body package="jpr" selector="pole">pole
- "licz pole kwadratu"
- | czyObrocono |
- (wierzcholki at: 1) y = (wierzcholki at: 2) y
- ifTrue:[czyObrocono:= false]
- ifFalse:[czyObrocono:= true].
- czyObrocono
- ifTrue:[^(wierzcholki at: 2) y squared]
- ifFalse:[^(wierzcholki at: 2) x squared].</body>
- </methods>
- <methods>
- <class-id>Kwadrat</class-id> <category>arithmetic</category>
- <body package="jpr" selector="+">+ figura
- "dodaj 2 figury w sensie pola"
- | p |
- p:=self pole + figura pole.
- ^(Kwadrat new) initialize: p sqrt</body>
- </methods>
- <methods>
- <class-id>Kwadrat</class-id> <category>initialize-release</category>
- <body package="jpr" selector="initialize:">initialize: bok
- "tworz kwadrat o podanym boku"
- super initialize: 4 name: 'Kwadrat'.
- wierzcholki at: 2 put: bok@0.
- wierzcholki at: 3 put: bok@bok.
- wierzcholki at: 4 put: 0@bok.</body>
- </methods>
- <methods>
- <class-id>TrojkatProstokatny class</class-id> <category>instance creation</category>
- <body package="jpr" selector="new">new
- "Answer a newly created and initialized instance."
- ^super new initialize</body>
- </methods>
- <methods>
- <class-id>TrojkatProstokatny</class-id> <category>actions</category>
- <body package="jpr" selector="obrot">obrot
- "obrot o 90 stopni"
- | x y index |
- index:=1.
- wierzcholki do: [:wierzcholek|
- x:= 0 - (wierzcholek y).
- y:= wierzcholek x.
- wierzcholki at: index put: x@y.
- index:= index + 1.
- ]</body>
- <body package="jpr" selector="pole">pole
- | czyObrocono |
- (wierzcholki at: 1) y = (wierzcholki at: 2) y
- ifTrue:[czyObrocono:= false]
- ifFalse:[czyObrocono:= true].
- czyObrocono
- ifTrue:[^(wierzcholki at: 2) y abs * ( wierzcholki at: 3) x abs * 1/2]
- ifFalse:[^(wierzcholki at: 2) x abs * ( wierzcholki at: 3) y abs * 1/2].</body>
- </methods>
- <methods>
- <class-id>TrojkatProstokatny</class-id> <category>arithmetic</category>
- <body package="jpr" selector="+">+ figura
- "dodaj 2 figury w sensie pola"
- | p k a b czyObrocono|
- (wierzcholki at: 1) y = (wierzcholki at: 2) y
- ifTrue:[czyObrocono:= false]
- ifFalse:[czyObrocono:= true].
- p:=self pole + figura pole.
- k:= (p * 1/(self pole)) sqrt.
- czyObrocono
- ifFalse:[
- a:= ((wierzcholki at: 2) x abs) *k.
- b:= ((wierzcholki at: 3) y abs) *k.
- ^(TrojkatProstokatny new) initialize: a przyprostokatna: b.]
- ifTrue:[
- a:= ((wierzcholki at: 2) y abs) *k.
- b:= ((wierzcholki at: 3) x abs) *k.
- ^(TrojkatProstokatny new) initializev2: a przyprostokatna: b.
- ]</body>
- </methods>
- <methods>
- <class-id>TrojkatProstokatny</class-id> <category>initialize-release</category>
- <body package="jpr" selector="initialize:przyprostokatna:">initialize: bok przyprostokatna: przyprostokatna
- "tworz kwadrat o podanym boku"
- super initialize: 3 name: 'TrojkatProstokatny'.
- wierzcholki at: 2 put: bok@0.
- wierzcholki at: 3 put: 0@przyprostokatna.</body>
- <body package="jpr" selector="initializev2:przyprostokatna:">initializev2: bok przyprostokatna: przyprostokatna
- "tworz kwadrat o podanym boku"
- super initialize: 3 name: 'TrojkatProstokatny'.
- wierzcholki at: 2 put:0@bok.
- wierzcholki at: 3 put: przyprostokatna@0.</body>
- </methods>
- </st-source>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement