What is Fraction Reduction to Lowest Term? | Maths Explanation for Perl Kids
Reducing fractions to their lowest terms is all about
removing every common factor between the numerator and
the denominator.
In this junior secondary Perl tutorial, you'll learn how to simplify fractions using a custom module.
The Perl code provided helps reduce fractions to their lowest terms by finding common factors between the numerator and denominator.
Whether you're a student or teacher, this math-focused Perl project makes fraction simplification easy and fun.
How the Reduce Fraction to Lowest Term Method Works | Detailed Explanation for Perl Kids
Let's see a Perl algorithm implementation to reduce a fraction to it's lowest term, using 12/16 as an example fraction.
A common factor to 12 and 16 is 2;
so removing 2 from 12/16 yields
6/8.
Again, 2 is common to both 6 and 8;
removing it yields 3/4.
We stop when nothing else is common (1 does not count).
Create a new Perl module file;
call it LowestTerm.pm.
Type out the adjoining Perl code for reducing fractions to their lowest terms.
Note: You can comment out the ImproperToMixed Perl object
code in the main class from the previous lesson or simply continue from where it stopped.
So! Perl Fun Practice Exercise - Reduce Fraction to Lowest Term
As a fun practice exercise, feel free to try out your own fractions with different numerators and denominators,
and see how the Perl code simplifies those fractions.
Perl Code for Reducing Fractions to Lowest Term - Module File
package LOWESTTERM;
BEGIN {
require Exporter;
our $VERSION = 2016.12;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(reduceFraction);
}
use warnings;
use strict;
my ($numerator, $denominator, $trial_factor);
sub new {
my $this = shift;
my $parameters = {@_};
bless $parameters, $this;
$this->_init(@_);
return $this;
}
sub _init {
my $self = shift;
($numerator, $denominator) = @_;
$trial_factor = $numerator < $denominator ? $numerator : $denominator;
}
sub reduceFraction {
while ($trial_factor > 1) {
if (($numerator % $trial_factor) == 0) {
if (($denominator % $trial_factor) == 0) {
$numerator /= $trial_factor;
$denominator /= $trial_factor;
next;
}
}
$trial_factor--;
}
return {numerator => $numerator, denominator => $denominator};
}
1;
Perl Code for Reducing Fractions to Lowest Term - Main Class
use strict;
use warnings;
use LOWESTTERM;
my ($numerator, $denominator, $whole_number, $solution);
my (@numerators, @denominators, @solutions);
my (%fraction, %fractions);
$numerator = 16;
$denominator = 640;
print "\n To reduce to lowest term, simplifying:\n";
printf("%45u\n", $numerator);
printf("%45s\n", "-");
printf("%45u\n", $denominator);
my $low_term = LOWESTTERM->new($numerator, $denominator);
%fraction = %{$low_term->reduceFraction()};
printf("\n%46u\n", $fraction{numerator});
printf("%46s\n", "Answer = -");
printf("%46u\n", $fraction{denominator});
print "\n\n";