Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- drukuj
- "wypisz na ekran nazwe figury, jej pole oraz wierzcholki"
- Transcript show: 'Nazwa: '.
- Transcript show: nazwa ;cr.
- Transcript show: 'Pole: '.
- Transcript show: self pole printString;cr.
- Transcript show: 'Wierzcholki: ';
- cr.
- 1 to: wierzcholki size do: [:i |
- Transcript show:(wierzcholki at: i) printString;
- cr
- ].
- obrot
- | a h |
- (((wierzcholki at:2 )x)~~0)
- ifTrue:[
- a:=(wierzcholki at:2 )x.
- h:=(0-wierzcholki at:3 )y.
- ^(TrojkatRownoramienny new) initialize: a wysokosc: h.
- ]
- ifFalse:[
- a:=0-(wierzcholki at:2 )y.
- h:=(wierzcholki at:3 )x.
- ^(TrojkatRownoramienny new) initialize: a wysokosc: h.
- ].
- "obrot o 90 stopni"
- pole
- "licz pole kwadratu"
- (((wierzcholki at: 2) x)>0)
- ifTrue:[
- ^(wierzcholki at: 2) x squared
- ]
- ifFalse:[
- (((wierzcholki at: 2) x)~~0)
- ifTrue:[
- ^(0-(wierzcholki at: 2)) x squared
- ]
- ifFalse:[
- ^(0-(wierzcholki at: 2)) y squared
- ].
- ].
- pole
- "licz pole trojkata"
- | 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].
- + figura
- "dodaj 2 figury w sensie pola"
- | a h x y |
- a:= (wierzcholki at: 2) x.
- h:=(wierzcholki at: 3) y.
- x:= a*(((self pole + figura pole)/self pole) sqrt).
- y:= h*(((self pole + figura pole)/self pole) sqrt).
- ^(TrojkatRownoramienny new) initialize: x wysokosc: y.
- initialize: podstawa wysokosc: wysokosc
- "tworz trojkat rownoramienny o podanej wysokosci i podstawie"
- super initialize: 3 name: 'TrojkatRownoramienny'.
- (podstawa>0)
- ifTrue:[
- (wysokosc>0)
- ifTrue:[
- wierzcholki at: 2 put: podstawa@0.
- wierzcholki at: 3 put: (podstawa/2.0)@(wysokosc).
- ]
- ifFalse:[
- wierzcholki at: 2 put: 0@podstawa.
- wierzcholki at: 3 put: wysokosc@(podstawa/2.0).
- ].
- ]
- ifFalse:[
- (wysokosc>0)
- ifTrue:[
- wierzcholki at: 2 put: 0@podstawa.
- wierzcholki at: 3 put: wysokosc@(podstawa/2.0)
- ]
- ifFalse:[
- wierzcholki at: 2 put: podstawa@0.
- wierzcholki at: 3 put: (podstawa/2.0)@wysokosc.
- ].
- ].
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement