% Robert Kleinman

% North Toronto Collegiate Institute

% 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