## A. Getting started, displaying text

```#!/usr/bin/perl
print "Hello World!\n";
```

## B. Displaying Numbers

```#!/usr/bin/perl

# Begin variable definitions

\$numerator = 4000; # This is the numerator
\$denomenator = 7; # This is the denomenator
\$dec_places=3;

# End variable definitions

print "\$numerator divided by \$denomenator is: \$answer1\n";

\$mod_num = \$numerator * 10**\$dec_places; # Modified Numerator
\$remainder = \$mod_num % \$denomenator;
\$num_div_denom = (\$mod_num - \$remainder); # \$num_div_denom is divisible by denomenator
\$no_dec_places = \$num_div_denom / \$denomenator; # This number has no decimal places

print "\$numerator divided by \$denomenator to 3 decimal places is: \$answer2\n";

# Rounds up if the remainder / denomenator is > 0.5

\$round = \$remainder / \$denomenator;
if (\$round > 0.5) {
\$no_dec_places += 1;
}

print "\$numerator divided by \$denomenator to 3 decimal places, rounded is: \$answer3\n";

print "The number with three leading zeros: ";

if ( \$answer1 >= 0 ) {
print "The number is positive (+): +\$answer\n"; # Answer to part v, first part
}
else {
print "The number is negative (-): \$answer\n"; # Answer to part v, second part
}
```

## C. Functions

The function:

```sub evaluate_delta_and_answer {
my(\$x,\$y,\$z) = @_;
if (\$x != 0) {
\$delta = (\$y**2 - (4 * \$x * \$z));
if (\$delta < 0) {
print "b^2-4ac is less than zero. Both roots undefined.\n\n";
print "Program Terminated. Goodbye, Dave.\n\n"
}
elsif (\$delta == 0) {
\$root = (0 - \$y) /(2 * \$x );
print "b^2-4ac = 0. There will be only one root: " . \$root . "\n\n";
print "Goodbye, Dave.\n\n";
}
elsif (\$delta > 0) {
print "b^2-4ac > 0. There will be two roots.\n\n";
\$root1 = ((0 - \$y) - (\$delta)**(0.5)) / (2 * \$x);
\$root2 = ((0 - \$y) + (\$delta)**(0.5)) / (2 * \$x);
print "The first root, x1 = " . \$root1 . "\n\n";
print "The second root, x2 = " . \$root2 . "\n\n";
print "Goodbye, Dave.\n\n";
}
}
else {
print "a = 0. This is not a quadratic function.\n";
print "Goodbye, Dave.\n";
}
}
```

The rest of the program:

```print "This program takes three numbers (a, b and c) as coefficients\n";
print "of a quadratic equation, calculates its roots, and displays them\n";
print "on the screen for you.\n\n";
print "Please enter the value of a and press <ENTER>: ";
\$a = <STDIN>;
print "\n";
print "Please enter the value of b and press <ENTER>: ";
\$b = <STDIN>;
print "\n";
print "Please enter the value of c and press <ENTER>: ";
\$c = <STDIN>;
print "\n";