Design of crypto solution.
input::=#pair, pair::=digit digit.
output::=#line, line::=#(group SP), group::=#digit.
Since the output is divided into groups of 5 characters and
the input is divided into pairs,
and 2 does not divide into 5,
THEN
this problem is best treated as two parallel but connected problems.
One proble is to encrypot the paired digits, and the other is
to group the encrypted digits into 5s.
Like this:
input->(p1)->(p2)->output
where p1 takes the input and incrypts using the 'pf' function,
and p2 takes its input and lays it out in groups and lines.
The design of p1 and p2 is then very easy. Code in C
for the solution as two programs is in p1.c and p2.c.
There are many implementation options:
Batch file + intermediate file (DOS like) ->sequence
Pipe -> pipe
Ada tasks+rendezvous -> crypto.ada
C using pipe and fork -> cryptop.c
C using restartable code ->crypto.c.