-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
252 lines (205 loc) · 7.51 KB
/
script.js
File metadata and controls
252 lines (205 loc) · 7.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
//PRIMEROS 10 EJERCICIOS
/*COSAS NUEVAS:
- Math.pow(base,exponente) para hacer potencias
- El rest operator (...) -> ...elementos para recibir múltiples argumentos como un arreglo que llamo elementos.
- Math.floor(num) me trunca un numero al entero mas grande que sea menor que num
- En un string puedo usar .length
*/
//1. Contraseña válida
//Escribir una función llamada contrasenaValida que reciba un string y retorne true si el string es igual a "2Fj(jjbFsuj" o "eoZiugBf&g9". De lo contrario debe retornar false.
// escribe tu respuesta acá
function contrasenaValida(password){
if(password==="2Fj(jjbFsuj" || password==="eoZiugBf&g9"){
return true;
}else{
return false;
}
}
// código de prueba
console.log(contrasenaValida("2Fj(jjbFsuj")) // true
console.log(contrasenaValida("eoZiugBf&g9")) // true
console.log(contrasenaValida("hola")) // false
console.log(contrasenaValida("")) // false
//2. Calcular impuestos
// Escribir una función llamada calcularImpuestos que reciba dos argumentos numéricos: edad e ingresos. Si edad es igual o mayor a
// 18 y los ingresos son iguales o mayores a 1000 debe retornar ingresos * 40%. De lo contrario retornar 0.
// escribe tu respuesta acá
function calcularImpuestos(edad, ingresos){
if(edad>=18 && ingresos>=1000){
return ingresos*0.4;
}
else{
return 0;
}
}
// código de prueba
console.log(calcularImpuestos(18, 1000)) // 400
console.log(calcularImpuestos(40, 10000)) // 4000
console.log(calcularImpuestos(17, 5000)) // 0
console.log(calcularImpuestos(30, 500)) // 0
/*3. IMC (ïndice de masa corporal)
El índice de masa corporal (IMC), o BMI por sus siglas en inglés, es un valor que determina la cantidad de grasa de una persona.
El BMI se calcula con la siguiente formula: peso / altura^2
Escribir una función llamada bmi que reciba dos argumentos: peso y altura, y retorne un string con las siguientes posibilidades:
"Bajo de peso" si el BMI < 18.5
"Normal" si está entre 18.5 y 24.9
"Sobrepeso" si está entre 25 y 29.9
"Obeso" si es igual o mayor a 30*/
// escribe la función bmi acá
function bmi(peso, altura){
//const imc = peso/altura ** 2; //Para exponencia puedo usar ** o el metodo Math.pow(base,exponente). Lo hago abajo
const imc = peso/Math.pow(altura,2); //Probe ambos y funcionan
if(imc<18.5){
return "Bajo de peso";
}else{
if(imc<24.9){
return "Normal";
}else{
if(imc<29.9){
return "Sobrepeso";
}else{
return "Obeso";
}
}
}
}
// código de prueba
console.log(bmi(65, 1.8)) // "Normal"
console.log(bmi(72, 1.6)) // "Sobrepeso"
console.log(bmi(52, 1.75)) // "Bajo de peso"
console.log(bmi(135, 1.7)) // "Obeso"
//4. Imprimir un arreglo
// Escribir una función llamada imprimirArreglo que reciba un arreglo e imprima cada elemento en una línea a parte:
// escribe tu respuesta acá
function imprimirArreglo(...elementos) { //La función usa el rest operator (...) para recibir múltiples argumentos como un arreglo.
//return(elementos); Esto no es que este mal pero no me devuelve uno abajo del otro
return elementos.join("\n"); //Join me convierte el arreglo a un cadena de texto, pero como separacion elijo el salto de linea en lugar de una coma o espacio.
}
// código de prueba
console.log(imprimirArreglo(1, "Hola", 2, "Mundo"))
// 1
// Hola
// 2
// Mundo
/*5. Número de Likes
Escribe una función llamada likes que reciba un número y retorne un string utilizando el formato de K para miles y M para millones.
Por ejemplo:
1400 se convierte en 1K
34,567 se convierte en 34K
7’456,345 se convierte en 7M.
Si el número es menor a 1000 se debe devolver el mismo número como un string.*/
// escribe tu respuesta acá
function likes(num){
if (num < 1000){
return num.toString(); //Me convierte un numero a string
} else{
if (num < 1000000){
return Math.floor(num / 1000) + "K"; //Si divido por mil 1500 por ejemplo me da 1,5 y lo que hace Math.floor es truncar,
// osea que me da el mas grande entero pero menor o igual al numero que le paso
}else{
return Math.floor(num / 1000000) + "M";
}
}
}
// código de prueba
console.log(likes(983)) // "983"
console.log(likes(1900)) // "1K"
console.log(likes(54000)) // "54K"
console.log(likes(120800)) // "120K"
console.log(likes(25222444)) // "25M"
/*6. FizzBuzz
Escribir una función llamada fizzBuzz que reciba un número y retorne un string de acuerdo a lo siguiente:
"fizz" si el número es múltiplo de 3.
"buzz" si el número es múltiplo de 5.
"fizzbuzz" si el número es múltiplo tanto de 3 como de 5.
Si no cumple ninguna de las condiciones anteriores debe retornar el mismo número.*/
// escribe tu respuesta acá
function fizzBuzz(num){
if(num%3 == 0 && num%5 == 0){
return ("fizzbuzz");
}else{
if(num%5 == 0){
return("buzz");
}else{
if(num%3 == 0){
return("fizz");
}else{
return(num);
}
}
}
}
// código de prueba
console.log(fizzBuzz(30)); // "fizzbuzz"
console.log(fizzBuzz(20)); // "buzz"
console.log(fizzBuzz(6)); // "fizz"
console.log(fizzBuzz(8)); // 8
/*7. Contar rango de números
Escribir una función llamada contarRango que reciba dos números y retorne cuántos números que hay entre ellos (excluyéndolos):
Nota: Utiliza un ciclo en tu solución. Puedes asumir que el primer número va a ser menor que el segundo.*/
// escribe tu respuesta acá
function contarRango(num1,num2){
let num=0;
while(num1+1<num2){
num++;
num1++;
}
return num;
}
// código de prueba
console.log(contarRango(1, 9)) // 7
console.log(contarRango(1332, 8743)) // 7410
console.log(contarRango(5, 6)) // 0
/*8. Sumar rango de números
Escribir una función llamada sumarRango que reciba dos argumentos: número inicial y número final. La función debe retornar la suma de los números en ese rango (incluyéndolos).
Nota: puedes asumir que el número inicial va a ser menor o igual que el número final.*/
// escribe tu respuesta acá
function sumarRango(num1,num2){
let suma=0;
if(num1==num2){
return suma;
}else{
while(num1<=num2){
suma=suma+num1;
num1++;
}
return suma;
}
}
// código de prueba
console.log(sumarRango(0, 10)) // 55
console.log(sumarRango(12, 14)) // 39
console.log(sumarRango(5, 5)) // 0
/*9. Número de aes (letra "a")
Escribir una función llamada numeroDeAes que reciba un string y retorne el número de veces que aparece la letra "a":*/
// escribe tu respuesta acá
function numeroDeAes(cad){
let cant=0;
for(let i=0;i<cad.length;i++){
if(cad[i]==="a"){
cant++;
}
}
return cant;
}
// código de prueba
console.log(numeroDeAes("abracadabra")) // 5
console.log(numeroDeAes("etinol")) // 0
console.log(numeroDeAes("")) // 0
// 10. Número de caracteres
// Escribir una función llamada numeroDeCaracteres que reciba un string y un caracter (un string de un caracter).
// La función debe retornar el número de veces que aparece el caracter en el string.
// escribe tu respuesta acá
function numeroDeCaracteres(cad,car){
let cant =0;
for(let i=0;i<cad.length;i++){
if(cad[i]==car){
cant++;
}
}
return cant;
}
// código de prueba
console.log(numeroDeCaracteres("Hola Mundo", "o")) // 2
console.log(numeroDeCaracteres("MMMMM", "m")) // 0
console.log(numeroDeCaracteres("eeee", "e")) // 4