Why Sorting Fractions Matters in Math and Visual Basic
Sorting fractions in Visual Basic is a valuable skill for junior secondary students who are learning to connect mathematics with coding.
Instead of simply converting fractions into decimals, this tutorial shows you how to compare and arrange fractions step by step
using the LCM method. By the end, you'll know how to write a Visual Basic program to sort fractions in ascending and descending order,
making it easier to solve math problems and strengthen your programming logic.
In this guide, we'll start with the basics of comparing fractions, then move on to a clear Visual Basic code example for sorting fractions.
You'll see how to rationalise fractions, apply the least common multiple (LCM), and use Visual Basic's built-in functions to arrange them correctly.
This approach not only improves your understanding of fractions but also builds confidence in writing simple algorithms.
Whether you're a student practicing for class, a teacher preparing classroom exercises, or a beginner looking for a Visual Basic fractions tutorial,
this lesson is designed to be easy to follow. Let's dive in and learn how to sort fractions step by step with Visual Basic.
Rationalise (Canonise) the Fractions before Sorting | Maths Explanation for Visual Basic Kids
Just like was shown with Adding Fractions in Visual Basic and
Subtractinging Fractions in Visual Basic,
fractional numbers also have to be rationalised before sorting.
This means they are put in a form where their denominators become the same. This identical denominator is the LCM of the
previous denominators of all the separate fractions.
After this is done, the new numerators can easily be sorted in a preferred order.
Step-by-Step Guide to Sorting Fractions in Visual Basic
The following steps will guide us in writing our Visual Basic code for sorting fractions.
Let's illustrate the steps to follow with the example case 5/9,
3/7, 1/2
Step 1:
Using the Find LCM in Visual Basic
class from the Primary Category, find the LCM of the denominators.
⇒ LCM of 9, 7 & 2 = 126
Step 2:
In a turn by turn fashion, divide the found LCM from Step 1
by each denominator, multiplying the quotient by the corresponding numerator.
⇒
((5 x 14), (3 x 18), (1 x 63))/126
= (70, 54, 63)/126
Step 3:
Go ahead and sort the numerators in our order of choice.
⇒ In ascending order:
54/126, 63/126,
70/126
=
3/7, 1/2,
5/9
Create a new VB.Net class file; Project, Add Class.
Call it SortFraction.vb.
Optionally, Create a new VB.Net module file; Project, Add Module.
Call it SortFractionModule.vb.
Type out the adjoining Visual Basic (VB.Net) codes for sorting fractions in ascending and descending orders.
Note: You can instead comment out the VB.Net code in
the main module from the previous lesson or simply continue from where it stopped.
So! Visual Basic Fun Practice Exercise - Sort Fractions
As a fun practice exercise, feel free to try out your own fractions with different numerators and denominators,
and see how the Visual Basic code sorts those fractions.
VB.Net Code for Sorting Fractions - Class File
Public Class SortFraction
Inherits AddFraction
Dim final_numerators() As Integer
Dim final_denominators() As Integer
Dim copy_numerators() As Integer
Dim send_back As New Dictionary(Of String, Integer())
Private Sub takeOff()
ReDim final_numerators(numerators.Count - 1)
ReDim final_denominators(denominators.Count - 1)
ReDim copy_numerators(numerators.Count - 1)
canonizeFraction()
For index = 0 To new_numerators.Count - 1
copy_numerators(index) = new_numerators(index)
Next
End Sub
Private Sub Land()
Dim position As Integer
For index = 0 To copy_numerators.Count - 1
position = Array.IndexOf(new_numerators, copy_numerators(index))
final_numerators(index) = numerators(position)
final_denominators(index) = denominators(position)
Next index
send_back.Add("numerators", final_numerators)
send_back.Add("denominators", final_denominators)
End Sub
Public Function sortAscending() As Dictionary(Of String, Integer())
takeOff()
Array.Sort(copy_numerators)
Land()
Return send_back
End Function
Public Function sortDescending() As Dictionary(Of String, Integer())
takeOff()
Array.Sort(copy_numerators)
Array.Reverse(copy_numerators)
Land()
Return send_back
End Function
End Class
VB.Net Code for Sorting Fractions - Main Module
Module Algebra_SortFraction
Sub Main()
Dim numerators = {9, 3, 5, 7}
Dim denominators = {2, 4, 12, 18}
Dim fractions As New Dictionary(Of String, Integer())
fractions.Add("numerators", numerators)
fractions.Add("denominators", denominators)
Console.WriteLine(" Sorting in ascending order the fractions:" & vbCrLf)
For Each numerator In fractions.Item("numerators")
Console.Write(String.Format("{0,13}", numerator))
Next
Console.Write(Environment.NewLine & String.Format("{0,12}", " "))
For wasted = 0 To numerators.Count - 2
Console.Write(String.Format("{0}", "- , "))
Next
Console.WriteLine(String.Format("{0,1}", "-"))
For Each denominator In fractions.Item("denominators")
Console.Write(String.Format("{0,13}", denominator))
Next
Console.WriteLine("")
Dim sort_fract As New SortFraction
sort_fract._init_(fractions)
fractions = sort_fract.sortAscending()
Console.WriteLine(Environment.NewLine)
For Each numerator In fractions.Item("numerators")
Console.Write(String.Format("{0,13}", numerator))
Next
Console.Write(Environment.NewLine & String.Format("{0,12}", "Answer = "))
For wasted = 0 To numerators.Count - 2
Console.Write(String.Format("{0}", "- , "))
Next
Console.WriteLine(String.Format("{0,1}", "-"))
For Each denominator In fractions.Item("denominators")
Console.Write(String.Format("{0,13}", denominator))
Next
End Sub
End Module