From 0c82baef383db295c2922fe2951a76709425c60e Mon Sep 17 00:00:00 2001 From: didier amyot Date: Tue, 24 Oct 2023 09:30:48 -0400 Subject: [PATCH] Added results for exo 3. --- exercice_001/exo3.html | 96 +++++++++++++++++++++++++++ exercice_001/exo3.js | 83 ++++++++++++++++++++++++ exercice_001/exo3_no_loops.html | 96 +++++++++++++++++++++++++++ exercice_001/exo3_no_loops.js | 111 ++++++++++++++++++++++++++++++++ 4 files changed, 386 insertions(+) create mode 100644 exercice_001/exo3.html create mode 100644 exercice_001/exo3.js create mode 100644 exercice_001/exo3_no_loops.html create mode 100644 exercice_001/exo3_no_loops.js diff --git a/exercice_001/exo3.html b/exercice_001/exo3.html new file mode 100644 index 0000000..6ac87fc --- /dev/null +++ b/exercice_001/exo3.html @@ -0,0 +1,96 @@ + + + + + + title + + + +
+ +
+
+

#main-title

+
+
+ + +
+
+
+ #result-box-1 +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
+
+
+
+ #result-box-2 +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
+
+
+
+ #result-box-3 +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
+
+
+
+ #result-box-4 +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ + + + + \ No newline at end of file diff --git a/exercice_001/exo3.js b/exercice_001/exo3.js new file mode 100644 index 0000000..ebc20cb --- /dev/null +++ b/exercice_001/exo3.js @@ -0,0 +1,83 @@ +document.getElementById("main-title").innerText = "Los Statisticos"; + +function isNumber(str) { + return str !== "" && !isNaN(str); +} + +function isInputBoxANumericValue(maxIdValue) { + let userInput = document.getElementById("input-" + maxIdValue).value; + return isNumber(userInput); +} + +function booleanToNumber(trueOrFalse) { + if (trueOrFalse) { + return 1; + } + return 0; +} + +function countNumberOfNumericValuesInInputBoxes(maxIdValue) { + const ret = booleanToNumber(isInputBoxANumericValue(maxIdValue)); + if (maxIdValue === 1) { + return ret; + } + return ret + countNumberOfNumericValuesInInputBoxes(maxIdValue - 1); +} + +function getInputValueAsNumber(maxIdValue) { + let userInput = document.getElementById("input-" + maxIdValue).value; + if(isNumber(userInput)){ + return parseFloat(userInput); + } + return 0; + +} + +function sumNumericValuesInInputBoxes(maxIdValue) { + if(maxIdValue === 1){ + return getInputValueAsNumber(maxIdValue); + } + return getInputValueAsNumber(maxIdValue) + sumNumericValuesInInputBoxes(maxIdValue - 1); +} + +function sumOfSquareOfNumericValuesInInputBoxes(maxIdValue){ + let ret = getInputValueAsNumber(maxIdValue) * getInputValueAsNumber(maxIdValue); + if(maxIdValue === 1){ + return ret; + } + return ret + sumOfSquareOfNumericValuesInInputBoxes(maxIdValue - 1); +} + +function averageNumericValuesInInputBoxes(maxIdValue) { + let sum = sumNumericValuesInInputBoxes(maxIdValue); + let n = countNumberOfNumericValuesInInputBoxes(maxIdValue); + return sum / n; +} + +function averageSquareOfNumericValuesInInputBoxes(maxIdValue) { + let sumOfSquare = sumOfSquareOfNumericValuesInInputBoxes(maxIdValue); + let n = countNumberOfNumericValuesInInputBoxes(maxIdValue); + return sumOfSquare / n; +} + +function standardDeviationOfNumericValues(maxIdValue){ + let avg = averageNumericValuesInInputBoxes(maxIdValue); + let avgOfTheSquare = averageSquareOfNumericValuesInInputBoxes(maxIdValue); + return Math.sqrt(avgOfTheSquare - avg * avg); +} + + +function exo1b() { + let numericValuesInInputBoxes = countNumberOfNumericValuesInInputBoxes(4); + document.getElementById("result-box-1").innerText = numericValuesInInputBoxes; +} + +function exo1c() { + let avg = averageNumericValuesInInputBoxes(4) + document.getElementById("result-box-2").innerText = avg; +} + +function exo1d() { + let standardDeviation = standardDeviationOfNumericValues(4) + document.getElementById("result-box-3").innerText = standardDeviation; +} diff --git a/exercice_001/exo3_no_loops.html b/exercice_001/exo3_no_loops.html new file mode 100644 index 0000000..502b7d0 --- /dev/null +++ b/exercice_001/exo3_no_loops.html @@ -0,0 +1,96 @@ + + + + + + title + + + +
+ +
+
+

#main-title

+
+
+ + +
+
+
+ #result-box-1 +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
+
+
+
+ #result-box-2 +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
+
+
+
+ #result-box-3 +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
+
+
+
+ #result-box-4 +
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ + + + + \ No newline at end of file diff --git a/exercice_001/exo3_no_loops.js b/exercice_001/exo3_no_loops.js new file mode 100644 index 0000000..7eefef9 --- /dev/null +++ b/exercice_001/exo3_no_loops.js @@ -0,0 +1,111 @@ +document.getElementById("main-title").innerText = "Los Statisticos (sans loop)"; + +function isNumber(str) { + return str !== "" && !isNaN(str); +} + +function countNumberOfNumericValues(value1, value2, value3, value4){ + let ret = 0; + if(isNumber(value1)){ + ret = ret + 1; + } + if(isNumber(value2)){ + ret = ret + 1; + } + if(isNumber(value3)){ + ret = ret + 1; + } + if(isNumber(value4)){ + ret = ret + 1; + } + return ret; +} + +function sumSquareOfNumberOfNumericValues(value1, value2, value3, value4){ + let ret = 0; + if(isNumber(value1)){ + ret = ret + parseFloat(value1) * parseFloat(value1); + } + if(isNumber(value2)){ + ret = ret + parseFloat(value2) * parseFloat(value2); + } + if(isNumber(value3)){ + ret = ret + + parseFloat(value3) * parseFloat(value3); + } + if(isNumber(value4)){ + ret = ret + + parseFloat(value4) * parseFloat(value4); + } + return ret; +} +function sumNumberOfNumericValues(value1, value2, value3, value4) { + let ret = 0; + if(isNumber(value1)){ + ret = ret + parseFloat(value1); + } + if(isNumber(value2)){ + ret = ret + parseFloat(value2); + } + if(isNumber(value3)){ + ret = ret + + parseFloat(value3); + } + if(isNumber(value4)){ + ret = ret + + parseFloat(value4); + } + return ret; +} + +function averageNumericValues(value1, value2, value3, value4) { + let n = countNumberOfNumericValues(value1, value2, value3, value4); + let sum = sumNumberOfNumericValues(value1, value2, value3, value4); + return sum / n; +} + +fun + +function averageSquareOfNumericValues(value1, value2, value3, value4) { + let n = countNumberOfNumericValues(value1, value2, value3, value4); + let sumOfSquare = sumSquareOfNumberOfNumericValues(value1, value2, value3, value4); + return sumOfSquare / n; +} + +function standardDeviationOfNumericValues(value1, value2, value3, value4) { + let avg = averageNumericValues(value1, value2, value3, value4); + let avgOfTheSquare = averageSquareOfNumericValues(value1, value2, value3, value4); + return Math.sqrt(avgOfTheSquare - avg * avg); + +} + +function exo1b() { + let input1 = document.getElementById("input-1").value; + let input2 = document.getElementById("input-2").value; + let input3 = document.getElementById("input-3").value; + let input4 = document.getElementById("input-4").value; + + + let numericValuesInInputBoxes = countNumberOfNumericValues(input1, input2, input3, input4); + document.getElementById("result-box-1").innerText = numericValuesInInputBoxes; +} + + +function exo1c() { + let input1 = document.getElementById("input-1").value; + let input2 = document.getElementById("input-2").value; + let input3 = document.getElementById("input-3").value; + let input4 = document.getElementById("input-4").value; + + + let avg = averageNumericValues(input1, input2, input3, input4); + document.getElementById("result-box-2").innerText = avg; +} + + +function exo1d() { + let input1 = document.getElementById("input-1").value; + let input2 = document.getElementById("input-2").value; + let input3 = document.getElementById("input-3").value; + let input4 = document.getElementById("input-4").value; + + + let standardDeviation = standardDeviationOfNumericValues(input1, input2, input3, input4); + document.getElementById("result-box-3").innerText = standardDeviation; +}