```         FLORIDA HIGH SCHOOLS COMPUTING COMPETITION '91

1.1  Write a program to clear the screen and display the
following:

COMPUTER CONTEST 1991
O                   9
M                   9
P                   1
U
T                   T
E                   S
R                   E
T
C                   N
O                   O
N                   C
T
E                   R
S                   E
T                   T
U
1                   P
9                   M
9                   O
1991 TSETNOC RETUPMOC

1.2  Write a program to display two random integers and their sum.
Output must be displayed in the form: X  +  Y  =  ZZ, where X and
Y are random integers between -9 and 9 inclusive.  At least one
space must appear between symbols and numbers.  Output examples:

3  + -9 = -6    or    -5 + -2 = -7    or    7  +  8  =  15

1.3  Since 1980, the only high school team to complete all 30
programming problems at the Florida High School Computer Contest
was Coral Springs High School in 1984, finishing with a time of 2
hours and 21 minutes. As a result of finishing 10 one-point
programs, 10 two-point programs, and 10 three-point programs, they
had a maximum team score of 60 points:  (10 x 1 + 10 x 2 + 10 x 3
= 60).  Write a program to determine the team score for a school,
given the team name and the number of 1-point, 2-point, and
3-point programs completed.  Example:

INPUT: Enter team name: CORAL SPRINGS HS
Enter # of 1 point programs: 7
Enter # of 2 point programs: 3
Enter # of 3 point programs: 1

OUTPUT: CORAL SPRINGS HS SCORED 16 POINTS

1.4  Write a program to display the screen format for a
spreadsheet.  The letters A through T are to appear on the first
line, each separated by 1 space.  The numbers 1 through 20 are to
appear on the left most part of the next 20 lines.  (Note: the
letter A starts in the 4th column)  Example:

A B C D E F G H I J K L M N O P Q R S T
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

1.5  Write a program to determine the number of teams
participating in the Florida High School Computer Contest.  The
number of students participating will be given as input.  Assume
that every team has 4 students.  Example:

INPUT: Enter number of students: 168
OUTPUT: 42 TEAMS

1.6  Write a program to accept a word with distinct letters, and
then accept a letter in the word.  The program must then print the
word vertically and horizontally, intersecting at the chosen
letter.  Example:

INPUT: Enter word: COMPUTER
Enter letter: M

OUTPUT:   C
O
COMPUTER
P
U
T
E
R

1.7  A 19 digit account key identifies specific Dealer Floor Plan
information.  Each set of digits represents a particular number,
as follows:
Digits  1 - 3  = Organization number
Digits  4 - 6  = Branch number
Digits  7 - 10 = Dealer number
Digits 11 - 13 = Class number
Digits 14 - 19 = Unit serial number

Write a program to display the five fields followed by the actual
number taken from the digits in an input 19 digit account key.
Example:

INPUT: Enter account key: 0010071234001228334

OUTPUT: ORGANIZATION 001
BRANCH 007
DEALER 1234
CLASS 001
UNIT 228334

1.8  JCL (Job Control Language) allows a programmer to communicate
with a computer operating system.  The operating system maintains
control over what the computer does.  A job is a unit of work that
the computer is to do.  A job stream consists of JCL statements.
The three main JCL statements, necessary to every job, consist of
the following characters: JOB, EXEC, and DD.  The JOB statement
must be the first statement in a job stream, and it identifies the
job to the system.  The EXEC statement identifies the program (or
procedure) to execute.  The DD (data definition) statement
describes the data used by the program.  A JOB STEP consists of an
EXEC statement and its DD statement(s) that follow.  A job may
have any number of job steps.  Write a program to determine the
number of job steps that are in a job stream, given several lines
of partial JCL code (JOB, EXEC, or DD).  The last input line will
be two slashes //, which marks the end of the job stream.
Example:

INPUT: Enter line: JOB
Enter line: EXEC
Enter line: DD
Enter line: EXEC
Enter line: DD
Enter line: DD
Enter line: DD
Enter line: EXEC
Enter line: DD
Enter line: //

OUTPUT: 3 JOB STEPS

1.9  Write a program to accept a one-line sentence and to replace
all occurrences of the word MAN with the word PERSON and to
replace all occurrences of the word MEN with PERSONS.  The words
MAN and MEN may be imbedded in other words.  The output will be
less than 80 characters in length.  Examples:

INPUT: Enter sentence:
MEN AND WOMEN HAVE ENGAGED IN MENTAL MANIPULATIONS.

OUTPUT:
PERSONS AND WOPERSONS HAVE ENGAGED IN PERSONSTAL PERSONIPULATIONS.

1.10  Write a program to determine the winner of two teams
participating in the FLORIDA HIGH SCHOOL COMPUTER CONTEST.  The
team with the most amount of points wins.  In the event of a tie
of points, the team with the lowest overall time is declared the
winner.  The overall time consists of the sum of the completion
time of the last program finished plus 5 minutes for every penalty
point accumulated.  Input will be a team name, then its points,
time (in the form HMM where H is hours and MM is minutes), and
number of penalties.  Examples:

INPUT: Enter team name: TARAVELLA
Enter points, time, penalties: 32, 155, 6
Enter team name: CORAL SPRINGS
Enter points, time, penalties: 32, 212, 1

OUTPUT: CORAL SPRINGS WINS

INPUT: Enter team name: TARAVELLA
Enter points, time, penalties: 33, 155, 6
Enter team name: CORAL SPRINGS
Enter points, time, penalties: 32, 212, 1

OUTPUT: TARAVELLA WINS

2.1  Write a program to produce a pyramid of N numbers where N is
input as 6, 10, 15, 21, 28, 36, or 45.  The format is shown below.
Each single digit number has a leading zero, and each succeeding
row has one more number than the previous row.  Each number is
separated by two spaces.  Example:

INPUT: Enter N: 21

OUTPUT:           01
02  03
04  05  06
07  08  09  10
11  12  13  14  15
16  17  18  19  20  21

2.2  Write a program to accept 5 decimal numbers and to display
them lined up vertically with the decimal point in the same
column.  No more than 4 digits will be input on the right or the
left of the decimal point.  Display 9 dashes under the last number
(4 dashes on the right side of the decimal column and 4 dashes on
the left side).  Display the sum of all 5 numbers under the dashes
with its decimal point lined up with the other decimal points.
Example:

INPUT: Enter #: 1.1234        OUTPUT:    1.1234
Enter #: 3.456                    3.456
Enter #: 123.45                 123.45
Enter #: 23.5                    23.5
Enter #: 678.9166               678.9166
---------
830.4460

2.3  Write a program to convert a partial BASIC program statement
into a proper COBOL statement.  The COBOL statement will be
identical to the BASIC statement except that the relational
symbols will be replaced by words:

>           IS GREATER THAN
<           IS LESS THAN
=           IS EQUAL TO
<= or =<    IS NOT GREATER THAN
>= or =>    IS NOT LESS THAN
<> or ><    IS NOT EQUAL TO

Example:

INPUT: Enter statement: IF A < B OR C >= D

OUTPUT: IF A IS LESS THAN B OR C IS NOT LESS THAN D

2.4  Write a program to rank N teams in a league.  Input will be a
set of team names each followed by the number of wins and losses
on the next line.  Output will be the teams in the order of number
of wins, with its rank in the league appearing to the left of the
name.  Each differing place is separated by 1 blank line.  If more
than 1 team is tied, the teams are displayed in alphabetical order
with no blank lines separating them.  The number of wins is
displayed 16 columns after the column with the team rank.
Example:

INPUT: Enter N: 6
Enter team: STRIKES
Enter wins, losses: 29, 43
Enter team: PAR FOUR
Enter wins, losses: 35, 37
Enter team: WINNERS
Enter wins, losses: 35, 37
Enter team: RUNNERS
Enter wins, losses: 35, 37
Enter team: FORCE
Enter wins, losses: 29, 43
Enter team: HIGH ROLLERS
Enter wins, losses: 42, 30

OUTPUT: 1 HIGH ROLLERS  42 , 30

2 PAR FOUR      35 , 37
2 RUNNERS       35 , 37
2 WINNERS       35 , 37

5 FORCE         29 , 43
5 STRIKES       29 , 43

2.5  Write a program to ALWAYS guess a user's secret number within
7 guesses, where the number is be between 1 and 127 inclusive.
The user will respond either H--Higher, L--Lower, or R--Right on.
Have the program display guesses of this form:  GUESS X: YYY,
where X is the guess # (1 - 7), and YYY is the number guessed.
Example:

OUTPUT: GUESS 1: 64
INPUT: Enter H, L, or R: L
OUTPUT: GUESS 2: 32
INPUT: Enter H, L, or R: H
OUTPUT: GUESS 3: 48
INPUT: Enter H, L, or R: L
OUTPUT: GUESS 4: 40
INPUT: Enter H, L, or R: H
OUTPUT: GUESS 5: 44
INPUT: Enter H, L, or R: L
OUTPUT: GUESS 6: 42
INPUT: Enter H, L, or R: H
OUTPUT: GUESS 5: 43
INPUT: Enter H, L, or R: R
OUTPUT: (program terminates)

2.6  Write a program to display text in pyramid form.  The first
word is displayed centered on the top, with respect to column 20
of your screen.  Each succeeding line contains the least amount of
words that causes it to exceed the previous line by at least 2
characters.  Each line is then centered with respect to column 20.
If a line contains an even amount of characters, then center the
line in such a way that one extra character appears on the left
half of column 20 as opposed to the right half.  The last
remaining line is to be centered with respect to column 20
regardless of its length.  All words are separated by 1 space.  No
more than 127 characters will be entered.  Example:

INPUT: Enter text: WRITE A PROGRAM TO DISPLAY TEXT IN PYRAMID
FORM. THE FIRST WORD IS DISPLAYED CENTERED ON THE TOP.

OUTPUT:                  WRITE
A PROGRAM
TO DISPLAY TEXT
IN PYRAMID FORM. THE
FIRST WORD IS DISPLAYED
CENTERED ON THE TOP.

2.7  Write a program to display a rectangle of asterisks centered
on the screen.  The length and width are input.  Example:

INPUT: Enter length, width: 7, 5

OUTPUT: (the following rectangle is centered on the screen)
*******
*     *
*     *
*     *
*******

2.8  Write a program to display a bar graph for the lengths of the
computer contests from 1980-1991.  The title of the graph is input
and then displayed indented 4 characters on the first line.
Twelve numbers (less than 32768) are input corresponding to the
length of contests 1980, 1981, ... 1991.  Output will be a bar
graph with a maximum of 20 vertical asterisks appearing for the
year with the largest number.  Each vertical asterisk represents
the value of the maximum length divided by 20.  This increment
value for each asterisk is displayed on the first line after the
title.  Three spaces separate the title and the phrase "ASTERISK =
####.##".  The amount of asterisks for the other years is
determined by dividing the length by the increment value and
truncating the result.  Example:

INPUT: Enter title: BASIC PROGRAMS
Enter # for 1980: 5475
Enter # for 1981: 5640
Enter # for 1982: 13848
Enter # for 1983: 10346
Enter # for 1984: 10932
Enter # for 1985: 18478
Enter # for 1986: 20093
Enter # for 1987: 19034
Enter # for 1988: 19140
Enter # for 1989: 20840
Enter # for 1990: 19459
Enter # for 1991: 17014

OUTPUT:    BASIC PROGRAMS   ASTERISK = 1042.00
20                             *
19                    *        *
18                    *  *  *  *  *
17                 *  *  *  *  *  *
16                 *  *  *  *  *  *  *
15                 *  *  *  *  *  *  *
14                 *  *  *  *  *  *  *
13        *        *  *  *  *  *  *  *
12        *        *  *  *  *  *  *  *
11        *        *  *  *  *  *  *  *
10        *     *  *  *  *  *  *  *  *
9        *  *  *  *  *  *  *  *  *  *
8        *  *  *  *  *  *  *  *  *  *
7        *  *  *  *  *  *  *  *  *  *
6        *  *  *  *  *  *  *  *  *  *
5  *  *  *  *  *  *  *  *  *  *  *  *
4  *  *  *  *  *  *  *  *  *  *  *  *
3  *  *  *  *  *  *  *  *  *  *  *  *
2  *  *  *  *  *  *  *  *  *  *  *  *
1  *  *  *  *  *  *  *  *  *  *  *  *
--------------------------------------
80 81 82 83 84 85 86 87 88 89 90 91

2.9  Write a program to produce a file maintenance list for a
store.  Each day customers come into the store to either purchase,
exchange, or return an item.  The store assigns to each customer a
unique customer ID, consisting of 2 letters followed by 2 digits.
If the customer purchases an item, then the customer ID and the
item name (A,B,...Y, or Z) is entered in the file.  The file is
duplicated each night.  Customers may exchange or return an item
on the next day.  If a customer exchanges an item, the item name
is changed in the file corresponding to the customer.  If a
customer returns an item, his record entry is deleted from the
file.  Both files are sorted alpha-numerically according to the
ID.  Given the contents of yesterday's file and the contents of
today's file, display the records that were added, changed, and
Display the records in order of ID within each section.  Each
record is to be displayed with a space between the ID and the
item.  If the record was changed, display the old contents
followed by a space and the new contents.  Each section is to be
separated by a blank line.   Display the total number of each
function at the end.  Example:

INPUT: Enter # of entries in yesterday's file: 4
Enter ID: AB12
Enter item: C
Enter ID: CH39
Enter item: R
Enter ID: CH40
Enter item: D
Enter ID: CR11
Enter item: A

INPUT: Enter # of entries in today's file: 3
Enter ID: AB12
Enter item: C
Enter ID: CH40
Enter item: T
Enter ID: CR13
Enter item: A

CR13 A

CHANGED
CH40 D T

DELETED
CH39 R
CR11 A

TOTAL CHANGED = 1
TOTAL DELETED = 2

2.10  Write a program to display the contents of one of Doug
Woolley's computer diskettes for the Florida High School Computer
Contest, given the year of the contest.  The contests from
1983-1991 have had 10 1-point problems, 10 2-point problems, and
10 3-point problems.  In 1980, there were 10 1's, 10 2's, and 12
3's.  In 1981, there were 5 1's, 5 2's, and 5 3's.  In 1982, there
were 10 1's, 12 2's, and 8 3's.  Each year has its own disk.  For
each year, there is one BASIC program for each problem and one
Pascal program for each problem.  The names are of the form:

XXX#TYY.ZZZ

where XXX is ONE, TWO or THR; # is a problem number (1 through 5,
8, 10, or 12 depending on the year); T is T for test; YY is year
of contest (80 through 91); ZZZ is BAS or PAS for BASIC or Pascal.
In addition, each diskette has 12 files of the form:

FHSYY-#.ZZZ

where FHS signifies Florida High School, YY is the year (80
through 91); # is the problem number (1, 2, or 3); ZZZ is the
extension (PRB, JDG, PG1, or PG2), representing a compilation of
problems, judging criteria, BASIC programs, and Pascal programs
respectively.  Given a year as input, display 20 files at a time,
waiting for a key press before displaying the next 20.  The files
are to be grouped primarily by their extension in the following
order: PRB, JDG, PG1, PG2, BAS, PAS.  The files are then grouped
secondarily within some of these sub-groups by prefix order: ONE,
TWO, THR.  Every sub-group is arranged in order of problem
numbers.  Example:

INPUT: Enter year: 1991

OUTPUT: FHS91-1.PRB
FHS91-2.PRB
FHS91-3.PRB
FHS91-1.JDG
FHS91-2.JDG
FHS91-3.JDG
FHS91-1.PG1
FHS91-2.PG1
FHS91-3.PG1
FHS91-1.PG2
FHS91-2.PG2
FHS91-3.PG2
ONE1T91.BAS
ONE2T91.BAS
ONE3T91.BAS
ONE4T91.BAS
ONE5T91.BAS
ONE6T91.BAS
ONE7T91.BAS
ONE8T91.BAS
INPUT: (press any key)
OUTPUT: (continued on next page)
OUTPUT: ONE9T91.BAS
ONE10T91.BAS
TWO1T91.BAS
TWO2T91.BAS
TWO3T91.BAS
TWO4T91.BAS
TWO5T91.BAS
TWO6T91.BAS
TWO7T91.BAS
TWO8T91.BAS
TWO9T91.BAS
TWO10T91.BAS
THR1T91.BAS
THR2T91.BAS
THR3T91.BAS
THR4T91.BAS
THR5T91.BAS
THR6T91.BAS
THR7T91.BAS
THR8T91.BAS
INPUT: (press any key)
OUTPUT: THR9T91.BAS
THR10T91.BAS
ONE1T91.PAS
ONE2T91.PAS
ONE3T91.PAS
ONE4T91.PAS
ONE5T91.PAS
ONE6T91.PAS
ONE7T91.PAS
ONE8T91.PAS
ONE9T91.PAS
ONE10T91.PAS
TWO1T91.PAS
TWO2T91.PAS
TWO3T91.PAS
TWO4T91.PAS
TWO5T91.PAS
TWO6T91.PAS
TWO7T91.PAS
TWO8T91.PAS
INPUT: (press any key)
OUTPUT: TWO9T91.PAS
TWO10T91.PAS
THR1T91.PAS
THR2T91.PAS
THR3T91.PAS
THR4T91.PAS
THR5T91.PAS
THR6T91.PAS
THR7T91.PAS
THR8T91.PAS
THR9T91.PAS
THR10T91.PAS

3.1  Write a program to simulate a baseball game of 9 innings.
The standard baseball rules apply, but the bottom of the 9th
inning is always played.  Pitchers randomly throw strikes 40% of
the time and the batters never swing at the ball.  If 4 balls are
thrown before 3 strikes are thrown, the batter walks to first
base.  When 4 batters from one team walk in one inning, 1 run is
earned.  Each batter that walks thereafter in the same inning
earns a run for the team.  3 strikes make 1 out, and after 3 outs
the next team bats.  Because the program is random, executions
will differ slightly.  Examples:

1  2  3  4  5  6  7  8  9  SCORE
---------------------------------
TEAM A ! 0  0  0  3  0  3  0  0  0 !   6
TEAM B ! 1  0  0  2  0  0  0  2  0 !   5

TOTAL # OF STRIKES: 235
TOTAL # OF BALLS: 343
TOTAL # OF WALKS: 77
TOTAL # OF STRIKE OUTS: 54

1  2  3  4  5  6  7  8  9  SCORE
---------------------------------
TEAM A ! 0  1  0  0  1  1  0  0  0 !   3
TEAM B ! 0  0  2  0  0  2  2  0  3 !   9

TOTAL # OF STRIKES: 251
TOTAL # OF BALLS: 385
TOTAL # OF WALKS: 88
TOTAL # OF STRIKE OUTS: 54

3.2  Write a program to display the units digit of the following
expression:
A ^ X  +  B ^ Y  +  C ^ Z

where A, B, C are input as numbers between 1 and 15 inclusive, and
X, Y, Z are input as numbers between 100 and 999 inclusive.
The symbol ^ means "raised to the power of".  Examples:

INPUT: Enter A, X: 3, 997         INPUT: Enter A, X: 5, 103
Enter B, Y: 7, 998                Enter B, Y: 4, 102
Enter C, Z: 13, 999               Enter C, Z: 3, 101

OUTPUT: 9                         OUTPUT: 4

3.3  Write a program to display all the digits of the result of X
raised to the Y power, where X and Y are positive integers less
than 100.  The result will not exceed 200 digits, but it may wrap
around the screen.  Examples:

INPUT: Enter X, Y: 2, 99
OUTPUT: 633825300114114700748351602688

INPUT: Enter X, Y: 45, 67
OUTPUT: 582422873843435732243403365900823690091753194215381
550018222590908115610802697759140755806583911180496
2158203125

3.4  Write a program to assign user LOGON ID's to several people
Input will be several lines of full names (entered one line at a
time) and followed by a line with the word END to indicate the end
of input.  Each input line will be of the format:

(first name)(1 space)(middle name or initial or nothing)
(1 space)(last name)

If no middle name or initial is entered then only 1 space
separates the first and last names.  Output will consist of each
full name followed by his/her LOGON ID.  All IDs are to be lined
up vertically, starting 19 columns after the first character in
the name.  The LOGON ID is generally of the form:

SD(3 initials of first, middle, last name)1

There are two exceptions.  If no middle initial or name is
entered, then the letter X is used as the middle initial.  If more
than one person has the same initials then the common names are
sorted alphabetically by last name then first name.  The first
sorted name is assigned a middle initial of 1; the next name
alphabetically is assigned a middle initial of 2; and so on.
Example:

INPUT: Enter name: DOUG E WOOLLEY
Enter name: DAVE E WEAVER
Enter name: ALICE DOCK
Enter name: ANNE VINCENT
Enter name: AL DATSON
Enter name: DON ENGLAND CHANG
Enter name: END

OUTPUT: DOUG E WOOLLEY     SDD2W1
DAVE E WEAVER      SDD1W1
ALICE DOCK         SDA2D1
ANNE VINCENT       SDAXV1
AL DATSON          SDA1D1
DON ENGLAND CHANG  SDDEC1

3.5  Write a program to display the numbers 0 through 9, one at a
time in enlarged block format (15 characters high by 11 characters
wide).  Each number must be displayed for approximately 1 second
before clearing the screen and displaying the next number.  The
following are examples of the numbers:

***********     *               ***********     ***********
*         *     *                         *               *
*         *     *                         *               *
*         *     *                         *               *
*         *     *                         *               *
*         *     *                         *               *
*         *     *                         *               *
*         *     *               ***********     ***********
*         *     *               *                         *
*         *     *               *                         *
*         *     *               *                         *
*         *     *               *                         *
*         *     *               *                         *
*         *     *               *                         *
***********     *               ***********     ***********

*         *     ***********     ***********     ***********
*         *     *               *                         *
*         *     *               *                         *
*         *     *               *                         *
*         *     *               *                         *
*         *     *               *                         *
*         *     *               *                         *
***********     ***********     ***********               *
*               *     *         *               *
*               *     *         *               *
*               *     *         *               *
*               *     *         *               *
*               *     *         *               *
*               *     *         *               *
*     ***********     ***********               *

***********     ***********
*         *     *         *
*         *     *         *
*         *     *         *
*         *     *         *
*         *     *         *
*         *     *         *
***********     ***********
*         *               *
*         *               *
*         *               *
*         *               *
*         *               *
*         *               *
***********               *

3.6  Write a program to evaluate an arithmetic expression using
positive integers less than 10 and the symbols + and -.  Several
pairs of parenthesis may also be used.  Examples:

INPUT: Enter expression: (8+4)-(8-(6+1))

OUTPUT: 11

INPUT: Enter expression: 7-9+(1-(6+2))-5+9

OUTPUT: -5

INPUT: Enter expression: ((1+(1+2-3+4)-2+5)-3)

OUTPUT: 5

3.7  Write a program to determine the 2 dates that an employee is
paid in a given month in 1991.  Normally an employee is paid on
the 15th and the last day of the month except if this date falls
on a weekend or on a holiday.  In such a case, the pay day is the
first working day proceeding the normally expected pay day.
Employees work Monday through Friday except on holidays.  The
program must first accept all the holidays for that year, input as
MM, DD.  After entering 0,0 to terminate holiday entries, the
program accepts the month number for the pay days desired.  Output
must be the 2 pay days in that month in the form: day of week;
month name; day.  The program is to continue accepting month
numbers and displaying pay days until 0 is entered for the month
number.  January 1, 1991 was a Tuesday.  Example:

INPUT: Enter holiday MM, DD: 1, 1
Enter holiday MM, DD: 1, 21
Enter holiday MM, DD: 2, 28
Enter holiday MM, DD: 3, 29
Enter holiday MM, DD: 0, 0

INPUT: Enter month #: 1

OUTPUT: TUESDAY JANUARY 15
THURSDAY JANUARY 31

INPUT: Enter month #: 3

OUTPUT: FRIDAY MARCH 15
THURSDAY MARCH 28

INPUT: Enter month #: 0

OUTPUT: (program terminates)

3.8  Write a program to display all 3 x 3 magic squares
(consisting of the digits 1 - 9) that contain a given digit in a
designated position.

6  7  2      is a 3 x 3 magic square where the sum of
1  5  9      all the elements in each row, column, and
8  3  4      diagonal equal the same number, 15.

In this example, the digit 7 is in row 1, column 2, designated as
(1,2).  Given one digit as input (not 5) and the row and column
this digit must appear, display all 3 x 3 magic squares that have
that digit in the designated position.  If no magic squares can be
formed then display "NO SOLUTION".  Hint: If a solution is
possible, there will be two magic squares, each of which can be
formed by rotating the outer numbers of a valid magic square and
by interchanging the elements on each side of the 2nd row, 2nd
column, or a diagonal (depending on the row and column of the
number designated).  The two magic squares may appear in either
order.  Examples:

INPUT: Enter digit: 9            INPUT: Enter digit: 4
Enter row, col: 1, 2             Enter row, col: 3, 3

OUTPUT: 2  9  4                  OUTPUT: 6  7  2
7  5  3                          1  5  9
6  1  8                          8  3  4

4  9  2                          6  1  8
3  5  7                          7  5  3
8  1  6                          2  9  4

INPUT: Enter digit: 4
Enter row, col: 1, 2

OUTPUT: NO SOLUTION

3.9  Write a program to display a pie graph on the screen using
asterisks and the letters A, D, and N.

Input will be 3 percentages to divide the circle corresponding to
3 options on a survey: Agree, Disagree, or Neutral.

Output will be a circle of radius 10 characters.  The circle is
then partitioned by 3 line segments of asterisks stemming from the
center.  The first percentage entered (those that Agree) is
represented by a proportional region of the circle enclosed by two
segments: One segment is drawn from the center to the top of the
circle, and another segment is drawn from the center to a point on
the perimeter, enclosing a clock-wise region.  Another segment is
drawn from the center to the perimeter so that the next area
clock-wise represents the percentage that disagrees.  The third
region clock-wise represents the percentage that are neutral.
After the user presses a key, the 3 regions are filled with either
A's, D's, or N's, corresponding to its region.  Although your
output should look very similar to the judging criteria, minor
variations will be accepted.  After pressing a key to fill the
regions, all regions must be at least 90% filled.  No letters may
replace any of the asterisks.  Example:

INPUT: Enter 3 percentages: 64, 11, 25

OUTPUT:        *******          OUTPUT:        *******
**   *   **                     **NNN*AAA**
*     *     *                   *NNNNN*AAAAA*
*      *      *                 *NNNNNN*AAAAAA*
*       *       *               *NNNNNNN*AAAAAAA*
*        *        *             *NNNNNNNN*AAAAAAAA*
*        *        *             *NNNNNNNN*AAAAAAAA*
*         *         *           *NNNNNNNNN*AAAAAAAAA*
*         *         *           *NNNNNNNNN*AAAAAAAAA*
*         *         *           *NNNNNNNNN*AAAAAAAAA*
***********         *           ***********AAAAAAAAA*
*       **          *           *DDDDDDD**AAAAAAAAAA*
*      *            *           *DDDDDD*AAAAAAAAAAAA*
*    **             *           *DDDD**AAAAAAAAAAAAA*
*  *               *            *DD*AAAAAAAAAAAAAA*
*  *              *             *DD*AAAAAAAAAAAAAA*
**              *               **AAAAAAAAAAAAAA*
**            *                  **AAAAAAAAAAAA*
*           *                    *AAAAAAAAAAA*
**       **                      **AAAAAAA**
*******                          *******

INPUT: (press any key)

3.10  Write a program to convert a base M numeral into a base N
numeral where M and N are entered as 2, 4, 8, or 16.  Both
numerals may have as many as 64 digits.  Output must not contain

INPUT: Enter numeral: 123456789ABCDEF0123456789ABCDEF0
Enter base M: 16
Enter base N: 4

OUTPUT:
102031011121320212223303132330001020310111213202122233031323300

INPUT: Enter numeral:
12345670123456701234567012345670123456701
Enter base M: 8
Enter base N: 16

OUTPUT: 14E5DC14E5DC14E5DC14E5DC14E5DC1

```