Rutas
/
JavaScript
JavaScript
/
Ejercicios
/
Compra de un vehículo
Compra de un vehículo

Compra de un vehículo

Ejercicio de aprendizaje

Introducción

Comparación

En JavaScript, los números se pueden comparar con los siguientes operadores relacionales y de igualdad.

Comparación Operador
Mayor que a > b
Mayor o igual que a >= b
Menor que a < b
Menor o igual que a <= b
Igualdad (estricta) a === b
Desigualdad (estricta) a !== b

El resultado de una comparación siempre es un valor booleano: true o false.

1 < 3;
// => true

2 !== 2;
// => false

1 === 1.0;
// => true
// All numbers are floating-points, so this is different syntax for
// the exact same value.

En JavaScript, los operadores de comparación anteriores también se pueden usar para comparar strings. En ese caso, se aplica un orden de diccionario (lexicográfico). Puedes encontrar una lista del orden exacto de todos los caracteres aquí.

'Apple' > 'Pear';
// => false

'a' < 'above';
// => true

'a' === 'A';
// => false

Condicionales

Una forma habitual de ejecutar lógica de forma condicional en JavaScript es el condicional if. Consta de la palabra clave if, una condición entre paréntesis y un bloque de código entre llaves. El bloque de código solo se ejecutará si la condición se evalúa como true.

if (condition) {
  // code that is executed if "condition" is true
}

Se puede usar por sí solo o combinarse con la palabra clave else.

if (condition) {
  // code that is executed if "condition" is true
} else {
  // code that is executed otherwise
}

Para anidar otra condición dentro de la instrucción else, puedes usar else if.

if (condition1) {
  // code that is executed if "condition1" is true
} else if (condition2) {
  // code that is executed if "condition2" is true
  // but "condition1" was false
} else {
  // code that is executed otherwise
}

Instrucciones

En este ejercicio, escribirás algo de código para ayudarte a prepararte para comprar un vehículo.

Tienes tres tareas: una para determinar si necesitarás un permiso de conducir, otra para ayudarte a elegir entre dos vehículos y otra para estimar el precio aceptable de un vehículo de segunda mano.

1. Determina si necesitarás un permiso de conducir

Algunos tipos de vehículos requieren un permiso de conducir para conducirlos. Supón que solo los tipos 'car' y 'truck' requieren un permiso; todo lo demás se puede conducir sin permiso.

Implementa la función needsLicense(kind), que recibe el tipo de vehículo y devuelve un valor booleano que indica si necesitas un permiso para ese tipo de vehículo.

needsLicense('car');
// => true

needsLicense('bike');
// => false

2. Elige entre dos posibles vehículos que comprar

Evalúas tus opciones entre los vehículos disponibles. Consigues reducirlas a dos opciones, pero necesitas ayuda para tomar la decisión final. Para ello, implementa la función chooseVehicle(option1, option2), que recibe dos vehículos como argumentos y devuelve una decisión que incluye la opción que aparece primero en orden alfabético.

chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// =>  'Toyota Corolla is clearly the better choice.'

chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// =>  'Volkswagen Beetle is clearly the better choice.'

3. Calcula una estimación del precio de un vehículo de segunda mano

Ahora que has tomado tu decisión, quieres asegurarte de que te dan un precio justo en el concesionario. Como te interesa comprar un vehículo de segunda mano, el precio depende de la antigüedad del vehículo. Para una estimación aproximada, supón que si el vehículo tiene menos de 3 años, cuesta el 80% del precio original que tenía cuando era nuevo. Si tiene más de 10 años, cuesta el 50%. Si el vehículo tiene al menos 3 años pero no más de 10, cuesta el 70% del precio original.

Implementa la función calculateResellPrice(originalPrice, age), que aplica esta lógica usando if, else if y else (hay otras formas si quieres practicar). Recibe el precio original y la antigüedad del vehículo como argumentos y devuelve el precio estimado en el concesionario.

calculateResellPrice(1000, 1);
// => 800

calculateResellPrice(1000, 5);
// => 700

calculateResellPrice(1000, 15);
// => 500
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
JavaScript Exercism

¿Listo para empezar Compra de un vehículo?

Regístrate en Exercism para aprender y dominar JavaScript con 37 conceptos159 ejercicios y mentoría humana real, todo gratis.