procedure ReversePrint(StartIndex, EndIndex: int, Strings : array 1 .. * of string)
% ... your code here using recursion
end ReversePrint
procedure ForwardPrint(StartIndex, EndIndex : int, Strings : array 1 .. * of string)
% ... your code here using some kind of loop
end ForwardPrint
var StringArray : array 1 .. 100 of string
var i : int := 0
var s : string
put "Input String, end with `end' "
loop
get s
exit when s = "end"
i := i + 1
StringArray(i) := s
end loop
ForwardPrint(1,i,StringArray)
put ""
ReversePrint(1,i,StringArray)
put ""
ForwardPrint(1,i div 2, StringArray)
ReversePrint((i div 2) + 1, i,StringArray)
put ""