| a b stdout stdin lines |
stdout := FileStream stdout.
stdin := FileStream stdin.
a := nil.
b := nil.
stdin linesDo: [ :line |
line isEmpty ifFalse: [
(a isNil)
ifTrue: [ a := line asNumber ]
ifFalse: [ b := line asNumber ].
].
].
"和"
stdout nextPutAll: '和: '; nextPutAll: (a + b) printString; nl.
"差"
stdout nextPutAll: '差: '; nextPutAll: (a - b) printString; nl.
"積"
stdout nextPutAll: '積: '; nextPutAll: (a * b) printString; nl.
"剰余(余り)"
stdout nextPutAll: '剰余: '; nextPutAll: (a \\ b) printString; nl.
b = 0
ifTrue: [
stdout nextPutAll: 'ゼロで割ろうとしています'; nl.
]
ifFalse: [
"商"
stdout nextPutAll: '商: '; nextPutAll: (a / b) printString; nl.
].
stdout flush.
fCBhIGIgc3Rkb3V0IHN0ZGluIGxpbmVzIHwKc3Rkb3V0IDo9IEZpbGVTdHJlYW0gc3Rkb3V0LgpzdGRpbiA6PSBGaWxlU3RyZWFtIHN0ZGluLgoKYSA6PSBuaWwuCmIgOj0gbmlsLgoKc3RkaW4gbGluZXNEbzogWyA6bGluZSB8CiAgICBsaW5lIGlzRW1wdHkgaWZGYWxzZTogWwogICAgICAgIChhIGlzTmlsKQogICAgICAgICAgICBpZlRydWU6IFsgYSA6PSBsaW5lIGFzTnVtYmVyIF0KICAgICAgICAgICAgaWZGYWxzZTogWyBiIDo9IGxpbmUgYXNOdW1iZXIgXS4KICAgIF0uCl0uCgoi5ZKMIgpzdGRvdXQgbmV4dFB1dEFsbDogJ+WSjDogJzsgbmV4dFB1dEFsbDogKGEgKyBiKSBwcmludFN0cmluZzsgbmwuCiLlt64iCnN0ZG91dCBuZXh0UHV0QWxsOiAn5beuOiAnOyBuZXh0UHV0QWxsOiAoYSAtIGIpIHByaW50U3RyaW5nOyBubC4KIuepjSIKc3Rkb3V0IG5leHRQdXRBbGw6ICfnqY06ICc7IG5leHRQdXRBbGw6IChhICogYikgcHJpbnRTdHJpbmc7IG5sLgoKIuWJsOS9me+8iOS9meOCiu+8iSIKc3Rkb3V0IG5leHRQdXRBbGw6ICflibDkvZk6ICc7IG5leHRQdXRBbGw6IChhIFxcIGIpIHByaW50U3RyaW5nOyBubC4KCmIgPSAwCiAgICBpZlRydWU6IFsKICAgICAgICBzdGRvdXQgbmV4dFB1dEFsbDogJ+OCvOODreOBp+WJsuOCjeOBhuOBqOOBl+OBpuOBhOOBvuOBmSc7IG5sLgogICAgXQogICAgaWZGYWxzZTogWwogICAgICAgICLllYYiCiAgICAgICAgc3Rkb3V0IG5leHRQdXRBbGw6ICfllYY6ICc7IG5leHRQdXRBbGw6IChhIC8gYikgcHJpbnRTdHJpbmc7IG5sLgogICAgXS4KCnN0ZG91dCBmbHVzaC4K