├── .vscode └── settings.json ├── app.js ├── components └── Sumatoria.js └── index.html /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "conventionalCommits.scopes": [ 3 | "Add Exercise" 4 | ] 5 | } -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | import Sumatoria from './components/Sumatoria.js'; 2 | 3 | const sumatoria = new Sumatoria(); 4 | 5 | let numero; 6 | 7 | do { 8 | numero = parseInt(prompt('Ingrese un número:')); 9 | if (numero !== 0) { 10 | sumatoria.agregarNumero(numero); 11 | } 12 | } while (numero !== 0); 13 | 14 | const sumatoriaTotal = sumatoria.calcularSumatoria(); 15 | const promedio = sumatoria.calcularPromedio(); 16 | const cantidadNumeros = sumatoria.contarNumeros(); 17 | const mayor = sumatoria.encontrarMayor(); 18 | const menor = sumatoria.encontrarMenor(); 19 | 20 | console.log(`La sumatoria de los valores es: ${sumatoriaTotal}`); 21 | console.log(`El promedio de los valores es: ${isNaN(promedio) ? 0 : promedio}`); 22 | console.log(`Se ingresaron ${cantidadNumeros} valores.`); 23 | console.log(`El mayor valor ingresado es: ${isNaN(mayor) ? 'N/A' : mayor}`); 24 | console.log(`El menor valor ingresado es: ${isNaN(menor) ? 'N/A' : menor}`); 25 | 26 | -------------------------------------------------------------------------------- /components/Sumatoria.js: -------------------------------------------------------------------------------- 1 | export default class Sumatoria { 2 | constructor() { 3 | this.numeros = []; 4 | } 5 | 6 | agregarNumero(numero) { 7 | this.numeros.push(numero); 8 | } 9 | 10 | calcularSumatoria() { 11 | return this.numeros.reduce((total, numero) => total + numero, 0); 12 | } 13 | 14 | calcularPromedio() { 15 | return this.calcularSumatoria() / this.numeros.length; 16 | } 17 | 18 | contarNumeros() { 19 | return this.numeros.length; 20 | } 21 | 22 | encontrarMayor() { 23 | return Math.max(...this.numeros); 24 | } 25 | 26 | encontrarMenor() { 27 | return Math.min(...this.numeros); 28 | } 29 | } -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |