Write the Flowchart , and JavaScript code for the following programming problem
ID: 3769092 • Letter: W
Question
Write the Flowchart, and JavaScript code for the following programming problem based on the pseudocode below.
Last year, a local college implemented rooftop gardens as a way to promote energy efficiency and save money. Write a program that will allow the user to enter the energy bills from January to December for the year prior to going green. Next, allow the user to enter the energy bills from January to December of the past year after going green. The program should calculate the energy difference from the two years and display the two years worth of data, along with the savings.
Hints: Create three arrays of size 12 each. The first array will store the first year of energy costs, the second array will store the second year after going green, and the third array will store the difference. Also, create a string array that stores the month names. These variables might be defined as follows:
notGreenCost = [];
goneGreenCost = [];
savings = [];
You will also need an array to hold the month names:
months = [“January”, “February”, “March “, “April “, “May “, “June “, “July “, “August”, “September”, “October”, “November”, “December”];
The extra spaces in March – June help in lining up the output shown below.
The Pseudocode
Module main()
//Declare local variables
Declare endProgram = “no”
While endProgram == “no”
Declare Real notGreenCost[12]
Declare Real goneGreenCost[12]
Declare Real savings[12]
Declare String months[12] = “January”, “February”, “March”, “April”, “May”, “June”, “July”, “August”, “September”, “October”, “November”, “December”
//function calls
getNotGreen(notGreenCost, months)
getGoneGreen(goneGreenCost, months)
energySaved(notGreenCost, goneGreenCosts, savings)
displayInfo(notGreenCost, goneGreenCosts, savings, months)
Display “Do you want to end the program? Yes or no”
Input endProgram
End While
End Module
Module getNotGreen(Real notGreenCost[], String months[])
Set counter = 0
While counter < 12
Display “Enter NOT GREEN energy costs for”, months[counter]
Input notGreenCosts[counter]
Set counter = counter + 1
End While
End Module
Module getGoneGreen(Real goneGreenCost[], String months[])
Set counter = 0
While counter < 12
Display “Enter GONE GREEN energy costs for”, months[counter]
Input goneGreenCosts[counter]
Set counter = counter + 1
End While
End Module
Module energySaved(Real notGreenCost[], Real goneGreenCost[], Real savings[])
Set counter = 0
While counter < 12
Set savings[counter] = notGreenCost[counter] – goneGreenCost[counter]
Set counter = counter + 1
End While
End Module
Module displayInfo(Real notGreenCost[], Real goneGreenCost[], Real savings[], String months[])
Set counter = 0
While counter < 12
Display “Information for”, months[counter]
Display “Savings $”, savings[counter]
Display “Not Green Costs $”, notGreenCost[counter]
Display “Gone Green Costs $”, goneGreenCost[counter]
End While
End Module
Please Create the JavaScript code and a Flowchart. (No -Java- libraries!)
Explanation / Answer
Module main()
//Declare local variables
Declare endProgram = “no”
Declare Real notGreenCost[12]
Declare Real goneGreenCost[12]
Declare Real savings[12]
Declare String months[12] = “January”, “February”, “March”, “April”, “May”, “June”, “July”, “August”, “September”, “October”, “November”, “December”
Declare Integer option = 0
While endProgram == “no”
//function calls
If option == 1 Then
getNotGreen(notGreenCost, months)
getGoneGreen(goneGreenCost, months)
energySaved(notGreenCost, goneGreenCosts, savings)
Else If option == 2 Then
displayInfo(notGreenCost, goneGreenCosts, savings, months)
Else If option == 3 Then
writeToFile(months, savings)
Else If option == 4 Then
readFromFile(months, savings)
End If
Display “Do you want to end the program? Yes or no”
Input endProgram
End While
End Module
Module writeToFile(String months[], Real savings[])
Declare outFile AppendMode savingsFile
Open savingsFile “savings1.txt”
Write savingsFile “Savings”
Declare Integer counter = 0
While counter < 12
Write savingsFile months[counter]
Write savingsFile savings[counter]
Set counter = counter + 1
End While
Close savingsFile
End Module
Module readFromFile(String months[], Real savings[])
Declare inFile savingsFile
Open inFile “savings1.txt”
Read savingsFile str1
Display str1
Read savingsFile months
Display months
Read savingsFile savings
Display savings
Close inFile
End Module
Module getNotGreen(Real notGreenCost[], String months[])
Set counter = 0
While counter < 12
Display “Enter NOT GREEN energy costs for”, months[counter]
Input notGreenCosts[counter]
Set counter = counter + 1
End While
End Module
Module getGoneGreen(Real goneGreenCost[], String months[])
Set counter = 0
While counter < 12
Display “Enter GONE GREEN energy costs for”, months[counter]
Input goneGreenCosts[counter]
Set counter = counter + 1
End While
End Module
Module energySaved(Real notGreenCost[], Real goneGreenCost[], Real savings[])
Set counter = 0
While counter < 12
Set savings[counter] = notGreenCost[counter] – goneGreenCost[counter]
Set counter = counter + 1
End While
End Module
Module displayInfo(Real notGreenCost[], Real goneGreenCost[], Real savings[], String months[])
Set counter = 0
While counter < 12
Display “Information for”, months[counter]
Display “Savings $”, savings[counter]
Display “Not Green Costs $”, notGreenCost[counter]
Display “Gone Green Costs $”, goneGreenCost[counter]
End While
End Module
The Pseudocode:
Module main()
//Declare local variables
Declare endProgram = “no”
Declare Real notGreenCost[12]
Declare Real goneGreenCost[12]
Declare Real savings[12]
Declare String months[12] = “January”, “February”, “March”, “April”, “May”, “June”, “July”, “August”, “September”, “October”, “November”, “December”
Declare Integer option = 0
While endProgram == “no”
//function calls
If option == 1 Then
getNotGreen(notGreenCost, months)
getGoneGreen(goneGreenCost, months)
energySaved(notGreenCost, goneGreenCosts, savings)
Else If option == 2 Then
displayInfo(notGreenCost, goneGreenCosts, savings, months)
Else If option == 3 Then
writeToFile(months, savings)
Else If option == 4 Then
readFromFile(months, savings)
End If
Display “Do you want to end the program? Yes or no”
Input endProgram
End While
End Module
Module writeToFile(String months[], Real savings[])
Declare outFile AppendMode savingsFile
Open savingsFile “savings1.txt”
Write savingsFile “Savings”
Declare Integer counter = 0
While counter < 12
Write savingsFile months[counter]
Write savingsFile savings[counter]
Set counter = counter + 1
End While
Close savingsFile
End Module
Module readFromFile(String months[], Real savings[])
Declare inFile savingsFile
Open inFile “savings1.txt”
Read savingsFile str1
Display str1
Read savingsFile months
Display months
Read savingsFile savings
Display savings
Close inFile
End Module
Module getNotGreen(Real notGreenCost[], String months[])
Set counter = 0
While counter < 12
Display “Enter NOT GREEN energy costs for”, months[counter]
Input notGreenCosts[counter]
Set counter = counter + 1
End While
End Module
Module getGoneGreen(Real goneGreenCost[], String months[])
Set counter = 0
While counter < 12
Display “Enter GONE GREEN energy costs for”, months[counter]
Input goneGreenCosts[counter]
Set counter = counter + 1
End While
End Module
Module energySaved(Real notGreenCost[], Real goneGreenCost[], Real savings[])
Set counter = 0
While counter < 12
Set savings[counter] = notGreenCost[counter] – goneGreenCost[counter]
Set counter = counter + 1
End While
End Module
Module displayInfo(Real notGreenCost[], Real goneGreenCost[], Real savings[], String months[])
Set counter = 0
While counter < 12
Display “Information for”, months[counter]
Display “Savings $”, savings[counter]
Display “Not Green Costs $”, notGreenCost[counter]
Display “Gone Green Costs $”, goneGreenCost[counter]
End While
End Module
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.