% Robert Kleinman
%
% Intermediate 5
var aColour2 : char
var NumberOfMarbles
: int
var RedMarbles
: int
var BlueMarbles
: int
var Colour,
x : char
var yesno
: char
procedure Case1
if Colour = 'R' then
put RedMarbles, "/", (BlueMarbles
+ RedMarbles)
end if
if Colour = 'B' then
put BlueMarbles, "/", (BlueMarbles
+ RedMarbles)
end if
end Case1
function Case2 : int
if Colour = 'R' then
if aColour2
= 'R' then
result RedMarbles
** 2
else
result RedMarbles
* BlueMarbles
end if
elsif aColour2 = 'R' then
result RedMarbles * BlueMarbles
else
result BlueMarbles * BlueMarbles
end if
end Case2
function Case3 : int
if Colour = 'R' then
if aColour2
= 'R' then
result RedMarbles
* (RedMarbles - 1)
else
result RedMarbles
* BlueMarbles
end if
elsif aColour2 = 'R' then
result RedMarbles * BlueMarbles
else
result BlueMarbles * (BlueMarbles - 1)
end if
end Case3
put "Enter input lines with each value seperated by one space. Example: 2 8 2 N R R"
for i : 1 .. 5
get NumberOfMarbles
if NumberOfMarbles = 1 then
get RedMarbles, BlueMarbles, Colour
if Colour = 'r' then
Colour := 'B'
elsif Colour = 'b' then
Colour := 'R'
end if
Case1
else
get RedMarbles, BlueMarbles, yesno, x, Colour, x, aColour2
if Colour = 'r' then
Colour := 'B'
elsif Colour = 'b' then
Colour := 'R'
end if
if aColour2
= 'r' then
aColour2 := 'B'
elsif aColour2 = 'b' then
aColour2 := 'R'
end if
if yesno = 'Y' then
put Case2, "/", (RedMarbles + BlueMarbles) ** 2
else
put Case3, "/", ((RedMarbles + BlueMarbles) ** 2 -
(RedMarbles + BlueMarbles))
end if
end if
end for