< Applied Programming < Functions
functions.js
/** This program converts a Fahrenheit temperature to Celsius.
*
* Input:
* Fahrenheit temperature
*
* Output:
* Fahrenheit temperature
* Celsius temperature
*
* Example:
* Enter Fahrenheit temperature: 100
* 100° Fahrenheit is 37.77777777777778° Celsius
* References:
* http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html
* http://www.mathsisfun.com/temperature-conversion.html
*/
main();
/** main runs the main program logic. */
function main() {
fahrenheit = getFahrenheit();
celsius = fahrenheitToCelsius(fahrenheit);
displayResults(fahrenheit, celsius);
}
/**
* getFahrenheit gets Fahrenheit temperature.
* @return {number} Fahrenheit temperature
*/
function getFahrenheit() {
var fahrenheit = input("Enter Fahrenheit temperature:");
return fahrenheit;
}
/**
* fahrenheitToCelsius converts Fahrenheit temperature to Celsius.
* @param {number} fahrenheit: Fahrenheit temperature to be converted
* @return {number}: Celsius temperature
*/
function fahrenheitToCelsius(fahrenheit) {
const TEMPERATURE_DIFFERENCE = 32;
const TEMPERATURE_RATIO = 5 / 9;
celsius = (fahrenheit - TEMPERATURE_DIFFERENCE) * TEMPERATURE_RATIO;
return celsius;
}
/**
* displayResults Displays Fahrenheit and Celsius temperatures.
* @param {number} fahrenheit: Fahrenheit temperature
* @param {number} celsius: Celsius temperature
*/
function displayResults(fahrenheit, celsius) {
output(fahrenheit + "° Fahrenheit is " + celsius + "° Celsius");
}
/**
* input gets input from the user based on JavaScript environment.
* @param {string} text: text prompt
* @result {string}: input text
*/
function input(text) {
if (typeof window === 'object') {
return prompt(text)
}
else if (typeof console === 'object') {
const rls = require('readline-sync');
var value = rls.question(text);
return value;
}
else {
output(text);
var isr = new java.io.InputStreamReader(java.lang.System.in);
var br = new java.io.BufferedReader(isr);
var line = br.readLine();
return line.trim();
}
}
/**
* output displays output to the user based on JavaScript environment.
* @param {string} text: text to output
*/
function output(text) {
if (typeof document === 'object') {
document.write(text);
}
else if (typeof console === 'object') {
console.log(text);
}
else {
print(text);
}
}
Try It
Copy and paste the code above into one of the following free online development environments or use your own JavaScript compiler / interpreter / IDE.
See Also
This article is issued from Wikiversity. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.