var s: string ;
a, b: integer ;
r: array [ 0 .. 3 ] of integer ;
i: byte ;
begin
for i: = 0 to 3 do
r[ i] : = 0 ;
writeln ( 'Вводите коды команд, окончание вввода 000' ) ;
repeat
repeat
readln ( s) ;
if s= '000' then
begin
writeln ( 'Программа завершена' ) ;
exit;
end ;
val( s, a, b) ;
if ( b<>0 ) or not ( s[ 1 ] in [ '1' .. '4' ] )
or not ( s[ 2 ] in [ '0' .. '3' ] )
or ( ( s[ 1 ] in [ '2' .. '4' ] ) and not ( s[ 3 ] in [ '0' .. '3' ] ) )
then writeln ( 'Код введен неверно, повторите' ) ;
until ( b= 0 ) and ( s[ 1 ] in [ '1' .. '4' ] ) and ( s[ 2 ] in [ '0' .. '3' ] )
or ( ( s[ 1 ] in [ '2' .. '4' ] ) and ( s[ 3 ] in [ '0' .. '3' ] ) ) ;
case s[ 1 ] of
'1' : r[ strtoint( s[ 2 ] ) ] : = strtoint( s[ 3 ] ) ;
'2' : r[ strtoint( s[ 3 ] ) ] : = r[ strtoint( s[ 2 ] ) ] ;
'3' : r[ strtoint( s[ 3 ] ) ] : = r[ strtoint( s[ 3 ] ) ] + r[ strtoint( s[ 2 ] ) ] ;
'4' : r[ strtoint( s[ 3 ] ) ] : = r[ strtoint( s[ 3 ] ) ] - r[ strtoint( s[ 2 ] ) ] ;
end ;
for i: = 0 to 3 do
write ( 'R' , i, '=' , r[ i] , ' ' ) ;
writeln ;
until s= '000' ;
end .
dmFyIHM6c3RyaW5nOwogICAgYSxiOmludGVnZXI7CiAgICByOmFycmF5WzAuLjNdIG9mIGludGVnZXI7CiAgICBpOmJ5dGU7CmJlZ2luCmZvciBpOj0wIHRvIDMgZG8KcltpXTo9MDsKd3JpdGVsbign0JLQstC+0LTQuNGC0LUg0LrQvtC00Ysg0LrQvtC80LDQvdC0LCDQvtC60L7QvdGH0LDQvdC40LUg0LLQstCy0L7QtNCwIDAwMCcpOwpyZXBlYXQKcmVwZWF0CnJlYWRsbihzKTsKaWYgcz0nMDAwJyB0aGVuCiBiZWdpbgogIHdyaXRlbG4oJ9Cf0YDQvtCz0YDQsNC80LzQsCDQt9Cw0LLQtdGA0YjQtdC90LAnKTsKICBleGl0OwogZW5kOwp2YWwocyxhLGIpOwppZihiPD4wKW9yIG5vdChzWzFdIGluIFsnMScuLic0J10pCm9yIG5vdChzWzJdIGluIFsnMCcuLiczJ10pCm9yKChzWzFdIGluIFsnMicuLic0J10pYW5kIG5vdChzWzNdaW4gWycwJy4uJzMnXSkpCnRoZW4gd3JpdGVsbign0JrQvtC0INCy0LLQtdC00LXQvSDQvdC10LLQtdGA0L3Qviwg0L/QvtCy0YLQvtGA0LjRgtC1Jyk7CnVudGlsIChiPTApYW5kKHNbMV0gaW4gWycxJy4uJzQnXSlhbmQoc1syXSBpbiBbJzAnLi4nMyddKQpvcigoc1sxXSBpbiBbJzInLi4nNCddKWFuZCAoc1szXWluIFsnMCcuLiczJ10pKTsKY2FzZSBzWzFdIG9mCicxJzpyW3N0cnRvaW50KHNbMl0pXTo9c3RydG9pbnQoc1szXSk7CicyJzpyW3N0cnRvaW50KHNbM10pXTo9cltzdHJ0b2ludChzWzJdKV07CiczJzpyW3N0cnRvaW50KHNbM10pXTo9cltzdHJ0b2ludChzWzNdKV0rcltzdHJ0b2ludChzWzJdKV07Cic0JzpyW3N0cnRvaW50KHNbM10pXTo9cltzdHJ0b2ludChzWzNdKV0tcltzdHJ0b2ludChzWzJdKV07CmVuZDsKZm9yIGk6PTAgdG8gMyBkbwp3cml0ZSgnUicsaSwnPScscltpXSwnICAnKTsKd3JpdGVsbjsKdW50aWwgcz0nMDAwJzsKZW5kLg==